diff --git a/CHANGELOG b/CHANGELOG index 038943890..fa3700e5d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,26 @@ +2.3.1 (2018-03-06) +========================= + +- Fix unnecessary automatic upgrade to KDBX 4.0 and prevent challenge-response key being stripped [#1568] +- Abort saving and show an error message when challenge-response fails [#1659] +- Support inner stream protection on all string attributes [#1646] +- Fix favicon downloads not finishing on some websites [#1657] +- Fix freeze due to invalid STDIN data [#1628] +- Correct issue with encrypted RSA SSH keys [#1587] +- Fix crash on macOS due to QTBUG-54832 [#1607] +- Show error message if ssh-agent communication fails [#1614] +- Fix --pw-stdin and filename parameters being ignored [#1608] +- Fix Auto-Type syntax check not allowing spaces and special characters [#1626] +- Fix reference placeholders in combination with Auto-Type [#1649] +- Fix qtbase translations not being loaded [#1611] +- Fix startup crash on Windows due to missing SVG libraries [#1662] +- Correct database tab order regression [#1610] +- Fix GCC 8 compilation error [#1612] +- Fix copying of advanced attributes on KDE [#1640] +- Fix member initialization of CategoryListWidgetDelegate [#1613] +- Fix inconsistent toolbar icon sizes and provide higher-quality icons [#1616] +- Improve preview panel geometry [#1609] + 2.3.0 (2018-02-27) ========================= diff --git a/CMakeLists.txt b/CMakeLists.txt index 7410b4e04..4c8929aef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,7 +70,7 @@ set(CMAKE_AUTOUIC ON) set(KEEPASSXC_VERSION_MAJOR "2") set(KEEPASSXC_VERSION_MINOR "3") -set(KEEPASSXC_VERSION_PATCH "0") +set(KEEPASSXC_VERSION_PATCH "1") set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}") set(KEEPASSXC_BUILD_TYPE "Snapshot" CACHE STRING "Set KeePassXC build type to distinguish between stable releases and snapshots") @@ -80,7 +80,9 @@ set_property(CACHE KEEPASSXC_BUILD_TYPE PROPERTY STRINGS Snapshot Release PreRel execute_process(COMMAND git tag --points-at HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_TAG) -if(NOT GIT_TAG AND EXISTS ${CMAKE_SOURCE_DIR}/.version) +if(GIT_TAG) + set(OVERRIDE_VERSION ${GIT_TAG}) +elseif(EXISTS ${CMAKE_SOURCE_DIR}/.version) file(READ ${CMAKE_SOURCE_DIR}/.version OVERRIDE_VERSION) endif() @@ -155,11 +157,15 @@ if(WITH_APP_BUNDLE) endif() add_gcc_compiler_flags("-fno-common") -add_gcc_compiler_flags("-Wall -Werror -Wextra -Wundef -Wpointer-arith -Wno-long-long") +add_gcc_compiler_flags("-Wall -Wextra -Wundef -Wpointer-arith -Wno-long-long") add_gcc_compiler_flags("-Wformat=2 -Wmissing-format-attribute") add_gcc_compiler_flags("-fvisibility=hidden") add_gcc_compiler_cxxflags("-fvisibility-inlines-hidden") +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + add_gcc_compiler_flags("-Werror") +endif() + if((CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8.999) OR CMAKE_COMPILER_IS_CLANGXX) add_gcc_compiler_flags("-fstack-protector-strong") else() diff --git a/cmake/FindArgon2.cmake b/cmake/FindArgon2.cmake index c0fb53b41..bb2f5811d 100644 --- a/cmake/FindArgon2.cmake +++ b/cmake/FindArgon2.cmake @@ -21,7 +21,9 @@ if (MINGW) message(STATUS "Patching libargon2...\n") execute_process(COMMAND objcopy --redefine-sym argon2_hash=libargon2_argon2_hash + --redefine-sym _argon2_hash=_libargon2_argon2_hash --redefine-sym argon2_error_message=libargon2_argon2_error_message + --redefine-sym _argon2_error_message=_libargon2_argon2_error_message ${ARGON2_SYS_LIBRARIES} ${CMAKE_BINARY_DIR}/libargon2_patched.a WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) find_library(ARGON2_LIBRARIES libargon2_patched.a PATHS ${CMAKE_BINARY_DIR} NO_DEFAULT_PATH) diff --git a/share/icons/application/16x16/actions/auto-type.png b/share/icons/application/16x16/actions/auto-type.png index e782cdf36..3d4481d14 100644 Binary files a/share/icons/application/16x16/actions/auto-type.png and b/share/icons/application/16x16/actions/auto-type.png differ diff --git a/share/icons/application/16x16/actions/paperclip.png b/share/icons/application/16x16/actions/paperclip.png index cd61805ef..c09bde3b0 100644 Binary files a/share/icons/application/16x16/actions/paperclip.png and b/share/icons/application/16x16/actions/paperclip.png differ diff --git a/share/icons/application/16x16/actions/password-copy.png b/share/icons/application/16x16/actions/password-copy.png index 259218934..7443d3fba 100644 Binary files a/share/icons/application/16x16/actions/password-copy.png and b/share/icons/application/16x16/actions/password-copy.png differ diff --git a/share/icons/application/16x16/actions/url-copy.png b/share/icons/application/16x16/actions/url-copy.png index 154d2439e..113107c10 100644 Binary files a/share/icons/application/16x16/actions/url-copy.png and b/share/icons/application/16x16/actions/url-copy.png differ diff --git a/share/icons/application/16x16/actions/username-copy.png b/share/icons/application/16x16/actions/username-copy.png index 1df39d428..65b48fdf5 100644 Binary files a/share/icons/application/16x16/actions/username-copy.png and b/share/icons/application/16x16/actions/username-copy.png differ diff --git a/share/icons/application/22x22/actions/auto-type.png b/share/icons/application/22x22/actions/auto-type.png new file mode 100644 index 000000000..29d02664f Binary files /dev/null and b/share/icons/application/22x22/actions/auto-type.png differ diff --git a/share/icons/application/22x22/actions/database-change-key.png b/share/icons/application/22x22/actions/database-change-key.png new file mode 100644 index 000000000..3ea98fa70 Binary files /dev/null and b/share/icons/application/22x22/actions/database-change-key.png differ diff --git a/share/icons/application/22x22/actions/entry-clone.png b/share/icons/application/22x22/actions/entry-clone.png new file mode 100644 index 000000000..89383d9e0 Binary files /dev/null and b/share/icons/application/22x22/actions/entry-clone.png differ diff --git a/share/icons/application/22x22/actions/group-empty-trash.png b/share/icons/application/22x22/actions/group-empty-trash.png new file mode 100644 index 000000000..56d90a4c0 Binary files /dev/null and b/share/icons/application/22x22/actions/group-empty-trash.png differ diff --git a/share/icons/application/22x22/actions/help-about.png b/share/icons/application/22x22/actions/help-about.png new file mode 100644 index 000000000..eb37d9a08 Binary files /dev/null and b/share/icons/application/22x22/actions/help-about.png differ diff --git a/share/icons/application/22x22/actions/paperclip.png b/share/icons/application/22x22/actions/paperclip.png index 99d0eb821..60c2f870e 100644 Binary files a/share/icons/application/22x22/actions/paperclip.png and b/share/icons/application/22x22/actions/paperclip.png differ diff --git a/share/icons/application/22x22/actions/password-copy.png b/share/icons/application/22x22/actions/password-copy.png index f992db2dc..eb910311a 100644 Binary files a/share/icons/application/22x22/actions/password-copy.png and b/share/icons/application/22x22/actions/password-copy.png differ diff --git a/share/icons/application/22x22/actions/password-generate.png b/share/icons/application/22x22/actions/password-generate.png new file mode 100644 index 000000000..cd8c67425 Binary files /dev/null and b/share/icons/application/22x22/actions/password-generate.png differ diff --git a/share/icons/application/22x22/actions/url-copy.png b/share/icons/application/22x22/actions/url-copy.png index 84eae639f..caa116dbc 100644 Binary files a/share/icons/application/22x22/actions/url-copy.png and b/share/icons/application/22x22/actions/url-copy.png differ diff --git a/share/icons/application/22x22/actions/username-copy.png b/share/icons/application/22x22/actions/username-copy.png index e3b90b903..872771d03 100644 Binary files a/share/icons/application/22x22/actions/username-copy.png and b/share/icons/application/22x22/actions/username-copy.png differ diff --git a/share/icons/application/32x32/actions/application-exit.png b/share/icons/application/32x32/actions/application-exit.png new file mode 100644 index 000000000..dd76354c4 Binary files /dev/null and b/share/icons/application/32x32/actions/application-exit.png differ diff --git a/share/icons/application/32x32/actions/auto-type.png b/share/icons/application/32x32/actions/auto-type.png new file mode 100644 index 000000000..b9819fda1 Binary files /dev/null and b/share/icons/application/32x32/actions/auto-type.png differ diff --git a/share/icons/application/32x32/actions/chronometer.png b/share/icons/application/32x32/actions/chronometer.png new file mode 100644 index 000000000..00386b705 Binary files /dev/null and b/share/icons/application/32x32/actions/chronometer.png differ diff --git a/share/icons/application/32x32/actions/configure.png b/share/icons/application/32x32/actions/configure.png new file mode 100644 index 000000000..c774740a1 Binary files /dev/null and b/share/icons/application/32x32/actions/configure.png differ diff --git a/share/icons/application/32x32/actions/database-change-key.png b/share/icons/application/32x32/actions/database-change-key.png new file mode 100644 index 000000000..dc9599228 Binary files /dev/null and b/share/icons/application/32x32/actions/database-change-key.png differ diff --git a/share/icons/application/32x32/actions/dialog-close.png b/share/icons/application/32x32/actions/dialog-close.png new file mode 100644 index 000000000..b049b6886 Binary files /dev/null and b/share/icons/application/32x32/actions/dialog-close.png differ diff --git a/share/icons/application/32x32/actions/dialog-ok.png b/share/icons/application/32x32/actions/dialog-ok.png new file mode 100644 index 000000000..bcb436721 Binary files /dev/null and b/share/icons/application/32x32/actions/dialog-ok.png differ diff --git a/share/icons/application/32x32/actions/document-close.png b/share/icons/application/32x32/actions/document-close.png new file mode 100644 index 000000000..23b094754 Binary files /dev/null and b/share/icons/application/32x32/actions/document-close.png differ diff --git a/share/icons/application/32x32/actions/document-new.png b/share/icons/application/32x32/actions/document-new.png new file mode 100644 index 000000000..3d0f5cc1d Binary files /dev/null and b/share/icons/application/32x32/actions/document-new.png differ diff --git a/share/icons/application/32x32/actions/document-open.png b/share/icons/application/32x32/actions/document-open.png new file mode 100644 index 000000000..8ba54411c Binary files /dev/null and b/share/icons/application/32x32/actions/document-open.png differ diff --git a/share/icons/application/32x32/actions/document-save.png b/share/icons/application/32x32/actions/document-save.png new file mode 100644 index 000000000..7fa489c0f Binary files /dev/null and b/share/icons/application/32x32/actions/document-save.png differ diff --git a/share/icons/application/32x32/actions/edit-clear-locationbar-ltr.png b/share/icons/application/32x32/actions/edit-clear-locationbar-ltr.png new file mode 100644 index 000000000..023cfb804 Binary files /dev/null and b/share/icons/application/32x32/actions/edit-clear-locationbar-ltr.png differ diff --git a/share/icons/application/32x32/actions/edit-clear-locationbar-rtl.png b/share/icons/application/32x32/actions/edit-clear-locationbar-rtl.png new file mode 100644 index 000000000..32b0666fa Binary files /dev/null and b/share/icons/application/32x32/actions/edit-clear-locationbar-rtl.png differ diff --git a/share/icons/application/32x32/actions/entry-clone.png b/share/icons/application/32x32/actions/entry-clone.png new file mode 100644 index 000000000..93866ad6a Binary files /dev/null and b/share/icons/application/32x32/actions/entry-clone.png differ diff --git a/share/icons/application/32x32/actions/entry-delete.png b/share/icons/application/32x32/actions/entry-delete.png new file mode 100644 index 000000000..d4aad094b Binary files /dev/null and b/share/icons/application/32x32/actions/entry-delete.png differ diff --git a/share/icons/application/32x32/actions/entry-edit.png b/share/icons/application/32x32/actions/entry-edit.png new file mode 100644 index 000000000..cd7d34804 Binary files /dev/null and b/share/icons/application/32x32/actions/entry-edit.png differ diff --git a/share/icons/application/32x32/actions/entry-new.png b/share/icons/application/32x32/actions/entry-new.png new file mode 100644 index 000000000..0226c2f3f Binary files /dev/null and b/share/icons/application/32x32/actions/entry-new.png differ diff --git a/share/icons/application/32x32/actions/group-empty-trash.png b/share/icons/application/32x32/actions/group-empty-trash.png new file mode 100644 index 000000000..f19899dd8 Binary files /dev/null and b/share/icons/application/32x32/actions/group-empty-trash.png differ diff --git a/share/icons/application/32x32/actions/help-about.png b/share/icons/application/32x32/actions/help-about.png new file mode 100644 index 000000000..d8197d61a Binary files /dev/null and b/share/icons/application/32x32/actions/help-about.png differ diff --git a/share/icons/application/32x32/actions/paperclip.png b/share/icons/application/32x32/actions/paperclip.png index cb57d1378..d80a0b0d1 100644 Binary files a/share/icons/application/32x32/actions/paperclip.png and b/share/icons/application/32x32/actions/paperclip.png differ diff --git a/share/icons/application/32x32/actions/password-copy.png b/share/icons/application/32x32/actions/password-copy.png new file mode 100644 index 000000000..208af47e7 Binary files /dev/null and b/share/icons/application/32x32/actions/password-copy.png differ diff --git a/share/icons/application/32x32/actions/password-generate.png b/share/icons/application/32x32/actions/password-generate.png new file mode 100644 index 000000000..99e878cf9 Binary files /dev/null and b/share/icons/application/32x32/actions/password-generate.png differ diff --git a/share/icons/application/32x32/actions/password-generator.png b/share/icons/application/32x32/actions/password-generator.png new file mode 100644 index 000000000..0a49a74b1 Binary files /dev/null and b/share/icons/application/32x32/actions/password-generator.png differ diff --git a/share/icons/application/32x32/actions/password-show-off.png b/share/icons/application/32x32/actions/password-show-off.png new file mode 100644 index 000000000..6072f70cc Binary files /dev/null and b/share/icons/application/32x32/actions/password-show-off.png differ diff --git a/share/icons/application/32x32/actions/password-show-on.png b/share/icons/application/32x32/actions/password-show-on.png new file mode 100644 index 000000000..327ea8963 Binary files /dev/null and b/share/icons/application/32x32/actions/password-show-on.png differ diff --git a/share/icons/application/32x32/actions/system-search.png b/share/icons/application/32x32/actions/system-search.png new file mode 100644 index 000000000..62f67a23f Binary files /dev/null and b/share/icons/application/32x32/actions/system-search.png differ diff --git a/share/icons/application/32x32/actions/url-copy.png b/share/icons/application/32x32/actions/url-copy.png new file mode 100644 index 000000000..16950eca6 Binary files /dev/null and b/share/icons/application/32x32/actions/url-copy.png differ diff --git a/share/icons/application/32x32/actions/username-copy.png b/share/icons/application/32x32/actions/username-copy.png new file mode 100644 index 000000000..16ca8cf31 Binary files /dev/null and b/share/icons/application/32x32/actions/username-copy.png differ diff --git a/share/icons/svg/auto-type.png b/share/icons/svg/auto-type.png new file mode 100644 index 000000000..90d13a126 Binary files /dev/null and b/share/icons/svg/auto-type.png differ diff --git a/share/icons/svg/message-close.svg b/share/icons/svg/message-close.svg deleted file mode 100644 index 44b643072..000000000 --- a/share/icons/svg/message-close.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/share/icons/svg/message-close.svgz b/share/icons/svg/message-close.svgz new file mode 100644 index 000000000..e06d86892 Binary files /dev/null and b/share/icons/svg/message-close.svgz differ diff --git a/share/icons/svg/paperclip.svgz b/share/icons/svg/paperclip.svgz index f82480bca..6c72fd09e 100644 Binary files a/share/icons/svg/paperclip.svgz and b/share/icons/svg/paperclip.svgz differ diff --git a/share/icons/svg/password-copy.svgz b/share/icons/svg/password-copy.svgz index 9136d8399..8cb4a4416 100644 Binary files a/share/icons/svg/password-copy.svgz and b/share/icons/svg/password-copy.svgz differ diff --git a/share/icons/svg/url-copy.svgz b/share/icons/svg/url-copy.svgz new file mode 100644 index 000000000..d6ac421c1 Binary files /dev/null and b/share/icons/svg/url-copy.svgz differ diff --git a/share/icons/svg/username-copy.svgz b/share/icons/svg/username-copy.svgz index 0009cf9ad..ebec8c62c 100644 Binary files a/share/icons/svg/username-copy.svgz and b/share/icons/svg/username-copy.svgz differ diff --git a/share/linux/org.keepassxc.KeePassXC.appdata.xml b/share/linux/org.keepassxc.KeePassXC.appdata.xml index 39dfa7d3a..f5796e4ea 100644 --- a/share/linux/org.keepassxc.KeePassXC.appdata.xml +++ b/share/linux/org.keepassxc.KeePassXC.appdata.xml @@ -50,6 +50,31 @@ + + +
    +
  • Fix unnecessary automatic upgrade to KDBX 4.0 and prevent challenge-response key being stripped [#1568]
  • +
  • Abort saving and show an error message when challenge-response fails [#1659]
  • +
  • Support inner stream protection on all string attributes [#1646]
  • +
  • Fix favicon downloads not finishing on some websites [#1657]
  • +
  • Fix freeze due to invalid STDIN data [#1628]
  • +
  • Correct issue with encrypted RSA SSH keys [#1587]
  • +
  • Fix crash on macOS due to QTBUG-54832 [#1607]
  • +
  • Show error message if ssh-agent communication fails [#1614]
  • +
  • Fix --pw-stdin and filename parameters being ignored [#1608]
  • +
  • Fix Auto-Type syntax check not allowing spaces and special characters [#1626]
  • +
  • Fix reference placeholders in combination with Auto-Type [#1649]
  • +
  • Fix qtbase translations not being loaded [#1611]
  • +
  • Fix startup crash on Windows due to missing SVG libraries [#1662]
  • +
  • Correct database tab order regression [#1610]
  • +
  • Fix GCC 8 compilation error [#1612]
  • +
  • Fix copying of advanced attributes on KDE [#1640]
  • +
  • Fix member initialization of CategoryListWidgetDelegate [#1613]
  • +
  • Fix inconsistent toolbar icon sizes and provide higher-quality icons [#1616]
  • +
  • Improve preview panel geometry [#1609]
  • +
+
+
    diff --git a/share/translations/keepassx_ar.ts b/share/translations/keepassx_ar.ts index c2bbcd163..3a0ca692d 100644 --- a/share/translations/keepassx_ar.ts +++ b/share/translations/keepassx_ar.ts @@ -272,7 +272,7 @@ Please select whether you want to allow access. Only returns the best matches for a specific URL instead of all entries for the whole domain. - + لا تعرض سوى أفضل التطابقات للرابط المحدد بدلًا من جميع الإدخالات للنطاق بأكمله. &Return only best-matching credentials @@ -321,11 +321,11 @@ Please select whether you want to allow access. Automatically creating or updating string fields is not supported. - + إنشاء او تحديث حقول التسلسل تلقائيًا غير مدعوم. &Return advanced string fields which start with "KPH: " - + &جلب حقول التسلسل المتقدمة التي تبدأ ب "KPH: " Updates KeePassXC or keepassxc-proxy binary path automatically to native messaging scripts on startup. @@ -468,7 +468,7 @@ Please unlock the selected database or choose another one which is unlocked. The active database does not contain an entry with permissions. - + لا تحتوي قاعدة البيانات النشطة على إدخال مع صلاحيات. @@ -1425,11 +1425,11 @@ Do you want to merge your changes? Inherit default Auto-Type sequence from the &group - + ورث تسلسل الطباعة التلقائية الإفتراضي من &المجموعة &Use custom Auto-Type sequence: - + &إستخدام تسلسل طباعة تلقائية مخصص: Window Associations @@ -1645,11 +1645,11 @@ Do you want to merge your changes? &Use default Auto-Type sequence of parent group - + &إستخدام تسلسل الطباعة التلقائية الإفتراضي للمجموعة الرئيسية Set default Auto-Type se&quence - + تعيين تسلسل الطباعة التلقائية الإفتراضي @@ -2026,7 +2026,7 @@ This may cause the affected plugins to malfunction. Exclude look-alike characters - + استبعاد الرموز التي تبدو على حد سواء Ensure that the password contains characters from every group @@ -2034,7 +2034,7 @@ This may cause the affected plugins to malfunction. Extended ASCII - + تمديد ASCII @@ -2368,7 +2368,7 @@ This is a one-way migration. You won't be able to open the imported databas Auto-type association window or sequence missing - + نافذة الطباعة التلقائية المرتبطة او تسلسل الإرتباط مفقود Invalid bool value @@ -2456,7 +2456,7 @@ This is a one-way migration. You won't be able to open the imported databas Unable to construct group tree - + تعذر إنشاء شجرة المجموعة Root @@ -2472,15 +2472,15 @@ This is a one-way migration. You won't be able to open the imported databas Key transformation failed - + فشل تحول المفتاح Invalid group field type number - + حقل رقم نوع المجموعة غير صحيح Invalid group field size - + حقل حجم المجموعة غير صحيح Read group field data doesn't match size @@ -2488,43 +2488,43 @@ This is a one-way migration. You won't be able to open the imported databas Incorrect group id field size - + حجم حقل معرف المجموعة غير صحيح Incorrect group creation time field size - + حجم حقل وقت إنشاء المجموعة غير صحيح Incorrect group modification time field size - + حجم حقل وقت تعديل المجموعة غير صحيح Incorrect group access time field size - + حجم حقل وقت الوصول للمجموعة غير صحيح Incorrect group expiry time field size - + حجم حقل وقت انتهاء صلاحية المجموعة غير صحيح Incorrect group icon field size - + حجم حقل رمز المجموعة غير صحيح Incorrect group level field size - + حجم حقل مستوى المجموعة غير صحيح Invalid group field type - + نوع حقل المجموعة غير صحيح Missing group id or level - + معرف المجموعة أو المستوى مفقود Missing entry field type number - + رقم نوع حقل إلمُدخل مفقود Invalid entry field size @@ -2532,54 +2532,81 @@ This is a one-way migration. You won't be able to open the imported databas Read entry field data doesn't match size - + قراءة بيانات الحقل الإدخال لا تتطابق مع الحجم Invalid entry uuid field size - + حجم حقل المُدخل uuid غير صحيح Invalid entry group id field size - + إدخال حجم حقل معرف مجموعة غير صحيح Invalid entry icon field size - + حجم حقل رمز الإدخال غير صحيح Invalid entry creation time field size - + حجم حقل وقت إنشاء الإدخال غير صحيح Invalid entry modification time field size - + حجم حقل وقت تعديل الإدخال غير صحيح Invalid entry expiry time field size - + حجم حقل وقت انتهاء صلاحية الإدخال غير صحيح Invalid entry field type نوع حقل الإدخال غير صحيح + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – مستحسن) + + Main Existing single-instance lock file is invalid. Launching new instance. - + ملف القفل الحالي المثيل غير صحيح. سيُطلق مثيل جديد. The lock file could not be created. Single-instance mode disabled. - + تعذر إنشاء ملف القفل. تم تعطيل وضع المثيل الأحادي. Another instance of KeePassXC is already running. - + نسخة أخرى من KeePassXC قيد التشغيل. Fatal error while testing the cryptographic functions. - + خطأ فادح أثناء اختبار وظائف التشفير. KeePassXC - Error @@ -2614,7 +2641,7 @@ This is a one-way migration. You won't be able to open the imported databas Time-based one-time password - + كلمة مرور لمرة واحدة تعتمد على الوقت &Groups @@ -2726,7 +2753,7 @@ This is a one-way migration. You won't be able to open the imported databas &Perform Auto-Type - + &تنفيذ الضغط التلقائي &Open URL @@ -2859,7 +2886,7 @@ This version is not meant for production use. PEM boundary mismatch - + عدم تطابق حدود PEM Base64 decoding failed @@ -2867,15 +2894,15 @@ This version is not meant for production use. Key file way too small. - + طريق ملف المفتاح صغير جدًا. Key file magic header id invalid - + معرف رأس magic لملف المفتاح غير صحيح Found zero keys - + لم يُعثر على أية مفاتيح Failed to read public key. @@ -2887,11 +2914,11 @@ This version is not meant for production use. No private key payload to decrypt - + لا يوجد حمولة المفتاح الخاص لفك التشفير Trying to run KDF without cipher - + محاولة تشغيل KDF بدون تشفير Passphrase is required to decrypt this key @@ -2907,11 +2934,11 @@ This version is not meant for production use. Unexpected EOF while reading public key - + نهاية الملف غير معروفة عند قراءة المفتاح العام Unexpected EOF while reading private key - + نهاية الملف غير معروفة عند قراءة المفتاح الخاص Can't write public key as it is empty @@ -2919,7 +2946,7 @@ This version is not meant for production use. Unexpected EOF when writing public key - + نهاية الملف غير معروفة عند كتابة المفتاح العام Can't write private key as it is empty @@ -2927,7 +2954,7 @@ This version is not meant for production use. Unexpected EOF when writing private key - + نهاية الملف غير معروفة عند قراءة المفتاح الخاص Unsupported key type: %1 @@ -2939,7 +2966,7 @@ This version is not meant for production use. Cipher IV is too short for MD5 kdf - + التشفير الرابع قصير جدًا ل MD5 kdf Unknown KDF: %1 @@ -2958,7 +2985,7 @@ This version is not meant for production use. This is required for accessing your databases from ChromeIPass or PassIFox - + هذا مطلوب للوصول إلى قواعد البيانات الخاصة بك من ChromeIPass أو PassIFox Enable KeePassHTTP server @@ -2975,11 +3002,11 @@ This version is not meant for production use. Only returns the best matches for a specific URL instead of all entries for the whole domain. - + لا تعرض سوى أفضل التطابقات للرابط المحدد بدلًا من جميع الإدخالات للنطاق بأكمله. &Return only best matching entries - + &عرض أفضل إدخالات مطابقة فقط Re&quest to unlock the database if it is locked @@ -2987,11 +3014,11 @@ This version is not meant for production use. Only entries with the same scheme (http://, https://, ftp://, ...) are returned. - + يُسترجع الإدخالات مع نفس المخطط (http://, https://, ftp://, ...) فقط. &Match URL schemes - + &مطابقة مخططات الروابط Sort matching entries by &username @@ -3035,11 +3062,11 @@ This version is not meant for production use. Automatically creating or updating string fields is not supported. - + إنشاء او تحديث حقول التسلسل تلقائيًا غير مدعوم. &Return advanced string fields which start with "KPH: " - + &جلب حقول التسلسل المتقدمة التي تبدأ ب "KPH: " HTTP Port: @@ -3063,12 +3090,13 @@ This version is not meant for production use. Cannot bind to privileged ports - + لا يمكن ربط المنافذ المميزة Cannot bind to privileged ports below 1024! Using default port 19455. - + لا يمكن ربط المنافذ المميزة أقل من 1024! +استخدم المنفذ الإفتراضي 19455. @@ -3088,7 +3116,7 @@ Using default port 19455. entropy - + غير قادر Password @@ -3116,15 +3144,15 @@ Using default port 19455. Extended ASCII - + تمديد ASCII Exclude look-alike characters - + استبعاد الرموز التي تبدو على حد سواء Pick characters from every group - + إختيار أحرف من كل مجموعة &Length: @@ -3168,7 +3196,7 @@ Using default port 19455. Entropy: %1 bit - + Entropy: %1 bit Password Quality: %1 @@ -3203,7 +3231,7 @@ Using default port 19455. Database hash not available - + لا يتوفر هاش قاعدة البيانات Client public key not received @@ -3311,20 +3339,20 @@ Using default port 19455. Path of the entry to add. - + مسار المُدخل للإضافة. Copy an entry's password to the clipboard. - + نسخ كلمة المرور الإدخال إلى الحافظة. Path of the entry to clip. clip = copy to clipboard - + مسار المُدخل للقص. Timeout in seconds before clearing the clipboard. - + مهلة بالثوان قبل مسح الحافظة. Edit an entry. @@ -3344,19 +3372,19 @@ Using default port 19455. Estimate the entropy of a password. - + تقدير الإنتروبيا لكلمة مرور. Password for which to estimate the entropy. - + كلمة السر التي لتقدير الانتروبيا. Perform advanced analysis on the password. - + إجراء تحليل متقدم على كلمة المرور. Extract and print the content of a database. - + استخراج وطباعة محتوى قاعدة البيانات. Path of the database to extract. @@ -3400,7 +3428,7 @@ Available commands: Path of the group to list. Default is / - + مسار المجموعة للجدولة. الإفتراضي هو / Find entries quickly. @@ -3424,7 +3452,7 @@ Available commands: Use the same credentials for both database files. - + استخدام نفس بيانات الاعتماد لكل من ملفات قاعدة البيانات. Key file of the database to merge from. @@ -3468,30 +3496,6 @@ Available commands: missing closing quote - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group المجموعة @@ -3587,14 +3591,14 @@ Available commands: Use extended ASCII in the generated password. - + إستخدام ASCII الموسع في كلمة المرور التي المُنشئة. QtIOCompressor Internal zlib error when compressing: - + خطأ zlib داخلي عند الضغط: Error writing to underlying device: @@ -3602,11 +3606,11 @@ Available commands: Error opening underlying device: - + حدث خطأ أثناء فتح الجهاز الأساسي: Error reading data from underlying device: - + حدث خطأ أثناء قراءة البيانات من الجهاز الأساسي: Internal zlib error when decompressing: @@ -3617,7 +3621,7 @@ Available commands: QtIOCompressor::open The gzip format not supported in this version of zlib. - + تنسيق gzip غير مدعوم في ه Internal zlib error: @@ -3640,7 +3644,7 @@ Available commands: Case Sensitive - + حالة الحساسية Limit search to selected group @@ -3666,7 +3670,8 @@ give it a unique name to identify and accept it. A shared encryption-key with the name "%1" already exists. Do you want to overwrite it? - + مفتاح التشفير المشترك مع إسم "%1" موجود بالفعل. +هل تريد الكتابة عليه؟ KeePassXC: Update Entry @@ -3708,7 +3713,7 @@ Please unlock the selected database or choose another one which is unlocked. The active database does not contain an entry of KeePassHttp Settings. - + لا تحتوي قاعدة البيانات النشطة على إدخال لإعدادات KeePassHttp. Removing stored permissions... @@ -3732,7 +3737,7 @@ Please unlock the selected database or choose another one which is unlocked. The active database does not contain an entry with permissions. - + لا تحتوي قاعدة البيانات النشطة على إدخال مع صلاحيات. @@ -3762,7 +3767,7 @@ Please unlock the selected database or choose another one which is unlocked. Start only a single instance of KeePassXC - + شغل تطبيق واحد فقط من KeePassXC Remember last databases @@ -3770,7 +3775,7 @@ Please unlock the selected database or choose another one which is unlocked. Remember last key files and security dongles - + تذكر الملفات الرئيسية الأخيرة و قواعد الأمن Load previous databases on startup @@ -3786,7 +3791,7 @@ Please unlock the selected database or choose another one which is unlocked. Automatically reload the database when modified externally - + إعادة تحميل قاعدة البيانات تلقائيا عند تعديلها خارجيًا Minimize when copying to clipboard @@ -3798,11 +3803,11 @@ Please unlock the selected database or choose another one which is unlocked. Use group icon on entry creation - + استخدم رمز المجموعة عند إنشاء الإدخال Don't mark database as modified for non-data changes (e.g., expanding groups) - + عدم وضع علامة على قاعدة البيانات المعدلة للتغييرات غير المتعلقة بالبيانات (مثال، توسيع المجموعات) Hide the Details view @@ -3814,11 +3819,11 @@ Please unlock the selected database or choose another one which is unlocked. Hide window to system tray when minimized - + إخفاء النافذة إلى شريط المهام عند تصغيرها Hide window to system tray instead of app exit - + إخفاء النافذة إلى شريط المهام بدلًا من إغلاق التطبيق Dark system tray icon @@ -3834,19 +3839,19 @@ Please unlock the selected database or choose another one which is unlocked. Use entry title to match windows for global Auto-Type - + استخدم عنوان الإدخال لمطابقة النوافذ للطباعة التلقائية بشكل عام Use entry URL to match windows for global Auto-Type - + استخدم رابط الإدخال لمطابقة النوافذ للطباعة التلقائية بشكل عام Always ask before performing Auto-Type - + اسأل دائما قبل تنفيذ الطباعة التلقائية Global Auto-Type shortcut - + المفتاح العام للطباعة التلقائية Auto-Type delay @@ -3939,7 +3944,7 @@ Please unlock the selected database or choose another one which is unlocked. Re-lock previously locked database after performing Auto-Type - + أعد قفل قاعدة البيانات التي تم تأمينها سابقًا بعد تنفيذ الطباعة التلقائية @@ -3954,11 +3959,11 @@ Please unlock the selected database or choose another one which is unlocked. Default RFC 6238 token settings - + الإعدادات الإفتراضية لرمز RFC 6238 Steam token settings - + اعدادات رمز Steam Use custom settings @@ -3970,7 +3975,7 @@ Please unlock the selected database or choose another one which is unlocked. Time step: - + الخطوة الزمنية: 8 digits @@ -4087,7 +4092,7 @@ Please unlock the selected database or choose another one which is unlocked. Parent window handle - + زر النافذة الأم \ No newline at end of file diff --git a/share/translations/keepassx_ca.ts b/share/translations/keepassx_ca.ts index ad40c798c..6442dc8bf 100644 --- a/share/translations/keepassx_ca.ts +++ b/share/translations/keepassx_ca.ts @@ -802,7 +802,7 @@ You can now save it. Encryption - Encriptatge + Xifratge Number of rounds too high @@ -857,7 +857,7 @@ If you keep this number, your database may be too easy to crack! DatabaseSettingsWidgetEncryption Encryption Algorithm: - Algorisme de d’encriptatge: + Algorisme de xifratge: AES: 256 Bit (default) @@ -1297,7 +1297,7 @@ Do you want to merge your changes? (encrypted) - (encriptat) + (xifrat) Select private key @@ -1544,7 +1544,7 @@ Do you want to merge your changes? Decrypt - + Desxifrar n/a @@ -2419,7 +2419,7 @@ Es tracta d'una migració unidireccional. No obrir la base de dades importa Unsupported encryption algorithm. - Algoritme d'encriptació no admès. + Algoritme de xifratge no admès. Unsupported KeePass database version. @@ -2559,6 +2559,33 @@ Es tracta d'una migració unidireccional. No obrir la base de dades importa + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + Main @@ -2999,7 +3026,7 @@ This version is not meant for production use. R&emove all shared encryption keys from active database - Suprimeix totes les claus d'encriptació compartides de la base de dades activa + Suprimeix totes les claus de xifratge compartides de la base de dades activa Re&move all stored permissions from entries in active database @@ -3459,30 +3486,6 @@ Available commands: missing closing quote falta la cometa de tancament - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group Grup @@ -3694,7 +3697,7 @@ Per favor, desbloqueu la base de dades seleccionada o escolliu-ne una altra. No shared encryption-keys found in KeePassHttp Settings. - No s'han trobat claus d'encriptació compartides en la configuració de KeePassHttp. + No s'han trobat claus de xifratge compartides en la configuració de KeePassHttp. KeePassXC: Settings not available! diff --git a/share/translations/keepassx_cs.ts b/share/translations/keepassx_cs.ts index 5d2382ef3..bd9cbc2b2 100644 --- a/share/translations/keepassx_cs.ts +++ b/share/translations/keepassx_cs.ts @@ -2581,6 +2581,33 @@ Jedná se o jednosměrný převod. Databázi, vzniklou z importu, nepůjde otev Neplatný typ kolonky položky + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – doporučeno) + + Main @@ -3488,30 +3515,6 @@ Příkazy k dispozici: missing closing quote chybějící uzavírací uvozovka - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – doporučeno) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Skupina diff --git a/share/translations/keepassx_da.ts b/share/translations/keepassx_da.ts index decc99069..88ea408dd 100644 --- a/share/translations/keepassx_da.ts +++ b/share/translations/keepassx_da.ts @@ -308,7 +308,7 @@ Vælg venligst hvorvidt du vil tillade denne adgang. Never ask before &updating credentials Credentials mean login data requested via browser extension - + Spørg aldrig før legitimationsoplysninger &ændres Only the selected database has to be connected with a client. @@ -317,7 +317,7 @@ Vælg venligst hvorvidt du vil tillade denne adgang. Searc&h in all opened databases for matching credentials Credentials mean login data requested via browser extension - + Søg i alle åbnede databaser efter matchende legitimationsoplysninger Automatically creating or updating string fields is not supported. @@ -375,7 +375,7 @@ Vælg venligst hvorvidt du vil tillade denne adgang. We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. - + KeePassXC-Browser er desværre ikke understøttet for Snap udgivelser endnu. @@ -432,7 +432,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. The active database does not contain a settings entry. - + Den aktive database inderholder ikke en post med indstillinger. KeePassXC: No keys found @@ -503,7 +503,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. Cha&llenge Response - + Udfordring Svar Refresh @@ -620,15 +620,15 @@ Overvej at generere en ny nøglefil. First record has field names - + Første optegnelse har feltnavne Number of headers line to discard - + Antallet af header linjer, som skal ignoreres Consider '\' an escape character - + Betragt '\' som en escape karakter Preview @@ -673,7 +673,8 @@ Overvej at generere en ny nøglefil. CSV import: writer has errors: - + CSV import: udskriver har fejl: + @@ -726,7 +727,7 @@ Overvej at generere en ny nøglefil. Challenge Response: - + Udfordring Svar Unable to open the database. @@ -843,15 +844,17 @@ Hvis du vil beholde antallet, så kan din database tage timer eller dage (eller You are using a very low number of key transform rounds with AES-KDF. If you keep this number, your database may be too easy to crack! - + Du bruger en meget lavt antal nøgletransformeringsrunder med AES-KDF. + +Hvis du beholder dette antal, så kan din database være nem af knække! KDF unchanged - + KDF uændret Failed to transform key with new KDF parameters; KDF unchanged. - + Kunne ikke transformere nøglen med nye KDF-parametre; KDF er uændret. MiB @@ -880,7 +883,7 @@ If you keep this number, your database may be too easy to crack! Key Derivation Function: - + Nøgleafledningsfunktion Transform rounds: @@ -888,22 +891,22 @@ If you keep this number, your database may be too easy to crack! Benchmark 1-second delay - + Benchmark 1-sekunds forsinkelse Memory Usage: - + Hukommelsesforbrug Parallelism: - + Parallelitet DatabaseSettingsWidgetGeneral Database Meta Data - + Database metadata Database name: @@ -919,7 +922,7 @@ If you keep this number, your database may be too easy to crack! History Settings - + Historieindstillinger Max. history items: @@ -939,11 +942,11 @@ If you keep this number, your database may be too easy to crack! Additional Database Settings - + Flere database-indstillinger Enable &compression (recommended) - + Slå &compression til (anbefalet) @@ -1069,12 +1072,13 @@ Ellers mister du dine ændringer. Disable safe saves? - + Slå sikre gem til? KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file. Disable safe saves and try again? - + KeePassXC har ikke været i stand til at gemme databasen flere gange. Dette er formentlig fordi en filsynkroniseringstjeneste har en lås på filen. +Så sikre gem fra og prøv igen? @@ -1109,7 +1113,7 @@ Disable safe saves and try again? Do you really want to move entry "%1" to the recycle bin? - + Ønsker du virkelig at rykke post "%1" til skraldespanden? Move entries to recycle bin? @@ -1121,11 +1125,11 @@ Disable safe saves and try again? Execute command? - + Udfør kommando? Do you really want to execute the following command?<br><br>%1<br> - + Er du sikker på at du vil udføre følgende kommando? <br><br>%1<br> Remember my choice @@ -1145,36 +1149,36 @@ Disable safe saves and try again? No current database. - + Ingen database valgt No source database, nothing to do. - + Ingen kilde-database, intet at gøre. Search Results (%1) - + Søgeresultater (%1) No Results - + Ingen resultater File has changed - + Filen har ændret sig The database file has changed. Do you want to load the changes? - + Database-filen har ændret sig. Er du sikker på at du vil indlæse ændringerne? Merge Request - + Fletteanmodning The database file has changed and you have unsaved changes. Do you want to merge your changes? - + Database-filen har ændringer og du har ændringer som du ikke har gemt. Vil du kombinere dine ændringer med databasens? Could not open the new database file while attempting to autoreload this database. @@ -1182,18 +1186,18 @@ Do you want to merge your changes? Empty recycle bin? - + Tøm skraldespanden? Are you sure you want to permanently delete everything from your recycle bin? - + Er du sikker på at du vil permanent slette alt fra din skraldespand? DetailsWidget Generate TOTP Token - + Generér TOTP Token Close @@ -1213,7 +1217,7 @@ Do you want to merge your changes? Expiration - + Udløbsdato Username @@ -1221,15 +1225,15 @@ Do you want to merge your changes? Autotype - + Auto-Indsæt Searching - + Søger Attributes - + Attributter Attachments @@ -1253,23 +1257,23 @@ Do you want to merge your changes? Clear - + Ryd Never - + Aldrig [PROTECTED] - + [BESKYTTET] Disabled - + Deaktiveret Enabled - + Aktiveret @@ -1300,7 +1304,7 @@ Do you want to merge your changes? SSH Agent - + SSH Agent n/a @@ -1308,11 +1312,11 @@ Do you want to merge your changes? (encrypted) - + (krypteret) Select private key - + Vælg privat nøgle File too large to be a private key @@ -1320,7 +1324,7 @@ Do you want to merge your changes? Failed to open private key - + Kunne ikke åbne privat nøgle Entry history @@ -1344,19 +1348,19 @@ Do you want to merge your changes? Confirm Remove - + Bekræft sletning Are you sure you want to remove this attribute? - + Er du sikker på at du vil fjerne denne attribut? [PROTECTED] - + [BESKYTTET] Press reveal to view or edit - + Tryk vis for at se og ændre Tomorrow @@ -1376,15 +1380,15 @@ Do you want to merge your changes? Apply generated password? - + Anvend genereret kodeord? Do you want to apply the generated password to this entry? - + Vil du bruge det genererede kodeord i denne post? Entry updated successfully. - + Post blev succesfuldt opdateret. @@ -1403,15 +1407,15 @@ Do you want to merge your changes? Edit Name - + Rediger navn Protect - + Beskyt Reveal - + Vis Attachments @@ -1419,11 +1423,11 @@ Do you want to merge your changes? Foreground Color: - + Forgrundsfarve: Background Color: - + Baggrundsfarve: @@ -1434,7 +1438,7 @@ Do you want to merge your changes? Inherit default Auto-Type sequence from the &group - + Arv standard Auto-Indsæt sekvens fra gruppen &Use custom Auto-Type sequence: @@ -1442,7 +1446,7 @@ Do you want to merge your changes? Window Associations - + Vindue-associationer + @@ -1458,7 +1462,7 @@ Do you want to merge your changes? Use a specific sequence for this association: - + Brug en specifik sekvens for denne associering: @@ -1508,7 +1512,7 @@ Do you want to merge your changes? Toggle the checkbox to reveal the notes section. - + Klik på afkrydsningsfeltet for at vise notes-sektionen. Username: @@ -1523,31 +1527,31 @@ Do you want to merge your changes? EditEntryWidgetSSHAgent Form - + Formular Remove key from agent after - + Fjern nøglen fra agenten efter seconds - + sekunder Fingerprint - + Fingeraftryk Remove key from agent when database is closed/locked - + Fjern nøglen fra agenten når databasen er lukket/låst Public key - + Offentlig nøgle Add key to agent when database is opened/unlocked - + Tilføj nøglen til agenten når databasen er åben/låst op Comment @@ -1580,19 +1584,19 @@ Do you want to merge your changes? Attachment - + Vedhæftning Add to agent - + Tilføj til agent Remove from agent - + Fjern fra agent Require user confirmation when this key is used - + Kræv brugerbekræftigelse når denne nøgle bruges @@ -1654,22 +1658,22 @@ Do you want to merge your changes? &Use default Auto-Type sequence of parent group - + &Brug standard Auto-Indsæt sekvens fra forældregruppe Set default Auto-Type se&quence - + Definér standard Auto-Indsæt sekvens EditWidgetIcons &Use default icon - + &Brug standard-ikon Use custo&m icon - + Brug brugerbestemt ikon Add custom icon @@ -1681,15 +1685,15 @@ Do you want to merge your changes? Download favicon - + Download favicon Unable to fetch favicon. - + Kan ikke hente favicon. Hint: You can enable Google as a fallback under Tools>Settings>Security - + Forslag: Du kan slå Google til som nødløsning under Værktøj>Indstillinger>Sikkerhed Images @@ -1705,19 +1709,19 @@ Do you want to merge your changes? Can't read icon - + Kan ikke læse ikon Custom icon already exists - + Brugervalgt ikon findes allerede Confirm Delete - + Bekræft sletning This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it? - + Dette ikon bliver brugt af %1 poster, and will blive erstattet af standard-ikonet. Er du sikker på at du vil slette det? @@ -1740,7 +1744,7 @@ Do you want to merge your changes? Plugin Data - + Plugin data Remove @@ -1748,20 +1752,21 @@ Do you want to merge your changes? Delete plugin data? - + Slet plugin data Do you really want to delete the selected plugin data? This may cause the affected plugins to malfunction. - + Er du sikker på at du vil slette den valgte plugin data? +Dette kan få det påvirkede plugin til at svigte. Key - + Nøgle Value - + Værdi @@ -1769,7 +1774,7 @@ This may cause the affected plugins to malfunction. - Clone Suffix added to cloned entries - + - Klon @@ -1780,14 +1785,14 @@ This may cause the affected plugins to malfunction. Size - + Størrelse EntryAttachmentsWidget Form - + Formular Add @@ -1807,7 +1812,7 @@ This may cause the affected plugins to malfunction. Select files - + Vælg filer Are you sure you want to remove %n attachment(s)? @@ -1815,44 +1820,49 @@ This may cause the affected plugins to malfunction. Confirm Remove - + Bekræft sletning Save attachments - + Gem vedhæftninger Unable to create directory: %1 - + Kunne ikke oprette folder: +%1 Are you sure you want to overwrite the existing file "%1" with the attachment? - + Er du sikker på at du vil overskrive den eksisterende fil "%1" med denne vedhæftning? Confirm overwrite - + Bekræft overskrivningn Unable to save attachments: %1 - + Kunne ikke gemme vedhæftning: +%1 Unable to open attachment: %1 - + Kunne ikke åbne vedhæftning: +%1 Unable to open attachments: %1 - + Kunne ikke åbne vedhæftninger: +%1 Unable to open files: %1 - + Kunne ikke åbne filer: +%1 @@ -1886,7 +1896,7 @@ This may cause the affected plugins to malfunction. Ref: Reference abbreviation - + Ref: Group @@ -1906,7 +1916,7 @@ This may cause the affected plugins to malfunction. Never - + Aldrig Password @@ -1965,7 +1975,7 @@ This may cause the affected plugins to malfunction. Attachments (icon) - + Vedhæftninger (ikon) @@ -2060,7 +2070,7 @@ This may cause the affected plugins to malfunction. Unable to issue challenge-response. - + Kunne ikke udstede udfordring-svar. Wrong key or database file is corrupt. @@ -2071,7 +2081,7 @@ This may cause the affected plugins to malfunction. Kdbx3Writer Unable to issue challenge-response. - + Kunne ikke udstede udfordring-svar. Unable to calculate master key @@ -2126,7 +2136,7 @@ This may cause the affected plugins to malfunction. Legacy header fields found in KDBX4 file. - + Forældede header-felter fundet i KDBX4 fil. Invalid inner header id size @@ -2138,12 +2148,12 @@ This may cause the affected plugins to malfunction. Invalid inner header binary size - + Invalid størrelse i binær indre header Unsupported KeePass variant map version. Translation: variant map = data structure for storing meta data - + Ikke understøttet KeePass variant version Invalid variant map entry name length @@ -2210,7 +2220,7 @@ This may cause the affected plugins to malfunction. Invalid symmetric cipher IV size. IV = Initialization Vector for symmetric cipher - + Invalid størrelse for IV for symmetrisk ciffer Unable to calculate master key @@ -2226,7 +2236,7 @@ This may cause the affected plugins to malfunction. KdbxReader Invalid cipher uuid length - + Invalid ciffer uuid længde Unsupported cipher @@ -2242,11 +2252,11 @@ This may cause the affected plugins to malfunction. Invalid master seed size - + Invalid størrelse for master seed Invalid transform seed size - + Invalid størrelse for transformerings-seed Invalid transform rounds size @@ -2258,7 +2268,7 @@ This may cause the affected plugins to malfunction. Invalid random stream id size - + Invalid størrelse af tilfældigt strøm id Invalid inner random stream cipher @@ -2287,7 +2297,7 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo KdbxXmlReader XML parsing failure: %1 - + XML indlæsningsfejl: %1 No root group @@ -2299,7 +2309,7 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Missing custom data key or value - + Mangler brugervalgt data-nøgle eller -værdi Multiple group elements @@ -2311,11 +2321,11 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Invalid group icon number - + Invalidt gruppeikonsnummer Invalid EnableAutoType value - + Invalid Slå-Auto-Indsæt-Til værdi Invalid EnableSearching value @@ -2339,11 +2349,11 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Invalid entry icon number - + Invalidt gruppeikonsnummer History element in history entry - + Historiske elementer i historie-posten No entry uuid found @@ -2355,19 +2365,19 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Unable to decrypt entry string - + Ikke i stand til at dekyptere post-streng Duplicate custom attribute found - + Fandt ens brugerdefineret attribut Entry string key or value missing - + Poststreng-nøgle eller -værdi mangler Duplicate attachment found - + Fandt ens vedhæftning Entry binary key or value missing @@ -2391,7 +2401,7 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Invalid color rgb part - + Invalid farve RGB del Invalid number value @@ -2439,7 +2449,7 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Unable to read encryption IV IV = Initialization Vector for symmetric cipher - + Kan ikke læse krypterings-IV Invalid number of groups @@ -2451,11 +2461,11 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Invalid content hash size - + Invalid størrelse for indholds-hash Invalid transform seed size - + Invalid størrelse for transformerings-seed Invalid number of transform rounds @@ -2483,7 +2493,7 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Invalid group field type number - + Invalidt gruppefeltstypenummer Invalid group field size @@ -2491,27 +2501,27 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Read group field data doesn't match size - + Læsegruppefelt data har ikke samme størrelse Incorrect group id field size - + Forkert størrelse af gruppe id felt Incorrect group creation time field size - + Forkert størrelse for gruppeoprettelsestidsfelt Incorrect group modification time field size - + Forkert størrelse for gruppemodifikationstidsfelt Incorrect group access time field size - + Forkert størrelse for gruppetilgåelsestidsfelt Incorrect group expiry time field size - + Forkert størrelse for gruppeudløbstidsfelt Incorrect group icon field size @@ -2547,38 +2557,65 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo Invalid entry group id field size - + Invalid størrelse for gruppe id felt Invalid entry icon field size - + Invalid størrelse for postikonsfelt Invalid entry creation time field size - + Invalid størrelse for postoprettelsestidsfelt Invalid entry modification time field size - + Invalid størrelse for postmodifikationstidsfelt Invalid entry expiry time field size - + Invalid størrelse for postudløbstidsfelt Invalid entry field type - + Invalid post-felt-type + + + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – anbefalet) Main Existing single-instance lock file is invalid. Launching new instance. - + Eksisterende enkelt-instans låsefil er invalid. Starter ny instans. The lock file could not be created. Single-instance mode disabled. - + Låsefil kunne ikke oprettes. Enkelt-instans-tilstand slået fra. Another instance of KeePassXC is already running. @@ -3068,7 +3105,7 @@ Denne version er ikke beregnet til at blive brugt i produktion. <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> - + <p>KeePassHTTP er forældet og vil blive fjernet i fremtiden.<br>Skift til KeePassXC-Browser i stedet! Besøg vores <a href="https://keepassxc.org/docs/keepassxc-browser-migration">konverteringsguide</a> for at få hjælp.</p> Cannot bind to privileged ports @@ -3213,91 +3250,91 @@ Bruger standard port 19455. Database hash not available - + Databasehash er ikke tilgængeligt Client public key not received - + Offentlig nøgle for klient ikke modtaget Cannot decrypt message - + Kan ikke dekryptere besked Timeout or cannot connect to KeePassXC - + Tiden er udløbet eller var ikke i stand til at forbinde til KeePassXC Action cancelled or denied - + Handling afbrudt eller nægtet Cannot encrypt message or public key not found. Is Native Messaging enabled in KeePassXC? - + Kan ikke kryptere besked eller den offentlige nøgle blev ikke fundet. Er native beskedhåndtering slået til i KeePassXC? KeePassXC association failed, try again - + KeePassXC associering fejlede, prøv igen Key change was not successful - + Nøgleændring fejlede Encryption key is not recognized - + Krypteringsnøgle ikke genkendt No saved databases found - + Ingen gemt database fundet Incorrect action - + Forkert handling Empty message received - + Tom besked modtaget No URL provided - + Ingen URL angivet No logins found - + Ingen logins fundet Unknown error - + Ukendt fejl Add a new entry to a database. - + Tilføj en ny post til en database Path of the database. - + Sti til databasen. Key file of the database. - + Databasens nøglefil path - + sti Username for the entry. - + Brugernavn for posten. username - + brugernavn URL for the entry. - + URL for posten. URL @@ -3305,154 +3342,159 @@ Bruger standard port 19455. Prompt for the entry's password. - + Spørg om postens kodeord. Generate a password for the entry. - + Generér et kodeord for posten. Length for the generated password. - + Længde af genereret kodeord. length - + længde Path of the entry to add. - + Sti for posten, som skal tilføjes. Copy an entry's password to the clipboard. - + Kopiér en posts kodeord til udklipsholder. Path of the entry to clip. clip = copy to clipboard - + Sti til posten, som skal klippes. Timeout in seconds before clearing the clipboard. - + Timeout i sekunder før udklipsholderen ryddes. Edit an entry. - + Rediger en post. Title for the entry. - + Titel for post. title - + titel Path of the entry to edit. - + Sti til posten, som skal redigeres. Estimate the entropy of a password. - + Estimat for entropi af et kodeord. Password for which to estimate the entropy. - + Koderd, som entropi skal estimeres for. Perform advanced analysis on the password. - + Udfør advanceret analyse af kodeordet. Extract and print the content of a database. - + Udtræk og print indeholdet af en database. Path of the database to extract. - + Sti til databasen, som skal dekomprimeres Insert password to unlock %1: - + Indsæt kodeord for at låse %1 op: Failed to load key file %1 : %2 - + Kunne ikke indlæse nøglefil %1 : %2 WARNING: You are using a legacy key file format which may become unsupported in the future. Please consider generating a new key file. - + ADVARSEL: Du benytter et forældet nøglefilsformat, som muligvis ikke vil blive understøttet i fremtiden. + +Overvej at generere en ny nøglefil. Available commands: - + + +Tilgængelige kommandoer: + Name of the command to execute. - + Navn på kommando, som skal udføres. List database entries. - + List poster i databasen. Path of the group to list. Default is / - + Sti til gruppen, som skal listes. Standard er / Find entries quickly. - + Find poster hurtigt. Search term. - + Søgeudtryk. Merge two databases. - + Kombiner to databaser. Path of the database to merge into. - + Sti til databasen, som der skal kombineres ind i. Path of the database to merge from. - + Sti til databasen, som der skal kombineres fra. Use the same credentials for both database files. - + Brug samme legitimationsoplysninger til begge databasefiler. Key file of the database to merge from. - + Nøglefil for databasen, som der skal kombineres fra. Show an entry's information. - + Vis en posts information. Names of the attributes to show. This option can be specified more than once, with each attribute shown one-per-line in the given order. If no attributes are specified, a summary of the default attributes is given. - + Navne på attributter, som skal vises. Denne indstilling kan blive angivet mere end en gang, med hver attribut vist per linje i den angivne orden. Hvis ingen attributter bliver angivet vil en oversigt af standardattributter blive vist. attribute - + attribut Name of the entry to show. - + Navn på posten, som skal vises. NULL device - + NULL enhed error reading from device @@ -3469,31 +3511,7 @@ Available commands: missing closing quote - - - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - + Mangler afsluttende kvoteringstegn Group @@ -3517,7 +3535,7 @@ Available commands: Last Modified - + Sidst ændret Created @@ -3525,72 +3543,73 @@ Available commands: Legacy Browser Integration - + Forældet Browser-integration Browser Integration - + Browser-integration YubiKey[%1] Challenge Response - Slot %2 - %3 - + YubiKey[%1] Udfordring-Svar - Slot %2 - %3 Press - + Tryk Passive - + Passiv SSH Agent - + SSH Agent Generate a new random diceware passphrase. - + Generer en tilfældig diceware nøglefrase. Word count for the diceware passphrase. - + Antal af ord for diceware nøglefrase. count - + antal Wordlist for the diceware generator. [Default: EFF English] - + Ordliste for diceware generator. +[Standard: EFF Engelsk] Generate a new random password. - + Generér et nyt tilfædligt kodeord. Length of the generated password. - + Længde af det genererede kodeord. Use lowercase characters in the generated password. - + Brug små bogstaver i det genererede kodeord. Use uppercase characters in the generated password. - + Brug store bogstaver i det genererede kodeord. Use numbers in the generated password. - + Brug tal i det genererede kodeord. Use special characters in the generated password. - + Brug specielle karakterer i det genererede kodeord. Use extended ASCII in the generated password. - + Brug udvidet ASCII i det genererede kodeord. @@ -3631,7 +3650,7 @@ Available commands: SearchWidget Search... - + Søg... Search @@ -3639,15 +3658,15 @@ Available commands: Clear - + Ryd Case Sensitive - + Versalfølsom Limit search to selected group - + Begræns søgning til den valgte gruppe @@ -3660,7 +3679,9 @@ Available commands: You have received an association request for the above key. If you would like to allow it access to your KeePassXC database give it a unique name to identify and accept it. - + Du har modtaget en associeringsanmodelse for the ovenstående nøgle. +Hvis du gerne vil give den adgang til din KeePassXC database, +så giv den et unikt navn for at kunne identificere den og accepter den. KeePassXC: Overwrite existing key? @@ -3669,7 +3690,8 @@ give it a unique name to identify and accept it. A shared encryption-key with the name "%1" already exists. Do you want to overwrite it? - + En delt krypteringsnøgle med navnet "%1" findes allerede. +Vil du overskrive den? KeePassXC: Update Entry @@ -3703,7 +3725,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. No shared encryption-keys found in KeePassHttp Settings. - + Ingen delte krypteringsnøgler fundet i KeePassHttp indstillinger. KeePassXC: Settings not available! @@ -3711,11 +3733,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. The active database does not contain an entry of KeePassHttp Settings. - + Den aktive database indeholder ikke en post med KeePassHttp indstillinger. Removing stored permissions... - + Fjerner gemte tilladelser... Abort @@ -3761,11 +3783,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. SettingsWidgetGeneral Basic Settings - + Grundlæggende indstillinnger Start only a single instance of KeePassXC - + Start kun en enkelt instans af KeePassXC Remember last databases @@ -3773,11 +3795,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. Remember last key files and security dongles - + Husk de sidste nøglefiler og sikkerhedsdongler Load previous databases on startup - + Load den forrige database ved opstart Automatically save on exit @@ -3789,7 +3811,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. Automatically reload the database when modified externally - + Load automatisk databasenn når den bliver ændret udefra Minimize when copying to clipboard @@ -3797,7 +3819,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. Minimize window at application startup - + Minimér vindue ved opstart Use group icon on entry creation @@ -3809,7 +3831,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. Hide the Details view - + Skjul detaljevisning Show a system tray icon @@ -3821,11 +3843,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. Hide window to system tray instead of app exit - + Skjul vindue i systembakken når applikationen lukkes Dark system tray icon - + Mørk ikon i systembakken Language @@ -3837,15 +3859,15 @@ Lås den valgte database op eller vælg en anden som er åbnet. Use entry title to match windows for global Auto-Type - + Brug post-titel til at matche vinduer for global Auto-Indsæt Use entry URL to match windows for global Auto-Type - + Brug post-URL til at matche vinduer for global Auto-Indsæt Always ask before performing Auto-Type - + Spørg altid for Auto-Indsæt udføres Global Auto-Type shortcut @@ -3853,32 +3875,32 @@ Lås den valgte database op eller vælg en anden som er åbnet. Auto-Type delay - + Auto-Indsæt forsinkelse ms Milliseconds - + ms Startup - + Opstart File Management - + Filhåndtering Safely save database files (may be incompatible with Dropbox, etc) - + Gem databasefiler sikkert (kan være inkompatibelt med Dropbox, etc.) Backup database file before saving - + Lav backup af databasefil før der gemmes Entry Management - + Posthåndtering General @@ -3889,7 +3911,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. SettingsWidgetSecurity Timeouts - + Timeouts Clear clipboard after @@ -3914,11 +3936,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. Lock databases after minimizing the window - + Lås databaser efter at minimere vinduet Don't require password repeat when it is visible - + Kræv ikke kodeord gentaget når det er synligt Show passwords in cleartext by default @@ -3930,62 +3952,62 @@ Lås den valgte database op eller vælg en anden som er åbnet. Hide entry notes by default - + Skjul post-noter som standard Privacy - + Privatliv Use Google as fallback for downloading website icons - + Brug Google som nødløsning til at downloade website ikoner Re-lock previously locked database after performing Auto-Type - + Lås tidligere låste databaser efter udførsel af Auto-Indsæt SetupTotpDialog Setup TOTP - + Opsæt TOTP Key: - + Nøgle: Default RFC 6238 token settings - + Standard RFC 6238 token indstillinger Steam token settings - + Steam token indstillinger Use custom settings - + Brug brugerdefinerede indstillinger Note: Change these settings only if you know what you are doing. - + Note: Lav kun ændringer i disse indstillinger hvis du ved hvad du laver. Time step: - + Tidsinterval: 8 digits - + 8 cifre 6 digits - + 6 cifre Code size: - + Kodestørrelse: sec @@ -4001,7 +4023,7 @@ Lås den valgte database op eller vælg en anden som er åbnet. 000000 - + 000000 Copy @@ -4009,11 +4031,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. Expires in - + Udløber om seconds - + sekunder @@ -4027,23 +4049,23 @@ Lås den valgte database op eller vælg en anden som er åbnet. WelcomeWidget Start storing your passwords securely in a KeePassXC database - + Begynd at gemme dinne kodeord sikkert i en KeePassXC database Create new database - + Opret en ny database Open existing database - + Åben en eksisterende database Import from KeePass 1 - + Importér fra KeePass 1 Import from CSV - + Importér fra CSV Recent databases @@ -4051,18 +4073,18 @@ Lås den valgte database op eller vælg en anden som er åbnet. Welcome to KeePassXC %1 - + Velkommen til KeePassXC %1 main Remove an entry from the database. - + Fjern en post fra databasen. Path of the database. - + Sti til databasen. Path of the entry to remove. @@ -4070,11 +4092,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. KeePassXC - cross-platform password manager - + KeePassXC - password manager til flere platforme filenames of the password databases to open (*.kdbx) - + Filnavne på de kodeordsdatabaser som skal åbnes (*.kdbx) path to a custom config file @@ -4086,11 +4108,11 @@ Lås den valgte database op eller vælg en anden som er åbnet. read password of the database from stdin - + Læs kodeord til databasen fra stdin Parent window handle - + Forældrevindue handle \ No newline at end of file diff --git a/share/translations/keepassx_de.ts b/share/translations/keepassx_de.ts index dd0eff6df..47665d9c0 100644 --- a/share/translations/keepassx_de.ts +++ b/share/translations/keepassx_de.ts @@ -2578,6 +2578,33 @@ Dieser Vorgang ist nur in eine Richtung möglich. Die importierte Datenbank kann Ungültiger Eintrags-Feldtyp + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – empfohlen) + + Main @@ -3484,30 +3511,6 @@ Verfügbare Kommandos: missing closing quote Schließendes Anführungszeichen fehlt - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – empfohlen) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Gruppe diff --git a/share/translations/keepassx_el.ts b/share/translations/keepassx_el.ts index 426ed4306..a27baa6a8 100644 --- a/share/translations/keepassx_el.ts +++ b/share/translations/keepassx_el.ts @@ -2553,6 +2553,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + Main @@ -3452,30 +3479,6 @@ Available commands: missing closing quote - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group Όμαδα diff --git a/share/translations/keepassx_en.ts b/share/translations/keepassx_en.ts index 74d4c5325..9c07f6e99 100644 --- a/share/translations/keepassx_en.ts +++ b/share/translations/keepassx_en.ts @@ -2361,10 +2361,6 @@ This is a one-way migration. You won't be able to open the imported databas History element with different uuid - - Unable to decrypt entry string - - Duplicate custom attribute found @@ -2578,6 +2574,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + Main @@ -3476,30 +3499,6 @@ Available commands: missing closing quote - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group @@ -3632,6 +3631,33 @@ Available commands: + + SSHAgent + + Agent connection failed. + + + + Agent protocol error. + + + + No agent running, cannot add identity. + + + + Agent refused this identity. + + + + No agent running, cannot remove identity. + + + + Agent does not have this identity. + + + SearchWidget diff --git a/share/translations/keepassx_en_US.ts b/share/translations/keepassx_en_US.ts index fadc52902..97d1014f0 100644 --- a/share/translations/keepassx_en_US.ts +++ b/share/translations/keepassx_en_US.ts @@ -227,7 +227,7 @@ Please select whether you want to allow access. Enable KeepassXC browser integration - Enable KeepassXC browser integration + Enable KeePassXC browser integration General @@ -2583,6 +2583,33 @@ This is a one-way migration. You won't be able to open the imported databas Invalid entry field type + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – recommended) + + Main @@ -3491,30 +3518,6 @@ Available commands: missing closing quote missing closing quote - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – recommended) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Group diff --git a/share/translations/keepassx_es.ts b/share/translations/keepassx_es.ts index 562224575..1c293490e 100644 --- a/share/translations/keepassx_es.ts +++ b/share/translations/keepassx_es.ts @@ -375,7 +375,7 @@ Por favor seleccione si desea autorizar su acceso. We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. - + Lo sentimos, pero KeePassXC-Browser no está soportado en las versiones Snap por el momento. @@ -1764,11 +1764,11 @@ This may cause the affected plugins to malfunction. Key - + Clave Value - + Valor @@ -1818,7 +1818,7 @@ This may cause the affected plugins to malfunction. Are you sure you want to remove %n attachment(s)? - + ¿Está seguro que desea eliminar %n adjunto(s)?¿Está seguro que desea eliminar %n adjunto(s)? Confirm Remove @@ -1930,11 +1930,11 @@ This may cause the affected plugins to malfunction. Created - + Creado Modified - + Modificado Accessed @@ -1949,31 +1949,31 @@ This may cause the affected plugins to malfunction. EntryView Customize View - + Personalizar Vista Hide Usernames - + Ocultar nombres de usuario Hide Passwords - + Ocultar Contraseñas Fit to window - + Ajustar a la ventana Fit to contents - + Ajustar al contenido Reset to defaults - + Restaurar ajustes por defecto Attachments (icon) - + Adjuntos (icono) @@ -2578,6 +2578,33 @@ Esta migración es en único sentido. No podrá abrir la base de datos importada + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + Main @@ -3478,30 +3505,6 @@ Available commands: missing closing quote comilla de cierre faltante - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group Grupo @@ -3528,7 +3531,7 @@ Available commands: Created - + Creado Legacy Browser Integration diff --git a/share/translations/keepassx_eu.ts b/share/translations/keepassx_eu.ts index eae8b65b0..2ac5f25b2 100644 --- a/share/translations/keepassx_eu.ts +++ b/share/translations/keepassx_eu.ts @@ -45,7 +45,7 @@ Revision: %1 - Berrikuspena: %1 + Berrikuspena: Distribution: %1 @@ -370,6 +370,10 @@ Please select whether you want to allow access. Select custom proxy location + + We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. + + BrowserService @@ -676,15 +680,15 @@ Please consider generating a new key file. CsvParserModel %n byte(s), - byte %n%n byte + %n row(s), - lerro %n%n lerro + %n column(s) - zutabe %n%n zutabe + @@ -1093,7 +1097,7 @@ Disable safe saves and try again? Do you really want to move %n entry(s) to the recycle bin? - Ziur zaude sarrera %n zakarrontzira mugitu nahi duzula?Ziur zaude %n sarrera zakarrontzira mugitu nahi dituzula? + Execute command? @@ -1164,10 +1168,6 @@ Do you want to merge your changes? Are you sure you want to permanently delete everything from your recycle bin? - - Entry updated successfully. - - DetailsWidget @@ -1344,11 +1344,11 @@ Do you want to merge your changes? %n week(s) - aste %n%n aste + %n month(s) - hilabete %n%n hilabete + 1 year @@ -1434,7 +1434,7 @@ Do you want to merge your changes? Window title: - Leihoaren izenburua: + Leihoaren titulua: Use a specific sequence for this association: @@ -1791,7 +1791,7 @@ This may cause the affected plugins to malfunction. Are you sure you want to remove %n attachment(s)? - Ziur zaude eranskin %n kendu nahi duzula?Ziur zaude %n eranskin kendu nahi dituzula? + Confirm Remove @@ -1943,6 +1943,10 @@ This may cause the affected plugins to malfunction. Reset to defaults + + Attachments (icon) + + Group @@ -2543,6 +2547,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – gomendatua) + + Main @@ -3441,30 +3472,6 @@ Available commands: missing closing quote - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – gomendatua) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Taldea diff --git a/share/translations/keepassx_fi.ts b/share/translations/keepassx_fi.ts index 033cc6ea0..f01fb57e7 100644 --- a/share/translations/keepassx_fi.ts +++ b/share/translations/keepassx_fi.ts @@ -2581,6 +2581,33 @@ Tämä muunnos toimii yhdensuuntaisesti. Et välttämättä saa enää tietokant Virheellinen tietueen kentän tyyppi + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – suositeltu) + + Main @@ -3489,30 +3516,6 @@ Käytettävissä olevat komennot: missing closing quote lainausmerkki puuttuu lopusta - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – suositeltu) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Ryhmä diff --git a/share/translations/keepassx_fr.ts b/share/translations/keepassx_fr.ts index 12a428dcd..da1b14eda 100644 --- a/share/translations/keepassx_fr.ts +++ b/share/translations/keepassx_fr.ts @@ -11,7 +11,7 @@ Report bugs at: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a> - Signaler les bugs sur : <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a> + Signaler les bugs sur <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a> KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3. @@ -31,7 +31,7 @@ Include the following information whenever you report a bug: - Inclure l'information suivante lorsque vous signaler un bug : + Inclure les informations suivantes lorsque vous signalez un bug : Copy to clipboard @@ -45,40 +45,40 @@ Revision: %1 - Révision: %1 + Révision : %1 Distribution: %1 - Distribution: %1 + Distribution : %1 Libraries: - Bibliothèques : + Bibliothèques : Operating system: %1 CPU architecture: %2 Kernel: %3 %4 - Système d'exploitation : %1 -Architecture CPU : %2 -Kernel : %3 %4 + Système d’exploitation : %1 +Architecture processeur : %2 +Noyau : %3 %4 Enabled extensions: - Extensions activées : + Extensions activées : Project Maintainers: - Mainteneurs du projet : + Mainteneurs du projet : Special thanks from the KeePassXC team go to debfx for creating the original KeePassX. - L'équipe de KeePassXC remercie tout particulièrement debfx pour la conception de KeePassX. + L’équipe de KeePassXC remercie tout particulièrement debfx pour la conception de KeePassX. Build Type: %1 - Genre de la version: %1 + Genre de la version : %1 @@ -103,26 +103,26 @@ Kernel : %3 %4 %1 has requested access to passwords for the following item(s). Please select whether you want to allow access. - %1 a demandé l’accès aux mots de passe pour l'élément suivant (ou les éléments suivants). -Veuillez sélectionner si vous souhaitez autoriser l’accès. + %1 a demandé l’accès aux mots de passe pour l’élément suivant (ou les éléments suivants). +Veuillez indiquer si vous souhaitez autoriser l’accès. AgentSettingsWidget Enable SSH Agent (requires restart) - Activer l'agent SSH (redémarrage nécessaire) + Activer l’agent SSH (redémarrage nécessaire) AutoType Couldn't find an entry that matches the window title: - Impossible de trouver une entrée qui corresponde au titre de la fenêtre : + Impossible de trouver une entrée qui corresponde au titre de la fenêtre : Auto-Type - KeePassXC - Remplissage automatique - KeePassXC + Saisie automatique - KeePassXC Auto-Type @@ -134,15 +134,15 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. This Auto-Type command contains a very long delay. Do you really want to proceed? - Cette commande de saisie automatique contient un délai très long. Voulez-vous continuer ? + Cette commande de saisie automatique contient un délai très long. Voulez-vous continuer ? This Auto-Type command contains very slow key presses. Do you really want to proceed? - Cette commande de saisie automatique contient des touches très lentes. Voulez-vous continuer? + Cette commande de saisie automatique contient des touches très lentes. Voulez-vous continuer ? This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed? - Cette commande de saisie automatique contient des arguments souvent répétés. Voulez-vous continuer ? + Cette commande de saisie automatique contient des arguments souvent répétés. Voulez-vous continuer ? @@ -172,7 +172,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Username - Nom d'utilisateur + Nom d’utilisateur Sequence @@ -183,11 +183,11 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. AutoTypeSelectDialog Auto-Type - KeePassXC - Remplissage automatique - KeePassXC + Saisie automatique - KeePassXC Select entry to Auto-Type: - Choisissez un champ pour Auto-Type : + Choisissez une entrée pour la saisie automatique : @@ -212,7 +212,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. %1 has requested access to passwords for the following item(s). Please select whether you want to allow access. %1 a demandé l’accès aux mots de passe pour le ou les élément(s) suivant(s). -Veuillez sélectionner si vous souhaitez autoriser l’accès. +Veuillez indiquer si vous souhaitez autoriser l’accès. @@ -223,11 +223,11 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. This is required for accessing your databases with KeePassXC-Browser - Ceci est requis pour accéder à vos bases de données à partir de KeePassXC-Browser + Ceci est obligatoire pour accéder à vos bases de données à partir de KeePassXC-Browser Enable KeepassXC browser integration - Activer l'intégration de KeePassXC au sein du navigateur web + Activer l’intégration de KeePassXC au sein du navigateur web General @@ -235,7 +235,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Enable integration for these browsers: - Activer l'intégration avec ces navigateurs web : + Activer l’intégration avec ces navigateurs web : &Google Chrome @@ -256,7 +256,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Show a &notification when credentials are requested Credentials mean login data requested via browser extension - Afficher une &notification quand les identifiants sont demandés + Afficher une &notification lorsque les identifiants sont demandés Re&quest to unlock the database if it is locked @@ -264,11 +264,11 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Only entries with the same scheme (http://, https://, ...) are returned. - Seules les entrées avec le même schéma (http://, https://, ...) sont retournées. + Seules les entrées avec le même schéma (http://, https://, …) sont retournées. &Match URL scheme (e.g., https://...) - &Correspondance du format de l'URL (exemple https://...) + &Correspondance du format de l’URL (exemple https://…) Only returns the best matches for a specific URL instead of all entries for the whole domain. @@ -276,7 +276,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. &Return only best-matching credentials - Retourner uniquement l'identifiant qui correspond le mieux + Retourner uniquement l’identifiant qui correspond le mieux Sort &matching credentials by title @@ -286,7 +286,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Sort matching credentials by &username Credentials mean login data requested via browser extension - Trier les identifiants trouvés par &nom d'utilisateur + Trier les identifiants trouvés par &nom d’utilisateur &Disconnect all browsers @@ -294,7 +294,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Forget all remembered &permissions - Oublier toutes les autorisations accordées + Oublier toutes les &autorisations accordées Advanced @@ -303,12 +303,12 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Never &ask before accessing credentials Credentials mean login data requested via browser extension - Ne jamais &demander avant d'accéder aux identifiants + Ne &jamais demander avant d’accéder aux identifiants Never ask before &updating credentials Credentials mean login data requested via browser extension - Ne jamais &demander avant de mettre à jour les identifiants + Ne &jamais demander avant de mettre à jour les identifiants Only the selected database has to be connected with a client. @@ -317,15 +317,15 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Searc&h in all opened databases for matching credentials Credentials mean login data requested via browser extension - Cherc&her dans toutes les bases de données ouvertes les identifiants qui correspondent + Cherc&her des identifiants qui correspondent dans toutes les bases de données ouvertes Automatically creating or updating string fields is not supported. - La création ou la mise a jour automatique ne sont pas pris en charge pour les champs de chaînes de caractères ! + La création ou la mise à jour automatiques ne sont pas prises en charge pour les champs textuels ! &Return advanced string fields which start with "KPH: " - & Retourne les champs avancés de chaîne de caractères qui commencent par "KPH :" + &Retourne les champs textuels avancés qui commencent par « KPH:  » Updates KeePassXC or keepassxc-proxy binary path automatically to native messaging scripts on startup. @@ -337,11 +337,11 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Support a proxy application between KeePassXC and browser extension. - Supporter une application proxy entre KeePassXC et l'extension pour navigateur web. + Supporter une application proxy entre KeePassXC et l’extension pour navigateur web. Use a &proxy application between KeePassXC and browser extension - Utiliser une &application proxy entre KeePassXC et l'extension pour navigateur web + Utiliser une &application proxy entre KeePassXC et l’extension pour navigateur web Use a custom proxy location if you installed a proxy manually. @@ -355,11 +355,11 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. Browse... Button for opening file dialog - Parcourir... + Parcourir… <b>Warning:</b> The following options can be dangerous! - <b>Avertissement :</b> Les options suivantes peuvent être dangereuses! + <b>Avertissement :</b> Les options suivantes peuvent être dangereuses ! Executable Files (*.exe);;All Files (*.*) @@ -375,76 +375,76 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès. We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. - + Nous sommes désolés, mais KeePassXC-Browser n’est pas encore pris en charge pour les versions Snap. BrowserService KeePassXC: New key association request - KeePassXC : nouvelle demande d'association + KeePassXC : nouvelle demande d’association You have received an association request for the above key. If you would like to allow it access to your KeePassXC database, give it a unique name to identify and accept it. - Vous avez reçu une demande d'association pour la clé ci-dessus. + Vous avez reçu une demande d’association pour la clé ci-dessus. Si vous voulez autoriser cette clé à accéder à votre base de données KeePassXC, -attribuez lui un nom unique pour l'identifier et acceptez la. +attribuez lui un nom unique pour l’identifier et acceptez la. Save and allow access - Enregistrer et autoriser l'accès + Enregistrer et autoriser l’accès KeePassXC: Overwrite existing key? - KeePassXC : Écraser la clé existante ? + KeePassXC : Écraser la clé existante ? A shared encryption key with the name "%1" already exists. Do you want to overwrite it? - Une clé de chiffrement partagée avec le nom "%1" existe déjà. -Voulez-vous l'écraser ? + Une clé de chiffrement partagée avec le nom « %1 » existe déjà. +Voulez-vous l’écraser ? KeePassXC: Update Entry - KeePassXC : Mettre à jour l'entrée + KeePassXC : Mettre à jour l’entrée Do you want to update the information in %1 - %2? - Voulez-vous mettre à jour l'information dans %1 - %2 ? + Voulez-vous mettre à jour l’information dans %1 - %2 ? KeePassXC: Database locked! - KeePassXC : Base de données verrouillée ! + KeePassXC : Base de données verrouillée ! The active database is locked! Please unlock the selected database or choose another one which is unlocked. - La base de données actuelle est verrouillée ! -Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui est déverrouillée. + La base de données actuelle est verrouillée ! +Veuillez déverrouiller la base de données sélectionnée, ou choisir une base de données déverrouillée. KeePassXC: Settings not available! - KeePassXC : Paramètres indisponibles ! + KeePassXC : Paramètres indisponibles ! The active database does not contain a settings entry. - La base de données actuelle ne contient pas d'entrée paramètre. + La base de données actuelle ne contient pas d’entrée pour les paramètres. KeePassXC: No keys found - KeePassXC : Aucune clé trouvée + KeePassXC : Aucune clé trouvée No shared encryption keys found in KeePassXC Settings. - Aucune clé de chiffrement trouvée dans les paramètres de KeePassXC. + Aucune clé de chiffrement n’a été trouvée dans les paramètres de KeePassXC. KeePassXC: Removed keys from database - KeePassXC : Les clés ont été effacées de la base de donnée + KeePassXC : Les clés ont été effacées de la base de données Successfully removed %n encryption key(s) from KeePassXC settings. @@ -452,7 +452,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Removing stored permissions… - Effacement des permissions enregistrées... + Effacement des permissions enregistrées… Abort @@ -460,19 +460,19 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui KeePassXC: Removed permissions - KeePassXC : Permissions retirées + KeePassXC : Permissions retirées Successfully removed permissions from %n entry(s). - Les permissions de %n entrées ont été retirées avec succès.Autorisations retirées avec succès de %s entrée(s) + Les permissions de %n entrée(s) ont été retirées avec succès.Autorisations retirées avec succès de %s entrée(s) KeePassXC: No entry with permissions found! - KeePassXC : Aucune entrée avec permissions trouvée ! + KeePassXC : Aucune entrée avec permissions n’a été trouvée ! The active database does not contain an entry with permissions. - La base de données actuelle ne contient pas d'entrée avec des permissions. + La base de données actuelle ne contient pas d’entrée avec des permissions. @@ -483,11 +483,11 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Enter password: - Entrez un mot de passe : + Entrez un mot de passe : Repeat password: - Confirmez le mot de passe : + Confirmez le mot de passe : &Key file @@ -519,11 +519,11 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Create Key File... - Créer un fichier-clé... + Créer un fichier-clé… Unable to create Key File : - Impossible de créer un fichier-clé : + Impossible de créer un fichier-clé : Select a key file @@ -535,35 +535,35 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Do you really want to use an empty string as password? - Voulez-vous vraiment utiliser une chaîne vide comme mot de passe ? + Voulez-vous vraiment utiliser une chaîne vide comme mot de passe ? Different passwords supplied. - Les mots de passe insérés sont différents. + Les mots de passe que vous avez saisis sont différents. Failed to set %1 as the Key file: %2 - Impossible de définir %1 comme fichier-clé : + Impossible de définir %1 comme fichier-clé : %2 Legacy key file format - Format de fichier clé hérité + Ancien format de fichier-clé You are using a legacy key file format which may become unsupported in the future. Please consider generating a new key file. - Vous utilisez un format de fichier clé hérité + Vous utilisez un ancien format de fichier-clé, qui peut ne plus être pris en charge à l’avenir. -Veuillez envisager de générer un nouveau fichier clé. +Veuillez envisager de générer un nouveau fichier-clé. Changing master key failed: no YubiKey inserted. - Échec du changement de clé maître: pas de YubiKey insérée. + Échec du changement de clé maître: aucune YubiKey insérée. @@ -574,15 +574,15 @@ Veuillez envisager de générer un nouveau fichier clé. Append ' - Clone' to title - Ajouter ' - Clone' au titre + Ajouter « - Clone » au titre Replace username and password with references - Remplacer le nom d'utilisateur et le mot de passe par des références + Remplacer le nom d’utilisateur et le mot de passe par des références Copy history - Copie de l'historique + Copie de l’historique @@ -625,11 +625,11 @@ Veuillez envisager de générer un nouveau fichier clé. Number of headers line to discard - Nombre de lignes d'en-tête à ignorer + Nombre de lignes d’en-tête à ignorer Consider '\' an escape character - Considère '\' comme un échappement + Utiliser « \ » comme caractère d’échappement Preview @@ -657,15 +657,15 @@ Veuillez envisager de générer un nouveau fichier clé. Original data: - Données originales : + Données originales : Error(s) detected in CSV file ! - Erreur(s) détectées dans le fichier CSV! + Erreur(s) détectées dans le fichier CSV ! more messages skipped] - plus de messages ignorés] + d’autres messages ont été cachés] Error @@ -674,7 +674,7 @@ Veuillez envisager de générer un nouveau fichier clé. CSV import: writer has errors: - Import CSV: erreurs d'écriture: + Import CSV : erreurs d’écriture : @@ -693,15 +693,15 @@ Veuillez envisager de générer un nouveau fichier clé. CsvParserModel %n byte(s), - %n octet (s), %n octet(s), + %n octet(s), %n octet(s), %n row(s), - %n Row (s), %n rangée(s), + %n ligne(s), %n rangée(s), %n column(s) - %n/des colonnes%n colonne(s) + %n colonne(s)%n colonne(s) @@ -712,11 +712,11 @@ Veuillez envisager de générer un nouveau fichier clé. Key File: - Fichier-clé : + Fichier-clé : Password: - Mot de passe : + Mot de passe : Browse @@ -728,33 +728,33 @@ Veuillez envisager de générer un nouveau fichier clé. Challenge Response: - Challenge-réponse : + Challenge-réponse : Unable to open the database. - Impossible d'ouvrir la base de données. + Impossible d’ouvrir la base de données. Can't open key file - Impossible d'ouvrir le fichier-clé + Impossible d’ouvrir le fichier-clé Legacy key file format - Format de fichier clé hérité + Ancien format de fichier-clé You are using a legacy key file format which may become unsupported in the future. Please consider generating a new key file. - Vous utilisez un format de fichier clé hérité + Vous utilisez un ancien format de fichier-clé qui peut ne plus être pris en charge à l’avenir. -Veuillez envisager de générer un nouveau fichier clé. +Veuillez envisager de générer un nouveau fichier-clé. Don't show this warning again - Ne plus afficher cette avertissement + Ne plus afficher cet avertissement All files @@ -781,15 +781,15 @@ Veuillez envisager de générer un nouveau fichier clé. Can't open key file - Impossible d'ouvrir le fichier-clé + Impossible d’ouvrir le fichier-clé Unable to open the database. - Impossible d'ouvrir la base de données. + Impossible d’ouvrir la base de données. Database opened fine. Nothing to do. - La base de données s'est bien ouverte. Aucune action nécéssaire. + La base de données s’est bien ouverte. Aucune action n’est nécéssaire. Success @@ -827,7 +827,7 @@ Vous pouvez maintenant la sauvegarder. If you keep this number, your database may take hours or days (or even longer) to open! Vous utilisez un très grand nombre de tours de transformation de clé avec Argon2. -Si vous conservez ce nombre, votre base de données peut prendre des heures voire des jours (ou plus) à s'ouvrir! +Si vous conservez ce nombre, votre base de données peut prendre des heures, des jours (voire plus) à s’ouvrir ! Understood, keep number @@ -835,7 +835,7 @@ Si vous conservez ce nombre, votre base de données peut prendre des heures voir Cancel - Annulé + Annuler Number of rounds too low @@ -848,7 +848,7 @@ Si vous conservez ce nombre, votre base de données peut prendre des heures voir If you keep this number, your database may be too easy to crack! Vous utilisez un très faible nombre de tours de transformation de clé avec AES-KDF. -Si vous conservez ce nombre, la sécurité de votre base de données peut être trop facilement cassée ! +Si vous conservez ce nombre, la sécurité de votre base de données pourrait être trop facilement cassée ! KDF unchanged @@ -856,7 +856,7 @@ Si vous conservez ce nombre, la sécurité de votre base de données peut être Failed to transform key with new KDF parameters; KDF unchanged. - Échec de la transformation de la clé avec les nouveaux paramètres KDF; KDF inchangé. + Échec de la transformation de la clé avec les nouveaux paramètres KDF ; KDF inchangé. MiB @@ -866,38 +866,38 @@ Si vous conservez ce nombre, la sécurité de votre base de données peut être thread(s) Threads for parallel execution (KDF settings) - fil(s) d'exécutionfil(s) d'exécution + fil(s) d’exécutionfil(s) d’exécution DatabaseSettingsWidgetEncryption Encryption Algorithm: - Algorithme de chiffrement : + Algorithme de chiffrement : AES: 256 Bit (default) - AES : 256 bits (par défaut) + AES : 256 bits (par défaut) Twofish: 256 Bit - Twofish : 256 bits + Twofish : 256 bits Key Derivation Function: - Fonction de dérivation de clé (KDF) : + Fonction de dérivation de clé (KDF) : Transform rounds: - Tours de transformation : + Tours de transformation : Benchmark 1-second delay - Benchmark avec 1 seconde de délai + Mesurer pour un délai d’une seconde Memory Usage: - Utilisation mémoire : + Utilisation mémoire : Parallelism: @@ -912,31 +912,31 @@ Si vous conservez ce nombre, la sécurité de votre base de données peut être Database name: - Nom de la base de données : + Nom de la base de données : Database description: - Description de la base de données : + Description de la base de données : Default username: - Nom d'utilisateur par défaut : + Nom d’utilisateur par défaut : History Settings - Paramètres de l'historique + Paramètres de l’historique Max. history items: - Nombre max. d'éléments dans l'historique : + Nombre maximal d’éléments dans l’historique : Max. history size: - Taille max. de l'historique : + Taille maximale de l’historique : MiB - MiB + Mio Use recycle bin @@ -972,11 +972,11 @@ Si vous conservez ce nombre, la sécurité de votre base de données peut être File not found! - Fichier introuvable ! + Fichier introuvable ! Unable to open the database. - Impossible d'ouvrir la base de données. + Impossible d’ouvrir la base de données. File opened in read only mode. @@ -1008,27 +1008,27 @@ Si vous conservez ce nombre, la sécurité de votre base de données peut être Close? - Fermer ? + Fermer ? "%1" is in edit mode. Discard changes and close anyway? - "%1" est en mode édition. -Ignorer les changements et fermer ? + « %1 » est en mode édition. +Abandonner les changements et fermer ? Save changes? - Enregistrer les modifications ? + Enregistrer les modifications ? "%1" was modified. Save changes? - "%1" a été modifié. -Enregistrer les modifications ? + « %1 » a été modifié. +Enregistrer les modifications ? Writing the database failed. - Une erreur s'est produite lors de l'écriture de la base de données. + Une erreur s’est produite lors de l’écriture de la base de données. Passwords @@ -1044,7 +1044,7 @@ Enregistrer les modifications ? Writing the CSV file failed. - Échec de l'écriture du fichier CSV. + Échec de l’écriture du fichier CSV. New database @@ -1069,25 +1069,25 @@ Cliquez sur Annuler pour finir vos modifications ou abandonnez-les. La base de données a été modifiée. -Voulez-vous l'enregistrer avant de la verrouiller ? +Voulez-vous l’enregistrer avant de la verrouiller ? Autrement, vos modifications seront perdues. Disable safe saves? - Désactiver les sauvegardes sécurisées? + Désactiver les sauvegardes sécurisées ? KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file. Disable safe saves and try again? - KeePassXC n’a pas réussi à enregistrer la base de données plusieurs fois. Cela est probablement causé par les services de synchronisation de fichiers qui maintiennent un verrou sur le fichier sauvegardé. -Désactiver les sauvegardes sécurisées et essayer à nouveau? + KeePassXC n’a pas réussi, à plusieurs reprises, à enregistrer la base de données. Cela est probablement causé par les services de synchronisation de fichiers qui maintiennent un verrou sur le fichier sauvegardé. +Désactiver les sauvegardes sécurisées et essayer à nouveau ? DatabaseWidget Searching... - Recherche... + Recherche… Change master key @@ -1095,43 +1095,43 @@ Désactiver les sauvegardes sécurisées et essayer à nouveau? Delete entry? - Supprimer l'entrée ? + Supprimer l’entrée ? Do you really want to delete the entry "%1" for good? - Voulez-vous supprimer l'entrée "%1" définitivement ? + Voulez-vous supprimer l’entrée « %1 » définitivement ? Delete entries? - Supprimer les entrées ? + Supprimer les entrées ? Do you really want to delete %1 entries for good? - Voulez-vous supprimer "%1" entrées définitivement ? + Voulez-vous supprimer %1 entrées définitivement ? Move entry to recycle bin? - Déplacer l'entrée dans la corbeille ? + Déplacer l’entrée dans la corbeille ? Do you really want to move entry "%1" to the recycle bin? - Êtes-vous sûr de vouloir déplacer l'entrée "%1" dans la corbeille ? + Êtes-vous sûr de vouloir déplacer l’entrée « %1 » dans la corbeille ? Move entries to recycle bin? - Déplacer les entrées vers la corbeille ? + Déplacer les entrées vers la corbeille ? Do you really want to move %n entry(s) to the recycle bin? - Voulez-vous déplacer %n entrée(s) vers la corbeille ?Voulez-vous déplacer %n entrée(s) vers la corbeille ? + Voulez-vous déplacer %n entrée(s) vers la corbeille ?Voulez-vous déplacer %n entrée(s) vers la corbeille ? Execute command? - Exécuter la commande ? + Exécuter la commande ? Do you really want to execute the following command?<br><br>%1<br> - Voulez-vous vraiment exécuter la commande suivante ?<br><br>%1<br> + Voulez-vous vraiment exécuter la commande suivante ?<br><br>%1<br> Remember my choice @@ -1139,11 +1139,11 @@ Désactiver les sauvegardes sécurisées et essayer à nouveau? Delete group? - Supprimer le groupe ? + Supprimer le groupe ? Do you really want to delete the group "%1" for good? - Voulez-vous supprimer le groupe "%1" définitivement ? + Voulez-vous supprimer le groupe « %1 » définitivement ? Unable to calculate master key @@ -1155,7 +1155,7 @@ Désactiver les sauvegardes sécurisées et essayer à nouveau? No source database, nothing to do. - Aucune base de données source, il n'y a rien à faire. + Aucune base de données source, il n’y a rien à faire. Search Results (%1) @@ -1171,7 +1171,7 @@ Désactiver les sauvegardes sécurisées et essayer à nouveau? The database file has changed. Do you want to load the changes? - Le fichier de la base de données à été modifié. Voulez-vous charger les changements ? + Le fichier de la base de données à été modifié. Voulez-vous charger les changements ? Merge Request @@ -1180,20 +1180,20 @@ Désactiver les sauvegardes sécurisées et essayer à nouveau? The database file has changed and you have unsaved changes. Do you want to merge your changes? - Le fichier de la base de données a été modifié et les changements que vous avez effectué n'ont pas été enregistrés. -Voulez-vous fusionner vos modifications ? + Le fichier de la base de données a été modifié et les changements que vous avez effectué n’ont pas été enregistrés. +Voulez-vous fusionner vos modifications ? Could not open the new database file while attempting to autoreload this database. - La nouvelle base de données ne peut être ouverte pendant qu'un rafraîchissement automatique de l'actuelle est en cours. + La nouvelle base de données ne peut être ouverte pendant qu’un rafraîchissement automatique de l’actuelle est en cours. Empty recycle bin? - Vider la corbeille? + Vider la corbeille ? Are you sure you want to permanently delete everything from your recycle bin? - Êtes-vous certain de vouloir vider définitivement votre corbeille? + Êtes-vous certain de vouloir vider définitivement votre corbeille ? @@ -1224,7 +1224,7 @@ Voulez-vous fusionner vos modifications ? Username - Nom d'utilisateur + Nom d’utilisateur Autotype @@ -1232,7 +1232,7 @@ Voulez-vous fusionner vos modifications ? Searching - Recherche... + Recherche… Attributes @@ -1295,7 +1295,7 @@ Voulez-vous fusionner vos modifications ? Auto-Type - Remplissage automatique + Saisie automatique Properties @@ -1327,11 +1327,11 @@ Voulez-vous fusionner vos modifications ? Failed to open private key - Échec d'ouverture de la clé privée + Échec d’ouverture de la clé privée Entry history - Historique de l'entrée + Historique de l’entrée Add entry @@ -1339,7 +1339,7 @@ Voulez-vous fusionner vos modifications ? Edit entry - Modifier l'entrée + Modifier l’entrée Different passwords supplied. @@ -1383,11 +1383,11 @@ Voulez-vous fusionner vos modifications ? Apply generated password? - Appliquer le mot de passe généré ? + Appliquer le mot de passe généré ? Do you want to apply the generated password to this entry? - Souhaitez-vous appliquer le mot de passe généré à cette entrée ? + Souhaitez-vous appliquer le mot de passe généré à cette entrée ? Entry updated successfully. @@ -1426,26 +1426,26 @@ Voulez-vous fusionner vos modifications ? Foreground Color: - Couleur du texte : + Couleur du texte : Background Color: - Couleur du fond : + Couleur du fond : EditEntryWidgetAutoType Enable Auto-Type for this entry - Activer le remplissage automatique pour cette entrée + Activer la saisie automatique pour cette entrée Inherit default Auto-Type sequence from the &group - Utiliser la séquence de remplissage automatique par défaut du groupe + Utiliser la séquence de saisie automatique par défaut du groupe &Use custom Auto-Type sequence: - Utiliser une séquence de remplissage automatique personnalisée : + Utiliser une séquence de saisie automatique personnalisée : Window Associations @@ -1461,11 +1461,11 @@ Voulez-vous fusionner vos modifications ? Window title: - Titre de la fenêtre : + Titre de la fenêtre : Use a specific sequence for this association: - Utilisez une séquence spécifique pour cette association : + Utilisez une séquence spécifique pour cette association : @@ -1491,19 +1491,19 @@ Voulez-vous fusionner vos modifications ? EditEntryWidgetMain URL: - URL : + URL : Password: - Mot de passe : + Mot de passe : Repeat: - Confirmation : + Confirmation : Title: - Titre : + Titre : Notes @@ -1519,7 +1519,7 @@ Voulez-vous fusionner vos modifications ? Username: - Nom d'utilisateur : + Nom d’utilisateur : Expires @@ -1534,11 +1534,11 @@ Voulez-vous fusionner vos modifications ? Remove key from agent after - Retirer la clé de l'agent après + Retirer la clé de l’agent après seconds - secondes + secondes Fingerprint @@ -1583,7 +1583,7 @@ Voulez-vous fusionner vos modifications ? Browse... Button for opening file dialog - Parcourir... + Parcourir… Attachment @@ -1591,15 +1591,15 @@ Voulez-vous fusionner vos modifications ? Add to agent - Ajouter à l'agent + Ajouter à l’agent Remove from agent - Retirer de l'agent + Retirer de l’agent Require user confirmation when this key is used - Requiert une confirmation de l'utilisateur quand cette clé est utilisée + Demander une confirmation de l’utilisateur lorsque cette clé est utilisée @@ -1657,22 +1657,22 @@ Voulez-vous fusionner vos modifications ? Auto-Type - Saisie-Automatique + Saisie automatique &Use default Auto-Type sequence of parent group - &Utiliser la séquence de Saisie-Automatique du groupe parent + &Utiliser la séquence de saisie automatique du groupe parent Set default Auto-Type se&quence - Définir la sé&quence par défaut de la Saisie-Automatique + Définir la sé&quence par défaut de la saisie automatique EditWidgetIcons &Use default icon - Utiliser l'icône par défaut + Utiliser l’icône par défaut Use custo&m icon @@ -1696,7 +1696,7 @@ Voulez-vous fusionner vos modifications ? Hint: You can enable Google as a fallback under Tools>Settings>Security - Astuce : Vous pouvez activer Google en tant que repli sous Outils>Paramètres>Sécurité + Astuce : Vous pouvez activer Google en tant que secours sous Outils>Paramètres>Sécurité Images @@ -1712,11 +1712,11 @@ Voulez-vous fusionner vos modifications ? Can't read icon - Impossible de lire l'icône + Impossible de lire l’icône Custom icon already exists - L'icône personnalisée existe déjà + L’icône personnalisée existe déjà Confirm Delete @@ -1724,30 +1724,30 @@ Voulez-vous fusionner vos modifications ? This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it? - Cette icône est utilisée par %1 entrée et sera remplacée par l'icône par défaut. Êtes-vous sûr de vouloir l'effacer? + Cette icône est utilisée par %1 entrée(s) et sera remplacée par l’icône par défaut. Êtes-vous sûr de vouloir l’effacer ? EditWidgetProperties Created: - Créé le : + Créé le : Modified: - Modifié le : + Modifié le : Accessed: - Accédé le : + Accédé le : Uuid: - Uuid : + UUID : Plugin Data - Données de l'extension + Données de l’extension Remove @@ -1755,12 +1755,12 @@ Voulez-vous fusionner vos modifications ? Delete plugin data? - Supprimer les données de l'extension ? + Supprimer les données de l’extension ? Do you really want to delete the selected plugin data? This may cause the affected plugins to malfunction. - Souhaitez-vous vraiment supprimer les données de l'extension sélectionnée ? Cela peut causer un dysfonctionnement de l'extension. + Souhaitez-vous vraiment supprimer les données de l’extension sélectionnée ? Cela peut causer un dysfonctionnement de l’extension. Key @@ -1818,7 +1818,7 @@ This may cause the affected plugins to malfunction. Are you sure you want to remove %n attachment(s)? - Êtes-vous sûr de vouloir supprimer ces %n fichiers attachés ?Êtes-vous sûr de vouloir supprimer ces %n fichiers attachés ? + Êtes-vous sûr de vouloir supprimer ces %n fichiers attachés ?Êtes-vous sûr de vouloir supprimer ces %n fichiers attachés ? Confirm Remove @@ -1831,39 +1831,39 @@ This may cause the affected plugins to malfunction. Unable to create directory: %1 - Impossible de créer le répertoire : + Impossible de créer le répertoire : %1 Are you sure you want to overwrite the existing file "%1" with the attachment? - Êtes-vous sûr de vouloir écraser le fichier "%1" par ce fichier attaché? + Êtes-vous sûr de vouloir écraser le fichier « %1 » par ce fichier attaché ? Confirm overwrite - Confirmer l'écrasement + Confirmer l’écrasement Unable to save attachments: %1 - Impossible d'enregistrer les fichiers attachés : + Impossible d’enregistrer les fichiers attachés : %1 Unable to open attachment: %1 - Impossible d'ouvrir le fichier attaché : + Impossible d’ouvrir le fichier attaché : %1 Unable to open attachments: %1 - Impossible d'ouvrir les fichiers attachés : + Impossible d’ouvrir les fichiers attachés : %1 Unable to open files: %1 - Impossible d'ouvrir le fichier : + Impossible d’ouvrir le fichier : %1 @@ -1886,7 +1886,7 @@ This may cause the affected plugins to malfunction. Username - Nom d'utilisateur + Nom d’utilisateur URL @@ -1898,7 +1898,7 @@ This may cause the affected plugins to malfunction. Ref: Reference abbreviation - Réf : + Réf : Group @@ -1910,7 +1910,7 @@ This may cause the affected plugins to malfunction. Username - Nom d'utilisateur + Nom d’utilisateur URL @@ -1957,7 +1957,7 @@ This may cause the affected plugins to malfunction. Hide Usernames - Cacher les noms d'utilisateurs + Cacher les noms d’utilisateurs Hide Passwords @@ -1977,7 +1977,7 @@ This may cause the affected plugins to malfunction. Attachments (icon) - + Pièces jointes (icône) @@ -1991,7 +1991,7 @@ This may cause the affected plugins to malfunction. HostInstaller KeePassXC: Cannot save file! - KeePassXC : Impossible d'enregistrer le fichier! + KeePassXC : Impossible d’enregistrer le fichier! Cannot save the native messaging script file. @@ -2002,11 +2002,11 @@ This may cause the affected plugins to malfunction. HttpPasswordGeneratorWidget Length: - Longueur: + Longueur : Character Types - Types de caractères: + Types de caractères : Upper Case Letters @@ -2038,7 +2038,7 @@ This may cause the affected plugins to malfunction. /*_& ... - /*_& ... + /*_& … Exclude look-alike characters @@ -2046,7 +2046,7 @@ This may cause the affected plugins to malfunction. Ensure that the password contains characters from every group - S'assurer que le mot de passe contienne des caractères de chaque groupe + S’assurer que le mot de passe contienne des caractères de chaque groupe Extended ASCII @@ -2072,18 +2072,18 @@ This may cause the affected plugins to malfunction. Unable to issue challenge-response. - Impossible de lancer une challenge-réponse. + Impossible de lancer un challenge-réponse. Wrong key or database file is corrupt. - Clé incorrecte ou la base de données est corrompue. + La clé est incorrecte, ou bien la base de données est corrompue. Kdbx3Writer Unable to issue challenge-response. - Impossible de lancer une challenge-réponse. + Impossible de lancer un challenge-réponse. Unable to calculate master key @@ -2094,7 +2094,7 @@ This may cause the affected plugins to malfunction. Kdbx4Reader missing database headers - En-têtes manquants de la base de donnée + En-têtes de base de données manquants Unable to calculate master key @@ -2102,11 +2102,11 @@ This may cause the affected plugins to malfunction. Invalid header checksum size - Taille de la somme de contrôle de l'en-tête non valide + Taille de la somme de contrôle de l’en-tête invalide Header SHA256 mismatch - SHA256 de l'en-tête ne correspond pas + SHA256 de l’en-tête ne correspond pas Wrong key or database file is corrupt. (HMAC mismatch) @@ -2118,23 +2118,23 @@ This may cause the affected plugins to malfunction. Invalid header id size - Taille de l'id de l'en-tête non valide + Taille de l’id de l’en-tête invalide Invalid header field length - Longueur du champ de l’en-tête non valide + Longueur du champ de l’en-tête invalide Invalid header data length - Longueur des données de l'en-tête non valide + Longueur des données de l’en-tête invalide Failed to open buffer for KDF parameters in header - Échec d'ouverture d'une mémoire tampon pour les paramètres KDF dans l'en-tête + Échec d’ouverture d’une mémoire tampon pour les paramètres KDF dans l’en-tête Unsupported key derivation function (KDF) or invalid parameters - Fonction de dérivation de clé (KDF) non supporté ou paramètres non valides + Fonction de dérivation de clé (KDF) non supporté ou paramètres invalide Legacy header fields found in KDBX4 file. @@ -2142,15 +2142,15 @@ This may cause the affected plugins to malfunction. Invalid inner header id size - Taille de l'id de l'en-tête interne non valide + Taille de l’id de l’en-tête interne invalide Invalid inner header field length - Longueur du champ de l'en-tête interne non valide + Longueur du champ de l’en-tête interne invalide Invalid inner header binary size - Taille binaire de l'en-tête interne non valide + Taille binaire de l’en-tête interne invalide Unsupported KeePass variant map version. @@ -2160,69 +2160,69 @@ This may cause the affected plugins to malfunction. Invalid variant map entry name length Translation: variant map = data structure for storing meta data - Longueur du nom de la table des variantes non valide. + Longueur du nom de la table des variantes invalide. Invalid variant map entry name data Translation: variant map = data structure for storing meta data - Contenu du nom de la table des variantes non valide. + Contenu du nom de la table des variantes invalide. Invalid variant map entry value length Translation: variant map = data structure for storing meta data - Longueur de l'entrée dans la table des variantes non valide. + Longueur de l’entrée dans la table des variantes invalide. Invalid variant map entry value data Translation comment: variant map = data structure for storing meta data - Contenu de l'entrée dans la table des variantes non valide. + Contenu de l’entrée dans la table des variantes invalide. Invalid variant map Bool entry value length Translation: variant map = data structure for storing meta data - Longueur de l'entrée de type Booléen dans la table des variantes non valide. + Longueur de l’entrée de type Booléen dans la table des variantes invalide. Invalid variant map Int32 entry value length Translation: variant map = data structure for storing meta data - Longueur de l'entrée de type Int32 dans la table des variantes non valide. + Longueur de l’entrée de type Int32 dans la table des variantes invalide. Invalid variant map UInt32 entry value length Translation: variant map = data structure for storing meta data - Longueur de l'entrée de type UInt32 dans la table des variantes non valide. + Longueur de l’entrée de type UInt32 dans la table des variantes invalide. Invalid variant map Int64 entry value length Translation: variant map = data structure for storing meta data - Longueur de l'entrée de type Int64 dans la table des variantes non valide. + Longueur de l’entrée de type Int64 dans la table des variantes invalide. Invalid variant map UInt64 entry value length Translation: variant map = data structure for storing meta data - Longueur de l'entrée de type UInt64 dans la table des variantes non valide. + Longueur de l’entrée de type UInt64 dans la table des variantes invalide. Invalid variant map entry type Translation: variant map = data structure for storing meta data - Longueur de l'entrée dans la table des variantes non valide. + Longueur de l’entrée dans la table des variantes invalide. Invalid variant map field type size Translation: variant map = data structure for storing meta data - Longueur du type de champ dans la table des variantes non valide. + Longueur du type de champ dans la table des variantes invalide. Kdbx4Writer Invalid symmetric cipher algorithm. - Algorithme de chiffrement symétrique non valide. + Algorithme de chiffrement symétrique invalide. Invalid symmetric cipher IV size. IV = Initialization Vector for symmetric cipher - Taille du vecteur d'initialisation du chiffrement symétrique non valide. + Taille du vecteur d’initialisation du chiffrement symétrique invalide. Unable to calculate master key @@ -2238,7 +2238,7 @@ This may cause the affected plugins to malfunction. KdbxReader Invalid cipher uuid length - Longueur de l'uuid du chiffrement non valide + Longueur de l’UUID du chiffrement invalide Unsupported cipher @@ -2246,7 +2246,7 @@ This may cause the affected plugins to malfunction. Invalid compression flags length - Longueur des paramètres de compression non valides. + Longueur des paramètres de compression invalide. Unsupported compression algorithm @@ -2254,31 +2254,31 @@ This may cause the affected plugins to malfunction. Invalid master seed size - Taille de la semence primaire non valide. + Taille de la semence primaire invalide. Invalid transform seed size - Taille de la semence germée non valide. + Taille de la semence germée invalide. Invalid transform rounds size - Taille des tours de transformation non valide + Taille des tours de transformation invalide Invalid start bytes size - Taille des octets de début non valide + Taille des octets de début invalide Invalid random stream id size - Taille de l'identifiant du flux aléatoire non valide. + Taille de l’identifiant du flux aléatoire invalide. Invalid inner random stream cipher - Taille du chiffrement du flux intérieur aléatoire non valide. + Taille du chiffrement du flux intérieur aléatoire invalide. Not a KeePass database. - Ce n'est pas une base de données KeePass. + Ce n’est pas une base de données KeePass. The selected file is an old KeePass 1 database (.kdb). @@ -2287,8 +2287,8 @@ You can import it by clicking on Database > 'Import KeePass 1 database...'. This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. Le fichier sélectionné est une ancienne base de données KeePass 1 (.kdb). -Vous pouvez l'importer en cliquant sur Base de données>'Importer une base de données KeePass 1...' -Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir la base de données importée avec l'ancienne version de KeePassX 0.4. +Vous pouvez l’importer en cliquant sur Base de données>« Importer une base de données KeePass 1… » +Il s’agit d’une migration à sens unique. Vous ne pourrez pas ouvrir la base de données importée avec l’ancienne version de KeePassX 0.4. Unsupported KeePass 2 database version. @@ -2299,7 +2299,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l KdbxXmlReader XML parsing failure: %1 - Erreur d'analyse XML : %1 + Erreur d’analyse XML : %1 No root group @@ -2307,11 +2307,11 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Missing icon uuid or data - Données ou uuid de l’icône manquant + Données ou UUID de l’icône manquant Missing custom data key or value - Valeur ou clé de donnée personnalisée manquante + Valeur ou clé de données personnalisée manquante Multiple group elements @@ -2319,39 +2319,39 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Null group uuid - Uuid du groupe sans valeur + UUID du groupe sans valeur Invalid group icon number - Numéro de l'icône du groupe non valide + Numéro de l’icône du groupe invalide Invalid EnableAutoType value - Valeur EnableAutoType non valide + Valeur EnableAutoType invalide Invalid EnableSearching value - Valeur de EnableSearching non valide + Valeur de EnableSearching invalide No group uuid found - Aucun uuid de groupe trouvé + Aucun UUID de groupe trouvé Null DeleteObject uuid - Uuid de DeleteObject sans valeur + UUID de DeleteObject sans valeur Missing DeletedObject uuid or time - Temps ou uuid de DeletedObject manquant + Temps ou UUID de DeletedObject manquant Null entry uuid - Uuid de l'entrée sans valeur + UUID de l’entrée sans valeur Invalid entry icon number - Numéro de l'icône de l'entrée non valide + Numéro de l’icône de l’entrée invalide History element in history entry @@ -2359,23 +2359,23 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l No entry uuid found - Aucun uuid d'entrée trouvé + Aucun UUID d’entrée trouvé History element with different uuid - Élément de l’historique avec un uuid différent + Élément de l’historique avec un UUID différent Unable to decrypt entry string - Impossible de déchiffrer la chaîne de caractères de l'entrée + Impossible de déchiffrer la chaîne de caractères de l’entrée Duplicate custom attribute found - Dupliquer l'attribut personnalisé trouvé + Dupliquer l’attribut personnalisé trouvé Entry string key or value missing - Valeur ou clé de la chaîne de caractères de l'entrée manquante + Valeur ou clé de la chaîne de caractères de l’entrée manquante Duplicate attachment found @@ -2383,7 +2383,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Entry binary key or value missing - Valeur ou clé du binaire de l'entrée manquante + Valeur ou clé du binaire de l’entrée manquante Auto-type association window or sequence missing @@ -2391,27 +2391,27 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Invalid bool value - Valeur bool non valide + Valeur booléenne invalide Invalid date time value - Valeur date time non valide + Valeur d’horodatage invalide Invalid color value - Valeur de couleur non valide + Valeur de couleur invalide Invalid color rgb part - Partie de couleur RVB non valide + Partie de couleur RVB invalide Invalid number value - Valeur de nombre non valide + Valeur de nombre invalide Invalid uuid value - Valeur uuid non valide + Valeur UUID invalide Unable to decompress binary @@ -2427,7 +2427,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Unable to open the database. - Impossible d'ouvrir la base de données. + Impossible d’ouvrir la base de données. @@ -2438,7 +2438,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Not a KeePass database. - Ce n'est pas une base de données KeePass. + Ce n’est pas une base de données KeePass. Unsupported encryption algorithm. @@ -2451,27 +2451,27 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Unable to read encryption IV IV = Initialization Vector for symmetric cipher - Impossible de lire le vecteur d'initialisation du chiffrement + Impossible de lire le vecteur d’initialisation du chiffrement Invalid number of groups - Nombre de groupes non valide + Nombre de groupes invalide Invalid number of entries - Nombre d’entrées non valide + Nombre d’entrées invalide Invalid content hash size - Taille du hachage du contenu non valide + Taille du hachage du contenu invalide Invalid transform seed size - Taille de la semence germée non valide. + Taille de la semence germée invalide. Invalid number of transform rounds - Nombre de tours de transformation non valide + Nombre de tours de transformation invalide Unable to construct group tree @@ -2495,11 +2495,11 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Invalid group field type number - Numéro du type de champ groupe non valide. + Numéro du type de champ groupe invalide. Invalid group field size - Taille du champ groupe non valide + Taille du champ groupe invalide Read group field data doesn't match size @@ -2507,11 +2507,11 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Incorrect group id field size - Taille du champ "identifiant du groupe" incorrect + Taille du champ « identifiant du groupe » incorrect Incorrect group creation time field size - Taille du champ "date du la création du groupe" incorrect. + Taille du champ « date du la création du groupe » incorrect. Incorrect group modification time field size @@ -2519,15 +2519,15 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Incorrect group access time field size - Taille du champ "date d'accès au groupe" incorrect. + Taille du champ « date d’accès au groupe » incorrect. Incorrect group expiry time field size - Taille du champ "date d'expiration du groupe" incorrect. + Taille du champ « date d’expiration du groupe » incorrect. Incorrect group icon field size - Taille du champ "icône du groupe" incorrect. + Taille du champ « icône du groupe » incorrect. Incorrect group level field size @@ -2543,50 +2543,77 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Missing entry field type number - Type du numéro du champ d'entrée manquante + Type du numéro du champ d’entrée manquante Invalid entry field size - Taille du champ de l'entrée non valide + Taille du champ de l’entrée invalide Read entry field data doesn't match size - Les données d'entrée lues ne correspondent pas à la taille. + Les données d’entrée lues ne correspondent pas à la taille. Invalid entry uuid field size - Taille du champ uuid de l'entrée non valide + Taille du champ UUID de l’entrée invalide Invalid entry group id field size - Taille du champ id du groupe de l'entrée non valide + Taille du champ id du groupe de l’entrée invalide Invalid entry icon field size - Taille du champ icône de l'entrée non valide + Taille du champ icône de l’entrée invalide Invalid entry creation time field size - Taille du champ date de création de l'entrée non valide + Taille du champ date de création de l’entrée invalide Invalid entry modification time field size - Taille du champ date de modification de l'entrée non valide + Taille du champ date de modification de l’entrée invalide Invalid entry expiry time field size - Taille invalide du champ d'entrée heure d'expiration + Taille invalide du champ d’entrée heure d’expiration Invalid entry field type - Champ d'entrée type est invalide + Champ d’entrée type est invalide + + + + KeePass2 + + AES: 256-bit + AES : 256 bits + + + Twofish: 256-bit + Twofish : 256 bits + + + ChaCha20: 256-bit + ChaCha20 : 256 bits + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – recommandé) Main Existing single-instance lock file is invalid. Launching new instance. - Le fichier de verrouillage de l’instance unique existant n’est pas valide. Lancement d'une nouvelle instance. + Le fichier de verrouillage de l’instance unique existant est invalide. Lancement d’une nouvelle instance. The lock file could not be created. Single-instance mode disabled. @@ -2594,7 +2621,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Another instance of KeePassXC is already running. - Une autre instance de KeePassXC est déjà en cours d'exécution. + Une autre instance de KeePassXC est déjà en cours d’exécution. Fatal error while testing the cryptographic functions. @@ -2629,7 +2656,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Copy att&ribute to clipboard - Copier l'attribut dans le presse-papier + Copier l’attribut dans le presse-papier Time-based one-time password @@ -2653,7 +2680,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l &Open database... - &Ouvrir la base de donnée... + &Ouvrir la base de données… &Save database @@ -2677,11 +2704,11 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l &View/Edit entry - Voir/Editer l'entrée + Voir/Editer l’entrée &Delete entry - Supprimer l'entrée + Supprimer l’entrée &Add new group @@ -2697,15 +2724,15 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Sa&ve database as... - Sau&ver la base de données sous... + Sau&ver la base de données sous… Change &master key... - Changer la clé &maître... + Changer la clé &maître… &Database settings - Paramètre de la base de &données + Paramètres de la base de &données Database settings @@ -2713,7 +2740,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l &Clone entry - Cloner l'entrée + Cloner l’entrée &Find @@ -2721,11 +2748,11 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Copy &username - Copier le nom d'utilisateur + Copier le nom d’utilisateur Copy username to clipboard - Copier le nom d'utilisateur dans le presse-papier + Copier le nom d’utilisateur dans le presse-papier Cop&y password @@ -2745,11 +2772,11 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l &Perform Auto-Type - Exécuter la saisie semi-automatique + Effectuer la saisie automatique &Open URL - &Ouvrir l'URL + &Ouvrir l’URL &Lock databases @@ -2769,7 +2796,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Copy URL to clipboard - Copier l'URL dans le presse-papier + Copier l’URL dans le presse-papier &Notes @@ -2781,19 +2808,19 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l &Export to CSV file... - &Exporter dans un fichier CSV... + &Exporter dans un fichier CSV… Import KeePass 1 database... - Importer une base de données KeePass 1... + Importer une base de données KeePass 1… Import CSV file... - Importer un fichier CSV... + Importer un fichier CSV… Re&pair database... - Ré&parer la base de données... + Ré&parer la base de données… Show TOTP @@ -2801,7 +2828,7 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Set up TOTP... - Configurer TOTP... + Configurer TOTP… Copy &TOTP @@ -2813,15 +2840,15 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Clear history - Effacer l'historique + Effacer l’historique Access error for config file %1 - Erreur d'accès au fichier de configuration %1 + Erreur d’accès au fichier de configuration %1 <p>It looks like you are using KeePassHTTP for browser integration. This feature has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> (warning %1 of 3).</p> - <p>Il semble que vous utilisez KeePassHTTP pour l'intégration au navigateur web. Cette fonctionnalité est dorénavant déconseillée et elle sera supprimée dans le future.<br>Veuillez passer à KeePassXC-Browser à la place! Si vous avez besoin d'aide pour migrer, consulter notre<a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">guide de migration</a> (avertissement %1 sur 3).</p> + <p>Il semble que vous utilisez KeePassHTTP pour l’intégration au navigateur web. Cette fonctionnalité est dorénavant déconseillée et elle sera supprimée dans le futur.<br>Veuillez passer à KeePassXC-Browser à la place ! Si vous avez besoin d’aide pour migrer, consulter notre<a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">guide de migration</a> (avertissement %1 sur 3).</p> read-only @@ -2857,17 +2884,17 @@ Il s'agit d'une migration à sens unique. Vous ne pourrez pas ouvrir l Writing the database failed. - Une erreur s'est produite lors de l'écriture de la base de données. + Une erreur s’est produite lors de l’écriture de la base de données. Please touch the button on your YubiKey! - Veuillez presser le bouton de votre YubiKey! + Veuillez presser le bouton de votre YubiKey ! WARNING: You are using an unstable build of KeePassXC! There is a high risk of corruption, maintain a backup of your databases. This version is not meant for production use. - AVERTISSEMENT: Vous utilisez une version instable du KeePassXC! + AVERTISSEMENT : Vous utilisez une version instable du KeePassXC ! Il y a un risque élevé de corruption, gardez une sauvegarde de vos bases de données. Cette version n’est pas destinée à la production. @@ -2876,7 +2903,7 @@ Cette version n’est pas destinée à la production. OpenSSHKey Invalid key file, expecting an OpenSSH key - Fichier clé invalide, une clé OpenSSH est attendue + Fichier-clé invalide, une clé OpenSSH est attendue PEM boundary mismatch @@ -2888,15 +2915,15 @@ Cette version n’est pas destinée à la production. Key file way too small. - Le fichier clé est trop petit. + Le fichier-clé est trop petit. Key file magic header id invalid - L'identifiant magic header du fichier clé est invalide + L’identifiant magic header du fichier-clé est invalide Found zero keys - Zéro clés trouvées + Acune clé n’a été trouvée Failed to read public key. @@ -2904,7 +2931,7 @@ Cette version n’est pas destinée à la production. Corrupted key file, reading private key failed - Fichier clé corrompu, échec de lecture de la clé privée + Fichier-clé corrompu, échec de lecture de la clé privée No private key payload to decrypt @@ -2920,23 +2947,23 @@ Cette version n’est pas destinée à la production. Key derivation failed, key file corrupted? - Échec de la dérivation de clé, fichier clé corrompu? + Échec de la dérivation de clé, fichier-clé corrompu? Decryption failed, wrong passphrase? - Échec du déchiffrement, mauvaise phrase secrète ? + Échec du déchiffrement, mauvaise phrase secrète ? Unexpected EOF while reading public key - End-of-file inattendu lors de la lecture de la clé publique + Fin de fichier inattendue lors de la lecture de la clé publique Unexpected EOF while reading private key - End-of-file inattendu lors de la lecture de la clé privée + Fin de fichier inattendue lors de la lecture de la clé privée Can't write public key as it is empty - Impossible d'écrire une clé publique car elle est vide + Impossible d’écrire une clé publique car elle est vide Unexpected EOF when writing public key @@ -2944,31 +2971,31 @@ Cette version n’est pas destinée à la production. Can't write private key as it is empty - Impossible d'écrire une clé privée car elle est vide + Impossible d’écrire une clé privée car elle est vide Unexpected EOF when writing private key - End-of-file inattendu lors de l’écriture de la clé privée + Fin de fichier inattendue lors de l’écriture de la clé privée Unsupported key type: %1 - Type de clé non géré: %1 + Type de clé non supporté : %1 Unknown cipher: %1 - Chiffrement inconnu : %1 + Chiffrement inconnu : %1 Cipher IV is too short for MD5 kdf - Le vecteur d'initialisation du chiffrage est trop court pour la KDF MD5 + Le vecteur d’initialisation du chiffrement est trop court pour la KDF MD5 Unknown KDF: %1 - KDF inconnu : %1 + KDF inconnu : %1 Unknown key type: %1 - Type de clé inconnu : %1 + Type de clé inconnu : %1 @@ -3000,7 +3027,7 @@ Cette version n’est pas destinée à la production. &Return only best matching entries - &Retourner seulement les meilleurs entrées + &Retourner seulement les meilleures entrées Re&quest to unlock the database if it is locked @@ -3008,7 +3035,7 @@ Cette version n’est pas destinée à la production. Only entries with the same scheme (http://, https://, ftp://, ...) are returned. - Seules les entrées avec le même schéma (http://, https://, ftp://, ...) sont retournées. + Seules les entrées avec le même schéma (http://, https://, ftp://, …) sont retournées. &Match URL schemes @@ -3016,7 +3043,7 @@ Cette version n’est pas destinée à la production. Sort matching entries by &username - Trier les entrées correspondantes par nom d'&utilisateur + Trier les entrées correspondantes par nom d’&utilisateur Sort &matching entries by title @@ -3040,7 +3067,7 @@ Cette version n’est pas destinée à la production. Always allow &access to entries - Toujours autoriser l'&accès aux entrées + Toujours autoriser l’&accès aux entrées Always allow &updating entries @@ -3056,19 +3083,19 @@ Cette version n’est pas destinée à la production. Automatically creating or updating string fields is not supported. - La création ou la mise a jour automatique ne sont pas pris en charge pour les champs de chaines de caractères ! + La création ou la mise a jour automatiques ne sont pas prises en charge pour les champs textuels ! &Return advanced string fields which start with "KPH: " - & Retourne les champs avancés de type chaîne qui commencent par "KPH :" + &Retourne les champs textuels avancés qui commencent par « KPH : » HTTP Port: - Port HTTP : + Port HTTP : Default port: 19455 - Port par défaut : 19455 + Port par défaut : 19455 KeePassXC will listen to this port on 127.0.0.1 @@ -3076,11 +3103,11 @@ Cette version n’est pas destinée à la production. <b>Warning:</b> The following options can be dangerous! - <b>Avertissement :</b> Les options suivantes peuvent être dangereuses! + <b>Avertissement :</b> Les options suivantes peuvent être dangereuses ! <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> - <p>KeePassHTTP est dorénavant déconseillé et il sera supprimé dans le futur.<br>Veuillez passer à KeePassXC-Browser à la place! Si vous avez besoin d'aide pour migrer, consulter notre <a href="https://keepassxc.org/docs/keepassxc-browser-migration">guide de migration</a>.</p> + <p>KeePassHTTP est dorénavant déconseillé et il sera supprimé dans le futur.<br>Veuillez passer à KeePassXC-Browser à la place ! Si vous avez besoin d’aide pour migrer, consulter notre <a href="https://keepassxc.org/docs/keepassxc-browser-migration">guide de migration</a>.</p> Cannot bind to privileged ports @@ -3089,7 +3116,7 @@ Cette version n’est pas destinée à la production. Cannot bind to privileged ports below 1024! Using default port 19455. - Liaison impossible avec les ports privilégiés, ceux avant 1024 ! + Liaison impossible avec les ports privilégiés, inférieurs à 1024 ! Restauration du port 19455 par défaut. @@ -3101,7 +3128,7 @@ Restauration du port 19455 par défaut. Password: - Mot de passe : + Mot de passe : strength @@ -3150,7 +3177,7 @@ Restauration du port 19455 par défaut. &Length: - &Longueur : + &Longueur : Passphrase @@ -3158,15 +3185,15 @@ Restauration du port 19455 par défaut. Wordlist: - Liste de mots : + Liste de mots : Word Count: - Nombre de mots : + Nombre de mots : Word Separator: - Séparateur de mot : + Séparateur de mots : Generate @@ -3190,16 +3217,16 @@ Restauration du port 19455 par défaut. Entropy: %1 bit - Entropie : %1 bit + Entropie : %1 bit Password Quality: %1 - Qualité du mot de passe : %1 + Qualité du mot de passe : %1 Poor Password quality - Pauvre + Mauvais Weak @@ -3221,11 +3248,11 @@ Restauration du port 19455 par défaut. QObject Database not opened - La base de données n'est pas ouverte + La base de données n’est pas ouverte Database hash not available - Hachage de la base de donnée non disponible + Hachage de la base de données non disponible Client public key not received @@ -3249,19 +3276,19 @@ Restauration du port 19455 par défaut. KeePassXC association failed, try again - L'association à KeePassXC a échoué, veuillez réessayer + L’association à KeePassXC a échoué, veuillez réessayer Key change was not successful - Le changement de clé n'a pas réussi + Le changement de clé n’a pas réussi Encryption key is not recognized - La clé de chiffrement n'est pas reconnue + La clé de chiffrement n’est pas reconnue No saved databases found - Aucunes bases de données sauvegardées trouvées + Aucunes bases de données sauvegardée trouvée Incorrect action @@ -3277,7 +3304,7 @@ Restauration du port 19455 par défaut. No logins found - Aucuns identifiants trouvés + Aucun identifiant trouvé Unknown error @@ -3289,11 +3316,11 @@ Restauration du port 19455 par défaut. Path of the database. - Chemin d'accès de la base de données. + Chemin d’accès de la base de données. Key file of the database. - Fichier clé de la base de données. + Fichier-clé de la base de données. path @@ -3301,15 +3328,15 @@ Restauration du port 19455 par défaut. Username for the entry. - Nom d'utilisateur de l'entrée. + Nom d’utilisateur de l’entrée. username - nom d'utilisateur + nom d’utilisateur URL for the entry. - URL de l'entrée. + URL de l’entrée. URL @@ -3317,11 +3344,11 @@ Restauration du port 19455 par défaut. Prompt for the entry's password. - Demande du mot de passe de l'entrée. + Demande du mot de passe de l’entrée. Generate a password for the entry. - Générer un mot de passe pour l'entrée. + Générer un mot de passe pour l’entrée. Length for the generated password. @@ -3333,20 +3360,20 @@ Restauration du port 19455 par défaut. Path of the entry to add. - Chemin de l'entrée à ajouter. + Chemin de l’entrée à ajouter. Copy an entry's password to the clipboard. - Copier le mot de passe d'une entrée dans le presse-papier. + Copier le mot de passe d’une entrée dans le presse-papier. Path of the entry to clip. clip = copy to clipboard - Chemin de l'entrée à épingler. + Chemin de l’entrée à copier. Timeout in seconds before clearing the clipboard. - Expiration en secondes avant l'effacement du presse-papier. + Expiration en secondes avant l’effacement du presse-papier. Edit an entry. @@ -3354,7 +3381,7 @@ Restauration du port 19455 par défaut. Title for the entry. - Titre de l'entrée. + Titre de l’entrée. title @@ -3362,7 +3389,7 @@ Restauration du port 19455 par défaut. Path of the entry to edit. - Chemin de l'entrée à modifier. + Chemin de l’entrée à modifier. Estimate the entropy of a password. @@ -3370,7 +3397,7 @@ Restauration du port 19455 par défaut. Password for which to estimate the entropy. - Mot de passe permettant d’estimer l’entropie. + Mot de passe pour lesquels estimer l’entropie. Perform advanced analysis on the password. @@ -3378,7 +3405,7 @@ Restauration du port 19455 par défaut. Extract and print the content of a database. - Extraire et imprimer le contenu d'une base de données. + Extraire et imprimer le contenu d’une base de données. Path of the database to extract. @@ -3386,21 +3413,21 @@ Restauration du port 19455 par défaut. Insert password to unlock %1: - Insérer le mot de passe pour déverrouiller %1 : + Insérer le mot de passe pour déverrouiller %1 : Failed to load key file %1 : %2 - Échec du chargement du fichier clé %1 : %2 + Échec du chargement du fichier-clé %1 : %2 WARNING: You are using a legacy key file format which may become unsupported in the future. Please consider generating a new key file. - AVERTISSEMENT : Vous utilisez un format de fichier clé hérité + AVERTISSEMENT : Vous utilisez un ancien format de fichier-clé qui peut ne plus être pris en charge à l’avenir. -Veuillez envisager de générer un nouveau fichier clé. +Veuillez envisager de générer un nouveau fichier-clé. @@ -3409,7 +3436,7 @@ Available commands: -Commandes disponibles : +Commandes disponibles : @@ -3422,7 +3449,7 @@ Commandes disponibles : Path of the group to list. Default is / - Chemin du groupe à lister. Par défaut : / + Chemin du groupe à lister. Par défaut : / Find entries quickly. @@ -3450,7 +3477,7 @@ Commandes disponibles : Key file of the database to merge from. - Fichier clé de la base de données à fusionner. + Fichier-clé de la base de données à fusionner. Show an entry's information. @@ -3466,7 +3493,7 @@ Commandes disponibles : Name of the entry to show. - Nom de l'entrée à afficher. + Nom de l’entrée à afficher. NULL device @@ -3484,35 +3511,11 @@ Commandes disponibles : malformed string - chaîne malformée + chaîne mal formée missing closing quote - fermeture de citation manquante - - - AES: 256-bit - AES : 256 bits - - - Twofish: 256-bit - Twofish : 256 bits - - - ChaCha20: 256-bit - ChaCha20 : 256 bits - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – recommandé) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) + Guillemet fermant manquant Group @@ -3524,7 +3527,7 @@ Commandes disponibles : Username - Nom d'utilisateur + Nom d’utilisateur Password @@ -3544,7 +3547,7 @@ Commandes disponibles : Legacy Browser Integration - Intégration au navigateur web héritée + Ancienne intégration au navigateur web Browser Integration @@ -3568,11 +3571,11 @@ Commandes disponibles : Generate a new random diceware passphrase. - Créé une nouvelle phrase secrète générée par Diceware aléatoire + Créé une nouvelle phrase secrète générée aléatoirement par Diceware Word count for the diceware passphrase. - Comptage des mots pour la phrase secrète générée par Diceware + Nombre de mots de la phrase secrète générée par Diceware count @@ -3582,7 +3585,7 @@ Commandes disponibles : Wordlist for the diceware generator. [Default: EFF English] Liste de mots pour le générateur par Diceware. -[par défaut : anglais EFF] +[par défaut : anglais EFF] Generate a new random password. @@ -3617,41 +3620,41 @@ Commandes disponibles : QtIOCompressor Internal zlib error when compressing: - Erreur interne zlib lors de la compression : + Erreur interne zlib lors de la compression : Error writing to underlying device: - Erreur d'écriture sur le périphérique concerné : + Erreur d’écriture sur le périphérique concerné : Error opening underlying device: - Erreur d'ouverture du périphérique concerné : + Erreur d’ouverture du périphérique concerné : Error reading data from underlying device: - Erreur de lecture sur le périphérique concerné : + Erreur de lecture sur le périphérique concerné : Internal zlib error when decompressing: - Erreur interne zlib lors de la décompression : + Erreur interne zlib lors de la décompression : QtIOCompressor::open The gzip format not supported in this version of zlib. - Le format gzip n'est pas supporté dans cette version de zlib. + Le format gzip n’est pas supporté dans cette version de zlib. Internal zlib error: - Erreur interne zlib : + Erreur interne zlib : SearchWidget Search... - Recherche... + Recherche… Search @@ -3674,55 +3677,55 @@ Commandes disponibles : Service KeePassXC: New key association request - KeePassXC : nouvelle demande d'association + KeePassXC : nouvelle demande d’association You have received an association request for the above key. If you would like to allow it access to your KeePassXC database give it a unique name to identify and accept it. - Vous avez reçu une demande d'association pour la clé ci-dessus. + Vous avez reçu une demande d’association pour la clé ci-dessus. Si vous voulez autoriser cette clé à accéder à votre base de données KeePassXC, -attribuez lui un nom unique pour l'identifier et acceptez la. +attribuez lui un nom unique pour l’identifier et acceptez-la. KeePassXC: Overwrite existing key? - KeePassXC : Écraser la clé existante ? + KeePassXC : Écraser la clé existante ? A shared encryption-key with the name "%1" already exists. Do you want to overwrite it? - Une clé de chiffrement partagée avec le nom "%1" existe déjà. -Voulez-vous l'écraser ? + Une clé de chiffrement partagée avec le nom « %1 » existe déjà. +Voulez-vous l’écraser ? KeePassXC: Update Entry - KeePassXC : Mettre à jour l'entrée + KeePassXC : Mettre à jour l’entrée Do you want to update the information in %1 - %2? - Voulez-vous mettre à jour l'information dans %1 - %2 ? + Voulez-vous mettre à jour l’information dans %1 - %2 ? KeePassXC: Database locked! - KeePassXC : Base de données verrouillée ! + KeePassXC : Base de données verrouillée ! The active database is locked! Please unlock the selected database or choose another one which is unlocked. - La base de données actuelle est verrouillée ! -Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui est déverrouillée. + La base de données actuelle est verrouillée ! + Veuillez déverrouiller la base de données sélectionnée, ou choisir une base de données déverrouillée. KeePassXC: Removed keys from database - KeePassXC : Les clés ont été effacées de la base de donnée + KeePassXC : Les clés ont été effacées de la base de données Successfully removed %n encryption-key(s) from KeePassX/Http Settings. - Réussi à retirer le chiffrement %n-clé (s) de paramètres KeePassX/Http.%n-clé(s) chiffrement ont été retirées des paramètres KeePassX/Http. + %n clé(s) de chiffrement ont été retirées des paramètres KeePassX/Http.%n-clé(s) chiffrement ont été retirées des paramètres KeePassX/Http. KeePassXC: No keys found - KeePassXC : Aucune clé trouvée + KeePassXC : Aucune clé trouvée No shared encryption-keys found in KeePassHttp Settings. @@ -3730,15 +3733,15 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui KeePassXC: Settings not available! - KeePassXC: Paramètre indisponible ! + KeePassXC: Paramètre indisponible ! The active database does not contain an entry of KeePassHttp Settings. - La base de données actuelle ne contient pas d'entrée de paramètres KeePassHttp. + La base de données actuelle ne contient pas d’entrée de paramètres KeePassHttp. Removing stored permissions... - Effacement des permissions enregistrées... + Effacement des permissions enregistrées… Abort @@ -3746,26 +3749,26 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui KeePassXC: Removed permissions - KeePassXC : Permissions retirées + KeePassXC : Permissions retirées Successfully removed permissions from %n entries. - Correctement supprimé les autorisations de %n entrées.Les autorisations de %n entrées ont été correctement supprimées. + Les autorisations de %n entrées ont été correctement supprimées.Les autorisations de %n entrées ont été correctement supprimées. KeePassXC: No entry with permissions found! - KeePassXC : Aucune entrée avec permissions trouvée ! + KeePassXC : Aucune entrée avec permissions trouvée ! The active database does not contain an entry with permissions. - La base de données actuelle ne contient pas d'entrée avec des permissions. + La base de données actuelle ne contient pas d’entrée avec des permissions. SettingsWidget Application Settings - Paramètres de l'application + Paramètres de l’application General @@ -3777,7 +3780,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Access error for config file %1 - Erreur d'accès au fichier de configuration %1 + Erreur d’accès au fichier de configuration %1 @@ -3788,7 +3791,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Start only a single instance of KeePassXC - Démarrer uniquement une seule instance de KeePassXC + Démarrer une seule instance de KeePassXC Remember last databases @@ -3812,7 +3815,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Automatically reload the database when modified externally - Recharger automatiquement la base de données quand celle-ci est modifiée depuis l'extérieur + Recharger automatiquement la base de données quand celle-ci est modifiée depuis l’extérieur Minimize when copying to clipboard @@ -3820,15 +3823,15 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Minimize window at application startup - Minimiser la fenêtre lors du démarrage de l'application + Minimiser la fenêtre lors du démarrage de l’application Use group icon on entry creation - Utiliser l'icône de groupe à la création d'une entrée + Utiliser l’icône de groupe à la création d’une entrée Don't mark database as modified for non-data changes (e.g., expanding groups) - Ne pas indiquer la base de données comme modifiée pour les changements hors-données (par exemple : groupes développés) + Ne pas indiquer la base de données comme modifiée pour les changements hors-données (par exemple : groupes développés) Hide the Details view @@ -3844,7 +3847,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Hide window to system tray instead of app exit - Envoyer la fenêtre dans la zone de notification au lieu de quitter l'application + Envoyer la fenêtre dans la zone de notification au lieu de quitter l’application Dark system tray icon @@ -3856,27 +3859,27 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Auto-Type - Saisie-Automatique + Saisie automatique Use entry title to match windows for global Auto-Type - Utiliser le titre de l'entrée dans la correspondance des fenêtres pour la saisie automatique globale. + Utiliser le titre de l’entrée dans la correspondance des fenêtres pour la saisie automatique globale. Use entry URL to match windows for global Auto-Type - Utiliser l'URL de l'entrée dans la correspondance des fenêtres pour la saisie automatique globale. + Utiliser l’URL de l’entrée dans la correspondance des fenêtres pour la saisie automatique globale. Always ask before performing Auto-Type - Toujours demander avant de procéder à une Saisie-Automatique + Toujours demander avant de procéder à une saisie automatique Global Auto-Type shortcut - Raccourci de la Saisie-Automatique + Raccourci de la saisie automatique Auto-Type delay - Délais de Remplissage de la Saisie-Automatique + Délai de remplissage de la saisie automatique ms @@ -3929,11 +3932,11 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Convenience - Convenance + Commodités Lock databases when session is locked or lid is closed - Verrouiller les bases de données quand la session est verrouillée ou le capot fermé + Verrouiller les bases de données lorsque la session est verrouillée ou le capot fermé Lock databases after minimizing the window @@ -3965,7 +3968,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Re-lock previously locked database after performing Auto-Type - Verrouiller à nouveau la base de données précédemment verrouillée après avoir réalisé la saisie automatique + Verrouiller à nouveau la base de données précédemment verrouillée après avoir effectué la saisie automatique @@ -3976,7 +3979,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Key: - Clé : + Clé : Default RFC 6238 token settings @@ -3992,11 +3995,11 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Note: Change these settings only if you know what you are doing. - Attention : modifiez ces paramètres seulement si vous savez ce que vous faites. + Attention : modifiez ces paramètres seulement si vous savez ce que vous faites. Time step: - Période de temps : + Période de temps : 8 digits @@ -4008,7 +4011,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Code size: - Taille du code : + Taille du code : sec @@ -4066,7 +4069,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Import from CSV - Import depuis CSV + Import depuis un fichier CSV Recent databases @@ -4085,11 +4088,11 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui Path of the database. - Chemin d'accès de la base de données. + Chemin d’accès de la base de données. Path of the entry to remove. - Chemin de l'entrée à supprimer. + Chemin de l’entrée à supprimer. KeePassXC - cross-platform password manager @@ -4109,7 +4112,7 @@ Veuillez déverrouiller la base de données sélectionnée ou en choisir une qui read password of the database from stdin - Lire le mot de passe de la base de données sur l'entrée standard + Lire le mot de passe de la base de données sur l’entrée standard Parent window handle diff --git a/share/translations/keepassx_hu.ts b/share/translations/keepassx_hu.ts index a84903fa6..eaf3a4722 100644 --- a/share/translations/keepassx_hu.ts +++ b/share/translations/keepassx_hu.ts @@ -2579,6 +2579,33 @@ Ez egyirányú migráció. Nem lehet majd megnyitni az importált adatbázist a Érvénytelen bejegyzésmező-típus + + KeePass2 + + AES: 256-bit + AES: 256 bites + + + Twofish: 256-bit + Twofish: 256 bites + + + ChaCha20: 256-bit + ChaCha20: 256 bites + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – ajánlott) + + Main @@ -2912,7 +2939,7 @@ Ez a verzió nem felhasználóknak készült. Passphrase is required to decrypt this key - Jelszó szükséges a kulcsfájl visszafejtéséhez + Jelmondat szükséges a kulcsfájl visszafejtéséhez Key derivation failed, key file corrupted? @@ -2920,7 +2947,7 @@ Ez a verzió nem felhasználóknak készült. Decryption failed, wrong passphrase? - Visszafejtés sikertelen, rossz a jelszó? + Visszafejtés sikertelen, rossz a jelmondat? Unexpected EOF while reading public key @@ -3150,7 +3177,7 @@ Az alapértelmezett 19455 port lesz használva. Passphrase - Jelszó + Jelmondat Wordlist: @@ -3485,30 +3512,6 @@ Elérhető parancsok: missing closing quote hiányzó lezáró idézőjel - - AES: 256-bit - AES: 256 bites - - - Twofish: 256-bit - Twofish: 256 bites - - - ChaCha20: 256-bit - ChaCha20: 256 bites - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – ajánlott) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Csoport @@ -3563,11 +3566,11 @@ Elérhető parancsok: Generate a new random diceware passphrase. - Véletlenszerű új diceware jelszó előállítása. + Véletlenszerű új diceware jelmondat előállítása. Word count for the diceware passphrase. - Szavak számra a diceware jelszó számára. + Szavak számra a diceware jelmondat számára. count diff --git a/share/translations/keepassx_id.ts b/share/translations/keepassx_id.ts index 0540b5afb..882570e6c 100644 --- a/share/translations/keepassx_id.ts +++ b/share/translations/keepassx_id.ts @@ -2577,6 +2577,33 @@ Ini adalah migrasi satu arah. Anda tidak akan bisa membuka basis data yang diimp Tipe ruas entri tidak valid + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – direkomendasikan) + + Main @@ -3485,30 +3512,6 @@ Perintah yang tersedia: missing closing quote kehilangan tanda kutip tutup - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – direkomendasikan) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Grup diff --git a/share/translations/keepassx_it.ts b/share/translations/keepassx_it.ts index d9bacbf49..d4efd9632 100644 --- a/share/translations/keepassx_it.ts +++ b/share/translations/keepassx_it.ts @@ -2582,6 +2582,33 @@ Si tratta di una migrazione unidirezionale. Non sarà possibile aprire il databa Tipo di dato non valido + + KeePass2 + + AES: 256-bit + AES: 256 bit + + + Twofish: 256-bit + Twofish: 256 bit + + + ChaCha20: 256-bit + ChaCha20: 256 bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – raccomandato) + + Main @@ -3490,30 +3517,6 @@ Comandi disponibili: missing closing quote virgoletta di chiusura mancante - - AES: 256-bit - AES: 256 bit - - - Twofish: 256-bit - Twofish: 256 bit - - - ChaCha20: 256-bit - ChaCha20: 256 bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – raccomandato) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Gruppo @@ -3984,7 +3987,7 @@ Sblocca il database selezionato o scegline un altro che sia sbloccato. Steam token settings - Impostazioni del token di vapore + Impostazioni del token di Steam Use custom settings diff --git a/share/translations/keepassx_ja.ts b/share/translations/keepassx_ja.ts index 1a3c9317f..10a27b2b8 100644 --- a/share/translations/keepassx_ja.ts +++ b/share/translations/keepassx_ja.ts @@ -2583,6 +2583,33 @@ This is a one-way migration. You won't be able to open the imported databas エントリーのフィールドタイプが不正です + + KeePass2 + + AES: 256-bit + AES: 256 ビット + + + Twofish: 256-bit + Twofish: 256 ビット + + + ChaCha20: 256-bit + ChaCha20: 256 ビット + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – 推奨) + + Main @@ -2822,7 +2849,7 @@ This is a one-way migration. You won't be able to open the imported databas <p>It looks like you are using KeePassHTTP for browser integration. This feature has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> (warning %1 of 3).</p> - <p>ブラウザー統合に KeePassHTTP を使用しています。この機能は将来的に廃止され、削除されます。<br>代わりに KeePassXC-Browser を使用してください。移行に関するヘルプは <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> を参照してください (%1 / 3 回目の警告)。</p> + <p>ブラウザー統合に KeePassHTTP を使用しています。この機能は将来的に廃止され、削除されます。<br>代わりに KeePassXC-Browser を使用してください。移行に関するヘルプは <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">移行ガイド</a> を参照してください (%1 / 3 回目の警告)。</p> read-only @@ -3081,7 +3108,7 @@ This version is not meant for production use. <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> - <p>KeePassHTTP は将来的に廃止され、削除されます。<br>代わりに KeePassXC-Browser を使用してください。移行に関するヘルプは <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> を参照してください。</p> + <p>KeePassHTTP は将来的に廃止され、削除されます。<br>代わりに KeePassXC-Browser を使用してください。移行に関するヘルプは <a href="https://keepassxc.org/docs/keepassxc-browser-migration">移行ガイド</a> を参照してください。</p> Cannot bind to privileged ports @@ -3491,30 +3518,6 @@ Available commands: missing closing quote 閉じ引用符がありません - - AES: 256-bit - AES: 256 ビット - - - Twofish: 256-bit - Twofish: 256 ビット - - - ChaCha20: 256-bit - ChaCha20: 256 ビット - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – 推奨) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group グループ diff --git a/share/translations/keepassx_ko.ts b/share/translations/keepassx_ko.ts index 8dc271166..e7522e572 100644 --- a/share/translations/keepassx_ko.ts +++ b/share/translations/keepassx_ko.ts @@ -2579,6 +2579,33 @@ This is a one-way migration. You won't be able to open the imported databas 잘못된 항목 필드 크기 + + KeePass2 + + AES: 256-bit + AES: 256비트 + + + Twofish: 256-bit + Twofish: 256비트 + + + ChaCha20: 256-bit + ChaCha20: 256비트 + + + AES-KDF (KDBX 4) + AES-KDF(KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF(KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2(KDBX 4 – 추천) + + Main @@ -3487,30 +3514,6 @@ Available commands: missing closing quote 닫는 따옴표 없음 - - AES: 256-bit - AES: 256비트 - - - Twofish: 256-bit - Twofish: 256비트 - - - ChaCha20: 256-bit - ChaCha20: 256비트 - - - Argon2 (KDBX 4 – recommended) - Argon2(KDBX 4 – 추천) - - - AES-KDF (KDBX 4) - AES-KDF(KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF(KDBX 3.1) - Group 그룹 diff --git a/share/translations/keepassx_lt.ts b/share/translations/keepassx_lt.ts index 8ec502b80..431c881f9 100644 --- a/share/translations/keepassx_lt.ts +++ b/share/translations/keepassx_lt.ts @@ -2568,6 +2568,33 @@ Tai yra vienakryptis perkėlimas. Jūs negalėsite atverti importuotos duomenų + + KeePass2 + + AES: 256-bit + AES: 256 bitų + + + Twofish: 256-bit + Twofish: 256 bitų + + + ChaCha20: 256-bit + ChaCha20: 256 bitų + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – rekomenduojama) + + Main @@ -3471,30 +3498,6 @@ Prieinamos komandos: missing closing quote trūksta užveriamosios kabutės - - AES: 256-bit - AES: 256 bitų - - - Twofish: 256-bit - Twofish: 256 bitų - - - ChaCha20: 256-bit - ChaCha20: 256 bitų - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – rekomenduojama) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Grupė diff --git a/share/translations/keepassx_nb.ts b/share/translations/keepassx_nb.ts new file mode 100644 index 000000000..ed8c0c264 --- /dev/null +++ b/share/translations/keepassx_nb.ts @@ -0,0 +1,4083 @@ + + + AboutDialog + + About KeePassXC + Om KeePassXC + + + About + Om + + + Report bugs at: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a> + Meld fra om feil på: <a href="https://github.com/keepassxreboot/keepassxc/issues" style="text-decoration: underline;">https://github.com</a> + + + KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3. + KeePassXC er distribuert under vilkårene i GNU General Public License (GPL) versjon 2 eller (etter eget valg) versjon 3. + + + Contributors + Bidragsytere + + + <a href="https://github.com/keepassxreboot/keepassxc/graphs/contributors">See Contributions on GitHub</a> + <a href="https://github.com/keepassxreboot/keepassxc/graphs/contributors">Se bidrag på GitHub</a> + + + Debug Info + Feilsøkingsinformasjon + + + Include the following information whenever you report a bug: + Hvis du vil rapportere en feil, inkluder følgende informasjon: + + + Copy to clipboard + Kopier til utklippstavla + + + Version %1 + + Versjon %1 + + + + Revision: %1 + Revisjon: %1 + + + Distribution: %1 + Distribusjon: %1 + + + Libraries: + Biblioteker: + + + Operating system: %1 +CPU architecture: %2 +Kernel: %3 %4 + Operativsystem: %1 +CPU-arkitektur: %2 +Kjerne: %3 %4 + + + Enabled extensions: + Aktive utvidelser: + + + Project Maintainers: + Prosjektets vedlikeholdere: + + + Special thanks from the KeePassXC team go to debfx for creating the original KeePassX. + En spesiell takk fra KeePassXC-laget går til debfx, utvikler av programmet KeePassX. + + + Build Type: %1 + + + + + + AccessControlDialog + + KeePassXC HTTP Confirm Access + KeePassXC HTTP: Bekreft tilgang + + + Remember this decision + Husk dette valget + + + Allow + Tillat + + + Deny + Avvis + + + %1 has requested access to passwords for the following item(s). +Please select whether you want to allow access. + %1 spør om passordtilgang for følgende elementer. +Velg om du vil gi tilgang eller ikke. + + + + AgentSettingsWidget + + Enable SSH Agent (requires restart) + Slå på SSH-agenten (krever programomstart) + + + + AutoType + + Couldn't find an entry that matches the window title: + Finner ingen oppføring som samsvarer med vindustittelen: + + + Auto-Type - KeePassXC + Autoskriv - KeePassXC + + + Auto-Type + Autoskriv + + + The Syntax of your Auto-Type statement is incorrect! + Syntaksen til Autoskrivuttrykket er galt. + + + This Auto-Type command contains a very long delay. Do you really want to proceed? + Denne Autoskrivkommandoen inneholder en lang forsinkelse. Vil du fortsette? + + + This Auto-Type command contains very slow key presses. Do you really want to proceed? + + + + This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed? + + + + + AutoTypeAssociationsModel + + Window + Vindu + + + Sequence + Rekkefølge + + + Default sequence + Standard rekkefølge + + + + AutoTypeMatchModel + + Group + Gruppe + + + Title + Tittel + + + Username + Brukernavn + + + Sequence + Rekkefølge + + + + AutoTypeSelectDialog + + Auto-Type - KeePassXC + Autoskriv - KeePassXC + + + Select entry to Auto-Type: + + + + + BrowserAccessControlDialog + + KeePassXC-Browser Confirm Access + + + + Remember this decision + Husk dette valget + + + Allow + Tillat + + + Deny + Avvis + + + %1 has requested access to passwords for the following item(s). +Please select whether you want to allow access. + %1 spør om passordtilgang for følgende elementer. +Velg om du vil gi tilgang eller ikke. + + + + BrowserOptionDialog + + Dialog + Vindu + + + This is required for accessing your databases with KeePassXC-Browser + + + + Enable KeepassXC browser integration + Slå på integrasjon for nettlesere + + + General + Generell + + + Enable integration for these browsers: + Slå på integrasjon for disse nettleserne: + + + &Google Chrome + &Google Chrome + + + &Firefox + &Firefox + + + &Chromium + &Chromium + + + &Vivaldi + &Vivaldi + + + Show a &notification when credentials are requested + Credentials mean login data requested via browser extension + Vis et &varsel når legitimasjon blir forespurt + + + Re&quest to unlock the database if it is locked + Spør om å låse opp dersom databasen er låst + + + Only entries with the same scheme (http://, https://, ...) are returned. + + + + &Match URL scheme (e.g., https://...) + + + + Only returns the best matches for a specific URL instead of all entries for the whole domain. + + + + &Return only best-matching credentials + + + + Sort &matching credentials by title + Credentials mean login data requested via browser extension + Sorter samsvarende berettigelsesbevis etter &tittel + + + Sort matching credentials by &username + Credentials mean login data requested via browser extension + Sorter samsvarende berettigelsesbevis etter &brukernavn + + + &Disconnect all browsers + Kople &fra alle nettleserne + + + Forget all remembered &permissions + Glem alle lagrede &tillatelser + + + Advanced + Avansert + + + Never &ask before accessing credentials + Credentials mean login data requested via browser extension + Spør &aldri før tilgang til berettigelsesbevis gis + + + Never ask before &updating credentials + Credentials mean login data requested via browser extension + Spør aldri før berettigelsesbevis &oppdateres + + + Only the selected database has to be connected with a client. + Kun den valgte databasen behøver å kobles til en klient. + + + Searc&h in all opened databases for matching credentials + Credentials mean login data requested via browser extension + &Søk i de åpnede databasene etter samsvarende berettigelsesbevis + + + Automatically creating or updating string fields is not supported. + + + + &Return advanced string fields which start with "KPH: " + + + + Updates KeePassXC or keepassxc-proxy binary path automatically to native messaging scripts on startup. + + + + Update &native messaging manifest files at startup + + + + Support a proxy application between KeePassXC and browser extension. + + + + Use a &proxy application between KeePassXC and browser extension + Bruk en &mellomtjener til å forbinde KeePassXC og nettlesertillegget + + + Use a custom proxy location if you installed a proxy manually. + Oppgi en selvvalgt mellomtjener dersom du installerte mellomtjeneren manuelt. + + + Use a &custom proxy location + Meant is the proxy for KeePassXC-Browser + Oppgi en &selvvalgt mellomtjerneradresse + + + Browse... + Button for opening file dialog + Bla gjennom... + + + <b>Warning:</b> The following options can be dangerous! + <b>Advarsel:</b> Disse innstillingene kan medføre risiko. + + + Executable Files (*.exe);;All Files (*.*) + Programfiler (*.exe);;Alle filer (*.*) + + + Executable Files (*) + Kørbare filer (*) + + + Select custom proxy location + Oppgi en selvvalgt mellomtjerneradresse + + + We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. + KeePassXC sin nettleserintegrasjon er ikke tilgjengelig for «Snap»-utgaver enda. + + + + BrowserService + + KeePassXC: New key association request + + + + You have received an association request for the above key. + +If you would like to allow it access to your KeePassXC database, +give it a unique name to identify and accept it. + + + + Save and allow access + Lagre og tillat aksess + + + KeePassXC: Overwrite existing key? + + + + A shared encryption key with the name "%1" already exists. +Do you want to overwrite it? + + + + KeePassXC: Update Entry + + + + Do you want to update the information in %1 - %2? + + + + KeePassXC: Database locked! + KeePassXC: Database låst! + + + The active database is locked! +Please unlock the selected database or choose another one which is unlocked. + + + + KeePassXC: Settings not available! + KeePassXC: Innstillinger ikke tilgjengelig! + + + The active database does not contain a settings entry. + + + + KeePassXC: No keys found + KeePassXC: Ingen nøkler funnet + + + No shared encryption keys found in KeePassXC Settings. + + + + KeePassXC: Removed keys from database + KeePassXC: Fjernet nøkler fra database + + + Successfully removed %n encryption key(s) from KeePassXC settings. + + + + Removing stored permissions… + + + + Abort + Avbryt + + + KeePassXC: Removed permissions + + + + Successfully removed permissions from %n entry(s). + + + + KeePassXC: No entry with permissions found! + + + + The active database does not contain an entry with permissions. + + + + + ChangeMasterKeyWidget + + Password + Passord + + + Enter password: + Angi passord: + + + Repeat password: + Gjenta passord: + + + &Key file + + + + Browse + Bla + + + Create + Opprett + + + Cha&llenge Response + + + + Refresh + Last på ny + + + Key files + Nøkkelfiler + + + All files + Alle filer + + + Create Key File... + Opprett nøkkelfil ... + + + Unable to create Key File : + Kan ikke opprette nøkkelfil : + + + Select a key file + Velg en nøkkelfil + + + Empty password + Tomt passord + + + Do you really want to use an empty string as password? + + + + Different passwords supplied. + Forskjellige passord oppgitt. + + + Failed to set %1 as the Key file: +%2 + + + + Legacy key file format + Eldre nøkkelfilformat + + + You are using a legacy key file format which may become +unsupported in the future. + +Please consider generating a new key file. + Nøkkelfilen du bruker er av et eldre filformat som kan miste støtten i framtidige programversjoner. + +Vurder å opprette en ny nøkkelfil. + + + Changing master key failed: no YubiKey inserted. + Klonevalg + + + + CloneDialog + + Clone Options + Klonevalg + + + Append ' - Clone' to title + + + + Replace username and password with references + + + + Copy history + Kopier historie + + + + CsvImportWidget + + Import CSV fields + Importer CSV-felter + + + filename + filnavn + + + size, rows, columns + størrelse, rader, kolonner + + + Encoding + + + + Codec + Kodek + + + Text is qualified by + Tekst er kvalifisert av + + + Fields are separated by + Felt er separert av + + + Comments start with + Kommentarer starter med + + + First record has field names + + + + Number of headers line to discard + + + + Consider '\' an escape character + + + + Preview + Forhåndsvis + + + Column layout + + + + Not present in CSV file + + + + Empty fieldname + Tomt filnavn + + + column + kolonne + + + Imported from CSV file + Importert fra CSV-fil + + + Original data: + Originale data: + + + Error(s) detected in CSV file ! + Feil oppdaget i CSV filen ! + + + more messages skipped] + hoppet over flere meldinger] + + + Error + Feil + + + CSV import: writer has errors: + + CSV import: skriver har feil: + + + + CsvImportWizard + + Error + Feil + + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + + CsvParserModel + + %n byte(s), + + + + %n row(s), + + + + %n column(s) + + + + + DatabaseOpenWidget + + Enter master key + Angi hovednøkkel + + + Key File: + Nøkkelfil: + + + Password: + Passord: + + + Browse + Bla gjennom + + + Refresh + Last på ny + + + Challenge Response: + + + + Unable to open the database. + Klarte ikke åpne databasen. + + + Can't open key file + Klarte ikke åpne nøkkelfilen. + + + Legacy key file format + Eldre nøkkelfilformat + + + You are using a legacy key file format which may become +unsupported in the future. + +Please consider generating a new key file. + Nøkkelfilen du bruker er av et eldre filformat som kan miste støtten i framtidige programversjoner. + +Vurder å opprette en ny nøkkelfil. + + + Don't show this warning again + Ikke vis denne advarselen igjen + + + All files + Alle filer + + + Key files + Nøkkelfiler + + + Select key file + Velg nøkkelfil + + + + DatabaseRepairWidget + + Repair database + Reparer database + + + Error + Feil + + + Can't open key file + Klarte ikke åpne nøkkelfilen. + + + Unable to open the database. + Klarte ikke åpne databasen. + + + Database opened fine. Nothing to do. + Databasen ble åpnet uten feil. Ikke mer å gjøre. + + + Success + Vellykket + + + The database has been successfully repaired +You can now save it. + Databasen er reparert. +Du kan nå lagre den. + + + Unable to repair the database. + Klarte ikke reparere databasen. + + + + DatabaseSettingsWidget + + General + Generelt + + + Encryption + Kryptering + + + Number of rounds too high + Key transformation rounds + + + + You are using a very high number of key transform rounds with Argon2. + +If you keep this number, your database may take hours or days (or even longer) to open! + + + + Understood, keep number + + + + Cancel + Avbryt + + + Number of rounds too low + Key transformation rounds + + + + You are using a very low number of key transform rounds with AES-KDF. + +If you keep this number, your database may be too easy to crack! + + + + KDF unchanged + + + + Failed to transform key with new KDF parameters; KDF unchanged. + + + + MiB + Abbreviation for Mebibytes (KDF settings) + + + + thread(s) + Threads for parallel execution (KDF settings) + + + + + DatabaseSettingsWidgetEncryption + + Encryption Algorithm: + Krypteringsalgoritme + + + AES: 256 Bit (default) + AES: 256 Bit (standard) + + + Twofish: 256 Bit + Twofish: 256 Bit + + + Key Derivation Function: + + + + Transform rounds: + + + + Benchmark 1-second delay + + + + Memory Usage: + Minnebruk: + + + Parallelism: + + + + + DatabaseSettingsWidgetGeneral + + Database Meta Data + + + + Database name: + Databasenavn: + + + Database description: + Databasens beskrivelse: + + + Default username: + Standard brukernavn: + + + History Settings + + + + Max. history items: + + + + Max. history size: + + + + MiB + + + + Use recycle bin + + + + Additional Database Settings + + + + Enable &compression (recommended) + + + + + DatabaseTabWidget + + Root + Root group + Rot + + + KeePass 2 Database + KeePass 2 Database + + + All files + Alle filer + + + Open database + Åpne database + + + File not found! + Finner ikke filen! + + + Unable to open the database. + Kunne ikke åpne databasen. + + + File opened in read only mode. + Fil åpnet i skrivebeskyttet modus. + + + Open CSV file + Åpne CSV fil + + + CSV file + CSV fil + + + All files (*) + Alle filer (*) + + + Merge database + Slå sammen database + + + Open KeePass 1 database + Åpne KeePass 1 database + + + KeePass 1 database + KeePass 1 database + + + Close? + Lukk? + + + "%1" is in edit mode. +Discard changes and close anyway? + "%1" blir redigert. +Vil du likevel avvise endringene? + + + Save changes? + Lagre endringer? + + + "%1" was modified. +Save changes? + + + + Writing the database failed. + + + + Passwords + Passord + + + Save database as + Lagre database som + + + Export database to CSV file + Eksporter database til CSV fil + + + Writing the CSV file failed. + Skriving av CSV fil feilet. + + + New database + Ny database + + + locked + låst + + + Lock database + Lås database + + + Can't lock the database as you are currently editing it. +Please press cancel to finish your changes or discard them. + + + + This database has been modified. +Do you want to save the database before locking it? +Otherwise your changes are lost. + + + + Disable safe saves? + + + + KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file. +Disable safe saves and try again? + + + + + DatabaseWidget + + Searching... + Søker... + + + Change master key + Endre hovednøkkel + + + Delete entry? + Slette oppføring? + + + Do you really want to delete the entry "%1" for good? + Vil du virkelig slette oppføringen "%1" for godt? + + + Delete entries? + Slett oppføringer? + + + Do you really want to delete %1 entries for good? + + + + Move entry to recycle bin? + Flytte oppføring til søppelkurven? + + + Do you really want to move entry "%1" to the recycle bin? + + + + Move entries to recycle bin? + Flytt oppføringer til søppelkurven? + + + Do you really want to move %n entry(s) to the recycle bin? + + + + Execute command? + Utfør kommando? + + + Do you really want to execute the following command?<br><br>%1<br> + + + + Remember my choice + Husk mitt valg + + + Delete group? + Slett gruppe + + + Do you really want to delete the group "%1" for good? + + + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + No current database. + + + + No source database, nothing to do. + + + + Search Results (%1) + Søkeresultater (%1) + + + No Results + Ingen resultater + + + File has changed + + + + The database file has changed. Do you want to load the changes? + + + + Merge Request + + + + The database file has changed and you have unsaved changes. +Do you want to merge your changes? + Databasefila er endra og du har ulagra endringer. +Vil du slå sammen fila med endringene dine? + + + Could not open the new database file while attempting to autoreload this database. + + + + Empty recycle bin? + + + + Are you sure you want to permanently delete everything from your recycle bin? + + + + + DetailsWidget + + Generate TOTP Token + + + + Close + Lukk + + + General + Generell + + + Password + Passord + + + URL + Adresse + + + Expiration + + + + Username + Brukernavn + + + Autotype + + + + Searching + Søking + + + Attributes + Attributter + + + Attachments + Vedlegg + + + Notes + Notater + + + Window + Vindu + + + Sequence + Rekkefølge + + + Search + Søk + + + Clear + + + + Never + Aldri + + + [PROTECTED] + + + + Disabled + + + + Enabled + + + + + EditEntryWidget + + Entry + Oppføring + + + Advanced + Avansert + + + Icon + Ikon + + + Auto-Type + Autoskriv + + + Properties + Egenskaper + + + History + Historikk + + + SSH Agent + + + + n/a + + + + (encrypted) + (kryptert) + + + Select private key + Velg privat nøkkel + + + File too large to be a private key + + + + Failed to open private key + + + + Entry history + + + + Add entry + + + + Edit entry + Rediger oppføring + + + Different passwords supplied. + Forskjellige passord oppgitt. + + + New attribute + Ny attributt + + + Confirm Remove + + + + Are you sure you want to remove this attribute? + + + + [PROTECTED] + + + + Press reveal to view or edit + + + + Tomorrow + I morgen + + + %n week(s) + + + + %n month(s) + + + + 1 year + 1 år + + + Apply generated password? + Bruk generert passord? + + + Do you want to apply the generated password to this entry? + Vil du bruke det genererte passordet for denne oppføringen? + + + Entry updated successfully. + Oppføring oppdatert. + + + + EditEntryWidgetAdvanced + + Additional attributes + Ekstra attributter + + + Add + + + + Remove + + + + Edit Name + + + + Protect + + + + Reveal + + + + Attachments + Vedlegg + + + Foreground Color: + Forgrunnsfarge: + + + Background Color: + Bakgrunnsfarge: + + + + EditEntryWidgetAutoType + + Enable Auto-Type for this entry + Slå på Autoskriv for denne oppføringa + + + Inherit default Auto-Type sequence from the &group + + + + &Use custom Auto-Type sequence: + + + + Window Associations + Vindustilknytninger + + + + + + + + - + + + + Window title: + Vindustittel: + + + Use a specific sequence for this association: + Bruk en spesiell sekvens for denne tilknytningen: + + + + EditEntryWidgetHistory + + Show + + + + Restore + + + + Delete + + + + Delete all + + + + + EditEntryWidgetMain + + URL: + Adresse: + + + Password: + Passord: + + + Repeat: + Gjenta: + + + Title: + Tittel: + + + Notes + Notater + + + Presets + + + + Toggle the checkbox to reveal the notes section. + + + + Username: + Brukernavn: + + + Expires + Utløper + + + + EditEntryWidgetSSHAgent + + Form + + + + Remove key from agent after + + + + seconds + sekunder + + + Fingerprint + + + + Remove key from agent when database is closed/locked + + + + Public key + + + + Add key to agent when database is opened/unlocked + + + + Comment + Kommentar + + + Decrypt + Dekrypter + + + n/a + + + + Copy to clipboard + Kopier til utklippstavla + + + Private key + Privat nøkkel + + + External file + Ekstern fil + + + Browse... + Button for opening file dialog + Bla gjennom... + + + Attachment + Vedlegg + + + Add to agent + + + + Remove from agent + + + + Require user confirmation when this key is used + + + + + EditGroupWidget + + Group + Gruppe + + + Icon + Ikon + + + Properties + Egenskaper + + + Add group + Lag ny gruppe + + + Edit group + + + + Enable + + + + Disable + + + + Inherit from parent group (%1) + + + + + EditGroupWidgetMain + + Name + Navn + + + Notes + Notater + + + Expires + Utløper + + + Search + Søk + + + Auto-Type + Autoskriv + + + &Use default Auto-Type sequence of parent group + + + + Set default Auto-Type se&quence + + + + + EditWidgetIcons + + &Use default icon + &Bruk et standardikon + + + Use custo&m icon + Bruk et &selvvalgt ikon + + + Add custom icon + Legg til selvvalgt ikon + + + Delete custom icon + Fjern selvvalgt ikon + + + Download favicon + Last ned ikoner + + + Unable to fetch favicon. + + + + Hint: You can enable Google as a fallback under Tools>Settings>Security + + + + Images + + + + All files + Alle filer + + + Select Image + + + + Can't read icon + + + + Custom icon already exists + + + + Confirm Delete + + + + This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it? + + + + + EditWidgetProperties + + Created: + Opprettet: + + + Modified: + Endret: + + + Accessed: + Åpnet: + + + Uuid: + + + + Plugin Data + Data for programtillegg + + + Remove + + + + Delete plugin data? + + + + Do you really want to delete the selected plugin data? +This may cause the affected plugins to malfunction. + + + + Key + Nøkkel + + + Value + Verdi + + + + Entry + + - Clone + Suffix added to cloned entries + + + + + EntryAttachmentsModel + + Name + Navn + + + Size + + + + + EntryAttachmentsWidget + + Form + + + + Add + + + + Remove + + + + Open + + + + Save + + + + Select files + + + + Are you sure you want to remove %n attachment(s)? + + + + Confirm Remove + + + + Save attachments + + + + Unable to create directory: +%1 + + + + Are you sure you want to overwrite the existing file "%1" with the attachment? + + + + Confirm overwrite + + + + Unable to save attachments: +%1 + + + + Unable to open attachment: +%1 + + + + Unable to open attachments: +%1 + + + + Unable to open files: +%1 + + + + + EntryAttributesModel + + Name + Navn + + + + EntryHistoryModel + + Last modified + Sist endret + + + Title + Tittel + + + Username + Brukernavn + + + URL + Adresse + + + + EntryModel + + Ref: + Reference abbreviation + + + + Group + Gruppe + + + Title + Tittel + + + Username + Brukernavn + + + URL + Adresse + + + Never + Aldri + + + Password + Passord + + + Notes + Notater + + + Expires + Utløper + + + Created + + + + Modified + + + + Accessed + + + + Attachments + Vedlegg + + + + EntryView + + Customize View + + + + Hide Usernames + + + + Hide Passwords + + + + Fit to window + + + + Fit to contents + + + + Reset to defaults + + + + Attachments (icon) + + + + + Group + + Recycle Bin + Papirkurv + + + + HostInstaller + + KeePassXC: Cannot save file! + + + + Cannot save the native messaging script file. + + + + + HttpPasswordGeneratorWidget + + Length: + + + + Character Types + Tegntyper + + + Upper Case Letters + + + + A-Z + + + + Lower Case Letters + + + + a-z + + + + Numbers + + + + 0-9 + + + + Special Characters + + + + /*_& ... + + + + Exclude look-alike characters + Ekskluder tegn som er nesten makne + + + Ensure that the password contains characters from every group + + + + Extended ASCII + Utvida ASCII + + + + KMessageWidget + + &Close + + + + Close message + + + + + Kdbx3Reader + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + Unable to issue challenge-response. + + + + Wrong key or database file is corrupt. + + + + + Kdbx3Writer + + Unable to issue challenge-response. + + + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + + Kdbx4Reader + + missing database headers + + + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + Invalid header checksum size + + + + Header SHA256 mismatch + + + + Wrong key or database file is corrupt. (HMAC mismatch) + + + + Unknown cipher + + + + Invalid header id size + + + + Invalid header field length + + + + Invalid header data length + + + + Failed to open buffer for KDF parameters in header + + + + Unsupported key derivation function (KDF) or invalid parameters + + + + Legacy header fields found in KDBX4 file. + + + + Invalid inner header id size + + + + Invalid inner header field length + + + + Invalid inner header binary size + + + + Unsupported KeePass variant map version. + Translation: variant map = data structure for storing meta data + + + + Invalid variant map entry name length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map entry name data + Translation: variant map = data structure for storing meta data + + + + Invalid variant map entry value length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map entry value data + Translation comment: variant map = data structure for storing meta data + + + + Invalid variant map Bool entry value length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map Int32 entry value length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map UInt32 entry value length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map Int64 entry value length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map UInt64 entry value length + Translation: variant map = data structure for storing meta data + + + + Invalid variant map entry type + Translation: variant map = data structure for storing meta data + + + + Invalid variant map field type size + Translation: variant map = data structure for storing meta data + + + + + Kdbx4Writer + + Invalid symmetric cipher algorithm. + + + + Invalid symmetric cipher IV size. + IV = Initialization Vector for symmetric cipher + + + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + Failed to serialize KDF parameters variant map + Translation comment: variant map = data structure for storing meta data + + + + + KdbxReader + + Invalid cipher uuid length + + + + Unsupported cipher + + + + Invalid compression flags length + + + + Unsupported compression algorithm + + + + Invalid master seed size + + + + Invalid transform seed size + + + + Invalid transform rounds size + + + + Invalid start bytes size + + + + Invalid random stream id size + + + + Invalid inner random stream cipher + + + + Not a KeePass database. + + + + The selected file is an old KeePass 1 database (.kdb). + +You can import it by clicking on Database > 'Import KeePass 1 database...'. +This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. + Den valgte fila er en gammel KeePass 1-database (.kdb). + +Du kan importere den ved å velge «Database → Importer KeePass 1-database...» +Dette er en en-veis-migrasjon. Du kan ikke åpne den importerte databasen med den gamle versjonen KeePassX 0.4. + + + Unsupported KeePass 2 database version. + + + + + KdbxXmlReader + + XML parsing failure: %1 + + + + No root group + + + + Missing icon uuid or data + + + + Missing custom data key or value + + + + Multiple group elements + + + + Null group uuid + + + + Invalid group icon number + + + + Invalid EnableAutoType value + + + + Invalid EnableSearching value + + + + No group uuid found + + + + Null DeleteObject uuid + + + + Missing DeletedObject uuid or time + + + + Null entry uuid + + + + Invalid entry icon number + + + + History element in history entry + + + + No entry uuid found + + + + History element with different uuid + + + + Unable to decrypt entry string + + + + Duplicate custom attribute found + + + + Entry string key or value missing + + + + Duplicate attachment found + + + + Entry binary key or value missing + + + + Auto-type association window or sequence missing + + + + Invalid bool value + + + + Invalid date time value + + + + Invalid color value + + + + Invalid color rgb part + + + + Invalid number value + + + + Invalid uuid value + + + + Unable to decompress binary + Translator meant is a binary data inside an entry + + + + + KeePass1OpenWidget + + Import KeePass1 database + Importer KeePass 1-database + + + Unable to open the database. + Kunne ikke åpne databasen. + + + + KeePass1Reader + + Unable to read keyfile. + + + + Not a KeePass database. + + + + Unsupported encryption algorithm. + + + + Unsupported KeePass database version. + + + + Unable to read encryption IV + IV = Initialization Vector for symmetric cipher + + + + Invalid number of groups + + + + Invalid number of entries + + + + Invalid content hash size + + + + Invalid transform seed size + + + + Invalid number of transform rounds + + + + Unable to construct group tree + + + + Root + Rot + + + Unable to calculate master key + Kan ikke kalkulere hovednøkkel + + + Wrong key or database file is corrupt. + + + + Key transformation failed + + + + Invalid group field type number + + + + Invalid group field size + + + + Read group field data doesn't match size + + + + Incorrect group id field size + + + + Incorrect group creation time field size + + + + Incorrect group modification time field size + + + + Incorrect group access time field size + + + + Incorrect group expiry time field size + + + + Incorrect group icon field size + + + + Incorrect group level field size + + + + Invalid group field type + + + + Missing group id or level + + + + Missing entry field type number + + + + Invalid entry field size + + + + Read entry field data doesn't match size + + + + Invalid entry uuid field size + + + + Invalid entry group id field size + + + + Invalid entry icon field size + + + + Invalid entry creation time field size + + + + Invalid entry modification time field size + + + + Invalid entry expiry time field size + + + + Invalid entry field type + + + + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + + + Main + + Existing single-instance lock file is invalid. Launching new instance. + + + + The lock file could not be created. Single-instance mode disabled. + + + + Another instance of KeePassXC is already running. + + + + Fatal error while testing the cryptographic functions. + + + + KeePassXC - Error + + + + + MainWindow + + &Database + &Database + + + &Recent databases + N&ylige databaser + + + Import + Importer + + + &Help + &Hjelp + + + E&ntries + &Oppføringer + + + Copy att&ribute to clipboard + Kopier attributt til &utklippstavla + + + Time-based one-time password + &Tidsbasert engangspassord + + + &Groups + &Grupper + + + &Tools + &Verktøy + + + &Quit + &Avslutt + + + &About + + + + &Open database... + &Åpne database + + + &Save database + &Lagre database + + + &Close database + &Lukk database + + + &New database + &Ny database + + + Merge from KeePassX database + Slå sammen med en KeePassX-database + + + &Add new entry + &Lag ny oppføring + + + &View/Edit entry + &Vis/Rediger oppføring + + + &Delete entry + &Slett oppføring + + + &Add new group + &Lag ny gruppe + + + &Edit group + &Rediger gruppe + + + &Delete group + &Slett gruppe + + + Sa&ve database as... + La&gre database som... + + + Change &master key... + Endre &hovednøkkel + + + &Database settings + &Databaseoppsett + + + Database settings + + + + &Clone entry + &Klon oppføring + + + &Find + + + + Copy &username + Kopier &brukernavn + + + Copy username to clipboard + + + + Cop&y password + Kopier &passord + + + Copy password to clipboard + + + + &Settings + &Oppsett + + + Password Generator + Passordgenerator + + + &Perform Auto-Type + Kjør &Autoskriv + + + &Open URL + Åpne &nettadresse + + + &Lock databases + &Lås databaser + + + &Title + + + + Copy title to clipboard + + + + &URL + + + + Copy URL to clipboard + + + + &Notes + + + + Copy notes to clipboard + + + + &Export to CSV file... + &Eksporter som CSV-fil... + + + Import KeePass 1 database... + Importer KeePass 1-database... + + + Import CSV file... + Importer CSV-fil... + + + Re&pair database... + &Reparer database + + + Show TOTP + + + + Set up TOTP... + + + + Copy &TOTP + Kopier &TOTP + + + E&mpty recycle bin + &Tøm papirkurv + + + Clear history + + + + Access error for config file %1 + Feil ved tilgang for filen %1 + + + <p>It looks like you are using KeePassHTTP for browser integration. This feature has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> (warning %1 of 3).</p> + + + + read-only + + + + Settings + + + + Toggle window + Vis vinduet + + + Quit KeePassXC + Avslutt KeePassXC + + + KeePass 2 Database + KeePass 2 Database + + + All files + Alle filer + + + Open database + Åpne database + + + Save repaired database + + + + Writing the database failed. + + + + Please touch the button on your YubiKey! + + + + WARNING: You are using an unstable build of KeePassXC! +There is a high risk of corruption, maintain a backup of your databases. +This version is not meant for production use. + + + + + OpenSSHKey + + Invalid key file, expecting an OpenSSH key + + + + PEM boundary mismatch + + + + Base64 decoding failed + + + + Key file way too small. + + + + Key file magic header id invalid + + + + Found zero keys + + + + Failed to read public key. + + + + Corrupted key file, reading private key failed + + + + No private key payload to decrypt + + + + Trying to run KDF without cipher + + + + Passphrase is required to decrypt this key + + + + Key derivation failed, key file corrupted? + + + + Decryption failed, wrong passphrase? + + + + Unexpected EOF while reading public key + + + + Unexpected EOF while reading private key + + + + Can't write public key as it is empty + + + + Unexpected EOF when writing public key + + + + Can't write private key as it is empty + + + + Unexpected EOF when writing private key + + + + Unsupported key type: %1 + + + + Unknown cipher: %1 + + + + Cipher IV is too short for MD5 kdf + + + + Unknown KDF: %1 + + + + Unknown key type: %1 + + + + + OptionDialog + + Dialog + Vindu + + + This is required for accessing your databases from ChromeIPass or PassIFox + + + + Enable KeePassHTTP server + + + + General + Generell + + + Sh&ow a notification when credentials are requested + Credentials mean login data requested via browser extension + + + + Only returns the best matches for a specific URL instead of all entries for the whole domain. + + + + &Return only best matching entries + + + + Re&quest to unlock the database if it is locked + Spør om å låse opp dersom databasen er låst + + + Only entries with the same scheme (http://, https://, ftp://, ...) are returned. + + + + &Match URL schemes + + + + Sort matching entries by &username + + + + Sort &matching entries by title + + + + R&emove all shared encryption keys from active database + + + + Re&move all stored permissions from entries in active database + + + + Password Generator + Passordgenerator + + + Advanced + Avansert + + + Always allow &access to entries + + + + Always allow &updating entries + + + + Only the selected database has to be connected with a client. + Kun den valgte databasen behøver å kobles til en klient. + + + Searc&h in all opened databases for matching entries + + + + Automatically creating or updating string fields is not supported. + + + + &Return advanced string fields which start with "KPH: " + + + + HTTP Port: + + + + Default port: 19455 + + + + KeePassXC will listen to this port on 127.0.0.1 + + + + <b>Warning:</b> The following options can be dangerous! + <b>Advarsel:</b> Disse innstillingene kan medføre risiko. + + + <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> + + + + Cannot bind to privileged ports + + + + Cannot bind to privileged ports below 1024! +Using default port 19455. + + + + + PasswordGeneratorWidget + + %p% + + + + Password: + Passord: + + + strength + Password strength + + + + entropy + + + + Password + Passord + + + Character Types + Tegntyper + + + Upper Case Letters + + + + Lower Case Letters + + + + Numbers + + + + Special Characters + + + + Extended ASCII + Utvida ASCII + + + Exclude look-alike characters + Ekskluder tegn som er nesten makne + + + Pick characters from every group + Bruk tegn fra hver gruppe + + + &Length: + &Lengde + + + Passphrase + Adgangsfrase + + + Wordlist: + + + + Word Count: + Antall ord: + + + Word Separator: + Skilleord: + + + Generate + Generer + + + Copy + Kopier + + + Accept + + + + Close + Lukk + + + Apply + Bruk + + + Entropy: %1 bit + Entropi: %1 bit + + + Password Quality: %1 + Passordkvalitet: %1 + + + Poor + Password quality + + + + Weak + Password quality + + + + Good + Password quality + + + + Excellent + Password quality + + + + + QObject + + Database not opened + + + + Database hash not available + + + + Client public key not received + + + + Cannot decrypt message + + + + Timeout or cannot connect to KeePassXC + + + + Action cancelled or denied + + + + Cannot encrypt message or public key not found. Is Native Messaging enabled in KeePassXC? + + + + KeePassXC association failed, try again + + + + Key change was not successful + + + + Encryption key is not recognized + + + + No saved databases found + + + + Incorrect action + + + + Empty message received + + + + No URL provided + + + + No logins found + + + + Unknown error + + + + Add a new entry to a database. + + + + Path of the database. + + + + Key file of the database. + + + + path + + + + Username for the entry. + + + + username + + + + URL for the entry. + + + + URL + URL + + + Prompt for the entry's password. + + + + Generate a password for the entry. + + + + Length for the generated password. + + + + length + + + + Path of the entry to add. + + + + Copy an entry's password to the clipboard. + + + + Path of the entry to clip. + clip = copy to clipboard + + + + Timeout in seconds before clearing the clipboard. + + + + Edit an entry. + + + + Title for the entry. + + + + title + + + + Path of the entry to edit. + + + + Estimate the entropy of a password. + + + + Password for which to estimate the entropy. + + + + Perform advanced analysis on the password. + + + + Extract and print the content of a database. + + + + Path of the database to extract. + + + + Insert password to unlock %1: + + + + Failed to load key file %1 : %2 + + + + WARNING: You are using a legacy key file format which may become +unsupported in the future. + +Please consider generating a new key file. + + + + + +Available commands: + + + + + Name of the command to execute. + + + + List database entries. + + + + Path of the group to list. Default is / + + + + Find entries quickly. + + + + Search term. + + + + Merge two databases. + + + + Path of the database to merge into. + + + + Path of the database to merge from. + + + + Use the same credentials for both database files. + + + + Key file of the database to merge from. + + + + Show an entry's information. + + + + Names of the attributes to show. This option can be specified more than once, with each attribute shown one-per-line in the given order. If no attributes are specified, a summary of the default attributes is given. + + + + attribute + + + + Name of the entry to show. + + + + NULL device + + + + error reading from device + + + + file empty ! + + + + + malformed string + + + + missing closing quote + + + + Group + Gruppe + + + Title + Tittel + + + Username + Brukernavn + + + Password + Passord + + + Notes + Notater + + + Last Modified + + + + Created + + + + Legacy Browser Integration + Eldre nettlesertillegg + + + Browser Integration + Nettlesertillegg + + + YubiKey[%1] Challenge Response - Slot %2 - %3 + + + + Press + + + + Passive + + + + SSH Agent + + + + Generate a new random diceware passphrase. + + + + Word count for the diceware passphrase. + + + + count + + + + Wordlist for the diceware generator. +[Default: EFF English] + + + + Generate a new random password. + + + + Length of the generated password. + + + + Use lowercase characters in the generated password. + + + + Use uppercase characters in the generated password. + + + + Use numbers in the generated password. + + + + Use special characters in the generated password. + + + + Use extended ASCII in the generated password. + Bruk utvida ASCII i det genererte passordet. + + + + QtIOCompressor + + Internal zlib error when compressing: + + + + Error writing to underlying device: + + + + Error opening underlying device: + + + + Error reading data from underlying device: + + + + Internal zlib error when decompressing: + + + + + QtIOCompressor::open + + The gzip format not supported in this version of zlib. + + + + Internal zlib error: + + + + + SearchWidget + + Search... + + + + Search + Søk + + + Clear + + + + Case Sensitive + + + + Limit search to selected group + + + + + Service + + KeePassXC: New key association request + + + + You have received an association request for the above key. +If you would like to allow it access to your KeePassXC database +give it a unique name to identify and accept it. + + + + KeePassXC: Overwrite existing key? + + + + A shared encryption-key with the name "%1" already exists. +Do you want to overwrite it? + + + + KeePassXC: Update Entry + + + + Do you want to update the information in %1 - %2? + + + + KeePassXC: Database locked! + KeePassXC: Database låst! + + + The active database is locked! +Please unlock the selected database or choose another one which is unlocked. + + + + KeePassXC: Removed keys from database + KeePassXC: Fjernet nøkler fra database + + + Successfully removed %n encryption-key(s) from KeePassX/Http Settings. + + + + KeePassXC: No keys found + KeePassXC: Ingen nøkler funnet + + + No shared encryption-keys found in KeePassHttp Settings. + + + + KeePassXC: Settings not available! + KeePassXC: Innstillinger ikke tilgjengelig! + + + The active database does not contain an entry of KeePassHttp Settings. + + + + Removing stored permissions... + + + + Abort + Avbryt + + + KeePassXC: Removed permissions + + + + Successfully removed permissions from %n entries. + + + + KeePassXC: No entry with permissions found! + + + + The active database does not contain an entry with permissions. + + + + + SettingsWidget + + Application Settings + + + + General + Generelt + + + Security + Sikkerhet + + + Access error for config file %1 + Feil ved tilgang for filen %1 + + + + SettingsWidgetGeneral + + Basic Settings + Grunnleggende + + + Start only a single instance of KeePassXC + Kjør kun én instans av KeePassXC om gangen + + + Remember last databases + Husk de sist brukte databasene + + + Remember last key files and security dongles + Husk de sist brukte nøkkelfilene og kopibeskyttelsesnøklene + + + Load previous databases on startup + Åpne sist brukte databaser ved oppstart + + + Automatically save on exit + Lagre automatisk ved avslutning + + + Automatically save after every change + Lagre automatisk etter enhver endring + + + Automatically reload the database when modified externally + Last databasen automatisk på nytt hvis den blir endret eksternt + + + Minimize when copying to clipboard + Minimer ved kopiering til utklippstavla + + + Minimize window at application startup + Minimer ved programstart + + + Use group icon on entry creation + + + + Don't mark database as modified for non-data changes (e.g., expanding groups) + + + + Hide the Details view + + + + Show a system tray icon + Vis et ikon i systemkurven + + + Hide window to system tray when minimized + + + + Hide window to system tray instead of app exit + + + + Dark system tray icon + Mørkt ikon i systemkurven + + + Language + Språk + + + Auto-Type + Autoskriv + + + Use entry title to match windows for global Auto-Type + + + + Use entry URL to match windows for global Auto-Type + + + + Always ask before performing Auto-Type + + + + Global Auto-Type shortcut + + + + Auto-Type delay + + + + ms + Milliseconds + + + + Startup + Oppstart + + + File Management + Filhåndtering + + + Safely save database files (may be incompatible with Dropbox, etc) + + + + Backup database file before saving + + + + Entry Management + + + + General + Generell + + + + SettingsWidgetSecurity + + Timeouts + + + + Clear clipboard after + + + + sec + Seconds + + + + Lock databases after inactivity of + Lås databaser etter inaktivitet i + + + Convenience + + + + Lock databases when session is locked or lid is closed + Lås databaser når økta låses eller lokket lukkes + + + Lock databases after minimizing the window + Lås databaser når vinduet minimeres + + + Don't require password repeat when it is visible + + + + Show passwords in cleartext by default + + + + Hide passwords in the preview panel + + + + Hide entry notes by default + + + + Privacy + + + + Use Google as fallback for downloading website icons + + + + Re-lock previously locked database after performing Auto-Type + + + + + SetupTotpDialog + + Setup TOTP + + + + Key: + + + + Default RFC 6238 token settings + + + + Steam token settings + + + + Use custom settings + + + + Note: Change these settings only if you know what you are doing. + + + + Time step: + + + + 8 digits + + + + 6 digits + + + + Code size: + + + + sec + Seconds + + + + + TotpDialog + + Timed Password + + + + 000000 + + + + Copy + Kopier + + + Expires in + + + + seconds + + + + + UnlockDatabaseWidget + + Unlock database + Lås opp databasen + + + + WelcomeWidget + + Start storing your passwords securely in a KeePassXC database + Begynn å lagre passordene dine i en trygg KeePassXC-database + + + Create new database + Opprett ny database + + + Open existing database + Åpne eksisterende database + + + Import from KeePass 1 + Importer fra KeePass 1 + + + Import from CSV + Importer fra CSV + + + Recent databases + Nylige databaser + + + Welcome to KeePassXC %1 + Velkommen til KeePassXC %1 + + + + main + + Remove an entry from the database. + + + + Path of the database. + + + + Path of the entry to remove. + + + + KeePassXC - cross-platform password manager + KeePassXC - en multiplattforms passordhåndterer + + + filenames of the password databases to open (*.kdbx) + + + + path to a custom config file + + + + key file of the database + + + + read password of the database from stdin + + + + Parent window handle + + + + \ No newline at end of file diff --git a/share/translations/keepassx_nl_NL.ts b/share/translations/keepassx_nl_NL.ts index 1ea6ac0f7..9f365e6ee 100644 --- a/share/translations/keepassx_nl_NL.ts +++ b/share/translations/keepassx_nl_NL.ts @@ -15,7 +15,7 @@ KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3. - KeePassXC wordt verspreid onder de voorwaarden van de GNU General Public License (GPL) versie 2 of (als je wenst) versie 3. + KeePassXC wordt verspreid onder de voorwaarden van de GNU General Public License (GPL) versie 2 of (deswenst) versie 3. Contributors @@ -27,7 +27,7 @@ Debug Info - Debug informatie + Debuginformatie Include the following information whenever you report a bug: @@ -35,7 +35,7 @@ Copy to clipboard - Kopieer naar klembord + Naar klembord kopiëren Version %1 @@ -78,7 +78,7 @@ Kernelversie: %3 %4 Build Type: %1 - Bouw Type: %1 + Bouwtype: %1 @@ -103,15 +103,15 @@ Kernelversie: %3 %4 %1 has requested access to passwords for the following item(s). Please select whether you want to allow access. - %1 vraagt toegang tot jouw wachtwoorden voor het/de volgende item(s). -Geef aan of je toegang wilt toestaan of niet. + %1 vraagt toegang tot jouw wachtwoorden voor het volgende). +Geef aan of je toegang wilt verlenen of niet. AgentSettingsWidget Enable SSH Agent (requires restart) - Activeer SSH Agent (vereist herstart) + SSH-agent activeren (vereist herstart) @@ -122,27 +122,27 @@ Geef aan of je toegang wilt toestaan of niet. Auto-Type - KeePassXC - Auto-typen - KeePassXC + Auto-type - KeePassXC Auto-Type - Auto-typen + Auto-type The Syntax of your Auto-Type statement is incorrect! - De syntaxis van de Auto-Type opdracht is onjuist! + De syntaxis van de Auto-type opdracht is onjuist! This Auto-Type command contains a very long delay. Do you really want to proceed? - Deze Auto-typen opdracht bevat een zeer lange vertraging. Wil je echt door gaan? + Deze Auto-type opdracht bevat een zeer lange vertraging. Wil je echt doorgaan? This Auto-Type command contains very slow key presses. Do you really want to proceed? - Deze Auto-typen opdracht bevat zeer traag toetsaanslagen. Wil je echt door gaan? + Deze Auto-type opdracht bevat zeer trage toetsaanslagen. Wil je echt doorgaan? This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed? - Deze Auto-Type opdracht bevat argumenten die zeer vaak worden herhaald. Wil je echt door gaan? + Deze Auto-type opdracht bevat argumenten die zeer vaak worden herhaald. Wil je echt doorgaan? @@ -153,11 +153,11 @@ Geef aan of je toegang wilt toestaan of niet. Sequence - Volgorde + Tekenreeks Default sequence - Standaardvolgorde + Standaard tekenreeks @@ -176,14 +176,14 @@ Geef aan of je toegang wilt toestaan of niet. Sequence - Volgorde + Tekenreeks AutoTypeSelectDialog Auto-Type - KeePassXC - Auto-typen - KeePassXC + Auto-type - KeePassXC Select entry to Auto-Type: @@ -211,8 +211,8 @@ Geef aan of je toegang wilt toestaan of niet. %1 has requested access to passwords for the following item(s). Please select whether you want to allow access. - %1 vraagt toegang tot jouw wachtwoorden voor het/de volgende item(s). -Geef aan of je toegang wilt toestaan of niet. + %1 vraagt toegang tot jouw wachtwoorden voor het volgende). +Geef aan of je toegang wilt verlenen of niet. @@ -227,7 +227,7 @@ Geef aan of je toegang wilt toestaan of niet. Enable KeepassXC browser integration - Activeer KeePassXC browser integratie + KeePassXC browserintegratie activeren General @@ -256,7 +256,7 @@ Geef aan of je toegang wilt toestaan of niet. Show a &notification when credentials are requested Credentials mean login data requested via browser extension - Toon een &notificatie wanneer inloggegevens worden gevraagd + Toon een &melding wanneer inloggegevens worden gevraagd Re&quest to unlock the database if it is locked @@ -264,15 +264,15 @@ Geef aan of je toegang wilt toestaan of niet. Only entries with the same scheme (http://, https://, ...) are returned. - Alleen invoer van hetzelfde schema (http://, https://,...) worden gegeven. + Alleen invoer van hetzelfde schema (http://, https://, …) wordt gegeven. &Match URL scheme (e.g., https://...) - Vergelijk URL sche&ma's (bijv. https://...) + Vergelijk URL sche&ma's (bijv. https://…) Only returns the best matches for a specific URL instead of all entries for the whole domain. - Geeft alleen de beste overeenkomsten terug voor een specifieke URL in plaats van alle invoer voor het hele domein. + Geeft alleen de beste overeenkomsten terug voor een specifieke URL in plaats van alle items voor het hele domein. &Return only best-matching credentials @@ -312,7 +312,7 @@ Geef aan of je toegang wilt toestaan of niet. Only the selected database has to be connected with a client. - Alleen de geselecteerde database hoeft met een client verbonden te zijn. + Alleen de geselecteerde database hoeft verbonden te zijn. Searc&h in all opened databases for matching credentials @@ -321,27 +321,27 @@ Geef aan of je toegang wilt toestaan of niet. Automatically creating or updating string fields is not supported. - Het automatisch aanmaken of wijzigen van tekenreeks velden wordt niet ondersteund. + Het automatisch aanmaken of wijzigen van tekenreeks-velden wordt niet ondersteund. &Return advanced string fields which start with "KPH: " - Geef geadvanceerde teken&reeks velden die met "KH: " beginnen. + Geef geavanceerde teken&reeks-velden die beginnen met "KPH: " Updates KeePassXC or keepassxc-proxy binary path automatically to native messaging scripts on startup. - Wijzig bij het opstarten automatisch het zoek pad van KeePassXC of keepassxc-proxy naar de native messaging scripts. + Wijzig bij het opstarten automatisch het zoekpad van KeePassXC of keepassxc-proxy naar de native messaging scripts. Update &native messaging manifest files at startup - Vernieuw &native messaging manifest-bestanden bij het opstarten + &Native messaging manifest-bestanden vernieuwen bij het opstarten Support a proxy application between KeePassXC and browser extension. - Ondersteun een proxy programma tussen KeePassXC en browser extensie. + Ondersteun een proxy-programma tussen KeePassXC en de browserextensie. Use a &proxy application between KeePassXC and browser extension - Gebruik een &proxy programma tussen KeePassXC en browser extensie + Gebruik een &proxy-programma tussen KeePassXC en de browserextensie Use a custom proxy location if you installed a proxy manually. @@ -350,12 +350,12 @@ Geef aan of je toegang wilt toestaan of niet. Use a &custom proxy location Meant is the proxy for KeePassXC-Browser - Gebruik een &aangepaste proxy locatie + Gebruik een &aangepaste proxy-locatie Browse... Button for opening file dialog - Bladeren... + Bladeren… <b>Warning:</b> The following options can be dangerous! @@ -363,7 +363,7 @@ Geef aan of je toegang wilt toestaan of niet. Executable Files (*.exe);;All Files (*.*) - Uitvoerbare bestanden (*.exe); Alle bestanden (*.*) + Uitvoerbare bestanden (*.exe);; Alle bestanden (*.*) Executable Files (*) @@ -371,42 +371,42 @@ Geef aan of je toegang wilt toestaan of niet. Select custom proxy location - Selecteer aangepaste proxy locatie + Selecteer aangepaste proxy-locatie We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. - + Het spijt ons, maar KeePassXC-Browser wordt momenteel niet ondersteund voor tussentijdse versies. BrowserService KeePassXC: New key association request - KeePassXC: Nieuw verzoek voor sleutel koppeling + KeePassXC: Nieuw verzoek voor sleutelkoppeling You have received an association request for the above key. If you would like to allow it access to your KeePassXC database, give it a unique name to identify and accept it. - Je hebt een koppeling verzoek ontvangen voor bovenstaande sleutel. + Je hebt een koppelingsverzoek ontvangen voor bovenstaande sleutel. -Als je de sleutel toegang tot jouw KeePassXC database wil geven, -geef het dan een unieke naam ter identificatie, en accepteer het verzoek. +Als je de sleutel toegang tot jouw KeePassXC-database wil geven, +geef het dan een unieke naam ter identificatie en accepteer het verzoek. Save and allow access - Opslaan en sta toegang toe + Opslaan en toegang verlenen KeePassXC: Overwrite existing key? - KeePassXC: Huidige sleutel overschrijven? + KeePassXC: Bestaande sleutel overschrijven? A shared encryption key with the name "%1" already exists. Do you want to overwrite it? Een gedeelde encryptiesleutel met de naam "%1" bestaat al. -Wil je deze overschrjiven? +Wil je deze overschrijven? KeePassXC: Update Entry @@ -432,7 +432,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. The active database does not contain a settings entry. - De actieve database bevat geen instellingen-item. + De actieve database bevat geen instellingen. KeePassXC: No keys found @@ -440,7 +440,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. No shared encryption keys found in KeePassXC Settings. - Geen gedeelde encryptiesleutels gevonden in KeePassXC instellingen. + Geen gedeelde encryptiesleutels gevonden in KeePassXC-instellingen. KeePassXC: Removed keys from database @@ -452,7 +452,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Removing stored permissions… - Opgeslagen permissies verwijderen... + Opgeslagen permissies verwijderen… Abort @@ -499,7 +499,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Create - Creëren + Aanmaken Cha&llenge Response @@ -507,7 +507,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Refresh - Vernieuw + Vernieuwen Key files @@ -519,11 +519,11 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Create Key File... - Sleutelbestand creëren... + Sleutelbestand aanmaken… Unable to create Key File : - Het creëren van het sleutelbestand is mislukt: + Het aanmaken van het sleutelbestand is mislukt: Select a key file @@ -535,11 +535,11 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Do you really want to use an empty string as password? - Weet je zeker dat je een leeg veld als wachtwoord wil gebruiken? + Weet je zeker dat je geen wachtwoord wil gebruiken? Different passwords supplied. - U heeft verschillende wachtwoorden opgegeven. + De wachtwoorden komen niet overeen. Failed to set %1 as the Key file: @@ -556,39 +556,39 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. - Je gebruikt een verouderd sleutelbestandsformaat welke in de toekomst niet ondersteund zal worden. + Je gebruikt een verouderd sleutelbestandsformaat dat in de toekomst niet ondersteund zal worden. -Overweeg aub een nieuw sleutelbestand te genereren. +Overweeg a.u.b. een nieuw sleutelbestand te genereren. Changing master key failed: no YubiKey inserted. - Verandering sleutelbestand mislukt: geen YubiKey gedetecteerd + Verandering sleutelbestand mislukt: geen YubiKey gedetecteerd. CloneDialog Clone Options - Kloon Opties + Opties klonen Append ' - Clone' to title - Toevoegen' - Kloon' aan naam + Voeg ' - Kloon' toe aan naam Replace username and password with references - Vervang gebruikersnaam en wachtwoord door referenties + Gebruikersnaam en wachtwoord vervangen door referenties Copy history - Kopie historie + Historie kopiëren CsvImportWidget Import CSV fields - Importeer CSV velden + CSV-velden importeren filename @@ -600,7 +600,7 @@ Overweeg aub een nieuw sleutelbestand te genereren. Encoding - Koderen + Coderen Codec @@ -616,23 +616,23 @@ Overweeg aub een nieuw sleutelbestand te genereren. Comments start with - Kommentaar start met + Commentaar start met First record has field names - Eerste record heeft veldnamen + Eerste record bevat veldnamen Number of headers line to discard - Aantal kopregels te negeren + Aantal te negeren kopregels Consider '\' an escape character - Beschouw '\' als excape karacter + Beschouw '\' als escape-karakter Preview - voorvertoning + Voorvertoning Column layout @@ -640,7 +640,7 @@ Overweeg aub een nieuw sleutelbestand te genereren. Not present in CSV file - Niet aanwezig in CSV bestand + Niet aanwezig in CSV-bestand Empty fieldname @@ -652,15 +652,15 @@ Overweeg aub een nieuw sleutelbestand te genereren. Imported from CSV file - Geimporteerd uit CSV bestand + Geïmporteerd uit CSV-bestand Original data: - Orginele gegevens: + Originele gegevens: Error(s) detected in CSV file ! - Fout(en) gedetecteerd in CSV bestand! + Fout(en) gedetecteerd in CSV-bestand! more messages skipped] @@ -673,7 +673,7 @@ Overweeg aub een nieuw sleutelbestand te genereren. CSV import: writer has errors: - CSV import: uitvoer bevat fouten: + CSV-import - fouten opgetreden: @@ -692,15 +692,15 @@ Overweeg aub een nieuw sleutelbestand te genereren. CsvParserModel %n byte(s), - 1 byte,%n bytes, + 1 byte,%n byte(s), %n row(s), - 1 rij,%n rijen, + 1 rij,%n rij(en), %n column(s) - 1 kolom%n kolommen + 1 kolom%n kolom(men) @@ -723,7 +723,7 @@ Overweeg aub een nieuw sleutelbestand te genereren. Refresh - Vernieuw + Vernieuwen Challenge Response: @@ -746,9 +746,9 @@ Overweeg aub een nieuw sleutelbestand te genereren. unsupported in the future. Please consider generating a new key file. - Je gebruikt een verouderd sleutelbestandsformaat welke in de toekomst niet ondersteund zal worden. + Je gebruikt een verouderd sleutelbestandsformaat dat in de toekomst niet ondersteund zal worden. -Overweeg aub een nieuw sleutelbestand te genereren. +Overweeg a.u.b. een nieuw sleutelbestand te genereren. Don't show this warning again @@ -787,7 +787,7 @@ Overweeg aub een nieuw sleutelbestand te genereren. Database opened fine. Nothing to do. - Database werd zonder problemen geopend. Niets te doen. + Database zonder problemen geopend. Niets te doen. Success @@ -801,7 +801,7 @@ Je kunt deze nu opslaan. Unable to repair the database. - Niet mogelijk om de database te repareren. + De database is niet te repareren. @@ -817,15 +817,15 @@ Je kunt deze nu opslaan. Number of rounds too high Key transformation rounds - Aantal rondes te hoog + Aantal iteraties te hoog You are using a very high number of key transform rounds with Argon2. If you keep this number, your database may take hours or days (or even longer) to open! - Je gebruikt een zeer groot aantal sleuteltransformatie rondes met Argon2. + Je gebruikt een zeer groot aantal sleuteltransformatie-iteratiesmet Argon2. -Als je dit aantal aanhoud, kan het uren, dagen –of zelfs meer– duren om de database te openen! +Als je dit aantal aanhoudt, kan het uren, dagen (of zelfs langer) duren om de database te openen! Understood, keep number @@ -838,15 +838,15 @@ Als je dit aantal aanhoud, kan het uren, dagen –of zelfs meer– duren om de d Number of rounds too low Key transformation rounds - Aantal rondes te laag + Aantal iteraties te laag You are using a very low number of key transform rounds with AES-KDF. If you keep this number, your database may be too easy to crack! - Je gebruikt een zeer laag aantal sleuteltransformatie rondes met AES-KDF. + Je gebruikt een zeer laag aantal sleuteltransformatie-iteraties met AES-KDF. -Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kraken! +Als je dit aantal aanhoudt is het mogelijk heel gemakkelijk om de database te kraken! KDF unchanged @@ -854,7 +854,7 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra Failed to transform key with new KDF parameters; KDF unchanged. - Het transformeren van de sleutel met de nieuwe KDF parameters is mislukt; KDF is ongewijzigd. + Het transformeren van de sleutel met de nieuwe KDF-parameters is mislukt; KDF is ongewijzigd. MiB @@ -864,14 +864,14 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra thread(s) Threads for parallel execution (KDF settings) - executie thread executie threads + executie-thread executie-thread(s) DatabaseSettingsWidgetEncryption Encryption Algorithm: - Coderingsalgoritme: + Versleutelingsalgoritme: AES: 256 Bit (default) @@ -883,11 +883,11 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra Key Derivation Function: - Key Derivation Function: + Sleutel-afleidingsfunctie: Transform rounds: - Transformatierondes: + Transformatie-iteraties: Benchmark 1-second delay @@ -899,14 +899,14 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra Parallelism: - Parallellisme: + Parallelliteit: DatabaseSettingsWidgetGeneral Database Meta Data - Database meta gegevens + Database meta-gegevens Database name: @@ -922,11 +922,11 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra History Settings - Geschiedenis Instellingen + Geschiedenis-instellingen Max. history items: - Max. items in geschiedenis: + Max. geschiedenisitems: Max. history size: @@ -942,11 +942,11 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra Additional Database Settings - Extra database instellingen + Extra database-instellingen Enable &compression (recommended) - Activeer &compressie (aanbevolen) + &Compressie toepassen (aanbevolen) @@ -982,7 +982,7 @@ Als je dit aantal aanhoud is het mogelijk heel gemakkelijk om de database te kra Open CSV file - Open CSV bestand + CSV-bestand openen CSV file @@ -1022,7 +1022,7 @@ Wijzigingen ongedaan maken en doorgaan met sluiten? "%1" was modified. Save changes? "%1" is gewijzigd. -Opslaan? +Wijzigingen opslaan? Writing the database failed. @@ -1034,7 +1034,7 @@ Opslaan? Save database as - Database opslaan als + Database Opslaan Als Export database to CSV file @@ -1059,8 +1059,8 @@ Opslaan? Can't lock the database as you are currently editing it. Please press cancel to finish your changes or discard them. - Kan de database niet vergrendelen omdat je deze momenteel aan het bewerken bent. -Druk op annuleren om je wijzigingen aan te passen of gooi de wijzigingen weg. + Kan de database niet vergrendelen omdat deze momenteel bewerkt wordt. +Druk op annuleren om je wijzigingen te voltooien of af te danken. This database has been modified. @@ -1077,19 +1077,19 @@ Zo nee, dan gaan de wijzigingen verloren. KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file. Disable safe saves and try again? - KeePassXC heeft meerdere keren geprobeerd de database op te slaan. Dit wordt waarschijnlijk veroorzaakt door een lock op het op te slaan bestand door een bestanden-sync-service. -Uitschakelen van veilig opslaan en opnieuw proberen? + KeePassXC heeft meerdere keren geprobeerd de database op te slaan. Dit wordt waarschijnlijk veroorzaakt door een blokkade op het bestand door een synchronisatie-dienst. +Veilig opslaan afschakelen en opnieuw proberen? DatabaseWidget Searching... - Bezig met zoeken... + Bezig met zoeken… Change master key - Wijzig hoofdsleutel + Hoofdsleutel wijzigen Delete entry? @@ -1101,11 +1101,11 @@ Uitschakelen van veilig opslaan en opnieuw proberen? Delete entries? - Elementen wissen? + Items wissen? Do you really want to delete %1 entries for good? - Weet je zeker dat je %1 elementen wil wissen? + Weet je zeker dat je %1 items wil wissen? Move entry to recycle bin? @@ -1117,7 +1117,7 @@ Uitschakelen van veilig opslaan en opnieuw proberen? Move entries to recycle bin? - Elementen naar de prullenbak verplaatsen? + Items naar de prullenbak verplaatsen? Do you really want to move %n entry(s) to the recycle bin? @@ -1125,11 +1125,11 @@ Uitschakelen van veilig opslaan en opnieuw proberen? Execute command? - Commando uitvoeren? + Opdracht uitvoeren? Do you really want to execute the following command?<br><br>%1<br> - Weet je zeker dat je het volgende commando wil uitvoeren? <br><br>%1<br> + Weet je zeker dat je de volgende opdracht wil uitvoeren? <br><br>%1<br> Remember my choice @@ -1149,7 +1149,7 @@ Uitschakelen van veilig opslaan en opnieuw proberen? No current database. - Geen huidige database. + Geen actuele database. No source database, nothing to do. @@ -1178,7 +1178,7 @@ Uitschakelen van veilig opslaan en opnieuw proberen? The database file has changed and you have unsaved changes. Do you want to merge your changes? - Het databasebestand is veranderd en er zijn niet opgeslagen wijzigingen. + Het databasebestand is veranderd en er zijn niet-opgeslagen wijzigingen. Wil je de wijzigingen samenvoegen? @@ -1198,7 +1198,7 @@ Wil je de wijzigingen samenvoegen? DetailsWidget Generate TOTP Token - TOTP Token genereren + TOTP-token genereren Close @@ -1226,7 +1226,7 @@ Wil je de wijzigingen samenvoegen? Autotype - Autotype + Auto-type Searching @@ -1234,7 +1234,7 @@ Wil je de wijzigingen samenvoegen? Attributes - Eigenschappen + Kenmerken Attachments @@ -1242,7 +1242,7 @@ Wil je de wijzigingen samenvoegen? Notes - Opmerkingen + Notities Window @@ -1250,7 +1250,7 @@ Wil je de wijzigingen samenvoegen? Sequence - Volgorde + Tekenreeks Search @@ -1293,7 +1293,7 @@ Wil je de wijzigingen samenvoegen? Auto-Type - Auto-typen - KeePassX + Auto-type Properties @@ -1305,11 +1305,11 @@ Wil je de wijzigingen samenvoegen? SSH Agent - SSH Agent + SSH-agent n/a - niet van toepassing + n.v.t. (encrypted) @@ -1325,7 +1325,7 @@ Wil je de wijzigingen samenvoegen? Failed to open private key - Niet gelukt het sleutelbestand in openen + Niet gelukt het sleutelbestand te openen Entry history @@ -1341,19 +1341,19 @@ Wil je de wijzigingen samenvoegen? Different passwords supplied. - Verschillende wachtwoorden opgegeven. + Wachtwoorden komen niet overeen. New attribute - Nieuwe eigenschap + Nieuw kenmerk Confirm Remove - Bevestig verwijderen + Verwijdering bevestigen Are you sure you want to remove this attribute? - Weet je zeker dat je deze eigenschap wil verwijderen? + Weet je zeker dat je dit kenmerk wil verwijderen? [PROTECTED] @@ -1361,7 +1361,7 @@ Wil je de wijzigingen samenvoegen? Press reveal to view or edit - Druk Toon om te bekijken of bewerken + Druk Tonen om te bekijken of bewerken Tomorrow @@ -1381,11 +1381,11 @@ Wil je de wijzigingen samenvoegen? Apply generated password? - Pas gegenereerde wachtwoord toe? + Gegenereerd wachtwoord toepassen? Do you want to apply the generated password to this entry? - Wil je het gegenereerde wachtwoord instellen voor dit item? + Wil je het gegenereerde wachtwoord toepassen voor dit item? Entry updated successfully. @@ -1396,7 +1396,7 @@ Wil je de wijzigingen samenvoegen? EditEntryWidgetAdvanced Additional attributes - Extra eigenschappen + Extra kenmerken Add @@ -1408,15 +1408,15 @@ Wil je de wijzigingen samenvoegen? Edit Name - Verander Naam + Naam bewerken Protect - Beveilig + Beveiligen Reveal - Toon + Tonen Attachments @@ -1424,26 +1424,26 @@ Wil je de wijzigingen samenvoegen? Foreground Color: - Voorgrond kleur: + Voorgrondkleur: Background Color: - Kleur achtergrond: + Achtergrondkleur: EditEntryWidgetAutoType Enable Auto-Type for this entry - Auto-typen inschakelen voor dit item + Auto-type inschakelen voor dit item Inherit default Auto-Type sequence from the &group - Erf standaard auto-typevolgorde van de &groep + Standaard Auto-type tekenreeks overnemen van de &groep &Use custom Auto-Type sequence: - &Gebruik aangepaste auto-typevolgorde: + Aan&gepaste Auto-type tekenreeks gebruiken: Window Associations @@ -1463,7 +1463,7 @@ Wil je de wijzigingen samenvoegen? Use a specific sequence for this association: - Gebruik een specifieke volgorde voor deze associatie. + Gebruik een specifieke tekenreeks voor deze associatie. @@ -1505,15 +1505,15 @@ Wil je de wijzigingen samenvoegen? Notes - Opmerkingen + Notities Presets - Ingebouwd + Voorkeuze Toggle the checkbox to reveal the notes section. - Vink het selectievakje aan om notities te zien. + Schakelen aan om notities te tonen. Username: @@ -1532,7 +1532,7 @@ Wil je de wijzigingen samenvoegen? Remove key from agent after - Verwijder sleutel uit agent na + Sleutel verwijderen uit agent na seconds @@ -1564,11 +1564,11 @@ Wil je de wijzigingen samenvoegen? n/a - niet van toepassing + n.v.t. Copy to clipboard - Kopieer naar klembord + Naar klembord kopiëren Private key @@ -1581,7 +1581,7 @@ Wil je de wijzigingen samenvoegen? Browse... Button for opening file dialog - Bladeren... + Bladeren… Attachment @@ -1589,15 +1589,15 @@ Wil je de wijzigingen samenvoegen? Add to agent - Voeg toe aan agent + Aan agent toevoegen Remove from agent - Verwijder van agent + Van agent verwijderen Require user confirmation when this key is used - Vereis bevestiging van de gebruiker wanneer deze sleutel wordt gebruikt + Bevestiging van de gebruiker vragen als deze sleutel wordt gebruikt @@ -1620,7 +1620,7 @@ Wil je de wijzigingen samenvoegen? Edit group - Groep wijzigen + Groep bewerken Enable @@ -1632,7 +1632,7 @@ Wil je de wijzigingen samenvoegen? Inherit from parent group (%1) - Erf van bovenliggende groep (%1) + Overnemen van bovenliggende groep (%1) @@ -1643,7 +1643,7 @@ Wil je de wijzigingen samenvoegen? Notes - Opmerkingen + Notities Expires @@ -1655,34 +1655,34 @@ Wil je de wijzigingen samenvoegen? Auto-Type - Auto-typen - KeePassX + Auto-type &Use default Auto-Type sequence of parent group - &Gebruik de standaard autot-type volgorde van de bovenliggende groep + &Gebruik de standaard Auto-type tekenreeks van de bovenliggende groep Set default Auto-Type se&quence - Stel de standaard auto-type volgord&e in + Standaard Auto-type volgorde instellen EditWidgetIcons &Use default icon - &Gebruik standaardicoon + Standaardicoon &gebruiken Use custo&m icon - Gebruik aangepast icoon + Aangepast icoon gebruiken Add custom icon - Voeg icoon toe + Icoon toevoegen Delete custom icon - Verwijder icoon + Icoon verwijderen Download favicon @@ -1694,7 +1694,7 @@ Wil je de wijzigingen samenvoegen? Hint: You can enable Google as a fallback under Tools>Settings>Security - Tip: Je kunt Google gebruiken als alternatief via Tools>Instellingen>Beveiliging + Tip: Je kunt Google gebruiken als alternatief via Extra>Instellingen>Beveiliging Images @@ -1714,15 +1714,15 @@ Wil je de wijzigingen samenvoegen? Custom icon already exists - Speciaal pictogram bestaat al + Aangepast icoon bestaat al Confirm Delete - Bevestig Verwijder + Verwijdering bevestigen This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it? - Dit icoon wordt gebruikt door %1 entries en zal worden vervangen door de standaard icoon. Weet je zeker dat je het wil verwijderen? + Dit icoon wordt gebruikt door %1 items en zal worden vervangen door de standaardicoon. Weet je zeker dat je het wil verwijderen? @@ -1737,7 +1737,7 @@ Wil je de wijzigingen samenvoegen? Accessed: - Gelezen: + Toegang: Uuid: @@ -1745,7 +1745,7 @@ Wil je de wijzigingen samenvoegen? Plugin Data - Plugingegevens: + Plugin-gegevens: Remove @@ -1753,17 +1753,17 @@ Wil je de wijzigingen samenvoegen? Delete plugin data? - Verwijder plugingegevens? + Plugin-gegevens verwijderen? Do you really want to delete the selected plugin data? This may cause the affected plugins to malfunction. - Wil je echt de geselecteerde plugingegevens verwijderen? + Wil je de geselecteerde plugin-gegevens echt verwijderen? Hierdoor werken de plugins mogelijk niet meer goed. Key - Wachtwoord + Sleutel Value @@ -1805,7 +1805,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Open - Open + Openen Save @@ -1821,7 +1821,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Confirm Remove - Bevestig verwijderen + Verwijdering bevestigen Save attachments @@ -1830,39 +1830,39 @@ Hierdoor werken de plugins mogelijk niet meer goed. Unable to create directory: %1 - Map maken is niet gelukt: + Map niet kunnen maken: %1 Are you sure you want to overwrite the existing file "%1" with the attachment? - Weet je zeker dat je het bestaande bestand "%1" wil overschrijven met de bijlage? + Weet je zeker dat je het bestaande bestand "%1" met de bijlage wil overschrijven? Confirm overwrite - Overschrijven bevestigen + Overschrijving bevestigen Unable to save attachments: %1 - Opslaan van bijlagen is niet gelukt: + Bijlagen niet kunnen opslaan: %1 Unable to open attachment: %1 - Openen van bijlage is niet gelukt: + Bijlage niet kunnen openen: %1 Unable to open attachments: %1 - Openen van bijlagen is niet gelukt: + Bijlagen niet kunnen openen: %1 Unable to open files: %1 - Openen van bestanden is niet gelukt: + Bestanden niet kunnen openen: %1 @@ -1897,7 +1897,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Ref: Reference abbreviation - Ref: + Ref: Group @@ -1925,7 +1925,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Notes - Opmerkingen + Notities Expires @@ -1941,7 +1941,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Accessed - Gezien + Toegang Attachments @@ -1952,7 +1952,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. EntryView Customize View - Pas weergave aan + Weergave aanpassen Hide Usernames @@ -1964,19 +1964,19 @@ Hierdoor werken de plugins mogelijk niet meer goed. Fit to window - Pas aan venster aan + Aanpassen aan venstergrootte Fit to contents - Pas aan inhoud aan + Aanpassen aan inhoud Reset to defaults - Terugzetten op standaardwaarden + Standaardwaarden opnieuw instellen Attachments (icon) - + Bijlagen (icoon) @@ -2037,11 +2037,11 @@ Hierdoor werken de plugins mogelijk niet meer goed. /*_& ... - /*_& ... + /*_& … Exclude look-alike characters - Sluit op elkaar lijkende tekens uit + Op elkaar lijkende tekens uitsluiten Ensure that the password contains characters from every group @@ -2060,7 +2060,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Close message - Sluit bericht + Bericht sluiten @@ -2071,18 +2071,18 @@ Hierdoor werken de plugins mogelijk niet meer goed. Unable to issue challenge-response. - Challenge-response uitgeven niet mogelijk. + Kan Test-Resultaat niet uitgeven. Wrong key or database file is corrupt. - Verkeerde sleutel of corrupte database. + Verkeerde sleutel of beschadigde database. Kdbx3Writer Unable to issue challenge-response. - Challenge-response uitgeven niet mogelijk. + Kan Test-Resultaat niet uitgeven. Unable to calculate master key @@ -2093,7 +2093,7 @@ Hierdoor werken de plugins mogelijk niet meer goed. Kdbx4Reader missing database headers - ontbrekende database headers + ontbrekende database-koppen Unable to calculate master key @@ -2101,55 +2101,55 @@ Hierdoor werken de plugins mogelijk niet meer goed. Invalid header checksum size - Niet geldige grootte van header controlecijfer + Ongeldige grootte van header-controlecijfer Header SHA256 mismatch - Header SHA256 mismatch + SHA256-kop komt niet overeen Wrong key or database file is corrupt. (HMAC mismatch) - Verkeerde sleutel of database bestand is beschadigd. (HMAC mismatch) + Verkeerde sleutel of database-bestand is beschadigd. (HMAC mismatch) Unknown cipher - Onbekend versleutel algoritme + Onbekend versleutelingsalgoritme Invalid header id size - Niet geldige grootte van header id + Ongeldige grootte van header-ID Invalid header field length - Niet geldige lengte van header veld + Ongeldige lengte van header-veld Invalid header data length - Niet geldige lengte van header data + Ongeldige lengte van header-data Failed to open buffer for KDF parameters in header - Fout bij het openen van de buffer voor KDF parameters in header + Fout bij het openen van de buffer voor KDF-parameters in header Unsupported key derivation function (KDF) or invalid parameters - Niet-ondersteunde key derivation function (KDF) of ongeldige parameters + Niet-ondersteunde sleutel-afleidingsfunctie (KDF) of ongeldige parameters Legacy header fields found in KDBX4 file. - Verouderde header velden gevonden in KDBX4 bestand. + Verouderde header-velden gevonden in KDBX4 bestand. Invalid inner header id size - Niet geldige grootte van inner header id + Ongeldige grootte van inner header-id Invalid inner header field length - Niet geldige lengte van inner header veld + Ongeldige lengte van inner header-veld Invalid inner header binary size - Niet geldige binaire grootte van inner header + Ongeldige binaire grootte van inner header Unsupported KeePass variant map version. @@ -2159,69 +2159,69 @@ Hierdoor werken de plugins mogelijk niet meer goed. Invalid variant map entry name length Translation: variant map = data structure for storing meta data - Niet geldige lengte van de variant map entry + Ongeldige lengte van de variant map entry Invalid variant map entry name data Translation: variant map = data structure for storing meta data - Niet geldige data in de variant map entry name + Ongeldige data in de variant map entry name Invalid variant map entry value length Translation: variant map = data structure for storing meta data - Niet geldige lengte van de variant map waarde + Ongeldige lengte van de variant map waarde Invalid variant map entry value data Translation comment: variant map = data structure for storing meta data - Niet geldige data in de variant map waarde + Ongeldige data in de variant map waarde Invalid variant map Bool entry value length Translation: variant map = data structure for storing meta data - Niet geldige lengte van een variant map Bool waarde + Ongeldige lengte van een variant map Bool-waarde Invalid variant map Int32 entry value length Translation: variant map = data structure for storing meta data - Niet geldige lengte van een variant map Int32 waarde + Ongeldige lengte van een variant map Int32-waarde Invalid variant map UInt32 entry value length Translation: variant map = data structure for storing meta data - Niet geldige lengte van een variant map UInt32 waarde + Ongeldige lengte van een variant map UInt32-waarde Invalid variant map Int64 entry value length Translation: variant map = data structure for storing meta data - Niet geldige lengte van een variant map Int64 waarde + Ongeldige lengte van een variant map Int64-waarde Invalid variant map UInt64 entry value length Translation: variant map = data structure for storing meta data - Niet geldige lengte van een variant map UInt64 waarde + Ongeldige lengte van een variant map UInt64-waarde Invalid variant map entry type Translation: variant map = data structure for storing meta data - Niet geldige item type in variant map + Ongeldige item type in variant map Invalid variant map field type size Translation: variant map = data structure for storing meta data - Niet geldige grootte van variant map veld type + Ongeldige grootte van variant map veld-type Kdbx4Writer Invalid symmetric cipher algorithm. - Niet geldige symmetrisch versleutel algoritme. + Ongeldig symmetrisch versleutelingsalgoritme. Invalid symmetric cipher IV size. IV = Initialization Vector for symmetric cipher - Niet geldig grootte IV van symmetrisch versleutel algoritme. + Ongeldige grootte van symmetrisch versleutelingsalgoritme IV. Unable to calculate master key @@ -2230,22 +2230,22 @@ Hierdoor werken de plugins mogelijk niet meer goed. Failed to serialize KDF parameters variant map Translation comment: variant map = data structure for storing meta data - Fout bij het serialisatie van KDF parameters variant map + Fout bij het serialisatie van KDF-parameters variant map KdbxReader Invalid cipher uuid length - Niet geldige lengte versleutel uuid + Ongeldige lengte versleuteling uuid Unsupported cipher - Niet ondersteund versleutel algoritme + Niet ondersteund versleutelingsalgoritme Invalid compression flags length - Niet geldige lengte van compressie opties + Ongeldige lengte van compressie-opties Unsupported compression algorithm @@ -2253,52 +2253,52 @@ Hierdoor werken de plugins mogelijk niet meer goed. Invalid master seed size - Niet geldige grootte van master seed + Ongeldige grootte van master-seed Invalid transform seed size - Niet geldige grootte van transform seed + Ongeldige grootte van transform-seed Invalid transform rounds size - Niet geldige aantal transformatie rondes + Ongeldig aantal transformatie-iteraties Invalid start bytes size - Niet geldige grootte van start bytes + Ongeldige grootte van start-bytes Invalid random stream id size - Niet geldige grootte van random stream id + Ongeldige grootte van random stream-id Invalid inner random stream cipher - Niet geldig inner-random-stream versleutel algoritme + Ongeldig inner-random-stream versleutelingsalgoritme Not a KeePass database. - Geen Keepass-database. + Geen KeePass-database. The selected file is an old KeePass 1 database (.kdb). You can import it by clicking on Database > 'Import KeePass 1 database...'. This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version. - He gekozen bestand is een oude KeePass 1 database (.kdb) + Het gekozen bestand is een oude KeePass 1 database (.kdb) -Je kunt het importeren door te klikken op Database>'KeePass 1 database importeren'. +Je kunt het importeren door te klikken op Database>'KeePass 1-database importeren'. Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer openen met de oude KeePassX 0.4 versie. Unsupported KeePass 2 database version. - Niet-ondersteunde KeePass 2 databaseversie. + Niet-ondersteunde KeePass 2-databaseversie. KdbxXmlReader XML parsing failure: %1 - XML parsing fout: %1 + XML leesfout: %1 No root group @@ -2310,7 +2310,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Missing custom data key or value - Ontbrekende custom data sleutel of waarde + Ontbrekende aangepaste datasleutel of -waarde Multiple group elements @@ -2322,19 +2322,19 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Invalid group icon number - Niet geldig groep icon nummer + Ongeldig groepsicoon-nummer Invalid EnableAutoType value - Niet geldige EnableAutoType waarde + Ongeldige EnableAutoType-waarde Invalid EnableSearching value - Niet geldige EnableSearching waarde + Ongeldige EnableSearching-waarde No group uuid found - Geen groep uuid gevonden + Geen groep-uuid gevonden Null DeleteObject uuid @@ -2350,7 +2350,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Invalid entry icon number - Niet geldig icoon item nummer + Ongeldig icoonitem-nummer History element in history entry @@ -2358,7 +2358,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open No entry uuid found - Geen item uuid gevonden + Geen item-uuid gevonden History element with different uuid @@ -2370,11 +2370,11 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Duplicate custom attribute found - Dubbel aangepaste eigenschap gevonden + Duplicaat aangepast kenmerk gevonden Entry string key or value missing - Item string sleutel of waarde ontbreekt + Item stringsleutel of -waarde ontbreekt Duplicate attachment found @@ -2386,31 +2386,31 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Auto-type association window or sequence missing - Auto-typen koppeling venster of sequence ontbreekt + Auto-type vensterkoppeling of tekenreeks ontbreekt Invalid bool value - Niet geldige bool waarde + Ongeldige bool-waarde Invalid date time value - Niet geldige datum-tijdwaarde + Ongeldige datum-tijdwaarde Invalid color value - Niet geldige kleurwaarde + Ongeldige kleurwaarde Invalid color rgb part - Niet geldige kleur in rgb deel + Ongeldige kleur in rgb deel Invalid number value - Niet geldig getal + Ongeldig getal Invalid uuid value - Niet geldige uuid-waarde + Ongeldige uuid-waarde Unable to decompress binary @@ -2422,7 +2422,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open KeePass1OpenWidget Import KeePass1 database - Importeer Keepass 1-database + KeePass 1-database importeren Unable to open the database. @@ -2437,44 +2437,44 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Not a KeePass database. - Geen Keepass-database + Geen KeePass-database Unsupported encryption algorithm. - Niet-ondersteund encryptie-algoritme + Niet-ondersteund versleutelings-algoritme Unsupported KeePass database version. - Niet-ondersteunde versie van Keepass-database + Niet-ondersteunde versie van KeePass-database. Unable to read encryption IV IV = Initialization Vector for symmetric cipher - Initialization Vector kon niet gelezen worden + Versleuteling IV kon niet gelezen worden Invalid number of groups - Niet geldig aantal groepen + Ongeldig aantal groepen Invalid number of entries - Niet geldig aantal items + Ongeldig aantal items Invalid content hash size - Niet geldige grootte van inhoud-hash + Ongeldige grootte van inhoud-hash Invalid transform seed size - Niet geldige grootte van transform seed + Ongeldige grootte van transform-seed Invalid number of transform rounds - Niet geldig aantal transformatie rondes + Ongeldig aantal transformatie-iteraties Unable to construct group tree - Opbouwen van de groepsboom is niet gelukt + Groepsstructuur niet kunnen opbouwen Root @@ -2482,23 +2482,23 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Unable to calculate master key - Niet mogelijk om hoofdsleutel te berekenen + Hoofdsleutel niet kunnen berekenen Wrong key or database file is corrupt. - Verkeerde sleutel of corrupte database. + Verkeerde sleutel of beschadigde database. Key transformation failed - Sleutel transformatie is mislukt + Sleuteltransformatie is mislukt Invalid group field type number - Niet geldig groep veld typenummer + Ongeldig groep veld typenummer Invalid group field size - Niet geldige grootte van groep veld + Ongeldige grootte van groep veld Read group field data doesn't match size @@ -2506,7 +2506,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Incorrect group id field size - Onjuiste grootte van id veld + Onjuiste grootte van id-veld Incorrect group creation time field size @@ -2514,39 +2514,39 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Incorrect group modification time field size - Onjuiste grootte wijzigingstijd veld + Onjuiste grootte wijzigingstijd-veld Incorrect group access time field size - Onjuiste grootte toegangstijd veld + Onjuiste grootte toegangstijd-veld Incorrect group expiry time field size - Onjuiste grootte verloop-tijd veld + Onjuiste grootte verlooptijd-veld Incorrect group icon field size - Onjuiste grootte icoon veld + Onjuiste grootte icoon-veld Incorrect group level field size - Onjuiste grootte van groepsniveau veld + Onjuiste grootte van groepsniveau-veld Invalid group field type - Niet geldig groep veldtype + Ongeldig groep-veldtype Missing group id or level - Ontbrekende groeps-id of niveau + Ontbrekende groeps-id of -niveau Missing entry field type number - Ontbrekend item veld type nummer + Ontbrekend item veldtype-nummer Invalid entry field size - Niet geldige grootte van item veld + Ongeldige grootte van item-veld Read entry field data doesn't match size @@ -2554,46 +2554,73 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Invalid entry uuid field size - Niet geldige grootte van uuid veld + Ongeldige grootte van uuid-veld Invalid entry group id field size - Niet geldige grootte van groep id veld + Ongeldige grootte van groepid-veld Invalid entry icon field size - Niet geldige grootte van icoon veld + Ongeldige grootte van icoon-veld Invalid entry creation time field size - Niet geldige grootte van aanmaaktijd veld + Ongeldige grootte van aanmaaktijd-veld Invalid entry modification time field size - Niet geldige grootte van wijzigingstijd veld + Ongeldige grootte van wijzigingstijd-veld Invalid entry expiry time field size - Niet geldige grootte van verloop-tijd veld + Ongeldige grootte van verlooptijd-veld Invalid entry field type - Niet geldig item veld type + Ongeldig item veldtype + + + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 - aanbevolen) Main Existing single-instance lock file is invalid. Launching new instance. - Het bestaande single-instance vergrendelbestand is niet geldig. Een nieuwe instance wordt gestart. + Het bestaande single-instance vergrendelingsbestand is niet geldig. Een nieuwe instantie wordt gestart. The lock file could not be created. Single-instance mode disabled. - Het vergrendelbestand kon niet worden aangemaakt. Single-instance mode uitgeschakeld. + Het vergrendelingsbestand kon niet worden aangemaakt. Single-instance mode uitgeschakeld. Another instance of KeePassXC is already running. - Een andere instance van KeePassXC is reeds gestart. + Een andere instantie van KeePassXC is reeds gestart. Fatal error while testing the cryptographic functions. @@ -2620,7 +2647,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open &Help - &Hulp + &Help E&ntries @@ -2628,11 +2655,11 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Copy att&ribute to clipboard - Kopieer eigenschap naar klembord + Kenmerk naar klembord kopiëren Time-based one-time password - Tijd gebaseerd eenmalig wachtwoord + Tijd-gebaseerd eenmalig wachtwoord &Groups @@ -2640,7 +2667,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open &Tools - &Tools + E&xtra &Quit @@ -2652,15 +2679,15 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open &Open database... - &Open de database... + &Open database… &Save database - &Sla database op + Database Op&slaan &Close database - &Sluit database + Database &Sluiten &New database @@ -2672,35 +2699,35 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open &Add new entry - &Voeg nieuw item toe + Nieuw item toe&voegen &View/Edit entry - &Bekijk/bewerk item + Item &Bekijken/bewerken &Delete entry - &Verwijder item + Item &Verwijderen &Add new group - &Voeg groep toe + Nieuwe groep Toe&voegen &Edit group - &Bewerk groep + Groep B&ewerken &Delete group - &Verwijder groep + Groep &Verwijderen Sa&ve database as... - Be&waar de database als... + Database Opslaan &Als… Change &master key... - Wijzig het &master wachtwoord... + &Hoofdwachtwoord wijzigen… &Database settings @@ -2712,7 +2739,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open &Clone entry - &Kloon item + Item &Klonen &Find @@ -2720,19 +2747,19 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Copy &username - Kopieer &gebruikersnaam + &Gebruikersnaam kopiëren Copy username to clipboard - Kopieer gebruikersnaam naar klembord + Gebruikersnaam naar klembord kopiëren Cop&y password - Kopieer wachtwoord + Wachtwoord kopiëren Copy password to clipboard - Kopieer wachtwoord naar klembord + Wachtwoord naar klembord kopiëren &Settings @@ -2740,19 +2767,19 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Password Generator - Wachtwoord generator + Wachtwoordgenerator &Perform Auto-Type - &Voer auto-typen uit + Auto-type uit&voeren &Open URL - &Open URL + URL &Openen &Lock databases - &Vergrendel databases + Databases &Vergrendelen &Title @@ -2760,7 +2787,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Copy title to clipboard - Kopieer naam naar klembord + Naam naar klembord kopiëren &URL @@ -2768,51 +2795,51 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Copy URL to clipboard - Kopieer URL naar klembord + URL naar klembord kopiëren &Notes - &Opmerkingen + &Notities Copy notes to clipboard - Kopieer notities naar klembord + Notities naar klembord kopiëren &Export to CSV file... - &Exporteer naar een CSVbestand... + &Exporteren naar CSVbestand… Import KeePass 1 database... - Importeer een KeePass 1 database... + Importeer een KeePass 1-database… Import CSV file... - Importeer een CSV bestand... + Importeer een CSV-bestand… Re&pair database... - Re&pareer de database... + Database Re&pareren… Show TOTP - Laat het TOTP zien + TOTP weergeven Set up TOTP... - Stel TOTP in... + TOTP instellen… Copy &TOTP - Kopieer &TOTP + &TOTP kopiëren E&mpty recycle bin - Leeg prullenbak + Prullenbak leegmaken Clear history - Wis de geschiedenis + Geschiedenis wissen Access error for config file %1 @@ -2820,7 +2847,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open <p>It looks like you are using KeePassHTTP for browser integration. This feature has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> (warning %1 of 3).</p> - <p>Het lijkt erop dat je KeePassHTTP voor integratie met de browser gebruikt. Deze functie is verouderd en zal worden verwijderd. <br>Schakel aub over naar KeePassXC-Browser! Voor hulp bij migratie, bezoek onze <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration"> migratiehandleiding</a> (waarschuwing %1 van 3).</p> + <p>Het lijkt erop dat je KeePassHTTP voor integratie met de browser gebruikt. Deze functie is verouderd en zal worden verwijderd. <br>Schakel a.u.b. over naar KeePassXC-Browser! Voor hulp bij migratie, bezoek onze <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration"> migratiehandleiding</a> (waarschuwing %1 van 3).</p> read-only @@ -2832,15 +2859,15 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Toggle window - Wissel venster + Venster openen Quit KeePassXC - Verlaat KeePassXC + KeePassXC afsluiten KeePass 2 Database - KeePass 2 Database + KeePass 2-database All files @@ -2848,7 +2875,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Open database - Open database + Database openen Save repaired database @@ -2860,30 +2887,30 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open Please touch the button on your YubiKey! - Raak de knop op de YubiKey aan! + Druk de knop op uw YubiKey! WARNING: You are using an unstable build of KeePassXC! There is a high risk of corruption, maintain a backup of your databases. This version is not meant for production use. - WAARSCHUWING: Je gebruikt een niet stabiele versie van KeePassXC! -Er is een hoog risico op corruptie, beheer een back-up van jouw databases. -Deze versie is niet bedoeld voor productie doeleinden. + WAARSCHUWING: Je gebruikt een niet-stabiele versie van KeePassXC! +Deze versie is niet bedoeld voor dagelijks gebruik. +Er is een hoog risico op beschadiging. Bewaar een back-up van jouw databases. OpenSSHKey Invalid key file, expecting an OpenSSH key - Niet geldig sleutelbestand, er werd een OpenSSH sleutel verwacht + Ongeldig sleutelbestand, er werd een OpenSSH-sleutel verwacht PEM boundary mismatch - PEM grens fout + PEM-grens komt niet overeen Base64 decoding failed - Base64 decoderen mislukt + Base64-decodering mislukt Key file way too small. @@ -2891,11 +2918,11 @@ Deze versie is niet bedoeld voor productie doeleinden. Key file magic header id invalid - Niet geldig magic header-id in sleutelbestand + Ongeldig magic header-id in sleutelbestand Found zero keys - Nul sleutels gevonden + Geen sleutels gevonden Failed to read public key. @@ -2903,27 +2930,27 @@ Deze versie is niet bedoeld voor productie doeleinden. Corrupted key file, reading private key failed - Corrupt sleutelbestand, lezen prive-sleutel mislukt + Beschadigd sleutelbestand, lezen persoonlijke sleutel mislukt No private key payload to decrypt - Geen inhoud prive-sleutel om te decoderen + Geen inhoud persoonlijke sleutel om te decoderen Trying to run KDF without cipher - Probeer KDF te draaien zonder versleutel algoritme + Probeer KDF uit te voeren zonder versleutelingsalgoritme Passphrase is required to decrypt this key - Wachtwoord(-zin) nodig om sleutel te ontcijferen + Wachtwoord(-zin) nodig om deze sleutel te ontcijferen Key derivation failed, key file corrupted? - Extractie sleutel mislukt, sleutelbestand corrupt? + Sleutelafleiding mislukt, beschadigd sleutelbestand? Decryption failed, wrong passphrase? - Ontsleutelen mislukt, verkeerd wachtwoord(-zin)? + Decodering mislukt, verkeerd wachtwoord(-zin)? Unexpected EOF while reading public key @@ -2931,11 +2958,11 @@ Deze versie is niet bedoeld voor productie doeleinden. Unexpected EOF while reading private key - Onverwacht bestandseinde privesleutel + Onverwacht bestandseinde persoonlijke sleutel Can't write public key as it is empty - Kan publieke sleutel niet opslaan: lege sleutel + Kan publieke sleutel niet opslaan, aangezien deze leeg is Unexpected EOF when writing public key @@ -2943,31 +2970,31 @@ Deze versie is niet bedoeld voor productie doeleinden. Can't write private key as it is empty - Kan privesleutel niet opslaan: lege sleutel + Kan persoonlijke sleutel niet opslaan, aangezien deze leeg is Unexpected EOF when writing private key - Onverwacht bestandseinde bij schrijven privesleutel + Onverwacht bestandseinde bij schrijven persoonlijke sleutel Unsupported key type: %1 - Sleutel type %1 is niet ondersteund. + Niet ondersteund sleuteltype: %1 Unknown cipher: %1 - Onbekende cipher: %1 + Onbekende versleuteling: %1 Cipher IV is too short for MD5 kdf - Codering IV is te kort voor MD5 sleutel te verkrijgen. + Codering IV is te kort om MD5-sleutel te verkrijgen. Unknown KDF: %1 - Onbekende functie om sleutel te verkrijgen: %1 + Onbekende sleutelafleidings-functie: %1 Unknown key type: %1 - Sleutel type %1 is onbekend. + Onbekend sleuteltype: %1 @@ -2982,7 +3009,7 @@ Deze versie is niet bedoeld voor productie doeleinden. Enable KeePassHTTP server - Activeer de KeePassHTTP server + KeePassHTTP-server activeren General @@ -2991,35 +3018,35 @@ Deze versie is niet bedoeld voor productie doeleinden. Sh&ow a notification when credentials are requested Credentials mean login data requested via browser extension - Toon een notificatie wanneer inloggegevens worden aangevraagd + Toon een melding wanneer inloggegevens worden aangevraagd Only returns the best matches for a specific URL instead of all entries for the whole domain. - Geeft alleen de beste overeenkomsten terug voor een specifieke URL in plaats van alle invoer voor het hele domein. + Levert alleen de beste overeenkomsten voor een specifieke URL in plaats van alle invoer voor het hele domein. &Return only best matching entries - Geef alleen de best ove&reenkomende invoer terug + Lever alleen de best ove&reenkomende items Re&quest to unlock the database if it is locked - Verzoek om database te ontgrendelen als deze vergrendeld is + Verzoek om database te ontgrendelen Only entries with the same scheme (http://, https://, ftp://, ...) are returned. - Alleen invoer van hetzelfde schema (http://, https://, ftp://,...) worden teruggegeven. + Lever alleen items van hetzelfde schema (http://, https://, ftp://, …). &Match URL schemes - &vergelijk URL sche&ma's + &Vergelijk URL sche&ma's Sort matching entries by &username - Sorteer gegeven items op $gebruikersnaam + Sorteer items op $gebruikersnaam Sort &matching entries by title - Sorteer &overeenkomende items op naam + Sorteer items op &naam R&emove all shared encryption keys from active database @@ -3031,7 +3058,7 @@ Deze versie is niet bedoeld voor productie doeleinden. Password Generator - Wachtwoord generator + Wachtwoordgenerator Advanced @@ -3047,7 +3074,7 @@ Deze versie is niet bedoeld voor productie doeleinden. Only the selected database has to be connected with a client. - Alleen de geselecteerde database hoeft met een client verbonden te zijn. + Alleen de geselecteerde database hoeft verbonden te zijn. Searc&h in all opened databases for matching entries @@ -3055,11 +3082,11 @@ Deze versie is niet bedoeld voor productie doeleinden. Automatically creating or updating string fields is not supported. - Het automatisch aanmaken of wijzigen van tekenreeks velden wordt niet ondersteund. + Het automatisch aanmaken of wijzigen van tekenreeks-velden wordt niet ondersteund. &Return advanced string fields which start with "KPH: " - &Geef geadvanceerde tekenreeks velden terug die met "KH: " beginnen. + Lever &geavanceerde tekenreeks-velden die met "KPH: " beginnen. HTTP Port: @@ -3071,7 +3098,7 @@ Deze versie is niet bedoeld voor productie doeleinden. KeePassXC will listen to this port on 127.0.0.1 - KeePassXC zal op deze poort op 127.0.0.1 luisteren + KeePassXC zal deze poort op 127.0.0.1 beluisteren <b>Warning:</b> The following options can be dangerous! @@ -3079,16 +3106,16 @@ Deze versie is niet bedoeld voor productie doeleinden. <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> - <p>KeePassHTTP is verouderd en zal worden verwijderd. <br>Schakel aub over naar KeePassXC-Browser! Voor hulp bij migratie, bezoek onze <a href="https://keepassxc.org/docs/keepassxc-browser-migration"> migratiehandleiding</a>.</p> + <p>KeePassHTTP is verouderd en wordt in de toekomst verwijderd. <br>Schakel a.u.b. over naar KeePassXC-Browser! Voor hulp bij migratie, bezoek onze <a href="https://keepassxc.org/docs/keepassxc-browser-migration"> migratiehandleiding</a>.</p> Cannot bind to privileged ports - Kan niet binden op bevoorrechte poorten + Kan niet koppelen op bevoorrechte poorten Cannot bind to privileged ports below 1024! Using default port 19455. - Kan niet binden naar bevoorrechte poorten onder 1024! + Kan niet koppelen naar bevoorrechte poorten onder 1024! Standaardpoort 19455 wordt gebruikt. @@ -3141,7 +3168,7 @@ Standaardpoort 19455 wordt gebruikt. Exclude look-alike characters - Geen op elkaar lijkende tekens + Op elkaar lijkende tekens uitsluiten Pick characters from every group @@ -3153,19 +3180,19 @@ Standaardpoort 19455 wordt gebruikt. Passphrase - Wachtwoord + Wachtwoordzin Wordlist: - Woordenlijst + Woordenlijst: Word Count: - Getelde woorden: + Aantal woorden: Word Separator: - Woordscheiding: + Scheidingsteken: Generate @@ -3193,7 +3220,7 @@ Standaardpoort 19455 wordt gebruikt. Password Quality: %1 - Wachtwoord kwaliteit: %1 + Wachtwoordkwaliteit: %1 Poor @@ -3228,7 +3255,7 @@ Standaardpoort 19455 wordt gebruikt. Client public key not received - Openbare sleutel van de client niet ontvangen + Openbare sleutel niet ontvangen Cannot decrypt message @@ -3236,11 +3263,11 @@ Standaardpoort 19455 wordt gebruikt. Timeout or cannot connect to KeePassXC - Timeout of kan geen verbinding maken met KeePassXC + Timeout of geen verbinding met KeePassXC Action cancelled or denied - Actie geannuleerd of geweigerd + Actie afgebroken of geweigerd Cannot encrypt message or public key not found. Is Native Messaging enabled in KeePassXC? @@ -3248,7 +3275,7 @@ Standaardpoort 19455 wordt gebruikt. KeePassXC association failed, try again - KeePassXC koppeling is mislukt, probeer het opnieuw + KeePassXC-koppeling is mislukt, probeer het opnieuw Key change was not successful @@ -3256,7 +3283,7 @@ Standaardpoort 19455 wordt gebruikt. Encryption key is not recognized - De coderingssleutel is niet herkend + De versleutelingssleutel is niet herkend No saved databases found @@ -3284,7 +3311,7 @@ Standaardpoort 19455 wordt gebruikt. Add a new entry to a database. - Voeg een nieuw item toe aan een database. + Nieuw item toevoegen aan een database. Path of the database. @@ -3336,12 +3363,12 @@ Standaardpoort 19455 wordt gebruikt. Copy an entry's password to the clipboard. - Kopieer een gebruikerswachtwoord naar het klembord. + Gebruikerswachtwoord naar het klembord kopiëren. Path of the entry to clip. clip = copy to clipboard - Pad van het vast te zetten item. + Pad van het te kopiëren item. Timeout in seconds before clearing the clipboard. @@ -3365,7 +3392,7 @@ Standaardpoort 19455 wordt gebruikt. Estimate the entropy of a password. - Schat de entropie van een wachtwoord. + De entropie van een wachtwoord inschatten. Password for which to estimate the entropy. @@ -3373,19 +3400,19 @@ Standaardpoort 19455 wordt gebruikt. Perform advanced analysis on the password. - Doe geavanceerde analyse op het wachtwoord. + Geavanceerde analyse op het wachtwoord uitvoeren. Extract and print the content of a database. - Extraheer en print de inhoud van de database. + De inhoud van de database uitpakken en afdrukken. Path of the database to extract. - Pad naar de te extraheren database. + Pad naar de database. Insert password to unlock %1: - Voor wachtwoord in voor ontsleutelen %1: + Geef het wachtwoord voor %1: Failed to load key file %1 : %2 @@ -3396,9 +3423,9 @@ Standaardpoort 19455 wordt gebruikt. unsupported in the future. Please consider generating a new key file. - WAARSCHUWING: Je gebruikt een ouder sleutelbestandsformaat die in de toekomst mogelijk niet ondersteund zal worden. + WAARSCHUWING: Je gebruikt een verouderd sleutelbestandsformaat dat in de toekomst mogelijk niet ondersteund zal worden. -Overweeg aub een nieuw sleutelbestand te genereren. +Overweeg a.u.b. een nieuw sleutelbestand te genereren. @@ -3407,7 +3434,7 @@ Available commands: -Beschikbare instructies: +Beschikbare opdrachten: : @@ -3416,7 +3443,7 @@ Beschikbare instructies: List database entries. - Lijst van databaseinvoer. + Lijst van database-items. Path of the group to list. Default is / @@ -3424,7 +3451,7 @@ Beschikbare instructies: Find entries quickly. - Zoek ingang snel. + Items snel zoeken. Search term. @@ -3432,11 +3459,11 @@ Beschikbare instructies: Merge two databases. - Voeg twee databases samen. + Twee databases samenvoegen. Path of the database to merge into. - Pad naar de samen te voegen doeldatabase. + Pad naar de doeldatabase. Path of the database to merge from. @@ -3456,11 +3483,11 @@ Beschikbare instructies: Names of the attributes to show. This option can be specified more than once, with each attribute shown one-per-line in the given order. If no attributes are specified, a summary of the default attributes is given. - Namen van de te tonen eigenschappen. Deze optie kan meer dan eens worden opgegeven, waarbij elke eigenschap op een regel wordt getoond in de opgegeven volgorde. Als er geen eigenschappen worden opgegeven, wordt een samenvatting van de standaardeigenschappen gegeven. + Namen van de te tonen kenmerken. Deze optie kan meer dan eens worden opgegeven, waarbij elk kenmerk op een regel wordt getoond in de opgegeven volgorde. Als er geen kenmerken worden opgegeven, wordt een samenvatting van de standaardkenmerken gegeven. attribute - eigenschap + kenmerk Name of the entry to show. @@ -3468,7 +3495,7 @@ Beschikbare instructies: NULL device - NULL apparaat + NULL-apparaat error reading from device @@ -3488,30 +3515,6 @@ Beschikbare instructies: missing closing quote afsluitend aanhalingsteken ontbreekt - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – aanbevolen) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Groep @@ -3530,7 +3533,7 @@ Beschikbare instructies: Notes - Opmerkingen + Notities Last Modified @@ -3542,7 +3545,7 @@ Beschikbare instructies: Legacy Browser Integration - Verouderde browser integratie + Verouderde browserintegratie Browser Integration @@ -3550,7 +3553,7 @@ Beschikbare instructies: YubiKey[%1] Challenge Response - Slot %2 - %3 - YubiKey[%1] Challenge Response - Slot %2 - %3 + YubiKey[%1] Test - Resultaat - Slot %2 - %3 Press @@ -3562,24 +3565,24 @@ Beschikbare instructies: SSH Agent - SSH Agent + SSH-agent Generate a new random diceware passphrase. - Genereer een nieuw willekeurig diceware wachtwoord zin + Genereer een nieuwe willekeurige Diceware wachtwoordzin Word count for the diceware passphrase. - Aantal woorden voor de Diceware wachtzin. + Aantal woorden voor de Diceware wachtwoordzin. count - hoeveelheid + aantal Wordlist for the diceware generator. [Default: EFF English] - Woordenlijst voor de Diceware generator. + Woordenlijst voor de Diceware-generator. [Standaard: EFF Engels] @@ -3649,7 +3652,7 @@ Beschikbare instructies: SearchWidget Search... - Zoek... + Zoeken… Search @@ -3672,25 +3675,25 @@ Beschikbare instructies: Service KeePassXC: New key association request - KeePassXC: Nieuw verzoek voor sleutel koppeling + KeePassXC: Nieuw verzoek voor sleutelkoppeling You have received an association request for the above key. If you would like to allow it access to your KeePassXC database give it a unique name to identify and accept it. - Je hebt een koppeling verzoek ontvangen voor bovenstaande sleutel. -Als je de sleutel toegang tot jouw KeePassXC database wil geven, -geef het dan een unieke naam ter identificatie, en accepteer het verzoek. + Je hebt een koppelingsverzoek ontvangen voor bovenstaande sleutel. +Als je de sleutel toegang tot jouw KeePassXC-database wil geven, +geef het dan een unieke naam ter identificatie en accepteer het verzoek. KeePassXC: Overwrite existing key? - KeePassXC: Huidige sleutel overschrijven? + KeePassXC: Bestaande sleutel overschrijven? A shared encryption-key with the name "%1" already exists. Do you want to overwrite it? Een gedeelde encryptiesleutel met de naam "%1" bestaat al. -Wil je deze overschrjiven? +Wil je deze overschrijven? KeePassXC: Update Entry @@ -3724,7 +3727,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. No shared encryption-keys found in KeePassHttp Settings. - Geen gedeelde encryptiesleutels gevonen in de KeePassHttp instellingen. + Geen gedeelde encryptiesleutels gevonden in de KeePassHttp-instellingen. KeePassXC: Settings not available! @@ -3732,11 +3735,11 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. The active database does not contain an entry of KeePassHttp Settings. - De actieve database bevat geen KeePassHttp instellingen. + De actieve database bevat geen KeePassHttp-instellingen. Removing stored permissions... - Opgeslagen permissies verwijderen... + Opgeslagen permissies verwijderen… Abort @@ -3782,23 +3785,23 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.SettingsWidgetGeneral Basic Settings - Basale instellingen + Basisinstellingen Start only a single instance of KeePassXC - Start slechts een enkele instance van KeePassXC + Hoogstens een enkele instantie van KeePassXC starten Remember last databases - Onthoud laatste databases + Laatstgebruikte databases onthouden Remember last key files and security dongles - Onthou de laatste sleutelbestanden en beveiligingsdongles + Laatstgebruikte sleutelbestanden en beveiligingsdongles onthouden Load previous databases on startup - Open vorige databases bij starten + Laatstgebruikte databases openen bij het opstarten Automatically save on exit @@ -3810,7 +3813,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Automatically reload the database when modified externally - Herlaad database automatisch als deze van buitenaf is gewijzigd + Database automatisch opnieuw laden als deze van buitenaf is gewijzigd Minimize when copying to clipboard @@ -3822,7 +3825,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Use group icon on entry creation - Gebruik icoon van de groep voor nieuwe items + Gebruik groepsicoon voor nieuwe items Don't mark database as modified for non-data changes (e.g., expanding groups) @@ -3830,23 +3833,23 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Hide the Details view - Detail weergave verbergen + Detailweergave verbergen Show a system tray icon - Toon een icoon in de systray + Icoon in het systeemvak tonen Hide window to system tray when minimized - Bij minimaliseren enkel icoon in systray tonen + Minimaliseren naar systeemvak Hide window to system tray instead of app exit - Bij sluiten icoon in systray tonen in plaats van volledig afsluiten + Sluiten naar systeemvak in plaats van volledig afsluiten Dark system tray icon - Donker systray icoon + Donker systeemvak-icoon Language @@ -3854,27 +3857,27 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Auto-Type - Auto-typen - KeePassX + Auto-type Use entry title to match windows for global Auto-Type - Gebruik naam van item als vensternaam voor auto-typen + Gebruik naam van item als vensternaam voor Auto-type Use entry URL to match windows for global Auto-Type - Laat URL overeenkomen met item URL bij auto-typen + Laat URL overeenkomen met item bij Auto-type Always ask before performing Auto-Type - Vraag altijd voordat auto-type gebruikt wordt + Altijd vragen voor toepassen Auto-type Global Auto-Type shortcut - Globale sneltoets voor auto-typen + Globale sneltoets voor Auto-type Auto-Type delay - auto-typevertraging + Auto-typevertraging ms @@ -3891,15 +3894,15 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Safely save database files (may be incompatible with Dropbox, etc) - Veilig opslaan van databasebestanden (kan incompatibel zijn met Dropbox en dergelijke) + Veilig opslaan van databasebestanden (mogelijk incompatibel met Dropbox, etc.) Backup database file before saving - Back-up het databasebestand voor het opslaan + Back-up databasebestand voor het opslaan Entry Management - Item beheer + Itembeheer General @@ -3910,20 +3913,20 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.SettingsWidgetSecurity Timeouts - Timeouts + Time-outs Clear clipboard after - Leeg klembord na + Klembord leegmaken na sec Seconds - sec + sec Lock databases after inactivity of - Vergrendel databases na inactiviteit van + Databases vergrendelen na inactiviteit van Convenience @@ -3931,27 +3934,27 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Lock databases when session is locked or lid is closed - Vergrendel de database wanneer de sessie is vergrendeld of het deksel is gesloten + Databases vergrendelen als de gebruikerssessie wordt vergrendeld of bij het sluiten van de deksel Lock databases after minimizing the window - Vergrendel databases na het minimaliseren van het scherm + Databases vergrendelen bij het minimaliseren van het venster Don't require password repeat when it is visible - Herhalen van wachtwoord niet vereisen als deze zichtbaar is + Geen herhaling van wachtwoord vragen als deze zichtbaar is Show passwords in cleartext by default - Laat wachtwoorden standaard zien + Wachtwoorden standaard weergeven Hide passwords in the preview panel - Verberg wachtwoorden in informatiepaneel. + Wachtwoorden verbergen in het informatiepaneel Hide entry notes by default - Verberg standaard item aantekeningen + Notities standaard verbergen Privacy @@ -3959,34 +3962,34 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Use Google as fallback for downloading website icons - Gebruik Google om op terug te vallen voor het downloaden van de websiteiconen + Gebruik Google om eventueel website-iconen te downloaden Re-lock previously locked database after performing Auto-Type - Vergrendel de hiervoor vergrendelde database opnieuw na Auto-Type. + Vergrendelde database na Auto-type weer vergrendelen. SetupTotpDialog Setup TOTP - Stel TOTP in + TOTP-instellen Key: - Wachtwoord: + Sleutel: Default RFC 6238 token settings - Standaard "RFC 6238 token" instellingen + Standaardinstellingen RFC 6238-token Steam token settings - "Steam token" instellingen + Instellingen Steam-token Use custom settings - Gebruik aangepaste instellingen + Aangepaste instellingen gebruiken Note: Change these settings only if you know what you are doing. @@ -3998,11 +4001,11 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. 8 digits - 8 digits + 8 cijfers 6 digits - 6 digits + 6 cijfers Code size: @@ -4018,7 +4021,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.TotpDialog Timed Password - Getimed wachtwoord + Tijdgebonden wachtwoord 000000 @@ -4030,7 +4033,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database. Expires in - Verloopt binnen + Verloopt over seconds @@ -4048,23 +4051,23 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.WelcomeWidget Start storing your passwords securely in a KeePassXC database - Begin met het opslaan van jouw wachtwoorden in een KeePassXC database + Sla jouw wachtwoorden veilig op in een KeePassXC-database Create new database - Maak nieuwe database + Nieuwe database aanmaken Open existing database - Open bestaande database + Bestaande database openen Import from KeePass 1 - Importeer Keepass 1-database + Keepass 1-database importeren Import from CSV - Uit CSV-bestand importeren + CSV-bestand importeren Recent databases @@ -4079,7 +4082,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.main Remove an entry from the database. - Verwijder een item uit het gegevensbestand. + Een item uit de database verwijderen. Path of the database. diff --git a/share/translations/keepassx_pl.ts b/share/translations/keepassx_pl.ts index 04c5dc4b5..307ace9fd 100644 --- a/share/translations/keepassx_pl.ts +++ b/share/translations/keepassx_pl.ts @@ -2583,6 +2583,33 @@ Jest to migracja w jedną stronę. Nie będzie można otworzyć importowanej baz Nieprawidłowy typ pola wpisu + + KeePass2 + + AES: 256-bit + AES: 256-bitowy + + + Twofish: 256-bit + Twofish: 256-bitowy + + + ChaCha20: 256-bit + ChaCha20: 256-bitowy + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – zalecany) + + Main @@ -3491,30 +3518,6 @@ Dostępne polecenia: missing closing quote brak cytatu zamknięcia - - AES: 256-bit - AES: 256-bitowy - - - Twofish: 256-bit - Twofish: 256-bitowy - - - ChaCha20: 256-bit - ChaCha20: 256-bitowy - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – zalecany) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Grupa diff --git a/share/translations/keepassx_pt_BR.ts b/share/translations/keepassx_pt_BR.ts index aa99a2e17..a2d258e6a 100644 --- a/share/translations/keepassx_pt_BR.ts +++ b/share/translations/keepassx_pt_BR.ts @@ -2580,6 +2580,33 @@ Isto é uma migração de caminho único. Você não poderá abrir o banco de da Tipo de campo de entrada inválido + + KeePass2 + + AES: 256-bit + AES: 256 bits + + + Twofish: 256-bit + Twofish: 256 bits + + + ChaCha20: 256-bit + ChaCha20: 256 bits + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – recomendado) + + Main @@ -3487,30 +3514,6 @@ Comandos disponíveis: missing closing quote cotação de fechamento ausente - - AES: 256-bit - AES: 256 bits - - - Twofish: 256-bit - Twofish: 256 bits - - - ChaCha20: 256-bit - ChaCha20: 256 bits - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – recomendado) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Grupo diff --git a/share/translations/keepassx_pt_PT.ts b/share/translations/keepassx_pt_PT.ts index 878c18eec..5ef30eecc 100644 --- a/share/translations/keepassx_pt_PT.ts +++ b/share/translations/keepassx_pt_PT.ts @@ -317,7 +317,7 @@ Selecione se deseja permitir o acesso. Searc&h in all opened databases for matching credentials Credentials mean login data requested via browser extension - Procurar em todas as base de dados abertas por credenciais semel&hantes + Pesquisar por credenciais semel&hantes em todas as base de dados abertas Automatically creating or updating string fields is not supported. @@ -1087,7 +1087,7 @@ Desativar salvaguardas e tentar novamente? DatabaseWidget Searching... - A procurar... + Pesquisar... Change master key @@ -1232,7 +1232,7 @@ Deseja juntar as suas alterações? Searching - A procurar + Pesquisa Attributes @@ -1653,7 +1653,7 @@ Deseja juntar as suas alterações? Search - Procurar + Pesquisa Auto-Type @@ -2583,6 +2583,33 @@ Esta é uma migração unidirecional. Não será possível abrir a base de dados Tipo inválido para o campo da entrada + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – recomendado) + + Main @@ -3053,7 +3080,7 @@ Esta versão não deve ser utilizada para uma utilização regular. Searc&h in all opened databases for matching entries - Procurar em todas as base de dados abertas por entradas semel&hantes + Pesquisar por entradas semel&hantes em todas as base de dados abertas Automatically creating or updating string fields is not supported. @@ -3491,30 +3518,6 @@ Comandos disponíveis: missing closing quote carácter de fecho em falta - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – recomendado) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Grupo diff --git a/share/translations/keepassx_ro.ts b/share/translations/keepassx_ro.ts index 553092057..9c5147380 100644 --- a/share/translations/keepassx_ro.ts +++ b/share/translations/keepassx_ro.ts @@ -2547,6 +2547,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + Main @@ -3449,30 +3476,6 @@ Comenzi disponibile: missing closing quote - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group Grup diff --git a/share/translations/keepassx_ru.ts b/share/translations/keepassx_ru.ts index 1b3b327fc..14f0590d4 100644 --- a/share/translations/keepassx_ru.ts +++ b/share/translations/keepassx_ru.ts @@ -2580,6 +2580,33 @@ This is a one-way migration. You won't be able to open the imported databas Недопустимый тип поля записи + + KeePass2 + + AES: 256-bit + AES: 256-бит + + + Twofish: 256-bit + Twofish: 256-бит + + + ChaCha20: 256-bit + ChaCha20: 256-бит + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – рекомендуемый) + + Main @@ -2819,7 +2846,7 @@ This is a one-way migration. You won't be able to open the imported databas <p>It looks like you are using KeePassHTTP for browser integration. This feature has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a> (warning %1 of 3).</p> - <p>Похоже вы используете KeePassHTTP для интеграции с браузером. Эта функция является устаревшей и будет удалена в будущем.<br>Пожалуйста перейдите на KeePassXC-Browser! Чтобы получить помощь прочтите наше <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">руководство по миграции</a> (предупреждение %1 of 3).</p> + <p>Похоже вы используете KeePassHTTP для интеграции с браузером. Эта функция является устаревшей и будет удалена в будущем.<br>Пожалуйста, перейдите на KeePassXC-Browser! Чтобы получить помощь прочтите наше <a class="link" href="https://keepassxc.org/docs/keepassxc-browser-migration">руководство по миграции</a> (предупреждение %1 of 3).</p> read-only @@ -3078,7 +3105,7 @@ This version is not meant for production use. <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> - <p>KeePassHTTP устарел и будет удален в будущем.<br>Поажлуйста перейдите на KeePassXC-Browser! Чтобы получить помощь прочтите наше <a href="https://keepassxc.org/docs/keepassxc-browser-migration">руководство по миграции</a>.</p> + <p>KeePassHTTP устарел и будет удален в будущем.<br>Пожалуйста, перейдите на KeePassXC-Browser! Чтобы получить помощь прочтите наше <a href="https://keepassxc.org/docs/keepassxc-browser-migration">руководство по миграции</a>.</p> Cannot bind to privileged ports @@ -3488,30 +3515,6 @@ Available commands: missing closing quote Отсутствует закрывающая цитата - - AES: 256-bit - AES: 256-бит - - - Twofish: 256-bit - Twofish: 256-бит - - - ChaCha20: 256-bit - ChaCha20: 256-бит - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – рекомендуемый) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Группа diff --git a/share/translations/keepassx_sr.ts b/share/translations/keepassx_sr.ts index 676e8c1c0..b86e3c8bc 100644 --- a/share/translations/keepassx_sr.ts +++ b/share/translations/keepassx_sr.ts @@ -2557,6 +2557,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + + + + Twofish: 256-bit + + + + ChaCha20: 256-bit + + + + AES-KDF (KDBX 4) + + + + AES-KDF (KDBX 3.1) + + + + Argon2 (KDBX 4 – recommended) + + + Main @@ -3459,30 +3486,6 @@ Available commands: missing closing quote недостаје завршни наводник - - AES: 256-bit - - - - Twofish: 256-bit - - - - ChaCha20: 256-bit - - - - Argon2 (KDBX 4 – recommended) - - - - AES-KDF (KDBX 4) - - - - AES-KDF (KDBX 3.1) - - Group Група diff --git a/share/translations/keepassx_sv.ts b/share/translations/keepassx_sv.ts index e57292e61..79e4e10d0 100644 --- a/share/translations/keepassx_sv.ts +++ b/share/translations/keepassx_sv.ts @@ -358,7 +358,7 @@ Vill du tillåta det? <b>Warning:</b> The following options can be dangerous! - + <b>Varning:</b> Följande parametrar kan vara farliga! Executable Files (*.exe);;All Files (*.*) @@ -370,7 +370,7 @@ Vill du tillåta det? Select custom proxy location - + Välj en proxy We're sorry, but KeePassXC-Browser is not supported for Snap releases at the moment. @@ -2555,6 +2555,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + AES: 256-bitar + + + Twofish: 256-bit + Twofish: 256-bitar + + + ChaCha20: 256-bit + ChaCha20: 256-bitar + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – rekommenderad) + + Main @@ -3047,7 +3074,7 @@ This version is not meant for production use. <b>Warning:</b> The following options can be dangerous! - + <b>Varning:</b> Följande parametrar kan vara farliga! <p>KeePassHTTP has been deprecated and will be removed in the future.<br>Please switch to KeePassXC-Browser instead! For help with migration, visit our <a href="https://keepassxc.org/docs/keepassxc-browser-migration">migration guide</a>.</p> @@ -3457,30 +3484,6 @@ Tillgängliga kommandon: missing closing quote saknar avslutande citattecken - - AES: 256-bit - AES: 256-bitar - - - Twofish: 256-bit - Twofish: 256-bitar - - - ChaCha20: 256-bit - ChaCha20: 256-bitar - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – rekommenderad) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Grupp diff --git a/share/translations/keepassx_th.ts b/share/translations/keepassx_th.ts index 4fd1c06ef..ac86a9466 100644 --- a/share/translations/keepassx_th.ts +++ b/share/translations/keepassx_th.ts @@ -2555,6 +2555,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + AES: 256 บิต + + + Twofish: 256-bit + Twofish: 256 บิต + + + ChaCha20: 256-bit + ChaCha20: 256 บิต + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – แนะนำ) + + Main @@ -3454,30 +3481,6 @@ Available commands: missing closing quote ไม่มีเครื่องหมายคำพูดปิด - - AES: 256-bit - AES: 256 บิต - - - Twofish: 256-bit - Twofish: 256 บิต - - - ChaCha20: 256-bit - ChaCha20: 256 บิต - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – แนะนำ) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group กลุ่ม diff --git a/share/translations/keepassx_tr.ts b/share/translations/keepassx_tr.ts index 5b3b6f439..e4fc45277 100644 --- a/share/translations/keepassx_tr.ts +++ b/share/translations/keepassx_tr.ts @@ -78,7 +78,8 @@ MİB mimarisi: %2 Build Type: %1 - + İnşa Türü: %1 + @@ -882,7 +883,7 @@ If you keep this number, your database may be too easy to crack! Memory Usage: - + Bellek Kullanımı: Parallelism: @@ -909,7 +910,7 @@ If you keep this number, your database may be too easy to crack! History Settings - + Geçmiş Ayarları Max. history items: @@ -1219,7 +1220,7 @@ Do you want to merge your changes? Attributes - + Öznitelikler Attachments @@ -1247,11 +1248,11 @@ Do you want to merge your changes? Never - + Asla [PROTECTED] - + [KORUMALI] Disabled @@ -1298,7 +1299,7 @@ Do you want to merge your changes? (encrypted) - + (şifrelenmiş) Select private key @@ -1342,7 +1343,7 @@ Do you want to merge your changes? [PROTECTED] - + [KORUMALI] Press reveal to view or edit @@ -1896,7 +1897,7 @@ This may cause the affected plugins to malfunction. Never - + Asla Password @@ -2560,6 +2561,33 @@ Bu tek yönlü bir yer değiştirmedir. İçe aktarılan veri tabanını eski Ke + + KeePass2 + + AES: 256-bit + AES: 256-bit + + + Twofish: 256-bit + Twofish: 256-bit + + + ChaCha20: 256-bit + ChaCha20: 256-bit + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – önerilen) + + Main @@ -3460,30 +3488,6 @@ Available commands: missing closing quote - - AES: 256-bit - AES: 256-bit - - - Twofish: 256-bit - Twofish: 256-bit - - - ChaCha20: 256-bit - ChaCha20: 256-bit - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – önerilen) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Küme diff --git a/share/translations/keepassx_uk.ts b/share/translations/keepassx_uk.ts index 6c22350db..b244f55c6 100644 --- a/share/translations/keepassx_uk.ts +++ b/share/translations/keepassx_uk.ts @@ -2581,6 +2581,33 @@ This is a one-way migration. You won't be able to open the imported databas Хибний тип поля запису + + KeePass2 + + AES: 256-bit + AES: 256-біт + + + Twofish: 256-bit + Twofish: 256-біт + + + ChaCha20: 256-bit + ChaCha20: 256-біт + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – рекомендовано) + + Main @@ -3489,30 +3516,6 @@ Available commands: missing closing quote бракує закривальних лапок - - AES: 256-bit - AES: 256-біт - - - Twofish: 256-bit - Twofish: 256-біт - - - ChaCha20: 256-bit - ChaCha20: 256-біт - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – рекомендовано) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group Група diff --git a/share/translations/keepassx_zh_CN.ts b/share/translations/keepassx_zh_CN.ts index 4a2381a68..5fd915e92 100644 --- a/share/translations/keepassx_zh_CN.ts +++ b/share/translations/keepassx_zh_CN.ts @@ -2559,6 +2559,33 @@ This is a one-way migration. You won't be able to open the imported databas + + KeePass2 + + AES: 256-bit + AES:256位 + + + Twofish: 256-bit + Twofish:256位 + + + ChaCha20: 256-bit + ChaCha20:256位 + + + AES-KDF (KDBX 4) + AES-KDF(KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF(KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2(推荐 KDBX 4) + + Main @@ -3459,30 +3486,6 @@ Available commands: missing closing quote 缺少后引号 - - AES: 256-bit - AES:256位 - - - Twofish: 256-bit - Twofish:256位 - - - ChaCha20: 256-bit - ChaCha20:256位 - - - Argon2 (KDBX 4 – recommended) - Argon2(推荐 KDBX 4) - - - AES-KDF (KDBX 4) - AES-KDF(KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF(KDBX 3.1) - Group 群组 diff --git a/share/translations/keepassx_zh_TW.ts b/share/translations/keepassx_zh_TW.ts index af8120977..7adcdd8b8 100644 --- a/share/translations/keepassx_zh_TW.ts +++ b/share/translations/keepassx_zh_TW.ts @@ -2577,6 +2577,33 @@ This is a one-way migration. You won't be able to open the imported databas 無效的項目欄位類型 + + KeePass2 + + AES: 256-bit + AES: 256 位元 + + + Twofish: 256-bit + Twofish: 256 位元 + + + ChaCha20: 256-bit + ChaCha20: 256 位元 + + + AES-KDF (KDBX 4) + AES-KDF (KDBX 4) + + + AES-KDF (KDBX 3.1) + AES-KDF (KDBX 3.1) + + + Argon2 (KDBX 4 – recommended) + Argon2 (KDBX 4 – 推薦) + + Main @@ -3484,30 +3511,6 @@ Available commands: missing closing quote 缺少右引號 - - AES: 256-bit - AES: 256 位元 - - - Twofish: 256-bit - Twofish: 256 位元 - - - ChaCha20: 256-bit - ChaCha20: 256 位元 - - - Argon2 (KDBX 4 – recommended) - Argon2 (KDBX 4 – 推薦) - - - AES-KDF (KDBX 4) - AES-KDF (KDBX 4) - - - AES-KDF (KDBX 3.1) - AES-KDF (KDBX 3.1) - Group 群組 diff --git a/snapcraft.yaml b/snapcraft.yaml index f4b906619..7fe9f9726 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -1,5 +1,5 @@ name: keepassxc -version: 2.3.0 +version: 2.3.1 grade: stable summary: Community-driven port of the Windows application “KeePass Password Safe” description: | @@ -28,6 +28,7 @@ parts: - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_INSTALL_PREFIX=/usr - -DKEEPASSXC_DIST_TYPE=Snap + - -DKEEPASSXC_BUILD_TYPE=Release - -DWITH_TESTS=OFF - -DWITH_XC_ALL=ON build-packages: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 69526967c..b3c7a650f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -152,6 +152,7 @@ set(keepassx_SOURCES gui/group/EditGroupWidget.cpp gui/group/GroupModel.cpp gui/group/GroupView.cpp + keys/ChallengeResponseKey.h keys/CompositeKey.cpp keys/drivers/YubiKey.h keys/FileKey.cpp @@ -175,7 +176,7 @@ if(APPLE) core/MacPasteboard.cpp ) endif() -if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") +if(UNIX AND NOT APPLE) set(keepassx_SOURCES ${keepassx_SOURCES} core/ScreenLockListenerDBus.h core/ScreenLockListenerDBus.cpp @@ -401,7 +402,6 @@ if(MINGW) ${PLUGINS_DIR}/imageformats/qicns$<$:d>.dll ${PLUGINS_DIR}/imageformats/qico$<$:d>.dll ${PLUGINS_DIR}/imageformats/qjpeg$<$:d>.dll - ${PLUGINS_DIR}/imageformats/qsvg$<$:d>.dll ${PLUGINS_DIR}/imageformats/qwebp$<$:d>.dll DESTINATION "imageformats") diff --git a/src/autotype/AutoType.cpp b/src/autotype/AutoType.cpp index 92dab488a..aa8064bac 100644 --- a/src/autotype/AutoType.cpp +++ b/src/autotype/AutoType.cpp @@ -659,6 +659,7 @@ bool AutoType::checkSyntax(const QString& string) QString delay = "DELAY=\\d+"; QString beep = "BEEP\\s\\d+\\s\\d+"; QString vkey = "VKEY(?:-[EN]X)?\\s\\w+"; + QString customAttributes = "S:(?:[^\\{\\}])+"; // these chars aren't in parentheses QString shortcutKeys = "[\\^\\%~\\+@]"; @@ -666,7 +667,7 @@ bool AutoType::checkSyntax(const QString& string) QString fixedStrings = "[^\\^\\%~\\+@\\{\\}]*"; QRegularExpression autoTypeSyntax("^(?:" + shortcutKeys + "|" + fixedStrings + "|\\{(?:" + normalCommands + "|" + specialLiterals + - "|" + functionKeys + "|" + numpad + "|" + delay + "|" + beep + "|" + vkey + ")\\})*$", + "|" + functionKeys + "|" + numpad + "|" + delay + "|" + beep + "|" + vkey + ")\\}|\\{" + customAttributes + "\\})*$", QRegularExpression::CaseInsensitiveOption); QRegularExpressionMatch match = autoTypeSyntax.match(string); return match.hasMatch(); diff --git a/src/browser/NativeMessagingHost.cpp b/src/browser/NativeMessagingHost.cpp index 4dfa87d51..0101e9444 100755 --- a/src/browser/NativeMessagingHost.cpp +++ b/src/browser/NativeMessagingHost.cpp @@ -107,18 +107,26 @@ void NativeMessagingHost::readLength() void NativeMessagingHost::readStdIn(const quint32 length) { - if (length > 0) { - QByteArray arr; - arr.reserve(length); + if (length <= 0) { + return; + } - for (quint32 i = 0; i < length; ++i) { - arr.append(getchar()); - } + QByteArray arr; + arr.reserve(length); - if (arr.length() > 0) { - QMutexLocker locker(&m_mutex); - sendReply(m_browserClients.readResponse(arr)); + QMutexLocker locker(&m_mutex); + + for (quint32 i = 0; i < length; ++i) { + int c = std::getchar(); + if (c == EOF) { + // message ended prematurely, ignore it and return + return; } + arr.append(static_cast(c)); + } + + if (arr.length() > 0) { + sendReply(m_browserClients.readResponse(arr)); } } diff --git a/src/core/Database.cpp b/src/core/Database.cpp index 00cb76f48..8fe8d04c7 100644 --- a/src/core/Database.cpp +++ b/src/core/Database.cpp @@ -320,7 +320,12 @@ bool Database::verifyKey(const CompositeKey& key) const return (m_data.key.rawKey() == key.rawKey()); } -QVariantMap Database::publicCustomData() const +QVariantMap& Database::publicCustomData() +{ + return m_data.publicCustomData; +} + +const QVariantMap& Database::publicCustomData() const { return m_data.publicCustomData; } diff --git a/src/core/Database.h b/src/core/Database.h index 394e31475..583ed3cac 100644 --- a/src/core/Database.h +++ b/src/core/Database.h @@ -105,7 +105,8 @@ public: bool updateTransformSalt = false); bool hasKey() const; bool verifyKey(const CompositeKey& key) const; - QVariantMap publicCustomData() const; + QVariantMap& publicCustomData(); + const QVariantMap& publicCustomData() const; void setPublicCustomData(const QVariantMap& customData); void recycleEntry(Entry* entry); void recycleGroup(Group* group); diff --git a/src/core/Entry.cpp b/src/core/Entry.cpp index fa45ca5e4..25ef6b50e 100644 --- a/src/core/Entry.cpp +++ b/src/core/Entry.cpp @@ -796,32 +796,32 @@ QString Entry::resolvePlaceholderRecursive(const QString& placeholder, int maxDe switch (typeOfPlaceholder) { case PlaceholderType::NotPlaceholder: case PlaceholderType::Unknown: - return placeholder; + return resolveMultiplePlaceholdersRecursive(placeholder, maxDepth - 1); case PlaceholderType::Title: if (placeholderType(title()) == PlaceholderType::Title) { return title(); } - return resolvePlaceholderRecursive(title(), maxDepth - 1); + return resolveMultiplePlaceholdersRecursive(title(), maxDepth - 1); case PlaceholderType::UserName: if (placeholderType(username()) == PlaceholderType::UserName) { return username(); } - return resolvePlaceholderRecursive(username(), maxDepth - 1); + return resolveMultiplePlaceholdersRecursive(username(), maxDepth - 1); case PlaceholderType::Password: if (placeholderType(password()) == PlaceholderType::Password) { return password(); } - return resolvePlaceholderRecursive(password(), maxDepth - 1); + return resolveMultiplePlaceholdersRecursive(password(), maxDepth - 1); case PlaceholderType::Notes: if (placeholderType(notes()) == PlaceholderType::Notes) { return notes(); } - return resolvePlaceholderRecursive(notes(), maxDepth - 1); + return resolveMultiplePlaceholdersRecursive(notes(), maxDepth - 1); case PlaceholderType::Url: if (placeholderType(url()) == PlaceholderType::Url) { return url(); } - return resolvePlaceholderRecursive(url(), maxDepth - 1); + return resolveMultiplePlaceholdersRecursive(url(), maxDepth - 1); case PlaceholderType::UrlWithoutScheme: case PlaceholderType::UrlScheme: case PlaceholderType::UrlHost: diff --git a/src/core/MacPasteboard.h b/src/core/MacPasteboard.h index 8461cbc5d..d471a096a 100644 --- a/src/core/MacPasteboard.h +++ b/src/core/MacPasteboard.h @@ -20,8 +20,9 @@ #include #include +#include -class MacPasteboard : public QMacPasteboardMime +class MacPasteboard : public QObject, public QMacPasteboardMime { public: explicit MacPasteboard() : QMacPasteboardMime(MIME_ALL) {} diff --git a/src/core/Translator.cpp b/src/core/Translator.cpp index 94aed3adf..34bc7c2e6 100644 --- a/src/core/Translator.cpp +++ b/src/core/Translator.cpp @@ -53,6 +53,9 @@ void Translator::installTranslators() bool translationsLoaded = false; for (const QString& path : paths) { translationsLoaded |= installTranslator(language, path) || installTranslator("en_US", path); + if (!installQtTranslator(language, path)) { + installQtTranslator("en", path); + } } if (!translationsLoaded) { // couldn't load configured language or fallback diff --git a/src/format/KdbxXmlReader.cpp b/src/format/KdbxXmlReader.cpp index 8f6bd2835..0eb9e1c67 100644 --- a/src/format/KdbxXmlReader.cpp +++ b/src/format/KdbxXmlReader.cpp @@ -188,6 +188,12 @@ QString KdbxXmlReader::errorString() const return QString(); } +bool KdbxXmlReader::isTrueValue(const QStringRef& value) +{ + return value.compare(QLatin1String("true"), Qt::CaseInsensitive) == 0 + || value == "1"; +} + void KdbxXmlReader::raiseError(const QString& errorMessage) { m_error = true; @@ -378,15 +384,9 @@ void KdbxXmlReader::parseBinaries() } QXmlStreamAttributes attr = m_xml.attributes(); - QString id = attr.value("ID").toString(); - - QByteArray data; - if (attr.value("Compressed").compare(QLatin1String("True"), Qt::CaseInsensitive) == 0) { - data = readCompressedBinary(); - } else { - data = readBinary(); - } + QByteArray data = isTrueValue(attr.value("Compressed")) + ? readCompressedBinary() : readBinary(); if (m_binaryPool.contains(id)) { qWarning("KdbxXmlReader::parseBinaries: overwriting binary item \"%s\"", @@ -812,28 +812,9 @@ void KdbxXmlReader::parseEntryString(Entry* entry) if (m_xml.name() == "Value") { QXmlStreamAttributes attr = m_xml.attributes(); - value = readString(); - - bool isProtected = attr.value("Protected") == "True"; - bool protectInMemory = attr.value("ProtectInMemory") == "True"; - - if (isProtected && !value.isEmpty()) { - if (m_randomStream) { - QByteArray ciphertext = QByteArray::fromBase64(value.toLatin1()); - bool ok; - QByteArray plaintext = m_randomStream->process(ciphertext, &ok); - if (!ok) { - value.clear(); - raiseError(m_randomStream->errorString()); - } else { - value = QString::fromUtf8(plaintext); - } - } else { - raiseError(tr("Unable to decrypt entry string")); - continue; - } - } - + bool isProtected; + bool protectInMemory; + value = readString(isProtected, protectInMemory); protect = isProtected || protectInMemory; valueSet = true; continue; @@ -881,14 +862,6 @@ QPair KdbxXmlReader::parseEntryBinary(Entry* entry) } else { // format compatibility value = readBinary(); - bool isProtected = attr.hasAttribute("Protected") - && (attr.value("Protected") == "True"); - - if (isProtected && !value.isEmpty()) { - if (!m_randomStream->processInPlace(value)) { - raiseError(m_randomStream->errorString()); - } - } } valueSet = true; @@ -1003,17 +976,43 @@ TimeInfo KdbxXmlReader::parseTimes() QString KdbxXmlReader::readString() { - return m_xml.readElementText(); + bool isProtected; + bool protectInMemory; + + return readString(isProtected, protectInMemory); +} + +QString KdbxXmlReader::readString(bool& isProtected, bool& protectInMemory) +{ + QXmlStreamAttributes attr = m_xml.attributes(); + isProtected = isTrueValue(attr.value("Protected")); + protectInMemory = isTrueValue(attr.value("ProtectInMemory")); + QString value = m_xml.readElementText(); + + if (isProtected && !value.isEmpty()) { + QByteArray ciphertext = QByteArray::fromBase64(value.toLatin1()); + bool ok; + QByteArray plaintext = m_randomStream->process(ciphertext, &ok); + if (!ok) { + value.clear(); + raiseError(m_randomStream->errorString()); + return value; + } + + value = QString::fromUtf8(plaintext); + } + + return value; } bool KdbxXmlReader::readBool() { QString str = readString(); - if (str.compare("True", Qt::CaseInsensitive) == 0) { + if (str.compare("true", Qt::CaseInsensitive) == 0) { return true; } - if (str.compare("False", Qt::CaseInsensitive) == 0) { + if (str.compare("false", Qt::CaseInsensitive) == 0) { return false; } if (str.length() == 0) { @@ -1112,7 +1111,24 @@ Uuid KdbxXmlReader::readUuid() QByteArray KdbxXmlReader::readBinary() { - return QByteArray::fromBase64(readString().toLatin1()); + QXmlStreamAttributes attr = m_xml.attributes(); + bool isProtected = isTrueValue(attr.value("Protected")); + QString value = m_xml.readElementText(); + QByteArray data = QByteArray::fromBase64(value.toLatin1()); + + if (isProtected && !data.isEmpty()) { + bool ok; + QByteArray plaintext = m_randomStream->process(data, &ok); + if (!ok) { + data.clear(); + raiseError(m_randomStream->errorString()); + return data; + } + + data = plaintext; + } + + return data; } QByteArray KdbxXmlReader::readCompressedBinary() diff --git a/src/format/KdbxXmlReader.h b/src/format/KdbxXmlReader.h index b080094ba..500151828 100644 --- a/src/format/KdbxXmlReader.h +++ b/src/format/KdbxXmlReader.h @@ -81,6 +81,7 @@ protected: virtual TimeInfo parseTimes(); virtual QString readString(); + virtual QString readString(bool& isProtected, bool& protectInMemory); virtual bool readBool(); virtual QDateTime readDateTime(); virtual QColor readColor(); @@ -94,6 +95,7 @@ protected: virtual Group* getGroup(const Uuid& uuid); virtual Entry* getEntry(const Uuid& uuid); + virtual bool isTrueValue(const QStringRef& value); virtual void raiseError(const QString& errorMessage); const quint32 m_kdbxVersion; diff --git a/src/format/KdbxXmlWriter.cpp b/src/format/KdbxXmlWriter.cpp index 8f405aca0..a546f3171 100644 --- a/src/format/KdbxXmlWriter.cpp +++ b/src/format/KdbxXmlWriter.cpp @@ -129,9 +129,7 @@ void KdbxXmlWriter::writeMetadata() if (m_kdbxVersion < KeePass2::FILE_VERSION_4) { writeBinaries(); } - if (m_kdbxVersion >= KeePass2::FILE_VERSION_4) { - writeCustomData(m_meta->customData()); - } + writeCustomData(m_meta->customData()); m_xml.writeEndElement(); } diff --git a/src/format/KeePass2.cpp b/src/format/KeePass2.cpp index 30fb304c7..9c0355cd4 100644 --- a/src/format/KeePass2.cpp +++ b/src/format/KeePass2.cpp @@ -45,15 +45,15 @@ const QString KeePass2::KDFPARAM_ARGON2_SECRET("K"); const QString KeePass2::KDFPARAM_ARGON2_ASSOCDATA("A"); const QList> KeePass2::CIPHERS{ - qMakePair(KeePass2::CIPHER_AES, QObject::tr("AES: 256-bit")), - qMakePair(KeePass2::CIPHER_TWOFISH, QObject::tr("Twofish: 256-bit")), - qMakePair(KeePass2::CIPHER_CHACHA20, QObject::tr("ChaCha20: 256-bit")) + qMakePair(KeePass2::CIPHER_AES, QString(QT_TRANSLATE_NOOP("KeePass2", "AES: 256-bit"))), + qMakePair(KeePass2::CIPHER_TWOFISH, QString(QT_TRANSLATE_NOOP("KeePass2", "Twofish: 256-bit"))), + qMakePair(KeePass2::CIPHER_CHACHA20, QString(QT_TRANSLATE_NOOP("KeePass2", "ChaCha20: 256-bit"))) }; const QList> KeePass2::KDFS{ - qMakePair(KeePass2::KDF_ARGON2, QObject::tr("Argon2 (KDBX 4 – recommended)")), - qMakePair(KeePass2::KDF_AES_KDBX4, QObject::tr("AES-KDF (KDBX 4)")), - qMakePair(KeePass2::KDF_AES_KDBX3, QObject::tr("AES-KDF (KDBX 3.1)")) + qMakePair(KeePass2::KDF_ARGON2, QString(QT_TRANSLATE_NOOP("KeePass2", "Argon2 (KDBX 4 – recommended)"))), + qMakePair(KeePass2::KDF_AES_KDBX4, QString(QT_TRANSLATE_NOOP("KeePass2", "AES-KDF (KDBX 4)"))), + qMakePair(KeePass2::KDF_AES_KDBX3, QString(QT_TRANSLATE_NOOP("KeePass2", "AES-KDF (KDBX 3.1)"))) }; QByteArray KeePass2::hmacKey(QByteArray masterSeed, QByteArray transformedMasterKey) { diff --git a/src/format/KeePass2Writer.cpp b/src/format/KeePass2Writer.cpp index 68cf3af99..325986a33 100644 --- a/src/format/KeePass2Writer.cpp +++ b/src/format/KeePass2Writer.cpp @@ -43,6 +43,36 @@ bool KeePass2Writer::writeDatabase(const QString& filename, Database* db) return writeDatabase(&file, db); } +/** + * @return true if the database should upgrade to KDBX4. + */ +bool KeePass2Writer::implicitUpgradeNeeded(Database const* db) const +{ + if (!db->publicCustomData().isEmpty()) { + return true; + } + + for (const auto& group: db->rootGroup()->groupsRecursive(true)) { + if (group->customData() && !group->customData()->isEmpty()) { + return true; + } + + for (const auto& entry: group->entries()) { + if (entry->customData() && !entry->customData()->isEmpty()) { + return true; + } + + for (const auto& historyItem: entry->historyItems()) { + if (historyItem->customData() && !historyItem->customData()->isEmpty()) { + return true; + } + } + } + } + + return false; +} + /** * Write a database to a device in KDBX format. * @@ -55,19 +85,15 @@ bool KeePass2Writer::writeDatabase(QIODevice* device, Database* db) { m_error = false; m_errorStr.clear(); - // determine KDBX3 vs KDBX4 - bool hasCustomData = !db->publicCustomData().isEmpty() || (db->metadata()->customData() && !db->metadata()->customData()->isEmpty()); - if (!hasCustomData) { - for (const auto& entry: db->rootGroup()->entriesRecursive(true)) { - if ((entry->customData() && !entry->customData()->isEmpty()) || - (entry->group() && entry->group()->customData() && !entry->group()->customData()->isEmpty())) { - hasCustomData = true; - break; - } - } + bool upgradeNeeded = implicitUpgradeNeeded(db); + if (upgradeNeeded) { + // We MUST re-transform the key, because challenge-response hashing has changed in KDBX 4. + // If we forget to re-transform, the database will be saved WITHOUT a challenge-response key component! + db->changeKdf(KeePass2::uuidToKdf(KeePass2::KDF_AES_KDBX4)); } - if (db->kdf()->uuid() == KeePass2::KDF_AES_KDBX3 && !hasCustomData) { + if (db->kdf()->uuid() == KeePass2::KDF_AES_KDBX3) { + Q_ASSERT(!upgradeNeeded); m_version = KeePass2::FILE_VERSION_3_1; m_writer.reset(new Kdbx3Writer()); } else { diff --git a/src/format/KeePass2Writer.h b/src/format/KeePass2Writer.h index 98daed5e3..f024d4a83 100644 --- a/src/format/KeePass2Writer.h +++ b/src/format/KeePass2Writer.h @@ -42,6 +42,7 @@ public: private: void raiseError(const QString& errorMessage); + bool implicitUpgradeNeeded(Database const* db) const; bool m_error = false; QString m_errorStr = ""; diff --git a/src/gui/CategoryListWidget.cpp b/src/gui/CategoryListWidget.cpp index c93ac46e7..f091cc243 100644 --- a/src/gui/CategoryListWidget.cpp +++ b/src/gui/CategoryListWidget.cpp @@ -152,8 +152,9 @@ void CategoryListWidget::emitCategoryChanged(int index) CategoryListWidgetDelegate::CategoryListWidgetDelegate(QListWidget* parent) : QStyledItemDelegate(parent), m_listWidget(parent), - m_size(minWidth(), 96) + m_size(96, 96) { + m_size.setWidth(minWidth()); if (m_listWidget && m_listWidget->width() > m_size.width()) { m_size.setWidth(m_listWidget->width()); } diff --git a/src/gui/Clipboard.cpp b/src/gui/Clipboard.cpp index 78bad2731..2c0d3d6ed 100644 --- a/src/gui/Clipboard.cpp +++ b/src/gui/Clipboard.cpp @@ -24,14 +24,19 @@ #include "core/Config.h" Clipboard* Clipboard::m_instance(nullptr); +#ifdef Q_OS_MAC +QPointer Clipboard::m_pasteboard(nullptr); +#endif Clipboard::Clipboard(QObject* parent) : QObject(parent) , m_timer(new QTimer(this)) -#ifdef Q_OS_MAC - , m_pasteboard(new MacPasteboard) -#endif { +#ifdef Q_OS_MAC + if (!m_pasteboard) { + m_pasteboard = new MacPasteboard(); + } +#endif m_timer->setSingleShot(true); connect(m_timer, SIGNAL(timeout()), SLOT(clearClipboard())); connect(qApp, SIGNAL(aboutToQuit()), SLOT(clearCopiedText())); diff --git a/src/gui/Clipboard.h b/src/gui/Clipboard.h index 6f8ff9ace..279ae7f03 100644 --- a/src/gui/Clipboard.h +++ b/src/gui/Clipboard.h @@ -21,6 +21,7 @@ #include #ifdef Q_OS_MAC #include "core/MacPasteboard.h" +#include #endif class QTimer; @@ -47,7 +48,9 @@ private: QTimer* m_timer; #ifdef Q_OS_MAC - QScopedPointer m_pasteboard; + // This object lives for the whole program lifetime and we cannot delete it on exit, + // so ignore leak warnings. See https://bugreports.qt.io/browse/QTBUG-54832 + static QPointer m_pasteboard; #endif QString m_lastCopied; }; diff --git a/src/gui/DatabaseSettingsWidget.cpp b/src/gui/DatabaseSettingsWidget.cpp index cad04b297..79b84f88c 100644 --- a/src/gui/DatabaseSettingsWidget.cpp +++ b/src/gui/DatabaseSettingsWidget.cpp @@ -102,7 +102,7 @@ void DatabaseSettingsWidget::load(Database* db) m_uiEncryption->algorithmComboBox->clear(); for (auto& cipher: asConst(KeePass2::CIPHERS)) { - m_uiEncryption->algorithmComboBox->addItem(cipher.second, cipher.first.toByteArray()); + m_uiEncryption->algorithmComboBox->addItem(QCoreApplication::translate("KeePass2", cipher.second.toUtf8()), cipher.first.toByteArray()); } int cipherIndex = m_uiEncryption->algorithmComboBox->findData(m_db->cipher().toByteArray()); if (cipherIndex > -1) { @@ -113,7 +113,7 @@ void DatabaseSettingsWidget::load(Database* db) m_uiEncryption->kdfComboBox->blockSignals(true); m_uiEncryption->kdfComboBox->clear(); for (auto& kdf: asConst(KeePass2::KDFS)) { - m_uiEncryption->kdfComboBox->addItem(kdf.second, kdf.first.toByteArray()); + m_uiEncryption->kdfComboBox->addItem(QCoreApplication::translate("KeePass2", kdf.second.toUtf8()), kdf.first.toByteArray()); } m_uiEncryption->kdfComboBox->blockSignals(false); diff --git a/src/gui/DatabaseWidget.cpp b/src/gui/DatabaseWidget.cpp index ff9d15fc0..0573a0189 100644 --- a/src/gui/DatabaseWidget.cpp +++ b/src/gui/DatabaseWidget.cpp @@ -129,6 +129,7 @@ DatabaseWidget::DatabaseWidget(Database* db, QWidget* parent) m_detailSplitter->setStretchFactor(0, 100); m_detailSplitter->setStretchFactor(1, 0); + m_detailSplitter->setSizes({1, 1}); m_searchingLabel->setVisible(false); @@ -597,7 +598,7 @@ void DatabaseWidget::copyAttribute(QAction* action) return; } - setClipboardTextAndMinimize(currentEntry->resolveMultiplePlaceholders(currentEntry->attributes()->value(action->text()))); + setClipboardTextAndMinimize(currentEntry->resolveMultiplePlaceholders(currentEntry->attributes()->value(action->data().toString()))); } void DatabaseWidget::setClipboardTextAndMinimize(const QString& text) diff --git a/src/gui/EditWidgetIcons.cpp b/src/gui/EditWidgetIcons.cpp index 1c33150b5..af4476ac3 100644 --- a/src/gui/EditWidgetIcons.cpp +++ b/src/gui/EditWidgetIcons.cpp @@ -197,12 +197,12 @@ QImage EditWidgetIcons::fetchFavicon(const QUrl& url) curl_easy_setopt(curl, CURLOPT_URL, baUrl.data()); curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 5L); curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); + curl_easy_setopt(curl, CURLOPT_USERAGENT, "curl"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); - curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 5L); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L); curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &imagedata); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &writeCurlResponse); - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L); #ifdef Q_OS_WIN const QDir appDir = QFileInfo(QCoreApplication::applicationFilePath()).absoluteDir(); if (appDir.exists("ssl\\certs")) { diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 76f1ffb60..1822c48d4 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -198,6 +198,7 @@ MainWindow::MainWindow() #endif #ifdef WITH_XC_SSHAGENT SSHAgent::init(this); + connect(SSHAgent::instance(), SIGNAL(error(QString)), this, SLOT(showErrorMessage(QString))); m_ui->settingsWidget->addSettingsPage(new AgentSettingsPage(m_ui->tabWidget)); #endif @@ -454,6 +455,11 @@ void MainWindow::showKeePassHTTPDeprecationNotice() disconnect(m_ui->globalMessageWidget, SIGNAL(hideAnimationFinished()), this, SLOT(showKeePassHTTPDeprecationNotice())); } +void MainWindow::showErrorMessage(const QString& message) +{ + m_ui->globalMessageWidget->showMessage(message, MessageWidget::Error); +} + void MainWindow::appExit() { m_appExitCalled = true; @@ -493,6 +499,7 @@ void MainWindow::updateCopyAttributesMenu() const QStringList customEntryAttributes = dbWidget->customEntryAttributes(); for (const QString& key : customEntryAttributes) { QAction* action = m_ui->menuEntryCopyAttribute->addAction(key); + action->setData(QVariant(key)); m_copyAdditionalAttributeActions->addAction(action); } } @@ -933,7 +940,7 @@ void MainWindow::setShortcut(QAction* action, QKeySequence::StandardKey standard void MainWindow::rememberOpenDatabases(const QString& filePath) { - m_openDatabases.append(filePath); + m_openDatabases.prepend(filePath); } void MainWindow::applySettingsChanges() @@ -1150,4 +1157,4 @@ void MainWindow::closeAllDatabases() void MainWindow::lockAllDatabases() { lockDatabasesAfterInactivity(); -} \ No newline at end of file +} diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h index fd31fab0b..20e548910 100644 --- a/src/gui/MainWindow.h +++ b/src/gui/MainWindow.h @@ -104,6 +104,7 @@ private slots: void hideTabMessage(); void handleScreenLock(); void showKeePassHTTPDeprecationNotice(); + void showErrorMessage(const QString& message); private: static void setShortcut(QAction* action, QKeySequence::StandardKey standard, int fallback = 0); diff --git a/src/gui/MainWindow.ui b/src/gui/MainWindow.ui index 397f7c267..648a0e61a 100644 --- a/src/gui/MainWindow.ui +++ b/src/gui/MainWindow.ui @@ -175,14 +175,6 @@ - - - 0 - 0 - 800 - 34 - - &Database @@ -288,6 +280,12 @@ false + + + 22 + 22 + + TopToolBarArea diff --git a/src/gui/entry/EditEntryWidget.cpp b/src/gui/entry/EditEntryWidget.cpp index 3b70e4453..4d12dd16b 100644 --- a/src/gui/entry/EditEntryWidget.cpp +++ b/src/gui/entry/EditEntryWidget.cpp @@ -346,24 +346,32 @@ void EditEntryWidget::updateSSHAgentKeyInfo() return; } - m_sshAgentUi->fingerprintTextLabel->setText(key.fingerprint()); - - if (key.encrypted()) { - m_sshAgentUi->commentTextLabel->setText(tr("(encrypted)")); - m_sshAgentUi->decryptButton->setEnabled(true); + if (!key.fingerprint().isEmpty()) { + m_sshAgentUi->fingerprintTextLabel->setText(key.fingerprint()); } else { - m_sshAgentUi->commentTextLabel->setText(key.comment()); + m_sshAgentUi->fingerprintTextLabel->setText(tr("(encrypted)")); } - m_sshAgentUi->publicKeyEdit->document()->setPlainText(key.publicKey()); + if (!key.comment().isEmpty() || !key.encrypted()) { + m_sshAgentUi->commentTextLabel->setText(key.comment()); + } else { + m_sshAgentUi->commentTextLabel->setText(tr("(encrypted)")); + m_sshAgentUi->decryptButton->setEnabled(true); + } + + if (!key.publicKey().isEmpty()) { + m_sshAgentUi->publicKeyEdit->document()->setPlainText(key.publicKey()); + m_sshAgentUi->copyToClipboardButton->setEnabled(true); + } else { + m_sshAgentUi->publicKeyEdit->document()->setPlainText(tr("(encrypted)")); + m_sshAgentUi->copyToClipboardButton->setDisabled(true); + } // enable agent buttons only if we have an agent running if (SSHAgent::instance()->isAgentRunning()) { m_sshAgentUi->addToAgentButton->setEnabled(true); m_sshAgentUi->removeFromAgentButton->setEnabled(true); } - - m_sshAgentUi->copyToClipboardButton->setEnabled(true); } void EditEntryWidget::saveSSHAgentConfig() @@ -410,7 +418,7 @@ void EditEntryWidget::browsePrivateKey() } } -bool EditEntryWidget::getOpenSSHKey(OpenSSHKey& key) +bool EditEntryWidget::getOpenSSHKey(OpenSSHKey& key, bool decrypt) { QByteArray privateKeyData; @@ -436,7 +444,7 @@ bool EditEntryWidget::getOpenSSHKey(OpenSSHKey& key) privateKeyData = localFile.readAll(); } - if (privateKeyData.length() == 0) { + if (privateKeyData.isEmpty()) { return false; } @@ -445,6 +453,13 @@ bool EditEntryWidget::getOpenSSHKey(OpenSSHKey& key) return false; } + if (key.encrypted() && (decrypt || key.publicKey().isEmpty())) { + if (!key.openPrivateKey(m_entry->password())) { + showMessage(key.errorString(), MessageWidget::Error); + return false; + } + } + if (key.comment().isEmpty()) { key.setComment(m_entry->username()); } @@ -456,16 +471,12 @@ void EditEntryWidget::addKeyToAgent() { OpenSSHKey key; - if (!getOpenSSHKey(key)) { + if (!getOpenSSHKey(key, true)) { return; } - if (!key.openPrivateKey(m_entry->password())) { - showMessage(key.errorString(), MessageWidget::Error); - } else { - m_sshAgentUi->commentTextLabel->setText(key.comment()); - m_sshAgentUi->publicKeyEdit->document()->setPlainText(key.publicKey()); - } + m_sshAgentUi->commentTextLabel->setText(key.comment()); + m_sshAgentUi->publicKeyEdit->document()->setPlainText(key.publicKey()); quint32 lifetime = 0; bool confirm = m_sshAgentUi->requireUserConfirmationCheckBox->isChecked(); @@ -474,7 +485,10 @@ void EditEntryWidget::addKeyToAgent() lifetime = m_sshAgentUi->lifetimeSpinBox->value(); } - SSHAgent::instance()->addIdentity(key, lifetime, confirm); + if (!SSHAgent::instance()->addIdentity(key, lifetime, confirm)) { + showMessage(SSHAgent::instance()->errorString(), MessageWidget::Error); + return; + } if (m_sshAgentUi->removeKeyFromAgentCheckBox->isChecked()) { SSHAgent::instance()->removeIdentityAtLock(key, m_entry->uuid()); @@ -485,8 +499,13 @@ void EditEntryWidget::removeKeyFromAgent() { OpenSSHKey key; - if (getOpenSSHKey(key)) { - SSHAgent::instance()->removeIdentity(key); + if (!getOpenSSHKey(key)) { + return; + } + + if (!SSHAgent::instance()->removeIdentity(key)) { + showMessage(SSHAgent::instance()->errorString(), MessageWidget::Error); + return; } } @@ -494,16 +513,19 @@ void EditEntryWidget::decryptPrivateKey() { OpenSSHKey key; - if (!getOpenSSHKey(key)) { + if (!getOpenSSHKey(key, true)) { return; } - if (!key.openPrivateKey(m_entry->password())) { - showMessage(key.errorString(), MessageWidget::Error); - } else { + if (!key.comment().isEmpty()) { m_sshAgentUi->commentTextLabel->setText(key.comment()); - m_sshAgentUi->publicKeyEdit->document()->setPlainText(key.publicKey()); + } else { + m_sshAgentUi->commentTextLabel->setText(tr("n/a")); } + + m_sshAgentUi->fingerprintTextLabel->setText(key.fingerprint()); + m_sshAgentUi->publicKeyEdit->document()->setPlainText(key.publicKey()); + m_sshAgentUi->copyToClipboardButton->setEnabled(true); } void EditEntryWidget::copyPublicKey() diff --git a/src/gui/entry/EditEntryWidget.h b/src/gui/entry/EditEntryWidget.h index 66d89dbfb..a7c8e3271 100644 --- a/src/gui/entry/EditEntryWidget.h +++ b/src/gui/entry/EditEntryWidget.h @@ -128,7 +128,7 @@ private: QMenu* createPresetsMenu(); void updateEntryData(Entry* entry) const; #ifdef WITH_XC_SSHAGENT - bool getOpenSSHKey(OpenSSHKey& key); + bool getOpenSSHKey(OpenSSHKey& key, bool decrypt = false); void saveSSHAgentConfig(); #endif diff --git a/src/http/Server.cpp b/src/http/Server.cpp index 6a9cd94b1..08c5b20bf 100644 --- a/src/http/Server.cpp +++ b/src/http/Server.cpp @@ -140,7 +140,11 @@ void Server::generatePassword(const Request &r, Response *protocolResp) protocolResp->setVerifier(key); protocolResp->setEntries(QList() << Entry("generate-password", bits, password, "generate-password")); - memset(password.data(), 0, password.length()); + int size = password.capacity(); + volatile auto* mem = reinterpret_cast(password.data()); + while (size--) { + *mem++ = 0; + } } void Server::handleRequest(const QByteArray& data, QHttpResponse* response) diff --git a/src/keys/CompositeKey.cpp b/src/keys/CompositeKey.cpp index e5e507c77..6391819b5 100644 --- a/src/keys/CompositeKey.cpp +++ b/src/keys/CompositeKey.cpp @@ -81,13 +81,13 @@ CompositeKey& CompositeKey::operator=(const CompositeKey& key) * The key hash does not contain contributions by challenge-response components for * backwards compatibility with KeePassXC's pre-KDBX4 challenge-response * implementation. To include challenge-response in the raw key, - * use \link CompositeKey::rawKey(const QByteArray*) instead. + * use \link CompositeKey::rawKey(const QByteArray*, bool*) instead. * * @return key hash */ QByteArray CompositeKey::rawKey() const { - return rawKey(nullptr); + return rawKey(nullptr, nullptr); } /** @@ -97,9 +97,10 @@ QByteArray CompositeKey::rawKey() const * as a challenge to acquire their key contribution. * * @param transformSeed transform seed to challenge or nullptr to exclude challenge-response components + * @param ok true if challenges were successful and all key components could be added to the composite key * @return key hash */ -QByteArray CompositeKey::rawKey(const QByteArray* transformSeed) const +QByteArray CompositeKey::rawKey(const QByteArray* transformSeed, bool* ok) const { CryptoHash cryptoHash(CryptoHash::Sha256); @@ -107,9 +108,16 @@ QByteArray CompositeKey::rawKey(const QByteArray* transformSeed) const cryptoHash.addData(key->rawKey()); } + if (ok) { + *ok = true; + } + if (transformSeed) { QByteArray challengeResult; - challenge(*transformSeed, challengeResult); + bool challengeOk = challenge(*transformSeed, challengeResult); + if (ok) { + *ok = challengeOk; + } cryptoHash.addData(challengeResult); } @@ -138,7 +146,8 @@ bool CompositeKey::transform(const Kdf& kdf, QByteArray& result) const QByteArray seed = kdf.seed(); Q_ASSERT(!seed.isEmpty()); - return kdf.transform(rawKey(&seed), result); + bool ok = false; + return kdf.transform(rawKey(&seed, &ok), result) && ok; } bool CompositeKey::challenge(const QByteArray& seed, QByteArray& result) const @@ -152,7 +161,7 @@ bool CompositeKey::challenge(const QByteArray& seed, QByteArray& result) const CryptoHash cryptoHash(CryptoHash::Sha256); - for (const auto key : m_challengeResponseKeys) { + for (const auto& key : m_challengeResponseKeys) { // if the device isn't present or fails, return an error if (!key->challenge(seed)) { qWarning("Failed to issue challenge"); diff --git a/src/keys/CompositeKey.h b/src/keys/CompositeKey.h index 9018276c3..fe93a38b4 100644 --- a/src/keys/CompositeKey.h +++ b/src/keys/CompositeKey.h @@ -39,7 +39,7 @@ public: CompositeKey& operator=(const CompositeKey& key); QByteArray rawKey() const override; - QByteArray rawKey(const QByteArray* transformSeed) const; + QByteArray rawKey(const QByteArray* transformSeed, bool* ok = nullptr) const; bool transform(const Kdf& kdf, QByteArray& result) const Q_REQUIRED_RESULT; bool challenge(const QByteArray& seed, QByteArray &result) const; diff --git a/src/keys/YkChallengeResponseKey.cpp b/src/keys/YkChallengeResponseKey.cpp index 4c77e7670..ac50a5bba 100644 --- a/src/keys/YkChallengeResponseKey.cpp +++ b/src/keys/YkChallengeResponseKey.cpp @@ -83,7 +83,7 @@ bool YkChallengeResponseKey::challenge(const QByteArray& challenge, unsigned ret } // if challenge failed, retry to detect YubiKeys in the event the YubiKey was un-plugged and re-plugged - if (retries > 0 && YubiKey::instance()->init() != true) { + if (retries > 0 && !YubiKey::instance()->init()) { continue; } diff --git a/src/keys/YkChallengeResponseKey.h b/src/keys/YkChallengeResponseKey.h index 66d821a69..2816602a4 100644 --- a/src/keys/YkChallengeResponseKey.h +++ b/src/keys/YkChallengeResponseKey.h @@ -1,18 +1,18 @@ /* -* Copyright (C) 2017 KeePassXC Team -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 2 or (at your option) -* version 3 of the License. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . + * Copyright (C) 2017 KeePassXC Team + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 or (at your option) + * version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ #ifndef KEEPASSX_YK_CHALLENGERESPONSEKEY_H diff --git a/src/main.cpp b/src/main.cpp index da71739c4..a7fd2d762 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -143,12 +143,16 @@ int main(int argc, char** argv) const bool pwstdin = parser.isSet(pwstdinOption); for (const QString& filename: fileNames) { + QString password; + if (pwstdin) { + // we always need consume a line of STDIN if --pw-stdin is set to clear out the + // buffer for native messaging, even if the specified file does not exist + static QTextStream in(stdin, QIODevice::ReadOnly); + password = in.readLine(); + } + if (!filename.isEmpty() && QFile::exists(filename) && !filename.endsWith(".json", Qt::CaseInsensitive)) { - QString password; - if (pwstdin) { - static QTextStream in(stdin, QIODevice::ReadOnly); - password = in.readLine(); - } + mainWindow.openDatabase(filename, password, parser.value(keyfileOption)); } } diff --git a/src/proxy/NativeMessagingHost.cpp b/src/proxy/NativeMessagingHost.cpp index 2add63814..c5ce60ea9 100755 --- a/src/proxy/NativeMessagingHost.cpp +++ b/src/proxy/NativeMessagingHost.cpp @@ -51,18 +51,25 @@ void NativeMessagingHost::readLength() void NativeMessagingHost::readStdIn(const quint32 length) { - if (length > 0) { - QByteArray arr; - arr.reserve(length); + if (length <= 0) { + return; + } - for (quint32 i = 0; i < length; ++i) { - arr.append(getchar()); - } + QByteArray arr; + arr.reserve(length); - if (arr.length() > 0 && m_localSocket && m_localSocket->state() == QLocalSocket::ConnectedState) { - m_localSocket->write(arr.constData(), arr.length()); - m_localSocket->flush(); + for (quint32 i = 0; i < length; ++i) { + int c = std::getchar(); + if (c == EOF) { + // message ended prematurely, ignore it and return + return; } + arr.append(static_cast(c)); + } + + if (arr.length() > 0 && m_localSocket && m_localSocket->state() == QLocalSocket::ConnectedState) { + m_localSocket->write(arr.constData(), arr.length()); + m_localSocket->flush(); } } diff --git a/src/sshagent/OpenSSHKey.cpp b/src/sshagent/OpenSSHKey.cpp index ce867a95f..ccc7606f0 100644 --- a/src/sshagent/OpenSSHKey.cpp +++ b/src/sshagent/OpenSSHKey.cpp @@ -94,6 +94,10 @@ int OpenSSHKey::keyLength() const const QString OpenSSHKey::fingerprint() const { + if (m_publicData.isEmpty()) { + return {}; + } + QByteArray publicKey; BinaryStream stream(&publicKey); @@ -115,6 +119,10 @@ const QString OpenSSHKey::comment() const const QString OpenSSHKey::publicKey() const { + if (m_publicData.isEmpty()) { + return {}; + } + QByteArray publicKey; BinaryStream stream(&publicKey); @@ -326,7 +334,7 @@ bool OpenSSHKey::openPrivateKey(const QString& passphrase) return false; } - if (passphrase.length() == 0) { + if (passphrase.isEmpty()) { m_error = tr("Passphrase is required to decrypt this key"); return false; } diff --git a/src/sshagent/SSHAgent.cpp b/src/sshagent/SSHAgent.cpp index a65c6e4f1..45d774aab 100644 --- a/src/sshagent/SSHAgent.cpp +++ b/src/sshagent/SSHAgent.cpp @@ -58,6 +58,11 @@ void SSHAgent::init(QObject* parent) m_instance = new SSHAgent(parent); } +const QString SSHAgent::errorString() const +{ + return m_error; +} + bool SSHAgent::isAgentRunning() const { #ifndef Q_OS_WIN @@ -67,7 +72,7 @@ bool SSHAgent::isAgentRunning() const #endif } -bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const +bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) { #ifndef Q_OS_WIN QLocalSocket socket; @@ -75,6 +80,7 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const socket.connectToServer(m_socketPath); if (!socket.waitForConnected(500)) { + m_error = tr("Agent connection failed."); return false; } @@ -82,6 +88,7 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const stream.flush(); if (!stream.readString(out)) { + m_error = tr("Agent protocol error."); return false; } @@ -92,10 +99,12 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const HWND hWnd = FindWindowA("Pageant", "Pageant"); if (!hWnd) { + m_error = tr("Agent connection failed."); return false; } if (static_cast(in.length()) > AGENT_MAX_MSGLEN - 4) { + m_error = tr("Agent connection failed."); return false; } @@ -104,6 +113,7 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const HANDLE handle = CreateFileMappingA(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, AGENT_MAX_MSGLEN, mapName.data()); if (!handle) { + m_error = tr("Agent connection failed."); return false; } @@ -111,6 +121,7 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const if (!ptr) { CloseHandle(handle); + m_error = tr("Agent connection failed."); return false; } @@ -132,7 +143,11 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const if (responseLength <= AGENT_MAX_MSGLEN) { out.resize(responseLength); memcpy(out.data(), requestData, responseLength); + } else { + m_error = tr("Agent protocol error."); } + } else { + m_error = tr("Agent protocol error."); } UnmapViewOfFile(ptr); @@ -143,8 +158,13 @@ bool SSHAgent::sendMessage(const QByteArray& in, QByteArray& out) const } -bool SSHAgent::addIdentity(OpenSSHKey& key, quint32 lifetime, bool confirm) const +bool SSHAgent::addIdentity(OpenSSHKey& key, quint32 lifetime, bool confirm) { + if (!isAgentRunning()) { + m_error = tr("No agent running, cannot add identity."); + return false; + } + QByteArray requestData; BinaryStream request(&requestData); @@ -161,17 +181,25 @@ bool SSHAgent::addIdentity(OpenSSHKey& key, quint32 lifetime, bool confirm) cons } QByteArray responseData; - sendMessage(requestData, responseData); + if (!sendMessage(requestData, responseData)) { + return false; + } if (responseData.length() < 1 || static_cast(responseData[0]) != SSH_AGENT_SUCCESS) { + m_error = tr("Agent refused this identity."); return false; } return true; } -bool SSHAgent::removeIdentity(OpenSSHKey& key) const +bool SSHAgent::removeIdentity(OpenSSHKey& key) { + if (!isAgentRunning()) { + m_error = tr("No agent running, cannot remove identity."); + return false; + } + QByteArray requestData; BinaryStream request(&requestData); @@ -183,9 +211,12 @@ bool SSHAgent::removeIdentity(OpenSSHKey& key) const request.writeString(keyData); QByteArray responseData; - sendMessage(requestData, responseData); + if (!sendMessage(requestData, responseData)) { + return false; + } if (responseData.length() < 1 || static_cast(responseData[0]) != SSH_AGENT_SUCCESS) { + m_error = tr("Agent does not have this identity."); return false; } @@ -210,9 +241,12 @@ void SSHAgent::databaseModeChanged(DatabaseWidget::Mode mode) Uuid uuid = widget->database()->uuid(); if (mode == DatabaseWidget::LockedMode && m_keys.contains(uuid.toHex())) { + QSet keys = m_keys.take(uuid.toHex()); for (OpenSSHKey key : keys) { - removeIdentity(key); + if (!removeIdentity(key)) { + emit error(m_error); + } } } else if (mode == DatabaseWidget::ViewMode && !m_keys.contains(uuid.toHex())) { for (Entry* e : widget->database()->rootGroup()->entriesRecursive()) { @@ -260,6 +294,10 @@ void SSHAgent::databaseModeChanged(DatabaseWidget::Mode mode) continue; } + if (!key.openPrivateKey(e->password())) { + continue; + } + if (key.comment().isEmpty()) { key.setComment(e->username()); } @@ -268,14 +306,16 @@ void SSHAgent::databaseModeChanged(DatabaseWidget::Mode mode) removeIdentityAtLock(key, uuid); } - if (settings.addAtDatabaseOpen() && key.openPrivateKey(e->password())) { + if (settings.addAtDatabaseOpen()) { int lifetime = 0; if (settings.useLifetimeConstraintWhenAdding()) { lifetime = settings.lifetimeConstraintDuration(); } - addIdentity(key, lifetime, settings.useConfirmConstraintWhenAdding()); + if (!addIdentity(key, lifetime, settings.useConfirmConstraintWhenAdding())) { + emit error(m_error); + } } } } diff --git a/src/sshagent/SSHAgent.h b/src/sshagent/SSHAgent.h index 078ff7b0d..adb08cad6 100644 --- a/src/sshagent/SSHAgent.h +++ b/src/sshagent/SSHAgent.h @@ -33,11 +33,15 @@ public: static SSHAgent* instance(); static void init(QObject* parent); + const QString errorString() const; bool isAgentRunning() const; - bool addIdentity(OpenSSHKey& key, quint32 lifetime = 0, bool confirm = false) const; - bool removeIdentity(OpenSSHKey& key) const; + bool addIdentity(OpenSSHKey& key, quint32 lifetime = 0, bool confirm = false); + bool removeIdentity(OpenSSHKey& key); void removeIdentityAtLock(const OpenSSHKey& key, const Uuid& uuid); +signals: + void error(const QString& message); + public slots: void databaseModeChanged(DatabaseWidget::Mode mode = DatabaseWidget::LockedMode); @@ -56,7 +60,7 @@ private: explicit SSHAgent(QObject* parent = nullptr); ~SSHAgent(); - bool sendMessage(const QByteArray& in, QByteArray& out) const; + bool sendMessage(const QByteArray& in, QByteArray& out); static SSHAgent* m_instance; @@ -68,6 +72,7 @@ private: #endif QMap> m_keys; + QString m_error; }; #endif // AGENTCLIENT_H diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 3b8ada32d..df5c37f83 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -112,10 +112,10 @@ add_unit_test(NAME testkdbx2 SOURCES TestKdbx2.cpp add_unit_test(NAME testkdbx3 SOURCES TestKeePass2Format.cpp FailDevice.cpp TestKdbx3.cpp LIBS ${TEST_LIBRARIES}) -add_unit_test(NAME testkdbx4 SOURCES TestKeePass2Format.cpp FailDevice.cpp TestKdbx4.cpp +add_unit_test(NAME testkdbx4 SOURCES TestKeePass2Format.cpp FailDevice.cpp mock/MockChallengeResponseKey.cpp TestKdbx4.cpp LIBS ${TEST_LIBRARIES}) -add_unit_test(NAME testkeys SOURCES TestKeys.cpp +add_unit_test(NAME testkeys SOURCES TestKeys.cpp mock/MockChallengeResponseKey.cpp LIBS ${TEST_LIBRARIES}) add_unit_test(NAME testgroupmodel SOURCES TestGroupModel.cpp diff --git a/tests/TestAutoType.cpp b/tests/TestAutoType.cpp index 7590bc613..25790e3b1 100644 --- a/tests/TestAutoType.cpp +++ b/tests/TestAutoType.cpp @@ -273,32 +273,41 @@ void TestAutoType::testGlobalAutoTypeRegExp() void TestAutoType::testAutoTypeSyntaxChecks() { // Huge sequence - QCOMPARE(true, AutoType::checkSyntax("{word 23}{F1 23}{~ 23}{% 23}{^}{F12}{(}{) 23}{[}{[}{]}{Delay=23}{+}{SUBTRACT}~+%@fixedstring")); + QVERIFY(AutoType::checkSyntax("{word 23}{F1 23}{~ 23}{% 23}{^}{F12}{(}{) 23}{[}{[}{]}{Delay=23}{+}{SUBTRACT}~+%@fixedstring")); - QCOMPARE(true, AutoType::checkSyntax("{NUMPAD1 3}")); + QVERIFY(AutoType::checkSyntax("{NUMPAD1 3}")); - QCOMPARE(true, AutoType::checkSyntax("{BEEP 3 3}")); - QCOMPARE(false, AutoType::checkSyntax("{BEEP 3}")); + QVERIFY(AutoType::checkSyntax("{S:SPECIALTOKEN}")); + QVERIFY(AutoType::checkSyntax("{S:SPECIAL TOKEN}")); + QVERIFY(AutoType::checkSyntax("{S:SPECIAL_TOKEN}")); + QVERIFY(AutoType::checkSyntax("{S:SPECIAL-TOKEN}")); + QVERIFY(AutoType::checkSyntax("{S:SPECIAL:TOKEN}")); + QVERIFY(AutoType::checkSyntax("{S:SPECIAL_TOKEN}{ENTER}")); + QVERIFY(AutoType::checkSyntax("{S:FOO}{S:HELLO WORLD}")); + QVERIFY(!AutoType::checkSyntax("{S:SPECIAL_TOKEN{}}")); - QCOMPARE(true, AutoType::checkSyntax("{VKEY 0x01}")); - QCOMPARE(true, AutoType::checkSyntax("{VKEY VK_LBUTTON}")); - QCOMPARE(true, AutoType::checkSyntax("{VKEY-EX 0x01}")); + QVERIFY(AutoType::checkSyntax("{BEEP 3 3}")); + QVERIFY(!AutoType::checkSyntax("{BEEP 3}")); + + QVERIFY(AutoType::checkSyntax("{VKEY 0x01}")); + QVERIFY(AutoType::checkSyntax("{VKEY VK_LBUTTON}")); + QVERIFY(AutoType::checkSyntax("{VKEY-EX 0x01}")); // Bad sequence - QCOMPARE(false, AutoType::checkSyntax("{{{}}{}{}}{{}}")); + QVERIFY(!AutoType::checkSyntax("{{{}}{}{}}{{}}")); // Good sequence - QCOMPARE(true, AutoType::checkSyntax("{{}{}}{}}{{}")); - QCOMPARE(true, AutoType::checkSyntax("{]}{[}{[}{]}")); - QCOMPARE(true, AutoType::checkSyntax("{)}{(}{(}{)}")); + QVERIFY(AutoType::checkSyntax("{{}{}}{}}{{}")); + QVERIFY(AutoType::checkSyntax("{]}{[}{[}{]}")); + QVERIFY(AutoType::checkSyntax("{)}{(}{(}{)}")); // High DelAY / low delay - QCOMPARE(true, AutoType::checkHighDelay("{DelAY 50000}")); - QCOMPARE(false, AutoType::checkHighDelay("{delay 50}")); + QVERIFY(AutoType::checkHighDelay("{DelAY 50000}")); + QVERIFY(!AutoType::checkHighDelay("{delay 50}")); // Slow typing - QCOMPARE(true, AutoType::checkSlowKeypress("{DelAY=50000}")); - QCOMPARE(false, AutoType::checkSlowKeypress("{delay=50}")); + QVERIFY(AutoType::checkSlowKeypress("{DelAY=50000}")); + QVERIFY(!AutoType::checkSlowKeypress("{delay=50}")); // Many repetition / few repetition / delay not repetition - QCOMPARE(true, AutoType::checkHighRepetition("{LEFT 50000000}")); - QCOMPARE(false, AutoType::checkHighRepetition("{SPACE 10}{TAB 3}{RIGHT 50}")); - QCOMPARE(false, AutoType::checkHighRepetition("{delay 5000000000}")); + QVERIFY(AutoType::checkHighRepetition("{LEFT 50000000}")); + QVERIFY(!AutoType::checkHighRepetition("{SPACE 10}{TAB 3}{RIGHT 50}")); + QVERIFY(!AutoType::checkHighRepetition("{delay 5000000000}")); } void TestAutoType::testAutoTypeEffectiveSequences() diff --git a/tests/TestEntry.cpp b/tests/TestEntry.cpp index 94100c0a6..c088fc01f 100644 --- a/tests/TestEntry.cpp +++ b/tests/TestEntry.cpp @@ -279,6 +279,17 @@ void TestEntry::testResolveRecursivePlaceholders() QCOMPARE(entry6->resolvePlaceholder(entry6->title()), QString("Entry2Title")); QCOMPARE(entry6->resolvePlaceholder(entry6->username()), QString("Entry2Title")); QCOMPARE(entry6->resolvePlaceholder(entry6->password()), QString("{PASSWORD}")); + + auto* entry7 = new Entry(); + entry7->setGroup(root); + entry7->setUuid(Uuid::random()); + entry7->setTitle(QString("{REF:T@I:%1} and something else").arg(entry3->uuid().toHex())); + entry7->setUsername(QString("{TITLE}")); + entry7->setPassword(QString("PASSWORD")); + + QCOMPARE(entry7->resolvePlaceholder(entry7->title()), QString("Entry2Title and something else")); + QCOMPARE(entry7->resolvePlaceholder(entry7->username()), QString("Entry2Title and something else")); + QCOMPARE(entry7->resolvePlaceholder(entry7->password()), QString("PASSWORD")); } void TestEntry::testResolveReferencePlaceholders() diff --git a/tests/TestKdbx4.cpp b/tests/TestKdbx4.cpp index 24a07aa63..4bbff1fec 100644 --- a/tests/TestKdbx4.cpp +++ b/tests/TestKdbx4.cpp @@ -20,6 +20,8 @@ #include "core/Metadata.h" #include "keys/PasswordKey.h" +#include "keys/FileKey.h" +#include "mock/MockChallengeResponseKey.h" #include "format/KeePass2.h" #include "format/KeePass2Reader.h" #include "format/KeePass2Writer.h" @@ -149,8 +151,10 @@ void TestKdbx4::testFormat400Upgrade() sourceDb->changeKdf(KeePass2::uuidToKdf(kdfUuid)); sourceDb->setCipher(cipherUuid); + // CustomData in meta should not cause any version change + sourceDb->metadata()->customData()->set("CustomPublicData", "Hey look, I turned myself into a pickle!"); if (addCustomData) { - sourceDb->metadata()->customData()->set("CustomPublicData", "Hey look, I turned myself into a pickle!"); + // this, however, should sourceDb->rootGroup()->customData()->set("CustomGroupData", "I just killed my family! I don't care who they were!"); } @@ -209,6 +213,106 @@ void TestKdbx4::testFormat400Upgrade_data() QTest::newRow("AES-KDF (legacy) + Twofish + CustomData") << KeePass2::KDF_AES_KDBX3 << KeePass2::CIPHER_TWOFISH << true << kdbx4; } +void TestKdbx4::testUpgradeMasterKeyIntegrity() +{ + QFETCH(QString, upgradeAction); + QFETCH(quint32, expectedVersion); + + // prepare composite key + PasswordKey passwordKey("turXpGMQiUE6CkPvWacydAKsnp4cxz"); + + QByteArray fileKeyBytes("Ma6hHov98FbPeyAL22XhcgmpJk8xjQ"); + QBuffer fileKeyBuffer(&fileKeyBytes); + fileKeyBuffer.open(QBuffer::ReadOnly); + FileKey fileKey; + fileKey.load(&fileKeyBuffer); + + auto crKey = QSharedPointer::create(QByteArray("azdJnbVCFE76vV6t9RJ2DS6xvSS93k")); + + CompositeKey compositeKey; + compositeKey.addKey(passwordKey); + compositeKey.addKey(fileKey); + compositeKey.addChallengeResponseKey(crKey); + + QScopedPointer db(new Database()); + db->setKey(compositeKey); + + // upgrade the database by a specific method + if (upgradeAction == "none") { + // do nothing + } else if (upgradeAction == "meta-customdata") { + db->metadata()->customData()->set("abc", "def"); + } else if (upgradeAction == "kdf-aes-kdbx3") { + db->changeKdf(KeePass2::uuidToKdf(KeePass2::KDF_AES_KDBX3)); + } else if (upgradeAction == "kdf-argon2") { + db->changeKdf(KeePass2::uuidToKdf(KeePass2::KDF_ARGON2)); + } else if (upgradeAction == "kdf-aes-kdbx4") { + db->changeKdf(KeePass2::uuidToKdf(KeePass2::KDF_AES_KDBX4)); + } else if (upgradeAction == "public-customdata") { + db->publicCustomData().insert("abc", "def"); + } else if (upgradeAction == "rootgroup-customdata") { + db->rootGroup()->customData()->set("abc", "def"); + } else if (upgradeAction == "group-customdata") { + auto group = new Group(); + group->setParent(db->rootGroup()); + group->setUuid(Uuid::random()); + group->customData()->set("abc", "def"); + } else if (upgradeAction == "rootentry-customdata") { + auto entry = new Entry(); + entry->setGroup(db->rootGroup()); + entry->setUuid(Uuid::random()); + entry->customData()->set("abc", "def"); + } else if (upgradeAction == "entry-customdata") { + auto group = new Group(); + group->setParent(db->rootGroup()); + group->setUuid(Uuid::random()); + auto entry = new Entry(); + entry->setGroup(group); + entry->setUuid(Uuid::random()); + entry->customData()->set("abc", "def"); + } else { + QFAIL(qPrintable(QString("Unknown action: %s").arg(upgradeAction))); + } + + QBuffer buffer; + buffer.open(QBuffer::ReadWrite); + KeePass2Writer writer; + QVERIFY(writer.writeDatabase(&buffer, db.data())); + + // paranoid check that we cannot decrypt the database without a key + buffer.seek(0); + KeePass2Reader reader; + QScopedPointer db2; + db2.reset(reader.readDatabase(&buffer, CompositeKey())); + QVERIFY(reader.hasError()); + + // check that we can read back the database with the original composite key, + // i.e., no components have been lost on the way + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKey)); + if (reader.hasError()) { + QFAIL(qPrintable(reader.errorString())); + } + QCOMPARE(reader.version(), expectedVersion & KeePass2::FILE_VERSION_CRITICAL_MASK); +} + +void TestKdbx4::testUpgradeMasterKeyIntegrity_data() +{ + QTest::addColumn("upgradeAction"); + QTest::addColumn("expectedVersion"); + + QTest::newRow("Upgrade: none") << QString("none") << KeePass2::FILE_VERSION_3; + QTest::newRow("Upgrade: none (meta-customdata)") << QString("meta-customdata") << KeePass2::FILE_VERSION_3; + QTest::newRow("Upgrade: none (explicit kdf-aes-kdbx3)") << QString("kdf-aes-kdbx3") << KeePass2::FILE_VERSION_3; + QTest::newRow("Upgrade (explicit): kdf-argon2") << QString("kdf-argon2") << KeePass2::FILE_VERSION_4; + QTest::newRow("Upgrade (explicit): kdf-aes-kdbx4") << QString("kdf-aes-kdbx4") << KeePass2::FILE_VERSION_4; + QTest::newRow("Upgrade (implicit): public-customdata") << QString("public-customdata") << KeePass2::FILE_VERSION_4; + QTest::newRow("Upgrade (implicit): rootgroup-customdata") << QString("rootgroup-customdata") << KeePass2::FILE_VERSION_4; + QTest::newRow("Upgrade (implicit): group-customdata") << QString("group-customdata") << KeePass2::FILE_VERSION_4; + QTest::newRow("Upgrade (implicit): rootentry-customdata") << QString("rootentry-customdata") << KeePass2::FILE_VERSION_4; + QTest::newRow("Upgrade (implicit): entry-customdata") << QString("entry-customdata") << KeePass2::FILE_VERSION_4; +} + void TestKdbx4::testCustomData() { Database db; @@ -218,8 +322,9 @@ void TestKdbx4::testCustomData() publicCustomData.insert("CD1", 123); publicCustomData.insert("CD2", true); publicCustomData.insert("CD3", "abcäöü"); - publicCustomData.insert("CD4", QByteArray::fromHex("ababa123ff")); db.setPublicCustomData(publicCustomData); + publicCustomData.insert("CD4", QByteArray::fromHex("ababa123ff")); + db.publicCustomData().insert("CD4", publicCustomData.value("CD4")); QCOMPARE(db.publicCustomData(), publicCustomData); const QString customDataKey1 = "CD1"; @@ -227,7 +332,7 @@ void TestKdbx4::testCustomData() const QString customData1 = "abcäöü"; const QString customData2 = "Hello World"; const int dataSize = customDataKey1.toUtf8().size() + customDataKey1.toUtf8().size() + - customData1.toUtf8().size() + customData2.toUtf8().size(); + customData1.toUtf8().size() + customData2.toUtf8().size(); // test custom database data db.metadata()->customData()->set(customDataKey1, customData1); diff --git a/tests/TestKdbx4.h b/tests/TestKdbx4.h index 5c398d196..efb3449f3 100644 --- a/tests/TestKdbx4.h +++ b/tests/TestKdbx4.h @@ -28,6 +28,8 @@ private slots: void testFormat400(); void testFormat400Upgrade(); void testFormat400Upgrade_data(); + void testUpgradeMasterKeyIntegrity(); + void testUpgradeMasterKeyIntegrity_data(); void testCustomData(); protected: diff --git a/tests/TestKeys.cpp b/tests/TestKeys.cpp index 094a397d7..f39d3aa74 100644 --- a/tests/TestKeys.cpp +++ b/tests/TestKeys.cpp @@ -32,6 +32,7 @@ #include "format/KeePass2Writer.h" #include "keys/FileKey.h" #include "keys/PasswordKey.h" +#include "mock/MockChallengeResponseKey.h" QTEST_GUILESS_MAIN(TestKeys) Q_DECLARE_METATYPE(FileKey::Type); @@ -232,3 +233,85 @@ void TestKeys::benchmarkTransformKey() Q_UNUSED(compositeKey.transform(kdf, result)); }; } + +void TestKeys::testCompositeKeyComponents() +{ + PasswordKey passwordKeyEnc("password"); + FileKey fileKeyEnc; + QString error; + fileKeyEnc.load(QString("%1/%2").arg(QString(KEEPASSX_TEST_DATA_DIR), "FileKeyHashed.key"), &error); + if (!error.isNull()) { + QFAIL(qPrintable(error)); + } + auto challengeResponseKeyEnc = QSharedPointer::create(QByteArray(16, 0x10)); + + CompositeKey compositeKeyEnc; + compositeKeyEnc.addKey(passwordKeyEnc); + compositeKeyEnc.addKey(fileKeyEnc); + compositeKeyEnc.addChallengeResponseKey(challengeResponseKeyEnc); + + QScopedPointer db1(new Database()); + db1->setKey(compositeKeyEnc); + + KeePass2Writer writer; + QBuffer buffer; + buffer.open(QBuffer::ReadWrite); + QVERIFY(writer.writeDatabase(&buffer, db1.data())); + + buffer.seek(0); + QScopedPointer db2; + KeePass2Reader reader; + CompositeKey compositeKeyDec1; + + // try decryption and subsequently add key components until decryption is successful + db2.reset(reader.readDatabase(&buffer, compositeKeyDec1)); + QVERIFY(reader.hasError()); + + compositeKeyDec1.addKey(passwordKeyEnc); + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKeyDec1)); + QVERIFY(reader.hasError()); + + compositeKeyDec1.addKey(fileKeyEnc); + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKeyDec1)); + QVERIFY(reader.hasError()); + + compositeKeyDec1.addChallengeResponseKey(challengeResponseKeyEnc); + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKeyDec1)); + // now we should be able to open the database + if (reader.hasError()) { + QFAIL(qPrintable(reader.errorString())); + } + + // try the same again, but this time with one wrong key component each time + CompositeKey compositeKeyDec2; + compositeKeyDec2.addKey(PasswordKey("wrong password")); + compositeKeyDec2.addKey(fileKeyEnc); + compositeKeyDec2.addChallengeResponseKey(challengeResponseKeyEnc); + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKeyDec2)); + QVERIFY(reader.hasError()); + + CompositeKey compositeKeyDec3; + compositeKeyDec3.addKey(passwordKeyEnc); + FileKey fileKeyWrong; + fileKeyWrong.load(QString("%1/%2").arg(QString(KEEPASSX_TEST_DATA_DIR), "FileKeyHashed2.key"), &error); + if (!error.isNull()) { + QFAIL(qPrintable(error)); + } + compositeKeyDec3.addKey(fileKeyWrong); + compositeKeyDec3.addChallengeResponseKey(challengeResponseKeyEnc); + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKeyDec3)); + QVERIFY(reader.hasError()); + + CompositeKey compositeKeyDec4; + compositeKeyDec4.addKey(passwordKeyEnc); + compositeKeyDec4.addKey(fileKeyEnc); + compositeKeyDec4.addChallengeResponseKey(QSharedPointer::create(QByteArray(16, 0x20))); + buffer.seek(0); + db2.reset(reader.readDatabase(&buffer, compositeKeyDec4)); + QVERIFY(reader.hasError()); +} diff --git a/tests/TestKeys.h b/tests/TestKeys.h index 237225f8f..1ea53b090 100644 --- a/tests/TestKeys.h +++ b/tests/TestKeys.h @@ -34,6 +34,7 @@ private slots: void testCreateAndOpenFileKey(); void testFileKeyHash(); void testFileKeyError(); + void testCompositeKeyComponents(); void benchmarkTransformKey(); }; diff --git a/tests/data/FileKeyHashed2.key b/tests/data/FileKeyHashed2.key new file mode 100644 index 000000000..46e2ea632 Binary files /dev/null and b/tests/data/FileKeyHashed2.key differ diff --git a/tests/mock/MockChallengeResponseKey.cpp b/tests/mock/MockChallengeResponseKey.cpp new file mode 100644 index 000000000..9cfdc0501 --- /dev/null +++ b/tests/mock/MockChallengeResponseKey.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2018 KeePassXC Team + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 or (at your option) + * version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +#include "MockChallengeResponseKey.h" + +MockChallengeResponseKey::MockChallengeResponseKey(const QByteArray& secret) + : m_secret(secret) +{ +} + +MockChallengeResponseKey::~MockChallengeResponseKey() +{ +} + +QByteArray MockChallengeResponseKey::rawKey() const +{ + return m_challenge + m_secret; +} + +bool MockChallengeResponseKey::challenge(const QByteArray& challenge) +{ + m_challenge = challenge; + return true; +} diff --git a/tests/mock/MockChallengeResponseKey.h b/tests/mock/MockChallengeResponseKey.h new file mode 100644 index 000000000..af795d935 --- /dev/null +++ b/tests/mock/MockChallengeResponseKey.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2018 KeePassXC Team + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 or (at your option) + * version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . +*/ + +#ifndef KEEPASSXC_MOCKCHALLENGERESPONSEKEY_H +#define KEEPASSXC_MOCKCHALLENGERESPONSEKEY_H + +#include "keys/ChallengeResponseKey.h" + +/** + * Mock challenge-response key implementation that simply + * returns the challenge concatenated with a fixed secret. + */ +class MockChallengeResponseKey : public ChallengeResponseKey +{ +public: + explicit MockChallengeResponseKey(const QByteArray& secret); + ~MockChallengeResponseKey() override; + QByteArray rawKey() const override; + bool challenge(const QByteArray& challenge) override; + +private: + QByteArray m_challenge; + QByteArray m_secret; +}; + +#endif //KEEPASSXC_MOCKCHALLENGERESPONSEKEY_H