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 @@
-
-
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 – مستحسن)
+
+MainExisting 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
-
+ عدم تطابق حدود PEMBase64 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 أو PassIFoxEnable 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
-
+ تمديد ASCIIExclude look-alike characters
-
+ استبعاد الرموز التي تبدو على حد سواءPick characters from every group
-
+ إختيار أحرف من كل مجموعة&Length:
@@ -3168,7 +3196,7 @@ Using default port 19455.
Entropy: %1 bit
-
+ Entropy: %1 bitPassword 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 الموسع في كلمة المرور التي المُنشئة.QtIOCompressorInternal 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::openThe 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
-
+ شغل تطبيق واحد فقط من KeePassXCRemember 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 6238Steam token settings
-
+ اعدادات رمز SteamUse 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
+ XifratgeNumber of rounds too high
@@ -857,7 +857,7 @@ If you keep this number, your database may be too easy to crack!
DatabaseSettingsWidgetEncryptionEncryption 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
-
+ Desxifrarn/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 activaRe&move all stored permissions from entries in active database
@@ -3459,30 +3486,6 @@ Available commands:
missing closing quotefalta 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)
-
- GroupGrup
@@ -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 quotechybě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)
- GroupSkupina
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 credentialsCredentials mean login data requested via browser extension
-
+ Spørg aldrig før legitimationsoplysninger &ændresOnly 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 credentialsCredentials mean login data requested via browser extension
-
+ Søg i alle åbnede databaser efter matchende legitimationsoplysningerAutomatically 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 SvarRefresh
@@ -620,15 +620,15 @@ Overvej at generere en ny nøglefil.
First record has field names
-
+ Første optegnelse har feltnavneNumber of headers line to discard
-
+ Antallet af header linjer, som skal ignoreresConsider '\' an escape character
-
+ Betragt '\' som en escape karakterPreview
@@ -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 SvarUnable 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ændretFailed 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øgleafledningsfunktionTransform 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 forsinkelseMemory Usage:
-
+ HukommelsesforbrugParallelism:
-
+ ParallelitetDatabaseSettingsWidgetGeneralDatabase Meta Data
-
+ Database metadataDatabase name:
@@ -919,7 +922,7 @@ If you keep this number, your database may be too easy to crack!
History Settings
-
+ HistorieindstillingerMax. history items:
@@ -939,11 +942,11 @@ If you keep this number, your database may be too easy to crack!
Additional Database Settings
-
+ Flere database-indstillingerEnable &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 valgtNo source database, nothing to do.
-
+ Ingen kilde-database, intet at gøre.Search Results (%1)
-
+ Søgeresultater (%1)No Results
-
+ Ingen resultaterFile has changed
-
+ Filen har ændret sigThe 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
-
+ FletteanmodningThe 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? DetailsWidgetGenerate TOTP Token
-
+ Generér TOTP TokenClose
@@ -1213,7 +1217,7 @@ Do you want to merge your changes?
Expiration
-
+ UdløbsdatoUsername
@@ -1221,15 +1225,15 @@ Do you want to merge your changes?
Autotype
-
+ Auto-IndsætSearching
-
+ SøgerAttributes
-
+ AttributterAttachments
@@ -1253,23 +1257,23 @@ Do you want to merge your changes?
Clear
-
+ RydNever
-
+ Aldrig[PROTECTED]
-
+ [BESKYTTET]Disabled
-
+ DeaktiveretEnabled
-
+ Aktiveret
@@ -1300,7 +1304,7 @@ Do you want to merge your changes?
SSH Agent
-
+ SSH Agentn/a
@@ -1308,11 +1312,11 @@ Do you want to merge your changes?
(encrypted)
-
+ (krypteret)Select private key
-
+ Vælg privat nøgleFile 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øgleEntry history
@@ -1344,19 +1348,19 @@ Do you want to merge your changes?
Confirm Remove
-
+ Bekræft sletningAre 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 ændreTomorrow
@@ -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 navnProtect
-
+ BeskytReveal
-
+ VisAttachments
@@ -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?
EditEntryWidgetSSHAgentForm
-
+ FormularRemove key from agent after
-
+ Fjern nøglen fra agenten efter seconds
-
+ sekunderFingerprint
-
+ FingeraftrykRemove key from agent when database is closed/locked
-
+ Fjern nøglen fra agenten når databasen er lukket/låstPublic key
-
+ Offentlig nøgleAdd key to agent when database is opened/unlocked
-
+ Tilføj nøglen til agenten når databasen er åben/låst opComment
@@ -1580,19 +1584,19 @@ Do you want to merge your changes?
Attachment
-
+ VedhæftningAdd to agent
-
+ Tilføj til agentRemove from agent
-
+ Fjern fra agentRequire 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ældregruppeSet default Auto-Type se&quence
-
+ Definér standard Auto-Indsæt sekvensEditWidgetIcons&Use default icon
-
+ &Brug standard-ikonUse custo&m icon
-
+ Brug brugerbestemt ikonAdd custom icon
@@ -1681,15 +1685,15 @@ Do you want to merge your changes?
Download favicon
-
+ Download faviconUnable 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>SikkerhedImages
@@ -1705,19 +1709,19 @@ Do you want to merge your changes?
Can't read icon
-
+ Kan ikke læse ikonCustom icon already exists
-
+ Brugervalgt ikon findes alleredeConfirm Delete
-
+ Bekræft sletningThis 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 dataRemove
@@ -1748,20 +1752,21 @@ Do you want to merge your changes?
Delete plugin data?
-
+ Slet plugin dataDo 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øgleValue
-
+ Værdi
@@ -1769,7 +1774,7 @@ This may cause the affected plugins to malfunction.
- CloneSuffix added to cloned entries
-
+ - Klon
@@ -1780,14 +1785,14 @@ This may cause the affected plugins to malfunction.
Size
-
+ StørrelseEntryAttachmentsWidgetForm
-
+ FormularAdd
@@ -1807,7 +1812,7 @@ This may cause the affected plugins to malfunction.
Select files
-
+ Vælg filerAre 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 sletningSave attachments
-
+ Gem vedhæftningerUnable to create directory:
%1
-
+ Kunne ikke oprette folder:
+%1Are 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 overskrivningnUnable to save attachments:
%1
-
+ Kunne ikke gemme vedhæftning:
+%1Unable to open attachment:
%1
-
+ Kunne ikke åbne vedhæftning:
+%1Unable to open attachments:
%1
-
+ Kunne ikke åbne vedhæftninger:
+%1Unable 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
-
+ AldrigPassword
@@ -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.
Kdbx3WriterUnable 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 headerUnsupported KeePass variant map version.Translation: variant map = data structure for storing meta data
-
+ Ikke understøttet KeePass variant versionInvalid 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 cifferUnable to calculate master key
@@ -2226,7 +2236,7 @@ This may cause the affected plugins to malfunction.
KdbxReaderInvalid cipher uuid length
-
+ Invalid ciffer uuid længdeUnsupported cipher
@@ -2242,11 +2252,11 @@ This may cause the affected plugins to malfunction.
Invalid master seed size
-
+ Invalid størrelse for master seedInvalid transform seed size
-
+ Invalid størrelse for transformerings-seedInvalid 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 idInvalid 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
KdbxXmlReaderXML parsing failure: %1
-
+ XML indlæsningsfejl: %1No 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ærdiMultiple 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 gruppeikonsnummerInvalid EnableAutoType value
-
+ Invalid Slå-Auto-Indsæt-Til værdiInvalid 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 gruppeikonsnummerHistory element in history entry
-
+ Historiske elementer i historie-postenNo 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-strengDuplicate custom attribute found
-
+ Fandt ens brugerdefineret attributEntry string key or value missing
-
+ Poststreng-nøgle eller -værdi manglerDuplicate attachment found
-
+ Fandt ens vedhæftningEntry 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 delInvalid 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 IVIV = Initialization Vector for symmetric cipher
-
+ Kan ikke læse krypterings-IVInvalid 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-hashInvalid transform seed size
-
+ Invalid størrelse for transformerings-seedInvalid 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 gruppefeltstypenummerInvalid 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ørrelseIncorrect group id field size
-
+ Forkert størrelse af gruppe id feltIncorrect group creation time field size
-
+ Forkert størrelse for gruppeoprettelsestidsfeltIncorrect group modification time field size
-
+ Forkert størrelse for gruppemodifikationstidsfeltIncorrect group access time field size
-
+ Forkert størrelse for gruppetilgåelsestidsfeltIncorrect group expiry time field size
-
+ Forkert størrelse for gruppeudløbstidsfeltIncorrect 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 feltInvalid entry icon field size
-
+ Invalid størrelse for postikonsfeltInvalid entry creation time field size
-
+ Invalid størrelse for postoprettelsestidsfeltInvalid entry modification time field size
-
+ Invalid størrelse for postmodifikationstidsfeltInvalid entry expiry time field size
-
+ Invalid størrelse for postudløbstidsfeltInvalid 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)MainExisting 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ængeligtClient public key not received
-
+ Offentlig nøgle for klient ikke modtagetCannot decrypt message
-
+ Kan ikke dekryptere beskedTimeout or cannot connect to KeePassXC
-
+ Tiden er udløbet eller var ikke i stand til at forbinde til KeePassXCAction cancelled or denied
-
+ Handling afbrudt eller nægtetCannot 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 igenKey change was not successful
-
+ Nøgleændring fejledeEncryption key is not recognized
-
+ Krypteringsnøgle ikke genkendtNo saved databases found
-
+ Ingen gemt database fundetIncorrect action
-
+ Forkert handlingEmpty message received
-
+ Tom besked modtagetNo URL provided
-
+ Ingen URL angivetNo logins found
-
+ Ingen logins fundetUnknown error
-
+ Ukendt fejlAdd a new entry to a database.
-
+ Tilføj en ny post til en databasePath of the database.
-
+ Sti til databasen.Key file of the database.
-
+ Databasens nøglefilpath
-
+ stiUsername for the entry.
-
+ Brugernavn for posten.username
-
+ brugernavnURL 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ængdePath 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
-
+ titelPath 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 dekomprimeresInsert 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 : %2WARNING: 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
-
+ attributName of the entry to show.
-
+ Navn på posten, som skal vises.NULL device
-
+ NULL enhederror 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 kvoteringstegnGroup
@@ -3517,7 +3535,7 @@ Available commands:
Last Modified
-
+ Sidst ændretCreated
@@ -3525,72 +3543,73 @@ Available commands:
Legacy Browser Integration
-
+ Forældet Browser-integrationBrowser Integration
-
+ Browser-integrationYubiKey[%1] Challenge Response - Slot %2 - %3
-
+ YubiKey[%1] Udfordring-Svar - Slot %2 - %3Press
-
+ TrykPassive
-
+ PassivSSH Agent
-
+ SSH AgentGenerate 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
-
+ antalWordlist 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:
SearchWidgetSearch...
-
+ Søg...Search
@@ -3639,15 +3658,15 @@ Available commands:
Clear
-
+ RydCase Sensitive
-
+ VersalfølsomLimit 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.
SettingsWidgetGeneralBasic Settings
-
+ Grundlæggende indstillinngerStart only a single instance of KeePassXC
-
+ Start kun en enkelt instans af KeePassXCRemember 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 sikkerhedsdonglerLoad previous databases on startup
-
+ Load den forrige database ved opstartAutomatically 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 udefraMinimize 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 opstartUse 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 detaljevisningShow 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 lukkesDark system tray icon
-
+ Mørk ikon i systembakkenLanguage
@@ -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ætUse entry URL to match windows for global Auto-Type
-
+ Brug post-URL til at matche vinduer for global Auto-IndsætAlways ask before performing Auto-Type
-
+ Spørg altid for Auto-Indsæt udføresGlobal 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 msMilliseconds
-
+ msStartup
-
+ OpstartFile Management
-
+ FilhåndteringSafely 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 gemmesEntry Management
-
+ PosthåndteringGeneral
@@ -3889,7 +3911,7 @@ Lås den valgte database op eller vælg en anden som er åbnet.
SettingsWidgetSecurityTimeouts
-
+ TimeoutsClear 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 vinduetDon't require password repeat when it is visible
-
+ Kræv ikke kodeord gentaget når det er synligtShow 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 standardPrivacy
-
+ PrivatlivUse Google as fallback for downloading website icons
-
+ Brug Google som nødløsning til at downloade website ikonerRe-lock previously locked database after performing Auto-Type
-
+ Lås tidligere låste databaser efter udførsel af Auto-IndsætSetupTotpDialogSetup TOTP
-
+ Opsæt TOTPKey:
-
+ Nøgle:Default RFC 6238 token settings
-
+ Standard RFC 6238 token indstillingerSteam token settings
-
+ Steam token indstillingerUse custom settings
-
+ Brug brugerdefinerede indstillingerNote: 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 cifre6 digits
-
+ 6 cifreCode size:
-
+ Kodestørrelse: sec
@@ -4001,7 +4023,7 @@ Lås den valgte database op eller vælg en anden som er åbnet.
000000
-
+ 000000Copy
@@ -4009,11 +4031,11 @@ Lås den valgte database op eller vælg en anden som er åbnet.
Expires in
-
+ Udløber omseconds
-
+ sekunder
@@ -4027,23 +4049,23 @@ Lås den valgte database op eller vælg en anden som er åbnet.
WelcomeWidgetStart storing your passwords securely in a KeePassXC database
-
+ Begynd at gemme dinne kodeord sikkert i en KeePassXC databaseCreate new database
-
+ Opret en ny databaseOpen existing database
-
+ Åben en eksisterende databaseImport from KeePass 1
-
+ Importér fra KeePass 1Import from CSV
-
+ Importér fra CSVRecent 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 %1mainRemove 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 platformefilenames 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 stdinParent 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 quoteSchließ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)
- GroupGruppe
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 integrationGeneral
@@ -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 quotemissing 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)
- GroupGroup
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
-
+ ClaveValue
-
+ 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
-
+ CreadoModified
-
+ ModificadoAccessed
@@ -1949,31 +1949,31 @@ This may cause the affected plugins to malfunction.
EntryViewCustomize View
-
+ Personalizar VistaHide Usernames
-
+ Ocultar nombres de usuarioHide Passwords
-
+ Ocultar ContraseñasFit to window
-
+ Ajustar a la ventanaFit to contents
-
+ Ajustar al contenidoReset to defaults
-
+ Restaurar ajustes por defectoAttachments (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 quotecomilla 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)
-
- GroupGrupo
@@ -3528,7 +3531,7 @@ Available commands:
Created
-
+ CreadoLegacy 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)
- GroupTaldea
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 quotelainausmerkki 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)
- GroupRyhmä
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 : %1Distribution: %1
- Distribution: %1
+ Distribution : %1Libraries:
- 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 %4Enabled 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.AgentSettingsWidgetEnable SSH Agent (requires restart)
- Activer l'agent SSH (redémarrage nécessaire)
+ Activer l’agent SSH (redémarrage nécessaire)AutoTypeCouldn'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 - KeePassXCAuto-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’utilisateurSequence
@@ -183,11 +183,11 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès.
AutoTypeSelectDialogAuto-Type - KeePassXC
- Remplissage automatique - KeePassXC
+ Saisie automatique - KeePassXCSelect 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-BrowserEnable KeepassXC browser integration
- Activer l'intégration de KeePassXC au sein du navigateur web
+ Activer l’intégration de KeePassXC au sein du navigateur webGeneral
@@ -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 ¬ification when credentials are requestedCredentials mean login data requested via browser extension
- Afficher une ¬ification quand les identifiants sont demandés
+ Afficher une ¬ification lorsque les identifiants sont demandésRe&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 mieuxSort &matching credentials by title
@@ -286,7 +286,7 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès.
Sort matching credentials by &usernameCredentials 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éesAdvanced
@@ -303,12 +303,12 @@ Veuillez sélectionner si vous souhaitez autoriser l’accès.
Never &ask before accessing credentialsCredentials mean login data requested via browser extension
- Ne jamais &demander avant d'accéder aux identifiants
+ Ne &jamais demander avant d’accéder aux identifiantsNever ask before &updating credentialsCredentials mean login data requested via browser extension
- Ne jamais &demander avant de mettre à jour les identifiants
+ Ne &jamais demander avant de mettre à jour les identifiantsOnly 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 credentialsCredentials 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 ouvertesAutomatically 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 webUse 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.BrowserServiceKeePassXC: New key association request
- KeePassXC : nouvelle demande d'association
+ KeePassXC : nouvelle demande d’associationYou 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èsKeePassXC: 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éeDo 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éeNo 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éesSuccessfully 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éesSuccessfully 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é :
%2Legacy 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 titreReplace 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érencesCopy 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 à ignorerConsider '\' an escape character
- Considère '\' comme un échappement
+ Utiliser « \ » comme caractère d’échappementPreview
@@ -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 avertissementAll 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é
+ AnnulerNumber 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écutionDatabaseSettingsWidgetEncryptionEncryption 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 bitsKey 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 secondeMemory 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’historiqueMax. 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
+ MioUse 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 ?DatabaseWidgetSearching...
- 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’utilisateurAutotype
@@ -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 automatiqueProperties
@@ -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éeEntry history
- Historique de l'entrée
+ Historique de l’entréeAdd entry
@@ -1339,7 +1339,7 @@ Voulez-vous fusionner vos modifications ?
Edit entry
- Modifier l'entrée
+ Modifier l’entréeDifferent 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 :EditEntryWidgetAutoTypeEnable Auto-Type for this entry
- Activer le remplissage automatique pour cette entrée
+ Activer la saisie automatique pour cette entréeInherit 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 ?
EditEntryWidgetMainURL:
- 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
+ secondesFingerprint
@@ -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’agentRemove from agent
- Retirer de l'agent
+ Retirer de l’agentRequire 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 parentSet 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 automatiqueEditWidgetIcons&Use default icon
- Utiliser l'icône par défaut
+ Utiliser l’icône par défautUse 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ôneCustom 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 ?EditWidgetPropertiesCreated:
- 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’extensionRemove
@@ -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 :
%1Are 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’écrasementUnable to save attachments:
%1
- Impossible d'enregistrer les fichiers attachés :
+ Impossible d’enregistrer les fichiers attachés :
%1Unable to open attachment:
%1
- Impossible d'ouvrir le fichier attaché :
+ Impossible d’ouvrir le fichier attaché :
%1Unable to open attachments:
%1
- Impossible d'ouvrir les fichiers attachés :
+ Impossible d’ouvrir les fichiers attachés :
%1Unable 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’utilisateurURL
@@ -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’utilisateurURL
@@ -1957,7 +1957,7 @@ This may cause the affected plugins to malfunction.
Hide Usernames
- Cacher les noms d'utilisateurs
+ Cacher les noms d’utilisateursHide 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.
HostInstallerKeePassXC: 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.
HttpPasswordGeneratorWidgetLength:
- 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 groupeExtended 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.Kdbx3WriterUnable 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.
Kdbx4Readermissing database headers
- En-têtes manquants de la base de donnée
+ En-têtes de base de données manquantsUnable 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 invalideHeader SHA256 mismatch
- SHA256 de l'en-tête ne correspond pas
+ SHA256 de l’en-tête ne correspond pasWrong 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 invalideInvalid header field length
- Longueur du champ de l’en-tête non valide
+ Longueur du champ de l’en-tête invalideInvalid header data length
- Longueur des données de l'en-tête non valide
+ Longueur des données de l’en-tête invalideFailed 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êteUnsupported 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 invalideLegacy 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 invalideInvalid inner header field length
- Longueur du champ de l'en-tête interne non valide
+ Longueur du champ de l’en-tête interne invalideInvalid inner header binary size
- Taille binaire de l'en-tête interne non valide
+ Taille binaire de l’en-tête interne invalideUnsupported KeePass variant map version.
@@ -2160,69 +2160,69 @@ This may cause the affected plugins to malfunction.
Invalid variant map entry name lengthTranslation: 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 dataTranslation: 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 lengthTranslation: 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 dataTranslation 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 lengthTranslation: 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 lengthTranslation: 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 lengthTranslation: 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 lengthTranslation: 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 lengthTranslation: 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 typeTranslation: 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 sizeTranslation: 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.Kdbx4WriterInvalid 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.
KdbxReaderInvalid cipher uuid length
- Longueur de l'uuid du chiffrement non valide
+ Longueur de l’UUID du chiffrement invalideUnsupported 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 invalideInvalid start bytes size
- Taille des octets de début non valide
+ Taille des octets de début invalideInvalid 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
KdbxXmlReaderXML parsing failure: %1
- Erreur d'analyse XML : %1
+ Erreur d’analyse XML : %1No 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 manquantMissing custom data key or value
- Valeur ou clé de donnée personnalisée manquante
+ Valeur ou clé de données personnalisée manquanteMultiple 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 valeurInvalid group icon number
- Numéro de l'icône du groupe non valide
+ Numéro de l’icône du groupe invalideInvalid EnableAutoType value
- Valeur EnableAutoType non valide
+ Valeur EnableAutoType invalideInvalid EnableSearching value
- Valeur de EnableSearching non valide
+ Valeur de EnableSearching invalideNo 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 valeurMissing DeletedObject uuid or time
- Temps ou uuid de DeletedObject manquant
+ Temps ou UUID de DeletedObject manquantNull entry uuid
- Uuid de l'entrée sans valeur
+ UUID de l’entrée sans valeurInvalid 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 invalideHistory 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érentUnable 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éeDuplicate 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 manquanteDuplicate 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 manquanteAuto-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 invalideInvalid date time value
- Valeur date time non valide
+ Valeur d’horodatage invalideInvalid color value
- Valeur de couleur non valide
+ Valeur de couleur invalideInvalid color rgb part
- Partie de couleur RVB non valide
+ Partie de couleur RVB invalideInvalid number value
- Valeur de nombre non valide
+ Valeur de nombre invalideInvalid uuid value
- Valeur uuid non valide
+ Valeur UUID invalideUnable 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 IVIV = Initialization Vector for symmetric cipher
- Impossible de lire le vecteur d'initialisation du chiffrement
+ Impossible de lire le vecteur d’initialisation du chiffrementInvalid number of groups
- Nombre de groupes non valide
+ Nombre de groupes invalideInvalid number of entries
- Nombre d’entrées non valide
+ Nombre d’entrées invalideInvalid content hash size
- Taille du hachage du contenu non valide
+ Taille du hachage du contenu invalideInvalid 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 invalideUnable 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 invalideRead 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 » incorrectIncorrect 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 manquanteInvalid entry field size
- Taille du champ de l'entrée non valide
+ Taille du champ de l’entrée invalideRead 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 invalideInvalid 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 invalideInvalid entry icon field size
- Taille du champ icône de l'entrée non valide
+ Taille du champ icône de l’entrée invalideInvalid 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 invalideInvalid 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 invalideInvalid entry expiry time field size
- Taille invalide du champ d'entrée heure d'expiration
+ Taille invalide du champ d’entrée heure d’expirationInvalid 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é)MainExisting 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-papierTime-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éesDatabase 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’utilisateurCopy username to clipboard
- Copier le nom d'utilisateur dans le presse-papier
+ Copier le nom d’utilisateur dans le presse-papierCop&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’historiqueAccess 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.
OpenSSHKeyInvalid key file, expecting an OpenSSH key
- Fichier clé invalide, une clé OpenSSH est attendue
+ Fichier-clé invalide, une clé OpenSSH est attenduePEM 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 invalideFound zero keys
- Zéro clés trouvées
+ Acune clé n’a été trouvéeFailed 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éeNo 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é publiqueUnexpected 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éeCan'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 videUnexpected 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 videUnexpected 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éeUnsupported key type: %1
- Type de clé non géré: %1
+ Type de clé non supporté : %1Unknown cipher: %1
- Chiffrement inconnu : %1
+ Chiffrement inconnu : %1Cipher 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 MD5Unknown KDF: %1
- KDF inconnu : %1
+ KDF inconnu : %1Unknown 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éesRe&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’&utilisateurSort &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éesAlways 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 : 19455KeePassXC 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 bitPassword Quality: %1
- Qualité du mot de passe : %1
+ Qualité du mot de passe : %1PoorPassword quality
- Pauvre
+ MauvaisWeak
@@ -3221,11 +3248,11 @@ Restauration du port 19455 par défaut.
QObjectDatabase 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 disponibleClient 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éessayerKey change was not successful
- Le changement de clé n'a pas réussi
+ Le changement de clé n’a pas réussiEncryption key is not recognized
- La clé de chiffrement n'est pas reconnue
+ La clé de chiffrement n’est pas reconnueNo saved databases found
- Aucunes bases de données sauvegardées trouvées
+ Aucunes bases de données sauvegardée trouvéeIncorrect 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’utilisateurURL 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 : %2WARNING: 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éemissing 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 manquantGroup
@@ -3524,7 +3527,7 @@ Commandes disponibles :
Username
- Nom d'utilisateur
+ Nom d’utilisateurPassword
@@ -3544,7 +3547,7 @@ Commandes disponibles :
Legacy Browser Integration
- Intégration au navigateur web héritée
+ Ancienne intégration au navigateur webBrowser 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 DicewareWord 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 Dicewarecount
@@ -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 :
QtIOCompressorInternal 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::openThe 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 :SearchWidgetSearch...
- Recherche...
+ Recherche…Search
@@ -3674,55 +3677,55 @@ Commandes disponibles :
ServiceKeePassXC: New key association request
- KeePassXC : nouvelle demande d'association
+ KeePassXC : nouvelle demande d’associationYou 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éeDo 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éesSuccessfully 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éeNo 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éesSuccessfully 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.SettingsWidgetApplication Settings
- Paramètres de l'application
+ Paramètres de l’applicationGeneral
@@ -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 KeePassXCRemember 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érieurMinimize 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’applicationUse 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éeDon'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’applicationDark 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 automatiqueUse 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 automatiqueGlobal Auto-Type shortcut
- Raccourci de la Saisie-Automatique
+ Raccourci de la saisie automatiqueAuto-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ésLock 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 CSVRecent 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 standardParent 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éhezKey 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ó
+ JelmondatWordlist:
@@ -3485,30 +3512,6 @@ Elérhető parancsok:
missing closing quotehiá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)
- GroupCsoport
@@ -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 quotekehilangan 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)
- GroupGrup
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 quotevirgoletta 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)
- GroupGruppo
@@ -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 SteamUse 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 quotetrū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)
- GroupGrupė
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 ¬ification 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
+ DebuginformatieInclude the following information whenever you report a bug:
@@ -35,7 +35,7 @@
Copy to clipboard
- Kopieer naar klembord
+ Naar klembord kopiërenVersion %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.AgentSettingsWidgetEnable 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 - KeePassXCAuto-Type
- Auto-typen
+ Auto-typeThe 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
+ TekenreeksDefault sequence
- Standaardvolgorde
+ Standaard tekenreeks
@@ -176,14 +176,14 @@ Geef aan of je toegang wilt toestaan of niet.
Sequence
- Volgorde
+ TekenreeksAutoTypeSelectDialogAuto-Type - KeePassXC
- Auto-typen - KeePassXC
+ Auto-type - KeePassXCSelect 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 activerenGeneral
@@ -256,7 +256,7 @@ Geef aan of je toegang wilt toestaan of niet.
Show a ¬ification when credentials are requestedCredentials mean login data requested via browser extension
- Toon een ¬ificatie wanneer inloggegevens worden gevraagd
+ Toon een &melding wanneer inloggegevens worden gevraagdRe&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 opstartenSupport 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 browserextensieUse 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 locationMeant is the proxy for KeePassXC-Browser
- Gebruik een &aangepaste proxy locatie
+ Gebruik een &aangepaste proxy-locatieBrowse...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-locatieWe'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.BrowserServiceKeePassXC: New key association request
- KeePassXC: Nieuw verzoek voor sleutel koppeling
+ KeePassXC: Nieuw verzoek voor sleutelkoppelingYou 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 verlenenKeePassXC: 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
+ AanmakenCha&llenge Response
@@ -507,7 +507,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.
Refresh
- Vernieuw
+ VernieuwenKey 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.CloneDialogClone Options
- Kloon Opties
+ Opties klonenAppend ' - Clone' to title
- Toevoegen' - Kloon' aan naam
+ Voeg ' - Kloon' toe aan naamReplace username and password with references
- Vervang gebruikersnaam en wachtwoord door referenties
+ Gebruikersnaam en wachtwoord vervangen door referentiesCopy history
- Kopie historie
+ Historie kopiërenCsvImportWidgetImport CSV fields
- Importeer CSV velden
+ CSV-velden importerenfilename
@@ -600,7 +600,7 @@ Overweeg aub een nieuw sleutelbestand te genereren.
Encoding
- Koderen
+ CoderenCodec
@@ -616,23 +616,23 @@ Overweeg aub een nieuw sleutelbestand te genereren.
Comments start with
- Kommentaar start met
+ Commentaar start metFirst record has field names
- Eerste record heeft veldnamen
+ Eerste record bevat veldnamenNumber of headers line to discard
- Aantal kopregels te negeren
+ Aantal te negeren kopregelsConsider '\' an escape character
- Beschouw '\' als excape karacter
+ Beschouw '\' als escape-karakterPreview
- voorvertoning
+ VoorvertoningColumn 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-bestandEmpty fieldname
@@ -652,15 +652,15 @@ Overweeg aub een nieuw sleutelbestand te genereren.
Imported from CSV file
- Geimporteerd uit CSV bestand
+ Geïmporteerd uit CSV-bestandOriginal 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
+ VernieuwenChallenge 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 highKey transformation rounds
- Aantal rondes te hoog
+ Aantal iteraties te hoogYou 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 lowKey transformation rounds
- Aantal rondes te laag
+ Aantal iteraties te laagYou 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)DatabaseSettingsWidgetEncryptionEncryption 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:DatabaseSettingsWidgetGeneralDatabase Meta Data
- Database meta gegevens
+ Database meta-gegevensDatabase 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-instellingenMax. 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-instellingenEnable &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 openenCSV 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 AlsExport 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?DatabaseWidgetSearching...
- Bezig met zoeken...
+ Bezig met zoeken…Change master key
- Wijzig hoofdsleutel
+ Hoofdsleutel wijzigenDelete 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?
DetailsWidgetGenerate TOTP Token
- TOTP Token genereren
+ TOTP-token genererenClose
@@ -1226,7 +1226,7 @@ Wil je de wijzigingen samenvoegen?
Autotype
- Autotype
+ Auto-typeSearching
@@ -1234,7 +1234,7 @@ Wil je de wijzigingen samenvoegen?
Attributes
- Eigenschappen
+ KenmerkenAttachments
@@ -1242,7 +1242,7 @@ Wil je de wijzigingen samenvoegen?
Notes
- Opmerkingen
+ NotitiesWindow
@@ -1250,7 +1250,7 @@ Wil je de wijzigingen samenvoegen?
Sequence
- Volgorde
+ TekenreeksSearch
@@ -1293,7 +1293,7 @@ Wil je de wijzigingen samenvoegen?
Auto-Type
- Auto-typen - KeePassX
+ Auto-typeProperties
@@ -1305,11 +1305,11 @@ Wil je de wijzigingen samenvoegen?
SSH Agent
- SSH Agent
+ SSH-agentn/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 openenEntry 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 kenmerkConfirm Remove
- Bevestig verwijderen
+ Verwijdering bevestigenAre 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 bewerkenTomorrow
@@ -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?
EditEntryWidgetAdvancedAdditional attributes
- Extra eigenschappen
+ Extra kenmerkenAdd
@@ -1408,15 +1408,15 @@ Wil je de wijzigingen samenvoegen?
Edit Name
- Verander Naam
+ Naam bewerkenProtect
- Beveilig
+ BeveiligenReveal
- Toon
+ TonenAttachments
@@ -1424,26 +1424,26 @@ Wil je de wijzigingen samenvoegen?
Foreground Color:
- Voorgrond kleur:
+ Voorgrondkleur:Background Color:
- Kleur achtergrond:
+ Achtergrondkleur:EditEntryWidgetAutoTypeEnable Auto-Type for this entry
- Auto-typen inschakelen voor dit item
+ Auto-type inschakelen voor dit itemInherit 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
+ NotitiesPresets
- Ingebouwd
+ VoorkeuzeToggle 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ërenPrivate 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 toevoegenRemove from agent
- Verwijder van agent
+ Van agent verwijderenRequire 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 bewerkenEnable
@@ -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
+ NotitiesExpires
@@ -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 groepSet default Auto-Type se&quence
- Stel de standaard auto-type volgord&e in
+ Standaard Auto-type volgorde instellenEditWidgetIcons&Use default icon
- &Gebruik standaardicoon
+ Standaardicoon &gebruikenUse custo&m icon
- Gebruik aangepast icoon
+ Aangepast icoon gebruikenAdd custom icon
- Voeg icoon toe
+ Icoon toevoegenDelete custom icon
- Verwijder icoon
+ Icoon verwijderenDownload 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>BeveiligingImages
@@ -1714,15 +1714,15 @@ Wil je de wijzigingen samenvoegen?
Custom icon already exists
- Speciaal pictogram bestaat al
+ Aangepast icoon bestaat alConfirm Delete
- Bevestig Verwijder
+ Verwijdering bevestigenThis 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
+ SleutelValue
@@ -1805,7 +1805,7 @@ Hierdoor werken de plugins mogelijk niet meer goed.
Open
- Open
+ OpenenSave
@@ -1821,7 +1821,7 @@ Hierdoor werken de plugins mogelijk niet meer goed.
Confirm Remove
- Bevestig verwijderen
+ Verwijdering bevestigenSave 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:
%1Are 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 bevestigenUnable to save attachments:
%1
- Opslaan van bijlagen is niet gelukt:
+ Bijlagen niet kunnen opslaan:
%1Unable to open attachment:
%1
- Openen van bijlage is niet gelukt:
+ Bijlage niet kunnen openen:
%1Unable to open attachments:
%1
- Openen van bijlagen is niet gelukt:
+ Bijlagen niet kunnen openen:
%1Unable 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
+ NotitiesExpires
@@ -1941,7 +1941,7 @@ Hierdoor werken de plugins mogelijk niet meer goed.
Accessed
- Gezien
+ ToegangAttachments
@@ -1952,7 +1952,7 @@ Hierdoor werken de plugins mogelijk niet meer goed.
EntryViewCustomize View
- Pas weergave aan
+ Weergave aanpassenHide Usernames
@@ -1964,19 +1964,19 @@ Hierdoor werken de plugins mogelijk niet meer goed.
Fit to window
- Pas aan venster aan
+ Aanpassen aan venstergrootteFit to contents
- Pas aan inhoud aan
+ Aanpassen aan inhoudReset to defaults
- Terugzetten op standaardwaarden
+ Standaardwaarden opnieuw instellenAttachments (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 uitsluitenEnsure 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.Kdbx3WriterUnable 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.
Kdbx4Readermissing database headers
- ontbrekende database headers
+ ontbrekende database-koppenUnable 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-controlecijferHeader SHA256 mismatch
- Header SHA256 mismatch
+ SHA256-kop komt niet overeenWrong 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 versleutelingsalgoritmeInvalid header id size
- Niet geldige grootte van header id
+ Ongeldige grootte van header-IDInvalid header field length
- Niet geldige lengte van header veld
+ Ongeldige lengte van header-veldInvalid header data length
- Niet geldige lengte van header data
+ Ongeldige lengte van header-dataFailed 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 headerUnsupported key derivation function (KDF) or invalid parameters
- Niet-ondersteunde key derivation function (KDF) of ongeldige parameters
+ Niet-ondersteunde sleutel-afleidingsfunctie (KDF) of ongeldige parametersLegacy 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-idInvalid inner header field length
- Niet geldige lengte van inner header veld
+ Ongeldige lengte van inner header-veldInvalid inner header binary size
- Niet geldige binaire grootte van inner header
+ Ongeldige binaire grootte van inner headerUnsupported KeePass variant map version.
@@ -2159,69 +2159,69 @@ Hierdoor werken de plugins mogelijk niet meer goed.
Invalid variant map entry name lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van de variant map entry
+ Ongeldige lengte van de variant map entryInvalid variant map entry name dataTranslation: variant map = data structure for storing meta data
- Niet geldige data in de variant map entry name
+ Ongeldige data in de variant map entry nameInvalid variant map entry value lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van de variant map waarde
+ Ongeldige lengte van de variant map waardeInvalid variant map entry value dataTranslation comment: variant map = data structure for storing meta data
- Niet geldige data in de variant map waarde
+ Ongeldige data in de variant map waardeInvalid variant map Bool entry value lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van een variant map Bool waarde
+ Ongeldige lengte van een variant map Bool-waardeInvalid variant map Int32 entry value lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van een variant map Int32 waarde
+ Ongeldige lengte van een variant map Int32-waardeInvalid variant map UInt32 entry value lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van een variant map UInt32 waarde
+ Ongeldige lengte van een variant map UInt32-waardeInvalid variant map Int64 entry value lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van een variant map Int64 waarde
+ Ongeldige lengte van een variant map Int64-waardeInvalid variant map UInt64 entry value lengthTranslation: variant map = data structure for storing meta data
- Niet geldige lengte van een variant map UInt64 waarde
+ Ongeldige lengte van een variant map UInt64-waardeInvalid variant map entry typeTranslation: variant map = data structure for storing meta data
- Niet geldige item type in variant map
+ Ongeldige item type in variant mapInvalid variant map field type sizeTranslation: variant map = data structure for storing meta data
- Niet geldige grootte van variant map veld type
+ Ongeldige grootte van variant map veld-typeKdbx4WriterInvalid 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 mapTranslation 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 mapKdbxReaderInvalid cipher uuid length
- Niet geldige lengte versleutel uuid
+ Ongeldige lengte versleuteling uuidUnsupported cipher
- Niet ondersteund versleutel algoritme
+ Niet ondersteund versleutelingsalgoritmeInvalid compression flags length
- Niet geldige lengte van compressie opties
+ Ongeldige lengte van compressie-optiesUnsupported 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-seedInvalid transform seed size
- Niet geldige grootte van transform seed
+ Ongeldige grootte van transform-seedInvalid transform rounds size
- Niet geldige aantal transformatie rondes
+ Ongeldig aantal transformatie-iteratiesInvalid start bytes size
- Niet geldige grootte van start bytes
+ Ongeldige grootte van start-bytesInvalid random stream id size
- Niet geldige grootte van random stream id
+ Ongeldige grootte van random stream-idInvalid inner random stream cipher
- Niet geldig inner-random-stream versleutel algoritme
+ Ongeldig inner-random-stream versleutelingsalgoritmeNot 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.KdbxXmlReaderXML parsing failure: %1
- XML parsing fout: %1
+ XML leesfout: %1No 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 -waardeMultiple 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-nummerInvalid EnableAutoType value
- Niet geldige EnableAutoType waarde
+ Ongeldige EnableAutoType-waardeInvalid EnableSearching value
- Niet geldige EnableSearching waarde
+ Ongeldige EnableSearching-waardeNo group uuid found
- Geen groep uuid gevonden
+ Geen groep-uuid gevondenNull 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-nummerHistory 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 gevondenHistory 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 gevondenEntry string key or value missing
- Item string sleutel of waarde ontbreekt
+ Item stringsleutel of -waarde ontbreektDuplicate 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 ontbreektInvalid bool value
- Niet geldige bool waarde
+ Ongeldige bool-waardeInvalid date time value
- Niet geldige datum-tijdwaarde
+ Ongeldige datum-tijdwaardeInvalid color value
- Niet geldige kleurwaarde
+ Ongeldige kleurwaardeInvalid color rgb part
- Niet geldige kleur in rgb deel
+ Ongeldige kleur in rgb deelInvalid number value
- Niet geldig getal
+ Ongeldig getalInvalid uuid value
- Niet geldige uuid-waarde
+ Ongeldige uuid-waardeUnable to decompress binary
@@ -2422,7 +2422,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open
KeePass1OpenWidgetImport KeePass1 database
- Importeer Keepass 1-database
+ KeePass 1-database importerenUnable 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-databaseUnsupported encryption algorithm.
- Niet-ondersteund encryptie-algoritme
+ Niet-ondersteund versleutelings-algoritmeUnsupported KeePass database version.
- Niet-ondersteunde versie van Keepass-database
+ Niet-ondersteunde versie van KeePass-database.Unable to read encryption IVIV = Initialization Vector for symmetric cipher
- Initialization Vector kon niet gelezen worden
+ Versleuteling IV kon niet gelezen wordenInvalid number of groups
- Niet geldig aantal groepen
+ Ongeldig aantal groepenInvalid number of entries
- Niet geldig aantal items
+ Ongeldig aantal itemsInvalid content hash size
- Niet geldige grootte van inhoud-hash
+ Ongeldige grootte van inhoud-hashInvalid transform seed size
- Niet geldige grootte van transform seed
+ Ongeldige grootte van transform-seedInvalid number of transform rounds
- Niet geldig aantal transformatie rondes
+ Ongeldig aantal transformatie-iteratiesUnable to construct group tree
- Opbouwen van de groepsboom is niet gelukt
+ Groepsstructuur niet kunnen opbouwenRoot
@@ -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 berekenenWrong 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 misluktInvalid group field type number
- Niet geldig groep veld typenummer
+ Ongeldig groep veld typenummerInvalid group field size
- Niet geldige grootte van groep veld
+ Ongeldige grootte van groep veldRead 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-veldIncorrect 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-veldIncorrect group access time field size
- Onjuiste grootte toegangstijd veld
+ Onjuiste grootte toegangstijd-veldIncorrect group expiry time field size
- Onjuiste grootte verloop-tijd veld
+ Onjuiste grootte verlooptijd-veldIncorrect group icon field size
- Onjuiste grootte icoon veld
+ Onjuiste grootte icoon-veldIncorrect group level field size
- Onjuiste grootte van groepsniveau veld
+ Onjuiste grootte van groepsniveau-veldInvalid group field type
- Niet geldig groep veldtype
+ Ongeldig groep-veldtypeMissing group id or level
- Ontbrekende groeps-id of niveau
+ Ontbrekende groeps-id of -niveauMissing entry field type number
- Ontbrekend item veld type nummer
+ Ontbrekend item veldtype-nummerInvalid entry field size
- Niet geldige grootte van item veld
+ Ongeldige grootte van item-veldRead 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-veldInvalid entry group id field size
- Niet geldige grootte van groep id veld
+ Ongeldige grootte van groepid-veldInvalid entry icon field size
- Niet geldige grootte van icoon veld
+ Ongeldige grootte van icoon-veldInvalid entry creation time field size
- Niet geldige grootte van aanmaaktijd veld
+ Ongeldige grootte van aanmaaktijd-veldInvalid entry modification time field size
- Niet geldige grootte van wijzigingstijd veld
+ Ongeldige grootte van wijzigingstijd-veldInvalid entry expiry time field size
- Niet geldige grootte van verloop-tijd veld
+ Ongeldige grootte van verlooptijd-veldInvalid 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)MainExisting 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
+ &HelpE&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ërenTime-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 &VerwijderenSa&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ërenCopy username to clipboard
- Kopieer gebruikersnaam naar klembord
+ Gebruikersnaam naar klembord kopiërenCop&y password
- Kopieer wachtwoord
+ Wachtwoord kopiërenCopy 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
+ &NotitiesCopy 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 weergevenSet up TOTP...
- Stel TOTP in...
+ TOTP instellen…Copy &TOTP
- Kopieer &TOTP
+ &TOTP kopiërenE&mpty recycle bin
- Leeg prullenbak
+ Prullenbak leegmakenClear history
- Wis de geschiedenis
+ Geschiedenis wissenAccess 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 openenQuit KeePassXC
- Verlaat KeePassXC
+ KeePassXC afsluitenKeePass 2 Database
- KeePass 2 Database
+ KeePass 2-databaseAll files
@@ -2848,7 +2875,7 @@ Deze actie is niet omkeerbaar. Je kunt de geïmporteerde database niet meer open
Open database
- Open database
+ Database openenSave 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.OpenSSHKeyInvalid key file, expecting an OpenSSH key
- Niet geldig sleutelbestand, er werd een OpenSSH sleutel verwacht
+ Ongeldig sleutelbestand, er werd een OpenSSH-sleutel verwachtPEM boundary mismatch
- PEM grens fout
+ PEM-grens komt niet overeenBase64 decoding failed
- Base64 decoderen mislukt
+ Base64-decodering misluktKey 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 sleutelbestandFound zero keys
- Nul sleutels gevonden
+ Geen sleutels gevondenFailed 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 misluktNo private key payload to decrypt
- Geen inhoud prive-sleutel om te decoderen
+ Geen inhoud persoonlijke sleutel om te decoderenTrying to run KDF without cipher
- Probeer KDF te draaien zonder versleutel algoritme
+ Probeer KDF uit te voeren zonder versleutelingsalgoritmePassphrase is required to decrypt this key
- Wachtwoord(-zin) nodig om sleutel te ontcijferen
+ Wachtwoord(-zin) nodig om deze sleutel te ontcijferenKey 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 sleutelCan't write public key as it is empty
- Kan publieke sleutel niet opslaan: lege sleutel
+ Kan publieke sleutel niet opslaan, aangezien deze leeg isUnexpected 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 isUnexpected EOF when writing private key
- Onverwacht bestandseinde bij schrijven privesleutel
+ Onverwacht bestandseinde bij schrijven persoonlijke sleutelUnsupported key type: %1
- Sleutel type %1 is niet ondersteund.
+ Niet ondersteund sleuteltype: %1Unknown cipher: %1
- Onbekende cipher: %1
+ Onbekende versleuteling: %1Cipher 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: %1Unknown 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 activerenGeneral
@@ -2991,35 +3018,35 @@ Deze versie is niet bedoeld voor productie doeleinden.
Sh&ow a notification when credentials are requestedCredentials mean login data requested via browser extension
- Toon een notificatie wanneer inloggegevens worden aangevraagd
+ Toon een melding wanneer inloggegevens worden aangevraagdOnly 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 itemsRe&quest to unlock the database if it is locked
- Verzoek om database te ontgrendelen als deze vergrendeld is
+ Verzoek om database te ontgrendelenOnly 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'sSort matching entries by &username
- Sorteer gegeven items op $gebruikersnaam
+ Sorteer items op $gebruikersnaamSort &matching entries by title
- Sorteer &overeenkomende items op naam
+ Sorteer items op &naamR&emove all shared encryption keys from active database
@@ -3031,7 +3058,7 @@ Deze versie is niet bedoeld voor productie doeleinden.
Password Generator
- Wachtwoord generator
+ WachtwoordgeneratorAdvanced
@@ -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 poortenCannot 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 uitsluitenPick characters from every group
@@ -3153,19 +3180,19 @@ Standaardpoort 19455 wordt gebruikt.
Passphrase
- Wachtwoord
+ WachtwoordzinWordlist:
- 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: %1Poor
@@ -3228,7 +3255,7 @@ Standaardpoort 19455 wordt gebruikt.
Client public key not received
- Openbare sleutel van de client niet ontvangen
+ Openbare sleutel niet ontvangenCannot 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 KeePassXCAction cancelled or denied
- Actie geannuleerd of geweigerd
+ Actie afgebroken of geweigerdCannot 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 opnieuwKey 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 herkendNo 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
+ kenmerkName of the entry to show.
@@ -3468,7 +3495,7 @@ Beschikbare instructies:
NULL device
- NULL apparaat
+ NULL-apparaaterror reading from device
@@ -3488,30 +3515,6 @@ Beschikbare instructies:
missing closing quoteafsluitend 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)
- GroupGroep
@@ -3530,7 +3533,7 @@ Beschikbare instructies:
Notes
- Opmerkingen
+ NotitiesLast Modified
@@ -3542,7 +3545,7 @@ Beschikbare instructies:
Legacy Browser Integration
- Verouderde browser integratie
+ Verouderde browserintegratieBrowser 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 - %3Press
@@ -3562,24 +3565,24 @@ Beschikbare instructies:
SSH Agent
- SSH Agent
+ SSH-agentGenerate a new random diceware passphrase.
- Genereer een nieuw willekeurig diceware wachtwoord zin
+ Genereer een nieuwe willekeurige Diceware wachtwoordzinWord count for the diceware passphrase.
- Aantal woorden voor de Diceware wachtzin.
+ Aantal woorden voor de Diceware wachtwoordzin.count
- hoeveelheid
+ aantalWordlist 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:
SearchWidgetSearch...
- Zoek...
+ Zoeken…Search
@@ -3672,25 +3675,25 @@ Beschikbare instructies:
ServiceKeePassXC: New key association request
- KeePassXC: Nieuw verzoek voor sleutel koppeling
+ KeePassXC: Nieuw verzoek voor sleutelkoppelingYou 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
+ BasisinstellingenStart only a single instance of KeePassXC
- Start slechts een enkele instance van KeePassXC
+ Hoogstens een enkele instantie van KeePassXC startenRemember last databases
- Onthoud laatste databases
+ Laatstgebruikte databases onthoudenRemember last key files and security dongles
- Onthou de laatste sleutelbestanden en beveiligingsdongles
+ Laatstgebruikte sleutelbestanden en beveiligingsdongles onthoudenLoad previous databases on startup
- Open vorige databases bij starten
+ Laatstgebruikte databases openen bij het opstartenAutomatically 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 gewijzigdMinimize 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 itemsDon'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 verbergenShow a system tray icon
- Toon een icoon in de systray
+ Icoon in het systeemvak tonenHide window to system tray when minimized
- Bij minimaliseren enkel icoon in systray tonen
+ Minimaliseren naar systeemvakHide 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 afsluitenDark system tray icon
- Donker systray icoon
+ Donker systeemvak-icoonLanguage
@@ -3854,27 +3857,27 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.
Auto-Type
- Auto-typen - KeePassX
+ Auto-typeUse 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-typeUse 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-typeAlways ask before performing Auto-Type
- Vraag altijd voordat auto-type gebruikt wordt
+ Altijd vragen voor toepassen Auto-typeGlobal Auto-Type shortcut
- Globale sneltoets voor auto-typen
+ Globale sneltoets voor Auto-typeAuto-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 opslaanEntry Management
- Item beheer
+ ItembeheerGeneral
@@ -3910,20 +3913,20 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.SettingsWidgetSecurity
Timeouts
- Timeouts
+ Time-outsClear clipboard after
- Leeg klembord na
+ Klembord leegmaken na secSeconds
- sec
+ secLock databases after inactivity of
- Vergrendel databases na inactiviteit van
+ Databases vergrendelen na inactiviteit vanConvenience
@@ -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 dekselLock databases after minimizing the window
- Vergrendel databases na het minimaliseren van het scherm
+ Databases vergrendelen bij het minimaliseren van het vensterDon'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 isShow passwords in cleartext by default
- Laat wachtwoorden standaard zien
+ Wachtwoorden standaard weergevenHide passwords in the preview panel
- Verberg wachtwoorden in informatiepaneel.
+ Wachtwoorden verbergen in het informatiepaneelHide entry notes by default
- Verberg standaard item aantekeningen
+ Notities standaard verbergenPrivacy
@@ -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 downloadenRe-lock previously locked database after performing Auto-Type
- Vergrendel de hiervoor vergrendelde database opnieuw na Auto-Type.
+ Vergrendelde database na Auto-type weer vergrendelen.SetupTotpDialogSetup TOTP
- Stel TOTP in
+ TOTP-instellenKey:
- Wachtwoord:
+ Sleutel:Default RFC 6238 token settings
- Standaard "RFC 6238 token" instellingen
+ Standaardinstellingen RFC 6238-tokenSteam token settings
- "Steam token" instellingen
+ Instellingen Steam-tokenUse custom settings
- Gebruik aangepaste instellingen
+ Aangepaste instellingen gebruikenNote: 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 cijfers6 digits
- 6 digits
+ 6 cijfersCode size:
@@ -4018,7 +4021,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.TotpDialog
Timed Password
- Getimed wachtwoord
+ Tijdgebonden wachtwoord000000
@@ -4030,7 +4033,7 @@ Ontgrendel de geselecteerde database of kies een ontgrendelde database.
Expires in
- Verloopt binnen
+ Verloopt overseconds
@@ -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-databaseCreate new database
- Maak nieuwe database
+ Nieuwe database aanmakenOpen existing database
- Open bestaande database
+ Bestaande database openenImport from KeePass 1
- Importeer Keepass 1-database
+ Keepass 1-database importerenImport from CSV
- Uit CSV-bestand importeren
+ CSV-bestand importerenRecent 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 quotebrak 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)
- GroupGrupa
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 quotecotaçã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)
- GroupGrupo
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 credentialsCredentials 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 abertasAutomatically creating or updating string fields is not supported.
@@ -1087,7 +1087,7 @@ Desativar salvaguardas e tentar novamente?
DatabaseWidgetSearching...
- A procurar...
+ Pesquisar...Change master key
@@ -1232,7 +1232,7 @@ Deseja juntar as suas alterações?
Searching
- A procurar
+ PesquisaAttributes
@@ -1653,7 +1653,7 @@ Deseja juntar as suas alterações?
Search
- Procurar
+ PesquisaAuto-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 abertasAutomatically creating or updating string fields is not supported.
@@ -3491,30 +3518,6 @@ Comandos disponíveis:
missing closing quotecará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)
- GroupGrupo
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)
-
- GroupGrup
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 proxyWe'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 quotesaknar 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)
- GroupGrupp
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
-
+ ÖzniteliklerAttachments
@@ -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
-
+ AslaPassword
@@ -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)
- GroupKü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