Compare commits

...

161 Commits

Author SHA1 Message Date
Jonathan White
9d0537bdab Update translations 2023-05-14 14:03:31 -04:00
Jonathan White
063bf4a58d Update Transifex configuration file 2023-05-14 14:03:05 -04:00
tenzap
d5d9a4c08c use setWindowFlags() instead of setWindowFlag on Qt<5.9
Fixes:
src/gui/CloneDialog.cpp:32:5: error: use of undeclared identifier 'setWindowFlag'
    setWindowFlag(Qt::WindowContextHelpButtonHint, false);
    ^

void QWidget::setWindowFlag(Qt::WindowType flag, bool on = true)
--> This function was introduced in Qt 5.9.
2023-05-14 13:24:27 -04:00
Carlo Teubner
eddd97fbab Fix Botan deprecation warning
Use the non-deprecated PK_Signer constructor overload, by explicitly
passing in our random-number generator.
2023-05-14 12:10:53 -04:00
Jonathan White
53f88b93fb Add 2.7.5 CHANGELOG
* Sign  PowerShell Release Tool
2023-05-14 11:41:57 -04:00
Jonathan White
59042563b3 Revert "Support {MODE=VIRTUAL} on macOS"
This reverts commit 25fc69dcd4.
2023-05-13 15:48:06 -04:00
tenzap
74d96fc06f Fix build failure with Qt5.6 (#9382) 2023-05-07 23:23:17 -04:00
Jonathan White
9c1a01ffe8 Update snap to Core22
* Fixes #9268 - update to Core22 to pull in the latest KDE Framework
* Fixes #9185 - add interface plug for fdosecrets
* Fixes #7005 - add autostart setting
2023-05-07 23:19:48 -04:00
Jonathan White
4b92838b4f Remove registry detection of desktop shortcut setting (#9380)
* Fixes #8711
2023-05-07 23:19:48 -04:00
Jonathan White
b225b85644 Greatly improve performance when rendering entry view (#9398)
* Fixes #9390
* Create one QCollator per entry view instead of creating one on every sort request. This greatly improves the speed of sorting and displaying entries.
* Rewrite recursive multiple placeholder replacement to use QRegularExpression
2023-05-07 23:19:48 -04:00
Jonathan White
ebc0b3ff5f Add support for Botan3 (#8994)
Fix Botan 3 build (#9388)

* SymmetricCipher: Fix Botan 3 build

Botan commit 819cf8fe6278a19b8266f449228f02fc28a4f784 changed Botan::Cipher_Dir to be a scoped enumeration, so the users must be adapted.

This change causes no issues with Botan 2 because normal enumeration values can also be referred to the same way scoped enumeration values are accessed.

* Auto detect Botan3

* AsyncTask: Do not use `std::result_of`

`std::result_of` was deprecated in C++17 and then it was subsequently removed in C++20. One could use `std::invoke_result_t`, but let Qt figure out the return type instead.

* Collapse Botan2 and Botan3 find package into one

* Update COPYING
2023-05-07 23:19:18 -04:00
ShellCode33
64281b508b Allow specifying initial directory via the KPXC_INITIAL_DIR environment variable 2023-05-01 07:22:44 -04:00
Jonathan White
6c9078c870 Fix crash when search clears while creating new entry
* Fixes #7660
* Also fix code error in Icons::imageFormatsFilter. An inner loop looks for invalid characters in the code point, but erroneously calls `continue` within the inner loop when the intention was to continue in the outer loop. Fixed with a boolean test instead.
2023-05-01 07:22:39 -04:00
Janek Bevendorff
6b51c66c68 Update KeePassXC logo and icons 2023-05-01 07:22:34 -04:00
Jonathan White
d04a6c4eb7 Fix GUI tests on macOS 2023-05-01 07:22:30 -04:00
Jonathan White
28e2806e07 Make open folder icon exempt from "Apply group icon to entry"
* Fix #9201
2023-04-16 07:16:25 -04:00
Jonathan White
6182b605c0 Fix various accessibility issues (#9138)
Enable buddy fields in group and entry edit pages
* Fixes #9060, you can now press Alt + [letter] to skip between fields on the group and entry edit pages.
* Move the expire checkbox to the right hand column and use the standard eye icon button for notes reveal. Only show notes reveal button if the hide notes setting is enabled.

Fix overflow of text in default auto-type sequence preview
* Fixes #9083

Add copy title shortcut (Ctrl + I)
* Closes #9109

Fix issues with menu actions being enabled incorrectly

Add accessibility description to password widget to explain how to hide/show passwords and open the generator
* Closes #9059

Add F6 shortcut to focus search
* Closes #9163
2023-04-16 07:16:19 -04:00
Jonathan White
8077cd028d Fix branding images for Windows installer 2023-04-11 23:25:48 -04:00
Janek Bevendorff
761e1aed58 Update KeePassXC logo and icons 2023-04-03 23:22:00 -04:00
Jonathan White
ee44a7fd70 Increase max TOTP step to 24 hours
* Fixes #7095
2023-04-03 23:21:55 -04:00
Jonathan White
058e6d15c1 Hide group column header choice when not in search
* Fixes #9157
2023-04-03 23:21:51 -04:00
Jonathan White
83720e6960 Use QClipboard::clear() instead of setting blank text
* Fixes #9121 and #4498 and #4105
2023-04-03 23:21:46 -04:00
Jonathan White
86550f2253 Fix bugs with preview widget
* Add configuration to hide TOTP in preview widget (shown by default).

* Retain the visibility of TOTP and other fields when the same entry remains selected in the preview panel.

* Fix disconnecting signals when switch entries / groups. This likely is going to fix crashes because we were compounding signals when focusing in on the main window.
2023-04-03 23:21:24 -04:00
Jonathan White
881e6b5a8b Fix temporary screencapture showing phantom windows
* Fix #9200
2023-04-03 23:21:14 -04:00
Hugo Osvaldo Barrera
102ce04b2d Turn search reset off by default
This is more user friendly, especially to newcomers.

Fixes: https://github.com/keepassxreboot/keepassxc/issues/9145
2023-02-25 14:21:01 -05:00
Jonathan White
90bbb66409 Add menu option to allow screenshots
* Fix #7580
* Also refactor the code to move everything into MainWindow
2023-02-25 14:20:48 -05:00
Jonathan White
df40742223 Fix status bar update when switching to other DB (#9073)
* Gui tests: add validation of StatusBarLabel in some tests
2023-02-19 08:28:59 -08:00
Jonathan White
f7920c12d5 Translate Cipher and KDF strings
* Fix #8952 - move translations for Cipher and KDF strings into evaluated code instead of globally defined code. The strings were being baked prior to the language being set resulting in only english being displayed.
2023-02-19 08:28:59 -08:00
Bernhard Kirchen
51a08fc85e revise strings labeling history limit settings 2023-02-19 08:28:59 -08:00
Charlie Wang
655202a35a Properly handle Windows Hello errors
The KeyCredentialManager::RequestCreateAsync call can fail because we can end up in a situation where Windows Hello is initially available but then becomes unavailable, such as during a remote desktop session. This commit prevents a crash by moving the call into the try-catch.

Fixes #7890

Also resets quick unlock if there is an unrecoverable error. This will not occur if the user merely canceled the Windows Hello dialog.
2023-02-19 08:28:59 -08:00
Akinori MUSHA
cbbabf477a Select new entry after cloning
Also fixes re-selecting entries during a search refresh
2023-02-19 08:28:59 -08:00
Dmytro Maslenko
0167ce60bd Fix arrows size when expand/collapse a group
Change ratio from 0.7 to 0.9 to give a more coherent look and feel to the tree.
2023-02-19 08:28:59 -08:00
jNullj
d362b51450 Fix/database settings spin box bug (#9101)
Co-authored-by: jNullj <jNullj@users.noreply.github.com>
2023-02-19 08:28:59 -08:00
Dmytro Maslenko
95aaa96fb8 Fix text selection for clear_field step on Mac 2023-02-18 14:16:23 -08:00
Dmytro Maslenko
fa53c79ecf Scale and center QR code on window resizing
* Also add GUI test for QR code resizing
2023-02-18 14:15:49 -08:00
Dmytro Maslenko
27668b81a5 Set shortcuts for settings and database settings
* Open app settings with Ctrl+,
* Open database settings with Ctrl+Shift+,
* Open database reports with Ctrl+Shift+R
2023-02-18 14:13:53 -08:00
Lars Fröder
f1a5e1c899 Don't rely on AppleInterfaceStyle for theme switching (#8615)
* Fix #7615 - Don't rely on AppleInterfaceStyle preference key for dark mode detection, as it's not always correct
2023-02-18 14:13:25 -08:00
olivier
ae55d88544 Properly enable auto-type ui elements on entry edit page (#8752)
Fixes #8743
2023-02-18 14:13:12 -08:00
Jonathan White
25fc69dcd4 Support {MODE=VIRTUAL} on macOS
* Fix #8433
2023-02-18 14:12:52 -08:00
Dmytro Maslenko
1bb215156e Improve exported html layout
[What]
  1) The title was moved from dedicated column to a table caption.
  2) The font size for notes was changed from medium to small.
  3) The notes order was moved to the end.
  4) The table margin and width were adjusted to fit into screen and
     print pages.

[Why]
  To have more readable output and utilize more page space.
2023-02-18 14:12:42 -08:00
Jonathan White
758d6f0c8d Minor fixes to documentation
* Convert hyphens to em-dash
* Fix various typos
2023-02-18 14:05:32 -08:00
Dmytro Maslenko
798fee338b Improve exported html layout
[What]
  1) The title was moved from dedicated column to a table caption.
  2) The font size for notes was changed from medium to small.
  3) The notes order was moved to the end.
  4) The table margin and width were adjusted to fit into screen and
     print pages.

[Why]
  To have more readable output and utilize more page space.
2023-02-18 14:05:14 -08:00
Dmytro Maslenko
9253a59f05 Move 'Copy URL' into main entry context menu 2023-02-18 14:05:07 -08:00
tenzap
18857cb60b Fix build failure with Qt5.6 (#8829)
With Qt 5.6, build fails with error below.

This is because in Qt 5.6, the 3rd argument is not optional. Starting from Qt
5.7 the default value for the 3rd argument is nullptr, so setting it to
nullptr.

https://doc.qt.io/archives/qt-5.6/qaction.html#QAction-2
https://doc.qt.io/archives/qt-5.7/qaction.html#QAction-2

Error:
src/gui/tag/TagView.cpp:79:38: error: no matching constructor for initialization of 'QAction'
        auto action = menu.exec({new QAction(icons()->icon("trash"), tr("Remove Search"))}, mapToGlobal(pos));
                                     ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-02-18 14:04:59 -08:00
Pat Long
7bdcf05fc3 Fix support for AES-256/GCM openssh keys (#8968)
* Fix detecting AES-256/GCM cipher, fixes #8964 

When you generate a ssh key using the aes-256/gcm cipher, the cipher name in the keyfile includes an @openssh.com at the end.

* Use separate iv length for getting iv data, the assumption that the block size and iv size are equal does not hold for every cipher mode (e.g., GCM)

* Disable AES-256/GCM for now in ssh keys 

Currently, the granularity for the botan gcm implementation is too large. To fix a problem with another algorithm in the library, they are multiplying
the blocksize, so by default the granularity is 64. This causes issues since the encrypted data in the key is only guaranteed to have a length that is a multiple of the block size (16).
2023-02-18 14:04:47 -08:00
chandi Langecker
32d115d22e Fix unexpected behavior of --lock when keepassxc is not running (#8889)
currently, when keepassxc is not running, the command `keepassxc --lock` opens a new keepass window and blocks until the window is closed.

Especially in locking scripts this is rather unexpected and  Ican't think of a case where someone explicitly starts keepass with --lock and wants this behaviour.

Rather --lock should always ensure, that there are no unlocked instances and exiting afterwards
2023-02-18 14:04:28 -08:00
Luca Weiss
2e0d66039d Set SingleMainWindow in .desktop file (#7430) 2023-02-18 14:04:18 -08:00
Jonathan White
acb37db6f1 Fix canceling quick unlock when it is unavailable (#9034) 2023-02-18 14:03:56 -08:00
chris
0e1b32adcd Add .mm files to translation update (#8843) 2023-02-18 14:03:37 -08:00
Dmytro
c20104e67c Fix db history when adding new db (#9022)
Fixes https://github.com/keepassxreboot/keepassxc/issues/8375
2023-02-18 14:02:47 -08:00
Klemens Nanni
32f2710430 Set password hint on BSD, fill selection on macOS again (#8949) 2023-02-18 14:02:39 -08:00
Jonathan White
605f13ed4a Hide rename button from attachments preview panel (#8842) 2023-02-18 14:01:53 -08:00
Daniel Ziegenberg
a6a4ed6ed4 Fix Ctrl+Tab shortcut to cycle databases in unlock dialog (#8839) 2023-02-18 14:00:02 -08:00
Sami Vänttinen
c3bd31c51b Fix Native Messaging script path with BSDs (#8835)
Fixes https://github.com/keepassxreboot/keepassxc/issues/8830
2023-02-18 13:59:55 -08:00
Sami Vänttinen
90c63483c1 Fix crash in Group Edit after enabling Browser Integration (#8778)
Fixes https://github.com/keepassxreboot/keepassxc/issues/8775
2023-02-18 13:59:48 -08:00
Olivier Tilloy
3383882b95 Do not ask whether firefox is installed as a snap. (#8756) 2023-02-18 13:59:39 -08:00
jNullj
d5adf7592c Add Unicode support for database filenames on Windows (#8782)
Fixes #8751
2023-02-18 13:58:47 -08:00
Janek Bevendorff
9ba88e2f13 Set password input field font correctly. (#8732)
Also update member variable names to describe their contents better.

Fixes #8709
2022-11-02 19:16:04 +01:00
Jonathan White
772964886e Fix appdata.xml formatting 2022-10-29 22:11:12 -04:00
Jonathan White
70b73524c6 Fix SSH Agent Build on MSYS Windows (#8708) 2022-10-29 22:10:50 -04:00
Janek Bevendorff
a459344078 Fix realpath error on macOS 13 (#8707) 2022-10-29 22:10:43 -04:00
Jonathan White
63b2394ed0 Update translations 2022-10-29 15:07:50 -04:00
Jonathan White
cdb10dce0c Fix typo in release-tool.ps1 2022-10-29 15:07:28 -04:00
Jonathan White
9b5b1d6dce Browser: second fix for linked socket path
* Fix #8702
2022-10-29 14:12:16 -04:00
Jonathan White
c231abe13d Version bump to 2.7.4 2022-10-29 12:45:17 -04:00
Jonathan White
d81f6ea1c0 Fix powershell merge with no changes to translations 2022-10-29 12:45:17 -04:00
Jonathan White
1012d715b2 Fix launching proxy service with Flatpak
* Fixes #8655
2022-10-29 12:45:17 -04:00
Jonathan White
a1a5e21834 Prevent expired entries search if no results returned
* Fixes #8626
* Also remove old feature to set the title of a new entry to the current search text. This only made sense before advanced searching was made available.
2022-10-29 12:45:17 -04:00
Maurizio Pasquinelli
bc147070b6 Point INSTALL.md checkout reference to latest tag (#8470) 2022-10-29 12:45:17 -04:00
Matthew Donoughe
9176ddc3e1 CLI: Add Unicode support on Windows (#8618) 2022-10-29 12:45:17 -04:00
Sami Vänttinen
4f07a6592c Revert async Access Confirm Dialog 2022-10-29 12:45:17 -04:00
varjolintu
3ad205f733 Fix deleting existing socket file before making a new symbolic link 2022-10-29 12:45:17 -04:00
YAMASAKI Masahide
f01608f2bb SSH Agent: Fix CreateFileMappingA Parameter (#8619)
The last argument of CreateFileMappingA is of type string.
2022-10-29 12:45:17 -04:00
Hoai-Thu Vuong
fa4837c67b Add entry 2 months to preset menu (#8687) 2022-10-29 12:45:17 -04:00
Jonathan White
af466b120e Fix clicking links in entry preview panel
* Fixes #8636
2022-10-29 12:45:17 -04:00
Jonathan White
ce790dcd3a Fix crash on macOS when unlocking database
* Fix #8639
2022-10-29 12:45:17 -04:00
Jonathan White
e1d9a4fb53 Fix display of passwords in preview panel
* Fix #8627 - don't HTML escape plain text...
* Fix #8624 - ensure use of monospace font when displaying passwords in preview panel
2022-10-29 12:45:17 -04:00
Janek Bevendorff
d8483d3350 Update translations 2022-10-23 17:56:57 +02:00
Jonathan White
2d13588c95 Fix creating tag with powershell release tool
* The original method dumped the changelog lines into the command which overflowed the command line length. This method uses a temporary file for the tag message.
2022-10-23 14:48:40 +02:00
Janek Bevendorff
acf1d6b1ac Update minimum macOS deployment target to 10.15
Fixes compilation warnings about some macOS APIs not being available in 10.13.
2022-10-23 14:48:27 +02:00
Janek Bevendorff
2ac1e0ed49 Fix macOS window activation issues
Reverts part of 34b7d08a5, which introduced a regression.
2022-10-23 14:48:04 +02:00
Janek Bevendorff
0a0389ad56 Bump version number 2022-10-23 14:45:32 +02:00
Jonathan White
9d2f3d53d6 Update translations 2022-10-22 17:37:47 -04:00
Jonathan White
9bd4c785e6 Bump version to 2.7.2 2022-10-22 17:19:01 -04:00
tocic
c203ee7f09 Fix typos in docs (#8612) 2022-10-22 17:18:49 -04:00
Patrick Klein
047251a07f Add a URL that preserves the URL path when trying to resolve favicons. (#8565) 2022-10-19 20:51:54 -04:00
Jonathan White
a6db8ba2db Fix potential deadlock in UI when saving
This was noted as a problem in several issues and it finally occurred to me and I traced it to the fact that a timing issue sometimes allowed the file watcher to trigger a "file changed" alert right when saving starts. I fixed this by moving where the mutex lock is made for saving and preventing database reload during a save operation.
2022-10-19 10:16:17 -04:00
Jonathan White
71b1df39eb Hide usernames in preview panel when hidden in entry view
* Fix #6306
2022-10-19 10:16:08 -04:00
Jonathan White
82f056e5d0 Allow picking tags from completion menu with keyboard
* Also fixes the hiding and display of the completion menu to be more natural and less annoying.
* Fixes #7939
2022-10-19 07:01:03 -04:00
Janek Bevendorff
edae652d6f Add CFBundleVersion, fixes #8454 (#8602) 2022-10-18 13:37:53 +02:00
Janek Bevendorff
b1f868cd6c Update macOS provisioning profile (#8600) 2022-10-18 00:56:56 +02:00
Jonathan White
08f7c6f863 Fix use of WITH_XC_X11 build flag 2022-10-17 22:55:11 +02:00
Vijay Aravamudhan
7fa3e6ef90 Allow for homebrew prefix location to handle both x64 and arm macs (#8593)
Allow for Homebrew prefix location to handle both x64 and arm macs
2022-10-17 22:53:22 +02:00
Jonathan White
035c99896b Enable dark title bar on windows when accent color is not used
* Fix #6775
2022-10-16 19:17:02 -04:00
Jonathan White
b56cc62942 Improve PowerShell Release Tool
* -Vcpkg variable now points to the base directory for VCPKG and not the vcpkg.cmake file (which is always in the same subfolder)
* Place custom CMakeOptions at the end of the options list so they can override default options.
2022-10-16 19:17:02 -04:00
Jonathan White
3e3990934a Fix focus traps
* Fix focus issues with new PasswordWidget
* Fix focus wrapping when DatabaseTabWidget is not showing the tab bar
* Fix focus wrapping in EditWidget views to move between category list and contents. This is not a perfect fix, but Qt has a mind of its own with these complex widgets. This will be fixed in future Ui improvements that move away from the category widget.
2022-10-16 19:17:02 -04:00
Jonathan White
faa4c07095 Fix crash when application is unfocused during saves
* Fix #8504
2022-10-16 19:17:02 -04:00
Owen Wang
245dccf91c Fix newlines when copying from DatabaseWidget 2022-10-16 19:17:02 -04:00
louib
c6d4fd6d31 [CLI] Add a db-edit command (#8400) 2022-10-16 19:17:02 -04:00
Wolfram Rösler
14d0732e1d Add option to display passwords in color in preview panel
Closes #4099

* Fixed bug in Application that did not set the dark theme flag when the theme was changed from dark to light.
2022-10-16 19:17:02 -04:00
Patrick Klein
dc07f01418 Add XML Export option to GUI. (#8524)
* Add XML Export option to GUI.

* Update database export screenshot.
2022-10-16 19:17:02 -04:00
Patrick Sean Klein
3fa513a78d Increase entropy required for a "good" rating to 75. 2022-10-16 19:17:02 -04:00
JakobDev
0480c45d5c Add German translation to Appdata 2022-10-16 19:17:02 -04:00
Alex Xu (Hello71)
44fa40ca72 Remove --no-add-needed
--no-add-needed is the default behavior since binutils 2.22, released in
2011. This option also breaks lld compatibility.
2022-10-16 19:17:02 -04:00
felipdsa21
285f8981f8 Fix dark mode detection on Linux
Fixes #7817
2022-10-16 19:17:02 -04:00
Arnavion
00c019c8c2 Remove old --pw / --parent-window option from man page
This was removed from the code in 9886b1075f
2022-10-16 19:17:02 -04:00
Jonathan White
3746452b88 Fix crash when deleting items in recycle bin while searching (#8117)
* Fix #8099
* Clean up code that connects groups to the entry view. Instead of connecting ALL groups from ALL databases, we only need to connect the groups that entries actually belong to. This solves the bug and also reduces overhead.
2022-09-23 07:50:06 -04:00
Nikolas Grottendieck
643ab4e95d Set new default location hints for Qt on macOS
QT5 as offered by Homebrew is versioned since March 2021 and the default
path points to QT6 (if installed). New installations of qt5 have a
suffixed path (qt@5) that should be used instead.
2022-09-22 06:49:07 -04:00
Jim Heden
4978184480 Add shortcut to copy password with TOTP appended 2022-09-22 06:49:07 -04:00
Damian Rhodes
d80be4c459 Point INSTALL.md checkout reference to latest tag (#8225) 2022-09-22 06:49:07 -04:00
mckeema
31924fcd89 Set correct case for database file path on Windows
* Fix #7139 - when opening database files from the command line, ensure the correct case is fed to the program to prevent case changes during saves.
* Cleanup old code (checking for .json extension) from when KeePassXC app could act as a proxy.
2022-09-22 06:49:07 -04:00
varjolintu
87cd9c6fb9 Browser: Asynchronous Access Confirm dialog 2022-09-22 06:49:07 -04:00
andreas-ementio
8654b25e80 Fix CLI output when using clip with the -t flag
if you use the CLI with -t/--totp flag, the program prints out: "Entry's "password" attribute copied to the clipboard!"
expected output is "Entry's "totp" attribute copied to the clipboard!" the same when you run with -a totp
2022-09-22 06:49:07 -04:00
varjolintu
f95019964e Do not allow expired credentials automatically 2022-09-22 06:49:07 -04:00
Jonathan White
59d20cb7ae Support numeric aware sorting on Windows and macOS
* Fix #8356 - Qt does not enable numeric aware sorting when using locale sort. Extracted both Windows and macOS locale aware sorting code and added the appropriate numeric aware flag.

Note: There is no std library way to do this so Linux is out of luck for now.
2022-09-22 06:49:07 -04:00
Jonathan White
e83c9734e0 Improve various application icons 2022-09-22 06:49:07 -04:00
Jonathan White
f4510c64ec Show entry count in status bar
Closes #3963
2022-09-22 06:49:07 -04:00
Jonathan White
64dda09565 Fix tabbing around database widget
Fixes #8352
2022-09-22 06:49:07 -04:00
Jonathan White
de168959a5 Use search for showing expired entries on unlock
* Fix #8036 - use search interface to display expiring entries on first unlock.
2022-09-22 06:49:07 -04:00
Jonathan White
ee55143c4a Enhance Tags / Saved Searches
* Rename "Database Tags" to "Searches and Tags"
* Separate searching for all entries and resetting the search
* Support selecting multiple tags to search against
* Fix using escaped quotes in search terms
* Make tag searching more precise
* Support `is:expired-#` to search for entries expiring within # days. Exclude recycled entries from expired search.
* Don't list tags from entries that are recycled
* Force hide tag auto-completion menu when tag editing widget is hidden. On rare occasions the focus out signal is not called when the tag view is hidden (entry edit is closed), this resolves that problem.
* Remove spaces from before and after tags to prevent seemingly duplicate tags from being created.
* Also fix some awkward signal/slot dances that were setup over time with the entry view and preview widget.

Allow changing tags for multiple entries through context menu

* Closes #8277 - show context menu with currently available tags in database and checks those that are set on one or more selected entries. When a tag is selected it is either set or unset on all entries depending on its checked state.

* Add ability to save searches and recall them from the "Searches and Tags" view
* Add ability to remove a tag from all entries from the "Searches and Tags" view
* Cleanup tag handling and widgets
2022-09-22 06:49:07 -04:00
Jonathan White
5b923aee1a Check for write permission before entering portable mode
* Fix #7585
2022-09-22 06:49:07 -04:00
Jonathan White
f3d448485a Fix OPVault import when there are multiple OTP fields
* Fix #8371 - store multiple OTP fields as `otp_#` instead of silently discarding them.
2022-09-22 06:49:07 -04:00
Yaroslav Isakov
28328a7080 Allow KeePassXC to be built without X11 2022-09-22 06:49:07 -04:00
Jonathan White
fab76c04cc Fix Windows Hello bugs
* Fix #7977 - wrap key signing request in try/catch block to prevent crashes on some machines.
* Fix #8120 - try 3 times to bring Windows Hello prompt to front. This may be necessary on older machines that are slow to bring up the prompt window.

Also remove defunct code on macOS to prevent window focus issues.
2022-09-22 06:49:07 -04:00
Klemens Nanni
74e1e7c9d1 autostart: Linux: Exec= filename not absolute path
Systems like NixOS install software under unique paths, so persisting
the absolute file path in the generated .desktop file when enabling
autostart will eventually point at an outdated or nonexistent program.

Another possible issue with using Qt's `applicationFilePath()` is that
the final program's basename (`argv[0]`) might not be the same as what
the user initially executed to start KeePassXC.

Use the file name and thus rely on `PATH` lookup just like the static
.desktop file does to lift those issues and defer execution logic
(`PATH` lookup, wrapper scripts, etc.) to the operating system.
2022-09-22 06:49:07 -04:00
Christoph Honal
7de9ab25ab Hardware keys: Add VivoKey and DT token ATRs
This adds the ATRs of the VivoKey Apex and the
Dangerous Things FlexSecure tokens, in order to
display a human-readable name instead of "Unknown Key".
2022-09-22 06:49:07 -04:00
Dennis
233be1fc10 TouchID support refactoring (#8311)
Fixes #7695 - Properly set compile flags based on availability of watch unlock in the API.
2022-09-22 06:49:07 -04:00
louib
bad015115d [CLI] Add Option to show all attributes (Show command) (#8256)
* Adding --all option to Show
2022-09-22 06:49:07 -04:00
louib
e7e75c1277 Adding top-level fields to CLI commands
The top-level fields are currently not accessible from the CLI, which
makes it impossible to select entries or groups based on the UUID.
There are other top-level fields I believe, like the expiry date,
but I only added the two most critical fields for the moment.
2022-09-22 06:49:07 -04:00
Jonathan White
e245701533 Better handling of "Lock on Minimize" setting
* Fix #1090 - delay locking databases after minimize to allow for clipboard use, Auto-Type use, and browser integration use.

* Fix #6757 - prevent setting both minimize on unlock and lock on minimize settings at the same time.
2022-09-22 06:49:07 -04:00
Jonathan White
0cbfbc08f3 Add setting for number of recent files
* Expose setting to limit the number of recent files. Default is still 5, can be set from 1 to 25.
* Also fix tab order on settings page
2022-09-22 06:49:07 -04:00
Daniel Ziegenberg
731c89cc1c Add Ctrl+Tab shortcut to cycle databases in unlock dialog
The main window has both `Ctrl+PageUp` / `Ctrl+PageDown` and
`Ctrl+Tab / Ctrl+Shift+Tab` shortcuts to cycle the database tabs. When
in PR #5427 the abbility to select any open database in the unlock
dialog was introduced, only the `Ctrl+PageUp` / `Ctrl+PageDown`
shortcuts were added. This commit adds the `Ctrl+Tab / Ctrl+Shift+Tab`
shortcuts to the unlock diaglog to fix this inconsistent UI behaviour.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-09-22 06:49:07 -04:00
Nicolas Roeser
b75abaad08 Align generator logic and UI for math symbols
In the password generator widget, the checkable push button for the math
symbols is missing the GREATER-THAN SIGN (U+003E), even though it is
among the possible characters during password generation when the button
is checked. Add the missing character to the text displayed to users.

While at it, also fix a wrong comment containing the possible
characters.
2022-09-22 06:49:07 -04:00
Hugo
40316ac7b9 Move socket into separate directory (#8030)
This is mostly to ease setup and configuration with sandboxed browsers.

The socket currently existing in `$XDG_RUNTIME_DIR`. When sandboxing a browser, it would be unsafe to mount this directory inside the sandbox.
Mounting the socket into the sandbox's filesystem is also not possible in cases where KeePassXC is [re]started after the browser has started.

This commit moves the socket into its own isolated subdirectory, which can be safely mounted into sandboxes. Sandbox engines can create the directory themselves (in case the browser starts before KeePassXC). Both Flatpak and Firejail support this configuration.

A symlink is also created, linking the previous location to the new location. This is meant for backwards compatibility and should eventually be dropped.

The directory can't be named `org.keepassxc.KeePassXC.BrowserServer`,
since that would collide with the symlink. Instead, the directory has been created to match the format used for Flatpak builds, which make it a bit less of a snowflake build, while following accepted conventions.

Given that the preferred path now matches what Flatpak uses, the block handling Flatpak and non-Flatpak is now the same.

If `$XDG_RUNTIME_DIR` is undefined, the temporary directory is used, though reading the socket from this location is discouraged.

Closes: https://github.com/keepassxreboot/keepassxc/issues/8018
References: https://github.com/keepassxreboot/keepassxc/discussions/6741
2022-09-22 06:49:07 -04:00
Jonathan White
c4f625a3d1 cmake: emit warning if X11_Xi or X11_XTest not found
at least on Debian, a bullseye installation, the X11 development files
may be installed without the libxi-dev or the libxtest-dev packages.
this leads to the autotype shared library libkeepassxc-autotype-xcb.so
not being built without any complaint from cmake.

this commit makes cmake emit warning messages that shall hint anyone
building themselves that autotype will not work without these libs.

cmake: make libxi and libxtst a requirement with autotype enabled
2022-09-22 06:49:07 -04:00
Jonathan White
d954519e10 Fix crash when trying to close database during unlock
* Fix #7239 - prevent closing the database widget if the open dialog is still unlocking the database. This problem became slightly worse with quick unlock.

With this fix, if the user tries to close the database during unlock we will just ignore that request.
2022-09-22 06:49:07 -04:00
varjolintu
f0a7c636a4 Browser: Add a new group setting for omitting WWW subdomain when matching URLs 2022-09-22 06:49:07 -04:00
JakobDev
bfeb75c900 Add vcs-browser and contribute URLs to Appdata 2022-09-22 06:49:07 -04:00
varjolintu
19bd6069d7 Emit database changed event on single db lock 2022-09-22 06:49:07 -04:00
J J Chiarella
60d4e06531 Update eff_large.wordlist
1. Replaces words removed by pull 6914 <23b9e35de9> for possible offense. This restores the total word count.

Add replacement: grope -> . . . -> grouch

Change: hardcopy -> hardcopy -> hardback

Replace: hardcore -> . . . -> hardball

(I couldn't see "hardcopy" as a single word in American dictionaries from the turn of the century. It's too much of a neologism [and if we can't have "hardcore," then there's nothing else I can fit in that gap]. I had to remove another word to allow the addition of two new words here to preserve ordering. It's also an improvement because "hardcopy" is not a single word in dictionaries older than a decade or so.)

Add replacement: swinger -> . . . -> swindle

2. Yo-yo and yoyo are two spelling of the same exact word, and the latter spelling is "non-standard."

Keeping: yo-yo (t-shirt is the one other hyphenated word and I can't find a suitable candidate for either without creating several conflicts on the long wordlist)

Change: yoyo -> young

3.  Word repetition: two spellings of same word hankie.

Keeping: hankie (as the "correct" spelling because "hanky" is more common in "hanky-panky").

Change: hanky -> hanoi

(The other option was to insert "hansom" between "hanky" and "haphazard," but "handsome" is a homophone because the "d" became silent many years ago.)

4. Changed proper nouns and brand names to regular nouns:

dropbox -> dropforge

ebay -> eaves

google -> goosey as in "loosey-goosey" (the real word is "googol," anyhow)

This necessitated changing goon -> gooseneck

ipad -> iota

iphone -> ire

ipod -> iridium

This necessitated irate -> iris

kleenex -> knack (the word "tissue" exists)

lego -> legitimate

xbox -> xenon (which sounds like x box or x-box, too)

Keeping: xerox (now genericized like aspirin)

5. Replaced non-standard words around "drop" and the brand name in there

drop-down -> drop-in

ebook -> (genericized like "email")

ecard -> echelon

This necessitated eccentric -> echidna

harddisk -> hardedge (Hardedge is an art style. Hard disk is always two words or else is abbreviated as HDD for hard disk drive)

6. Replaced flirtatious activity

footsie -> footstool

Which necessitated making footsore -> footway

7. Potentially sensitive anatomy

gonad -> golly

siamese -> sial (Siamese = Thai, but "twins" is also on the list and "Siamese" could precede "twins," which is slur for conjoined twins.)

8. Politically sensitive

islamist -> island (An Islamist is someone who wants to enforce political Islam on all with a literal and conservative interpretation of the Qu'ran. It does not mean Muslim.)

marxism ->  marzipan (I'm a big old lefty, myself, but I need to be consistent)

********

These necessitated a couple changes to nearby words where a drop-in replacement word did not exist, which required shifting neighboring words slightly.

Alphabetical order preserved and total word count should match EFF's modified and the original Diceware list. No breaking changes.
2022-09-22 06:49:07 -04:00
Felix Stupp
9150febd02 Add methods isHardwareKeySupported and refreshHardwareKeys to DBus 2022-09-22 06:49:07 -04:00
Jonathan White
d8d5ddcab6 Auto-Type: PICKCHARS can specify attribute and ignore BEEP
* Fix #7726 - Ignore BEEP Auto-Type token when it includes spaces and numbers as well
* Close #8103 - Allow specifying specific attribute to use with PICKCHARS. If none specified, it defaults to Password.
2022-09-22 06:49:07 -04:00
Jonathan White
8190b20efe Improve entry preview panel
* Fix #7811 - Notes height no longer truncated
* Fix #7949 - Improve copying attribute value to clipboard in entry preview
* Fix #7898 - Prevent copying url when copy password selected after clicking url in preview pane
* Fix #7982 - Double clicking hidden attributes in preview pane copies the value instead of ●●●●●●
2022-09-22 06:49:07 -04:00
Michael Ziminsky (Z)
989348bbfb Fix autotype menu entries on Windows 2022-09-22 06:49:07 -04:00
Patrick Sean Klein
679b93b601 Correct regex escape logic
* Fixes #7776

Implement QRegularExpression::escape within Tools::convertToRegex to allow usage on older Qt versions.

Also wrap EXACT_MODIFIER patterns in a non-capture group to prevent misinterpreted regex.
2022-09-22 06:49:07 -04:00
varjolintu
d1d191e2b0 Pass database locked/unlocked status even with Search All Databases option enabled 2022-09-22 06:49:07 -04:00
Jonathan White
6f619271c4 Fix Auto-Type gui guard for tests
Prevent showing gui error dialogs when no gui is present. This can occur during auto-type tests.
2022-09-22 06:49:07 -04:00
Jonathan White
3163547096 Fix use of modifiers under macOS
* Fix #6463
2022-09-22 06:49:07 -04:00
Jonathan White
6da7188ecf Fix file dialog not appearing on snap build
Fix #7607 - Don't disable core dumps when building for snap distribution. Doing so will not allow the xdg-desktop-portal from opening the file dialog. This is because the portal attempts to call entries from /proc/[pid]/xxxx which are restricted to root when core dumps are disabled.
2022-09-22 06:49:07 -04:00
Toni Spets
35285d72bb docs: Explicitly talk about SSH Agent integration
There's possible confusion that KeePassXC provides its own agent
the way it's worded. Always explicitly talk about integration to
make it more clear.
2022-09-22 06:49:07 -04:00
Aetf
07755c324a FdoSecrets: add smarter handling of database unlock requests
This commit implements the following logic:
* If there're already unlocked collections, just use those,
* otherwise, show the unlock dialog until there's an unlocked and exposed collection.

* Fixes #7574
2022-09-22 06:49:07 -04:00
Aetf
8711d31f24 FdoSecrets: ask to unlock the database when creating items
Also only emit databaseUnlockFinished after the database is unlocked

Fix #7989
2022-09-22 06:49:07 -04:00
Patrick Sean Klein
a3c24b4bbc Add database backup path documentation. 2022-09-22 06:49:07 -04:00
SnipFoo
4d20cb1654 Add config variable for specifying a default file name for the database 2022-09-22 06:49:07 -04:00
J.M. Dana
7e8a672de4 Add password strength indicator to PasswordEditWidget
Fixes #7437 (entry edit view only)
Fixes #5220
2022-09-22 06:49:07 -04:00
Aetf
107dcae26c FdoSecrets: skip entries in recycle bin when searching (fix #7933) 2022-09-22 06:49:07 -04:00
Jonathan White
121d54c96a Fix transient errors in GUI tests
* Fix saving file errors due to atomic saves on Windows
* Fix tests that rely on clicking a list index that is out of view
2022-09-22 06:49:07 -04:00
Patrick Sean Klein
6f28b5e2ba Limit zxcvbn entropy estimation length
Limit the use of zxcvbn based password entropy estimation to 256 bytes. After this threshold, the average per-byte entropy from the zxcvbn calculation is added for each additional byte. In practice, this produces a slightly higher entropy calculation for purely randomized passwords than zxcvbn would normally calculate. However, the time to calculate is capped leading to a much better user experience and removing unnecessary calculations.

Fixes #7712
2022-09-22 06:49:07 -04:00
Jérôme Augé
dca70f809d Fix capture of whiptail's exit status
The exit status of `whiptail` was masked by the subsequent call to
`clear`.

This correct the capture of whiptail's exit status so that pressing the
`[Cancel]` button can be correctly detected by the script.

Fixes #7830
2022-09-22 06:49:07 -04:00
Piraty
750a3383ca Link ykcore against pthread (#7807) 2022-09-22 06:49:07 -04:00
hka
dda70e1453 Normalize path (slashes to be precise) when opening a database or saving the last used database paths (#7864)
Fixes #7821
2022-09-22 06:49:07 -04:00
327 changed files with 76565 additions and 21081 deletions

View File

@@ -85,6 +85,12 @@ All pull requests must comply with the above requirements and with the [stylegui
Translations are managed on [Transifex](https://www.transifex.com/keepassxc/keepassxc/) which offers a web interface. Translations are managed on [Transifex](https://www.transifex.com/keepassxc/keepassxc/) which offers a web interface.
Please join an existing language team or request a new one if there is none. Please join an existing language team or request a new one if there is none.
If you open a Pull Request with new strings that require translations, you will need to run the following:
```
./release-tool i18n lupdate
```
This will make the new strings available for translation in Transifex.
## Styleguides ## Styleguides
### Git branch strategy ### Git branch strategy

View File

@@ -1,14 +1,17 @@
[main] [main]
host = https://www.transifex.com host = https://app.transifex.com
[keepassxc.share-translations-keepassxc-en-ts--develop] [o:keepassxc:p:keepassxc:r:share-translations-keepassxc-en-ts--develop]
source_file = share/translations/keepassxc_en.ts file_filter = share/translations/keepassxc_<lang>.ts
file_filter = share/translations/keepassxc_<lang>.ts source_file = share/translations/keepassxc_en.ts
source_lang = en type = QT
type = QT minimum_perc = 0
resource_name = keepassxc_en.ts (develop)
[o:keepassxc:p:keepassxc:r:share-translations-keepassxc-en-ts--master]
file_filter = share/translations/keepassxc_<lang>.ts
source_file = share/translations/keepassxc_en.ts
type = QT
minimum_perc = 0
resource_name = keepassxc_en.ts (2.7.x stable)
[keepassxc.share-translations-keepassxc-en-ts--master]
source_file = share/translations/keepassxc_en.ts
file_filter = share/translations/keepassxc_<lang>.ts
source_lang = en
type = QT

View File

@@ -1,5 +1,114 @@
# Changelog # Changelog
## 2.7.5 (2023-05-14)
### Changes
- Add menu option to allow screenshots [#8841]
- Add support for Botan 3 [#9388]
- Increase max TOTP step to 24 hours [#9149]
- Improve HTML export layout [#8987]
- Turn search reset off by default [#9153]
- Use QClipboard::clear() instead of setting blank text [#9148]
- Hide group column header choice when not in search [#9171]
- Improve look of KeePassXC logo and icons [#9355]
- Add keyboard shortcuts for app and database settings [#9007]
- Hide rename button from attachments preview panel [#8842]
- Linux: Set SingleMainWindow in .desktop file [#7430]
### Fixes
- Fix crash when search clears while creating new entry [#9230]
- Fix crash when using Windows Hello in a Remote Desktop session [#9006]
- Fix crash in Group Edit after enabling Browser Integration [#8778]
- Fix canceling quick unlock when it is unavailable [#9034]
- Set password input field font correctly [#8732]
- Greatly improve performance when rendering entry view [#9398]
- Fix various accessibility issues [#9138]
- Fix arrows size when expand/collapse a group [#9096]
- Select the clone instead of the original after cloning an entry [#9070]
- Fix bugs with preview widget [#9170]
- Fix status bar update when switching to other DB [#9073]
- Fix database settings spin box bug [#9101]
- Fix Ctrl+Tab shortcut to cycle databases in unlock dialog [#8839]
- Fix TOTP QR code maintaining square ratio [#9027]
- Fix Auto-Type configuration page on custom sequence selection [#8752]
- Fix unexpected behavior of `--lock` when KeePassXC is not running [#8889]
- Make open folder icon exempt from "Apply group icon to entry" [#9205]
- Allow setting default file open directory with env var [#9192]
- SSH Agent: Fix support for AES-256/GCM openssh keys [#8968]
- Browser: Fix Native Messaging script path with BSD OS's [#8835]
- MacOS: Fix text selection for Auto-Type clear field [#9066]
- MacOS: Don't rely on AppleInterfaceStyle for theme switching [#8615]
- Windows: Remove registry detection of desktop shortcut [#9380]
## 2.7.4 (2022-10-29)
### Changes
- Add 2 months expiration preset [#8687]
- CLI: Add Unicode support on Windows [#8618]
### Fixes
- Fix crash on macOS when unlocking database [#8676]
- Fix display of passwords in preview panel [#8633]
- Fix clicking links in entry preview panel [#8644]
- Prevent expired entries search if no results returned [#8643]
- Browser: Revert code causing connection problems [#8665]
- Browser: Fix socket file symbolic link on Linux [#8656]
- Flatpak: Fix launching browser proxy service [#8680]
- SSH Agent: Fix paegent support on Windows [#8619]
## 2.7.3 (2022-10-23)
### Changes
- Enhance Tags Support and Add Saved Searches [#8435, #8607]
- Significant improvements to entry preview panel [#7993]
- Add password strength indicator to all password fields [#7885]
- Limit zxcvbn entropy estimation length to 128 characters [#7748]
- Try full URL path when fetching favicon [#8565]
- Hide usernames in preview panel when hidden in entry view [#8608]
- Enable dark title bar on windows when accent color is not used [#8498]
- Add option to display passwords in color in preview panel [#7097]
- Add XML Export option to GUI [#8524]
- Increase entropy required for a "good" password rating to 75 [#8523]
- Add shortcut to copy password with TOTP appended [#8443]
- Show entry count in status bar [#8435]
- Allow KeePassXC to be built without X11 [#8147]
- Enable use of VivoKey Apex and Dangerous Things FlexSecure tokens [#8332]
- Add setting for number of recent files [#8239]
- Add Ctrl+Tab shortcut to cycle databases in unlock dialog [#8168]
- Replace offensive words in eff_large.wordlist [#7968]
- Auto-Type: PICKCHARS can specify attribute and ignore BEEP [#8118]
- Linux: Add isHardwareKeySupported and refreshHardwareKeys to DBus methods [#8055]
- Add config variable to specify default database file name [#8042]
- Support numeric aware sorting on Windows and macOS [#8363]
- CLI: Add `db-edit` command [#8400]
- CLI: Add option to display all attributes with `show` command [#8256]
- CLI: Show UUID and tags with `show` and `clip` commands [#8241]
- Browser: Move socket into separate directory on Linux [#8030]
- Browser: Add group setting to omit WWW subdomain when matching URLs [#7988]
- FdoSecrets: Ask to unlock the database when creating items [#8022, #8028]
- FdoSecrets: Skip entries in recycle bin when searching [#8021]
### Fixes
- Fix potential deadlock in UI when saving [#8606]
- Fix newlines when copying notes from preview panel [#8542]
- Fix dark mode detection on Linux [#8477]
- Fix crash when deleting items in recycle bin while searching [#8117]
- Fix crash when trying to close database during unlock [#8144]
- Fix tabbing around the interface [#8435, #8520]
- Fix OPVault import when there are multiple OTP fields [#8436]
- Fix various Windows Hello bugs [#8354]
- Fix use of Apple Watch for Quick Unlock [#8311]
- Better handling of "Lock on Minimize" setting [#8202]
- Check for write permission before entering portable mode [#8447]
- Correct regex escape logic to prevent parse errors [#7778]
- Normalize slashes and file case for last used databases [#7864, #7214]
- Link ykcore against pthread [#7807]
- Auto-Type: Fix menu entries in selection dialog on Windows [#7987]
- Auto-Type: Fix use of modifiers under macOS [#8111]
- CLI: Fix output when using clip with the -t flag [#8271]
- Browser: Use asynchronous access confirm dialog [#8273]
- Browser: Always send database locked/unlocked status [#8114]
## 2.7.1 (2022-04-05) ## 2.7.1 (2022-04-05)
### Changes ### Changes

View File

@@ -62,6 +62,27 @@ if(UNIX AND NOT APPLE)
endif() endif()
option(WITH_XC_DOCS "Enable building of documentation" ON) option(WITH_XC_DOCS "Enable building of documentation" ON)
set(WITH_XC_X11 ON CACHE BOOL "Enable building with X11 deps")
if(APPLE)
# Perform the platform checks before applying the stricter compiler flags.
# Otherwise the kSecAccessControlTouchIDCurrentSet deprecation warning will result in an error.
try_compile(XC_APPLE_COMPILER_SUPPORT_BIOMETRY
${CMAKE_CURRENT_BINARY_DIR}/tiometry_test/
${CMAKE_CURRENT_SOURCE_DIR}/cmake/compiler-checks/macos/control_biometry_support.mm)
message(STATUS "Biometry compiler support: ${XC_APPLE_COMPILER_SUPPORT_BIOMETRY}")
try_compile(XC_APPLE_COMPILER_SUPPORT_TOUCH_ID
${CMAKE_CURRENT_BINARY_DIR}/touch_id_test/
${CMAKE_CURRENT_SOURCE_DIR}/cmake/compiler-checks/macos/control_touch_id_support.mm)
message(STATUS "Touch ID compiler support: ${XC_APPLE_COMPILER_SUPPORT_TOUCH_ID}")
try_compile(XC_APPLE_COMPILER_SUPPORT_WATCH
${CMAKE_CURRENT_BINARY_DIR}/tiometry_test/
${CMAKE_CURRENT_SOURCE_DIR}/cmake/compiler-checks/macos/control_watch_support.mm)
message(STATUS "Apple watch compiler support: ${XC_APPLE_COMPILER_SUPPORT_WATCH}")
endif()
if(WITH_CCACHE) if(WITH_CCACHE)
# Use the Compiler Cache (ccache) program # Use the Compiler Cache (ccache) program
# (install with: sudo apt get ccache) # (install with: sudo apt get ccache)
@@ -91,9 +112,14 @@ if(NOT WITH_XC_NETWORKING AND WITH_XC_UPDATECHECK)
set(WITH_XC_UPDATECHECK OFF) set(WITH_XC_UPDATECHECK OFF)
endif() endif()
if(UNIX AND NOT APPLE AND NOT WITH_XC_X11)
message(STATUS "Disabling WITH_XC_AUTOTYPE because WITH_XC_X11 is disabled")
set(WITH_XC_AUTOTYPE OFF)
endif()
set(KEEPASSXC_VERSION_MAJOR "2") set(KEEPASSXC_VERSION_MAJOR "2")
set(KEEPASSXC_VERSION_MINOR "7") set(KEEPASSXC_VERSION_MINOR "7")
set(KEEPASSXC_VERSION_PATCH "1") set(KEEPASSXC_VERSION_PATCH "5")
set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}") set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}")
set(OVERRIDE_VERSION "" CACHE STRING "Override the KeePassXC Version for Snapshot builds") set(OVERRIDE_VERSION "" CACHE STRING "Override the KeePassXC Version for Snapshot builds")
@@ -177,6 +203,16 @@ if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0")
check_pie_supported() check_pie_supported()
endif() endif()
# Find Botan early since the version affects subsequent compiler options
find_package(Botan REQUIRED)
if(BOTAN_VERSION VERSION_GREATER_EQUAL "3.0.0")
set(WITH_XC_BOTAN3 TRUE)
elseif(BOTAN_VERSION VERSION_LESS "2.11.0")
# Check for minimum Botan version
message(FATAL_ERROR "Botan 2.11.0 or higher is required")
endif()
include_directories(SYSTEM ${BOTAN_INCLUDE_DIR})
# Create position independent code for shared libraries and executables # Create position independent code for shared libraries and executables
set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@@ -272,6 +308,10 @@ if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug")
check_add_gcc_compiler_flag("-Wshadow-compatible-local") check_add_gcc_compiler_flag("-Wshadow-compatible-local")
check_add_gcc_compiler_flag("-Wshadow-local") check_add_gcc_compiler_flag("-Wshadow-local")
add_gcc_compiler_flags("-Werror") add_gcc_compiler_flags("-Werror")
# This is needed since compiling aginst Botan3 requires compiling against C++20
if(WITH_XC_BOTAN3)
add_gcc_compiler_cxxflags("-Wno-error=deprecated-enum-enum-conversion -Wno-error=deprecated")
endif()
endif() endif()
if (NOT HAIKU) if (NOT HAIKU)
@@ -310,14 +350,18 @@ check_add_gcc_compiler_flag("-Wcast-align")
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
check_add_gcc_compiler_flag("-Qunused-arguments") check_add_gcc_compiler_flag("-Qunused-arguments")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-add-needed -Wl,--as-needed -Wl,--no-undefined") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl,--no-undefined")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now -pie") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now -pie")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-add-needed -Wl,--as-needed") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--as-needed")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro,-z,now") set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro,-z,now")
endif() endif()
set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 17) if(WITH_XC_BOTAN3)
set(CMAKE_CXX_STANDARD 20)
else()
set(CMAKE_CXX_STANDARD 17)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
check_cxx_compiler_flag("-fsized-deallocation" CXX_HAS_fsized_deallocation) check_cxx_compiler_flag("-fsized-deallocation" CXX_HAS_fsized_deallocation)
@@ -447,17 +491,20 @@ include(CLangFormat)
set(QT_COMPONENTS Core Network Concurrent Gui Svg Widgets Test LinguistTools) set(QT_COMPONENTS Core Network Concurrent Gui Svg Widgets Test LinguistTools)
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
find_package(Qt5 COMPONENTS ${QT_COMPONENTS} DBus X11Extras REQUIRED) if(WITH_XC_X11)
list(APPEND QT_COMPONENTS X11Extras)
endif()
find_package(Qt5 COMPONENTS ${QT_COMPONENTS} DBus REQUIRED)
elseif(APPLE) elseif(APPLE)
find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED HINTS find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED HINTS
/usr/local/opt/qt/lib/cmake /usr/local/opt/qt@5/lib/cmake
/usr/local/Cellar/qt/*/lib/cmake /usr/local/Cellar/qt@5/*/lib/cmake
/opt/homebrew/opt/qt/lib/cmake /opt/homebrew/opt/qt@5/lib/cmake
ENV PATH) ENV PATH)
find_package(Qt5 COMPONENTS MacExtras HINTS find_package(Qt5 COMPONENTS MacExtras HINTS
/usr/local/opt/qt/lib/cmake /usr/local/opt/qt@5/lib/cmake
/usr/local/Cellar/qt/*/lib/cmake /usr/local/Cellar/qt@5/*/lib/cmake
/opt/homebrew/opt/qt/lib/cmake /opt/homebrew/opt/qt@5/lib/cmake
ENV PATH) ENV PATH)
else() else()
find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED) find_package(Qt5 COMPONENTS ${QT_COMPONENTS} REQUIRED)
@@ -468,6 +515,10 @@ if(Qt5Core_VERSION VERSION_LESS "5.2.0")
endif() endif()
get_filename_component(Qt5_PREFIX ${Qt5_DIR}/../../.. REALPATH) get_filename_component(Qt5_PREFIX ${Qt5_DIR}/../../.. REALPATH)
if(APPLE)
# Add includes under Qt5 Prefix in case Qt6 is also installed
include_directories(SYSTEM ${Qt5_PREFIX}/include)
endif()
# Process moc automatically # Process moc automatically
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
@@ -496,12 +547,6 @@ endif()
# Make sure we don't enable asserts there. # Make sure we don't enable asserts there.
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_NONE QT_NO_DEBUG) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_NONE QT_NO_DEBUG)
# Find Botan2
find_package(Botan2 REQUIRED)
if(BOTAN2_VERSION VERSION_LESS "2.11.0")
message(FATAL_ERROR "Botan2 2.11.0 or higher is required")
endif()
include_directories(SYSTEM ${BOTAN2_INCLUDE_DIR})
# Find Argon2 -- Botan 2.18 and below does not support threaded Argon2 # Find Argon2 -- Botan 2.18 and below does not support threaded Argon2
find_library(ARGON2_LIBRARIES NAMES argon2) find_library(ARGON2_LIBRARIES NAMES argon2)
find_path(ARGON2_INCLUDE_DIR NAMES argon2.h PATH_SUFFIXES local/include) find_path(ARGON2_INCLUDE_DIR NAMES argon2.h PATH_SUFFIXES local/include)

48
COPYING
View File

@@ -27,28 +27,24 @@ Copyright: 2010-2012, Felix Geyer <debfx@fobos.de>
2000-2008, Tom Sato <VEF00200@nifty.ne.jp> 2000-2008, Tom Sato <VEF00200@nifty.ne.jp>
2013, Laszlo Papp <lpapp@kde.org> 2013, Laszlo Papp <lpapp@kde.org>
2013, David Faure <faure@kde.org> 2013, David Faure <faure@kde.org>
2016-2020, KeePassXC Team <team@keepassxc.org> 2016-2023, KeePassXC Team <team@keepassxc.org>
License: GPL-2 or GPL-3 License: GPL-2 or GPL-3
Comment: The "KeePassXC Team" in every copyright notice is formed by the following people: Comment: The "KeePassXC Team" in every copyright notice is formed by the following people:
- droidmonkey - droidmonkey
- phoerious - phoerious
- TheZ3ro <io@thezero.org> - varjolintu
- hifi
- louib - louib
- weslly
Every other contributor is listed on https://github.com/keepassxreboot/keepassxc/graphs/contributors Every other contributor is listed on https://github.com/keepassxreboot/keepassxc/graphs/contributors
Files: cmake/CodeCoverage.cmake Files: cmake/CodeCoverage.cmake
Copyright: 2012 - 2015, Lars Bilke Copyright: 2012 - 2015, Lars Bilke
License: BSD-3-clause License: BSD-3-clause
Files: cmake/FindYubiKey.cmake Files: cmake/FindBotan.cmake
Copyright: 2014 Kyle Manna <kyle@kylemanna.com> Copyright: none
License: GPL-2 or GPL-3 License: LGPL-2.1
Files: cmake/FindBotan2.cmake
Copyright: 2018 Ribose Inc.
License: BSD-2-clause
Files: cmake/GenerateProductVersion.cmake Files: cmake/GenerateProductVersion.cmake
Copyright: 2015 halex2005 <akharlov@gmail.com> Copyright: 2015 halex2005 <akharlov@gmail.com>
@@ -144,10 +140,21 @@ Files: share/icons/badges/2_Expired.svg
Copyright: 2022 KeePassXC Team <team@keepassxc.org> Copyright: 2022 KeePassXC Team <team@keepassxc.org>
License: MIT License: MIT
Files: share/icons/application/scalable/actions/chevron-double-down.svg Files: share/icons/application/scalable/actions/application-exit.svg
share/icons/application/scalable/actions/attributes-copy.svg
share/icons/application/scalable/actions/auto-type.svg
share/icons/application/scalable/actions/bugreport.svg
share/icons/application/scalable/actions/chevron-double-down.svg
share/icons/application/scalable/actions/chevron-double-right.svg share/icons/application/scalable/actions/chevron-double-right.svg
share/icons/application/scalable/actions/clipboard-text.svg
share/icons/application/scalable/actions/configure.svg
share/icons/application/scalable/actions/database-change-key.svg
share/icons/application/scalable/actions/database-lock.svg share/icons/application/scalable/actions/database-lock.svg
share/icons/application/scalable/actions/database-lock-all.svg share/icons/application/scalable/actions/database-lock-all.svg
share/icons/application/scalable/actions/database-merge.svg
share/icons/application/scalable/actions/database-search.svg
share/icons/application/scalable/actions/dialog-close.svg
share/icons/application/scalable/actions/dialog-ok.svg
share/icons/application/scalable/actions/document-close.svg share/icons/application/scalable/actions/document-close.svg
share/icons/application/scalable/actions/document-edit.svg share/icons/application/scalable/actions/document-edit.svg
share/icons/application/scalable/actions/document-export.svg share/icons/application/scalable/actions/document-export.svg
@@ -159,43 +166,60 @@ Files: share/icons/application/scalable/actions/chevron-double-down.svg
share/icons/application/scalable/actions/document-save.svg share/icons/application/scalable/actions/document-save.svg
share/icons/application/scalable/actions/document-save-as.svg share/icons/application/scalable/actions/document-save-as.svg
share/icons/application/scalable/actions/document-save-copy.svg share/icons/application/scalable/actions/document-save-copy.svg
share/icons/application/scalable/actions/donate.svg
share/icons/application/scalable/actions/edit-clear-locationbar-ltr.svg share/icons/application/scalable/actions/edit-clear-locationbar-ltr.svg
share/icons/application/scalable/actions/edit-clear-locationbar-rtl.svg share/icons/application/scalable/actions/edit-clear-locationbar-rtl.svg
share/icons/application/scalable/actions/entry-clone.svg share/icons/application/scalable/actions/entry-clone.svg
share/icons/application/scalable/actions/entry-delete.svg share/icons/application/scalable/actions/entry-delete.svg
share/icons/application/scalable/actions/entry-restore.svg
share/icons/application/scalable/actions/entry-edit.svg share/icons/application/scalable/actions/entry-edit.svg
share/icons/application/scalable/actions/entry-new.svg share/icons/application/scalable/actions/entry-new.svg
share/icons/application/scalable/actions/favicon-download.svg share/icons/application/scalable/actions/favicon-download.svg
share/icons/application/scalable/actions/fingerprint.svg share/icons/application/scalable/actions/fingerprint.svg
share/icons/application/scalable/actions/group-clone.svg share/icons/application/scalable/actions/getting-started.svg
share/icons/application/scalable/actions/group-delete.svg share/icons/application/scalable/actions/group-delete.svg
share/icons/application/scalable/actions/group-edit.svg share/icons/application/scalable/actions/group-edit.svg
share/icons/application/scalable/actions/group-clone.svg
share/icons/application/scalable/actions/group-empty-trash.svg share/icons/application/scalable/actions/group-empty-trash.svg
share/icons/application/scalable/actions/group-new.svg share/icons/application/scalable/actions/group-new.svg
share/icons/application/scalable/actions/hammer-wrench.svg share/icons/application/scalable/actions/hammer-wrench.svg
share/icons/application/scalable/actions/health.svg share/icons/application/scalable/actions/health.svg
share/icons/application/scalable/actions/help-about.svg share/icons/application/scalable/actions/help-about.svg
share/icons/application/scalable/actions/lock-question.svg share/icons/application/scalable/actions/lock-question.svg
share/icons/application/scalable/actions/keyboard-shortcuts.svg
share/icons/application/scalable/actions/message-close.svg share/icons/application/scalable/actions/message-close.svg
share/icons/application/scalable/actions/move-down.svg share/icons/application/scalable/actions/move-down.svg
share/icons/application/scalable/actions/move-up.svg share/icons/application/scalable/actions/move-up.svg
share/icons/application/scalable/actions/object-locked.svg
share/icons/application/scalable/actions/object-unlocked.svg
share/icons/application/scalable/actions/paperclip.svg share/icons/application/scalable/actions/paperclip.svg
share/icons/application/scalable/actions/password-copy.svg share/icons/application/scalable/actions/password-copy.svg
share/icons/application/scalable/actions/password-generator.svg share/icons/application/scalable/actions/password-generator.svg
share/icons/application/scalable/actions/password-show-off.svg share/icons/application/scalable/actions/password-show-off.svg
share/icons/application/scalable/actions/password-show-on.svg share/icons/application/scalable/actions/password-show-on.svg
share/icons/application/scalable/actions/qrcode.svg
share/icons/application/scalable/actions/refresh.svg share/icons/application/scalable/actions/refresh.svg
share/icons/application/scalable/actions/reports.svg share/icons/application/scalable/actions/reports.svg
share/icons/application/scalable/actions/reports-exclude.svg share/icons/application/scalable/actions/reports-exclude.svg
share/icons/application/scalable/actions/sort-alphabetical-ascending.svg
share/icons/application/scalable/actions/sort-alphabetical-descending.svg
share/icons/application/scalable/actions/statistics.svg share/icons/application/scalable/actions/statistics.svg
share/icons/application/scalable/actions/system-help.svg share/icons/application/scalable/actions/system-help.svg
share/icons/application/scalable/actions/system-search.svg share/icons/application/scalable/actions/system-search.svg
share/icons/application/scalable/actions/system-software-update.svg
share/icons/application/scalable/actions/tag.svg share/icons/application/scalable/actions/tag.svg
share/icons/application/scalable/actions/tag-multiple.svg
share/icons/application/scalable/actions/tag-search.svg share/icons/application/scalable/actions/tag-search.svg
share/icons/application/scalable/actions/totp.svg
share/icons/application/scalable/actions/totp-copy.svg
share/icons/application/scalable/actions/totp-copy-password.svg
share/icons/application/scalable/actions/totp-edit.svg
share/icons/application/scalable/actions/trash.svg share/icons/application/scalable/actions/trash.svg
share/icons/application/scalable/actions/url-copy.svg share/icons/application/scalable/actions/url-copy.svg
share/icons/application/scalable/actions/user-guide.svg
share/icons/application/scalable/actions/username-copy.svg share/icons/application/scalable/actions/username-copy.svg
share/icons/application/scalable/actions/view-history.svg share/icons/application/scalable/actions/view-history.svg
share/icons/application/scalable/actions/web.svg
share/icons/application/scalable/apps/internet-web-browser.svg share/icons/application/scalable/apps/internet-web-browser.svg
share/icons/application/scalable/apps/keepassxc.svg share/icons/application/scalable/apps/keepassxc.svg
share/icons/application/scalable/apps/keepassxc-dark.svg share/icons/application/scalable/apps/keepassxc-dark.svg

View File

@@ -57,10 +57,10 @@ To compile from source, open a **Terminal (Linux/MacOS)**, the **MSVC Tools Comm
git pull git pull
``` ```
For a stable build, it is recommended to check out the master branch. For a stable build, it is recommended to check out the `latest` tag.
``` ```
git checkout master git checkout latest
``` ```
2. Navigate to the directory where you have downloaded KeePassXC and type these commands: 2. Navigate to the directory where you have downloaded KeePassXC and type these commands:
@@ -78,7 +78,7 @@ Note: These steps place the compiled KeePassXC binary inside the `./build/src/`
If you installed Qt5 via Homebrew, you should be able to compile KeePassXC without any changes. If CMake fails to find your Qt installation, you can specify it manually by adding the following parameter: If you installed Qt5 via Homebrew, you should be able to compile KeePassXC without any changes. If CMake fails to find your Qt installation, you can specify it manually by adding the following parameter:
`-DCMAKE_PREFIX_PATH=/usr/local/opt/qt/lib/cmake` `-DCMAKE_PREFIX_PATH=$(brew --prefix qt5)/lib/cmake`
(or whatever your Qt installation path is) (or whatever your Qt installation path is)
@@ -98,7 +98,7 @@ CMake Configuration Options
## Common Parameters ## Common Parameters
``` ```
-DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_PREFIX=$(brew --prefix)
-DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=<RelWithDebInfo/Debug/Release> -DCMAKE_BUILD_TYPE=<RelWithDebInfo/Debug/Release>
-DWITH_GUI_TESTS=ON -DWITH_GUI_TESTS=ON

View File

@@ -35,7 +35,7 @@ KeePassXC has numerous features for novice and power users alike. Our goal is to
* Command line interface (keepassxc-cli) * Command line interface (keepassxc-cli)
* Auto-Open databases * Auto-Open databases
* KeeShare shared databases (import, export, and synchronize) * KeeShare shared databases (import, export, and synchronize)
* SSH Agent * SSH Agent integration
* FreeDesktop.org Secret Service (replace Gnome keyring, etc.) * FreeDesktop.org Secret Service (replace Gnome keyring, etc.)
* Additional encryption choices: Twofish and ChaCha20 * Additional encryption choices: Twofish and ChaCha20

65
cmake/FindBotan.cmake Normal file
View File

@@ -0,0 +1,65 @@
# - Find botan
# Find the botan cryptographic library
#
# This module defines the following variables:
# BOTAN_FOUND - True if library and include directory are found
# If set to TRUE, the following are also defined:
# BOTAN_INCLUDE_DIRS - The directory where to find the header file
# BOTAN_LIBRARIES - Where to find the library files
#
# This file is in the public domain (https://github.com/vistle/vistle/blob/master/cmake/Modules/FindBOTAN.cmake)
include(FindPackageHandleStandardArgs)
set(BOTAN_VERSIONS botan-3 botan-2)
set(BOTAN_NAMES botan-3 botan-2 botan)
set(BOTAN_NAMES_DEBUG botand-3 botand-2 botand botan)
find_path(
BOTAN_INCLUDE_DIR
NAMES botan/build.h
PATH_SUFFIXES ${BOTAN_VERSIONS}
DOC "The Botan include directory")
if(BOTAN_INCLUDE_DIR)
file(READ "${BOTAN_INCLUDE_DIR}/botan/build.h" build)
string(REGEX MATCH "BOTAN_VERSION_MAJOR ([0-9]*)" _ ${build})
set(BOTAN_VERSION_MAJOR ${CMAKE_MATCH_1})
string(REGEX MATCH "BOTAN_VERSION_MINOR ([0-9]*)" _ ${build})
set(BOTAN_VERSION_MINOR ${CMAKE_MATCH_1})
string(REGEX MATCH "BOTAN_VERSION_PATCH ([0-9]*)" _ ${build})
set(BOTAN_VERSION_PATCH ${CMAKE_MATCH_1})
set(BOTAN_VERSION "${BOTAN_VERSION_MAJOR}.${BOTAN_VERSION_MINOR}.${BOTAN_VERSION_PATCH}")
endif()
find_library(
BOTAN_LIBRARY
NAMES ${BOTAN_NAMES}
PATH_SUFFIXES release/lib lib
DOC "The Botan (release) library")
if(MSVC)
find_library(
BOTAN_LIBRARY_DEBUG
NAMES ${BOTAN_NAMES_DEBUG}
PATH_SUFFIXES debug/lib lib
DOC "The Botan debug library")
find_package_handle_standard_args(
Botan
REQUIRED_VARS BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG BOTAN_INCLUDE_DIR
VERSION_VAR BOTAN_VERSION)
else()
find_package_handle_standard_args(
Botan
REQUIRED_VARS BOTAN_LIBRARY BOTAN_INCLUDE_DIR
VERSION_VAR BOTAN_VERSION)
endif()
if(BOTAN_FOUND)
set(BOTAN_INCLUDE_DIRS ${BOTAN_INCLUDE_DIR})
if(MSVC)
set(BOTAN_LIBRARIES optimized ${BOTAN_LIBRARY} debug ${BOTAN_LIBRARY_DEBUG})
else()
set(BOTAN_LIBRARIES ${BOTAN_LIBRARY})
endif()
endif()
mark_as_advanced(BOTAN_INCLUDE_DIR BOTAN_LIBRARY BOTAN_LIBRARY_DEBUG)

View File

@@ -1,106 +0,0 @@
# Copyright (c) 2018 Ribose Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#.rst:
# FindBotan2
# -----------
#
# Find the botan-2 library.
#
# IMPORTED Targets
# ^^^^^^^^^^^^^^^^
#
# This module defines :prop_tgt:`IMPORTED` targets:
#
# ``Botan2::Botan2``
# The botan-2 library, if found.
#
# Result variables
# ^^^^^^^^^^^^^^^^
#
# This module defines the following variables:
#
# ::
#
# BOTAN2_FOUND - true if the headers and library were found
# BOTAN2_INCLUDE_DIRS - where to find headers
# BOTAN2_LIBRARIES - list of libraries to link
# BOTAN2_VERSION - library version that was found, if any
# find the headers
find_path(BOTAN2_INCLUDE_DIR
NAMES botan/version.h
PATH_SUFFIXES botan-2
)
# find the library
find_library(BOTAN2_LIBRARY NAMES botan-2 libbotan-2 botan)
# determine the version
if(BOTAN2_INCLUDE_DIR AND EXISTS "${BOTAN2_INCLUDE_DIR}/botan/build.h")
file(STRINGS "${BOTAN2_INCLUDE_DIR}/botan/build.h" botan2_version_str
REGEX "^#define[\t ]+(BOTAN_VERSION_[A-Z]+)[\t ]+[0-9]+")
string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MAJOR[\t ]+([0-9]+).*"
"\\1" _botan2_version_major "${botan2_version_str}")
string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_MINOR[\t ]+([0-9]+).*"
"\\1" _botan2_version_minor "${botan2_version_str}")
string(REGEX REPLACE ".*#define[\t ]+BOTAN_VERSION_PATCH[\t ]+([0-9]+).*"
"\\1" _botan2_version_patch "${botan2_version_str}")
set(BOTAN2_VERSION "${_botan2_version_major}.${_botan2_version_minor}.${_botan2_version_patch}"
CACHE INTERNAL "The version of Botan which was detected")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Botan2
REQUIRED_VARS BOTAN2_LIBRARY BOTAN2_INCLUDE_DIR
VERSION_VAR BOTAN2_VERSION
)
if(BOTAN2_FOUND)
set(BOTAN2_INCLUDE_DIRS ${BOTAN2_INCLUDE_DIR} ${PC_BOTAN2_INCLUDE_DIRS})
set(BOTAN2_LIBRARIES ${BOTAN2_LIBRARY})
endif()
if(BOTAN2_FOUND AND NOT TARGET Botan2::Botan2)
# create the new library target
add_library(Botan2::Botan2 UNKNOWN IMPORTED)
# set the required include dirs for the target
if(BOTAN2_INCLUDE_DIRS)
set_target_properties(Botan2::Botan2
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${BOTAN2_INCLUDE_DIRS}"
)
endif()
# set the required libraries for the target
if(EXISTS "${BOTAN2_LIBRARY}")
set_target_properties(Botan2::Botan2
PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${BOTAN2_LIBRARY}"
)
endif()
endif()
mark_as_advanced(BOTAN2_INCLUDE_DIR BOTAN2_LIBRARY)

View File

@@ -0,0 +1,5 @@
#include <Security/Security.h>
int main() {
return static_cast<int>(kSecAccessControlBiometryCurrentSet);
}

View File

@@ -0,0 +1,5 @@
#include <Security/Security.h>
int main() {
return static_cast<int>(kSecAccessControlTouchIDCurrentSet);
}

View File

@@ -0,0 +1,5 @@
#include <Security/Security.h>
int main() {
return static_cast<int>(kSecAccessControlWatch);
}

View File

@@ -19,7 +19,7 @@ Optionally, build AFL from source:
## Building KeePassXC For Fuzzing ## Building KeePassXC For Fuzzing
A special "instrumented build" is used that allows the fuzzer to look into the program as it executes. We place it in its own build directory so it doesn't confused with the production build. A special "instrumented build" is used that allows the fuzzer to look into the program as it executes. We place it in its own build directory so it doesn't get confused with the production build.
$ cd your_keepassxc_source_directory $ cd your_keepassxc_source_directory
$ mkdir buildafl $ mkdir buildafl

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

@@ -16,7 +16,7 @@
= keepassxc-cli(1) = keepassxc-cli(1)
KeePassXC Team <team@keepassxc.org> KeePassXC Team <team@keepassxc.org>
:docdate: 2020-08-31 :docdate: 2022-08-20
:doctype: manpage :doctype: manpage
:mansource: KeePassXC {revnumber} :mansource: KeePassXC {revnumber}
:manmanual: General Commands Manual :manmanual: General Commands Manual
@@ -66,6 +66,11 @@ It provides the ability to query and modify the entries of a KeePass database, d
The key file will be created if the file that is referred to does not exist. The key file will be created if the file that is referred to does not exist.
If both the key file and password are empty, no database will be created. If both the key file and password are empty, no database will be created.
*db-edit* [_options_] <__database__>::
Edits a database.
When setting a key file, the key file will be created if the file that is referred to
does not exist.
*db-info* [_options_] <__database__>:: *db-info* [_options_] <__database__>::
Show a database's information. Show a database's information.
@@ -154,7 +159,7 @@ It provides the ability to query and modify the entries of a KeePass database, d
*--no-password*:: *--no-password*::
Deactivates the password key for the database. Deactivates the password key for the database.
*-y*, *--yubikey* <__slot__>:: *-y*, *--yubikey* <__slot[:serial]__>::
Specifies a yubikey slot for unlocking the database. Specifies a yubikey slot for unlocking the database.
In a merge operation this option is used to specify the YubiKey slot for the first database. In a merge operation this option is used to specify the YubiKey slot for the first database.
@@ -177,7 +182,7 @@ It provides the ability to query and modify the entries of a KeePass database, d
*--no-password-from*:: *--no-password-from*::
Deactivates password key for the database to merge from. Deactivates password key for the database to merge from.
*--yubikey-from* <__slot__>:: *--yubikey-from* <__slot[:serial]__>::
YubiKey slot for the second database. YubiKey slot for the second database.
*-s*, *--same-credentials*:: *-s*, *--same-credentials*::
@@ -235,16 +240,24 @@ The same password generation options as documented for the generate command can
If a unique matching entry is found it will be copied to the clipboard. If a unique matching entry is found it will be copied to the clipboard.
If multiple entries are found they will be listed to refine the search. (no clip performed) If multiple entries are found they will be listed to refine the search. (no clip performed)
=== Create and Import options === Db-create, Db-edit and Import options
*-k*, *--set-key-file* <__path__>:: *--set-key-file* <__path__>::
Set the key file for the database. Set the key file for the database.
*-p*, *--set-password*:: *-p*, *--set-password*::
Set a password for the database. Set a password for the database.
=== Db-create, Import options
*-t*, *--decryption-time* <__time__>:: *-t*, *--decryption-time* <__time__>::
Target decryption time in MS for the database. Target decryption time in MS for the database.
=== Db-edit options
*--unset-password* <__path__>::
Removes the password for the database.
*--unset-key-file* <__path__>::
Removes the key file for the database.
=== Show options === Show options
*-a*, *--attributes* <__attribute__>...:: *-a*, *--attributes* <__attribute__>...::
Shows the named attributes. Shows the named attributes.
@@ -252,6 +265,9 @@ The same password generation options as documented for the generate command can
If no attributes are specified and *-t* is not specified, a summary of the default attributes is given. If no attributes are specified and *-t* 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. Protected attributes will be displayed in clear text if specified explicitly by this option.
*--all*::
Show all the attributes of the entry.
*-s*, *--show-protected*:: *-s*, *--show-protected*::
Shows the protected attributes in clear text. Shows the protected attributes in clear text.
@@ -270,7 +286,7 @@ The same password generation options as documented for the generate command can
Sets the Path of the wordlist for the diceware generator. Sets the Path of the wordlist for the diceware generator.
The wordlist must have > 1000 words, otherwise the program will fail. The wordlist must have > 1000 words, otherwise the program will fail.
If the wordlist has < 4000 words a warning will be printed to STDERR. If the wordlist has < 4000 words a warning will be printed to STDERR.
Any *diceware*-compatible wordlist can used. Note however that *KeePassXC* will NOT verify the PGP signature of signed wordlists. Any *diceware*-compatible wordlist can be used. Note however that *KeePassXC* will NOT verify the PGP signature of signed wordlists.
=== Export options === Export options
*-f*, *--format*:: *-f*, *--format*::

View File

@@ -49,9 +49,6 @@ Your wallet works offline and requires no Internet connection.
*--pw-stdin*:: *--pw-stdin*::
Read password of the database from stdin. Read password of the database from stdin.
*--pw*, *--parent-window* <__handle__>::
Parent window handle.
*--debug-info*:: *--debug-info*::
Displays debugging information. Displays debugging information.

View File

@@ -1,4 +1,4 @@
= KeePassXC - Auto-Type = KeePassXC Auto-Type
:imagesdir: ../images :imagesdir: ../images
// tag::content[] // tag::content[]

View File

@@ -1,4 +1,4 @@
= KeePassXC - Browser Plugin = KeePassXC Browser Plugin
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images

View File

@@ -1,4 +1,4 @@
= KeePassXC - Database Operations = KeePassXC Database Operations
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
@@ -11,22 +11,22 @@ To create a database, perform the following steps:
1. Open your KeePassXC application. Click the create new database button *(A)*: 1. Open your KeePassXC application. Click the create new database button *(A)*:
+ +
.Create database - Welcome screen .Create database Welcome screen
image::welcome_screen.png[] image::welcome_screen.png[]
2. The database creation wizard appears. Enter the desired database name and a short description (optional): 2. The database creation wizard appears. Enter the desired database name and a short description (optional):
+ +
.Create database - General information .Create database General information
image::new_db_wizard_1.png[,80%] image::new_db_wizard_1.png[,80%]
3. Click Continue. The Encryption Settings screen appears, we don't recommend making any changes besides increasing or decreasing the decryption time using the slider. Setting the Decryption Time slider at a higher values means that the database will have higher level of protection but the time taken by the database to open will increase. 3. Click Continue. The Encryption Settings screen appears, we don't recommend making any changes besides increasing or decreasing the decryption time using the slider. Setting the Decryption Time slider at higher values means that the database will have higher level of protection but the time taken by the database to open will increase.
+ +
.Create database - Encryption settings .Create database Encryption settings
image::new_db_wizard_2.png[,80%] image::new_db_wizard_2.png[,80%]
4. Click the Continue button. The Database Credentials screen appears, enter your desired database password. We recommend using a long, randomized password. 4. Click the Continue button. The Database Credentials screen appears, enter your desired database password. We recommend using a long, randomized password.
+ +
.Create database - Database credentials .Create database Database credentials
image::new_db_wizard_3.png[,80%] image::new_db_wizard_3.png[,80%]
+ +
*(A)* Open the password generator + *(A)* Open the password generator +
@@ -44,7 +44,7 @@ To open an existing database, perform the following steps:
.Open an existing database .Open an existing database
image::open_database.png[] image::open_database.png[]
2. Navigate to the location of the your database on your computer and open the database file. The database unlock screen will appear: 2. Navigate to the location of the database on your computer and open the database file. The database unlock screen will appear:
+ +
.Database unlock screen .Database unlock screen
image::unlock_database.png[] image::unlock_database.png[]
@@ -84,7 +84,7 @@ There are three ways that KeePassXC can handle database files. This behavior is
3. *Direct-write saves* write directly to the existing database file. This is an unsafe operation since any interruption can leave your entire database inaccessible. We only recommend using this option when interfacing with Linux GVFS services (e.g. Google Cloud on Gnome) and other types of storage services that host a virtual drive system. 3. *Direct-write saves* write directly to the existing database file. This is an unsafe operation since any interruption can leave your entire database inaccessible. We only recommend using this option when interfacing with Linux GVFS services (e.g. Google Cloud on Gnome) and other types of storage services that host a virtual drive system.
In addition to these save options, KeePassXC can create a backup of your existing database file just prior to saving. This backup can be placed in a custom folder with a custom file naming scheme. In addition to these save options, KeePassXC can create a backup of your existing database file just prior to saving. This backup will be saved at the path specified in the *Backup destination* field. This path can be absolute or relative. The latter will be resolved according to the databases path. It is possible to specify a custom naming scheme with placeholders. See xref:UserGuide.adoc#_backup_path_placeholders[Backup Path Placeholders] for available placeholders and examples.
image::save_options.png[] image::save_options.png[]
// end::advanced[] // end::advanced[]
@@ -196,7 +196,7 @@ KeePassXC provides an enhanced and granular search features the enables you to s
|* |Term is handled as a regular expression |* |Term is handled as a regular expression
|=== |===
The following fields can be searched along with their abbreviated name in parenthesis: The following fields can be searched along with their abbreviated name in parentheses:
* Title (t) * Title (t)
* Username (u) * Username (u)
@@ -242,7 +242,7 @@ The following tables lists a few samples search queries for your reference:
== Advanced Entry Options == Advanced Entry Options
=== Additional Attributes === Additional Attributes
A lot of applications and web sites now require to provide additional information when you create accounts. The additional information is used to block hackers if any suspicious activity is detected. In addition, the additional information you provide can be used to reset passwords if you forget them. You can also store arbitrary information here that can be copied to the clipboard or Auto-Typed using the `{S:<ATTR_NAME>}` action code. A lot of applications and web sites now require providing additional information when you create accounts. The additional information is used to block hackers if any suspicious activity is detected. In addition, the additional information you provide can be used to reset passwords if you forget them. You can also store arbitrary information here that can be copied to the clipboard or Auto-Typed using the `{S:<ATTR_NAME>}` action code.
To protect an attribute from being displayed by default, activate the _Protect_ checkbox *(A)*. To show the contents of the attribute while keeping it protected, press the _Reveal_ button *(B)*. To protect an attribute from being displayed by default, activate the _Protect_ checkbox *(A)*. To show the contents of the attribute while keeping it protected, press the _Reveal_ button *(B)*.
@@ -332,7 +332,7 @@ image::database_settings.png[]
* *Max history items:* This is the maximum number of history items that are stored for each entry. When you set this to 0, no history will be saved. Set this value to a low value to prevent the database from getting too large (we recommend no more than 10). * *Max history items:* This is the maximum number of history items that are stored for each entry. When you set this to 0, no history will be saved. Set this value to a low value to prevent the database from getting too large (we recommend no more than 10).
* *Max. history size:* When the history of an entry gets above this size, it is truncated. For example, this happens when entries have large attachments. Set this value small to prevent the database from getting too large (we recommend 6 MiB). * *Max. history size:* When the history of an entry gets above this size, it is truncated. For example, this happens when entries have large attachments. Set this value small to prevent the database from getting too large (we recommend 6 MiB).
* *Use recycle bin:* Select this check-box if you want deleted entries to move to the recycle bin instead of being permanently removed. The recycle bin will be created if it does not already exist after your first deletion. To delete entries permanently, you must empty the recycle bin manually. * *Use recycle bin:* Select this check-box if you want deleted entries to move to the recycle bin instead of being permanently removed. The recycle bin will be created if it does not already exist after your first deletion. To delete entries permanently, you must empty the recycle bin manually.
* *Enable compression:* KeePassXC databases can be compressed before being encrypted. Compression reduces the size of the database and does not have any appreciable affect on speed. It is recommended to always save databases with compression. * *Enable compression:* KeePassXC databases can be compressed before being encrypted. Compression reduces the size of the database and does not have any appreciable affect on speed. It is recommended to always save databases with compression.
3. Click the Security button in the left-hand menu bar to change your database credentials and change encryption settings. 3. Click the Security button in the left-hand menu bar to change your database credentials and change encryption settings.
+ +
@@ -346,7 +346,7 @@ image::database_security_credentials.png[]
+ +
WARNING: Consider creating a backup of your YubiKey. Please refer to <<Creating a YubiKey backup>> WARNING: Consider creating a backup of your YubiKey. Please refer to <<Creating a YubiKey backup>>
5. Encryption settings allows you to change the average time it takes to encrypt and decrypt the database. The longer time that is chosen, the harder it will be to brute force attack your database. *We recommend a setting of one second.* 5. Encryption settings allow you to change the average time it takes to encrypt and decrypt the database. The longer time that is chosen, the harder it will be to brute force attack your database. *We recommend a setting of one second.*
+ +
.Database encryption .Database encryption
image::database_security_encryption.png[] image::database_security_encryption.png[]
@@ -362,7 +362,7 @@ The following key derivation functions are supported:
* AES-KDF (KDBX 4 and KDBX 3.1): This key derivation function is based on iterating AES. Users can change the number of iterations. The more iterations, the harder are dictionary and guessing attacks, but also database loading/saving takes more time (linearly). KDBX 3.1 only supports AES-KDF; any other key derivation function, like for instance Argon2, requires KDBX 4. * AES-KDF (KDBX 4 and KDBX 3.1): This key derivation function is based on iterating AES. Users can change the number of iterations. The more iterations, the harder are dictionary and guessing attacks, but also database loading/saving takes more time (linearly). KDBX 3.1 only supports AES-KDF; any other key derivation function, like for instance Argon2, requires KDBX 4.
* Argon2 (KDBX 4 - recommended): KDBX 4, the Argon2 key derivation function can be used for transforming the composite master key (as protection against dictionary attacks). The main advantage of Argon2 over AES-KDF is that it provides a better resistance against GPU/ASIC attacks (due to being a memory-hard function). The number of iterations scales linearly with the required time. By increasing the memory parameter, GPU/ASIC attacks become harder and the required time increases. The parallelism parameter can be used to specify how many threads should be used. We recommend using Argon2id to prevent against timing-based attacks. Argon2d offers maximum compatibility with other KeePass-based apps, the default settings provide sufficient protection against any known attacks. * Argon2 (KDBX 4 recommended): KDBX 4, the Argon2 key derivation function can be used for transforming the composite master key (as protection against dictionary attacks). The main advantage of Argon2 over AES-KDF is that it provides a better resistance against GPU/ASIC attacks (due to being a memory-hard function). The number of iterations scales linearly with the required time. By increasing the memory parameter, GPU/ASIC attacks become harder and the required time increases. The parallelism parameter can be used to specify how many threads should be used. We recommend using Argon2id to prevent against timing-based attacks. Argon2d offers maximum compatibility with other KeePass-based apps, the default settings provide sufficient protection against any known attacks.
== Database Maintenance == Database Maintenance
KeePassXC offers some maintenance features that can be applied to clean up your database. Navigate to _Database_ -> _Database settings_ then click on _Maintenance_ on the left hand panel. The following screen appears. On this screen you can delete multiple icons at once and purge any unused icons in your database. KeePassXC offers some maintenance features that can be applied to clean up your database. Navigate to _Database_ -> _Database settings_ then click on _Maintenance_ on the left hand panel. The following screen appears. On this screen you can delete multiple icons at once and purge any unused icons in your database.
@@ -395,9 +395,9 @@ The database file that you create might contain highly sensitive data and must b
Make sure that you or someone else does not accidentally delete the database file. Deletion of the database file will result in the total loss of all your information (including all your passwords!) and a lot of inconvenience to manually retrieve your logins for various web applications. Do not share the credentials to access your database file with anyone unless you absolutely trust them (spouse, child, etc.). Make sure that you or someone else does not accidentally delete the database file. Deletion of the database file will result in the total loss of all your information (including all your passwords!) and a lot of inconvenience to manually retrieve your logins for various web applications. Do not share the credentials to access your database file with anyone unless you absolutely trust them (spouse, child, etc.).
TIP: You can safely store your database file in the cloud (e.g., OneDrive, Dropbox, Google Drive, Nextcloud, Syncthing, etc). The database file is always fully encrypted; unencrypted data is never written to disk and is never accessible to your cloud storage provider. We recommend using a storage service that keeps automatic backups (version history) of your database file in the event of corruption or accidental deletion. TIP: You can safely store your database file in the cloud (OneDrive, Dropbox, Google Drive, Nextcloud, Syncthing, etc.). The database file is always fully encrypted; unencrypted data is never written to disk and is never accessible to your cloud storage provider. We recommend using a storage service that keeps automatic backups (version history) of your database file in the event of corruption or accidental deletion.
== Backing up a Database File == Backing up a Database File
It is a good practice to create copies of your database file and store the copies of your database on a different computer, smart phone, or cloud storage space such a Google Drive or Microsoft OneDrive. Backups can be created automatically by selecting the _Backup database file before saving_ option in the application settings. Additionally, you can create a backup on-demand using the _Database_ -> _Save Database Backup..._ menu feature. It is a good practice to create copies of your database file and store the copies of your database on a different computer, smart phone, or cloud storage space such a Google Drive or Microsoft OneDrive. Backups can be created automatically by selecting the _Backup database file before saving_ option in the application settings. Additionally, you can create a backup on-demand using the _Database_ -> _Save Database Backup..._ menu feature.
.Saving a database backup .Saving a database backup

View File

@@ -1,4 +1,4 @@
= KeePassXC - Download and Install = KeePassXC Download and Install
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
@@ -8,9 +8,9 @@ KeePassXC is available for download for the following operating systems and plat
* Microsoft Windows * Microsoft Windows
** Portable and MSI Installer (64-bit and 32-bit) ** Portable and MSI Installer (64-bit and 32-bit)
* Linux - Official Cross-Distribution Packages * Linux Official Cross-Distribution Packages
** AppImage and Snap Package ** AppImage and Snap Package
* Linux - Distribution-Specific Packages * Linux Distribution-Specific Packages
** Ubuntu, Debian, Arch Linux, Gentoo, Fedora, CentOS, and OpenSUSE ** Ubuntu, Debian, Arch Linux, Gentoo, Fedora, CentOS, and OpenSUSE
* macOS * macOS
** DMG Installer, Homebrew Cask ** DMG Installer, Homebrew Cask
@@ -45,9 +45,9 @@ image::install_wizard_2.png[,80%]
The following options can be set when running the MSI in an unattended installation: The following options can be set when running the MSI in an unattended installation:
* *LAUNCHAPPONEXIT* - Launch KeePassXC after install (default ON) * *LAUNCHAPPONEXIT* Launch KeePassXC after install (default ON)
* *AUTOSTARTPROGRAM* - KeePassXC will auto-start on login (default ON) * *AUTOSTARTPROGRAM* KeePassXC will auto-start on login (default ON)
* *INSTALLDESKTOPSHORTCUT* - A desktop icon will be installed (default OFF) * *INSTALLDESKTOPSHORTCUT* A desktop icon will be installed (default OFF)
Example: `msiexec.exe /q /i KeePassXC-Y.Y.Y-WinZZ.msi AUTOSTARTPROGRAM=0` Example: `msiexec.exe /q /i KeePassXC-Y.Y.Y-WinZZ.msi AUTOSTARTPROGRAM=0`
@@ -69,4 +69,4 @@ image::macos_install.png[,80%]
// end::content[] // end::content[]
// tag::advanced[] // tag::advanced[]
// end::advanced[] // end::advanced[]

View File

@@ -1,10 +1,10 @@
= KeePassXC - Import/Export Operations = KeePassXC Import/Export Operations
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
// tag::content[] // tag::content[]
== Importing External Databases == Importing External Databases
KeePassXC allows your to import external databases from the following options: KeePassXC allows you to import external databases from the following options:
* Comma-Separated Values (CSV) file * Comma-Separated Values (CSV) file
* 1Password OPVault * 1Password OPVault
@@ -55,7 +55,7 @@ To import a KeePass 1 database file in KeePassXC, perform the following steps:
6. The data from the `.kdb` file gets imported and converted to the new format, which is compatible with KeePassXC. You can now start using the new database file (`.kdbx`) in KeePassXC. 6. The data from the `.kdb` file gets imported and converted to the new format, which is compatible with KeePassXC. You can now start using the new database file (`.kdbx`) in KeePassXC.
== Exporting Databases == Exporting Databases
KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive. To export your database into the KDB XML format, you must use the KeePassXC CLI: `keepassxc-cli export <database.kdbx>`. KeePassXC supports multiple ways to export your database for transfer to another program or to print out and archive.
WARNING: Exporting your database will result in all of your passwords and sensitive information being stored in an unencrypted format. We do not recommend saving your exported database for long periods of time as that can cause a compromise of sensitive information. WARNING: Exporting your database will result in all of your passwords and sensitive information being stored in an unencrypted format. We do not recommend saving your exported database for long periods of time as that can cause a compromise of sensitive information.

View File

@@ -1,4 +1,4 @@
= KeePassXC - KeeShare = KeePassXC KeeShare
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
@@ -17,17 +17,17 @@ To use sharing, you need to enable it for the application.
image::keeshare_application_settings.png[] image::keeshare_application_settings.png[]
=== Sharing Credentials === Sharing Credentials
If you checked _Allow export_ in the Sharing settings you can now share a group of passwords. Sharing is always is defined on a particular group. If you enable sharing on a group, every entry under this group, and its children, are shared. If you enable sharing on the root node, **every password** inside your database gets shared! If you checked _Allow export_ in the Sharing settings you can now share a group of passwords. Sharing is always defined on a particular group. If you enable sharing on a group, every entry under this group, and its children, are shared. If you enable sharing on the root node, **every password** inside your database gets shared!
NOTE: KeeShare does not synchronize group structure after the initial share is created. At this time, KeeShare operates at the entry level; shared entries moved outside of a shared group are still synchronized. NOTE: KeeShare does not synchronize group structure after the initial share is created. At this time, KeeShare operates at the entry level; shared entries moved outside of a shared group are still synchronized.
1. Open the edit sheet on a group you want to share. 1. Open the edit sheet on a group you want to share.
2. Select the KeeShare category on the left toolbar. 2. Select the KeeShare category on the left toolbar.
3. Choose a sharing type: 3. Choose a sharing type:
a. *Inactive* - Disable sharing this group a. *Inactive* Disable sharing this group
b. *Import* - Read-only import of entries, merge changes b. *Import* Read-only import of entries, merge changes
c. *Export* - Write-only export of entries, no merge c. *Export* Write-only export of entries, no merge
d. *Synchronize* - Read/Write entries from the share, merge changes d. *Synchronize* Read/Write entries from the share, merge changes
4. Choose a path to store the shared credentials to. 4. Choose a path to store the shared credentials to.
5. The password to use for this share container. 5. The password to use for this share container.
@@ -45,7 +45,7 @@ A shared group shows a cloud icon badge over the group icon *(A)* and a banner i
image::keeshare_shared_group.png[] image::keeshare_shared_group.png[]
=== Technical Details and Limitations of Sharing === Technical Details and Limitations of Sharing
Sharing relies on the combination of file exports and imports as well as the synchronization mechanism provided by KeePassXC. Since the merge algorithm uses the history of entries to prevent data loss, this history must be enabled and have a sufficient size. Furthermore, the merge algorithm is location independent, therefore it does not matter if entries are moved outside of an import group. These entries will be updated none the less. Moving entries outside of export groups will prevent a further export of the entry, but it will not ensure that the already shared data will be removed from any client. Sharing relies on the combination of file exports and imports as well as the synchronization mechanism provided by KeePassXC. Since the merge algorithm uses the history of entries to prevent data loss, this history must be enabled and have a sufficient size. Furthermore, the merge algorithm is location independent, therefore it does not matter if entries are moved outside of an import group. These entries will be updated nonetheless. Moving entries outside of export groups will prevent a further export of the entry, but it will not ensure that the already shared data will be removed from any client.
KeeShare uses a custom certification mechanism to ensure that the source of the data is the expected one. This ensures that the data was exported by the signer but it is not possible to detect if someone replaced the data with an older version from a valid signer. To prevent this, the container could be placed at a location which is only writeable for valid signers. KeeShare uses a custom certification mechanism to ensure that the source of the data is the expected one. This ensures that the data was exported by the signer but it is not possible to detect if someone replaced the data with an older version from a valid signer. To prevent this, the container could be placed at a location which is only writeable for valid signers.
// end::content[] // end::content[]

View File

@@ -1,4 +1,4 @@
= KeePassXC - Keyboard Shortcuts = KeePassXC Keyboard Shortcuts
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
@@ -9,12 +9,15 @@ NOTE: On macOS please substitute `Ctrl` with `Cmd` (aka `⌘`).
|=== |===
|Action | Keyboard Shortcut |Action | Keyboard Shortcut
|Settings | Ctrl + ,
|Open Database | Ctrl + O |Open Database | Ctrl + O
|Save Database | Ctrl + S |Save Database | Ctrl + S
|Save Database As | Ctrl + Shift + S |Save Database As | Ctrl + Shift + S
|New Database | Ctrl + Shift + N |New Database | Ctrl + Shift + N
|Close Database | Ctrl + W ; Ctrl + F4 |Close Database | Ctrl + W ; Ctrl + F4
|Lock All Databases | Ctrl + L |Lock All Databases | Ctrl + L
|Database Settings | Ctrl + Shift + ,
|Database Reports | Ctrl + Shift + R
|Quit | Ctrl + Q |Quit | Ctrl + Q
|New Entry | Ctrl + N |New Entry | Ctrl + N
|Edit Entry | Enter ; Ctrl + E |Edit Entry | Enter ; Ctrl + E
@@ -25,6 +28,7 @@ NOTE: On macOS please substitute `Ctrl` with `Cmd` (aka `⌘`).
|Copy URL | Ctrl + U |Copy URL | Ctrl + U
|Open URL | Ctrl + Shift + U |Open URL | Ctrl + Shift + U
|Copy TOTP | Ctrl + T |Copy TOTP | Ctrl + T
|Copy Password and TOTP | Ctrl + Y
|Show TOTP | Ctrl + Shift + T |Show TOTP | Ctrl + Shift + T
|Trigger AutoType | Ctrl + Shift + V |Trigger AutoType | Ctrl + Shift + V
|Add key to SSH Agent | Ctrl + H |Add key to SSH Agent | Ctrl + H

View File

@@ -1,4 +1,4 @@
= KeePassXC - Password Generator = KeePassXC Password Generator
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images

View File

@@ -1,4 +1,4 @@
= KeePassXC - Reference = KeePassXC Reference
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
@@ -48,18 +48,18 @@ This section contains full details on advanced features available in KeePassXC.
|=== |===
=== Entry Cross-Reference === Entry Cross-Reference
A reference to another entry's field is possible using the short-hand syntax: A reference to another entry's field is possible using the shorthand syntax:
`{REF:&lt;FIELD&gt;@&lt;SEARCH_IN&gt;:&lt;SEARCH_TEXT&gt;}` `{REF:&lt;FIELD&gt;@&lt;SEARCH_IN&gt;:&lt;SEARCH_TEXT&gt;}`
`&lt;FIELD&gt;` and `&lt;SEARCH_IN&gt;` can be one of following: `&lt;FIELD&gt;` and `&lt;SEARCH_IN&gt;` can be one of following:
* T - Title * T Title
* U - Username * U Username
* P - Password * P Password
* A - URL * A URL
* N - Notes * N Notes
* I - UUID (found on entry properties page) * I UUID (found on entry properties page)
* O - Custom Attribute _(SEARCH_IN only)_ * O Custom Attribute _(SEARCH_IN only)_
Examples: + Examples: +
`{REF:U@I:033054D445C648C59092CC1D661B1B71}` + `{REF:U@I:033054D445C648C59092CC1D661B1B71}` +
@@ -100,4 +100,29 @@ Convert resolved placeholder (e.g., {USERNAME}, {PASSWORD}, etc.) using the foll
`{T-REPLACE-RX:/&lt;PLACEHOLDER&gt;/&lt;SEARCH&gt;/&lt;REPLACE&gt;/}` + `{T-REPLACE-RX:/&lt;PLACEHOLDER&gt;/&lt;SEARCH&gt;/&lt;REPLACE&gt;/}` +
Use regular expressions to find and replace data from a resolved placeholder. Refer to match groups using $1, $2, etc. Use regular expressions to find and replace data from a resolved placeholder. Refer to match groups using $1, $2, etc.
=== Backup Path Placeholders
[grid=rows, frame=none, width=90%]
|===
|Database Backup Path Placeholder |Description
|{DB_FILENAME} |The database's filename without extension
|{TIME} |The current time formatted as dd_MM_yyyy_hh-mm-ss.
|{TIME:<format>} |The current time formatted according to the format string specified by <format>. See https://doc.qt.io/qt-5/qtime.html#toString for a list of available placeholders.
|===
[grid=rows, frame=none, width=90%]
|===
|Backup path example |Location of backup(s)
|`{DB_FILENAME}-{TIME}.bak.kdbx` |`C:\Users\MyUsername\MyDatabase-02_01_2022_03-04-05.bak.kdbx` +
`C:\Users\MyUsername\MyDatabase-05_01_2022_12-10-00.bak.kdbx`
|`backups\\{DB_FILENAME}.bak.kdbx` |`C:\Users\MyUsername\backups\MyDatabase.bak.kdbx`
|`C:\Backups\{TIME:dd.MM.yyyy}\\{DB_FILENAME}.kdbx` |`C:\Backups\02.01.2022\MyDatabase.kdbx` +
`C:\Backups\05.01.2022\MyDatabase.kdbx`
|`C:\Backups\\{DB_FILENAME}\{TIME:MM-dd-yyyy}.kdbx` |`C:\Backups\MyDatabase\01-02-2022.kdbx` +
`C:\Backups\MyDatabase\01-05-2022.kdbx`
|===
// end::content[] // end::content[]

View File

@@ -1,9 +1,9 @@
= KeePassXC - SSH Agent = KeePassXC SSH Agent integration
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
// tag::content[] // tag::content[]
== SSH Agent == SSH Agent integration
SSH (Secure Shell) is a widely used remote secure shell protocol and is considered an industry standard for secure remote access to UNIX-like systems including Linux, BSDs, macOS and more recently even Windows received native support. SSH supports multiple types of authentication and the most widely used ones are either interactive keyboard input with a password or a public-key cryptography pair of keys. SSH (Secure Shell) is a widely used remote secure shell protocol and is considered an industry standard for secure remote access to UNIX-like systems including Linux, BSDs, macOS and more recently even Windows received native support. SSH supports multiple types of authentication and the most widely used ones are either interactive keyboard input with a password or a public-key cryptography pair of keys.
KeePassXC SSH Agent integration is built to manage SSH keys in a secure manner by either storing them completely within your KeePassXC database or by having only the decryption key of a key file that is stored elsewhere. SSH Agent integration _does not_ provide an agent itself but works as a client for any agent implementation that is OpenSSH compatible. KeePassXC SSH Agent integration is built to manage SSH keys in a secure manner by either storing them completely within your KeePassXC database or by having only the decryption key of a key file that is stored elsewhere. SSH Agent integration _does not_ provide an agent itself but works as a client for any agent implementation that is OpenSSH compatible.
@@ -173,7 +173,7 @@ The last step is to setup an entry to contain the SSH Agent settings and key fil
.SSH Agent Entry Settings Page .SSH Agent Entry Settings Page
image::sshagent_entry_settings.png[] image::sshagent_entry_settings.png[]
If you chose to not auto-load the key on database unlock, you can manually make the key available by using the context menu from the entry list. If you chose to not autoload the key on database unlock, you can manually make the key available by using the context menu from the entry list.
.SSH Agent Load Key from Context Menu .SSH Agent Load Key from Context Menu
image::sshagent_context_menu.png[] image::sshagent_context_menu.png[]

View File

@@ -1,22 +1,22 @@
= KeePassXC - Database Operations = KeePassXC Database Operations
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
// tag::content[] // tag::content[]
== Interface Overview == Interface Overview
=== Application Layout === Application Layout
The KeePassXC interface is designed for simplicity and easy access to your information. The main database view is split into three main partitions detailed below. You can open multiple databases at the same time, they will appear in tabs. The KeePassXC interface is designed for simplicity and easy access to your information. The main database view is split into four main partitions detailed below. You can open multiple databases at the same time, they will appear in tabs.
.Main database interface .Main database interface
image::main_interface.png[] image::main_interface.png[]
*(A) Groups* - Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children. You can hide this panel on the View menu. *(A) Groups* Organize your entries into discrete groups to bring order to all of your sensitive information. Groups can be nested under each other to create a hierarchy. Settings from parent groups get applied to their children. You can hide this panel on the View menu.
*(B) Tags* - Dynamic groups of entries that can be quickly displayed with one click. Any number of custom tags can be added when editing an entry. This panel also includes useful pre-defined searches, such as finding expired and weak passwords. *(B) Tags* Dynamic groups of entries that can be quickly displayed with one click. Any number of custom tags can be added when editing an entry. This panel also includes useful pre-defined searches, such as finding expired and weak passwords.
*\(C) Entries* - Entries contain all the information you want to store for a website or application you are storing in KeePassXC. This view shows all the entries in the selected group. Each column can be resized, reordered, and shown or hidden based on your preference. Right-click the header row to see all available options. *\(C) Entries* Entries contain all the information you want to store for a website or application you are storing in KeePassXC. This view shows all the entries in the selected group. Each column can be resized, reordered, and shown or hidden based on your preference. Right-click the header row to see all available options.
*(D) Preview* - Shows a preview of the selected group or entry. You can temporarily hide this preview using the close button on the right hand side or completely disabled in the application settings. *(D) Preview* Shows a preview of the selected group or entry. You can temporarily hide this preview using the close button on the right hand side or completely disabled in the application settings.
TIP: You can enable double-click copying of entry username and password in the Application Security Settings. This is turned off by default starting with version 2.7.0. TIP: You can enable double-click copying of entry username and password in the Application Security Settings. This is turned off by default starting with version 2.7.0.
@@ -26,10 +26,10 @@ The toolbar provides a quick way to perform common tasks with your database. Som
.Toolbar overview .Toolbar overview
image::toolbar.png[] image::toolbar.png[]
*(A) Database* - Open Database, Save Database, Lock Database + *(A) Database* Open Database, Save Database, Lock Database +
*(B) Entries* - Create Entry, Edit Entry, Delete Selected Entries + *(B) Entries* Create Entry, Edit Entry, Delete Selected Entries +
*\(C) Entry Data* - Copy Username, Copy Password, Copy URL, Perform Auto-Type + *\(C) Entry Data* Copy Username, Copy Password, Copy URL, Perform Auto-Type +
*(D) Tools* - Password Generator, Application Settings + *(D) Tools* Password Generator, Application Settings +
*(E) Search* *(E) Search*
=== Application Settings === Application Settings
@@ -59,7 +59,7 @@ You can use the following command line options to tailor the application to your
---- ----
Usage: keepassxc.exe [options] [filename(s)] Usage: keepassxc.exe [options] [filename(s)]
KeePassXC - cross-platform password manager KeePassXC cross-platform password manager
Options: Options:
-?, -h, --help Displays help on commandline options. -?, -h, --help Displays help on commandline options.
@@ -85,6 +85,7 @@ Additionally, the following environment variables may be useful when running the
|KPXC_CONFIG | Override default path to roaming configuration file |KPXC_CONFIG | Override default path to roaming configuration file
|KPXC_CONFIG_LOCAL | Override default path to local configuration file |KPXC_CONFIG_LOCAL | Override default path to local configuration file
|KPXC_INITIAL_DIR | Override initial location picking for databases
|SSH_AUTH_SOCKET | Path of the unix file socket that the agent uses for communication with other processes (SSH Agent) |SSH_AUTH_SOCKET | Path of the unix file socket that the agent uses for communication with other processes (SSH Agent)
|QT_SCALE_FACTOR [numeric] | Defines a global scale factor for the whole application, including point-sized fonts. |QT_SCALE_FACTOR [numeric] | Defines a global scale factor for the whole application, including point-sized fonts.
|QT_SCREEN_SCALE_FACTORS [list] | Specifies scale factors for each screen. See https://doc.qt.io/qt-5/highdpi.html#high-dpi-support-in-qt |QT_SCREEN_SCALE_FACTORS [list] | Specifies scale factors for each screen. See https://doc.qt.io/qt-5/highdpi.html#high-dpi-support-in-qt

View File

@@ -1,4 +1,4 @@
= KeePassXC - Welcome = KeePassXC Welcome
include::.sharedheader[] include::.sharedheader[]
:imagesdir: ../images :imagesdir: ../images
@@ -9,7 +9,7 @@ KeePassXC is a modern, secure, and open-source password manager that stores and
KeePassXC is for people with extremely high demands of secure personal data management. It saves many different types of information, such as usernames, passwords, URLs, attachments, and notes in an offline, encrypted file that can be stored in any location, including private and public cloud solutions. For easy identification and management, user-defined titles and icons can be specified for entries. In addition, entries are sorted in customizable groups. An integrated search function allows you to use advanced patterns to easily find any entry in your database. A customizable, fast, and easy-to-use password generator utility allows you to create passwords with any combination of characters or easy to remember passphrases. KeePassXC is for people with extremely high demands of secure personal data management. It saves many different types of information, such as usernames, passwords, URLs, attachments, and notes in an offline, encrypted file that can be stored in any location, including private and public cloud solutions. For easy identification and management, user-defined titles and icons can be specified for entries. In addition, entries are sorted in customizable groups. An integrated search function allows you to use advanced patterns to easily find any entry in your database. A customizable, fast, and easy-to-use password generator utility allows you to create passwords with any combination of characters or easy to remember passphrases.
=== Overview === Overview
You can store an unlimited number of passwords and information in a KeePassXC database. Every piece of information you store in your database is encrypted at all times within the `kdbx` file. When you are accessing your database from within KeePassXC, your information in decrypted and stored in your computer's memory. KeePassXC places controls over the access to this data so other applications cannot read it (unless they have administrative rights). The interface is designed to let you quickly access your passwords, search for the right entry, perform Auto-Type or copy/paste operations, make and save changes, and then get out of your way. You can store an unlimited number of passwords and information in a KeePassXC database. Every piece of information you store in your database is encrypted at all times within the `kdbx` file. When you are accessing your database from within KeePassXC, your information is decrypted and stored in your computer's memory. KeePassXC places controls over the access to this data so other applications cannot read it (unless they have administrative rights). The interface is designed to let you quickly access your passwords, search for the right entry, perform Auto-Type or copy/paste operations, make and save changes, and then get out of your way.
KeePassXC ships with light and dark themes specifically designed to meet accessibility standards. In most cases, the appropriate theme for your system will be determined automatically, but you can always set a specific theme in the application settings. KeePassXC ships with light and dark themes specifically designed to meet accessibility standards. In most cases, the appropriate theme for your system will be determined automatically, but you can always set a specific theme in the application settings.
@@ -45,4 +45,4 @@ KeePassXC has numerous features for novice and power users alike. This guide wil
** Additional encryption choices: Twofish and ChaCha20 ** Additional encryption choices: Twofish and ChaCha20
// end::content[] // end::content[]
// tag::advanced[] // tag::advanced[]
// end::advanced[] // end::advanced[]

View File

@@ -51,7 +51,7 @@ BUILD_PLUGINS="all"
INSTALL_PREFIX="/usr/local" INSTALL_PREFIX="/usr/local"
ORIG_BRANCH="" ORIG_BRANCH=""
ORIG_CWD="$(pwd)" ORIG_CWD="$(pwd)"
MACOSX_DEPLOYMENT_TARGET=10.13 MACOSX_DEPLOYMENT_TARGET=10.15
TIMESTAMP_SERVER="http://timestamp.sectigo.com" TIMESTAMP_SERVER="http://timestamp.sectigo.com"
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
@@ -883,7 +883,6 @@ build() {
fi fi
fi fi
OUTPUT_DIR="$(realpath "$OUTPUT_DIR")"
if ! ${build_snapshot} && [ -d "$OUTPUT_DIR" ]; then if ! ${build_snapshot} && [ -d "$OUTPUT_DIR" ]; then
exitError "Output dir '${OUTPUT_DIR}' already exists." exitError "Output dir '${OUTPUT_DIR}' already exists."
fi fi
@@ -892,6 +891,7 @@ build() {
if ! mkdir -p "$OUTPUT_DIR"; then if ! mkdir -p "$OUTPUT_DIR"; then
exitError "Failed to create output directory!" exitError "Failed to create output directory!"
fi fi
OUTPUT_DIR="$(realpath "$OUTPUT_DIR")"
if ${build_source_tarball}; then if ${build_source_tarball}; then
logInfo "Creating source tarball..." logInfo "Creating source tarball..."
@@ -930,6 +930,13 @@ build() {
# linuxdeploy requires /usr as install prefix # linuxdeploy requires /usr as install prefix
INSTALL_PREFIX="/usr" INSTALL_PREFIX="/usr"
fi fi
if [ -n "$OS_MACOS" ]; then
type brew &> /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALL_PREFIX=$(brew --prefix)
fi
fi
# Do not build tests cases # Do not build tests cases
CMAKE_OPTIONS="${CMAKE_OPTIONS} -DWITH_TESTS=OFF" CMAKE_OPTIONS="${CMAKE_OPTIONS} -DWITH_TESTS=OFF"
@@ -1404,8 +1411,8 @@ i18n() {
if ! command -v $LUPDATE > /dev/null; then if ! command -v $LUPDATE > /dev/null; then
LUPDATE=lupdate LUPDATE=lupdate
fi fi
$LUPDATE -no-ui-lines -disable-heuristic similartext -locations none -no-obsolete src \ $LUPDATE -no-ui-lines -disable-heuristic similartext -locations none -extensions c,cpp,h,js,mm,qrc,ui \
-ts share/translations/keepassxc_en.ts $@ -no-obsolete src -ts share/translations/keepassxc_en.ts $@
return 0 return 0
fi fi

View File

@@ -10,7 +10,7 @@ Commands:
.NOTES .NOTES
The following are descriptions of certain parameters: The following are descriptions of certain parameters:
-Vcpkg Specify VCPKG toolchain file (example: C:\vcpkg\scripts\buildsystems\vcpkg.cmake) -Vcpkg Specify VCPKG toolchain location (example: C:\vcpkg)
-Tag Release tag to check out (defaults to version number) -Tag Release tag to check out (defaults to version number)
-Snapshot Build current HEAD without checkout out Tag -Snapshot Build current HEAD without checkout out Tag
-CMakeGenerator Override the default CMake generator -CMakeGenerator Override the default CMake generator
@@ -284,14 +284,14 @@ if ($Merge) {
# Update translation files # Update translation files
Write-Host "Updating source translation file..." Write-Host "Updating source translation file..."
Invoke-Cmd "lupdate" "-no-ui-lines -disable-heuristic similartext -locations none", ` Invoke-Cmd "lupdate" "-no-ui-lines -disable-heuristic similartext -locations none", `
"-no-obsolete ./src -ts share/translations/keepassxc_en.ts" "-extensions c,cpp,h,js,mm,qrc,ui -no-obsolete ./src -ts share/translations/keepassxc_en.ts"
Write-Host "Pulling updated translations from Transifex..." Write-Host "Pulling updated translations from Transifex..."
Invoke-Cmd "tx" "pull -af --minimum-perc=60 --parallel -r keepassxc.share-translations-keepassxc-en-ts--develop" Invoke-Cmd "tx" "pull -af --minimum-perc=60 --parallel -r keepassxc.share-translations-keepassxc-en-ts--develop"
# Only commit if there are changes # Only commit if there are changes
& git diff-index --quiet HEAD -- $changes = & git status --porcelain
if ($LASTEXITCODE) { if ($changes.Length -gt 0) {
Write-Host "Committing translation updates..." Write-Host "Committing translation updates..."
Invoke-Cmd "git" "add -A ./share/translations/" -quiet Invoke-Cmd "git" "add -A ./share/translations/" -quiet
Invoke-Cmd "git" "commit -m `"Update translations`"" -quiet Invoke-Cmd "git" "commit -m `"Update translations`"" -quiet
@@ -313,7 +313,10 @@ if ($Merge) {
} }
Write-Host "Creating tag for '$Version'..." Write-Host "Creating tag for '$Version'..."
Invoke-Cmd "git" "tag -a `"$Version`" -m `"Release $Version`" -m `"$Changelog`" -s" -quiet $tmp = New-TemporaryFile
"Release $Version`n$Changelog" | Out-File $tmp.FullName
Invoke-Cmd "git" "tag -a `"$Version`" -F `"$tmp`" -s" -quiet
Remove-Item $tmp.FullName -Force
Write-Host "Moving latest tag..." Write-Host "Moving latest tag..."
Invoke-Cmd "git" "tag -f -a `"latest`" -m `"Latest stable release`" -s" -quiet Invoke-Cmd "git" "tag -f -a `"latest`" -m `"Latest stable release`" -s" -quiet
@@ -322,7 +325,7 @@ if ($Merge) {
Write-Host "Please merge the release branch back into the develop branch now and then push your changes." Write-Host "Please merge the release branch back into the develop branch now and then push your changes."
Write-Host "Don't forget to also push the tags using 'git push --tags'." Write-Host "Don't forget to also push the tags using 'git push --tags'."
} elseif ($Build) { } elseif ($Build) {
$Vcpkg = (Resolve-Path $Vcpkg).Path $Vcpkg = (Resolve-Path "$Vcpkg/scripts/buildsystems/vcpkg.cmake").Path
# Find Visual Studio and establish build environment # Find Visual Studio and establish build environment
Invoke-VSToolchain $VSToolChain $SourceDir -Arch "amd64" Invoke-VSToolchain $VSToolChain $SourceDir -Arch "amd64"
@@ -333,7 +336,7 @@ if ($Merge) {
$Tag = "HEAD" $Tag = "HEAD"
$SourceBranch = & git rev-parse --abbrev-ref HEAD $SourceBranch = & git rev-parse --abbrev-ref HEAD
$ReleaseName = "$Version-snapshot" $ReleaseName = "$Version-snapshot"
$CMakeOptions = "$CMakeOptions -DKEEPASSXC_BUILD_TYPE=Snapshot -DOVERRIDE_VERSION=`"$ReleaseName`"" $CMakeOptions = "-DKEEPASSXC_BUILD_TYPE=Snapshot -DOVERRIDE_VERSION=`"$ReleaseName`" $CMakeOptions"
Write-Host "Using current branch '$SourceBranch' to build." -ForegroundColor Cyan Write-Host "Using current branch '$SourceBranch' to build." -ForegroundColor Cyan
} else { } else {
Test-WorkingTreeClean Test-WorkingTreeClean
@@ -344,9 +347,9 @@ if ($Merge) {
} }
if ($Version -match "-beta\d*$") { if ($Version -match "-beta\d*$") {
$CMakeOptions = "$CMakeOptions -DKEEPASSXC_BUILD_TYPE=PreRelease" $CMakeOptions = "-DKEEPASSXC_BUILD_TYPE=PreRelease $CMakeOptions"
} else { } else {
$CMakeOptions = "$CMakeOptions -DKEEPASSXC_BUILD_TYPE=Release" $CMakeOptions = "-DKEEPASSXC_BUILD_TYPE=Release $CMakeOptions"
} }
# Setup Tag if not defined then checkout tag # Setup Tag if not defined then checkout tag
@@ -368,11 +371,11 @@ if ($Merge) {
Set-Location "$BuildDir" Set-Location "$BuildDir"
# Setup CMake options # Setup CMake options
$CMakeOptions = "$CMakeOptions -DWITH_XC_ALL=ON -DWITH_TESTS=OFF -DCMAKE_BUILD_TYPE=Release" $CMakeOptions = "-DWITH_XC_ALL=ON -DWITH_TESTS=OFF -DCMAKE_BUILD_TYPE=Release $CMakeOptions"
$CMakeOptions = "$CMakeOptions -DCMAKE_TOOLCHAIN_FILE:FILEPATH=`"$Vcpkg`" -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON" $CMakeOptions = "-DCMAKE_TOOLCHAIN_FILE:FILEPATH=`"$Vcpkg`" -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON $CMakeOptions"
Write-Host "Configuring build..." -ForegroundColor Cyan Write-Host "Configuring build..." -ForegroundColor Cyan
Invoke-Cmd "cmake" "$CMakeOptions -G `"$CMakeGenerator`" `"$SourceDir`"" Invoke-Cmd "cmake" "-G `"$CMakeGenerator`" $CMakeOptions `"$SourceDir`""
Write-Host "Compiling sources..." -ForegroundColor Cyan Write-Host "Compiling sources..." -ForegroundColor Cyan
Invoke-Cmd "cmake" "--build . --config Release -- $MakeOptions" Invoke-Cmd "cmake" "--build . --config Release -- $MakeOptions"
@@ -424,109 +427,172 @@ if ($Merge) {
} }
# SIG # Begin signature block # SIG # Begin signature block
# MIIThAYJKoZIhvcNAQcCoIITdTCCE3ECAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # MIIfXAYJKoZIhvcNAQcCoIIfTTCCH0kCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUyaXWK5K1LP2TD/IgGb5Tfs8v # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCyL72KYcPC3xiu
# C2GgghC8MIIFOjCCBCKgAwIBAgIQWKLXLYzA/YnM/yHg1O3HSjANBgkqhkiG9w0B # XNxyDy0dxda/uihakmlcLUtXbyvnkaCCGSAwggU6MIIEIqADAgECAhBYotctjMD9
# AQsFADB8MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy # icz/IeDU7cdKMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAkdCMRswGQYDVQQI
# MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAi # ExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoT
# BgNVBAMTG1NlY3RpZ28gUlNBIENvZGUgU2lnbmluZyBDQTAeFw0yMTAzMTUwMDAw # D1NlY3RpZ28gTGltaXRlZDEkMCIGA1UEAxMbU2VjdGlnbyBSU0EgQ29kZSBTaWdu
# MDBaFw0yNDAzMTQyMzU5NTlaMIGhMQswCQYDVQQGEwJVUzEOMAwGA1UEEQwFMjIz # aW5nIENBMB4XDTIxMDMxNTAwMDAwMFoXDTI0MDMxNDIzNTk1OVowgaExCzAJBgNV
# MTUxETAPBgNVBAgMCFZpcmdpbmlhMRIwEAYDVQQHDAlGcmFuY29uaWExGzAZBgNV # BAYTAlVTMQ4wDAYDVQQRDAUyMjMxNTERMA8GA1UECAwIVmlyZ2luaWExEjAQBgNV
# BAkMEjY2NTMgQXVkcmV5IEtheSBDdDEeMBwGA1UECgwVRHJvaWRNb25rZXkgQXBw # BAcMCUZyYW5jb25pYTEbMBkGA1UECQwSNjY1MyBBdWRyZXkgS2F5IEN0MR4wHAYD
# cywgTExDMR4wHAYDVQQDDBVEcm9pZE1vbmtleSBBcHBzLCBMTEMwggEiMA0GCSqG # VQQKDBVEcm9pZE1vbmtleSBBcHBzLCBMTEMxHjAcBgNVBAMMFURyb2lkTW9ua2V5
# SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwB9L/+1zlcXOQLoYvdrYAWS9B5ui+7E9c # IEFwcHMsIExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALAH0v/7
# XCn6wcB4NdmaRbNM3kdWc8nbjOOHeOct2jVzVu/pJR1SagI+V1R1BfzgfzuW55Yy # XOVxc5Auhi92tgBZL0Hm6L7sT1xcKfrBwHg12ZpFs0zeR1ZzyduM44d45y3aNXNW
# iHrqXQGfL9xhqJAWSvdQRinvlkZ+WY3QxnOhzcQk+BTLYdUwq04O3jMv7vnH6fuL # 7+klHVJqAj5XVHUF/OB/O5bnljKIeupdAZ8v3GGokBZK91BGKe+WRn5ZjdDGc6HN
# q/HXEsgDObZC7EyKEtVbWVo4nqY0tUTviJXvRI/sFDN8DvULefwZWIvF7G11NFeK # xCT4FMth1TCrTg7eMy/u+cfp+4ur8dcSyAM5tkLsTIoS1VtZWjiepjS1RO+Ile9E
# It24+hDCzvVBKtEn7DNmFGO1CJAB7Sz4jFewV4MP1gviMAfGbSBqavyRDBOG7eda # j+wUM3wO9Qt5/BlYi8XsbXU0V4oi3bj6EMLO9UEq0SfsM2YUY7UIkAHtLPiMV7BX
# SVb1Zq482yoHNAs+mpIQK2SGvUKKAJK2wCDbzgpvu5sfzwStpc0hAgMBAAGjggGQ # gw/WC+IwB8ZtIGpq/JEME4bt51pJVvVmrjzbKgc0Cz6akhArZIa9QooAkrbAINvO
# MIIBjDAfBgNVHSMEGDAWgBQO4TqoUzox1Yq+wbutZxoDha00DjAdBgNVHQ4EFgQU # Cm+7mx/PBK2lzSECAwEAAaOCAZAwggGMMB8GA1UdIwQYMBaAFA7hOqhTOjHVir7B
# 7u2WZ7fqJiaM3u9SlzAwGBhoWH0wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQC # u61nGgOFrTQOMB0GA1UdDgQWBBTu7ZZnt+omJoze71KXMDAYGGhYfTAOBgNVHQ8B
# MAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJYIZIAYb4QgEBBAQDAgQQMEoGA1Ud # Af8EBAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDAzARBglg
# IARDMEEwNQYMKwYBBAGyMQECAQMCMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2Vj # hkgBhvhCAQEEBAMCBBAwSgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwIwJTAjBggr
# dGlnby5jb20vQ1BTMAgGBmeBDAEEATBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8v # BgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQBMEMGA1Ud
# Y3JsLnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDb2RlU2lnbmluZ0NBLmNybDBzBggr # HwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNv
# BgEFBQcBAQRnMGUwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jcnQuc2VjdGlnby5jb20v # ZGVTaWduaW5nQ0EuY3JsMHMGCCsGAQUFBwEBBGcwZTA+BggrBgEFBQcwAoYyaHR0
# U2VjdGlnb1JTQUNvZGVTaWduaW5nQ0EuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8v # cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ29kZVNpZ25pbmdDQS5jcnQw
# b2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAD2w/Tt5KyPbX2M+h # IwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0GCSqGSIb3DQEB
# WVwgqpKm42nk6aN2HvSp+KWlrB2t+ziL+1IRXwq7S0V7p2e1ZK8uXLzBjUDVGjBc # CwUAA4IBAQAPbD9O3krI9tfYz6FZXCCqkqbjaeTpo3Ye9Kn4paWsHa37OIv7UhFf
# ugh5hGG95MGVltxCJrr/bk1He62L7MwVxfH5b5MrE/vC/cHcSxEB1AZwZxYKjDPf # CrtLRXunZ7Vkry5cvMGNQNUaMFy6CHmEYb3kwZWW3EImuv9uTUd7rYvszBXF8flv
# R81biDVch++XeKmvUxfT4XGo7McJqT4K/TcLwijSb/AWsXR+r2BXEAqgsoG37kk/ # kysT+8L9wdxLEQHUBnBnFgqMM99HzVuINVyH75d4qa9TF9PhcajsxwmpPgr9NwvC
# fbPKimpJ07hxd/RNYVpE33E93zCQ1Tjc1tP3DaLq8cpS6jGUY5NNOzRgp2mGcGHy # KNJv8BaxdH6vYFcQCqCygbfuST99s8qKaknTuHF39E1hWkTfcT3fMJDVONzW0/cN
# lv6Q/xf45qNvHiqFVctdvY9of0QFjg5eYDr4rLDa+mks9f1Jd8aDWKcsfCBnlohT # ourxylLqMZRjk007NGCnaYZwYfKW/pD/F/jmo28eKoVVy129j2h/RAWODl5gOvis
# KIffbTCCBYEwggRpoAMCAQICEDlyRDr5IrdR19NsEN0xNZUwDQYJKoZIhvcNAQEM # sNr6aSz1/Ul3xoNYpyx8IGeWiFMoh99tMIIF9TCCA92gAwIBAgIQHaJIMG+bJhjQ
# BQAwezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQ # guCWfTPTajANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# MA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAf # Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg
# BgNVBAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0xOTAzMTIwMDAwMDBa # VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlm
# Fw0yODEyMzEyMzU5NTlaMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEpl # aWNhdGlvbiBBdXRob3JpdHkwHhcNMTgxMTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5
# WjB8MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAw
# DgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAiBgNV
# BAMTG1NlY3RpZ28gUlNBIENvZGUgU2lnbmluZyBDQTCCASIwDQYJKoZIhvcNAQEB
# BQADggEPADCCAQoCggEBAIYijTKFehifSfCWL2MIHi3cfJ8Uz+MmtiVmKUCGVEZ0
# MWLFEO2yhyemmcuVMMBW9aR1xqkOUGKlUZEQauBLYq798PgYrKf/7i4zIPoMGYmo
# bHutAMNhodxpZW0fbieW15dRhqb0J+V8aouVHltg1X7XFpKcAC9o95ftanK+ODtj
# 3o+/bkxBXRIgCFnoOc2P0tbPBrRXBbZOoT5Xax+YvMRi1hsLjcdmG0qfnYHEckC1
# 4l/vC0X/o84Xpi1VsLewvFRqnbyNVlPG8Lp5UEks9wO5/i9lNfIi6iwHr0bZ+UYc
# 3Ix8cSjz/qfGFN1VkW6KEQ3fBiSVfQ+noXw62oY1YdMCAwEAAaOCAWQwggFgMB8G
# A1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQO4TqoUzox
# 1Yq+wbutZxoDha00DjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIB
# ADAdBgNVHSUEFjAUBggrBgEFBQcDAwYIKwYBBQUHAwgwEQYDVR0gBAowCDAGBgRV
# HSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V
# U0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2BggrBgEFBQcB
# AQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VS
# VHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3Au
# dXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEATWNQ7Uc0SmGk295qKoyb
# 8QAAHh1iezrXMsL2s+Bjs/thAIiaG20QBwRPvrjqiXgi6w9G7PNGXkBGiRL0C3da
# nCpBOvzW9Ovn9xWVM8Ohgyi33i/klPeFM4MtSkBIv5rCT0qxjyT0s4E307dksKYj
# alloUkJf/wTr4XRleQj1qZPea3FAmZa6ePG5yOLDCBaxq2NayBWAbXReSnV+pbjD
# bLXP30p5h1zHQE1jNfYw08+1Cg4LBH+gS667o6XQhACTPlNdNKUANWlsvp8gJRAN
# GftQkGG+OY96jk32nw4e/gdREmaDJhlIlc5KycF/8zoFm/lv34h/wCOe0h5DekUx
# wZxNqfBZslkZ6GqNKQQCd3xLS81wvjqyVVp4Pry7bwMQJXcVNIr5NsxDkuS6T/Fi
# kyglVyn7URnHoSVAaoRXxrKdsbwcCtp8Z359LukoTBh+xHsxQXGaSynsCz1XUNLK
# 3f2eBVHlRHjdAd6xdZgNVCT98E7j4viDvXK6yz067vBeF5Jobchh+abxKgoLpbn0
# nu6YMgWFnuv5gynTxix9vTp3Los3QqBqgu07SqqUEKThDfgXxbZaeTMYkuO1dfih
# 6Y4KJR7kHvGfWocj/5+kUZ77OYARzdu1xKeogG/lU9Tg46LC0lsa+jImLWpXcBw8
# pFguo/NbSwfcMlnzh6cabVgwggbsMIIE1KADAgECAhAwD2+s3WaYdHypRjaneC25
# MA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEpl
# cnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJV # cnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJV
# U1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9u # U1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9u
# IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIASZRc2 # IEF1dGhvcml0eTAeFw0xOTA1MDIwMDAwMDBaFw0zODAxMTgyMzU5NTlaMH0xCzAJ
# DsPbCLPQrFcNdu3NJ9NMrVCDYeKqIE0JLWQJ3M6Jn8w9qez2z8Hc8dOx1ns3KBEr # BgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcT
# R9o5xrw6GbRfpr19naNjQrZ28qk7K5H44m/Q7BYgkAk+4uh0yRi0kdRiZNt/owbx # B1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDElMCMGA1UEAxMcU2Vj
# iBhqkCI8vP4T8IcUe/bkH47U5FHGEWdGCFHLhhRUP7wz/n5snP8WnRi9UY41pqdm # dGlnbyBSU0EgVGltZSBTdGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# yHJn2yFmsdSbeAPAUDrozPDcvJ5M/q8FljUfV1q3/875PbcstvZU3cjnEjpNrkyK # ADCCAgoCggIBAMgbAa/ZLH6ImX0BmD8gkL2cgCFUk7nPoD5T77NawHbWGgSlzkeD
# t1yatLcgPcp/IjSufjtoZgFE5wFORlObM2D3lL5TN5BzQ/Myw1Pv26r+dE5px2uM # tevEzEk0y/NFZbn5p2QWJgn71TJSeS7JY8ITm7aGPwEFkmZvIavVcRB5h/RGKs3E
# YJPexMcM3+EyrsyTO1F4lWeL7j1W/gzQaQ8bD/MlJmszbfduR/pzQ+V+DqVmsSl8 # Wsnb111JTXJWD9zJ41OYOioe/M5YSdO/8zm7uaQjQqzQFcN/nqJc1zjxFrJw06PE
# MoRjVYnEDcGTVDAZE6zTfTen6106bDVc20HXEtqpSQvf2ICKCZNijrVmzyWIzYS4 # 37PFcqwuCnf8DZRSt/wflXMkPQEovA8NT7ORAY5unSd1VdEXOzQhe5cBlK9/gM/R
# sT+kOQ/ZAp7rEkyVfPNrBaleFoPMuGfi6BOdzFuC00yz7Vv/3uVzrCM7LQC/NVV0 # EQpXhMl/VuC9RpyCvpSdv7QgsGB+uE31DT/b0OqFjIpWcdEtlEzIjDzTFKKcvSb/
# CUnYSVgaf5I25lGSDvMmfRxNF7zJ7EMm0L9BX0CpRET0medXh55QH1dUqD79dGMv # 01Mgx2Bpm1gKVPQF5/0xrPnIhRfHuCkZpCkvRuPd25Ffnz82Pg4wZytGtzWvlr7a
# sVBlCeZYQi5DGky08CVHWfoEHpPUJkZKUIGy3r54t/xnFeHJV4QeD2PW6WK61l9V # TGDMqLufDRTUGMQwmHSCIc9iVrUhcxIe/arKCFiHd6QV6xlV/9A5VC0m7kUaOm/N
# LupcxigIBCU5uA4rqfJMlxwHPw1S9e3vL4IPAgMBAAGjgfIwge8wHwYDVR0jBBgw # 14Tw1/AoxU9kgwLU++Le8bwCKPRt2ieKBtKWh97oaw7wW33pdmmTIBxKlyx3GSuT
# FoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYEFFN5v1qqK0rPVIDh2JvA # lZicl57rjsF4VsZEJd8GEpoGLZ8DXv2DolNnyrH6jaFkyYiSWcuoRsDJ8qb/fVfb
# nfKyA2bLMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MBEGA1UdIAQK # Enb6ikEk1Bv8cqUUotStQxykSYtBORQDHin6G6UirqXDTYLQjdprt9v3GEBXc/Bx
# MAgwBgYEVR0gADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2Nh # o/tKfUU2wfeNgvq5yQ1TgH36tjlYMu9vGFCJ10+dM70atZ2h3pVBeqeDAgMBAAGj
# LmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDA0BggrBgEFBQcBAQQoMCYw # ggFaMIIBVjAfBgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4E
# JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNvbTANBgkqhkiG9w0B # FgQUGqH4YRkgD8NBd0UojtE1XwYSBFUwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB
# AQwFAAOCAQEAGIdR3HQhPZyK4Ce3M9AuzOzw5steEd4ib5t1jp5y/uTW/qofnJYt # /wQIMAYBAf8CAQAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwEQYDVR0gBAowCDAGBgRV
# 7wNKfq70jW9yPEM7wD/ruN9cqqnGrvL82O6je0P2hjZ8FODN9Pc//t64tIrwkZb+ # HSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V
# /UNkfv3M0gGhfX34GRnJQisTv1iLuqSiZgR2iJFODIkUzqJNyTKzuugUGrxx8Vvw # U0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2BggrBgEFBQcB
# QQuYAAoiAxDlDLH5zZI3Ge078eQ6tvlFEyZ1r7uq7z97dzvSxAKRPRkA0xdcOds/ # AQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VS
# exgNRc2ThZYvXd9ZFk8/Ub3VRRg/7UqO6AZhdCMWtQ1QcydER38QXYkqa4UxFMTo # VHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3Au
# qWpMgLxqeM+4f452cpkMnf7XkQgWoaNflTCCBfUwggPdoAMCAQICEB2iSDBvmyYY # dXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAbVSBpTNdFuG1U4GRdd8D
# 0ILgln0z02owDQYJKoZIhvcNAQEMBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI # ejILLSWEEbKw2yp9KgX1vDsn9FqguUlZkClsYcu1UNviffmfAO9Aw63T4uRW+VhB
# EwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhl # z/FC5RB9/7B0H4/GXAn5M17qoBwmWFzztBEP1dXD4rzVWHi/SHbhRGdtj7BDEA+N
# IFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRp # 5Pk4Yr8TAcWFo0zFzLJTMJWk1vSWVgi4zVx/AZa+clJqO0I3fBZ4OZOTlJux3LJt
# ZmljYXRpb24gQXV0aG9yaXR5MB4XDTE4MTEwMjAwMDAwMFoXDTMwMTIzMTIzNTk1 # QW1nzclvkD1/RXLBGyPWwlWEZuSzxWYG9vPWS16toytCiiGS/qhvWiVwYoFzY16g
# OVowfDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQ # u9jc10rTPa+DBjgSHSSHLeT8AtY+dwS8BDa153fLnC6NIxi5o8JHHfBd1qFzVwVo
# MA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYD # mqfJN2Udvuq82EKDQwWli6YJ/9GhlKZOqj0J9QVst9JkWtgqIsJLnfE5XkzeSD2b
# VQQDExtTZWN0aWdvIFJTQSBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEB # NJaaCV+O/fexUpHOP4n2HKG1qXUfcb9bQ11lPVCBbqvw0NP8srMftpmWJvQ8eYtc
# AQUAA4IBDwAwggEKAoIBAQCGIo0yhXoYn0nwli9jCB4t3HyfFM/jJrYlZilAhlRG # ZMzN7iea5aDADHKHwW5NWtMe6vBE5jJvHOsXTpTDeGUgOw9Bqh/poUGd/rG4oGUq
# dDFixRDtsocnppnLlTDAVvWkdcapDlBipVGREGrgS2Ku/fD4GKyn/+4uMyD6DBmJ # NODeqPk85sEwu8CgYyz8XBYAqNDEf+oRnR4GxqZtMl20OAkrSQeq/eww2vGnL8+3
# qGx7rQDDYaHcaWVtH24nlteXUYam9CflfGqLlR5bYNV+1xaSnAAvaPeX7Wpyvjg7 # /frQo4TZJ577AWZ3uVYQ4SBuxq6x+ba6yDVdM3aO8XwgDCp3rrWiAoa6Ke60WgCx
# Y96Pv25MQV0SIAhZ6DnNj9LWzwa0VwW2TqE+V2sfmLzEYtYbC43HZhtKn52BxHJA # jKvj+QrJVF3UuWp0nr1Irpgwggb1MIIE3aADAgECAhA5TCXhfKBtJ6hl4jvZHSLU
# teJf7wtF/6POF6YtVbC3sLxUap28jVZTxvC6eVBJLPcDuf4vZTXyIuosB69G2flG # MA0GCSqGSIb3DQEBDAUAMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy
# HNyMfHEo8/6nxhTdVZFuihEN3wYklX0Pp6F8OtqGNWHTAgMBAAGjggFkMIIBYDAf # IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28g
# BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUDuE6qFM6 # TGltaXRlZDElMCMGA1UEAxMcU2VjdGlnbyBSU0EgVGltZSBTdGFtcGluZyBDQTAe
# MdWKvsG7rWcaA4WtNA4wDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C # Fw0yMzA1MDMwMDAwMDBaFw0zNDA4MDIyMzU5NTlaMGoxCzAJBgNVBAYTAkdCMRMw
# AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwMGCCsGAQUFBwMIMBEGA1UdIAQKMAgwBgYE # EQYDVQQIEwpNYW5jaGVzdGVyMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLDAq
# VR0gADBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20v # BgNVBAMMI1NlY3RpZ28gUlNBIFRpbWUgU3RhbXBpbmcgU2lnbmVyICM0MIICIjAN
# VVNFUlRydXN0UlNBQ2VydGlmaWNhdGlvbkF1dGhvcml0eS5jcmwwdgYIKwYBBQUH # BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApJMoUkvPJ4d2pCkcmTjA5w7U0Rzs
# AQEEajBoMD8GCCsGAQUFBzAChjNodHRwOi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNF # aMsBZOSKzXewcWWCvJ/8i7u7lZj7JRGOWogJZhEUWLK6Ilvm9jLxXS3AeqIO4OBW
# UlRydXN0UlNBQWRkVHJ1c3RDQS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3Nw # ZO2h5YEgciBkQWzHwwj6831d7yGawn7XLMO6EZge/NMgCEKzX79/iFgyqzCz2Ix6
# LnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBAE1jUO1HNEphpNveaiqM # lkoZE1ys/Oer6RwWLrCwOJVKz4VQq2cDJaG7OOkPb6lampEoEzW5H/M94STIa7GZ
# m/EAAB4dYns61zLC9rPgY7P7YQCImhttEAcET7646ol4IusPRuzzRl5ARokS9At3 # 6A3vu03lPYxUA5HQ/C3PVTM4egkcB9Ei4GOGp7790oNzEhSbmkwJRr00vOFLUHty
# WpwqQTr81vTr5/cVlTPDoYMot94v5JT3hTODLUpASL+awk9KsY8k9LOBN9O3ZLCm # 4Fv9GbsfPGoZe267LUQqvjxMzKyKBJPGV4agczYrgZf6G5t+iIfYUnmJ/m53N9e7
# I2pZaFJCX/8E6+F0ZXkI9amT3mtxQJmWunjxucjiwwgWsatjWsgVgG10Xkp1fqW4 # UJ/6GCVPE/JefKmxIFopq6NCh3fg9EwCSN1YpVOmo6DtGZZlFSnF7TMwJeaWg4Ga
# w2y1z99KeYdcx0BNYzX2MNPPtQoOCwR/oEuuu6Ol0IQAkz5TXTSlADVpbL6fICUQ # 9mBmkFgHgM1Cdaz7tJHQxd0BQGq2qBDu9o16t551r9OlSxihDJ9XsF4lR5F0zXUS
# DRn7UJBhvjmPeo5N9p8OHv4HURJmgyYZSJXOSsnBf/M6BZv5b9+If8AjntIeQ3pF # 0Zxv5F4Nm+x1Ju7+0/WSL1KF6NpEUSqizADKh2ZDoxsA76K1lp1irScL8htKycOU
# McGcTanwWbJZGehqjSkEAnd8S0vNcL46slVaeD68u28DECV3FTSK+TbMQ5Lkuk/x # QjeIIISoh67DuiNye/hU7/hrJ7CF9adDhdgrOXTbWncC0aT69c2cPcwfrlHQe2zY
# YpMoJVcp+1EZx6ElQGqEV8aynbG8HArafGd+fS7pKEwYfsR7MUFxmksp7As9V1DS # HS0RQlNxdMLlNaotUhLZJc/w09CRQxLXMn2YbON3Qcj/HyRU726txj5Ve/Fchzpk
# yt39ngVR5UR43QHesXWYDVQk/fBO4+L4g71yuss9Ou7wXheSaG3IYfmm8SoKC6W5 # 8WBLBU/vuS/sCRMCAwEAAaOCAYIwggF+MB8GA1UdIwQYMBaAFBqh+GEZIA/DQXdF
# 9J7umDIFhZ7r+YMp08Ysfb06dy6LN0KgaoLtO0qqlBCk4Q34F8W2WnkzGJLjtXX4 # KI7RNV8GEgRVMB0GA1UdDgQWBBQDDzHIkSqTvWPz0V1NpDQP0pUBGDAOBgNVHQ8B
# oemOCiUe5B7xn1qHI/+fpFGe+zmAEc3btcSnqIBv5VPU4OOiwtJbGvoyJi1qV3Ac # Af8EBAMCBsAwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDBK
# PKRYLqPzW0sH3DJZ84enGm1YMYICMjCCAi4CAQEwgZAwfDELMAkGA1UEBhMCR0Ix # BgNVHSAEQzBBMDUGDCsGAQQBsjEBAgEDCDAlMCMGCCsGAQUFBwIBFhdodHRwczov
# GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEY # L3NlY3RpZ28uY29tL0NQUzAIBgZngQwBBAIwRAYDVR0fBD0wOzA5oDegNYYzaHR0
# MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQwIgYDVQQDExtTZWN0aWdvIFJTQSBD # cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBVGltZVN0YW1waW5nQ0EuY3Js
# b2RlIFNpZ25pbmcgQ0ECEFii1y2MwP2JzP8h4NTtx0owCQYFKw4DAhoFAKB4MBgG # MHQGCCsGAQUFBwEBBGgwZjA/BggrBgEFBQcwAoYzaHR0cDovL2NydC5zZWN0aWdv
# CisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcC # LmNvbS9TZWN0aWdvUlNBVGltZVN0YW1waW5nQ0EuY3J0MCMGCCsGAQUFBzABhhdo
# AQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYE # dHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEATJtlWPrg
# FPvoURlVLtMyc41aoH1W7jNXhNkUMA0GCSqGSIb3DQEBAQUABIIBACa4ISoVYuy4 # ec/vFcMybd4zket3WOLrvctKPHXefpRtwyLHBJXfZWlhEwz2DJ71iSBewYfHAyTK
# LQD5f2XzRDboWCOwR2ClFczB/vOn7uX+RKpbW+vZwllcL0wk0kA4Iotk12yKLAni # x6XwJt/4+DFlDeDrbVFXpoyEUghGHCrC3vLaikXzvvf2LsR+7fjtaL96VkjpYeWa
# K0DkhX8P/Gt5B4hMFaWYKkwTZljITgCEHoAy8vQzpfDUdfJF40R7IIEQLzr2/n5q # OXe8vrqRZIh1/12FFjQn0inL/+0t2v++kwzsbaINzMPxbr0hkRojAFKtl9RieCqE
# Iztv/ApXsPX8SkgEGdikFbBA0i/xtzI8+3sI1QINiRig8xEH/1eOZlR54YHwClvS # eajXPawhj3DDJHk6l/ENo6NbU9irALpY+zWAT18ocWwZXsKDcpCu4MbY8pn76rSS
# 8QhXueb9NbqNN9oKBwx5gRWcOE4I2E5mYAppDDQyhqitbeeY2Pw4Eo5koLM3zTDy # ZXwHfDVEHa1YGGti+95sxAqpbNMhRnDcL411TCPCQdB6ljvDS93NkiZ0dlw3oJok
# 4/zc+A9lNkAa5eDTavxMHQVqKgO5KomzIYHAdIFnKs85SdntIOr5nSAHnAl6svTh # nk5fTtOPD+UTT1lEZUtDZM9I+GdnuU2/zA2xOjDQoT1IrXpl5Ozf4AHwsypKOazB
# iJXqSEggdX8= # pPmpfTXQMkCgsRkqGCGyyH0FcRpLJzaq4Jgcg3Xnx35LhEPNQ/uQl3YqEqxAwXBb
# mQpA+oBtlGF7yG65yGdnJFxQjQEg3gf3AdT4LhHNnYPl+MolHEQ9J+WwhkcqCxuE
# dn17aE+Nt/cTtO2gLe5zD9kQup2ZLHzXdR+PEMSU5n4k5ZVKiIwn1oVmHfmuZHaR
# 6Ej+yFUK7SnDH944psAU+zI9+KmDYjbIw74Ahxyr+kpCHIkD3PVcfHDZXXhO7p9e
# IOYJanwrCKNI9RX8BE/fzSEceuX1jhrUuUAxggWSMIIFjgIBATCBkDB8MQswCQYD
# VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT
# YWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAiBgNVBAMTG1NlY3Rp
# Z28gUlNBIENvZGUgU2lnbmluZyBDQQIQWKLXLYzA/YnM/yHg1O3HSjANBglghkgB
# ZQMEAgEFAKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJ
# AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8G
# CSqGSIb3DQEJBDEiBCAqTz6Ip2LLYNFN5K1JJDf7b5f7S+xfp3YvZbz/pRmklTAN
# BgkqhkiG9w0BAQEFAASCAQAKN1cBYbsh7MV3GuUP/EmgN1E/SnQt8ZmqO7kinpF3
# xIaoeAAUWBD8tBHJHGEMyykgkkDaDexoxIiOFfTCbVI1PasUxuvuA/I+8ReVSRjH
# E8+iT9Gh2IL1O2a0Wzjk7Xf0YeGK1rj635N9bhQeO7U8mBOZxe87kez5wj9e9jjM
# VK3dU69ymf6QHfilkQjPhIYBgdIwcwhXJZDZuh6TJFHzdsxigYoKY9LCEKDS1YkX
# ucGpn3xZ0DGg7RESFNF+Uhw/8NbaLH+pJomvgchJeCesmaQjUB7YC6dPofYFGS1Q
# CkdWSEZIUNYPr9uovh1lxsGrUSmu85boJigDrL6BkbQjoYIDSzCCA0cGCSqGSIb3
# DQEJBjGCAzgwggM0AgEBMIGRMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVh
# dGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3Rp
# Z28gTGltaXRlZDElMCMGA1UEAxMcU2VjdGlnbyBSU0EgVGltZSBTdGFtcGluZyBD
# QQIQOUwl4XygbSeoZeI72R0i1DANBglghkgBZQMEAgIFAKB5MBgGCSqGSIb3DQEJ
# AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDUxNDE1NDEwNFowPwYJ
# KoZIhvcNAQkEMTIEMKBb5TFeMuv1qxZqrDJfQEEWakbNGIkGSDjYiTjHu6rQDjE+
# wn2WhvQ9S7rrqkZ4TzANBgkqhkiG9w0BAQEFAASCAgAcsBPpVC80NuqHDGOCHCx3
# gjzmKUKAT1CjGBPiTzU95fCC/PkP/OdKa2GsivTG3mmvjLRSIOhl4wehz1rn3ikf
# 0T9/wKfDrUNbuUPoa+vxMQgFXas1d0Lkz0UxUr5LjJL2JBwt5KFpDysKDwENo7kz
# /FRuhr2b3TsOc/9SIcIpl44VUyD1Rr+3XS1NG+AWPNGjLLmLXX/WIPBvn3V7fVj7
# QKON02nMgascYzIkpIfxNZgpRXBVOnigAAjuBEQvlI82gnupxLY8H/Ax2SNIVMJq
# EElnBN4bWAw96ULiQCrU/5xHsX8qelCTW3HQ8njT1qwiBD5UT/BREdNzJ4bzAJHD
# MW0hmuAUMbLiI2QAzNr7rOCBK5jD9HB0524LsstEWpX/8U9nxiSaNDDqaW34PGTa
# 6Pniz9Hl12NO9CFeV2BhNSeHk8VqG211zQaK05yfgHHvCdASTDlHGF+EnE8ZwlC7
# d8wQ4niLVzgm3I+De+IcMWXjhrYycnfnIuABGnuHB+y8h5w5KdAJiQ+1ycGvR1d+
# Lu8m70USIGpP6galNcxXwmxViey4HRXwesMiQ9NMquOlw+Te6JE7FWqXkSkbj54G
# NvwPxrLgAJv/0ovBnCD38buVRjwKtFMk3x/GreiAaOnm9lpCcw9P09KtcZQ0sxBk
# 4SaGAirPFtpy1bmHiDh/4Q==
# SIG # End signature block # SIG # End signature block

View File

@@ -66,6 +66,10 @@ if(APPLE)
install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR}) install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR})
endif() endif()
if(WIN32)
install(FILES windows/qt.conf DESTINATION ${BIN_INSTALL_DIR})
endif()
install(FILES icons/application/256x256/apps/keepassxc.png DESTINATION ${DATA_INSTALL_DIR}/icons/application/256x256/apps) install(FILES icons/application/256x256/apps/keepassxc.png DESTINATION ${DATA_INSTALL_DIR}/icons/application/256x256/apps)
add_custom_target(icons) add_custom_target(icons)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1872
share/branding/keepassxc.ai Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><g id="c"><rect width="128" height="128" style="fill:none;"/><g id="d"><rect x="57.0112" y="56.5771" width="3.558" height="35.2061" style="fill:#0f0f0d;"/><path d="m64,28.4885c4.8287,0,8.7679-3.94,8.7679-8.7698,0-.6355-.1271-1.2709-.2542-1.9064-2.7956-.5084-5.5911-.8897-8.5138-.7626-2.7956,0-5.7182.2542-8.5138.7626-.1271.6355-.2542,1.271-.2542,1.9064,0,4.8297,3.9392,8.7698,8.7679,8.7698Z" style="fill:#0f0f0d;"/><path d="m88.1436,23.6587c.3812,1.6523.5083,3.1775.5083,4.8297,0,9.7865-5.8453,18.3021-14.1049,22.2421l-.6354,10.422,7.4972,7.4988-7.4972,7.4988,4.9558,4.9568-4.9558,4.9568.6354,9.2781-10.5469,10.5491-10.5469-10.5491v-44.6113c-8.3867-3.94-14.1049-12.4556-14.1049-22.2421,0-1.6523.2541-3.1775.5083-4.8297-14.2319,8.5155-22.8728,23.7673-22.8728,40.29,0,26.055,21.0938,47.0261,47.0163,47.0261,26.0496,0,47.0163-21.0982,47.0163-47.0261-.1271-16.5227-8.7679-31.7744-22.8728-40.29Z" style="fill:#0f0f0d;"/><path d="m64,3.1001C30.4195,3.1001,3.0999,30.4196,3.0999,64s27.3196,60.9,60.9001,60.9,60.8999-27.3198,60.8999-60.9S97.5806,3.1001,64,3.1001Zm0,116.6759c-30.7415,0-55.7514-25.0212-55.7514-55.7759S33.2586,8.2241,64,8.2241s55.7512,25.0209,55.7512,55.7759-25.0097,55.7759-55.7512,55.7759Z" style="fill:#0f0f0d;"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128"><defs><filter id="d"><feGaussianBlur in="SourceGraphic" stdDeviation="3"/></filter><linearGradient id="g" x1="63.9998" y1="12.5728" x2="63.9998" y2="115.4272" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#dbdbdb"/></linearGradient><linearGradient id="i" x1="63.9997" y1="20.4513" x2="63.9997" y2="107.5488" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#000"/><stop offset="1" stop-color="#000" stop-opacity=".2"/></linearGradient></defs><g style="isolation:isolate;"><g id="b"><g id="c"><rect width="128" height="128" style="fill:none;"/><g id="e" style="filter:url(#d);"><rect x="12.5727" y="16.4869" width="102.8543" height="100.3513" rx="22.5532" ry="22.5532" style="opacity:.3;"/></g><g id="f"><rect x="12.5727" y="12.5728" width="102.8543" height="102.8543" rx="22.8327" ry="22.8327" style="fill:url(#g);"/><rect x="12.5727" y="12.5728" width="102.8543" height="102.8543" rx="22.8327" ry="22.8327" style="fill:none; mix-blend-mode:overlay; stroke:#b9b9b9; stroke-miterlimit:10; stroke-width:.1058px;"/></g><g id="h"><g style="opacity:.6;"><path d="m63.9998,20.8039c23.7037,0,42.9881,19.3777,42.9881,43.1962s-19.2844,43.1962-42.9881,43.1962-42.9883-19.3777-42.9883-43.1962S40.296,20.8039,63.9998,20.8039m0-.3525c-23.8983,0-43.3408,19.5358-43.3408,43.5487s19.4425,43.5487,43.3408,43.5487,43.3407-19.536,43.3407-43.5487-19.4424-43.5487-43.3407-43.5487h0Z" style="fill:url(#i);"/></g></g><path id="j" d="m63.9998,107.5c-23.9861,0-43.5001-19.5141-43.5001-43.5S40.0137,20.5,63.9998,20.5s43.4999,19.5139,43.4999,43.5-19.5138,43.5-43.4999,43.5Zm0-83.3399c-21.9582,0-39.8225,17.8721-39.8225,39.8399s17.8643,39.8399,39.8225,39.8399,39.8223-17.8723,39.8223-39.8399-17.8641-39.8399-39.8223-39.8399Z" style="fill:#0f0f0d;"/><path id="k" d="m63.9998,24.1601c-21.9679,0-39.84,17.8721-39.84,39.8399s17.8721,39.8399,39.84,39.8399,39.8399-17.8722,39.8399-39.8399-17.8719-39.8399-39.8399-39.8399Z" style="fill:#0f0f0d;"/><path id="l" d="m63.9998,24.1601c-21.9582,0-39.8225,17.8721-39.8225,39.8399s17.8643,39.8399,39.8225,39.8399,39.8223-17.8723,39.8223-39.8399-17.8641-39.8399-39.8223-39.8399Zm-6.0813,6.8487c1.9968-.3631,4.0844-.5447,6.0813-.5447,2.0876-.0908,4.0844.1815,6.0813.5447.0908.4539.1815.9078.1815,1.3617,0,3.4498-2.8137,6.2641-6.2628,6.2641s-6.2628-2.8143-6.2628-6.2641c0-.4539.0908-.9078.1815-1.3617Zm3.6306,27.6891v25.1472h-2.5414v-25.1472h2.5414Zm2.4507,38.8556c-18.5161,0-33.5831-14.9794-33.5831-33.5901,0-11.8019,6.172-22.696,16.3377-28.7786-.1815,1.1802-.3631,2.2696-.3631,3.4498,0,6.9903,4.0844,13.0729,10.0749,15.8872v31.8652l7.5335,7.5351,7.5335-7.5351-.4538-6.6272,3.5398-3.5406-3.5398-3.5406,5.3551-5.3563-5.3551-5.3563.4538-7.4443c5.8997-2.8143,10.0749-8.8968,10.0749-15.8872,0-1.1802-.0908-2.2696-.3631-3.4498,10.0749,6.0826,16.247,16.9766,16.3377,28.7786,0,18.5199-14.9763,33.5901-33.5831,33.5901Z" style="fill:#fcfcfc;"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" /></svg>

After

Width:  |  Height:  |  Size: 201 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 18.95C7.77 18.72 6 17.45 6 17V14.77C7.13 15.32 8.5 15.69 10 15.87C10 15.21 10.04 14.54 10.21 13.89C8.5 13.67 6.97 13.16 6 12.45V9.64C7.43 10.45 9.5 10.97 11.82 11C11.85 10.97 11.87 10.93 11.9 10.9C14.1 8.71 17.5 8.41 20 10.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.68 21 13 20.97C12.62 20.72 12.24 20.44 11.9 20.1C11.55 19.74 11.25 19.36 11 18.95M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z" /></svg>

After

Width:  |  Height:  |  Size: 757 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z" /></svg>

After

Width:  |  Height:  |  Size: 312 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 10C7.3 10 8 9.3 8 8.5S7.3 7 6.5 7 5 7.7 5 8.5 5.7 10 6.5 10M9 6L16 13L11 18L4 11V6H9M9 4H4C2.9 4 2 4.9 2 6V11C2 11.6 2.2 12.1 2.6 12.4L9.6 19.4C9.9 19.8 10.4 20 11 20S12.1 19.8 12.4 19.4L17.4 14.4C17.8 14 18 13.5 18 13C18 12.4 17.8 11.9 17.4 11.6L10.4 4.6C10.1 4.2 9.6 4 9 4M13.5 5.7L14.5 4.7L21.4 11.6C21.8 12 22 12.5 22 13S21.8 14.1 21.4 14.4L16 19.8L15 18.8L20.7 13L13.5 5.7Z" /></svg>

After

Width:  |  Height:  |  Size: 462 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9H7V11H11.1C10.5 11.57 10.04 12.25 9.68 13H7V15H9.08C9.03 15.33 9 15.66 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z" /></svg>

After

Width:  |  Height:  |  Size: 630 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9C12.13 9 9 12.13 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z" /></svg>

After

Width:  |  Height:  |  Size: 576 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M12.5 7V12.2L16.5 14.6L15.5 15.6L11 13V7H12.5M11 21.9C5.9 21.4 2 17.1 2 12C2 6.5 6.5 2 12 2C17.3 2 21.6 6.1 22 11.3C21.7 11.2 21.4 11.1 21 11.1C20.6 11.1 20.3 11.2 20 11.3C19.6 7.2 16.2 4 12 4C7.6 4 4 7.6 4 12C4 16.1 7.1 19.5 11.1 19.9L11 20.1V21.9Z" /></svg>

After

Width:  |  Height:  |  Size: 510 B

View File

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 512 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -1 +1 @@
<svg baseProfile="basic" id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100"><path d="M43.1 15.2c0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6 2.3-.1 4.5.2 6.7.6.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9S43.1 19 43.1 15.2zM95 64.6c.4.9.7 1.9.7 3v20.5c0 4.3-3.5 7.7-7.7 7.7H62.6c-4 1.1-8.2 1.7-12.6 1.7C23.8 97.5 2.5 76.2 2.5 50S23.8 2.5 50 2.5s47.5 21.3 47.3 47.7C97.3 55.2 96.5 60.1 95 64.6zM50.1 94.2c1.5.0 3-.1 4.5-.2-1.7-1.4-2.7-3.5-2.7-5.9v-1.2C51.3 87 50.6 87 50 87c-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7-.2 1.3-.4 2.5-.4 3.8.0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l1.9-1.9V67.6c0-3.5 2.4-6.5 5.7-7.4v-3.3c0-2.7.7-5.2 1.8-7.5l-1.6-1.6.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8 10.4 6.3 17 17.1 17.9 29.1 1.9 2.7 3.1 5.9 3.1 9.5v3.3c1 .3 1.9.8 2.7 1.4 1-3.7 1.6-7.6 1.6-11.6C94.3 25.6 74.4 5.7 50 5.7S5.7 25.6 5.7 50 25.6 94.3 50.1 94.2zM92.8 67.7c0-3-2.5-5.5-5.5-5.5v-4.9c0-7.5-6.1-13.6-13.6-13.6s-13.6 6.1-13.6 13.5v4.9c-3 0-5.5 2.5-5.5 5.5v19.7c0 3 2.5 5.5 5.5 5.5h27.2c3 0 5.5-2.5 5.5-5.5V67.7zM44.5 71.9h2.8V44.2h-2.8V71.9zM73.8 50C70 50 67 52.9 67 56.4v0V62h13.7v-5.6.0C80.7 52.9 77.6 50 73.8 50z"/></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><g id="c"><rect width="128" height="128" style="fill:none;"/><g><path d="m64,28.4885c4.8287,0,8.7679-3.9401,8.7679-8.7698,0-.6355-.1271-1.2709-.2542-1.9065-2.7955-.5084-5.5911-.8896-8.5138-.7625-2.7955,0-5.7182.2542-8.5137.7625-.1271.6356-.2542,1.271-.2542,1.9065,0,4.8297,3.9392,8.7698,8.7679,8.7698Z" style="fill:#0f0f0d;"/><path d="m86.6088,58.0631c-1.8394,1.1351-2.9459,3.1661-2.9459,5.3275v8.3641h16.38v-7c0-6.0711-6.6846-10.8567-13.4341-6.6917Z" style="fill:#0f0f0d;"/><path d="m53.4531,50.7306c-8.3867-3.9401-14.1049-12.4556-14.1049-22.2421,0-1.6523.2542-3.1775.5083-4.8298-14.2319,8.5156-22.8728,23.7673-22.8728,40.29,0,24.1918,18.1885,43.989,41.5388,46.6983v-10.2347l-5.0693-5.0704v-44.6113Z" style="fill:#0f0f0d;"/><path d="m123.8043,75.4549c.7097-3.7126,1.0956-7.5386,1.0956-11.4548,0-33.5805-27.3193-60.9-60.8999-60.9S3.0999,30.4196,3.0999,64.0001s27.3196,60.9,60.9001,60.9c5.0994,0,10.0512-.6386,14.7881-1.8249l-9.0723.0002c-.3044,0-.6034-.0223-.9017-.0463.2983.024.5974.0457.9018.0457h44.1338c6.1719,0,11.1934-5.0205,11.1934-11.1924v-30.8877c0-1.9575-.4447-3.8377-1.2388-5.5397Zm-66.7931-18.8778v35.2061h1.5113v-10.7879c0-.3262.0132-.65.0375-.9714-.024.3212-.037.6448-.037.9707v30.8877c0,3.0512,1.2302,5.8181,3.2169,7.8391-.001-.001-.002-.0018-.003-.0028-29.6951-1.1935-53.4883-25.723-53.4883-55.7184,0-30.755,25.0099-55.7759,55.7514-55.7759s55.7512,25.0209,55.7512,55.7759c0,2.0822-.1242,4.1353-.3475,6.1589-.7296-.5236-1.5109-.9811-2.3406-1.3529v-2.791c0-8.027-3.7652-15.1869-9.6173-19.8212-3.8016-9.2543-10.4838-17.2112-19.3022-22.5352.3812,1.6523.5083,3.1774.5083,4.8297,0,4.8487-1.4382,9.3832-3.8906,13.2061.0031-.0009.0061-.0013.0092-.0022-1.7772.4825-3.5391,1.1374-5.2742,1.9848-7.8931,3.8555-12.9932,12.1621-12.9932,21.1621v3.9668c-2.4653,1.1048-4.5251,2.9335-5.937,5.1815.0011-.0017.002-.0035.0031-.0052v-17.4053h-3.5579Zm64.0317,55.3047c0,3.9725-3.2204,7.1929-7.193,7.1929h-44.134c-3.9726,0-7.193-3.2203-7.193-7.1929v-30.887c0-4.62,3.5-8.54,7.98-9.24v-6.9156c0-7.4088,4.0921-14.3167,10.7493-17.5682,16.0264-7.8276,31.8107,3.6011,31.8107,18.7438v5.74c4.48.7,7.98,4.62,7.98,9.24v30.887Z" style="fill:#0f0f0d;"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1 +1 @@
<svg baseProfile="basic" id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100"><path d="M50 97.5C23.8 97.5 2.5 76.2 2.5 50S23.8 2.5 50 2.5 97.5 23.8 97.5 50 76.2 97.5 50 97.5zM50 5.7C25.6 5.7 5.7 25.6 5.7 50S25.6 94.3 50 94.3 94.3 74.4 94.3 50 74.4 5.7 50 5.7zM56.7 13.7c.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6C52.3 13 54.5 13.3 56.7 13.7zM30.6 22.1c0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50c0 20.4-16.5 37-37 37-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7C30.8 19.6 30.6 20.8 30.6 22.1zM44.5 44.2h2.8v27.7h-2.8V44.2v0 0z"/></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><g id="c"><rect width="128" height="128" style="fill:none;"/><g id="d"><rect x="57.0112" y="56.5771" width="3.558" height="35.2061" style="fill:#0f0f0d;"/><path d="m64,28.4885c4.8287,0,8.7679-3.94,8.7679-8.7698,0-.6355-.1271-1.2709-.2542-1.9064-2.7956-.5084-5.5911-.8897-8.5138-.7626-2.7956,0-5.7182.2542-8.5138.7626-.1271.6355-.2542,1.271-.2542,1.9064,0,4.8297,3.9392,8.7698,8.7679,8.7698Z" style="fill:#0f0f0d;"/><path d="m88.1436,23.6587c.3812,1.6523.5083,3.1775.5083,4.8297,0,9.7865-5.8453,18.3021-14.1049,22.2421l-.6354,10.422,7.4972,7.4988-7.4972,7.4988,4.9558,4.9568-4.9558,4.9568.6354,9.2781-10.5469,10.5491-10.5469-10.5491v-44.6113c-8.3867-3.94-14.1049-12.4556-14.1049-22.2421,0-1.6523.2541-3.1775.5083-4.8297-14.2319,8.5155-22.8728,23.7673-22.8728,40.29,0,26.055,21.0938,47.0261,47.0163,47.0261,26.0496,0,47.0163-21.0982,47.0163-47.0261-.1271-16.5227-8.7679-31.7744-22.8728-40.29Z" style="fill:#0f0f0d;"/><path d="m64,3.1001C30.4195,3.1001,3.0999,30.4196,3.0999,64s27.3196,60.9,60.9001,60.9,60.8999-27.3198,60.8999-60.9S97.5806,3.1001,64,3.1001Zm0,116.6759c-30.7415,0-55.7514-25.0212-55.7514-55.7759S33.2586,8.2241,64,8.2241s55.7512,25.0209,55.7512,55.7759-25.0097,55.7759-55.7512,55.7759Z" style="fill:#0f0f0d;"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 992 B

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1 +1 @@
<svg baseProfile="basic" id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100"><path style="fill:#fff" d="M87.1 62.4v-4.8c0-7.3-6-13.3-13.3-13.3s-13.3 6-13.3 13.2v4.8c-2.9.0-5.3 2.4-5.3 5.3v19.3c0 2.9 2.4 5.3 5.3 5.3h26.6c2.9.0 5.3-2.4 5.3-5.3V67.7C92.4 64.8 90 62.4 87.1 62.4zM80.3 62.4H67.4V57c0-3.4 2.8-6.2 6.4-6.2 3.6.0 6.5 2.8 6.5 6.2V62.4zM50 4.2C24.8 4.2 4.2 24.8 4.2 50S24.8 95.8 50 95.8c2.3.0 4.6-.2 6.8-.5-2.9-1.1-4.9-3.9-4.9-7.2V87c-.6.0-1.3.0-1.9.0-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7-.2 1.3-.4 2.5-.4 3.8.0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l1.9-1.9V67.6c0-3.5 2.4-6.5 5.7-7.4v-3.3c0-2.7.7-5.2 1.8-7.5l-1.6-1.6.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8 10.4 6.3 17 17.1 17.9 29.1 1.9 2.7 3.1 5.9 3.1 9.5v3.3c1.6.4 2.9 1.4 3.9 2.6 1.2-4.1 1.8-8.3 1.8-12.8C95.8 24.8 75.2 4.2 50 4.2zM47.3 71.9h-2.8V44.2h2.8V71.9zM50 22.1c-3.8.0-6.9-3.1-6.9-6.9.0-.5.1-1 .2-1.5 2.2-.4 4.5-.6 6.7-.6 2.3-.1 4.5.2 6.7.6.1.5.2 1 .2 1.5C56.9 19 53.8 22.1 50 22.1z"/></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><g id="c"><rect width="128" height="128" style="fill:none;"/><g><path d="m64.0001,3.1C30.4344,3.1,3.1268,30.4196,3.1268,64s27.3076,60.9,60.8733,60.9c5.0972,0,10.0468-.6386,14.7816-1.8249l-9.0659.0002c-5.8972,0-10.7324-4.5876-11.1521-10.3796-24.5766-2.7011-43.7623-23.4863-43.7623-48.9033,0-17.2897,9.0419-33.2493,23.9344-42.16-.2659,1.7289-.5318,3.3249-.5318,5.0539,0,10.2407,5.9835,19.1516,14.7595,23.2744v46.6819l5.5588,5.56v-10.4196h-1.5113v-35.2061h3.558v17.4053c1.4119-2.2455,3.4703-4.0722,5.9338-5.1766v-3.9668c0-9,5.1006-17.3066,12.9932-21.1621,1.7899-.8741,3.6082-1.5444,5.4425-2.0302,3.0391-4.2258,4.8575-9.3926,4.8575-14.9603,0-1.729-.133-3.325-.5319-5.054,10.6012,6.4003,18.2292,16.4456,21.7485,27.9997,3.7678,4.4161,6.0499,10.1364,6.0499,16.3827v2.791c2.9691,1.3311,5.3574,3.7062,6.723,6.6068.7042-3.6993,1.0876-7.5112,1.0876-11.4125,0-33.5804-27.3074-60.9-60.873-60.9Zm0,25.3885c-4.8287,0-8.7679-3.94-8.7679-8.7698,0-.6355.1271-1.2709.2542-1.9064,2.7956-.5084,5.7182-.7626,8.5138-.7626,2.9226-.1271,5.7182.2542,8.5137.7626.1271.6355.2542,1.2709.2542,1.9064,0,4.8298-3.9393,8.7698-8.7679,8.7698Z" style="fill:#fcfcfc;"/><path d="m113.0629,71.7548v-5.74c0-15.1427-15.7844-26.5714-31.8107-18.7438-6.6572,3.2515-10.7493,10.1594-10.7493,17.5682v6.9156c-4.48.7-7.98,4.62-7.98,9.24v30.887c0,3.9726,3.2204,7.193,7.193,7.193h44.134c3.9726,0,7.193-3.2205,7.193-7.193v-30.887c0-4.62-3.5-8.54-7.98-9.24Zm-13.02,0h-16.38v-8.3641c0-2.1614,1.1065-4.1924,2.9459-5.3275,6.7495-4.165,13.4341.6205,13.4341,6.6917v7Z" style="fill:#fcfcfc;"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1 +1 @@
<svg baseProfile="basic" id="svg2" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100"><path style="fill:#fff" d="M50 4.2C24.8 4.2 4.2 24.8 4.2 50S24.8 95.8 50 95.8 95.8 75.2 95.8 50 75.2 4.2 50 4.2zM43.3 13.7c2.2-.4 4.5-.6 6.7-.6 2.3-.1 4.5.2 6.7.6.1.5.2 1 .2 1.5.0 3.8-3.1 6.9-6.9 6.9s-6.9-3.1-6.9-6.9C43.1 14.7 43.2 14.2 43.3 13.7zM47.3 44.2v27.7h-2.8V44.2H47.3zM50 87c-20.4.0-37-16.5-37-37 0-13 6.8-25 18-31.7-.2 1.3-.4 2.5-.4 3.8.0 7.7 4.5 14.4 11.1 17.5v35.1L50 83l8.3-8.3-.5-7.3 3.9-3.9-3.9-3.9 5.9-5.9-5.9-5.9.5-8.2c6.5-3.1 11.1-9.8 11.1-17.5.0-1.3-.1-2.5-.4-3.8C80.1 25 86.9 37 87 50 87 70.4 70.5 87 50 87z"/></svg> <?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><g id="c"><rect width="128" height="128" style="fill:none;"/><path d="m64.0001,3.1C30.4344,3.1,3.1267,30.4196,3.1267,64s27.3077,60.9,60.8733,60.9,60.873-27.3199,60.873-60.9S97.5657,3.1,64.0001,3.1Zm-8.5138,14.7123c2.7956-.5084,5.7182-.7626,8.5138-.7626,2.9226-.1271,5.7182.2542,8.5137.7626.1271.6355.2542,1.2709.2542,1.9064,0,4.8298-3.9393,8.7698-8.7679,8.7698s-8.7679-3.94-8.7679-8.7698c0-.6355.1271-1.2709.2542-1.9064Zm5.0829,38.7648v35.2061h-3.558v-35.2061h3.558Zm3.4309,56.4242c-27.1257,0-49.1986-21.9445-49.1986-49.2088,0-17.2897,9.0419-33.2493,23.9344-42.16-.2659,1.7289-.5318,3.3249-.5318,5.0539,0,10.2407,5.9835,19.1515,14.7595,23.2744v46.6819l11.0365,11.0387,11.0364-11.0387-.6648-9.7088,5.1858-5.1869-5.1858-5.1869,7.8452-7.8468-7.8452-7.8468.6648-10.9057c8.643-4.1229,14.7596-13.0337,14.7596-23.2744,0-1.729-.133-3.325-.5319-5.0539,14.7596,8.9108,23.8015,24.8704,23.9344,42.1601,0,27.1313-21.9399,49.2088-49.1985,49.2088Z" style="fill:#fcfcfc;"/></g></svg>

Before

Width:  |  Height:  |  Size: 908 B

After

Width:  |  Height:  |  Size: 1.0 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -6,17 +6,18 @@
<file>application/256x256/apps/keepassxc.png</file> <file>application/256x256/apps/keepassxc.png</file>
<file>application/scalable/actions/application-exit.svg</file> <file>application/scalable/actions/application-exit.svg</file>
<file>application/scalable/actions/attributes-copy.svg</file>
<file>application/scalable/actions/auto-type.svg</file> <file>application/scalable/actions/auto-type.svg</file>
<file>application/scalable/actions/bugreport.svg</file> <file>application/scalable/actions/bugreport.svg</file>
<file>application/scalable/actions/chevron-double-down.svg</file> <file>application/scalable/actions/chevron-double-down.svg</file>
<file>application/scalable/actions/chevron-double-right.svg</file> <file>application/scalable/actions/chevron-double-right.svg</file>
<file>application/scalable/actions/chronometer.svg</file>
<file>application/scalable/actions/clipboard-text.svg</file> <file>application/scalable/actions/clipboard-text.svg</file>
<file>application/scalable/actions/configure.svg</file> <file>application/scalable/actions/configure.svg</file>
<file>application/scalable/actions/database-change-key.svg</file> <file>application/scalable/actions/database-change-key.svg</file>
<file>application/scalable/actions/database-lock.svg</file> <file>application/scalable/actions/database-lock.svg</file>
<file>application/scalable/actions/database-lock-all.svg</file> <file>application/scalable/actions/database-lock-all.svg</file>
<file>application/scalable/actions/database-merge.svg</file> <file>application/scalable/actions/database-merge.svg</file>
<file>application/scalable/actions/database-search.svg</file>
<file>application/scalable/actions/dialog-close.svg</file> <file>application/scalable/actions/dialog-close.svg</file>
<file>application/scalable/actions/dialog-ok.svg</file> <file>application/scalable/actions/dialog-ok.svg</file>
<file>application/scalable/actions/document-close.svg</file> <file>application/scalable/actions/document-close.svg</file>
@@ -62,6 +63,7 @@
<file>application/scalable/actions/password-generator.svg</file> <file>application/scalable/actions/password-generator.svg</file>
<file>application/scalable/actions/password-show-off.svg</file> <file>application/scalable/actions/password-show-off.svg</file>
<file>application/scalable/actions/password-show-on.svg</file> <file>application/scalable/actions/password-show-on.svg</file>
<file>application/scalable/actions/qrcode.svg</file>
<file>application/scalable/actions/refresh.svg</file> <file>application/scalable/actions/refresh.svg</file>
<file>application/scalable/actions/reports.svg</file> <file>application/scalable/actions/reports.svg</file>
<file>application/scalable/actions/reports-exclude.svg</file> <file>application/scalable/actions/reports-exclude.svg</file>
@@ -72,7 +74,12 @@
<file>application/scalable/actions/system-search.svg</file> <file>application/scalable/actions/system-search.svg</file>
<file>application/scalable/actions/system-software-update.svg</file> <file>application/scalable/actions/system-software-update.svg</file>
<file>application/scalable/actions/tag.svg</file> <file>application/scalable/actions/tag.svg</file>
<file>application/scalable/actions/tag-multiple.svg</file>
<file>application/scalable/actions/tag-search.svg</file> <file>application/scalable/actions/tag-search.svg</file>
<file>application/scalable/actions/totp.svg</file>
<file>application/scalable/actions/totp-copy.svg</file>
<file>application/scalable/actions/totp-copy-password.svg</file>
<file>application/scalable/actions/totp-edit.svg</file>
<file>application/scalable/actions/trash.svg</file> <file>application/scalable/actions/trash.svg</file>
<file>application/scalable/actions/url-copy.svg</file> <file>application/scalable/actions/url-copy.svg</file>
<file>application/scalable/actions/user-guide.svg</file> <file>application/scalable/actions/user-guide.svg</file>

View File

@@ -9,6 +9,7 @@
<mimetype>application/x-keepass2</mimetype> <mimetype>application/x-keepass2</mimetype>
</mimetypes> </mimetypes>
<summary>Community-driven port of the Windows application “KeePass Password Safe”</summary> <summary>Community-driven port of the Windows application “KeePass Password Safe”</summary>
<summary xml:lang="de">Von der Community entwickelter Port der Windows Anwendung “KeePass Password Safe”</summary>
<developer_name>KeePassXC Team</developer_name> <developer_name>KeePassXC Team</developer_name>
<description> <description>
<p> <p>
@@ -16,6 +17,12 @@
personal data management. It has a light interface, is cross-platform and personal data management. It has a light interface, is cross-platform and
published under the terms of the GNU General Public License. published under the terms of the GNU General Public License.
</p> </p>
<p xml:lang="de">
KeePassXC ist eine Anwendung für Menschen, die extrem hohe Anforderungen
an die sichere Verwaltung von persönlichen Daten stellen. Sie hat eine leichtgewichtige
Benutzeroberfläche, ist auf vielen verschiedenen Plattformen verfügbar und
wird unter den Bedingungen der GNU General Public License veröffentlicht.
</p>
</description> </description>
<launchable type="desktop-id">org.keepassxc.KeePassXC.desktop</launchable> <launchable type="desktop-id">org.keepassxc.KeePassXC.desktop</launchable>
@@ -25,6 +32,8 @@
<url type="faq">https://keepassxc.org/docs#faq</url> <url type="faq">https://keepassxc.org/docs#faq</url>
<url type="help">https://keepassxc.org/docs</url> <url type="help">https://keepassxc.org/docs</url>
<url type="translate">https://www.transifex.com/keepassxc/keepassxc</url> <url type="translate">https://www.transifex.com/keepassxc/keepassxc</url>
<url type="vcs-browser">https://github.com/keepassxreboot/keepassxc</url>
<url type="contribute">https://keepassxc.org/docs#contribute</url>
<screenshots> <screenshots>
<screenshot type="default"> <screenshot type="default">
@@ -50,6 +59,112 @@
</screenshots> </screenshots>
<releases> <releases>
<release version="2.7.5" date="2023-05-14">
<description>
<ul>
<li>Add menu option to allow screenshots [#8841]</li>
<li>Add support for Botan 3 [#9388]</li>
<li>Increase max TOTP step to 24 hours [#9149]</li>
<li>Improve HTML export layout [#8987]</li>
<li>Turn search reset off by default [#9153]</li>
<li>Use QClipboard::clear() instead of setting blank text [#9148]</li>
<li>Hide group column header choice when not in search [#9171]</li>
<li>Improve look of KeePassXC logo and icons [#9355]</li>
<li>Add keyboard shortcuts for app and database settings [#9007]</li>
<li>Hide rename button from attachments preview panel [#8842]</li>
<li>Linux: Set SingleMainWindow in .desktop file [#7430]</li>
<li>Fix crash when search clears while creating new entry [#9230]</li>
<li>Fix crash when using Windows Hello in a Remote Desktop session [#9006]</li>
<li>Fix crash in Group Edit after enabling Browser Integration [#8778]</li>
<li>Fix canceling quick unlock when it is unavailable [#9034]</li>
<li>Set password input field font correctly [#8732]</li>
<li>Greatly improve performance when rendering entry view [#9398]</li>
<li>Fix various accessibility issues [#9138]</li>
<li>Fix arrows size when expand/collapse a group [#9096]</li>
<li>Select the clone instead of the original after cloning an entry [#9070]</li>
<li>Fix bugs with preview widget [#9170]</li>
<li>Fix status bar update when switching to other DB [#9073]</li>
<li>Fix database settings spin box bug [#9101]</li>
<li>Fix Ctrl+Tab shortcut to cycle databases in unlock dialog [#8839]</li>
<li>Fix TOTP QR code maintaining square ratio [#9027]</li>
<li>Fix Auto-Type configuration page on custom sequence selection [#8752]</li>
<li>Fix unexpected behavior of `--lock` when KeePassXC is not running [#8889]</li>
<li>Make open folder icon exempt from "Apply group icon to entry" [#9205]</li>
<li>Allow setting default file open directory with env var [#9192]</li>
<li>SSH Agent: Fix support for AES-256/GCM openssh keys [#8968]</li>
<li>Browser: Fix Native Messaging script path with BSD OS's [#8835]</li>
</ul>
</description>
</release>
<release version="2.7.4" date="2022-10-29">
<description>
<ul>
<li>Add 2 months expiration preset [#8687]</li>
<li>CLI: Add Unicode support on Windows [#8618]</li>
<li>Fix crash on macOS when unlocking database [#8676]</li>
<li>Fix display of passwords in preview panel [#8633]</li>
<li>Fix clicking links in entry preview panel [#8644]</li>
<li>Prevent expired entries search if no results returned [#8643]</li>
<li>Browser: Revert code causing connection problems [#8665]</li>
<li>Browser: Fix socket file symbolic link on Linux [#8656]</li>
<li>Flatpak: Fix launching browser proxy service [#8680]</li>
<li>SSH Agent: Fix paegent support on Windows [#8619]</li>
</ul>
</description>
</release>
<release version="2.7.3" date="2022-10-23">
<description>
<ul>
<li>Enhance Tags Support and Add Saved Searches [#8435, #8607]</li>
<li>Significant improvements to entry preview panel [#7993]</li>
<li>Add password strength indicator to all password fields [#7885]</li>
<li>Limit zxcvbn entropy estimation length to 128 characters [#7748]</li>
<li>Try full URL path when fetching favicon [#8565]</li>
<li>Hide usernames in preview panel when hidden in entry view [#8608]</li>
<li>Enable dark title bar on windows when accent color is not used [#8498]</li>
<li>Add option to display passwords in color in preview panel [#7097]</li>
<li>Add XML Export option to GUI [#8524]</li>
<li>Increase entropy required for a "good" password rating to 75 [#8523]</li>
<li>Add shortcut to copy password with TOTP appended [#8443]</li>
<li>Show entry count in status bar [#8435]</li>
<li>Allow KeePassXC to be built without X11 [#8147]</li>
<li>Enable use of VivoKey Apex and Dangerous Things FlexSecure tokens [#8332]</li>
<li>Add setting for number of recent files [#8239]</li>
<li>Add Ctrl+Tab shortcut to cycle databases in unlock dialog [#8168]</li>
<li>Replace offensive words in eff_large.wordlist [#7968]</li>
<li>Auto-Type: PICKCHARS can specify attribute and ignore BEEP [#8118]</li>
<li>Linux: Add isHardwareKeySupported and refreshHardwareKeys to DBus methods [#8055]</li>
<li>Add config variable to specify default database file name [#8042]</li>
<li>CLI: Add `db-edit` command [#8400]</li>
<li>CLI: Add option to display all attributes with `show` command [#8256]</li>
<li>CLI: Show UUID and tags with `show` and `clip` commands [#8241]</li>
<li>Browser: Move socket into separate directory on Linux [#8030]</li>
<li>Browser: Add group setting to omit WWW subdomain when matching URLs [#7988]</li>
<li>FdoSecrets: Ask to unlock the database when creating items [#8022, #8028]</li>
<li>FdoSecrets: Skip entries in recycle bin when searching [#8021]</li>
<li>Fix potential deadlock in UI when saving [#8606]</li>
<li>Fix newlines when copying notes from preview panel [#8542]</li>
<li>Fix dark mode detection on Linux [#8477]</li>
<li>Fix crash when deleting items in recycle bin while searching [#8117]</li>
<li>Fix crash when trying to close database during unlock [#8144]</li>
<li>Fix tabbing around the interface [#8435, #8520]</li>
<li>Fix OPVault import when there are multiple OTP fields [#8436]</li>
<li>Fix various Windows Hello bugs [#8354]</li>
<li>Fix use of Apple Watch for Quick Unlock [#8311]</li>
<li>Better handling of "Lock on Minimize" setting [#8202]</li>
<li>Support numeric aware sorting on Windows and macOS [#8363]</li>
<li>Check for write permission before entering portable mode [#8447]</li>
<li>Correct regex escape logic to prevent parse errors [#7778]</li>
<li>Normalize slashes and file case for last used databases [#7864, #7214]</li>
<li>Link ykcore against pthread [#7807]</li>
<li>Auto-Type: Fix menu entries in selection dialog on Windows [#7987]</li>
<li>Auto-Type: Fix use of modifiers under macOS [#8111]</li>
<li>CLI: Fix output when using clip with the -t flag [#8271]</li>
<li>Browser: Use asynchronous access confirm dialog [#8273]</li>
<li>Browser: Always send database locked/unlocked status [#8114]</li>
</ul>
</description>
</release>
<release version="2.7.1" date="2022-04-05"> <release version="2.7.1" date="2022-04-05">
<description> <description>
<ul> <ul>

View File

@@ -42,6 +42,8 @@ StartupWMClass=keepassxc
StartupNotify=true StartupNotify=true
Terminal=false Terminal=false
Type=Application Type=Application
Version=1.0 Version=1.5
Categories=Utility;Security;Qt; Categories=Utility;Security;Qt;
MimeType=application/x-keepass2; MimeType=application/x-keepass2;
SingleMainWindow=true
X-GNOME-SingleWindow=true

View File

@@ -22,6 +22,8 @@
<string>${PROJECT_NAME}</string> <string>${PROJECT_NAME}</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleVersion</key>
<string>${KEEPASSXC_VERSION}</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>${KEEPASSXC_VERSION}</string> <string>${KEEPASSXC_VERSION}</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 125 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@
</message> </message>
<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> <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>Reporteu 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>Informeu d&apos;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>
<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> <source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
@@ -50,7 +50,7 @@
<name>AccessControlDialog</name> <name>AccessControlDialog</name>
<message> <message>
<source>KeePassXC - Access Request</source> <source>KeePassXC - Access Request</source>
<translation type="unfinished"/> <translation>KeePassXC - Sol·licitud d&apos;accés</translation>
</message> </message>
<message> <message>
<source>Non-existing/inaccessible executable path. Please double-check the client is legit.</source> <source>Non-existing/inaccessible executable path. Please double-check the client is legit.</source>
@@ -78,7 +78,7 @@
</message> </message>
<message> <message>
<source>Details</source> <source>Details</source>
<translation type="unfinished"/> <translation>Detalls</translation>
</message> </message>
<message> <message>
<source>Remember</source> <source>Remember</source>
@@ -94,18 +94,18 @@
</message> </message>
<message> <message>
<source>Deny All &amp;&amp; Future</source> <source>Deny All &amp;&amp; Future</source>
<translation type="unfinished"/> <translation>Denegar-ho tot &amp; Futur</translation>
</message> </message>
<message> <message>
<source>Allow All &amp;&amp; &amp;Future</source> <source>Allow All &amp;&amp; &amp;Future</source>
<translation type="unfinished"/> <translation>Permet-ho tot &amp; Futur</translation>
</message> </message>
</context> </context>
<context> <context>
<name>AccessControlDialog::DenyButton</name> <name>AccessControlDialog::DenyButton</name>
<message> <message>
<source>Deny for this program</source> <source>Deny for this program</source>
<translation type="unfinished"/> <translation>Denega per a aquest programa</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -116,7 +116,7 @@
</message> </message>
<message> <message>
<source>Use Pageant</source> <source>Use Pageant</source>
<translation type="unfinished"/> <translation>Usa Pageant</translation>
</message> </message>
<message> <message>
<source>Use OpenSSH</source> <source>Use OpenSSH</source>
@@ -124,7 +124,7 @@
</message> </message>
<message> <message>
<source>SSH_AUTH_SOCK override</source> <source>SSH_AUTH_SOCK override</source>
<translation type="unfinished"/> <translation>SSH_AUTH_SOCK override</translation>
</message> </message>
<message> <message>
<source>SSH_AUTH_SOCK value</source> <source>SSH_AUTH_SOCK value</source>
@@ -140,7 +140,7 @@
</message> </message>
<message> <message>
<source>SSH_SK_PROVIDER override</source> <source>SSH_SK_PROVIDER override</source>
<translation type="unfinished"/> <translation>SSH_SK_PROVIDER override</translation>
</message> </message>
<message> <message>
<source>No SSH Agent socket available. Either make sure SSH_AUTH_SOCK environment variable exists or set an override.</source> <source>No SSH Agent socket available. Either make sure SSH_AUTH_SOCK environment variable exists or set an override.</source>
@@ -150,12 +150,16 @@
<source>SSH Agent connection is working!</source> <source>SSH Agent connection is working!</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Use both agents</source>
<translation>Usa ambdós agents</translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidget</name> <name>ApplicationSettingsWidget</name>
<message> <message>
<source>Application Settings</source> <source>Application Settings</source>
<translation>Configuració de l&apos;aplicació</translation> <translation>Paràmetres de l&apos;aplicació</translation>
</message> </message>
<message> <message>
<source>General</source> <source>General</source>
@@ -221,6 +225,10 @@
<source>Select backup storage directory</source> <source>Select backup storage directory</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>This setting cannot be enabled when minimize on unlock is enabled.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetGeneral</name> <name>ApplicationSettingsWidgetGeneral</name>
@@ -270,12 +278,12 @@
</message> </message>
<message> <message>
<source>On database unlock, show entries that </source> <source>On database unlock, show entries that </source>
<translation type="unfinished"/> <translation>Al desbloquejar la base de dades, mostra les entrades que </translation>
</message> </message>
<message> <message>
<source>have expired</source> <source>have expired</source>
<comment>On database unlock, show entries that...</comment> <comment>On database unlock, show entries that...</comment>
<translation type="unfinished"/> <translation>ha caducat</translation>
</message> </message>
<message> <message>
<source> days</source> <source> days</source>
@@ -406,7 +414,7 @@
</message> </message>
<message> <message>
<source>Use monospaced font for notes</source> <source>Use monospaced font for notes</source>
<translation>Usa lletra monoespaiada per a les notes</translation> <translation>Fer servir fonts monoespaiada per les notes</translation>
</message> </message>
<message> <message>
<source>Minimize instead of app exit</source> <source>Minimize instead of app exit</source>
@@ -489,6 +497,14 @@
<source>Remember last typed entry for:</source> <source>Remember last typed entry for:</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source> recent files</source>
<translation> fitxers recents</translation>
</message>
<message>
<source>Show passwords in color</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetSecurity</name> <name>ApplicationSettingsWidgetSecurity</name>
@@ -587,7 +603,7 @@
</message> </message>
<message> <message>
<source>Auto-Type Error</source> <source>Auto-Type Error</source>
<translation type="unfinished"/> <translation>Error de tecleig automàtic</translation>
</message> </message>
<message> <message>
<source>Permission Required</source> <source>Permission Required</source>
@@ -603,7 +619,7 @@
</message> </message>
<message> <message>
<source>Invalid entry provided</source> <source>Invalid entry provided</source>
<translation type="unfinished"/> <translation>Entrada proporcionada no vàlida</translation>
</message> </message>
<message> <message>
<source>Bracket imbalance detected, found extra { or }</source> <source>Bracket imbalance detected, found extra { or }</source>
@@ -638,6 +654,10 @@
<source>Invalid placeholder: %1</source> <source>Invalid placeholder: %1</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Entry does not have attribute for PICKCHARS: %1</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>AutoTypeAssociationsModel</name> <name>AutoTypeAssociationsModel</name>
@@ -685,7 +705,7 @@
</message> </message>
<message> <message>
<source>Sequence aborted: Caps Lock is on</source> <source>Sequence aborted: Caps Lock is on</source>
<translation type="unfinished"/> <translation>Seqüència avortada: el bloqueig de majúscules està activat</translation>
</message> </message>
<message> <message>
<source>Sequence aborted: Modifier keys held by user</source> <source>Sequence aborted: Modifier keys held by user</source>
@@ -717,11 +737,11 @@ Ctrl+4 - Use Virtual Keyboard (Windows Only)&lt;/p&gt;</source>
</message> </message>
<message> <message>
<source>Search all open databases</source> <source>Search all open databases</source>
<translation type="unfinished"/> <translation>Cerca totes les bases de dades obertes</translation>
</message> </message>
<message> <message>
<source>Search</source> <source>Search</source>
<translation type="unfinished"/> <translation>Cerca...</translation>
</message> </message>
<message> <message>
<source>Type Sequence</source> <source>Type Sequence</source>
@@ -745,19 +765,19 @@ Ctrl+4 - Use Virtual Keyboard (Windows Only)&lt;/p&gt;</source>
</message> </message>
<message> <message>
<source>Copy Username</source> <source>Copy Username</source>
<translation type="unfinished"/> <translation>Copia el nom d&apos;usuari</translation>
</message> </message>
<message> <message>
<source>Copy Password</source> <source>Copy Password</source>
<translation type="unfinished"/> <translation>Copia la contrasenya</translation>
</message> </message>
<message> <message>
<source>Copy TOTP</source> <source>Copy TOTP</source>
<translation type="unfinished"/> <translation>Copia TOTP</translation>
</message> </message>
<message> <message>
<source>Use Virtual Keyboard</source> <source>Use Virtual Keyboard</source>
<translation type="unfinished"/> <translation>Utilitza el teclat virtual</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -784,11 +804,11 @@ Ctrl+4 - Use Virtual Keyboard (Windows Only)&lt;/p&gt;</source>
</message> </message>
<message> <message>
<source>Allow Selected</source> <source>Allow Selected</source>
<translation>Permet els seleccionats</translation> <translation>Permet la selecció</translation>
</message> </message>
<message> <message>
<source>Deny All</source> <source>Deny All</source>
<translation>Denega-ho tot</translation> <translation>Denegar tot</translation>
</message> </message>
<message> <message>
<source>Disable for this site</source> <source>Disable for this site</source>
@@ -1075,7 +1095,7 @@ Would you like to migrate your existing settings now?</source>
<message> <message>
<source>Browse</source> <source>Browse</source>
<extracomment>Button for opening file dialog</extracomment> <extracomment>Button for opening file dialog</extracomment>
<translation type="unfinished"/> <translation>Explora...</translation>
</message> </message>
<message> <message>
<source>Use a custom browser configuration location:</source> <source>Use a custom browser configuration location:</source>
@@ -1409,10 +1429,6 @@ Còpia de seguretat de la base de dades situada a %2</translation>
<source>Key File:</source> <source>Key File:</source>
<translation>Fitxer clau:</translation> <translation>Fitxer clau:</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation type="unfinished"/>
</message>
<message> <message>
<source>Key file help</source> <source>Key file help</source>
<translation type="unfinished"/> <translation type="unfinished"/>
@@ -1425,18 +1441,13 @@ Còpia de seguretat de la base de dades situada a %2</translation>
<source>Hardware Key:</source> <source>Hardware Key:</source>
<translation>Motxilla:</translation> <translation>Motxilla:</translation>
</message> </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> <message>
<source>Hardware key help</source> <source>Hardware key help</source>
<translation>Ajuda de la motxilla</translation> <translation>Ajuda de la motxilla</translation>
</message> </message>
<message> <message>
<source>Key file to unlock the database</source> <source>Key file to unlock the database</source>
<translation type="unfinished"/> <translation>Fitxer clau per desbloquejar la base de dades</translation>
</message> </message>
<message> <message>
<source>Browse for key file</source> <source>Browse for key file</source>
@@ -1444,7 +1455,7 @@ Còpia de seguretat de la base de dades situada a %2</translation>
</message> </message>
<message> <message>
<source>Browse</source> <source>Browse</source>
<translation type="unfinished"/> <translation>Explora...</translation>
</message> </message>
<message> <message>
<source>Refresh hardware tokens</source> <source>Refresh hardware tokens</source>
@@ -1456,7 +1467,7 @@ Còpia de seguretat de la base de dades situada a %2</translation>
</message> </message>
<message> <message>
<source>Unlock Database</source> <source>Unlock Database</source>
<translation type="unfinished"/> <translation>Desbloqueja la base de dades</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
@@ -1464,7 +1475,7 @@ Còpia de seguretat de la base de dades situada a %2</translation>
</message> </message>
<message> <message>
<source>Unlock</source> <source>Unlock</source>
<translation type="unfinished"/> <translation>Desbloqueja</translation>
</message> </message>
<message> <message>
<source>Please present or touch your YubiKey to continue</source> <source>Please present or touch your YubiKey to continue</source>
@@ -1490,7 +1501,7 @@ We recommend you update your KeePassXC installation.</source>
</message> </message>
<message> <message>
<source>Database unlock canceled.</source> <source>Database unlock canceled.</source>
<translation type="unfinished"/> <translation>Desbloqueig de la base de dades cancel·lat.</translation>
</message> </message>
<message> <message>
<source>Unlock failed and no password given</source> <source>Unlock failed and no password given</source>
@@ -1564,6 +1575,15 @@ If you do not have a key file, please leave the field empty.</source>
<source>Select hardware key</source> <source>Select hardware key</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</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>
</context> </context>
<context> <context>
<name>DatabaseSettingWidgetMetaData</name> <name>DatabaseSettingWidgetMetaData</name>
@@ -1588,7 +1608,7 @@ If you do not have a key file, please leave the field empty.</source>
</message> </message>
<message> <message>
<source>Database Credentials</source> <source>Database Credentials</source>
<translation type="unfinished"/> <translation>Credencials de la base de dades</translation>
</message> </message>
<message> <message>
<source>Encryption Settings</source> <source>Encryption Settings</source>
@@ -1643,7 +1663,7 @@ If you do not have a key file, please leave the field empty.</source>
</message> </message>
<message> <message>
<source>Remove</source> <source>Remove</source>
<translation>Suprimeix</translation> <translation>Suprimiu</translation>
</message> </message>
<message> <message>
<source>Delete the selected key?</source> <source>Delete the selected key?</source>
@@ -2203,13 +2223,21 @@ This is definitely a bug, please report it to the developers.</source>
<comment>Database tab name modifier</comment> <comment>Database tab name modifier</comment>
<translation>%1 [bloquejat]</translation> <translation>%1 [bloquejat]</translation>
</message> </message>
<message>
<source>Export database to XML file</source>
<translation type="unfinished"/>
</message>
<message>
<source>XML file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Writing the XML file failed</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseWidget</name> <name>DatabaseWidget</name>
<message>
<source>Database Tags</source>
<translation type="unfinished"/>
</message>
<message> <message>
<source>Searching</source> <source>Searching</source>
<translation type="unfinished"/> <translation type="unfinished"/>
@@ -2256,7 +2284,7 @@ This is definitely a bug, please report it to the developers.</source>
</message> </message>
<message> <message>
<source>Expired entries</source> <source>Expired entries</source>
<translation type="unfinished"/> <translation>Entrades caducades</translation>
</message> </message>
<message> <message>
<source>No current database.</source> <source>No current database.</source>
@@ -2376,6 +2404,22 @@ Voleu deshabilitar el desat segur i provar-ho un altre cop?</translation>
<source>Entries expiring within %1 day(s)</source> <source>Entries expiring within %1 day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message> </message>
<message>
<source>Searches and Tags</source>
<translation type="unfinished"/>
</message>
<message>
<source>Enter a unique name or overwrite an existing search from the list:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Save</source>
<translation>Desa</translation>
</message>
<message>
<source>Save Search</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidget</name> <name>EditEntryWidget</name>
@@ -2512,10 +2556,6 @@ Would you like to correct it?</source>
<source>Hide</source> <source>Hide</source>
<translation>Oculta</translation> <translation>Oculta</translation>
</message> </message>
<message>
<source>Tomorrow</source>
<translation>Demà</translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>%n week(s)</source> <source>%n week(s)</source>
<translation><numerusform>% n setmana/es</numerusform><numerusform>%n setmana/es</numerusform></translation> <translation><numerusform>% n setmana/es</numerusform><numerusform>%n setmana/es</numerusform></translation>
@@ -2528,6 +2568,10 @@ Would you like to correct it?</source>
<source>%n year(s)</source> <source>%n year(s)</source>
<translation><numerusform>% n any/s</numerusform><numerusform>%n any/s</numerusform></translation> <translation><numerusform>% n any/s</numerusform><numerusform>%n any/s</numerusform></translation>
</message> </message>
<message numerus="yes">
<source>%n hour(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidgetAdvanced</name> <name>EditEntryWidgetAdvanced</name>
@@ -2915,7 +2959,7 @@ Would you like to correct it?</source>
<message> <message>
<source>Browse</source> <source>Browse</source>
<extracomment>Button for opening file dialog</extracomment> <extracomment>Button for opening file dialog</extracomment>
<translation type="unfinished"/> <translation>Explora...</translation>
</message> </message>
<message> <message>
<source>Attachment</source> <source>Attachment</source>
@@ -3043,6 +3087,14 @@ Would you like to correct it?</source>
<source>Do not use HTTP Auth toggle for this and sub groups</source> <source>Do not use HTTP Auth toggle for this and sub groups</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Omit WWW subdomain from matching:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Omit WWW subdomain from matching toggle for this and sub groups</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditGroupWidgetKeeShare</name> <name>EditGroupWidgetKeeShare</name>
@@ -3076,7 +3128,7 @@ Would you like to correct it?</source>
</message> </message>
<message> <message>
<source>Browse</source> <source>Browse</source>
<translation type="unfinished"/> <translation>Explora...</translation>
</message> </message>
<message> <message>
<source>Clear fields</source> <source>Clear fields</source>
@@ -3624,6 +3676,10 @@ Error: %1</source>
<source>Auto-Type</source> <source>Auto-Type</source>
<translation>Compleció automàtica</translation> <translation>Compleció automàtica</translation>
</message> </message>
<message>
<source>Tags</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EntryModel</name> <name>EntryModel</name>
@@ -3730,14 +3786,14 @@ Error: %1</source>
</message> </message>
<message> <message>
<source>Has TOTP</source> <source>Has TOTP</source>
<translation type="unfinished"/> <translation>Disposa de TOTP</translation>
</message> </message>
</context> </context>
<context> <context>
<name>EntryPreviewWidget</name> <name>EntryPreviewWidget</name>
<message> <message>
<source>Display current TOTP value</source> <source>Display current TOTP value</source>
<translation type="unfinished"/> <translation>Mostra el valor actual de TOTP</translation>
</message> </message>
<message> <message>
<source>Close</source> <source>Close</source>
@@ -3831,6 +3887,10 @@ Error: %1</source>
<source>Disabled</source> <source>Disabled</source>
<translation>Inhabilitat</translation> <translation>Inhabilitat</translation>
</message> </message>
<message>
<source>Double click to copy value</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EntryURLModel</name> <name>EntryURLModel</name>
@@ -4748,7 +4808,7 @@ If this reoccurs, then your database file may be corrupt.</source>
</message> </message>
<message> <message>
<source>Note: Do NOT use a file that may change as that will prevent you from unlocking your database.</source> <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: NO utilitzeu un fitxer que pugui canviar, ja que us impedirà desbloquejar la base de dades.</translation>
</message> </message>
<message> <message>
<source>Browse for key file</source> <source>Browse for key file</source>
@@ -4756,7 +4816,7 @@ If this reoccurs, then your database file may be corrupt.</source>
</message> </message>
<message> <message>
<source>Browse</source> <source>Browse</source>
<translation type="unfinished"/> <translation>Explora...</translation>
</message> </message>
<message> <message>
<source>Old key file format</source> <source>Old key file format</source>
@@ -5000,7 +5060,7 @@ Are you sure you want to continue with this file?</source>
</message> </message>
<message> <message>
<source>Database &amp;Reports</source> <source>Database &amp;Reports</source>
<translation type="unfinished"/> <translation>Informes de la base de dades</translation>
</message> </message>
<message> <message>
<source>Statistics, health check, etc.</source> <source>Statistics, health check, etc.</source>
@@ -5072,11 +5132,11 @@ Are you sure you want to continue with this file?</source>
</message> </message>
<message> <message>
<source>&amp;Lock Database</source> <source>&amp;Lock Database</source>
<translation type="unfinished"/> <translation>B&amp;loqueja la base de dades</translation>
</message> </message>
<message> <message>
<source>Lock &amp;All Databases</source> <source>Lock &amp;All Databases</source>
<translation type="unfinished"/> <translation>Bloqueja totes les bases de dades</translation>
</message> </message>
<message> <message>
<source>&amp;Title</source> <source>&amp;Title</source>
@@ -5140,11 +5200,11 @@ Are you sure you want to continue with this file?</source>
</message> </message>
<message> <message>
<source>Show QR Code</source> <source>Show QR Code</source>
<translation type="unfinished"/> <translation>Mostra el codi QR</translation>
</message> </message>
<message> <message>
<source>Set up TOTP</source> <source>Set up TOTP</source>
<translation type="unfinished"/> <translation>Configura el TOTP...</translation>
</message> </message>
<message> <message>
<source>Copy &amp;TOTP</source> <source>Copy &amp;TOTP</source>
@@ -5192,7 +5252,7 @@ Are you sure you want to continue with this file?</source>
</message> </message>
<message> <message>
<source>Save Database Backup</source> <source>Save Database Backup</source>
<translation type="unfinished"/> <translation>Desa una còpia de seguretat...</translation>
</message> </message>
<message> <message>
<source>Add key to SSH Agent</source> <source>Add key to SSH Agent</source>
@@ -5216,11 +5276,11 @@ Are you sure you want to continue with this file?</source>
</message> </message>
<message> <message>
<source>Dark</source> <source>Dark</source>
<translation type="unfinished"/> <translation>Fosc</translation>
</message> </message>
<message> <message>
<source>Classic (Platform-native)</source> <source>Classic (Platform-native)</source>
<translation type="unfinished"/> <translation>Clàssic (natiu de la plataforma)</translation>
</message> </message>
<message> <message>
<source>Show Toolbar</source> <source>Show Toolbar</source>
@@ -5314,6 +5374,30 @@ We recommend you use the AppImage available on our downloads page.</source>
<source>You must restart the application to apply this setting. Would you like to restart now?</source> <source>You must restart the application to apply this setting. Would you like to restart now?</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Tags</source>
<translation type="unfinished"/>
</message>
<message>
<source>No Tags</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<source>%1 Entry(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<source>Copy Password and TOTP</source>
<translation>Copia la contrasenya i el TOTP</translation>
</message>
<message>
<source>&amp;XML File</source>
<translation type="unfinished"/>
</message>
<message>
<source>XML File</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ManageDatabase</name> <name>ManageDatabase</name>
@@ -5463,7 +5547,7 @@ We recommend you use the AppImage available on our downloads page.</source>
<name>NewDatabaseWizardPageDatabaseKey</name> <name>NewDatabaseWizardPageDatabaseKey</name>
<message> <message>
<source>Database Credentials</source> <source>Database Credentials</source>
<translation type="unfinished"/> <translation>Credencials de la base de dades</translation>
</message> </message>
<message> <message>
<source>A set of credentials known only to you that protects your database.</source> <source>A set of credentials known only to you that protects your database.</source>
@@ -5684,29 +5768,6 @@ We recommend you use the AppImage available on our downloads page.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
</context> </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>
<message>
<source>Toggle Password (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<source>Generate Password (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation type="unfinished"/>
</message>
</context>
<context> <context>
<name>PasswordEditWidget</name> <name>PasswordEditWidget</name>
<message> <message>
@@ -5885,10 +5946,6 @@ We recommend you use the AppImage available on our downloads page.</source>
<source>Also choose from:</source> <source>Also choose from:</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </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 type="unfinished"/>
</message>
<message> <message>
<source>Exclude look-alike characters</source> <source>Exclude look-alike characters</source>
<translation>Excloure caràcters d&apos;aspecte semblant</translation> <translation>Excloure caràcters d&apos;aspecte semblant</translation>
@@ -6038,6 +6095,57 @@ Do you want to overwrite it?</source>
<comment>Password quality</comment> <comment>Password quality</comment>
<translation>Excel·lent</translation> <translation>Excel·lent</translation>
</message> </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 type="unfinished"/>
</message>
</context>
<context>
<name>PasswordWidget</name>
<message>
<source>Passwords do not match</source>
<translation type="unfinished"/>
</message>
<message>
<source>Passwords match so far</source>
<translation type="unfinished"/>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<source>Generate Password (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation type="unfinished"/>
</message>
<message>
<source>Quality: %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Poor</source>
<comment>Password quality</comment>
<translation>Pobre</translation>
</message>
<message>
<source>Weak</source>
<comment>Password quality</comment>
<translation>Feble</translation>
</message>
<message>
<source>Good</source>
<comment>Password quality</comment>
<translation>Bona</translation>
</message>
<message>
<source>Excellent</source>
<comment>Password quality</comment>
<translation>Excel·lent</translation>
</message>
</context> </context>
<context> <context>
<name>PickcharsDialog</name> <name>PickcharsDialog</name>
@@ -6382,7 +6490,7 @@ Do you want to overwrite it?</source>
</message> </message>
<message> <message>
<source>Copy the current TOTP to the clipboard (equivalent to &quot;-a totp&quot;).</source> <source>Copy the current TOTP to the clipboard (equivalent to &quot;-a totp&quot;).</source>
<translation type="unfinished"/> <translation>Copia el TOTP actual al porta-retalls (equivalent a &quot;-a totp&quot;).</translation>
</message> </message>
<message> <message>
<source>Must match only one entry, otherwise a list of possible matches is shown.</source> <source>Must match only one entry, otherwise a list of possible matches is shown.</source>
@@ -6419,11 +6527,11 @@ Do you want to overwrite it?</source>
</message> </message>
<message> <message>
<source>ERROR: Please specify one of --attribute or --totp, not both.</source> <source>ERROR: Please specify one of --attribute or --totp, not both.</source>
<translation type="unfinished"/> <translation>ERROR: Especifiqueu un, --atribut o --totp, no tots dos.</translation>
</message> </message>
<message> <message>
<source>Entry with path %1 has no TOTP set up.</source> <source>Entry with path %1 has no TOTP set up.</source>
<translation type="unfinished"/> <translation>L&apos;entrada amb la ruta %1 no té configurat TOTP.</translation>
</message> </message>
<message> <message>
<source>ERROR: attribute %1 is ambiguous, it matches %2.</source> <source>ERROR: attribute %1 is ambiguous, it matches %2.</source>
@@ -7095,7 +7203,7 @@ Available commands:
</message> </message>
<message> <message>
<source>Show the entry&apos;s current TOTP.</source> <source>Show the entry&apos;s current TOTP.</source>
<translation type="unfinished"/> <translation>Mostra el TOTP actual de l&apos;entrada.</translation>
</message> </message>
<message> <message>
<source>Show the protected attributes in clear text.</source> <source>Show the protected attributes in clear text.</source>
@@ -7168,10 +7276,6 @@ Please consider generating a new key file.</source>
<source>Invalid YubiKey serial %1</source> <source>Invalid YubiKey serial %1</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Please present or touch your YubiKey to continue…</source>
<translation type="unfinished"/>
</message>
<message> <message>
<source>Enter password to encrypt database (optional): </source> <source>Enter password to encrypt database (optional): </source>
<translation type="unfinished"/> <translation type="unfinished"/>
@@ -7319,7 +7423,7 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>Quick Unlock</source> <source>Quick Unlock</source>
<translation type="unfinished"/> <translation>Desbloqueig ràpid</translation>
</message> </message>
<message> <message>
<source>Secret Service Integration</source> <source>Secret Service Integration</source>
@@ -7545,11 +7649,11 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>Browser Statistics</source> <source>Browser Statistics</source>
<translation type="unfinished"/> <translation>Estadístiques del navegador</translation>
</message> </message>
<message> <message>
<source>Health Check</source> <source>Health Check</source>
<translation type="unfinished"/> <translation>Informe de salut</translation>
</message> </message>
<message> <message>
<source>HIBP</source> <source>HIBP</source>
@@ -7557,7 +7661,7 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>Statistics</source> <source>Statistics</source>
<translation type="unfinished"/> <translation>Estadístiques</translation>
</message> </message>
<message> <message>
<source>Unsupported key file version: %1</source> <source>Unsupported key file version: %1</source>
@@ -7589,7 +7693,7 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>lock all open databases</source> <source>lock all open databases</source>
<translation type="unfinished"/> <translation>bloqueja totes les bases de dades obertes</translation>
</message> </message>
<message> <message>
<source>key file of the database</source> <source>key file of the database</source>
@@ -7605,11 +7709,11 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>Locked databases.</source> <source>Locked databases.</source>
<translation type="unfinished"/> <translation>Bases de dades bloquejades.</translation>
</message> </message>
<message> <message>
<source>Database failed to lock.</source> <source>Database failed to lock.</source>
<translation type="unfinished"/> <translation>La base de dades no s&apos;ha pogut bloquejar.</translation>
</message> </message>
<message> <message>
<source>Another instance of KeePassXC is already running.</source> <source>Another instance of KeePassXC is already running.</source>
@@ -7649,6 +7753,67 @@ Nucli: %3 %4</translation>
<source>Failed to sign challenge using Windows Hello.</source> <source>Failed to sign challenge using Windows Hello.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Please present or touch your YubiKey to continue.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Show all the attributes of the entry.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Edit a database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Could not change the database key.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Database was not modified.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Successfully edited the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Loading the new key file failed: %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unset the password for the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unset the key file for the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot use %1 and %2 at the same time.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove all the keys from a database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove password: The database does not have a password.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove file key: The database does not have a file key.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Found unexpected Key type %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>QtIOCompressor</name> <name>QtIOCompressor</name>
@@ -8196,6 +8361,10 @@ Nucli: %3 %4</translation>
<source>Limit search to selected group</source> <source>Limit search to selected group</source>
<translation>Limitar la cerca al grup seleccionat</translation> <translation>Limitar la cerca al grup seleccionat</translation>
</message> </message>
<message>
<source>Save Search</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>SettingsClientModel</name> <name>SettingsClientModel</name>
@@ -8408,16 +8577,39 @@ Nucli: %3 %4</translation>
</context> </context>
<context> <context>
<name>TagModel</name> <name>TagModel</name>
<message>
<source>All</source>
<translation type="unfinished"/>
</message>
<message> <message>
<source>Expired</source> <source>Expired</source>
<translation type="unfinished"/> <translation>Caducades</translation>
</message> </message>
<message> <message>
<source>Weak Passwords</source> <source>Weak Passwords</source>
<translation>Contrasenyes febles</translation>
</message>
<message>
<source>All Entries</source>
<translation type="unfinished"/>
</message>
<message>
<source>Clear Search</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>TagView</name>
<message>
<source>Remove Search</source>
<translation type="unfinished"/>
</message>
<message>
<source>Remove Tag</source>
<translation type="unfinished"/>
</message>
<message>
<source>Confirm Remove Tag</source>
<translation type="unfinished"/>
</message>
<message>
<source>Remove tag &quot;%1&quot; from all entries in this database?</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
</context> </context>
@@ -8449,7 +8641,7 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>There was an error creating the QR code.</source> <source>There was an error creating the QR code.</source>
<translation type="unfinished"/> <translation>Hi hagut un error creant el codi QR</translation>
</message> </message>
<message> <message>
<source>Closing in %1 seconds.</source> <source>Closing in %1 seconds.</source>
@@ -8517,7 +8709,7 @@ Nucli: %3 %4</translation>
</message> </message>
<message> <message>
<source>Invalid TOTP Secret</source> <source>Invalid TOTP Secret</source>
<translation type="unfinished"/> <translation>Secret de TOTP no vàlid</translation>
</message> </message>
<message> <message>
<source>You have entered an invalid secret key. The key must be in Base32 format. <source>You have entered an invalid secret key. The key must be in Base32 format.
@@ -8526,7 +8718,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message> </message>
<message> <message>
<source>Confirm Remove TOTP Settings</source> <source>Confirm Remove TOTP Settings</source>
<translation type="unfinished"/> <translation>Confirma l&apos;eliminació de la configuració de TOTP</translation>
</message> </message>
<message> <message>
<source>Are you sure you want to delete TOTP settings for this entry?</source> <source>Are you sure you want to delete TOTP settings for this entry?</source>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -227,6 +227,10 @@
<source>Select backup storage directory</source> <source>Select backup storage directory</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>This setting cannot be enabled when minimize on unlock is enabled.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetGeneral</name> <name>ApplicationSettingsWidgetGeneral</name>
@@ -495,6 +499,14 @@
<source>Remember last typed entry for:</source> <source>Remember last typed entry for:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source> recent files</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show passwords in color</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetSecurity</name> <name>ApplicationSettingsWidgetSecurity</name>
@@ -584,6 +596,10 @@
<source>Use DuckDuckGo service to download website icons</source> <source>Use DuckDuckGo service to download website icons</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Hide TOTP in the entry preview panel</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>AutoType</name> <name>AutoType</name>
@@ -644,6 +660,10 @@
<source>Invalid placeholder: %1</source> <source>Invalid placeholder: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Entry does not have attribute for PICKCHARS: %1</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>AutoTypeAssociationsModel</name> <name>AutoTypeAssociationsModel</name>
@@ -1426,10 +1446,6 @@ Backup database located at %2</source>
<source>Key File:</source> <source>Key File:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Key file help</source> <source>Key file help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1442,11 +1458,6 @@ Backup database located at %2</source>
<source>Hardware Key:</source> <source>Hardware Key:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </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> <message>
<source>Hardware key help</source> <source>Hardware key help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1524,10 +1535,6 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source> <source>Retry with empty password</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Failed to authenticate with Windows Hello</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Failed to authenticate with Touch ID</source> <source>Failed to authenticate with Touch ID</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1581,6 +1588,23 @@ If you do not have a key file, please leave the field empty.</source>
<source>Select hardware key</source> <source>Select hardware key</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</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>authenticate to access the database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to authenticate with Windows Hello: %1</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingWidgetMetaData</name> <name>DatabaseSettingWidgetMetaData</name>
@@ -2010,18 +2034,10 @@ If you keep this number, your database will not be protected from brute force at
<source>Maximum number of history items per entry</source> <source>Maximum number of history items per entry</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Max. history items:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Maximum size of history per entry</source> <source>Maximum size of history per entry</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Max. history size:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source> MiB</source> <source> MiB</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2051,6 +2067,35 @@ This action is not reversible.</source>
<source> (old)</source> <source> (old)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that only the specified amount
of entries remain at most.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Limit the amount of history items per entry to:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that the remaining history items
add up to the specified amount at most.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Limit the total size of history items per entry to:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Move entries to a recycle bin group
instead of deleting them from the database.
Entries deleted from the recycle bin are
removed from the database.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingsWidgetKeeShare</name> <name>DatabaseSettingsWidgetKeeShare</name>
@@ -2234,13 +2279,21 @@ This is definitely a bug, please report it to the developers.</source>
<comment>Database tab name modifier</comment> <comment>Database tab name modifier</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Export database to XML file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>XML file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Writing the XML file failed</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseWidget</name> <name>DatabaseWidget</name>
<message>
<source>Database Tags</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Searching</source> <source>Searching</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2405,6 +2458,22 @@ Disable safe saves and try again?</source>
<numerusform></numerusform> <numerusform></numerusform>
</translation> </translation>
</message> </message>
<message>
<source>Searches and Tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enter a unique name or overwrite an existing search from the list:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save Search</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidget</name> <name>EditEntryWidget</name>
@@ -2826,22 +2895,10 @@ Would you like to correct it?</source>
<source>Notes field</source> <source>Notes field</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Username field</source> <source>Username field</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Toggle notes visible</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notes:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Expiration field</source> <source>Expiration field</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2858,14 +2915,6 @@ Would you like to correct it?</source>
<source>Presets</source> <source>Presets</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>URL:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Url field</source> <source>Url field</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2874,18 +2923,10 @@ Would you like to correct it?</source>
<source>Download favicon for URL</source> <source>Download favicon for URL</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Title:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Title field</source> <source>Title field</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Username:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Password field</source> <source>Password field</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2894,18 +2935,42 @@ Would you like to correct it?</source>
<source>Toggle expiration</source> <source>Toggle expiration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Expires:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Tags list</source> <source>Tags list</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>&amp;Username:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Title:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>UR&amp;L:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Notes:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Toggle notes visibility</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>T&amp;ags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Expires:</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidgetSSHAgent</name> <name>EditEntryWidgetSSHAgent</name>
@@ -3044,10 +3109,6 @@ Would you like to correct it?</source>
</context> </context>
<context> <context>
<name>EditGroupWidgetBrowser</name> <name>EditGroupWidgetBrowser</name>
<message>
<source>Edit Group</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>These settings affect to the group&apos;s behaviour with the browser extension.</source> <source>These settings affect to the group&apos;s behaviour with the browser extension.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3084,6 +3145,14 @@ Would you like to correct it?</source>
<source>Do not use HTTP Auth toggle for this and sub groups</source> <source>Do not use HTTP Auth toggle for this and sub groups</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Omit WWW subdomain from matching:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Omit WWW subdomain from matching toggle for this and sub groups</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>EditGroupWidgetKeeShare</name> <name>EditGroupWidgetKeeShare</name>
@@ -3890,6 +3959,10 @@ Error: %1</source>
<source>Disabled</source> <source>Disabled</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Double click to copy value</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>EntryURLModel</name> <name>EntryURLModel</name>
@@ -5148,10 +5221,6 @@ Are you sure you want to continue with this file?</source>
<source>Copy title to clipboard</source> <source>Copy title to clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>&amp;URL</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Copy URL to clipboard</source> <source>Copy URL to clipboard</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -5379,6 +5448,41 @@ We recommend you use the AppImage available on our downloads page.</source>
<source>You must restart the application to apply this setting. Would you like to restart now?</source> <source>You must restart the application to apply this setting. Would you like to restart now?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No Tags</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>%1 Entry(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
<source>Copy Password and TOTP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;XML File</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>XML File</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy &amp;URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow Screen Capture</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ManageDatabase</name> <name>ManageDatabase</name>
@@ -5748,27 +5852,8 @@ We recommend you use the AppImage available on our downloads page.</source>
<source>Unexpected EOF when writing private key</source> <source>Unexpected EOF when writing private key</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context>
<context>
<name>PasswordEdit</name>
<message> <message>
<source>Passwords do not match</source> <source>AES-256/GCM is currently not supported</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Passwords match so far</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@@ -5950,10 +6035,6 @@ We recommend you use the AppImage available on our downloads page.</source>
<source>Also choose from:</source> <source>Also choose from:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </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 type="unfinished"></translation>
</message>
<message> <message>
<source>Exclude look-alike characters</source> <source>Exclude look-alike characters</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -6103,6 +6184,61 @@ Do you want to overwrite it?</source>
<comment>Password quality</comment> <comment>Password quality</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </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 type="unfinished"></translation>
</message>
</context>
<context>
<name>PasswordWidget</name>
<message>
<source>Passwords do not match</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Passwords match so far</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quality: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poor</source>
<comment>Password quality</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Weak</source>
<comment>Password quality</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Good</source>
<comment>Password quality</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Excellent</source>
<comment>Password quality</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Toggle password visibilty using Control + H. Open the password generator using Control + G.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>PickcharsDialog</name> <name>PickcharsDialog</name>
@@ -7445,7 +7581,7 @@ Kernel: %3 %4</source>
</translation> </translation>
</message> </message>
<message> <message>
<source>Botan library must be at least 2.11.x, found %1.%2.%3</source> <source>Botan library must be at least %1, found %2.%3.%4</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -7734,10 +7870,6 @@ Kernel: %3 %4</source>
<source>KeePassXC - Error</source> <source>KeePassXC - Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Warning: Failed to prevent screenshots on a top level window!</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Database password: </source> <source>Database password: </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -7760,10 +7892,83 @@ Kernel: %3 %4</source>
<source>Failed to sign challenge using Windows Hello.</source> <source>Failed to sign challenge using Windows Hello.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Warning: Failed to block screenshot capture on a top-level window.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Invalid Cipher</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Invalid KDF</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Please present or touch your YubiKey to continue.</source> <source>Please present or touch your YubiKey to continue.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Show all the attributes of the entry.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Edit a database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not change the database key.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database was not modified.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Successfully edited the database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Loading the new key file failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unset the password for the database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unset the key file for the database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot use %1 and %2 at the same time.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot remove all the keys from a database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot remove password: The database does not have a password.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot remove file key: The database does not have a file key.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Found unexpected Key type %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC is not running. No open database to lock</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>QtIOCompressor</name> <name>QtIOCompressor</name>
@@ -8320,6 +8525,10 @@ Kernel: %3 %4</source>
<source>Limit search to selected group</source> <source>Limit search to selected group</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Save Search</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsClientModel</name> <name>SettingsClientModel</name>
@@ -8532,10 +8741,6 @@ Kernel: %3 %4</source>
</context> </context>
<context> <context>
<name>TagModel</name> <name>TagModel</name>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Expired</source> <source>Expired</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -8544,6 +8749,33 @@ Kernel: %3 %4</source>
<source>Weak Passwords</source> <source>Weak Passwords</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>All Entries</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Clear Search</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TagView</name>
<message>
<source>Remove Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Confirm Remove Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove tag &quot;%1&quot; from all entries in this database?</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>TotpDialog</name> <name>TotpDialog</name>

View File

@@ -225,6 +225,10 @@
<source>Select backup storage directory</source> <source>Select backup storage directory</source>
<translation>Select backup storage directory</translation> <translation>Select backup storage directory</translation>
</message> </message>
<message>
<source>This setting cannot be enabled when minimize on unlock is enabled.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetGeneral</name> <name>ApplicationSettingsWidgetGeneral</name>
@@ -493,6 +497,14 @@
<source>Remember last typed entry for:</source> <source>Remember last typed entry for:</source>
<translation>Remember last typed entry for:</translation> <translation>Remember last typed entry for:</translation>
</message> </message>
<message>
<source> recent files</source>
<translation type="unfinished"/>
</message>
<message>
<source>Show passwords in color</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetSecurity</name> <name>ApplicationSettingsWidgetSecurity</name>
@@ -572,7 +584,7 @@
</message> </message>
<message> <message>
<source>Enable double click to copy the username/password entry columns</source> <source>Enable double click to copy the username/password entry columns</source>
<translation>Enable double-click to copy the username/password entry columns</translation> <translation>Enable double click to copy the username/password entry columns</translation>
</message> </message>
<message> <message>
<source>Privacy</source> <source>Privacy</source>
@@ -582,6 +594,10 @@
<source>Use DuckDuckGo service to download website icons</source> <source>Use DuckDuckGo service to download website icons</source>
<translation>Use DuckDuckGo service to download website icons</translation> <translation>Use DuckDuckGo service to download website icons</translation>
</message> </message>
<message>
<source>Hide TOTP in the entry preview panel</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>AutoType</name> <name>AutoType</name>
@@ -643,6 +659,10 @@
<source>Invalid placeholder: %1</source> <source>Invalid placeholder: %1</source>
<translation>Invalid placeholder: %1</translation> <translation>Invalid placeholder: %1</translation>
</message> </message>
<message>
<source>Entry does not have attribute for PICKCHARS: %1</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>AutoTypeAssociationsModel</name> <name>AutoTypeAssociationsModel</name>
@@ -1380,7 +1400,7 @@ Would you like to migrate your existing settings now?</translation>
</message> </message>
<message> <message>
<source>Could not save, database has not been initialized!</source> <source>Could not save, database has not been initialized!</source>
<translation>Could not save. Database has not been initialised!</translation> <translation>Could not save, database has not been initialised!</translation>
</message> </message>
<message> <message>
<source>Database file has unmerged changes.</source> <source>Database file has unmerged changes.</source>
@@ -1430,10 +1450,6 @@ Backup database located at %2</translation>
<source>Key File:</source> <source>Key File:</source>
<translation>Key File:</translation> <translation>Key File:</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</translation>
</message>
<message> <message>
<source>Key file help</source> <source>Key file help</source>
<translation>Key file help</translation> <translation>Key file help</translation>
@@ -1446,12 +1462,6 @@ Backup database located at %2</translation>
<source>Hardware Key:</source> <source>Hardware Key:</source>
<translation>Hardware Key:</translation> <translation>Hardware Key:</translation>
</message> </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> <message>
<source>Hardware key help</source> <source>Hardware key help</source>
<translation>Hardware key help</translation> <translation>Hardware key help</translation>
@@ -1538,10 +1548,6 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source> <source>Retry with empty password</source>
<translation>Retry with empty password</translation> <translation>Retry with empty password</translation>
</message> </message>
<message>
<source>Failed to authenticate with Windows Hello</source>
<translation>Failed to authenticate with Windows Hello</translation>
</message>
<message> <message>
<source>Failed to authenticate with Touch ID</source> <source>Failed to authenticate with Touch ID</source>
<translation>Failed to authenticate with Touch ID</translation> <translation>Failed to authenticate with Touch ID</translation>
@@ -1596,6 +1602,24 @@ If you do not have a key file, please leave the field empty.</translation>
<source>Select hardware key</source> <source>Select hardware key</source>
<translation>Select hardware key</translation> <translation>Select hardware key</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</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>authenticate to access the database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Failed to authenticate with Windows Hello: %1</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingWidgetMetaData</name> <name>DatabaseSettingWidgetMetaData</name>
@@ -2024,18 +2048,10 @@ If you keep this number, your database will not be protected from brute force at
<source>Maximum number of history items per entry</source> <source>Maximum number of history items per entry</source>
<translation>Maximum number of history items per entry</translation> <translation>Maximum number of history items per entry</translation>
</message> </message>
<message>
<source>Max. history items:</source>
<translation>Max. history items:</translation>
</message>
<message> <message>
<source>Maximum size of history per entry</source> <source>Maximum size of history per entry</source>
<translation>Maximum size of history per entry</translation> <translation>Maximum size of history per entry</translation>
</message> </message>
<message>
<source>Max. history size:</source>
<translation>Max. history size:</translation>
</message>
<message> <message>
<source> MiB</source> <source> MiB</source>
<translation> MiB</translation> <translation> MiB</translation>
@@ -2066,6 +2082,35 @@ This action is not reversible.</translation>
<source> (old)</source> <source> (old)</source>
<translation> (old)</translation> <translation> (old)</translation>
</message> </message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that only the specified amount
of entries remain at most.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Limit the amount of history items per entry to:</source>
<translation type="unfinished"/>
</message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that the remaining history items
add up to the specified amount at most.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Limit the total size of history items per entry to:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Move entries to a recycle bin group
instead of deleting them from the database.
Entries deleted from the recycle bin are
removed from the database.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingsWidgetKeeShare</name> <name>DatabaseSettingsWidgetKeeShare</name>
@@ -2247,13 +2292,21 @@ This is definitely a bug, please report it to the developers.</translation>
<comment>Database tab name modifier</comment> <comment>Database tab name modifier</comment>
<translation>%1 [Locked]</translation> <translation>%1 [Locked]</translation>
</message> </message>
<message>
<source>Export database to XML file</source>
<translation type="unfinished"/>
</message>
<message>
<source>XML file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Writing the XML file failed</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseWidget</name> <name>DatabaseWidget</name>
<message>
<source>Database Tags</source>
<translation>Database Tags</translation>
</message>
<message> <message>
<source>Searching</source> <source>Searching</source>
<translation>Searching</translation> <translation>Searching</translation>
@@ -2420,6 +2473,22 @@ Disable safe saves and try again?</translation>
<source>Entries expiring within %1 day(s)</source> <source>Entries expiring within %1 day(s)</source>
<translation><numerusform>Entries expiring within %1 day</numerusform><numerusform>Entries expiring within %1 days</numerusform></translation> <translation><numerusform>Entries expiring within %1 day</numerusform><numerusform>Entries expiring within %1 days</numerusform></translation>
</message> </message>
<message>
<source>Searches and Tags</source>
<translation type="unfinished"/>
</message>
<message>
<source>Enter a unique name or overwrite an existing search from the list:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Save</source>
<translation>Save</translation>
</message>
<message>
<source>Save Search</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidget</name> <name>EditEntryWidget</name>
@@ -2834,22 +2903,10 @@ Would you like to correct it?</translation>
<source>Notes field</source> <source>Notes field</source>
<translation>Notes field</translation> <translation>Notes field</translation>
</message> </message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
<translation>Toggle the checkbox to reveal the notes section.</translation>
</message>
<message> <message>
<source>Username field</source> <source>Username field</source>
<translation>Username field</translation> <translation>Username field</translation>
</message> </message>
<message>
<source>Toggle notes visible</source>
<translation>Toggle notes visible</translation>
</message>
<message>
<source>Notes:</source>
<translation>Notes:</translation>
</message>
<message> <message>
<source>Expiration field</source> <source>Expiration field</source>
<translation>Expiry field</translation> <translation>Expiry field</translation>
@@ -2866,14 +2923,6 @@ Would you like to correct it?</translation>
<source>Presets</source> <source>Presets</source>
<translation>Presets</translation> <translation>Presets</translation>
</message> </message>
<message>
<source>Password:</source>
<translation>Password:</translation>
</message>
<message>
<source>URL:</source>
<translation>URL:</translation>
</message>
<message> <message>
<source>Url field</source> <source>Url field</source>
<translation>URL field</translation> <translation>URL field</translation>
@@ -2882,18 +2931,10 @@ Would you like to correct it?</translation>
<source>Download favicon for URL</source> <source>Download favicon for URL</source>
<translation>Download favicon for URL</translation> <translation>Download favicon for URL</translation>
</message> </message>
<message>
<source>Title:</source>
<translation>Title:</translation>
</message>
<message> <message>
<source>Title field</source> <source>Title field</source>
<translation>Title field</translation> <translation>Title field</translation>
</message> </message>
<message>
<source>Username:</source>
<translation>Username:</translation>
</message>
<message> <message>
<source>Password field</source> <source>Password field</source>
<translation>Password field</translation> <translation>Password field</translation>
@@ -2902,18 +2943,42 @@ Would you like to correct it?</translation>
<source>Toggle expiration</source> <source>Toggle expiration</source>
<translation>Toggle expiry</translation> <translation>Toggle expiry</translation>
</message> </message>
<message>
<source>Expires:</source>
<translation>Expires:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Tags:</translation>
</message>
<message> <message>
<source>Tags list</source> <source>Tags list</source>
<translation>Tags list</translation> <translation>Tags list</translation>
</message> </message>
<message>
<source>&amp;Username:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Title:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Password:</source>
<translation type="unfinished"/>
</message>
<message>
<source>UR&amp;L:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Notes:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Toggle notes visibility</source>
<translation type="unfinished"/>
</message>
<message>
<source>T&amp;ags:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Expires:</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidgetSSHAgent</name> <name>EditEntryWidgetSSHAgent</name>
@@ -3052,10 +3117,6 @@ Would you like to correct it?</translation>
</context> </context>
<context> <context>
<name>EditGroupWidgetBrowser</name> <name>EditGroupWidgetBrowser</name>
<message>
<source>Edit Group</source>
<translation>Edit Group</translation>
</message>
<message> <message>
<source>These settings affect to the group&apos;s behaviour with the browser extension.</source> <source>These settings affect to the group&apos;s behaviour with the browser extension.</source>
<translation>These settings affect the group&apos;s behaviour with the browser extension.</translation> <translation>These settings affect the group&apos;s behaviour with the browser extension.</translation>
@@ -3092,6 +3153,14 @@ Would you like to correct it?</translation>
<source>Do not use HTTP Auth toggle for this and sub groups</source> <source>Do not use HTTP Auth toggle for this and sub groups</source>
<translation>Do not use HTTP Auth toggle for this group and subgroups</translation> <translation>Do not use HTTP Auth toggle for this group and subgroups</translation>
</message> </message>
<message>
<source>Omit WWW subdomain from matching:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Omit WWW subdomain from matching toggle for this and sub groups</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditGroupWidgetKeeShare</name> <name>EditGroupWidgetKeeShare</name>
@@ -3239,7 +3308,7 @@ Supported extensions are: %1.</translation>
</message> </message>
<message> <message>
<source>Auto-Type toggle for this and sub groups</source> <source>Auto-Type toggle for this and sub groups</source>
<translation>Auto-Type toggle for this group and subgroups</translation> <translation>Auto-Type toggle for this and subgroups</translation>
</message> </message>
<message> <message>
<source>Notes:</source> <source>Notes:</source>
@@ -3897,6 +3966,10 @@ Error: %1</translation>
<source>Disabled</source> <source>Disabled</source>
<translation>Disabled</translation> <translation>Disabled</translation>
</message> </message>
<message>
<source>Double click to copy value</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EntryURLModel</name> <name>EntryURLModel</name>
@@ -5165,10 +5238,6 @@ Are you sure you want to continue with this file?</translation>
<source>Copy title to clipboard</source> <source>Copy title to clipboard</source>
<translation>Copy title to clipboard</translation> <translation>Copy title to clipboard</translation>
</message> </message>
<message>
<source>&amp;URL</source>
<translation>&amp;URL</translation>
</message>
<message> <message>
<source>Copy URL to clipboard</source> <source>Copy URL to clipboard</source>
<translation>Copy URL to clipboard</translation> <translation>Copy URL to clipboard</translation>
@@ -5397,6 +5466,38 @@ We recommend you use the AppImage available on our downloads page.</translation>
<source>You must restart the application to apply this setting. Would you like to restart now?</source> <source>You must restart the application to apply this setting. Would you like to restart now?</source>
<translation>You must restart the application to apply this setting. Would you like to restart now?</translation> <translation>You must restart the application to apply this setting. Would you like to restart now?</translation>
</message> </message>
<message>
<source>Tags</source>
<translation>Tags</translation>
</message>
<message>
<source>No Tags</source>
<translation type="unfinished"/>
</message>
<message numerus="yes">
<source>%1 Entry(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<source>Copy Password and TOTP</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;XML File</source>
<translation type="unfinished"/>
</message>
<message>
<source>XML File</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;URL</source>
<translation type="unfinished"/>
</message>
<message>
<source>Allow Screen Capture</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ManageDatabase</name> <name>ManageDatabase</name>
@@ -5767,28 +5868,9 @@ We recommend you use the AppImage available on our downloads page.</translation>
<source>Unexpected EOF when writing private key</source> <source>Unexpected EOF when writing private key</source>
<translation>Unexpected EOF when writing private key</translation> <translation>Unexpected EOF when writing private key</translation>
</message> </message>
</context>
<context>
<name>PasswordEdit</name>
<message> <message>
<source>Passwords do not match</source> <source>AES-256/GCM is currently not supported</source>
<translation>Passwords do not match</translation> <translation type="unfinished"/>
</message>
<message>
<source>Passwords match so far</source>
<translation>Passwords match so far</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Toggle Password (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Generate Password (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Warning: Caps Lock enabled!</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -5969,10 +6051,6 @@ We recommend you use the AppImage available on our downloads page.</translation>
<source>Also choose from:</source> <source>Also choose from:</source>
<translation>Also choose from:</translation> <translation>Also choose from:</translation>
</message> </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>Excluded characters: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;&quot;</translation>
</message>
<message> <message>
<source>Exclude look-alike characters</source> <source>Exclude look-alike characters</source>
<translation>Exclude look-alike characters</translation> <translation>Exclude look-alike characters</translation>
@@ -6123,6 +6201,61 @@ Do you want to overwrite it?</translation>
<comment>Password quality</comment> <comment>Password quality</comment>
<translation>Excellent</translation> <translation>Excellent</translation>
</message> </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>Excluded characters: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;&quot;</translation>
</message>
</context>
<context>
<name>PasswordWidget</name>
<message>
<source>Passwords do not match</source>
<translation>Passwords do not match</translation>
</message>
<message>
<source>Passwords match so far</source>
<translation>Passwords match so far</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Toggle Password (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Generate Password (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Warning: Caps Lock enabled!</translation>
</message>
<message>
<source>Quality: %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Poor</source>
<comment>Password quality</comment>
<translation>Poor</translation>
</message>
<message>
<source>Weak</source>
<comment>Password quality</comment>
<translation>Weak</translation>
</message>
<message>
<source>Good</source>
<comment>Password quality</comment>
<translation>Good</translation>
</message>
<message>
<source>Excellent</source>
<comment>Password quality</comment>
<translation>Excellent</translation>
</message>
<message>
<source>Toggle password visibilty using Control + H. Open the password generator using Control + G.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>PickcharsDialog</name> <name>PickcharsDialog</name>
@@ -7446,8 +7579,8 @@ Kernel: %3 %4</translation>
<translation><numerusform>%1 minute</numerusform><numerusform>%1 minutes</numerusform></translation> <translation><numerusform>%1 minute</numerusform><numerusform>%1 minutes</numerusform></translation>
</message> </message>
<message> <message>
<source>Botan library must be at least 2.11.x, found %1.%2.%3</source> <source>Botan library must be at least %1, found %2.%3.%4</source>
<translation>Botan library must be at least 2.11.x, found %1.%2.%3</translation> <translation type="unfinished"/>
</message> </message>
<message> <message>
<source>Cryptographic libraries:</source> <source>Cryptographic libraries:</source>
@@ -7588,12 +7721,12 @@ Kernel: %3 %4</translation>
<message numerus="yes"> <message numerus="yes">
<source>%1 ms</source> <source>%1 ms</source>
<comment>milliseconds</comment> <comment>milliseconds</comment>
<translation><numerusform>%1 ms</numerusform><numerusform>%1ms</numerusform></translation> <translation><numerusform>%1ms</numerusform><numerusform>%1ms</numerusform></translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>%1 s</source> <source>%1 s</source>
<comment>seconds</comment> <comment>seconds</comment>
<translation><numerusform>%1 s</numerusform><numerusform>%1s</numerusform></translation> <translation><numerusform>%1s</numerusform><numerusform>%1s</numerusform></translation>
</message> </message>
<message> <message>
<source>Do you really want to delete the entry &quot;%1&quot; for good?</source> <source>Do you really want to delete the entry &quot;%1&quot; for good?</source>
@@ -7711,10 +7844,6 @@ Kernel: %3 %4</translation>
<source>KeePassXC - Error</source> <source>KeePassXC - Error</source>
<translation>KeePassXC - Error</translation> <translation>KeePassXC - Error</translation>
</message> </message>
<message>
<source>Warning: Failed to prevent screenshots on a top level window!</source>
<translation>Warning: Failed to prevent screenshots on a top level window!</translation>
</message>
<message> <message>
<source>Database password: </source> <source>Database password: </source>
<translation>Database password: </translation> <translation>Database password: </translation>
@@ -7737,8 +7866,81 @@ Kernel: %3 %4</translation>
<source>Failed to sign challenge using Windows Hello.</source> <source>Failed to sign challenge using Windows Hello.</source>
<translation>Failed to sign challenge using Windows Hello.</translation> <translation>Failed to sign challenge using Windows Hello.</translation>
</message> </message>
<message>
<source>Warning: Failed to block screenshot capture on a top-level window.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Invalid Cipher</source>
<translation type="unfinished"/>
</message>
<message>
<source>Invalid KDF</source>
<translation type="unfinished"/>
</message>
<message> <message>
<source>Please present or touch your YubiKey to continue.</source> <source>Please present or touch your YubiKey to continue.</source>
<translation>Please present or touch your YubiKey to continue.</translation>
</message>
<message>
<source>Show all the attributes of the entry.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Edit a database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Could not change the database key.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Database was not modified.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Successfully edited the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Loading the new key file failed: %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unset the password for the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unset the key file for the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot use %1 and %2 at the same time.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove all the keys from a database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove password: The database does not have a password.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove file key: The database does not have a file key.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Found unexpected Key type %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePassXC is not running. No open database to lock</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
</context> </context>
@@ -8288,6 +8490,10 @@ Kernel: %3 %4</translation>
<source>Limit search to selected group</source> <source>Limit search to selected group</source>
<translation>Limit search to selected group</translation> <translation>Limit search to selected group</translation>
</message> </message>
<message>
<source>Save Search</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>SettingsClientModel</name> <name>SettingsClientModel</name>
@@ -8508,10 +8714,6 @@ Kernel: %3 %4</translation>
</context> </context>
<context> <context>
<name>TagModel</name> <name>TagModel</name>
<message>
<source>All</source>
<translation>All</translation>
</message>
<message> <message>
<source>Expired</source> <source>Expired</source>
<translation>Expired</translation> <translation>Expired</translation>
@@ -8520,6 +8722,33 @@ Kernel: %3 %4</translation>
<source>Weak Passwords</source> <source>Weak Passwords</source>
<translation>Weak Passwords</translation> <translation>Weak Passwords</translation>
</message> </message>
<message>
<source>All Entries</source>
<translation type="unfinished"/>
</message>
<message>
<source>Clear Search</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>TagView</name>
<message>
<source>Remove Search</source>
<translation type="unfinished"/>
</message>
<message>
<source>Remove Tag</source>
<translation type="unfinished"/>
</message>
<message>
<source>Confirm Remove Tag</source>
<translation type="unfinished"/>
</message>
<message>
<source>Remove tag &quot;%1&quot; from all entries in this database?</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>TotpDialog</name> <name>TotpDialog</name>

View File

@@ -225,6 +225,10 @@
<source>Select backup storage directory</source> <source>Select backup storage directory</source>
<translation>Select backup storage directory</translation> <translation>Select backup storage directory</translation>
</message> </message>
<message>
<source>This setting cannot be enabled when minimize on unlock is enabled.</source>
<translation>This setting cannot be enabled when minimize on unlock is enabled.</translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetGeneral</name> <name>ApplicationSettingsWidgetGeneral</name>
@@ -493,6 +497,14 @@
<source>Remember last typed entry for:</source> <source>Remember last typed entry for:</source>
<translation>Remember last typed entry for:</translation> <translation>Remember last typed entry for:</translation>
</message> </message>
<message>
<source> recent files</source>
<translation> recent files</translation>
</message>
<message>
<source>Show passwords in color</source>
<translation>Show passwords in color</translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetSecurity</name> <name>ApplicationSettingsWidgetSecurity</name>
@@ -582,6 +594,10 @@
<source>Use DuckDuckGo service to download website icons</source> <source>Use DuckDuckGo service to download website icons</source>
<translation>Use DuckDuckGo service to download website icons</translation> <translation>Use DuckDuckGo service to download website icons</translation>
</message> </message>
<message>
<source>Hide TOTP in the entry preview panel</source>
<translation>Hide TOTP in the entry preview panel</translation>
</message>
</context> </context>
<context> <context>
<name>AutoType</name> <name>AutoType</name>
@@ -643,6 +659,10 @@
<source>Invalid placeholder: %1</source> <source>Invalid placeholder: %1</source>
<translation>Invalid placeholder: %1</translation> <translation>Invalid placeholder: %1</translation>
</message> </message>
<message>
<source>Entry does not have attribute for PICKCHARS: %1</source>
<translation>Entry does not have attribute for PICKCHARS: %1</translation>
</message>
</context> </context>
<context> <context>
<name>AutoTypeAssociationsModel</name> <name>AutoTypeAssociationsModel</name>
@@ -1430,10 +1450,6 @@ Backup database located at %2</translation>
<source>Key File:</source> <source>Key File:</source>
<translation>Key File:</translation> <translation>Key File:</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</translation>
</message>
<message> <message>
<source>Key file help</source> <source>Key file help</source>
<translation>Key file help</translation> <translation>Key file help</translation>
@@ -1446,12 +1462,6 @@ Backup database located at %2</translation>
<source>Hardware Key:</source> <source>Hardware Key:</source>
<translation>Hardware Key:</translation> <translation>Hardware Key:</translation>
</message> </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> <message>
<source>Hardware key help</source> <source>Hardware key help</source>
<translation>Hardware key help</translation> <translation>Hardware key help</translation>
@@ -1538,10 +1548,6 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source> <source>Retry with empty password</source>
<translation>Retry with empty password</translation> <translation>Retry with empty password</translation>
</message> </message>
<message>
<source>Failed to authenticate with Windows Hello</source>
<translation>Failed to authenticate with Windows Hello</translation>
</message>
<message> <message>
<source>Failed to authenticate with Touch ID</source> <source>Failed to authenticate with Touch ID</source>
<translation>Failed to authenticate with Touch ID</translation> <translation>Failed to authenticate with Touch ID</translation>
@@ -1596,6 +1602,24 @@ If you do not have a key file, please leave the field empty.</translation>
<source>Select hardware key</source> <source>Select hardware key</source>
<translation>Select hardware key</translation> <translation>Select hardware key</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</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>authenticate to access the database</source>
<translation>authenticate to access the database</translation>
</message>
<message>
<source>Failed to authenticate with Windows Hello: %1</source>
<translation>Failed to authenticate with Windows Hello: %1</translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingWidgetMetaData</name> <name>DatabaseSettingWidgetMetaData</name>
@@ -2024,18 +2048,10 @@ If you keep this number, your database will not be protected from brute force at
<source>Maximum number of history items per entry</source> <source>Maximum number of history items per entry</source>
<translation>Maximum number of history items per entry</translation> <translation>Maximum number of history items per entry</translation>
</message> </message>
<message>
<source>Max. history items:</source>
<translation>Max. history items:</translation>
</message>
<message> <message>
<source>Maximum size of history per entry</source> <source>Maximum size of history per entry</source>
<translation>Maximum size of history per entry</translation> <translation>Maximum size of history per entry</translation>
</message> </message>
<message>
<source>Max. history size:</source>
<translation>Max. history size:</translation>
</message>
<message> <message>
<source> MiB</source> <source> MiB</source>
<translation> MiB</translation> <translation> MiB</translation>
@@ -2066,6 +2082,44 @@ This action is not reversible.</translation>
<source> (old)</source> <source> (old)</source>
<translation> (old)</translation> <translation> (old)</translation>
</message> </message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that only the specified amount
of entries remain at most.</source>
<translation>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that only the specified amount
of entries remain at most.</translation>
</message>
<message>
<source>Limit the amount of history items per entry to:</source>
<translation>Limit the amount of history items per entry to:</translation>
</message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that the remaining history items
add up to the specified amount at most.</source>
<translation>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that the remaining history items
add up to the specified amount at most.</translation>
</message>
<message>
<source>Limit the total size of history items per entry to:</source>
<translation>Limit the total size of history items per entry to:</translation>
</message>
<message>
<source>Move entries to a recycle bin group
instead of deleting them from the database.
Entries deleted from the recycle bin are
removed from the database.</source>
<translation>Move entries to a recycle bin group
instead of deleting them from the database.
Entries deleted from the recycle bin are
removed from the database.</translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingsWidgetKeeShare</name> <name>DatabaseSettingsWidgetKeeShare</name>
@@ -2247,13 +2301,21 @@ This is definitely a bug, please report it to the developers.</translation>
<comment>Database tab name modifier</comment> <comment>Database tab name modifier</comment>
<translation>%1 [Locked]</translation> <translation>%1 [Locked]</translation>
</message> </message>
<message>
<source>Export database to XML file</source>
<translation>Export database to XML file</translation>
</message>
<message>
<source>XML file</source>
<translation>XML file</translation>
</message>
<message>
<source>Writing the XML file failed</source>
<translation>Writing the XML file failed</translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseWidget</name> <name>DatabaseWidget</name>
<message>
<source>Database Tags</source>
<translation>Database Tags</translation>
</message>
<message> <message>
<source>Searching</source> <source>Searching</source>
<translation>Searching</translation> <translation>Searching</translation>
@@ -2420,6 +2482,22 @@ Disable safe saves and try again?</translation>
<source>Entries expiring within %1 day(s)</source> <source>Entries expiring within %1 day(s)</source>
<translation><numerusform>Entries expiring within %1 day</numerusform><numerusform>Entries expiring within %1 days</numerusform></translation> <translation><numerusform>Entries expiring within %1 day</numerusform><numerusform>Entries expiring within %1 days</numerusform></translation>
</message> </message>
<message>
<source>Searches and Tags</source>
<translation>Searches and Tags</translation>
</message>
<message>
<source>Enter a unique name or overwrite an existing search from the list:</source>
<translation>Enter a unique name or overwrite an existing search from the list:</translation>
</message>
<message>
<source>Save</source>
<translation>Save</translation>
</message>
<message>
<source>Save Search</source>
<translation>Save Search</translation>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidget</name> <name>EditEntryWidget</name>
@@ -2834,22 +2912,10 @@ Would you like to correct it?</translation>
<source>Notes field</source> <source>Notes field</source>
<translation>Notes field</translation> <translation>Notes field</translation>
</message> </message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
<translation>Toggle the checkbox to reveal the notes section.</translation>
</message>
<message> <message>
<source>Username field</source> <source>Username field</source>
<translation>Username field</translation> <translation>Username field</translation>
</message> </message>
<message>
<source>Toggle notes visible</source>
<translation>Toggle notes visible</translation>
</message>
<message>
<source>Notes:</source>
<translation>Notes:</translation>
</message>
<message> <message>
<source>Expiration field</source> <source>Expiration field</source>
<translation>Expiration field</translation> <translation>Expiration field</translation>
@@ -2866,14 +2932,6 @@ Would you like to correct it?</translation>
<source>Presets</source> <source>Presets</source>
<translation>Presets</translation> <translation>Presets</translation>
</message> </message>
<message>
<source>Password:</source>
<translation>Password:</translation>
</message>
<message>
<source>URL:</source>
<translation>URL:</translation>
</message>
<message> <message>
<source>Url field</source> <source>Url field</source>
<translation>Url field</translation> <translation>Url field</translation>
@@ -2882,18 +2940,10 @@ Would you like to correct it?</translation>
<source>Download favicon for URL</source> <source>Download favicon for URL</source>
<translation>Download favicon for URL</translation> <translation>Download favicon for URL</translation>
</message> </message>
<message>
<source>Title:</source>
<translation>Title:</translation>
</message>
<message> <message>
<source>Title field</source> <source>Title field</source>
<translation>Title field</translation> <translation>Title field</translation>
</message> </message>
<message>
<source>Username:</source>
<translation>Username:</translation>
</message>
<message> <message>
<source>Password field</source> <source>Password field</source>
<translation>Password field</translation> <translation>Password field</translation>
@@ -2902,18 +2952,42 @@ Would you like to correct it?</translation>
<source>Toggle expiration</source> <source>Toggle expiration</source>
<translation>Toggle expiration</translation> <translation>Toggle expiration</translation>
</message> </message>
<message>
<source>Expires:</source>
<translation>Expires:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Tags:</translation>
</message>
<message> <message>
<source>Tags list</source> <source>Tags list</source>
<translation>Tags list</translation> <translation>Tags list</translation>
</message> </message>
<message>
<source>&amp;Username:</source>
<translation>&amp;Username:</translation>
</message>
<message>
<source>&amp;Title:</source>
<translation>&amp;Title:</translation>
</message>
<message>
<source>&amp;Password:</source>
<translation>&amp;Password:</translation>
</message>
<message>
<source>UR&amp;L:</source>
<translation>UR&amp;L:</translation>
</message>
<message>
<source>&amp;Notes:</source>
<translation>&amp;Notes:</translation>
</message>
<message>
<source>Toggle notes visibility</source>
<translation>Toggle notes visibility</translation>
</message>
<message>
<source>T&amp;ags:</source>
<translation>T&amp;ags:</translation>
</message>
<message>
<source>&amp;Expires:</source>
<translation>&amp;Expires:</translation>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidgetSSHAgent</name> <name>EditEntryWidgetSSHAgent</name>
@@ -3052,10 +3126,6 @@ Would you like to correct it?</translation>
</context> </context>
<context> <context>
<name>EditGroupWidgetBrowser</name> <name>EditGroupWidgetBrowser</name>
<message>
<source>Edit Group</source>
<translation>Edit Group</translation>
</message>
<message> <message>
<source>These settings affect to the group&apos;s behaviour with the browser extension.</source> <source>These settings affect to the group&apos;s behaviour with the browser extension.</source>
<translation>These settings affect to the group&apos;s behaviour with the browser extension.</translation> <translation>These settings affect to the group&apos;s behaviour with the browser extension.</translation>
@@ -3092,6 +3162,14 @@ Would you like to correct it?</translation>
<source>Do not use HTTP Auth toggle for this and sub groups</source> <source>Do not use HTTP Auth toggle for this and sub groups</source>
<translation>Do not use HTTP Auth toggle for this and sub groups</translation> <translation>Do not use HTTP Auth toggle for this and sub groups</translation>
</message> </message>
<message>
<source>Omit WWW subdomain from matching:</source>
<translation>Omit WWW subdomain from matching:</translation>
</message>
<message>
<source>Omit WWW subdomain from matching toggle for this and sub groups</source>
<translation>Omit WWW subdomain from matching toggle for this and sub groups</translation>
</message>
</context> </context>
<context> <context>
<name>EditGroupWidgetKeeShare</name> <name>EditGroupWidgetKeeShare</name>
@@ -3897,6 +3975,10 @@ Error: %1</translation>
<source>Disabled</source> <source>Disabled</source>
<translation>Disabled</translation> <translation>Disabled</translation>
</message> </message>
<message>
<source>Double click to copy value</source>
<translation>Double click to copy value</translation>
</message>
</context> </context>
<context> <context>
<name>EntryURLModel</name> <name>EntryURLModel</name>
@@ -5165,10 +5247,6 @@ Are you sure you want to continue with this file?</translation>
<source>Copy title to clipboard</source> <source>Copy title to clipboard</source>
<translation>Copy title to clipboard</translation> <translation>Copy title to clipboard</translation>
</message> </message>
<message>
<source>&amp;URL</source>
<translation>&amp;URL</translation>
</message>
<message> <message>
<source>Copy URL to clipboard</source> <source>Copy URL to clipboard</source>
<translation>Copy URL to clipboard</translation> <translation>Copy URL to clipboard</translation>
@@ -5397,6 +5475,38 @@ We recommend you use the AppImage available on our downloads page.</translation>
<source>You must restart the application to apply this setting. Would you like to restart now?</source> <source>You must restart the application to apply this setting. Would you like to restart now?</source>
<translation>You must restart the application to apply this setting. Would you like to restart now?</translation> <translation>You must restart the application to apply this setting. Would you like to restart now?</translation>
</message> </message>
<message>
<source>Tags</source>
<translation>Tags</translation>
</message>
<message>
<source>No Tags</source>
<translation>No Tags</translation>
</message>
<message numerus="yes">
<source>%1 Entry(s)</source>
<translation><numerusform>%1 Entry</numerusform><numerusform>%1 Entries</numerusform></translation>
</message>
<message>
<source>Copy Password and TOTP</source>
<translation>Copy Password and TOTP</translation>
</message>
<message>
<source>&amp;XML File</source>
<translation>&amp;XML File</translation>
</message>
<message>
<source>XML File</source>
<translation>XML File</translation>
</message>
<message>
<source>Copy &amp;URL</source>
<translation>Copy &amp;URL</translation>
</message>
<message>
<source>Allow Screen Capture</source>
<translation>Allow Screen Capture</translation>
</message>
</context> </context>
<context> <context>
<name>ManageDatabase</name> <name>ManageDatabase</name>
@@ -5767,28 +5877,9 @@ We recommend you use the AppImage available on our downloads page.</translation>
<source>Unexpected EOF when writing private key</source> <source>Unexpected EOF when writing private key</source>
<translation>Unexpected EOF when writing private key</translation> <translation>Unexpected EOF when writing private key</translation>
</message> </message>
</context>
<context>
<name>PasswordEdit</name>
<message> <message>
<source>Passwords do not match</source> <source>AES-256/GCM is currently not supported</source>
<translation>Passwords do not match</translation> <translation>AES-256/GCM is currently not supported</translation>
</message>
<message>
<source>Passwords match so far</source>
<translation>Passwords match so far</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Toggle Password (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Generate Password (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Warning: Caps Lock enabled!</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -5969,10 +6060,6 @@ We recommend you use the AppImage available on our downloads page.</translation>
<source>Also choose from:</source> <source>Also choose from:</source>
<translation>Also choose from:</translation> <translation>Also choose from:</translation>
</message> </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>Excluded characters: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;&quot;</translation>
</message>
<message> <message>
<source>Exclude look-alike characters</source> <source>Exclude look-alike characters</source>
<translation>Exclude look-alike characters</translation> <translation>Exclude look-alike characters</translation>
@@ -6123,6 +6210,61 @@ Do you want to overwrite it?</translation>
<comment>Password quality</comment> <comment>Password quality</comment>
<translation>Excellent</translation> <translation>Excellent</translation>
</message> </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>Excluded characters: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;&quot;</translation>
</message>
</context>
<context>
<name>PasswordWidget</name>
<message>
<source>Passwords do not match</source>
<translation>Passwords do not match</translation>
</message>
<message>
<source>Passwords match so far</source>
<translation>Passwords match so far</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Toggle Password (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Generate Password (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Warning: Caps Lock enabled!</translation>
</message>
<message>
<source>Quality: %1</source>
<translation>Quality: %1</translation>
</message>
<message>
<source>Poor</source>
<comment>Password quality</comment>
<translation>Poor</translation>
</message>
<message>
<source>Weak</source>
<comment>Password quality</comment>
<translation>Weak</translation>
</message>
<message>
<source>Good</source>
<comment>Password quality</comment>
<translation>Good</translation>
</message>
<message>
<source>Excellent</source>
<comment>Password quality</comment>
<translation>Excellent</translation>
</message>
<message>
<source>Toggle password visibilty using Control + H. Open the password generator using Control + G.</source>
<translation>Toggle password visibilty using Control + H. Open the password generator using Control + G.</translation>
</message>
</context> </context>
<context> <context>
<name>PickcharsDialog</name> <name>PickcharsDialog</name>
@@ -7446,8 +7588,8 @@ Kernel: %3 %4</translation>
<translation><numerusform>%1 minute</numerusform><numerusform>%1 minutes</numerusform></translation> <translation><numerusform>%1 minute</numerusform><numerusform>%1 minutes</numerusform></translation>
</message> </message>
<message> <message>
<source>Botan library must be at least 2.11.x, found %1.%2.%3</source> <source>Botan library must be at least %1, found %2.%3.%4</source>
<translation>Botan library must be at least 2.11.x, found %1.%2.%3</translation> <translation>Botan library must be at least %1, found %2.%3.%4</translation>
</message> </message>
<message> <message>
<source>Cryptographic libraries:</source> <source>Cryptographic libraries:</source>
@@ -7711,10 +7853,6 @@ Kernel: %3 %4</translation>
<source>KeePassXC - Error</source> <source>KeePassXC - Error</source>
<translation>KeePassXC - Error</translation> <translation>KeePassXC - Error</translation>
</message> </message>
<message>
<source>Warning: Failed to prevent screenshots on a top level window!</source>
<translation>Warning: Failed to prevent screenshots on a top level window!</translation>
</message>
<message> <message>
<source>Database password: </source> <source>Database password: </source>
<translation>Database password: </translation> <translation>Database password: </translation>
@@ -7737,10 +7875,84 @@ Kernel: %3 %4</translation>
<source>Failed to sign challenge using Windows Hello.</source> <source>Failed to sign challenge using Windows Hello.</source>
<translation>Failed to sign challenge using Windows Hello.</translation> <translation>Failed to sign challenge using Windows Hello.</translation>
</message> </message>
<message>
<source>Warning: Failed to block screenshot capture on a top-level window.</source>
<translation>Warning: Failed to block screenshot capture on a top-level window.</translation>
</message>
<message>
<source>Invalid Cipher</source>
<translation>Invalid Cipher</translation>
</message>
<message>
<source>Invalid KDF</source>
<translation>Invalid KDF</translation>
</message>
<message> <message>
<source>Please present or touch your YubiKey to continue.</source> <source>Please present or touch your YubiKey to continue.</source>
<translation>Please present or touch your YubiKey to continue.</translation> <translation>Please present or touch your YubiKey to continue.</translation>
</message> </message>
<message>
<source>Show all the attributes of the entry.</source>
<translation>Show all the attributes of the entry.</translation>
</message>
<message>
<source>Edit a database.</source>
<translation>Edit a database.</translation>
</message>
<message>
<source>Could not change the database key.</source>
<translation>Could not change the database key.</translation>
</message>
<message>
<source>Database was not modified.</source>
<translation>Database was not modified.</translation>
</message>
<message>
<source>Successfully edited the database.</source>
<translation>Successfully edited the database.</translation>
</message>
<message>
<source>Loading the new key file failed: %1</source>
<translation>Loading the new key file failed: %1</translation>
</message>
<message>
<source>Unset the password for the database.</source>
<translation>Unset the password for the database.</translation>
</message>
<message>
<source>Unset the key file for the database.</source>
<translation>Unset the key file for the database.</translation>
</message>
<message>
<source>Cannot use %1 and %2 at the same time.</source>
<translation>Cannot use %1 and %2 at the same time.</translation>
</message>
<message>
<source>Cannot remove all the keys from a database.</source>
<translation>Cannot remove all the keys from a database.</translation>
</message>
<message>
<source>Cannot remove password: The database does not have a password.</source>
<translation>Cannot remove password: The database does not have a password.</translation>
</message>
<message>
<source>Cannot remove file key: The database does not have a file key.</source>
<translation>Cannot remove file key: The database does not have a file key.</translation>
</message>
<message>
<source>Found unexpected Key type %1</source>
<translation>Found unexpected Key type %1</translation>
</message>
<message>
<source>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</source>
<translation>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</translation>
</message>
<message>
<source>KeePassXC is not running. No open database to lock</source>
<translation>KeePassXC is not running. No open database to lock</translation>
</message>
</context> </context>
<context> <context>
<name>QtIOCompressor</name> <name>QtIOCompressor</name>
@@ -8288,6 +8500,10 @@ Kernel: %3 %4</translation>
<source>Limit search to selected group</source> <source>Limit search to selected group</source>
<translation>Limit search to selected group</translation> <translation>Limit search to selected group</translation>
</message> </message>
<message>
<source>Save Search</source>
<translation>Save Search</translation>
</message>
</context> </context>
<context> <context>
<name>SettingsClientModel</name> <name>SettingsClientModel</name>
@@ -8508,10 +8724,6 @@ Kernel: %3 %4</translation>
</context> </context>
<context> <context>
<name>TagModel</name> <name>TagModel</name>
<message>
<source>All</source>
<translation>All</translation>
</message>
<message> <message>
<source>Expired</source> <source>Expired</source>
<translation>Expired</translation> <translation>Expired</translation>
@@ -8520,6 +8732,33 @@ Kernel: %3 %4</translation>
<source>Weak Passwords</source> <source>Weak Passwords</source>
<translation>Weak Passwords</translation> <translation>Weak Passwords</translation>
</message> </message>
<message>
<source>All Entries</source>
<translation>All Entries</translation>
</message>
<message>
<source>Clear Search</source>
<translation>Clear Search</translation>
</message>
</context>
<context>
<name>TagView</name>
<message>
<source>Remove Search</source>
<translation>Remove Search</translation>
</message>
<message>
<source>Remove Tag</source>
<translation>Remove Tag</translation>
</message>
<message>
<source>Confirm Remove Tag</source>
<translation>Confirm Remove Tag</translation>
</message>
<message>
<source>Remove tag &quot;%1&quot; from all entries in this database?</source>
<translation>Remove tag &quot;%1&quot; from all entries in this database?</translation>
</message>
</context> </context>
<context> <context>
<name>TotpDialog</name> <name>TotpDialog</name>

File diff suppressed because it is too large Load Diff

View File

@@ -225,6 +225,10 @@
<source>Select backup storage directory</source> <source>Select backup storage directory</source>
<translation>Varundamise sihtkataloogi valimine</translation> <translation>Varundamise sihtkataloogi valimine</translation>
</message> </message>
<message>
<source>This setting cannot be enabled when minimize on unlock is enabled.</source>
<translation>Kuna valitud on luku avamise järel akna minimeerimine, ei saa seda valikut sisse lülitada.</translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetGeneral</name> <name>ApplicationSettingsWidgetGeneral</name>
@@ -493,6 +497,14 @@
<source>Remember last typed entry for:</source> <source>Remember last typed entry for:</source>
<translation>Viimati sisestatud kirjet mäletatakse:</translation> <translation>Viimati sisestatud kirjet mäletatakse:</translation>
</message> </message>
<message>
<source> recent files</source>
<translation>hiljutise faili piires</translation>
</message>
<message>
<source>Show passwords in color</source>
<translation>Paroole näidatakse värviliselt</translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetSecurity</name> <name>ApplicationSettingsWidgetSecurity</name>
@@ -582,6 +594,10 @@
<source>Use DuckDuckGo service to download website icons</source> <source>Use DuckDuckGo service to download website icons</source>
<translation>Saidiikoonide allalaadimiseks kasutatakse DuckDuckGo teenust</translation> <translation>Saidiikoonide allalaadimiseks kasutatakse DuckDuckGo teenust</translation>
</message> </message>
<message>
<source>Hide TOTP in the entry preview panel</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>AutoType</name> <name>AutoType</name>
@@ -643,6 +659,10 @@
<source>Invalid placeholder: %1</source> <source>Invalid placeholder: %1</source>
<translation>Vigane kohahoidja: %1</translation> <translation>Vigane kohahoidja: %1</translation>
</message> </message>
<message>
<source>Entry does not have attribute for PICKCHARS: %1</source>
<translation>PICKCHARS-automaatsisestuseks määratud atribuuti %1 kirjes ei leidu.</translation>
</message>
</context> </context>
<context> <context>
<name>AutoTypeAssociationsModel</name> <name>AutoTypeAssociationsModel</name>
@@ -690,7 +710,7 @@
</message> </message>
<message> <message>
<source>Sequence aborted: Caps Lock is on</source> <source>Sequence aborted: Caps Lock is on</source>
<translation>Jada sisestamine katkestati: Caps Lock on sisse lülitatud</translation> <translation>Jada sisestamine katkestati: suurtähelukk on sisse lülitatud</translation>
</message> </message>
<message> <message>
<source>Sequence aborted: Modifier keys held by user</source> <source>Sequence aborted: Modifier keys held by user</source>
@@ -1430,10 +1450,6 @@ Varuandmebaasi asukoht: %2</translation>
<source>Key File:</source> <source>Key File:</source>
<translation>Võtmefail:</translation> <translation>Võtmefail:</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation>&lt;p&gt;Lisaks paroolile saab andmebaasi turvalisuse suurendamiseks kasutada võtmefaili. Selle saab genereerida andmebaasi turvaseadetes.&lt;/p&gt;&lt;p&gt;See &lt;strong&gt;ei ole&lt;/strong&gt; sinu *.kdbx andmebaasifail!&lt;br&gt;Kui andmebaasi avamiseks pole võtmefaili vaja, jäta see väli tühjaks.&lt;/p&gt;&lt;p&gt;Lisateabe saamiseks klõpsa.&lt;/p&gt;</translation>
</message>
<message> <message>
<source>Key file help</source> <source>Key file help</source>
<translation>Abi võtmefailide kohta</translation> <translation>Abi võtmefailide kohta</translation>
@@ -1446,12 +1462,6 @@ Varuandmebaasi asukoht: %2</translation>
<source>Hardware Key:</source> <source>Hardware Key:</source>
<translation>Riistvaraline võti:</translation> <translation>Riistvaraline võti:</translation>
</message> </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;Kasutada saab riistvaralist võtit nagu &lt;strong&gt;YubiKey&lt;/strong&gt; või &lt;strong&gt;OnlyKey&lt;/strong&gt;, millel on HMAC-SHA1 jaoks seadistatud pesa.&lt;/p&gt;
&lt;p&gt;Lisateabe saamiseks klõpsa.&lt;/p&gt;</translation>
</message>
<message> <message>
<source>Hardware key help</source> <source>Hardware key help</source>
<translation>Riistvaralise võtme abi</translation> <translation>Riistvaralise võtme abi</translation>
@@ -1538,10 +1548,6 @@ Selle veateate ilmumise vältimiseks peaksid avama andmebaasi seadetes turvalisu
<source>Retry with empty password</source> <source>Retry with empty password</source>
<translation>Proovi uuesti tühja parooliga</translation> <translation>Proovi uuesti tühja parooliga</translation>
</message> </message>
<message>
<source>Failed to authenticate with Windows Hello</source>
<translation>Windows Helloga autentimine ebaõnnestus</translation>
</message>
<message> <message>
<source>Failed to authenticate with Touch ID</source> <source>Failed to authenticate with Touch ID</source>
<translation>Touch ID-ga autentimine ebaõnnestus</translation> <translation>Touch ID-ga autentimine ebaõnnestus</translation>
@@ -1596,6 +1602,24 @@ Kui andmebaasi avamiseks pole võtmefaili vaja, jäta see väli tühjaks.</trans
<source>Select hardware key</source> <source>Select hardware key</source>
<translation>vali riistvaraline võti</translation> <translation>vali riistvaraline võti</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</source>
<translation>&lt;p&gt;Lisaks paroolile saab andmebaasi turvalisuse suurendamiseks kasutada võtmefaili. Selle saab genereerida andmebaasi turvaseadetes.&lt;/p&gt;&lt;p&gt;See &lt;strong&gt;ei ole&lt;/strong&gt; sinu *.kdbx andmebaasifail!&lt;br&gt;Kui andmebaasi avamiseks pole võtmefaili vaja, jäta see väli tühjaks.&lt;/p&gt;&lt;p&gt;Lisateabe saamiseks klõpsa.&lt;/p&gt;</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;Kasutada saab riistvaralist võtit nagu &lt;strong&gt;YubiKey&lt;/strong&gt; või &lt;strong&gt;OnlyKey&lt;/strong&gt;, millel on HMAC-SHA1 jaoks seadistatud pesa.&lt;/p&gt;
&lt;p&gt;Lisateabe saamiseks klõpsa.&lt;/p&gt;</translation>
</message>
<message>
<source>authenticate to access the database</source>
<translation>andmebaasi avamiseks on tarvis autentida</translation>
</message>
<message>
<source>Failed to authenticate with Windows Hello: %1</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingWidgetMetaData</name> <name>DatabaseSettingWidgetMetaData</name>
@@ -2024,18 +2048,10 @@ Kui jätad selle suuremaks muutmata, on andmebaas jõhkra jõuga rünnete ees ka
<source>Maximum number of history items per entry</source> <source>Maximum number of history items per entry</source>
<translation>Ajalooelementide maksimaalne arv kirje kohta</translation> <translation>Ajalooelementide maksimaalne arv kirje kohta</translation>
</message> </message>
<message>
<source>Max. history items:</source>
<translation>Ajalooelementide maksimumarv kirje kohta:</translation>
</message>
<message> <message>
<source>Maximum size of history per entry</source> <source>Maximum size of history per entry</source>
<translation>Ajaloo maksimaalne maht kirje kohta</translation> <translation>Ajaloo maksimaalne maht kirje kohta</translation>
</message> </message>
<message>
<source>Max. history size:</source>
<translation>Ajaloo maksimummaht kirje kohta:</translation>
</message>
<message> <message>
<source> MiB</source> <source> MiB</source>
<translation> MiB</translation> <translation> MiB</translation>
@@ -2066,6 +2082,35 @@ Seda toimingut ei saa tagasi võtta.</translation>
<source> (old)</source> <source> (old)</source>
<translation> (vana)</translation> <translation> (vana)</translation>
</message> </message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that only the specified amount
of entries remain at most.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Limit the amount of history items per entry to:</source>
<translation type="unfinished"/>
</message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that the remaining history items
add up to the specified amount at most.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Limit the total size of history items per entry to:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Move entries to a recycle bin group
instead of deleting them from the database.
Entries deleted from the recycle bin are
removed from the database.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingsWidgetKeeShare</name> <name>DatabaseSettingsWidgetKeeShare</name>
@@ -2247,13 +2292,21 @@ See on kahtlemata programmiviga palun anna sellest arendajatele teada!</tran
<comment>Database tab name modifier</comment> <comment>Database tab name modifier</comment>
<translation>%1 [lukus]</translation> <translation>%1 [lukus]</translation>
</message> </message>
<message>
<source>Export database to XML file</source>
<translation>Andmebaasi eksportimine XML-failiks</translation>
</message>
<message>
<source>XML file</source>
<translation>XML-fail</translation>
</message>
<message>
<source>Writing the XML file failed</source>
<translation>XML-faili kirjutamine ebaõnnestus.</translation>
</message>
</context> </context>
<context> <context>
<name>DatabaseWidget</name> <name>DatabaseWidget</name>
<message>
<source>Database Tags</source>
<translation>Andmebaasi sildid</translation>
</message>
<message> <message>
<source>Searching</source> <source>Searching</source>
<translation>Otsimine</translation> <translation>Otsimine</translation>
@@ -2420,6 +2473,22 @@ Kas keelata turvaline salvestamine ja proovida seejärel uuesti?</translation>
<source>Entries expiring within %1 day(s)</source> <source>Entries expiring within %1 day(s)</source>
<translation><numerusform>%1 päeva jooksul aeguvad kirjed</numerusform><numerusform>%1 päeva jooksul aeguvad kirjed</numerusform></translation> <translation><numerusform>%1 päeva jooksul aeguvad kirjed</numerusform><numerusform>%1 päeva jooksul aeguvad kirjed</numerusform></translation>
</message> </message>
<message>
<source>Searches and Tags</source>
<translation>Otsingud ja sildid</translation>
</message>
<message>
<source>Enter a unique name or overwrite an existing search from the list:</source>
<translation>Sisesta ainukordne nimi või vali loendist ülekirjutatav otsing:</translation>
</message>
<message>
<source>Save</source>
<translation>Salvesta</translation>
</message>
<message>
<source>Save Search</source>
<translation>Otsingu salvestamine</translation>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidget</name> <name>EditEntryWidget</name>
@@ -2836,22 +2905,10 @@ isegi kui see ei vasta kvaliteedinõuetele. Märgi see ruut, kui parooli keeruku
<source>Notes field</source> <source>Notes field</source>
<translation>Märkmete väli</translation> <translation>Märkmete väli</translation>
</message> </message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
<translation>Märkmete nägemiseks või muutmiseks märgi kõrvalolev ruut.</translation>
</message>
<message> <message>
<source>Username field</source> <source>Username field</source>
<translation>Kasutajanime väli</translation> <translation>Kasutajanime väli</translation>
</message> </message>
<message>
<source>Toggle notes visible</source>
<translation>Lülita märkmete nähtavust</translation>
</message>
<message>
<source>Notes:</source>
<translation>Märkmed:</translation>
</message>
<message> <message>
<source>Expiration field</source> <source>Expiration field</source>
<translation>Aegumise väli</translation> <translation>Aegumise väli</translation>
@@ -2868,14 +2925,6 @@ isegi kui see ei vasta kvaliteedinõuetele. Märgi see ruut, kui parooli keeruku
<source>Presets</source> <source>Presets</source>
<translation>Valmisseaded</translation> <translation>Valmisseaded</translation>
</message> </message>
<message>
<source>Password:</source>
<translation>Parool:</translation>
</message>
<message>
<source>URL:</source>
<translation>URL:</translation>
</message>
<message> <message>
<source>Url field</source> <source>Url field</source>
<translation>URL-i väli</translation> <translation>URL-i väli</translation>
@@ -2884,18 +2933,10 @@ isegi kui see ei vasta kvaliteedinõuetele. Märgi see ruut, kui parooli keeruku
<source>Download favicon for URL</source> <source>Download favicon for URL</source>
<translation>Laadi alla saidiikoon selle URL-i jaoks</translation> <translation>Laadi alla saidiikoon selle URL-i jaoks</translation>
</message> </message>
<message>
<source>Title:</source>
<translation>Pealkiri:</translation>
</message>
<message> <message>
<source>Title field</source> <source>Title field</source>
<translation>Pealkirja väli</translation> <translation>Pealkirja väli</translation>
</message> </message>
<message>
<source>Username:</source>
<translation>Kasutajanimi:</translation>
</message>
<message> <message>
<source>Password field</source> <source>Password field</source>
<translation>Parooli väli</translation> <translation>Parooli väli</translation>
@@ -2904,18 +2945,42 @@ isegi kui see ei vasta kvaliteedinõuetele. Märgi see ruut, kui parooli keeruku
<source>Toggle expiration</source> <source>Toggle expiration</source>
<translation>Lülita aegumist</translation> <translation>Lülita aegumist</translation>
</message> </message>
<message>
<source>Expires:</source>
<translation>Aegub:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Sildid:</translation>
</message>
<message> <message>
<source>Tags list</source> <source>Tags list</source>
<translation>Siltide loend</translation> <translation>Siltide loend</translation>
</message> </message>
<message>
<source>&amp;Username:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Title:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Password:</source>
<translation type="unfinished"/>
</message>
<message>
<source>UR&amp;L:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Notes:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Toggle notes visibility</source>
<translation type="unfinished"/>
</message>
<message>
<source>T&amp;ags:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Expires:</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidgetSSHAgent</name> <name>EditEntryWidgetSSHAgent</name>
@@ -3054,10 +3119,6 @@ isegi kui see ei vasta kvaliteedinõuetele. Märgi see ruut, kui parooli keeruku
</context> </context>
<context> <context>
<name>EditGroupWidgetBrowser</name> <name>EditGroupWidgetBrowser</name>
<message>
<source>Edit Group</source>
<translation>Grupi muutmine</translation>
</message>
<message> <message>
<source>These settings affect to the group&apos;s behaviour with the browser extension.</source> <source>These settings affect to the group&apos;s behaviour with the browser extension.</source>
<translation>Need seaded mõjutavad grupi käitumist brauserilaiendusega.</translation> <translation>Need seaded mõjutavad grupi käitumist brauserilaiendusega.</translation>
@@ -3094,6 +3155,14 @@ isegi kui see ei vasta kvaliteedinõuetele. Märgi see ruut, kui parooli keeruku
<source>Do not use HTTP Auth toggle for this and sub groups</source> <source>Do not use HTTP Auth toggle for this and sub groups</source>
<translation>Lülitab HTTP lihtautentimise keelamist selle grupi ja alamgruppide jaoks.</translation> <translation>Lülitab HTTP lihtautentimise keelamist selle grupi ja alamgruppide jaoks.</translation>
</message> </message>
<message>
<source>Omit WWW subdomain from matching:</source>
<translation>Vastendamisel eiratakse www-alamdomeeni:</translation>
</message>
<message>
<source>Omit WWW subdomain from matching toggle for this and sub groups</source>
<translation>Lülitab vastendamisel www-alamdomeeni eiramist selle grupi ja alamgruppide jaoks.</translation>
</message>
</context> </context>
<context> <context>
<name>EditGroupWidgetKeeShare</name> <name>EditGroupWidgetKeeShare</name>
@@ -3241,7 +3310,7 @@ Toetatud faililaiendid: %1</translation>
</message> </message>
<message> <message>
<source>Auto-Type toggle for this and sub groups</source> <source>Auto-Type toggle for this and sub groups</source>
<translation>Automaatsisestusfunktsiooni lülitamine selle grupi ja alamgruppide jaoks</translation> <translation>Lülitab automaatsisestusfunktsiooni selle grupi ja alamgruppide jaoks.</translation>
</message> </message>
<message> <message>
<source>Notes:</source> <source>Notes:</source>
@@ -3265,7 +3334,7 @@ Toetatud faililaiendid: %1</translation>
</message> </message>
<message> <message>
<source>Search toggle for this and sub groups</source> <source>Search toggle for this and sub groups</source>
<translation>Otsingufunktsiooni lülitamine selle grupi ja alamgruppide jaoks</translation> <translation>Lülitab otsingufunktsiooni selle grupi ja alamgruppide jaoks.</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -3690,7 +3759,7 @@ Viga: %1</translation>
</message> </message>
<message> <message>
<source>Tags</source> <source>Tags</source>
<translation>Sildid:</translation> <translation>Sildid</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -3899,6 +3968,10 @@ Viga: %1</translation>
<source>Disabled</source> <source>Disabled</source>
<translation>keelatud</translation> <translation>keelatud</translation>
</message> </message>
<message>
<source>Double click to copy value</source>
<translation>Väärtuse kopeerimiseks tee topeltklõps</translation>
</message>
</context> </context>
<context> <context>
<name>EntryURLModel</name> <name>EntryURLModel</name>
@@ -5166,10 +5239,6 @@ Kas oled kindel, et soovid selle failiga jätkata?</translation>
<source>Copy title to clipboard</source> <source>Copy title to clipboard</source>
<translation>Kopeeri pealkiri lõikepuhvrisse</translation> <translation>Kopeeri pealkiri lõikepuhvrisse</translation>
</message> </message>
<message>
<source>&amp;URL</source>
<translation>&amp;URL</translation>
</message>
<message> <message>
<source>Copy URL to clipboard</source> <source>Copy URL to clipboard</source>
<translation>Kopeeri URL lõikepuhvrisse</translation> <translation>Kopeeri URL lõikepuhvrisse</translation>
@@ -5399,6 +5468,38 @@ Võiksid kaaluda KeePassXC allalaadimislehel oleva AppImagei kasutamist.</tra
<source>You must restart the application to apply this setting. Would you like to restart now?</source> <source>You must restart the application to apply this setting. Would you like to restart now?</source>
<translation>Selle muudatuse rakendamiseks tuleb KeePassXC uuesti käivitada. Kas teha seda kohe?</translation> <translation>Selle muudatuse rakendamiseks tuleb KeePassXC uuesti käivitada. Kas teha seda kohe?</translation>
</message> </message>
<message>
<source>Tags</source>
<translation>Sildid</translation>
</message>
<message>
<source>No Tags</source>
<translation>Silte pole</translation>
</message>
<message numerus="yes">
<source>%1 Entry(s)</source>
<translation><numerusform>%1 kirje</numerusform><numerusform>%1 kirjet</numerusform></translation>
</message>
<message>
<source>Copy Password and TOTP</source>
<translation>Kopeeri parool ja TOTP</translation>
</message>
<message>
<source>&amp;XML File</source>
<translation>&amp;XML-failiks</translation>
</message>
<message>
<source>XML File</source>
<translation>XML-failiks</translation>
</message>
<message>
<source>Copy &amp;URL</source>
<translation>K&amp;opeeri URL</translation>
</message>
<message>
<source>Allow Screen Capture</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ManageDatabase</name> <name>ManageDatabase</name>
@@ -5769,28 +5870,9 @@ Võiksid kaaluda KeePassXC allalaadimislehel oleva AppImagei kasutamist.</tra
<source>Unexpected EOF when writing private key</source> <source>Unexpected EOF when writing private key</source>
<translation>Ootamatu faililõpp privaatvõtme kirjutamisel</translation> <translation>Ootamatu faililõpp privaatvõtme kirjutamisel</translation>
</message> </message>
</context>
<context>
<name>PasswordEdit</name>
<message> <message>
<source>Passwords do not match</source> <source>AES-256/GCM is currently not supported</source>
<translation>Paroolid ei kattu</translation> <translation>AES-256/GCM-i praegu ei toetata</translation>
</message>
<message>
<source>Passwords match so far</source>
<translation>Paroolid kattuvad</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Lülita parooli nähtavust (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Genereeri parool (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Hoiatus: suurtähelukk on sisse lülitatud!</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -5971,10 +6053,6 @@ Võiksid kaaluda KeePassXC allalaadimislehel oleva AppImagei kasutamist.</tra
<source>Also choose from:</source> <source>Also choose from:</source>
<translation>Lisamärgid:</translation> <translation>Lisamärgid:</translation>
</message> </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 0, O, 1, l, I, |, </translation>
</message>
<message> <message>
<source>Exclude look-alike characters</source> <source>Exclude look-alike characters</source>
<translation>Sarnase välimusega märgid jäetakse välja</translation> <translation>Sarnase välimusega märgid jäetakse välja</translation>
@@ -6125,6 +6203,61 @@ Kas soovid selle üle kirjutada?</translation>
<comment>Password quality</comment> <comment>Password quality</comment>
<translation>suurepärane</translation> <translation>suurepärane</translation>
</message> </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 0, O, 1, l, I, |, </translation>
</message>
</context>
<context>
<name>PasswordWidget</name>
<message>
<source>Passwords do not match</source>
<translation>Paroolid ei kattu</translation>
</message>
<message>
<source>Passwords match so far</source>
<translation>Paroolid kattuvad</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Lülita parooli nähtavust (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Genereeri parool (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Hoiatus: suurtähelukk on sisse lülitatud!</translation>
</message>
<message>
<source>Quality: %1</source>
<translation>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>Toggle password visibilty using Control + H. Open the password generator using Control + G.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>PickcharsDialog</name> <name>PickcharsDialog</name>
@@ -6134,11 +6267,11 @@ Kas soovid selle üle kirjutada?</translation>
</message> </message>
<message> <message>
<source>Select characters to type, navigate with arrow keys, Ctrl + S submits.</source> <source>Select characters to type, navigate with arrow keys, Ctrl + S submits.</source>
<translation>Vali sisestatavad märgid. Liikuda saab nooleklahvidega, Ctrl+S sisestab.</translation> <translation>Vali vajalikud märgid. Liikuda saab nooleklahvidega, Ctrl+S sisestab.</translation>
</message> </message>
<message> <message>
<source>Press &amp;Tab between characters</source> <source>Press &amp;Tab between characters</source>
<translation>Märkide vahele sisestatakse &amp;Tab</translation> <translation>Märkide vahel vajutatakse &amp;tabeldusklahvi</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -6618,15 +6751,15 @@ Kas soovid selle üle kirjutada?</translation>
</message> </message>
<message> <message>
<source>Benchmarking key derivation function for %1ms delay.</source> <source>Benchmarking key derivation function for %1ms delay.</source>
<translation type="unfinished"/> <translation>Võtmetuletusfunktsiooni võrdlustesti läbiviimine %1 ms viivitusega.</translation>
</message> </message>
<message> <message>
<source>Setting %1 rounds for key derivation function.</source> <source>Setting %1 rounds for key derivation function.</source>
<translation type="unfinished"/> <translation>Võtmetuletusfunktsioonile määrati %1 teisendusraundi.</translation>
</message> </message>
<message> <message>
<source>error while setting database key derivation settings.</source> <source>error while setting database key derivation settings.</source>
<translation type="unfinished"/> <translation>viga andmebaasi võtmetuletusseadete määramisel.</translation>
</message> </message>
<message> <message>
<source>File %1 already exists.</source> <source>File %1 already exists.</source>
@@ -7448,8 +7581,8 @@ Kernel: %3 %4</translation>
<translation><numerusform>%1 minut</numerusform><numerusform>%1 minutit</numerusform></translation> <translation><numerusform>%1 minut</numerusform><numerusform>%1 minutit</numerusform></translation>
</message> </message>
<message> <message>
<source>Botan library must be at least 2.11.x, found %1.%2.%3</source> <source>Botan library must be at least %1, found %2.%3.%4</source>
<translation>Botan&apos;i teek peab olema 2.11.x või uuem, leiti aga %1.%2.%3</translation> <translation type="unfinished"/>
</message> </message>
<message> <message>
<source>Cryptographic libraries:</source> <source>Cryptographic libraries:</source>
@@ -7713,10 +7846,6 @@ Kernel: %3 %4</translation>
<source>KeePassXC - Error</source> <source>KeePassXC - Error</source>
<translation>Viga KeePassXC</translation> <translation>Viga KeePassXC</translation>
</message> </message>
<message>
<source>Warning: Failed to prevent screenshots on a top level window!</source>
<translation>Hoiatus: ülemise taseme aknast ekraanipiltide tegemise ennetamine ebaõnnestus!</translation>
</message>
<message> <message>
<source>Database password: </source> <source>Database password: </source>
<translation>Andmebaasi parool: </translation> <translation>Andmebaasi parool: </translation>
@@ -7740,9 +7869,83 @@ Kernel: %3 %4</translation>
<translation>Windows Hello abil pretensiooni allkirjastamine ebaõnnestus.</translation> <translation>Windows Hello abil pretensiooni allkirjastamine ebaõnnestus.</translation>
</message> </message>
<message> <message>
<source>Please present or touch your YubiKey to continue.</source> <source>Warning: Failed to block screenshot capture on a top-level window.</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<source>Invalid Cipher</source>
<translation type="unfinished"/>
</message>
<message>
<source>Invalid KDF</source>
<translation type="unfinished"/>
</message>
<message>
<source>Please present or touch your YubiKey to continue.</source>
<translation>Jätkamiseks viipa või puuduta oma YubiKeyd.</translation>
</message>
<message>
<source>Show all the attributes of the entry.</source>
<translation>Kirje kõigi atribuutide näitamine.</translation>
</message>
<message>
<source>Edit a database.</source>
<translation>Andmebaasi muutmine.</translation>
</message>
<message>
<source>Could not change the database key.</source>
<translation>Andmebaasi võtme muutmine pole võimalik.</translation>
</message>
<message>
<source>Database was not modified.</source>
<translation>Andmebaasi ei muudetud.</translation>
</message>
<message>
<source>Successfully edited the database.</source>
<translation>Andmebaas edukalt muudetud.</translation>
</message>
<message>
<source>Loading the new key file failed: %1</source>
<translation>Uue võtmefaili laadimine ebaõnnestus: %1</translation>
</message>
<message>
<source>Unset the password for the database.</source>
<translation>Andmebaasi parooli eemaldamine.</translation>
</message>
<message>
<source>Unset the key file for the database.</source>
<translation>Andmebaasi võtmefaili eemaldamine.</translation>
</message>
<message>
<source>Cannot use %1 and %2 at the same time.</source>
<translation>Argumente &quot;%1&quot; ja &quot;%2&quot; ei saa korraga kasutada.</translation>
</message>
<message>
<source>Cannot remove all the keys from a database.</source>
<translation>Andmebaasi kõiki võtmeid pole võimalik eemaldada.</translation>
</message>
<message>
<source>Cannot remove password: The database does not have a password.</source>
<translation>Parooli pole võimalik eemaldada, kuna andmebaasile pole parooli määratud.</translation>
</message>
<message>
<source>Cannot remove file key: The database does not have a file key.</source>
<translation>Võtmefaili pole võimalik eemaldada, kuna andmebaasile pole võtmefaili määratud.</translation>
</message>
<message>
<source>Found unexpected Key type %1</source>
<translation>Leiti ootamatu võtmetüüp: %1</translation>
</message>
<message>
<source>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</source>
<translation>Andmebaasile võtmefaili määramine.
See argument on iganenud, kasuta parem &quot;--set-key-file&quot;.</translation>
</message>
<message>
<source>KeePassXC is not running. No open database to lock</source>
<translation>KeePassXC ei tööta, seega pole ühtki avatud andmebaasi, mida lukustada.</translation>
</message>
</context> </context>
<context> <context>
<name>QtIOCompressor</name> <name>QtIOCompressor</name>
@@ -8290,6 +8493,10 @@ Kernel: %3 %4</translation>
<source>Limit search to selected group</source> <source>Limit search to selected group</source>
<translation>Otsitakse ainult valitud grupist</translation> <translation>Otsitakse ainult valitud grupist</translation>
</message> </message>
<message>
<source>Save Search</source>
<translation>Salvesta otsing</translation>
</message>
</context> </context>
<context> <context>
<name>SettingsClientModel</name> <name>SettingsClientModel</name>
@@ -8345,7 +8552,7 @@ Kernel: %3 %4</translation>
</message> </message>
<message> <message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If enabled, any attempt to read a password must be confirmed. Otherwise, clients can read passwords without confirmation when the database is unlocked.&lt;/p&gt;&lt;p&gt;This option only covers the access to the password of an entry. Clients can always enumerate the items of exposed databases and query their attributes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If enabled, any attempt to read a password must be confirmed. Otherwise, clients can read passwords without confirmation when the database is unlocked.&lt;/p&gt;&lt;p&gt;This option only covers the access to the password of an entry. Clients can always enumerate the items of exposed databases and query their attributes.&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;Märkimisel küsitakse paroolide lugemiseks alati luba. Muul juhul pääsevad kliendid paroolidele ilma kinnituseta ligi, eeldusel, et andmebaasi lukk on avatud.&lt;/p&gt;&lt;p&gt;See valik puudutab üksnes ligipääsu kirjete parooliväljale ja ei piira klientide ligipääsu neile nähtavaks tehtud andmebaasides kirjete loendamiseks või kirjete muude atribuutide uurimiseks.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
<message> <message>
<source>Confirm when passwords are retrieved by clients</source> <source>Confirm when passwords are retrieved by clients</source>
@@ -8357,7 +8564,11 @@ Kernel: %3 %4</translation>
Emoji','Segoe UI Emoji'; font-size:14px; color:#24292e; background-color:#ffffff;&quot;&gt;This setting does Emoji','Segoe UI Emoji'; font-size:14px; color:#24292e; background-color:#ffffff;&quot;&gt;This setting does
not override disabling recycle bin prompts&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt; not override disabling recycle bin prompts&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
</source> </source>
<translation type="unfinished"/> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot;
font-family:&apos;-apple-system&apos;,&apos;BlinkMacSystemFont&apos;,&apos;Segoe UI&apos;,&apos;Helvetica&apos;,&apos;Arial&apos;,&apos;sans-serif&apos;,&apos;Apple Color
Emoji&apos;,&apos;Segoe UI Emoji&apos;; font-size:14px; color:#24292e; background-color:#ffffff;&quot;&gt;Selle ruudu märkimisel
pole mõju, kui prügikasti viskamisel kinnituse küsimine on välja lülitatud&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
</translation>
</message> </message>
<message> <message>
<source>Confirm when clients request entry deletion</source> <source>Confirm when clients request entry deletion</source>
@@ -8369,7 +8580,11 @@ Kernel: %3 %4</translation>
crash the client if the database can not be unlocked within a certain timeout. (Usually 25s, but may be a crash the client if the database can not be unlocked within a certain timeout. (Usually 25s, but may be a
different value set in applications.)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt; different value set in applications.)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
</source> </source>
<translation type="unfinished"/> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Märkimine parandab ühilduvust teatud rakendustega,
mis otsivad parooli ilma esmalt andmebaasi lukku avamata.&lt;/p&gt;&lt;p&gt;Samas võib see
põhjustada kliendi kokkujooksmise, kui andmebaasi lukku piisavalt kiiresti ei avata.
(Tavaline ajalimiit on 25 s, aga see võib eri rakenduste puhul erineda.)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;
</translation>
</message> </message>
<message> <message>
<source>Prompt to unlock database before searching</source> <source>Prompt to unlock database before searching</source>
@@ -8473,7 +8688,7 @@ Kernel: %3 %4</translation>
</message> </message>
<message> <message>
<source>Import from %1 successful (%2)</source> <source>Import from %1 successful (%2)</source>
<translation>Importimine asukohast %1 kenasti lõpetatud (%2)</translation> <translation>Importimine asukohast %1 kenasti lõpetatud (%2)</translation>
</message> </message>
<message> <message>
<source>Imported from %1</source> <source>Imported from %1</source>
@@ -8481,11 +8696,11 @@ Kernel: %3 %4</translation>
</message> </message>
<message> <message>
<source>Multiple import source path to %1 in %2</source> <source>Multiple import source path to %1 in %2</source>
<translation type="unfinished"/> <translation>importimise lähtekoht %1 on määratud mitmes grupis: %2</translation>
</message> </message>
<message> <message>
<source>Conflicting export target path %1 in %2</source> <source>Conflicting export target path %1 in %2</source>
<translation type="unfinished"/> <translation>eksportimise sihtkoht %1 on määratud mitmes grupis: %2</translation>
</message> </message>
<message> <message>
<source>Export to %1 failed (%2)</source> <source>Export to %1 failed (%2)</source>
@@ -8502,10 +8717,6 @@ Kernel: %3 %4</translation>
</context> </context>
<context> <context>
<name>TagModel</name> <name>TagModel</name>
<message>
<source>All</source>
<translation>Kõik</translation>
</message>
<message> <message>
<source>Expired</source> <source>Expired</source>
<translation>Aegunud</translation> <translation>Aegunud</translation>
@@ -8514,6 +8725,33 @@ Kernel: %3 %4</translation>
<source>Weak Passwords</source> <source>Weak Passwords</source>
<translation>Nõrgad paroolid</translation> <translation>Nõrgad paroolid</translation>
</message> </message>
<message>
<source>All Entries</source>
<translation>Kõik kirjed</translation>
</message>
<message>
<source>Clear Search</source>
<translation>Puhasta otsing</translation>
</message>
</context>
<context>
<name>TagView</name>
<message>
<source>Remove Search</source>
<translation>Eemalda otsing</translation>
</message>
<message>
<source>Remove Tag</source>
<translation>Eemalda silt</translation>
</message>
<message>
<source>Confirm Remove Tag</source>
<translation>Sildi eemaldamise kinnitus</translation>
</message>
<message>
<source>Remove tag &quot;%1&quot; from all entries in this database?</source>
<translation>Kas oled kindel, et tahad sildi %1 kõigilt selle andmebaasi kirjetelt eemaldada?</translation>
</message>
</context> </context>
<context> <context>
<name>TotpDialog</name> <name>TotpDialog</name>

View File

@@ -90,15 +90,15 @@
</message> </message>
<message> <message>
<source>Your decision will be remembered for the duration while both the requesting client AND KeePassXC are running.</source> <source>Your decision will be remembered for the duration while both the requesting client AND KeePassXC are running.</source>
<translation type="unfinished"/> <translation>Valintasi muistetaan pyynnön esittäneen päätteen JA KeePassXC käyntiajan.</translation>
</message> </message>
<message> <message>
<source>Deny All &amp;&amp; Future</source> <source>Deny All &amp;&amp; Future</source>
<translation type="unfinished"/> <translation>Estä kaikki &amp;&amp; tulevat</translation>
</message> </message>
<message> <message>
<source>Allow All &amp;&amp; &amp;Future</source> <source>Allow All &amp;&amp; &amp;Future</source>
<translation type="unfinished"/> <translation>Salli kaikki &amp;&amp; &amp;tulevat</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -112,7 +112,7 @@
<name>AgentSettingsWidget</name> <name>AgentSettingsWidget</name>
<message> <message>
<source>Enable SSH Agent integration</source> <source>Enable SSH Agent integration</source>
<translation>Ota SSH Agentti käyttöön</translation> <translation>Ota SSH-agentin integraatio käyttöön</translation>
</message> </message>
<message> <message>
<source>Use Pageant</source> <source>Use Pageant</source>
@@ -144,15 +144,15 @@
</message> </message>
<message> <message>
<source>No SSH Agent socket available. Either make sure SSH_AUTH_SOCK environment variable exists or set an override.</source> <source>No SSH Agent socket available. Either make sure SSH_AUTH_SOCK environment variable exists or set an override.</source>
<translation>SSH Agentin socketia ei ole. Varmista, että SSH_AUTH_SOCK-ympäristömuuttuja on olemassa, tai aseta sille ylikirjoitus</translation> <translation>Yhteystieto SSH-agenttiin puuttuu. Varmista, että SSH_AUTH_SOCK-ympäristömuuttuja on olemassa, tai aseta sille ylikirjoitus</translation>
</message> </message>
<message> <message>
<source>SSH Agent connection is working!</source> <source>SSH Agent connection is working!</source>
<translation>SSH Agent -yhteys toimii!</translation> <translation>Yhteys SSH-agenttiin toimii!</translation>
</message> </message>
<message> <message>
<source>Use both agents</source> <source>Use both agents</source>
<translation type="unfinished"/> <translation>Käytä molempia agentteja</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -225,6 +225,10 @@
<source>Select backup storage directory</source> <source>Select backup storage directory</source>
<translation>Valitse varmuuskopion hakemistopolku</translation> <translation>Valitse varmuuskopion hakemistopolku</translation>
</message> </message>
<message>
<source>This setting cannot be enabled when minimize on unlock is enabled.</source>
<translation>Tätä asetusta ei voi ottaa käyttöön, kun ohjelman pienennys lukituksen avauksen jälkeen on otettu käyttöön.</translation>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetGeneral</name> <name>ApplicationSettingsWidgetGeneral</name>
@@ -493,6 +497,14 @@
<source>Remember last typed entry for:</source> <source>Remember last typed entry for:</source>
<translation>Muista edellinen syötetty tietue:</translation> <translation>Muista edellinen syötetty tietue:</translation>
</message> </message>
<message>
<source> recent files</source>
<translation>viimeisimmät tiedostot</translation>
</message>
<message>
<source>Show passwords in color</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ApplicationSettingsWidgetSecurity</name> <name>ApplicationSettingsWidgetSecurity</name>
@@ -520,7 +532,7 @@
<message> <message>
<source> min</source> <source> min</source>
<comment>Minutes</comment> <comment>Minutes</comment>
<translation>minuuttia</translation> <translation> minuuttia</translation>
</message> </message>
<message> <message>
<source>Clipboard clear seconds</source> <source>Clipboard clear seconds</source>
@@ -582,6 +594,10 @@
<source>Use DuckDuckGo service to download website icons</source> <source>Use DuckDuckGo service to download website icons</source>
<translation>Käytä DuckDuckGo:ta sivustojen ikonien lataukseen</translation> <translation>Käytä DuckDuckGo:ta sivustojen ikonien lataukseen</translation>
</message> </message>
<message>
<source>Hide TOTP in the entry preview panel</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>AutoType</name> <name>AutoType</name>
@@ -643,6 +659,10 @@
<source>Invalid placeholder: %1</source> <source>Invalid placeholder: %1</source>
<translation>Virheellinen paikkamerkki: %1</translation> <translation>Virheellinen paikkamerkki: %1</translation>
</message> </message>
<message>
<source>Entry does not have attribute for PICKCHARS: %1</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>AutoTypeAssociationsModel</name> <name>AutoTypeAssociationsModel</name>
@@ -1429,10 +1449,6 @@ Tietokannan varmuuskopio paikannettu: %2</translation>
<source>Key File:</source> <source>Key File:</source>
<translation>Avaintiedosto:</translation> <translation>Avaintiedosto:</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this 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> <message>
<source>Key file help</source> <source>Key file help</source>
<translation>Avaintiedoston ohje</translation> <translation>Avaintiedoston ohje</translation>
@@ -1445,12 +1461,6 @@ Tietokannan varmuuskopio paikannettu: %2</translation>
<source>Hardware Key:</source> <source>Hardware Key:</source>
<translation>Laiteavain:</translation> <translation>Laiteavain:</translation>
</message> </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:&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> <message>
<source>Hardware key help</source> <source>Hardware key help</source>
<translation>Laiteavaimen apu</translation> <translation>Laiteavaimen apu</translation>
@@ -1537,10 +1547,6 @@ Jos et halua nähdä tätä virhettä uudestaan, mene &quot;Tietokannan asetukse
<source>Retry with empty password</source> <source>Retry with empty password</source>
<translation>Yritä uudelleen tyhjällä salasanalla</translation> <translation>Yritä uudelleen tyhjällä salasanalla</translation>
</message> </message>
<message>
<source>Failed to authenticate with Windows Hello</source>
<translation>Autentikaatio Windows Hellon kautta ei onnistunut</translation>
</message>
<message> <message>
<source>Failed to authenticate with Touch ID</source> <source>Failed to authenticate with Touch ID</source>
<translation>Autentikaatio Touch ID:n kautta ei onnistunut</translation> <translation>Autentikaatio Touch ID:n kautta ei onnistunut</translation>
@@ -1595,6 +1601,24 @@ Jos sinulla ei ole avaintiedostoa, jätä kenttä tyhjäksi.</translation>
<source>Select hardware key</source> <source>Select hardware key</source>
<translation>Valitse laiteavain...</translation> <translation>Valitse laiteavain...</translation>
</message> </message>
<message>
<source>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This 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 this 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>&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:&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>authenticate to access the database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Failed to authenticate with Windows Hello: %1</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingWidgetMetaData</name> <name>DatabaseSettingWidgetMetaData</name>
@@ -2023,18 +2047,10 @@ Jos pidät tämän arvon, tietokanta ei ole välttämättä turvattu brute force
<source>Maximum number of history items per entry</source> <source>Maximum number of history items per entry</source>
<translation>Historiamerkintöjen maksimimäärä per tietue</translation> <translation>Historiamerkintöjen maksimimäärä per tietue</translation>
</message> </message>
<message>
<source>Max. history items:</source>
<translation>Maks. historia-kohteiden lukumäärä:</translation>
</message>
<message> <message>
<source>Maximum size of history per entry</source> <source>Maximum size of history per entry</source>
<translation>Historian koon maksimimäärä per tietue</translation> <translation>Historian koon maksimimäärä per tietue</translation>
</message> </message>
<message>
<source>Max. history size:</source>
<translation>Maks. historian koko:</translation>
</message>
<message> <message>
<source> MiB</source> <source> MiB</source>
<translation> Mt</translation> <translation> Mt</translation>
@@ -2064,6 +2080,35 @@ This action is not reversible.</source>
<source> (old)</source> <source> (old)</source>
<translation>(vanha)</translation> <translation>(vanha)</translation>
</message> </message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that only the specified amount
of entries remain at most.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Limit the amount of history items per entry to:</source>
<translation type="unfinished"/>
</message>
<message>
<source>When saving this setting or editing an entry
the oldest history items of an entry will be
removed such that the remaining history items
add up to the specified amount at most.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Limit the total size of history items per entry to:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Move entries to a recycle bin group
instead of deleting them from the database.
Entries deleted from the recycle bin are
removed from the database.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseSettingsWidgetKeeShare</name> <name>DatabaseSettingsWidgetKeeShare</name>
@@ -2245,13 +2290,21 @@ Tämä on selkeä virhe, joten ota yhteyttä kehittäjätiimiin.</translation>
<comment>Database tab name modifier</comment> <comment>Database tab name modifier</comment>
<translation>%1 [Lukittu]</translation> <translation>%1 [Lukittu]</translation>
</message> </message>
<message>
<source>Export database to XML file</source>
<translation type="unfinished"/>
</message>
<message>
<source>XML file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Writing the XML file failed</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>DatabaseWidget</name> <name>DatabaseWidget</name>
<message>
<source>Database Tags</source>
<translation>Tietokannan tagit</translation>
</message>
<message> <message>
<source>Searching</source> <source>Searching</source>
<translation>Etsitään...</translation> <translation>Etsitään...</translation>
@@ -2416,7 +2469,23 @@ Ota turvallinen tallennus pois käytöstä ja yritä uudelleen?</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>Entries expiring within %1 day(s)</source> <source>Entries expiring within %1 day(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> <translation><numerusform>Tietueet jotka vanhenevat %1 päivässä</numerusform><numerusform>Tietueet jotka vanhenevat %1 päivässä</numerusform></translation>
</message>
<message>
<source>Searches and Tags</source>
<translation>Haut ja tunnisteet</translation>
</message>
<message>
<source>Enter a unique name or overwrite an existing search from the list:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Save</source>
<translation>Tallenna</translation>
</message>
<message>
<source>Save Search</source>
<translation>Tallenna haku</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -2832,22 +2901,10 @@ Haluatko korjata sen?</translation>
<source>Notes field</source> <source>Notes field</source>
<translation>Muistiinpanojen kenttä</translation> <translation>Muistiinpanojen kenttä</translation>
</message> </message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
<translation>Ruksi valintaruutu näyttääksesi muistiinpano-osio.</translation>
</message>
<message> <message>
<source>Username field</source> <source>Username field</source>
<translation>Käyttäjätunnuksen kenttä</translation> <translation>Käyttäjätunnuksen kenttä</translation>
</message> </message>
<message>
<source>Toggle notes visible</source>
<translation>Vaihda muistiinpanojen näkyvyyttä</translation>
</message>
<message>
<source>Notes:</source>
<translation>Muistiinpanot:</translation>
</message>
<message> <message>
<source>Expiration field</source> <source>Expiration field</source>
<translation>Vanhentumisajan kenttä</translation> <translation>Vanhentumisajan kenttä</translation>
@@ -2864,14 +2921,6 @@ Haluatko korjata sen?</translation>
<source>Presets</source> <source>Presets</source>
<translation>Esiasetukset</translation> <translation>Esiasetukset</translation>
</message> </message>
<message>
<source>Password:</source>
<translation>Salasana</translation>
</message>
<message>
<source>URL:</source>
<translation>URL:</translation>
</message>
<message> <message>
<source>Url field</source> <source>Url field</source>
<translation>Osoitekenttä</translation> <translation>Osoitekenttä</translation>
@@ -2880,18 +2929,10 @@ Haluatko korjata sen?</translation>
<source>Download favicon for URL</source> <source>Download favicon for URL</source>
<translation>Lataa favicon tälle URL:lle</translation> <translation>Lataa favicon tälle URL:lle</translation>
</message> </message>
<message>
<source>Title:</source>
<translation>Otsikko:</translation>
</message>
<message> <message>
<source>Title field</source> <source>Title field</source>
<translation>Otsikkokenttä</translation> <translation>Otsikkokenttä</translation>
</message> </message>
<message>
<source>Username:</source>
<translation>Käyttäjänimi</translation>
</message>
<message> <message>
<source>Password field</source> <source>Password field</source>
<translation>Salasanakenttä</translation> <translation>Salasanakenttä</translation>
@@ -2900,18 +2941,42 @@ Haluatko korjata sen?</translation>
<source>Toggle expiration</source> <source>Toggle expiration</source>
<translation>Ota vanhentumisaika käyttöön</translation> <translation>Ota vanhentumisaika käyttöön</translation>
</message> </message>
<message>
<source>Expires:</source>
<translation>Vanhentuu:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Tagit:</translation>
</message>
<message> <message>
<source>Tags list</source> <source>Tags list</source>
<translation>Tagilista</translation> <translation>Tagilista</translation>
</message> </message>
<message>
<source>&amp;Username:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Title:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Password:</source>
<translation type="unfinished"/>
</message>
<message>
<source>UR&amp;L:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Notes:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Toggle notes visibility</source>
<translation type="unfinished"/>
</message>
<message>
<source>T&amp;ags:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Expires:</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditEntryWidgetSSHAgent</name> <name>EditEntryWidgetSSHAgent</name>
@@ -3050,10 +3115,6 @@ Haluatko korjata sen?</translation>
</context> </context>
<context> <context>
<name>EditGroupWidgetBrowser</name> <name>EditGroupWidgetBrowser</name>
<message>
<source>Edit Group</source>
<translation>Muokkaa ryhmää</translation>
</message>
<message> <message>
<source>These settings affect to the group&apos;s behaviour with the browser extension.</source> <source>These settings affect to the group&apos;s behaviour with the browser extension.</source>
<translation>Nämä asetukset vaikuttavat ryhmän toimintaan selainlaajennuksen kanssa.</translation> <translation>Nämä asetukset vaikuttavat ryhmän toimintaan selainlaajennuksen kanssa.</translation>
@@ -3090,6 +3151,14 @@ Haluatko korjata sen?</translation>
<source>Do not use HTTP Auth toggle for this and sub groups</source> <source>Do not use HTTP Auth toggle for this and sub groups</source>
<translation>Ä käytä HTTP Basic -autentikaatiota tälle ryhmälle ja aliryhmille</translation> <translation>Ä käytä HTTP Basic -autentikaatiota tälle ryhmälle ja aliryhmille</translation>
</message> </message>
<message>
<source>Omit WWW subdomain from matching:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Omit WWW subdomain from matching toggle for this and sub groups</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>EditGroupWidgetKeeShare</name> <name>EditGroupWidgetKeeShare</name>
@@ -3895,6 +3964,10 @@ Virhe: %1</translation>
<source>Disabled</source> <source>Disabled</source>
<translation>Pois käytöstä</translation> <translation>Pois käytöstä</translation>
</message> </message>
<message>
<source>Double click to copy value</source>
<translation>Tuplaklikkaa kopioidaksesi arvo</translation>
</message>
</context> </context>
<context> <context>
<name>EntryURLModel</name> <name>EntryURLModel</name>
@@ -4027,7 +4100,7 @@ Tämä jättää salasanasi ja minkä tahansa arkaluontoisen tiedon haavoittuvak
<message numerus="yes"> <message numerus="yes">
<source>%n Entry(s) was used by %1</source> <source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment> <comment>%1 is the name of an application</comment>
<translation><numerusform>%n tietue käytetiin %1</numerusform><numerusform>%n tietuetta käytettiin %1</numerusform></translation> <translation><numerusform>%1 tietuetta käytettiin %1:n toimesta</numerusform><numerusform>%1 tietuetta käytettiin %1:n toimesta</numerusform></translation>
</message> </message>
</context> </context>
<context> <context>
@@ -5163,10 +5236,6 @@ Haluatko jatkaa käyttämällä tätä tiedostoa?</translation>
<source>Copy title to clipboard</source> <source>Copy title to clipboard</source>
<translation>Kopioi nimi leikepöydälle</translation> <translation>Kopioi nimi leikepöydälle</translation>
</message> </message>
<message>
<source>&amp;URL</source>
<translation>&amp;URL</translation>
</message>
<message> <message>
<source>Copy URL to clipboard</source> <source>Copy URL to clipboard</source>
<translation>Kopioi osoite leikepöydälle</translation> <translation>Kopioi osoite leikepöydälle</translation>
@@ -5357,7 +5426,7 @@ Suosittelemme, että käytät AppImagea, jonka voit hakea lataussivustoltamme.</
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>Restore Entry(s)</source> <source>Restore Entry(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation> <translation><numerusform>Palauta tietue</numerusform><numerusform>Palauta tietueet</numerusform></translation>
</message> </message>
<message> <message>
<source>Settings</source> <source>Settings</source>
@@ -5395,6 +5464,38 @@ Suosittelemme, että käytät AppImagea, jonka voit hakea lataussivustoltamme.</
<source>You must restart the application to apply this setting. Would you like to restart now?</source> <source>You must restart the application to apply this setting. Would you like to restart now?</source>
<translation>Ohjelma täytyy käynnistää uudelleen, jotta asetus voidaan ottaa käyttöön. Haluatko käynnistää uudelleen nyt?</translation> <translation>Ohjelma täytyy käynnistää uudelleen, jotta asetus voidaan ottaa käyttöön. Haluatko käynnistää uudelleen nyt?</translation>
</message> </message>
<message>
<source>Tags</source>
<translation>Tagit</translation>
</message>
<message>
<source>No Tags</source>
<translation>Ei tunnisteita</translation>
</message>
<message numerus="yes">
<source>%1 Entry(s)</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<source>Copy Password and TOTP</source>
<translation>Kopioi salasana ja TOTP</translation>
</message>
<message>
<source>&amp;XML File</source>
<translation type="unfinished"/>
</message>
<message>
<source>XML File</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;URL</source>
<translation type="unfinished"/>
</message>
<message>
<source>Allow Screen Capture</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>ManageDatabase</name> <name>ManageDatabase</name>
@@ -5431,11 +5532,11 @@ Suosittelemme, että käytät AppImagea, jonka voit hakea lataussivustoltamme.</
</message> </message>
<message> <message>
<source>Reset</source> <source>Reset</source>
<translation type="unfinished"/> <translation>Nollaa</translation>
</message> </message>
<message> <message>
<source>Reset any remembered decisions for this application</source> <source>Reset any remembered decisions for this application</source>
<translation type="unfinished"/> <translation>Nollaa tälle sovellukselle tallennetut valinnat</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -5765,28 +5866,9 @@ Suosittelemme, että käytät AppImagea, jonka voit hakea lataussivustoltamme.</
<source>Unexpected EOF when writing private key</source> <source>Unexpected EOF when writing private key</source>
<translation>Odottamaton EOF yksityistä avainta kirjoittaessa</translation> <translation>Odottamaton EOF yksityistä avainta kirjoittaessa</translation>
</message> </message>
</context>
<context>
<name>PasswordEdit</name>
<message> <message>
<source>Passwords do not match</source> <source>AES-256/GCM is currently not supported</source>
<translation>Salasanat eivät täsmää</translation> <translation type="unfinished"/>
</message>
<message>
<source>Passwords match so far</source>
<translation>Salasanat jotka ovat tähän mennessä samoja</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Ota salasana käyttöön (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Luo salasana (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Varoitus: Caps Lock on päällä!</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -5967,10 +6049,6 @@ Suosittelemme, että käytät AppImagea, jonka voit hakea lataussivustoltamme.</
<source>Also choose from:</source> <source>Also choose from:</source>
<translation>Valitse myös:</translation> <translation>Valitse myös:</translation>
</message> </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>Poissuljetut kirjaimet: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;&quot;</translation>
</message>
<message> <message>
<source>Exclude look-alike characters</source> <source>Exclude look-alike characters</source>
<translation>Poissulje samannäköiset merkit</translation> <translation>Poissulje samannäköiset merkit</translation>
@@ -6121,6 +6199,61 @@ Haluatko ylikirjoittaa sen?</translation>
<comment>Password quality</comment> <comment>Password quality</comment>
<translation>Erinomainen</translation> <translation>Erinomainen</translation>
</message> </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>Poissuljetut kirjaimet: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;&quot;</translation>
</message>
</context>
<context>
<name>PasswordWidget</name>
<message>
<source>Passwords do not match</source>
<translation>Salasanat eivät täsmää</translation>
</message>
<message>
<source>Passwords match so far</source>
<translation>Salasanat jotka ovat tähän mennessä samoja</translation>
</message>
<message>
<source>Toggle Password (%1)</source>
<translation>Ota salasana käyttöön (%1)</translation>
</message>
<message>
<source>Generate Password (%1)</source>
<translation>Luo salasana (%1)</translation>
</message>
<message>
<source>Warning: Caps Lock enabled!</source>
<translation>Varoitus: Caps Lock on päällä!</translation>
</message>
<message>
<source>Quality: %1</source>
<translation>Laatu: %1</translation>
</message>
<message>
<source>Poor</source>
<comment>Password quality</comment>
<translation>Huono</translation>
</message>
<message>
<source>Weak</source>
<comment>Password quality</comment>
<translation>Heikko</translation>
</message>
<message>
<source>Good</source>
<comment>Password quality</comment>
<translation>Hyvä</translation>
</message>
<message>
<source>Excellent</source>
<comment>Password quality</comment>
<translation>Erinomainen</translation>
</message>
<message>
<source>Toggle password visibilty using Control + H. Open the password generator using Control + G.</source>
<translation type="unfinished"/>
</message>
</context> </context>
<context> <context>
<name>PickcharsDialog</name> <name>PickcharsDialog</name>
@@ -7444,8 +7577,8 @@ Ydin: %3 %4</translation>
<translation><numerusform>%1 minuutti</numerusform><numerusform>%1 minuuttia</numerusform></translation> <translation><numerusform>%1 minuutti</numerusform><numerusform>%1 minuuttia</numerusform></translation>
</message> </message>
<message> <message>
<source>Botan library must be at least 2.11.x, found %1.%2.%3</source> <source>Botan library must be at least %1, found %2.%3.%4</source>
<translation>Botan-kirjaston täytyy olla vähintään versio 2.11.x. Löydettiin versio %1.%2.%3</translation> <translation type="unfinished"/>
</message> </message>
<message> <message>
<source>Cryptographic libraries:</source> <source>Cryptographic libraries:</source>
@@ -7709,10 +7842,6 @@ Ydin: %3 %4</translation>
<source>KeePassXC - Error</source> <source>KeePassXC - Error</source>
<translation>KeePassXC - Virhe</translation> <translation>KeePassXC - Virhe</translation>
</message> </message>
<message>
<source>Warning: Failed to prevent screenshots on a top level window!</source>
<translation>Varoitus: Ruudunkaappauksia ylimmän tason ikkunalla ei voitu estää!</translation>
</message>
<message> <message>
<source>Database password: </source> <source>Database password: </source>
<translation>Tietokannan salasana:</translation> <translation>Tietokannan salasana:</translation>
@@ -7735,8 +7864,81 @@ Ydin: %3 %4</translation>
<source>Failed to sign challenge using Windows Hello.</source> <source>Failed to sign challenge using Windows Hello.</source>
<translation>Vastauksen allekirjoitus Windows Hellolle epäonnistui</translation> <translation>Vastauksen allekirjoitus Windows Hellolle epäonnistui</translation>
</message> </message>
<message>
<source>Warning: Failed to block screenshot capture on a top-level window.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Invalid Cipher</source>
<translation type="unfinished"/>
</message>
<message>
<source>Invalid KDF</source>
<translation type="unfinished"/>
</message>
<message> <message>
<source>Please present or touch your YubiKey to continue.</source> <source>Please present or touch your YubiKey to continue.</source>
<translation>Jatka kytkemällä YubiKey-avaimesi tai koskettamalla sitä</translation>
</message>
<message>
<source>Show all the attributes of the entry.</source>
<translation>Näytä tietueen kaikki attribuutit.</translation>
</message>
<message>
<source>Edit a database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Could not change the database key.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Database was not modified.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Successfully edited the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Loading the new key file failed: %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unset the password for the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unset the key file for the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot use %1 and %2 at the same time.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove all the keys from a database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove password: The database does not have a password.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Cannot remove file key: The database does not have a file key.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Found unexpected Key type %1</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set the key file for the database.
This options is deprecated, use --set-key-file instead.</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePassXC is not running. No open database to lock</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
</context> </context>
@@ -7846,7 +8048,7 @@ Ydin: %3 %4</translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>Delete Entry(s)…</source> <source>Delete Entry(s)…</source>
<translation><numerusform>Poista tietue...</numerusform><numerusform>Poista tietueet...</numerusform></translation> <translation type="unfinished"><numerusform></numerusform><numerusform>Poista tietueet...</numerusform></translation>
</message> </message>
<message> <message>
<source>Exclude from reports</source> <source>Exclude from reports</source>
@@ -8205,7 +8407,7 @@ Ydin: %3 %4</translation>
</message> </message>
<message> <message>
<source>No agent running, cannot list identities.</source> <source>No agent running, cannot list identities.</source>
<translation>Agentti ei ole päällä, tunnisteita ei voi listata.</translation> <translation>Agentti ei ole päällä, identiteettejä ei voi listata.</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -8286,6 +8488,10 @@ Ydin: %3 %4</translation>
<source>Limit search to selected group</source> <source>Limit search to selected group</source>
<translation>Rajoita haku valittuun ryhmään</translation> <translation>Rajoita haku valittuun ryhmään</translation>
</message> </message>
<message>
<source>Save Search</source>
<translation>Tallenna haku</translation>
</message>
</context> </context>
<context> <context>
<name>SettingsClientModel</name> <name>SettingsClientModel</name>
@@ -8506,10 +8712,6 @@ mutta arvo voi vaihdella ohjelmasta riippuen.)&lt;/p&gt;&lt;/body&gt;&lt;/html&g
</context> </context>
<context> <context>
<name>TagModel</name> <name>TagModel</name>
<message>
<source>All</source>
<translation>Kaikki</translation>
</message>
<message> <message>
<source>Expired</source> <source>Expired</source>
<translation>Vanhentuneet</translation> <translation>Vanhentuneet</translation>
@@ -8518,6 +8720,33 @@ mutta arvo voi vaihdella ohjelmasta riippuen.)&lt;/p&gt;&lt;/body&gt;&lt;/html&g
<source>Weak Passwords</source> <source>Weak Passwords</source>
<translation>Heikot salasanat</translation> <translation>Heikot salasanat</translation>
</message> </message>
<message>
<source>All Entries</source>
<translation>Kaikki tietueet</translation>
</message>
<message>
<source>Clear Search</source>
<translation>Tyhjennä haku</translation>
</message>
</context>
<context>
<name>TagView</name>
<message>
<source>Remove Search</source>
<translation>Poista haku</translation>
</message>
<message>
<source>Remove Tag</source>
<translation>Poista tunniste</translation>
</message>
<message>
<source>Confirm Remove Tag</source>
<translation>Vahvista tunnisteen poisto</translation>
</message>
<message>
<source>Remove tag &quot;%1&quot; from all entries in this database?</source>
<translation>Poistetaanko tunniste &quot;%1&quot; tietokannan kaikilta tietueista?</translation>
</message>
</context> </context>
<context> <context>
<name>TotpDialog</name> <name>TotpDialog</name>

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