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

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanek Bevendorff <janek@jbev.net>2017-03-02 23:56:54 +0300
committerJanek Bevendorff <janek@jbev.net>2017-03-02 23:56:54 +0300
commit76dcfb5ed0c874f6a835ef0347ddf6098b149e9b (patch)
tree2351c33d54c41f0f4a4637fcc3419573ce76cb8c
parentb9279f73fa58d75e1ec88f734f3c77c0f015a348 (diff)
parent8a69421dc90103f71d1265b413d6e1e2a7034780 (diff)
Release 2.1.32.1.3
- Fix possible overflow in zxcvbn library [#363] - Revert HiDPI setting to avoid problems on laptop screens [#332] - Set file meta properties in Windows executable [#330] - Suppress error message when auto-reloading a locked database [#345] - Improve usability of question dialog when database is already locked by a different instance [#346] - Fix compiler warnings in QHttp library [#351] - Use unified toolbar on Mac OS X [#361] - Fix an issue on X11 where the main window would be raised instead of closed on Alt+F4 [#362]
-rw-r--r--CHANGELOG12
-rw-r--r--CMakeLists.txt4
-rw-r--r--cmake/GenerateProductVersion.cmake118
-rw-r--r--cmake/VersionInfo.in68
-rw-r--r--cmake/VersionResource.rc36
-rw-r--r--share/translations/keepassx_en.ts71
-rw-r--r--share/translations/keepassx_fr.ts840
-rw-r--r--share/translations/keepassx_lt.ts149
-rw-r--r--share/translations/keepassx_zh_CN.ts790
-rw-r--r--snap/gui/keepassxc.desktop (renamed from setup/gui/keepassxc.desktop)0
-rw-r--r--snapcraft.yaml5
-rw-r--r--src/CMakeLists.txt19
-rw-r--r--src/gui/DatabaseTabWidget.cpp25
-rw-r--r--src/gui/DatabaseWidget.cpp14
-rw-r--r--src/gui/MainWindow.cpp25
-rw-r--r--src/gui/MainWindow.h1
-rw-r--r--src/http/OptionDialog.ui10
-rw-r--r--src/http/Protocol.cpp2
-rw-r--r--src/http/qhttp/http-parser/http_parser.h6
-rw-r--r--src/http/qhttp/private/httpreader.hxx2
-rw-r--r--src/http/qhttp/private/qhttpclient_private.hpp2
-rw-r--r--src/http/qhttp/private/qhttpserver_private.hpp2
-rw-r--r--src/http/qhttp/private/qhttpserverconnection_private.hpp2
-rw-r--r--src/http/qhttp/qhttpabstracts.cpp4
-rw-r--r--src/main.cpp8
-rw-r--r--src/zxcvbn/zxcvbn.cpp2
26 files changed, 1643 insertions, 574 deletions
diff --git a/CHANGELOG b/CHANGELOG
index f8a0e33bf..8e0eaacea 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,15 @@
+2.1.3 (2017-03-03)
+=========================
+
+- Fix possible overflow in zxcvbn library [#363]
+- Revert HiDPI setting to avoid problems on laptop screens [#332]
+- Set file meta properties in Windows executable [#330]
+- Suppress error message when auto-reloading a locked database [#345]
+- Improve usability of question dialog when database is already locked by a different instance [#346]
+- Fix compiler warnings in QHttp library [#351]
+- Use unified toolbar on Mac OS X [#361]
+- Fix an issue on X11 where the main window would be raised instead of closed on Alt+F4 [#362]
+
2.1.2 (2017-02-17)
=========================
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 852ccae5c..347c52768 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,8 +38,8 @@ option(WITH_XC_AUTOTYPE "Include Autotype." OFF)
option(WITH_XC_HTTP "Include KeePassHTTP." OFF)
option(WITH_XC_YUBIKEY "Include Yubikey support." OFF)
-set(KEEPASSXC_VERSION "2.1.2")
-set(KEEPASSXC_VERSION_NUM "2.1.2")
+set(KEEPASSXC_VERSION "2.1.3")
+set(KEEPASSXC_VERSION_NUM "2.1.3")
if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_COMPILER_IS_CLANG 1)
diff --git a/cmake/GenerateProductVersion.cmake b/cmake/GenerateProductVersion.cmake
new file mode 100644
index 000000000..2d311efaf
--- /dev/null
+++ b/cmake/GenerateProductVersion.cmake
@@ -0,0 +1,118 @@
+# The MIT License (MIT)
+#
+# Copyright (c) 2015, by [halex2005](mailto:akharlov@gmail.com)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+# the Software, and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+include (CMakeParseArguments)
+
+set (GenerateProductVersionCurrentDir ${CMAKE_CURRENT_LIST_DIR})
+
+# generate_product_version() function
+#
+# This function uses VersionInfo.in template file and VersionResource.rc file
+# to generate WIN32 resource with version information and general resource strings.
+#
+# Usage:
+# generate_product_version(
+# SomeOutputResourceVariable
+# NAME MyGreatProject
+# ICON ${PATH_TO_APP_ICON}
+# VERSION_MAJOR 2
+# VERSION_MINOR 3
+# VERSION_PATH ${BUILD_COUNTER}
+# VERSION_REVISION ${BUILD_REVISION}
+# )
+# where BUILD_COUNTER and BUILD_REVISION could be values from your CI server.
+#
+# You can use generated resource for your executable targets:
+# add_executable(target-name ${target-files} ${SomeOutputResourceVariable})
+#
+# You can specify resource strings in arguments:
+# NAME - name of executable (no defaults, ex: Microsoft Word)
+# BUNDLE - bundle (${NAME} is default, ex: Microsoft Office)
+# VERSION_MAJOR - 1 is default
+# VERSION_MINOR - 0 is default
+# VERSION_PATCH - 0 is default
+# COMPANY_NAME - your company name (no defaults)
+# COMPANY_COPYRIGHT - ${COMPANY_NAME} (C) Copyright ${CURRENT_YEAR} is default
+# COMMENTS - ${NAME} v${VERSION_MAJOR}.${VERSION_MINOR} is default
+# ORIGINAL_FILENAME - ${NAME} is default
+# INTERNAL_NAME - ${NAME} is default
+# FILE_DESCRIPTION - ${NAME} is default
+function(generate_product_version outfiles)
+ set (options)
+ set (oneValueArgs
+ NAME
+ BUNDLE
+ VERSION_MAJOR
+ VERSION_MINOR
+ VERSION_PATCH
+ COMPANY_NAME
+ COMPANY_COPYRIGHT
+ COMMENTS
+ ORIGINAL_FILENAME
+ INTERNAL_NAME
+ FILE_DESCRIPTION)
+ set (multiValueArgs)
+ cmake_parse_arguments(PRODUCT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if (NOT PRODUCT_BUNDLE OR "${PRODUCT_BUNDLE}" STREQUAL "")
+ set(PRODUCT_BUNDLE "${PRODUCT_NAME}")
+ endif()
+ if (NOT PRODUCT_VERSION_MAJOR OR "${PRODUCT_VERSION_MAJOR}" STREQUAL "")
+ set(PRODUCT_VERSION_MAJOR 1)
+ endif()
+ if (NOT PRODUCT_VERSION_MINOR OR "${PRODUCT_VERSION_MINOR}" STREQUAL "")
+ set(PRODUCT_VERSION_MINOR 0)
+ endif()
+ if (NOT PRODUCT_VERSION_PATCH OR "${PRODUCT_VERSION_PATCH}" STREQUAL "")
+ set(PRODUCT_VERSION_PATCH 0)
+ endif()
+
+ if (NOT PRODUCT_COMPANY_COPYRIGHT OR "${PRODUCT_COMPANY_COPYRIGHT}" STREQUAL "")
+ string(TIMESTAMP PRODUCT_CURRENT_YEAR "%Y")
+ set(PRODUCT_COMPANY_COPYRIGHT "Copyright (C) ${PRODUCT_CURRENT_YEAR} ${PRODUCT_COMPANY_NAME}")
+ endif()
+ if (NOT PRODUCT_COMMENTS OR "${PRODUCT_COMMENTS}" STREQUAL "")
+ set(PRODUCT_COMMENTS "${PRODUCT_NAME} v${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}")
+ endif()
+ if (NOT PRODUCT_ORIGINAL_FILENAME OR "${PRODUCT_ORIGINAL_FILENAME}" STREQUAL "")
+ set(PRODUCT_ORIGINAL_FILENAME "${PRODUCT_NAME}")
+ endif()
+ if (NOT PRODUCT_INTERNAL_NAME OR "${PRODUCT_INTERNAL_NAME}" STREQUAL "")
+ set(PRODUCT_INTERNAL_NAME "${PRODUCT_NAME}")
+ endif()
+ if (NOT PRODUCT_FILE_DESCRIPTION OR "${PRODUCT_FILE_DESCRIPTION}" STREQUAL "")
+ set(PRODUCT_FILE_DESCRIPTION "${PRODUCT_NAME}")
+ endif()
+
+ set (_VersionInfoFile ${CMAKE_CURRENT_BINARY_DIR}/VersionInfo.h)
+ set (_VersionResourceFile ${CMAKE_CURRENT_BINARY_DIR}/VersionResource.rc)
+ configure_file(
+ ${GenerateProductVersionCurrentDir}/VersionInfo.in
+ ${_VersionInfoFile}
+ @ONLY)
+ configure_file(
+ ${GenerateProductVersionCurrentDir}/VersionResource.rc
+ ${_VersionResourceFile}
+ COPYONLY)
+ list(APPEND ${outfiles} ${_VersionInfoFile} ${_VersionResourceFile})
+ set (${outfiles} ${${outfiles}} PARENT_SCOPE)
+endfunction()
diff --git a/cmake/VersionInfo.in b/cmake/VersionInfo.in
new file mode 100644
index 000000000..2da6f20c4
--- /dev/null
+++ b/cmake/VersionInfo.in
@@ -0,0 +1,68 @@
+#pragma once
+
+#ifndef PRODUCT_VERSION_MAJOR
+#define PRODUCT_VERSION_MAJOR @PRODUCT_VERSION_MAJOR@
+#endif
+
+#ifndef PRODUCT_VERSION_MINOR
+#define PRODUCT_VERSION_MINOR @PRODUCT_VERSION_MINOR@
+#endif
+
+#ifndef PRODUCT_VERSION_PATCH
+#define PRODUCT_VERSION_PATCH @PRODUCT_VERSION_PATCH@
+#endif
+
+#ifndef FILE_VERSION_MAJOR
+#define FILE_VERSION_MAJOR @PRODUCT_VERSION_MAJOR@
+#endif
+
+#ifndef FILE_VERSION_MINOR
+#define FILE_VERSION_MINOR @PRODUCT_VERSION_MINOR@
+#endif
+
+#ifndef FILE_VERSION_PATCH
+#define FILE_VERSION_PATCH @PRODUCT_VERSION_PATCH@
+#endif
+
+#ifndef __TO_STRING
+#define __TO_STRING_IMPL(x) #x
+#define __TO_STRING(x) __TO_STRING_IMPL(x)
+#endif
+
+#define PRODUCT_VERSION_MAJOR_MINOR_STR __TO_STRING(PRODUCT_VERSION_MAJOR) "." __TO_STRING(PRODUCT_VERSION_MINOR)
+#define PRODUCT_VERSION_MAJOR_MINOR_PATCH_STR PRODUCT_VERSION_MAJOR_MINOR_STR "." __TO_STRING(PRODUCT_VERSION_PATCH)
+#define PRODUCT_VERSION_RESOURCE PRODUCT_VERSION_MAJOR,PRODUCT_VERSION_MINOR,PRODUCT_VERSION_PATCH,0
+#define PRODUCT_VERSION_RESOURCE_STR PRODUCT_VERSION_MAJOR_MINOR_PATCH_STR "\0"
+
+#define FILE_VERSION_MAJOR_MINOR_STR __TO_STRING(FILE_VERSION_MAJOR) "." __TO_STRING(FILE_VERSION_MINOR)
+#define FILE_VERSION_MAJOR_MINOR_PATCH_STR FILE_VERSION_MAJOR_MINOR_STR "." __TO_STRING(FILE_VERSION_PATCH)
+#define FILE_VERSION_RESOURCE FILE_VERSION_MAJOR,FILE_VERSION_MINOR,FILE_VERSION_PATCH,0
+#define FILE_VERSION_RESOURCE_STR FILE_VERSION_MAJOR_MINOR_PATCH_STR "\0"
+
+#ifndef PRODUCT_COMMENTS
+#define PRODUCT_COMMENTS "@PRODUCT_COMMENTS@\0"
+#endif
+
+#ifndef PRODUCT_COMPANY_NAME
+#define PRODUCT_COMPANY_NAME "@PRODUCT_COMPANY_NAME@\0"
+#endif
+
+#ifndef PRODUCT_COMPANY_COPYRIGHT
+#define PRODUCT_COMPANY_COPYRIGHT "@PRODUCT_COMPANY_COPYRIGHT@\0"
+#endif
+
+#ifndef PRODUCT_FILE_DESCRIPTION
+#define PRODUCT_FILE_DESCRIPTION "@PRODUCT_FILE_DESCRIPTION@\0"
+#endif
+
+#ifndef PRODUCT_INTERNAL_NAME
+#define PRODUCT_INTERNAL_NAME "@PRODUCT_NAME@\0"
+#endif
+
+#ifndef PRODUCT_ORIGINAL_FILENAME
+#define PRODUCT_ORIGINAL_FILENAME "@PRODUCT_ORIGINAL_FILENAME@\0"
+#endif
+
+#ifndef PRODUCT_BUNDLE
+#define PRODUCT_BUNDLE "@PRODUCT_BUNDLE@\0"
+#endif
diff --git a/cmake/VersionResource.rc b/cmake/VersionResource.rc
new file mode 100644
index 000000000..3533f36cd
--- /dev/null
+++ b/cmake/VersionResource.rc
@@ -0,0 +1,36 @@
+#include "VersionInfo.h"
+#include "winresrc.h"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION FILE_VERSION_RESOURCE
+ PRODUCTVERSION PRODUCT_VERSION_RESOURCE
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", PRODUCT_COMMENTS
+ VALUE "CompanyName", PRODUCT_COMPANY_NAME
+ VALUE "FileDescription", PRODUCT_FILE_DESCRIPTION
+ VALUE "FileVersion", FILE_VERSION_RESOURCE_STR
+ VALUE "InternalName", PRODUCT_INTERNAL_NAME
+ VALUE "LegalCopyright", PRODUCT_COMPANY_COPYRIGHT
+ VALUE "OriginalFilename", PRODUCT_ORIGINAL_FILENAME
+ VALUE "ProductName", PRODUCT_BUNDLE
+ VALUE "ProductVersion", PRODUCT_VERSION_RESOURCE_STR
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
diff --git a/share/translations/keepassx_en.ts b/share/translations/keepassx_en.ts
index a6e09aa23..d10bff0de 100644
--- a/share/translations/keepassx_en.ts
+++ b/share/translations/keepassx_en.ts
@@ -389,11 +389,6 @@ Discard changes and close anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>The database you are trying to open is locked by another instance of KeePassXC.
-Do you want to open it anyway? Alternatively the database is opened read-only.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Merge database</source>
<translation type="unfinished"></translation>
</message>
@@ -406,6 +401,20 @@ Do you want to save it anyway?</source>
<source>Passwords</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Database already opened</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The database you are trying to open is locked by another instance of KeePassXC.
+
+Do you want to open it anyway?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open read-only</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -517,10 +526,6 @@ Do you want to save it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>Could not parse or unlock the new database file while attempting to autoreload this database.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Could not open the new database file while attempting to autoreload this database.</source>
<translation type="unfinished"></translation>
</message>
@@ -1298,11 +1303,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation type="unfinished"></translation>
</message>
<message>
- <source>&amp;Return only best matching entries for an URL instead
-of all entries for the whole domain</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>&amp;Match URL schemes
Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
<translation type="unfinished"></translation>
@@ -1312,10 +1312,6 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
<translation type="unfinished"></translation>
</message>
<message>
- <source>R&amp;emove all shared encryption-keys from active database</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Re&amp;move all stored permissions from entries in active database</source>
<translation type="unfinished"></translation>
</message>
@@ -1328,10 +1324,6 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
<translation type="unfinished"></translation>
</message>
<message>
- <source>Activate the following only, if you know what you are doing!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Always allow &amp;access to entries</source>
<translation type="unfinished"></translation>
</message>
@@ -1348,14 +1340,6 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
<translation type="unfinished"></translation>
</message>
<message>
- <source>&amp;Return also advanced string fields which start with &quot;KPH: &quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Automatic creates or updates are not supported for string fields!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>HTTP Port:</source>
<translation type="unfinished"></translation>
</message>
@@ -1389,6 +1373,27 @@ This is required for accessing your databases from ChromeIPass or PassIFox</sour
Using default port 19455.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>&amp;Return only best matching entries for a URL instead
+of all entries for the whole domain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>R&amp;emove all shared encryption keys from active database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The following options can be dangerous. Change them only if you know what you are doing.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Return advanced string fields which start with &quot;KPH: &quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Automatically creating or updating string fields is not supported.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1762,15 +1767,15 @@ give it a unique name to identify and accept it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>filename(s) of the password database(s) to open (*.kdbx)</source>
+ <source>KeePassXC - cross-platform password manager</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>KeePassXC - cross-platform password manager</source>
+ <source>read password of the database from stdin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>read password of the database from stdin</source>
+ <source>filenames of the password databases to open (*.kdbx)</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/share/translations/keepassx_fr.ts b/share/translations/keepassx_fr.ts
index 260e2da71..e34f918e1 100644
--- a/share/translations/keepassx_fr.ts
+++ b/share/translations/keepassx_fr.ts
@@ -1,33 +1,64 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="fr" version="2.0">
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="fr" version="2.1">
<context>
<name>AboutDialog</name>
<message>
- <source>About KeePassX</source>
- <translation>À propos de KeePassX</translation>
+ <source>Revision</source>
+ <translation>Révision</translation>
</message>
<message>
- <source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
- <translation>KeePassX est distribué selon les conditions de la GNU General Public License (GPL) version 2 ou (à votre choix) version 3.</translation>
+ <source>Using:</source>
+ <translation>Utilise :</translation>
</message>
<message>
- <source>Revision</source>
- <translation>Version</translation>
+ <source>About KeePassXC</source>
+ <translation>À propos de KeePassXC</translation>
</message>
<message>
- <source>Using:</source>
- <translation>Utilise :</translation>
+ <source>Extensions:
+</source>
+ <translation>Extensions :
+</translation>
+ </message>
+ <message>
+ <source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
+ <translation>KeePassXC est distribué suivant les termes de la GNU Licence Publique Générale (GNU GPL) version 2 ou version 3 de la licence (à votre gré).</translation>
</message>
</context>
<context>
- <name>AutoType</name>
+ <name>AccessControlDialog</name>
+ <message>
+ <source>Remember this decision</source>
+ <translation>Se souvenir de ce choix</translation>
+ </message>
<message>
- <source>Auto-Type - KeePassX</source>
- <translation>Auto-Type - KeePassX</translation>
+ <source>Allow</source>
+ <translation>Autoriser</translation>
</message>
<message>
+ <source>Deny</source>
+ <translation>Refuser</translation>
+ </message>
+ <message>
+ <source>%1 has requested access to passwords for the following item(s).
+Please select whether you want to allow access.</source>
+ <translation>%1 a demandé l’accès aux mots de passe pour l&apos;élément suivant (ou les éléments suivants).
+Veuillez sélectionner si vous souhaitez autoriser l’accès.</translation>
+ </message>
+ <message>
+ <source>KeePassXC HTTP Confirm Access</source>
+ <translation>Accès KeePassXC HTTP confirmé</translation>
+ </message>
+</context>
+<context>
+ <name>AutoType</name>
+ <message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<translation>Impossible de trouver une entrée qui corresponde au titre de la fenêtre :</translation>
</message>
+ <message>
+ <source>Auto-Type - KeePassXC</source>
+ <translation>Remplissage automatique - KeePassXC</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -47,13 +78,13 @@
<context>
<name>AutoTypeSelectDialog</name>
<message>
- <source>Auto-Type - KeePassX</source>
- <translation>Auto-Type - KeePassX</translation>
- </message>
- <message>
<source>Select entry to Auto-Type:</source>
<translation>Choisissez un champ pour Auto-Type :</translation>
</message>
+ <message>
+ <source>Auto-Type - KeePassXC</source>
+ <translation> Remplissage automatique - KeePassXC</translation>
+ </message>
</context>
<context>
<name>ChangeMasterKeyWidget</name>
@@ -70,10 +101,6 @@
<translation>Confirmez le mot de passe :</translation>
</message>
<message>
- <source>Key file</source>
- <translation>Fichier-clé</translation>
- </message>
- <message>
<source>Browse</source>
<translation>Naviguer</translation>
</message>
@@ -119,7 +146,7 @@
</message>
<message>
<source>Failed to set key file</source>
- <translation>Échec de définition du fichier-clé</translation>
+ <translation>Impossible de définir le fichier-clé</translation>
</message>
<message>
<source>Failed to set %1 as the Key file:
@@ -127,6 +154,10 @@
<translation>Impossible de définir %1 comme fichier-clé :
%2</translation>
</message>
+ <message>
+ <source>&amp;Key file</source>
+ <translation>Fichier-clé</translation>
+ </message>
</context>
<context>
<name>DatabaseOpenWidget</name>
@@ -227,10 +258,6 @@ Vous pouvez maintenant la sauvegarder.</translation>
<translation>Nom d&apos;utilisateur par défaut :</translation>
</message>
<message>
- <source>Use recycle bin:</source>
- <translation>Utiliser la corbeille :</translation>
- </message>
- <message>
<source> MiB</source>
<translation> MiB</translation>
</message>
@@ -246,6 +273,10 @@ Vous pouvez maintenant la sauvegarder.</translation>
<source>Max. history size:</source>
<translation>Taille max. de l&apos;historique :</translation>
</message>
+ <message>
+ <source>Use recycle bin</source>
+ <translation>Utiliser la corbeille</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -320,12 +351,6 @@ Enregistrer les modifications ?</translation>
<translation>verrouillée</translation>
</message>
<message>
- <source>The database you are trying to open is locked by another instance of KeePassX.
-Do you want to open it anyway? Alternatively the database is opened read-only.</source>
- <translation>La base de données que vous essayez d&apos;ouvrir est verrouillée par une autre instance de KeePassX.
-Voulez-vous quand même l&apos;ouvrir ? Dans ce cas, elle sera ouverte en lecture seule.</translation>
- </message>
- <message>
<source>Lock database</source>
<translation>Verrouiller la base de données</translation>
</message>
@@ -368,14 +393,38 @@ Ignorer les changements et fermer ?</translation>
<translation>Échec de l&apos;écriture du fichier CSV.</translation>
</message>
<message>
- <source>The database you are trying to save as is locked by another instance of KeePassX.
+ <source>Unable to open the database.</source>
+ <translation>Impossible d&apos;ouvrir la base de données.</translation>
+ </message>
+ <message>
+ <source>Merge database</source>
+ <translation>Fusionner les bases de données</translation>
+ </message>
+ <message>
+ <source>The database you are trying to save as is locked by another instance of KeePassXC.
Do you want to save it anyway?</source>
- <translation>La base de données que vous essayez de sauvegarder a été verrouillée par une autre instance de KeePassX.
-Voulez-vous quand même la sauvegarder ?</translation>
+ <translation>La base de données que vous essayez d&apos;enregistrer est verrouillée par une autre instance de KeePassXC.
+Voulez vous l&apos;enregistrer quand même ?</translation>
</message>
<message>
- <source>Unable to open the database.</source>
- <translation type="unfinished"/>
+ <source>Passwords</source>
+ <translation>Mots de passe</translation>
+ </message>
+ <message>
+ <source>Database already opened</source>
+ <translation>La base de données est déjà ouverte</translation>
+ </message>
+ <message>
+ <source>The database you are trying to open is locked by another instance of KeePassXC.
+
+Do you want to open it anyway?</source>
+ <translation>La base de données que vous essayez d&apos;ouvrir est verrouillée par une autre instance de KeePassXC.
+
+Voulez vous l&apos;ouvrir quand même ?</translation>
+ </message>
+ <message>
+ <source>Open read-only</source>
+ <translation>Ouvrir en lecture seule</translation>
</message>
</context>
<context>
@@ -417,10 +466,6 @@ Voulez-vous quand même la sauvegarder ?</translation>
<translation>Voulez-vous supprimer le groupe &quot;%1&quot; définitivement ?</translation>
</message>
<message>
- <source>Current group</source>
- <translation>Groupe actif</translation>
- </message>
- <message>
<source>Error</source>
<translation>Erreur</translation>
</message>
@@ -430,11 +475,67 @@ Voulez-vous quand même la sauvegarder ?</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
- <translation type="unfinished"/>
+ <translation>Placer l&apos;élément dans la corbeille ?</translation>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
- <translation type="unfinished"/>
+ <translation>Êtes-vous sûr de vouloir placer l&apos;élément &quot;%1&quot; dans la corbeille ?</translation>
+ </message>
+ <message>
+ <source>Searching...</source>
+ <translation>Recherche...</translation>
+ </message>
+ <message>
+ <source>No current database.</source>
+ <translation>Pas de base de données.</translation>
+ </message>
+ <message>
+ <source>No source database, nothing to do.</source>
+ <translation>Aucune base de données source, il n&apos;y a rien à faire.</translation>
+ </message>
+ <message>
+ <source>Search Results (%1)</source>
+ <translation>Résultats de la recherche (%1)</translation>
+ </message>
+ <message>
+ <source>No Results</source>
+ <translation>Pas de résultats</translation>
+ </message>
+ <message>
+ <source>Execute command?</source>
+ <translation>Exécuter la commande ?</translation>
+ </message>
+ <message>
+ <source>Do you really want to execute the following command?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</source>
+ <translation>Voulez-vous vraiment exécuter la commande suivante ?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</translation>
+ </message>
+ <message>
+ <source>Remember my choice</source>
+ <translation>Se souvenir de mon choix</translation>
+ </message>
+ <message>
+ <source>Autoreload Request</source>
+ <translation>Demande de rafraîchissement automatique</translation>
+ </message>
+ <message>
+ <source>The database file has changed. Do you want to load the changes?</source>
+ <translation>Le fichier de la base de données à été modifié. Voulez-vous charger les changements ?</translation>
+ </message>
+ <message>
+ <source>Merge Request</source>
+ <translation>Demande de fusion</translation>
+ </message>
+ <message>
+ <source>The database file has changed and you have unsaved changes.Do you want to merge your changes?</source>
+ <translation>Le fichier de la base de données à changé et vous avez des modification non-enregistrés. Voulez-vous fusionner vos modifications?</translation>
+ </message>
+ <message>
+ <source>Autoreload Failed</source>
+ <translation>Échec du rafraîchissement automatique </translation>
+ </message>
+ <message>
+ <source>Could not open the new database file while attempting to autoreload this database.</source>
+ <translation>La nouvelle base de données ne peux être ouverte pendant qu&apos;un rafraîchissement automatique de l&apos;actuelle est en cours.</translation>
</message>
</context>
<context>
@@ -560,14 +661,6 @@ Voulez-vous quand même la sauvegarder ?</translation>
<translation>Activer le remplissage automatique pour cette entrée</translation>
</message>
<message>
- <source>Inherit default Auto-Type sequence from the group</source>
- <translation>Utiliser la séquence de remplissage automatique par défaut du groupe</translation>
- </message>
- <message>
- <source>Use custom Auto-Type sequence:</source>
- <translation>Utiliser une séquence de remplissage automatique personnalisée :</translation>
- </message>
- <message>
<source>+</source>
<translation>+</translation>
</message>
@@ -580,11 +673,19 @@ Voulez-vous quand même la sauvegarder ?</translation>
<translation>Titre de la fenêtre :</translation>
</message>
<message>
- <source>Use default sequence</source>
+ <source>Inherit default Auto-Type sequence from the &amp;group</source>
+ <translation>Utiliser la séquence de remplissage automatique par défaut du groupe</translation>
+ </message>
+ <message>
+ <source>&amp;Use custom Auto-Type sequence:</source>
+ <translation>Utiliser une séquence de remplissage automatique personnalisée :</translation>
+ </message>
+ <message>
+ <source>Use default se&amp;quence</source>
<translation>Utiliser la séquence par défaut</translation>
</message>
<message>
- <source>Set custom sequence:</source>
+ <source>Set custo&amp;m sequence:</source>
<translation>Définir une séquence personnalisée :</translation>
</message>
</context>
@@ -626,10 +727,6 @@ Voulez-vous quand même la sauvegarder ?</translation>
<translation>Confirmation :</translation>
</message>
<message>
- <source>Gen.</source>
- <translation>Gen.</translation>
- </message>
- <message>
<source>URL:</source>
<translation>URL :</translation>
</message>
@@ -715,14 +812,6 @@ Voulez-vous quand même la sauvegarder ?</translation>
<context>
<name>EditWidgetIcons</name>
<message>
- <source>Use default icon</source>
- <translation>Utiliser l&apos;icône par défaut</translation>
- </message>
- <message>
- <source>Use custom icon</source>
- <translation>Utiliser une icône personnalisée</translation>
- </message>
- <message>
<source>Add custom icon</source>
<translation>Ajouter une icône personnalisée</translation>
</message>
@@ -746,17 +835,33 @@ Voulez-vous quand même la sauvegarder ?</translation>
<source>Can&apos;t delete icon!</source>
<translation>Impossible de supprimer l&apos;icône !</translation>
</message>
- <message numerus="yes">
- <source>Can&apos;t delete icon. Still used by %n item(s).</source>
- <translation><numerusform>Impossible de supprimer l&apos;icône. Toujours utilisée par %n objet(s).</numerusform><numerusform>Impossible de supprimer l&apos;icône. Toujours utilisée par %n objet(s).</numerusform></translation>
- </message>
<message>
<source>Error</source>
- <translation type="unfinished"/>
+ <translation>Erreur</translation>
</message>
<message>
- <source>Can&apos;t read icon:</source>
- <translation type="unfinished"/>
+ <source>Download favicon</source>
+ <translation>Télécharger la favicône</translation>
+ </message>
+ <message>
+ <source>Unable to fetch favicon.</source>
+ <translation>Impossible de récupérer la favicône</translation>
+ </message>
+ <message>
+ <source>Can&apos;t read icon</source>
+ <translation>Impossible de lire l&apos;icône</translation>
+ </message>
+ <message>
+ <source>Can&apos;t delete icon. Still used by %1 items.</source>
+ <translation>Impossible de supprimer l&apos;icône. Encore utilisée par 1% éléments.</translation>
+ </message>
+ <message>
+ <source>&amp;Use default icon</source>
+ <translation>Utiliser l&apos;icône par défaut</translation>
+ </message>
+ <message>
+ <source>Use custo&amp;m icon</source>
+ <translation>Utiliser une icône personnalisée</translation>
</message>
</context>
<context>
@@ -779,6 +884,13 @@ Voulez-vous quand même la sauvegarder ?</translation>
</message>
</context>
<context>
+ <name>Entry</name>
+ <message>
+ <source> - Clone</source>
+ <translation> - Cloner</translation>
+ </message>
+</context>
+<context>
<name>EntryAttributesModel</name>
<message>
<source>Name</source>
@@ -831,6 +943,61 @@ Voulez-vous quand même la sauvegarder ?</translation>
</message>
</context>
<context>
+ <name>HttpPasswordGeneratorWidget</name>
+ <message>
+ <source>Length:</source>
+ <translation>Longueur:</translation>
+ </message>
+ <message>
+ <source>Character Types</source>
+ <translation>Types de caractères:</translation>
+ </message>
+ <message>
+ <source>Upper Case Letters</source>
+ <translation>Lettres majuscules</translation>
+ </message>
+ <message>
+ <source>A-Z</source>
+ <translation>A-Z</translation>
+ </message>
+ <message>
+ <source>Lower Case Letters</source>
+ <translation>Lettres minuscules</translation>
+ </message>
+ <message>
+ <source>a-z</source>
+ <translation>a-z</translation>
+ </message>
+ <message>
+ <source>Numbers</source>
+ <translation>Chiffres</translation>
+ </message>
+ <message>
+ <source>0-9</source>
+ <translation>0-9</translation>
+ </message>
+ <message>
+ <source>Special Characters</source>
+ <translation>Caractères spéciaux</translation>
+ </message>
+ <message>
+ <source>/*_&amp; ...</source>
+ <translation>/*_&amp; ...</translation>
+ </message>
+ <message>
+ <source>Exclude look-alike characters</source>
+ <translation>Exclure les caractères qui se ressemblent</translation>
+ </message>
+ <message>
+ <source>Ensure that the password contains characters from every group</source>
+ <translation>S&apos;assurer que le mot de passe contienne des caractères de chaque groupe</translation>
+ </message>
+ <message>
+ <source>Accept</source>
+ <translation>Accepter</translation>
+ </message>
+</context>
+<context>
<name>KeePass1OpenWidget</name>
<message>
<source>Import KeePass1 database</source>
@@ -873,7 +1040,7 @@ Voulez-vous quand même la sauvegarder ?</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Clé incorrecte ou la base de données est corrompue.</translation>
</message>
</context>
<context>
@@ -912,8 +1079,8 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<translation>Erreur fatale lors des tests des fonctions cryptographiques.</translation>
</message>
<message>
- <source>KeePassX - Error</source>
- <translation>KeePassX - Erreur</translation>
+ <source>KeePassXC - Error</source>
+ <translation>KeePassXC - Erreur</translation>
</message>
</context>
<context>
@@ -923,188 +1090,317 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<translation>Base de données</translation>
</message>
<message>
- <source>Recent databases</source>
+ <source>Open database</source>
+ <translation>Ouvrir une base de données</translation>
+ </message>
+ <message>
+ <source>Database settings</source>
+ <translation>Paramètres de la base de données</translation>
+ </message>
+ <message>
+ <source>Copy username to clipboard</source>
+ <translation>Copier le nom d&apos;utilisateur dans le presse-papier</translation>
+ </message>
+ <message>
+ <source>Copy password to clipboard</source>
+ <translation>Copier le mot de passe dans le presse-papier</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Paramètres</translation>
+ </message>
+ <message>
+ <source>Show toolbar</source>
+ <translation>Afficher la barre d&apos;outils</translation>
+ </message>
+ <message>
+ <source>read-only</source>
+ <translation>Lecture seulement</translation>
+ </message>
+ <message>
+ <source>Toggle window</source>
+ <translation>Basculer de fenêtre</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>Outils</translation>
+ </message>
+ <message>
+ <source>KeePass 2 Database</source>
+ <translation>Base de données KeePass 2</translation>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>Tous les fichiers</translation>
+ </message>
+ <message>
+ <source>Save repaired database</source>
+ <translation>Sauvegarder la base de données réparée</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Erreur</translation>
+ </message>
+ <message>
+ <source>Writing the database failed.</source>
+ <translation>Une erreur s&apos;est produite lors de l&apos;écriture de la base de données.</translation>
+ </message>
+ <message>
+ <source>&amp;Recent databases</source>
<translation>Bases de données récentes</translation>
</message>
<message>
- <source>Help</source>
+ <source>He&amp;lp</source>
<translation>Aide</translation>
</message>
<message>
- <source>Entries</source>
+ <source>E&amp;ntries</source>
<translation>Entrées</translation>
</message>
<message>
- <source>Copy attribute to clipboard</source>
+ <source>Copy att&amp;ribute to clipboard</source>
<translation>Copier l&apos;attribut dans le presse-papier</translation>
</message>
<message>
- <source>Groups</source>
+ <source>&amp;Groups</source>
<translation>Groupes</translation>
</message>
<message>
- <source>View</source>
- <translation>Vue</translation>
+ <source>&amp;View</source>
+ <translation>Affichage</translation>
</message>
<message>
- <source>Quit</source>
- <translation>Quitter</translation>
+ <source>&amp;Quit</source>
+ <translation>&amp;Quitter</translation>
</message>
<message>
- <source>About</source>
- <translation>À propos</translation>
+ <source>&amp;About</source>
+ <translation>&amp;A propos</translation>
</message>
<message>
- <source>Open database</source>
- <translation>Ouvrir une base de données</translation>
+ <source>&amp;Open database</source>
+ <translation>&amp;Ouvrir la base de données</translation>
</message>
<message>
- <source>Save database</source>
+ <source>&amp;Save database</source>
<translation>Enregistrer la base de données</translation>
</message>
<message>
- <source>Close database</source>
+ <source>&amp;Close database</source>
<translation>Fermer la base de données</translation>
</message>
<message>
- <source>New database</source>
- <translation>Nouvelle base de données</translation>
+ <source>&amp;New database</source>
+ <translation>&amp;Nouvelle base de données</translation>
</message>
<message>
- <source>Add new entry</source>
- <translation>Ajouter une entrée</translation>
+ <source>Merge from KeePassX database</source>
+ <translation>Fusionner depuis la base de données KeePassX</translation>
</message>
<message>
- <source>View/Edit entry</source>
- <translation>Voir/Modifier l&apos;entrée</translation>
+ <source>&amp;Add new entry</source>
+ <translation>Ajouter une nouvelle entrée</translation>
</message>
<message>
- <source>Delete entry</source>
+ <source>&amp;View/Edit entry</source>
+ <translation>Voir/Editer l&apos;entrée</translation>
+ </message>
+ <message>
+ <source>&amp;Delete entry</source>
<translation>Supprimer l&apos;entrée</translation>
</message>
<message>
- <source>Add new group</source>
- <translation>Ajouter un groupe</translation>
+ <source>&amp;Add new group</source>
+ <translation>&amp;Ajouter un nouveau groupe</translation>
</message>
<message>
- <source>Edit group</source>
- <translation>Modifier le groupe</translation>
+ <source>&amp;Edit group</source>
+ <translation>&amp;Modifier le groupe</translation>
</message>
<message>
- <source>Delete group</source>
- <translation>Supprimer le groupe</translation>
+ <source>&amp;Delete group</source>
+ <translation>&amp;Supprimer le groupe</translation>
</message>
<message>
- <source>Save database as</source>
+ <source>Sa&amp;ve database as</source>
<translation>Enregistrer la base de données sous</translation>
</message>
<message>
- <source>Change master key</source>
- <translation>Modifier la clé maître</translation>
+ <source>Change &amp;master key</source>
+ <translation>Changer la clé &amp;maître</translation>
</message>
<message>
- <source>Database settings</source>
- <translation>Paramètres de la base de données</translation>
+ <source>&amp;Database settings</source>
+ <translation>Paramètre de la base de &amp;données</translation>
</message>
<message>
- <source>Import KeePass 1 database</source>
- <translation>Importer une base de données KeePass 1</translation>
+ <source>&amp;Import KeePass 1 database</source>
+ <translation>&amp;Importer 1 base de données KeePass</translation>
</message>
<message>
- <source>Clone entry</source>
- <translation>Dupliquer l&apos;entrée</translation>
+ <source>&amp;Clone entry</source>
+ <translation>Cloner l&apos;entrée</translation>
</message>
<message>
- <source>Find</source>
- <translation>Chercher</translation>
+ <source>&amp;Find</source>
+ <translation>Trouver</translation>
</message>
<message>
- <source>Copy username to clipboard</source>
- <translation>Copier le nom d&apos;utilisateur dans le presse-papier</translation>
+ <source>Copy &amp;username</source>
+ <translation>Copier le nom d&apos;utilisateur</translation>
</message>
<message>
- <source>Copy password to clipboard</source>
- <translation>Copier le mot de passe dans le presse-papier</translation>
+ <source>Cop&amp;y password</source>
+ <translation>Copier le mot de passe</translation>
</message>
<message>
- <source>Settings</source>
+ <source>&amp;Settings</source>
<translation>Paramètres</translation>
</message>
<message>
- <source>Perform Auto-Type</source>
- <translation>Effectuer un remplissage automatique</translation>
+ <source>&amp;Perform Auto-Type</source>
+ <translation>Exécuter la saisie semi-automatique</translation>
</message>
<message>
- <source>Open URL</source>
- <translation>Ouvrir l&apos;URL</translation>
+ <source>&amp;Open URL</source>
+ <translation>&amp;Ouvrir l&apos;URL</translation>
</message>
<message>
- <source>Lock databases</source>
+ <source>&amp;Lock databases</source>
<translation>Verrouiller les bases de données</translation>
</message>
<message>
- <source>Title</source>
- <translation>Titre</translation>
+ <source>&amp;Title</source>
+ <translation>&amp;Titre</translation>
</message>
<message>
- <source>URL</source>
- <translation>URL</translation>
+ <source>&amp;URL</source>
+ <translation>&amp;URL</translation>
</message>
<message>
- <source>Notes</source>
- <translation>Notes</translation>
+ <source>&amp;Notes</source>
+ <translation>&amp;Notes</translation>
</message>
<message>
- <source>Show toolbar</source>
- <translation>Afficher la barre d&apos;outils</translation>
+ <source>&amp;Export to CSV file</source>
+ <translation>&amp;Exporter vers un fichier CSV</translation>
</message>
<message>
- <source>read-only</source>
- <translation>Lecture seulement</translation>
+ <source>Re&amp;pair database</source>
+ <translation>Ré&amp;parer la base de données</translation>
</message>
<message>
- <source>Toggle window</source>
- <translation>Basculer de fenêtre</translation>
+ <source>Password Generator</source>
+ <translation>Générateur de mot de passe</translation>
</message>
+</context>
+<context>
+ <name>OptionDialog</name>
<message>
- <source>Tools</source>
- <translation>Outils</translation>
+ <source>Dialog</source>
+ <translation>Dialogue</translation>
</message>
<message>
- <source>Copy username</source>
- <translation>Copier le nom d&apos;utilisateur</translation>
+ <source>General</source>
+ <translation>Général</translation>
</message>
<message>
- <source>Copy password</source>
- <translation>Copier le mot de passe</translation>
+ <source>Sh&amp;ow a notification when credentials are requested</source>
+ <translation>Montrer une notification quand les références sont demandées</translation>
</message>
<message>
- <source>Export to CSV file</source>
- <translation>Exporter au format CSV</translation>
+ <source>&amp;Match URL schemes
+Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Repair database</source>
- <translation>Réparer la base de données</translation>
+ <source>Sort matching entries by &amp;username</source>
+ <translation>Trier les entrées correspondantes par nom d&apos;&amp;utilisateur</translation>
</message>
<message>
- <source>KeePass 2 Database</source>
- <translation>Base de données KeePass 2</translation>
+ <source>Re&amp;move all stored permissions from entries in active database</source>
+ <translation>Supprimer toutes les permissions enregistrées des entrées de la base de données active</translation>
</message>
<message>
- <source>All files</source>
- <translation>Tous les fichiers</translation>
+ <source>Password generator</source>
+ <translation>Générateur de mots de passe</translation>
</message>
<message>
- <source>Save repaired database</source>
- <translation>Sauvegarder la base de données réparée</translation>
+ <source>Advanced</source>
+ <translation>Avancé</translation>
</message>
<message>
- <source>Error</source>
- <translation>Erreur</translation>
+ <source>Always allow &amp;access to entries</source>
+ <translation>Toujours autoriser l&apos;&amp;accès aux entrées</translation>
</message>
<message>
- <source>Writing the database failed.</source>
- <translation>Une erreur s&apos;est produite lors de l&apos;écriture de la base de données.</translation>
+ <source>Always allow &amp;updating entries</source>
+ <translation>Toujours autoriser la mise à jour des entrées</translation>
+ </message>
+ <message>
+ <source>Searc&amp;h in all opened databases for matching entries</source>
+ <translation>Cherc&amp;her dans toutes les bases de données ouvertes les entrées correspondantes</translation>
+ </message>
+ <message>
+ <source>Only the selected database has to be connected with a client!</source>
+ <translation>Seule la base de données sélectionnée doit être connectée à un client !</translation>
+ </message>
+ <message>
+ <source>HTTP Port:</source>
+ <translation>Port HTTP:</translation>
+ </message>
+ <message>
+ <source>Default port: 19455</source>
+ <translation>Port par défaut: 19455</translation>
+ </message>
+ <message>
+ <source>Re&amp;quest to unlock the database if it is locked</source>
+ <translation>Demander de déverrouiller la base de données lorsque celle-ci est verrouiller </translation>
+ </message>
+ <message>
+ <source>Sort &amp;matching entries by title</source>
+ <translation>Trier les entrées correspondantes par titre</translation>
+ </message>
+ <message>
+ <source>Enable KeepassXC HTTP protocol
+This is required for accessing your databases from ChromeIPass or PassIFox</source>
+ <translation>Activer le protocole HTTP de KeePassXC
+Ce protocole est nécessaire si vous souhaitez accéder à vos bases de données avec ChromeIPas ou PassIFox</translation>
+ </message>
+ <message>
+ <source>KeePassXC will listen to this port on 127.0.0.1</source>
+ <translation>KeepassXC va écouter ce port sur 127.0.0.1</translation>
+ </message>
+ <message>
+ <source>Cannot bind to privileged ports</source>
+ <translation>Liaison impossible avec les ports privilégiés</translation>
+ </message>
+ <message>
+ <source>Cannot bind to privileged ports below 1024!
+Using default port 19455.</source>
+ <translation>Liaison impossible avec les ports privilégiés, ceux avant 1024 !
+Restauration du port 19455 par défaut.</translation>
+ </message>
+ <message>
+ <source>&amp;Return only best matching entries for a URL instead
+of all entries for the whole domain</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>R&amp;emove all shared encryption keys from active database</source>
+ <translation>Supprimer toutes les clés de chiffrement partagées de la base de données active</translation>
+ </message>
+ <message>
+ <source>The following options can be dangerous. Change them only if you know what you are doing.</source>
+ <translation>La modification de ces préférences peuvent entrainer des problèmes de sécurité. Ne continuez que si vous savez ce que vous faites !</translation>
+ </message>
+ <message>
+ <source>&amp;Return advanced string fields which start with &quot;KPH: &quot;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Automatically creating or updating string fields is not supported.</source>
+ <translation>La création ou la mise a jour automatique ne sont pas pris en charge pour les champs de chaines de caractères !</translation>
</message>
</context>
<context>
@@ -1114,10 +1410,6 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<translation>Mot de passe :</translation>
</message>
<message>
- <source>Length:</source>
- <translation>Longueur :</translation>
- </message>
- <message>
<source>Character Types</source>
<translation>Types de caractères</translation>
</message>
@@ -1142,70 +1434,71 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<translation>Exclure les caractères se ressemblant</translation>
</message>
<message>
- <source>Ensure that the password contains characters from every group</source>
- <translation>S&apos;assurer que le mot de passe possède un caractère de chaque groupe</translation>
- </message>
- <message>
<source>Accept</source>
<translation>Accepter</translation>
</message>
-</context>
-<context>
- <name>QCommandLineParser</name>
<message>
- <source>Displays version information.</source>
- <translation>Afficher les informations de version.</translation>
+ <source>%p%</source>
+ <translation>%p%</translation>
</message>
<message>
- <source>Displays this help.</source>
- <translation>Afficher cette aide.</translation>
+ <source>strength</source>
+ <translation>force</translation>
</message>
<message>
- <source>Unknown option &apos;%1&apos;.</source>
- <translation>Option inconnue &apos;%1&apos;.</translation>
+ <source>entropy</source>
+ <translation>entropie</translation>
</message>
<message>
- <source>Unknown options: %1.</source>
- <translation>Options inconnues : %1.</translation>
+ <source>&amp;Length:</source>
+ <translation>&amp;Longueur:</translation>
</message>
<message>
- <source>Missing value after &apos;%1&apos;.</source>
- <translation>Valeur manquante après &apos;%1&apos;.</translation>
+ <source>Pick characters from every group</source>
+ <translation>Inclure des caractères de chaque groupe</translation>
</message>
<message>
- <source>Unexpected value after &apos;%1&apos;.</source>
- <translation>Valeur inattendue après &apos;%1&apos;.</translation>
+ <source>Generate</source>
+ <translation>Générer</translation>
</message>
<message>
- <source>[options]</source>
- <translation>[options]</translation>
+ <source>Close</source>
+ <translation>Fermer</translation>
</message>
<message>
- <source>Usage: %1</source>
- <translation>Utilisation : %1</translation>
+ <source>Apply</source>
+ <translation>Appliquer</translation>
</message>
<message>
- <source>Options:</source>
- <translation>Options :</translation>
+ <source>Entropy: %1 bit</source>
+ <translation>Entropie: %1 bit</translation>
</message>
<message>
- <source>Arguments:</source>
- <translation>Arguments :</translation>
+ <source>Password Quality: %1</source>
+ <translation>Qualité du mot de passe: %1</translation>
+ </message>
+ <message>
+ <source>Poor</source>
+ <translation>Pauvre</translation>
</message>
-</context>
-<context>
- <name>QSaveFile</name>
<message>
- <source>Existing file %1 is not writable</source>
- <translation>Le fichier existant %1 n&apos;est pas accessible en écriture</translation>
+ <source>Weak</source>
+ <translation>Faible</translation>
</message>
<message>
- <source>Writing canceled by application</source>
- <translation>Écriture annulée par l&apos;application</translation>
+ <source>Good</source>
+ <translation>Bon</translation>
</message>
<message>
- <source>Partial write. Partition full?</source>
- <translation>Écriture partielle. Partition pleine ?</translation>
+ <source>Excellent</source>
+ <translation>Excellent</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>Http</source>
+ <translation>Http</translation>
</message>
</context>
<context>
@@ -1245,20 +1538,111 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<context>
<name>SearchWidget</name>
<message>
- <source>Find:</source>
- <translation>Chercher :</translation>
+ <source>Case Sensitive</source>
+ <translation>Sensible à la casse</translation>
</message>
<message>
- <source>Case sensitive</source>
- <translation>Sensible à la casse</translation>
+ <source>Search</source>
+ <translation>Chercher</translation>
</message>
<message>
- <source>Current group</source>
- <translation>Groupe actif</translation>
+ <source>Find</source>
+ <translation>Trouver</translation>
</message>
<message>
- <source>Root group</source>
- <translation>Groupe racine</translation>
+ <source>Clear</source>
+ <translation>Effacer</translation>
+ </message>
+</context>
+<context>
+ <name>Service</name>
+ <message>
+ <source>A shared encryption-key with the name &quot;%1&quot; already exists.
+Do you want to overwrite it?</source>
+ <translation>Une clé de chiffrement partagée avec le nom &quot;%1&quot; existe déjà.
+Voulez-vous l&apos;écraser ?</translation>
+ </message>
+ <message>
+ <source>Do you want to update the information in %1 - %2?</source>
+ <translation>Voulez-vous mettre à jour l&apos;information dans %1 - %2 ?</translation>
+ </message>
+ <message>
+ <source>The active database is locked!
+Please unlock the selected database or choose another one which is unlocked.</source>
+ <translation>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. </translation>
+ </message>
+ <message>
+ <source>Successfully removed %1 encryption-%2 from KeePassX/Http Settings.</source>
+ <translation>%1 %2 de chiffrement ont été retirés avec succès des paramètres de KeePassX/Http.</translation>
+ </message>
+ <message>
+ <source>No shared encryption-keys found in KeePassHttp Settings.</source>
+ <translation>Aucune clé de chiffrement partagée trouvée dans les paramètres de KeePassHttp.</translation>
+ </message>
+ <message>
+ <source>The active database does not contain an entry of KeePassHttp Settings.</source>
+ <translation>La base de données actuelle ne contient aucun paramètres de KeePassHttp.</translation>
+ </message>
+ <message>
+ <source>Removing stored permissions...</source>
+ <translation>Effacement des permissions enregistrées...</translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Successfully removed permissions from %1 %2.</source>
+ <translation>Les permissions de %1 %2 ont été retirées avec succès.</translation>
+ </message>
+ <message>
+ <source>The active database does not contain an entry with permissions.</source>
+ <translation>La base de données actuelle ne contient aucun élément avec des permissions.</translation>
+ </message>
+ <message>
+ <source>KeePassXC: New key association request</source>
+ <translation>KeePassXC: nouvelle demande d&apos;association</translation>
+ </message>
+ <message>
+ <source>You have received an association request for the above key.
+If you would like to allow it access to your KeePassXC database
+give it a unique name to identify and accept it.</source>
+ <translation>Vous avez reçu une demande d&apos;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&apos;identifier et acceptez la.</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Overwrite existing key?</source>
+ <translation>KeePassXC: Écraser la clé existante ?</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Update Entry</source>
+ <translation>KeePassXC: Mettre à jour l&apos;élément</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Database locked!</source>
+ <translation>KeePassXC: Base de données verrouillée !</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Removed keys from database</source>
+ <translation>KeePassXC: Les clés ont été effacées de la base de donnée</translation>
+ </message>
+ <message>
+ <source>KeePassXC: No keys found</source>
+ <translation>KeePassXC: Aucune clé trouvée</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Settings not available!</source>
+ <translation>KeePassXC: Paramètre indisponible !</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Removed permissions</source>
+ <translation>KeePassXC: Permissions retirées</translation>
+ </message>
+ <message>
+ <source>KeePassXC: No entry with permissions found!</source>
+ <translation>KeePassXC: Aucune entrée avec permissions trouvée !</translation>
</message>
</context>
<context>
@@ -1283,10 +1667,6 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<translation>Se souvenir des dernières bases de données</translation>
</message>
<message>
- <source>Open previous databases on startup</source>
- <translation>Ouvrir les bases de données précédentes au démarrage</translation>
- </message>
- <message>
<source>Automatically save on exit</source>
<translation>Sauvegarder automatiquement à la sortie</translation>
</message>
@@ -1308,7 +1688,7 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
</message>
<message>
<source>Use entry title to match windows for global auto-type</source>
- <translation>Utiliser la correspondance entre le titre de l&apos;entrée et de la fenêtre pour le remplissage automatique global</translation>
+ <translation type="unfinished"/>
</message>
<message>
<source>Language</source>
@@ -1327,12 +1707,20 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<translation>Se rappeler les derniers fichiers-clés ouverts</translation>
</message>
<message>
- <source>Hide window to system tray instead of App Exit</source>
- <translation type="unfinished"/>
+ <source>Load previous databases on startup</source>
+ <translation>Charger les bases de données précédentes au démarrage</translation>
</message>
<message>
- <source>Hide window to system tray on App start</source>
- <translation type="unfinished"/>
+ <source>Automatically reload the database when modified externally</source>
+ <translation>Recharger automatiquement la base de données quand celle-ci est modifier depuis l&apos;extérieur</translation>
+ </message>
+ <message>
+ <source>Hide window to system tray instead of app exit</source>
+ <translation>Envoyer la fenêtre dans la zone de notification au lieu de quitter l&apos;application</translation>
+ </message>
+ <message>
+ <source>Minimize window at application startup</source>
+ <translation>Minimiser la fenêtre lors du démarrage de l&apos;application</translation>
</message>
</context>
<context>
@@ -1357,6 +1745,14 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<source>Always ask before performing auto-type</source>
<translation>Toujours demander avant d&apos;effectuer un remplissage automatique</translation>
</message>
+ <message>
+ <source>Lock databases after minimizing the window</source>
+ <translation>Verrouiller la base de données lorsque la fenêtre est minimisée</translation>
+ </message>
+ <message>
+ <source>Don&apos;t require password repeat when it is visible</source>
+ <translation>Ne pas demander de répéter le mot de passe lorsque celui-ci est visible</translation>
+ </message>
</context>
<context>
<name>UnlockDatabaseWidget</name>
@@ -1375,14 +1771,6 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<context>
<name>main</name>
<message>
- <source>KeePassX - cross-platform password manager</source>
- <translation>KeePassX - Gestionnaire de mot de passe multi-plateforme</translation>
- </message>
- <message>
- <source>filename of the password database to open (*.kdbx)</source>
- <translation>Nom de fichier de la base de données de mot de passe à ouvrir (*.kdbx)</translation>
- </message>
- <message>
<source>path to a custom config file</source>
<translation>Chemin vers un fichier de configuration personnalisé</translation>
</message>
@@ -1390,5 +1778,17 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<source>key file of the database</source>
<translation>Fichier-clé de la base de données</translation>
</message>
+ <message>
+ <source>KeePassXC - cross-platform password manager</source>
+ <translation>KeePassXC - Gestionnaire de mots de passe multiplateforme</translation>
+ </message>
+ <message>
+ <source>read password of the database from stdin</source>
+ <translation>Lire le mot de passe de la base de données sur l&apos;entrée standard</translation>
+ </message>
+ <message>
+ <source>filenames of the password databases to open (*.kdbx)</source>
+ <translation type="unfinished"/>
+ </message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_lt.ts b/share/translations/keepassx_lt.ts
index 824101c51..152dad900 100644
--- a/share/translations/keepassx_lt.ts
+++ b/share/translations/keepassx_lt.ts
@@ -14,15 +14,15 @@
<translation>Apie KeePassXC</translation>
</message>
<message>
- <source>KeePassXC is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
- <translation>KeePassXC yra platinama GNU Bendrosios Viešosios Licencijos (GPL) versijos 2 arba (jūsų pasirinkimu) versijos 3 sąlygomis.</translation>
- </message>
- <message>
<source>Extensions:
</source>
<translation>Plėtiniai:
</translation>
</message>
+ <message>
+ <source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
+ <translation>KeePassXC yra platinama GNU Bendrosios Viešosios Licencijos (GPL) versijos 2 arba (jūsų pasirinkimu) versijos 3 sąlygomis.</translation>
+ </message>
</context>
<context>
<name>AccessControlDialog</name>
@@ -101,10 +101,6 @@ Pasirinkite, ar norite leisti prieigą.</translation>
<translation>Pakartokite slaptažodį:</translation>
</message>
<message>
- <source>Key file</source>
- <translation>Rakto failas</translation>
- </message>
- <message>
<source>Browse</source>
<translation>Naršyti</translation>
</message>
@@ -158,6 +154,10 @@ Pasirinkite, ar norite leisti prieigą.</translation>
<translation>Nepavyko nustatyti %1 kaip rakto failą:
%2</translation>
</message>
+ <message>
+ <source>&amp;Key file</source>
+ <translation>&amp;Rakto failas</translation>
+ </message>
</context>
<context>
<name>DatabaseOpenWidget</name>
@@ -258,10 +258,6 @@ Dabar galite ją įrašyti.</translation>
<translation>Numatytasis naudotojo vardas:</translation>
</message>
<message>
- <source>Use recycle bin:</source>
- <translation>Naudoti šiukšlinę:</translation>
- </message>
- <message>
<source> MiB</source>
<translation> MiB</translation>
</message>
@@ -277,6 +273,10 @@ Dabar galite ją įrašyti.</translation>
<source>Max. history size:</source>
<translation>Didžiausias istorijos dydis:</translation>
</message>
+ <message>
+ <source>Use recycle bin</source>
+ <translation>Naudoti šiukšlinę</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -397,12 +397,6 @@ Vis tiek atmesti pakeitimus ir užverti?</translation>
<translation>Nepavyko atverti duomenų bazės.</translation>
</message>
<message>
- <source>The database you are trying to open is locked by another instance of KeePassXC.
-Do you want to open it anyway? Alternatively the database is opened read-only.</source>
- <translation>Duomenų bazė, kurią bandote atverti, yra užrakinta kito KeePassXC egzemplioriaus.
-Ar vis tiek norite ją atverti? Tokiu atveju duomenų bazė bus atverta tik skaitymui.</translation>
- </message>
- <message>
<source>Merge database</source>
<translation>Sulieti duomenų bazę</translation>
</message>
@@ -412,6 +406,25 @@ Do you want to save it anyway?</source>
<translation>Duomenų bazė, kurią bandote įrašyti yra užrakinta kito KeePassXC programos egzemplioriaus.
Ar vis tiek norite ją įrašyti?</translation>
</message>
+ <message>
+ <source>Passwords</source>
+ <translation>Slaptažodžiai</translation>
+ </message>
+ <message>
+ <source>Database already opened</source>
+ <translation>Duomenų bazė jau atverta</translation>
+ </message>
+ <message>
+ <source>The database you are trying to open is locked by another instance of KeePassXC.
+
+Do you want to open it anyway?</source>
+ <translation>Duomenų bazė, kurią bandote atverti yra užrakinta kito KeePassXC programos egzemplioriaus.
+Ar vis tiek norite ją atverti?</translation>
+ </message>
+ <message>
+ <source>Open read-only</source>
+ <translation>Atverti tik skaitymui</translation>
+ </message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -520,10 +533,6 @@ Ar vis tiek norite ją įrašyti?</translation>
<translation>Automatinis įkėlimas iš naujo nepavyko</translation>
</message>
<message>
- <source>Could not parse or unlock the new database file while attempting to autoreload this database.</source>
- <translation>Nepavyko išanalizuoti ar atrakinti naujos duomenų bazės failo, bandant automatiškai iš naujo įkelti šią duomenų bazę.</translation>
- </message>
- <message>
<source>Could not open the new database file while attempting to autoreload this database.</source>
<translation>Nepavyko atverti naujos duomenų bazės failo, bandant automatiškai iš naujo įkelti šią duomenų bazę.</translation>
</message>
@@ -651,14 +660,6 @@ Ar vis tiek norite ją įrašyti?</translation>
<translation>Įjungti šiam įrašui automatinį rinkimą</translation>
</message>
<message>
- <source>Inherit default Auto-Type sequence from the group</source>
- <translation>Paveldėti numatytąją automatinio rinkimo seką iš grupės</translation>
- </message>
- <message>
- <source>Use custom Auto-Type sequence:</source>
- <translation>Naudoti tinkintą automatinio rinkimo seka:</translation>
- </message>
- <message>
<source>+</source>
<translation>+</translation>
</message>
@@ -671,12 +672,20 @@ Ar vis tiek norite ją įrašyti?</translation>
<translation>Lango antraštė:</translation>
</message>
<message>
- <source>Use default sequence</source>
- <translation>Naudoti numatytąją seką</translation>
+ <source>Inherit default Auto-Type sequence from the &amp;group</source>
+ <translation>Paveldėti numatytąją automatinio rinkimo seką iš &amp;grupės</translation>
+ </message>
+ <message>
+ <source>&amp;Use custom Auto-Type sequence:</source>
+ <translation>Na&amp;udoti tinkintą automatinio rinkimo seka:</translation>
</message>
<message>
- <source>Set custom sequence:</source>
- <translation>Nustatyti tinkintą seką:</translation>
+ <source>Use default se&amp;quence</source>
+ <translation>Naudoti numatytąją se&amp;ką</translation>
+ </message>
+ <message>
+ <source>Set custo&amp;m sequence:</source>
+ <translation>Nustatyti tinkintą s&amp;eką:</translation>
</message>
</context>
<context>
@@ -802,14 +811,6 @@ Ar vis tiek norite ją įrašyti?</translation>
<context>
<name>EditWidgetIcons</name>
<message>
- <source>Use default icon</source>
- <translation>Naudoti numatytąją piktogramą</translation>
- </message>
- <message>
- <source>Use custom icon</source>
- <translation>Naudoti tinkintą piktogramą</translation>
- </message>
- <message>
<source>Add custom icon</source>
<translation>Pridėti tinkintą piktogramą</translation>
</message>
@@ -853,6 +854,14 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Can&apos;t delete icon. Still used by %1 items.</source>
<translation>Nepavyksta ištrinti piktogramos. Vis dar naudojama %1 elementų.</translation>
</message>
+ <message>
+ <source>&amp;Use default icon</source>
+ <translation>Na&amp;udoti numatytąją piktogramą</translation>
+ </message>
+ <message>
+ <source>Use custo&amp;m icon</source>
+ <translation>Naudoti tinkintą piktogra&amp;mą</translation>
+ </message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -1299,12 +1308,6 @@ Tai yra vienakryptis perkėlimas. Jūs negalėsite atverti importuotos duomenų
<translation>R&amp;odyti pranešimą, kai reikalaujama prisijungimo duomenų</translation>
</message>
<message>
- <source>&amp;Return only best matching entries for an URL instead
-of all entries for the whole domain</source>
- <translation>&amp;Vietoj visų įrašų, skirtų visai sričiai,
-grąžinti tik geriausiai atitinkančius įrašus, skirtus URL</translation>
- </message>
- <message>
<source>&amp;Match URL schemes
Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
<translation>&amp;Atitikti URL schemas
@@ -1315,10 +1318,6 @@ Bus grąžinami įrašai tik su ta pačia schema (http://, https://, ftp://, ...
<translation>Rikiuoti atitinkančius įrašus pagal na&amp;udotojo vardą</translation>
</message>
<message>
- <source>R&amp;emove all shared encryption-keys from active database</source>
- <translation>Ša&amp;linti iš aktyvios duomenų bazės visus bendrinamus šifravimo raktus</translation>
- </message>
- <message>
<source>Re&amp;move all stored permissions from entries in active database</source>
<translation>Šal&amp;inti iš įrašų aktyvioje duomenų bazėje visus saugomus leidimus</translation>
</message>
@@ -1331,10 +1330,6 @@ Bus grąžinami įrašai tik su ta pačia schema (http://, https://, ftp://, ...
<translation>Išplėstiniai</translation>
</message>
<message>
- <source>Activate the following only, if you know what you are doing!</source>
- <translation>Aktyvuokite tai tik tuo atveju, jeigu žinote ką darote!</translation>
- </message>
- <message>
<source>Always allow &amp;access to entries</source>
<translation>Visada leisti &amp;prieigą prie įrašų</translation>
</message>
@@ -1351,14 +1346,6 @@ Bus grąžinami įrašai tik su ta pačia schema (http://, https://, ftp://, ...
<translation>Su klientu turi būti sujungta tik pasirinkta duomenų bazė!</translation>
</message>
<message>
- <source>&amp;Return also advanced string fields which start with &quot;KPH: &quot;</source>
- <translation>&amp;Taip pat grąžinti ir išplėstines eilutes, kurios prasideda &quot;KPH: &quot;</translation>
- </message>
- <message>
- <source>Automatic creates or updates are not supported for string fields!</source>
- <translation>Šiems eilutės laukams automatiniai kūrimai ir atnaujinimai neprieinami!</translation>
- </message>
- <message>
<source>HTTP Port:</source>
<translation>HTTP prievadas:</translation>
</message>
@@ -1394,6 +1381,28 @@ Using default port 19455.</source>
<translation>Nepavyksta susieti su privilegijuotais prievadais žemiau 1024!
Naudojamas numatytasis prievadas 19455.</translation>
</message>
+ <message>
+ <source>&amp;Return only best matching entries for a URL instead
+of all entries for the whole domain</source>
+ <translation>&amp;Vietoj visų įrašų, skirtų visai sričiai,
+grąžinti tik geriausiai atitinkančius įrašus, skirtus URL</translation>
+ </message>
+ <message>
+ <source>R&amp;emove all shared encryption keys from active database</source>
+ <translation>Ša&amp;linti iš aktyvios duomenų bazės visus bendrinamus šifravimo raktus</translation>
+ </message>
+ <message>
+ <source>The following options can be dangerous. Change them only if you know what you are doing.</source>
+ <translation>Šios parinktys gali būti pavojingos. Keiskite jas tik tuo atveju, jeigu žinote ką darote!</translation>
+ </message>
+ <message>
+ <source>&amp;Return advanced string fields which start with &quot;KPH: &quot;</source>
+ <translation>&amp;Grąžinti išplėstines eilutes, kurios prasideda &quot;KPH: &quot;</translation>
+ </message>
+ <message>
+ <source>Automatically creating or updating string fields is not supported.</source>
+ <translation>Automatinis eilutės laukų kūrimas ar atnaujinimas nėra palaikomas.</translation>
+ </message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1463,7 +1472,7 @@ Naudojamas numatytasis prievadas 19455.</translation>
</message>
<message>
<source>Entropy: %1 bit</source>
- <translation>Entropija: %1 bit</translation>
+ <translation>Entropija: %1 bitų</translation>
</message>
<message>
<source>Password Quality: %1</source>
@@ -1535,7 +1544,7 @@ Naudojamas numatytasis prievadas 19455.</translation>
</message>
<message>
<source>Search</source>
- <translation>Ieškoti</translation>
+ <translation>Paieška</translation>
</message>
<message>
<source>Find</source>
@@ -1772,10 +1781,6 @@ ir priimtumėte jį.</translation>
<translation>duomenų bazės rakto failas</translation>
</message>
<message>
- <source>filename(s) of the password database(s) to open (*.kdbx)</source>
- <translation>norimos atverti slaptažodžių duomenų bazės(-ių) failo pavadinimas(-ai) (*.kdbx)</translation>
- </message>
- <message>
<source>KeePassXC - cross-platform password manager</source>
<translation>KeePassXC - daugiaplatformė slaptažodžių tvarkytuvė</translation>
</message>
@@ -1783,5 +1788,9 @@ ir priimtumėte jį.</translation>
<source>read password of the database from stdin</source>
<translation>nuskaityti duomenų bazės slaptažodį iš stdin</translation>
</message>
+ <message>
+ <source>filenames of the password databases to open (*.kdbx)</source>
+ <translation>norimų atverti slaptažodžių duomenų bazių failų pavadinimai (*.kdbx)</translation>
+ </message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_zh_CN.ts b/share/translations/keepassx_zh_CN.ts
index b2b3adf1a..5f4f59f60 100644
--- a/share/translations/keepassx_zh_CN.ts
+++ b/share/translations/keepassx_zh_CN.ts
@@ -1,15 +1,7 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_CN" version="2.0">
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_CN" version="2.1">
<context>
<name>AboutDialog</name>
<message>
- <source>About KeePassX</source>
- <translation>关于 KeePassX</translation>
- </message>
- <message>
- <source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
- <translation>KeePassX 使用的是第 2 版 GNU 通用公共授权协议(GPL)(你可以根据需要选用第 3 版).</translation>
- </message>
- <message>
<source>Revision</source>
<translation>修改</translation>
</message>
@@ -17,17 +9,55 @@
<source>Using:</source>
<translation>使用:</translation>
</message>
+ <message>
+ <source>About KeePassXC</source>
+ <translation>关于 KeePassXC</translation>
+ </message>
+ <message>
+ <source>Extensions:
+</source>
+ <translation>扩展:
+</translation>
+ </message>
+ <message>
+ <source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
+ <translation>KeePassXC 使用的是第 2 版 GNU 通用公共授权协议(GPL)(你可以根据需要选用第 3 版).</translation>
+ </message>
</context>
<context>
- <name>AutoType</name>
+ <name>AccessControlDialog</name>
<message>
- <source>Auto-Type - KeePassX</source>
- <translation>KeePassX - 自动输入</translation>
+ <source>Remember this decision</source>
+ <translation type="unfinished"/>
</message>
<message>
+ <source>Allow</source>
+ <translation>允许</translation>
+ </message>
+ <message>
+ <source>Deny</source>
+ <translation>拒绝</translation>
+ </message>
+ <message>
+ <source>%1 has requested access to passwords for the following item(s).
+Please select whether you want to allow access.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC HTTP Confirm Access</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>AutoType</name>
+ <message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<translation>无法找到符合窗口标题的项目</translation>
</message>
+ <message>
+ <source>Auto-Type - KeePassXC</source>
+ <translation>KeePassXC - 自动输入</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -47,13 +77,13 @@
<context>
<name>AutoTypeSelectDialog</name>
<message>
- <source>Auto-Type - KeePassX</source>
- <translation>KeePassX - 自动输入</translation>
- </message>
- <message>
<source>Select entry to Auto-Type:</source>
<translation>选择自动输入的项目</translation>
</message>
+ <message>
+ <source>Auto-Type - KeePassXC</source>
+ <translation>KeePassXC - 自动输入</translation>
+ </message>
</context>
<context>
<name>ChangeMasterKeyWidget</name>
@@ -70,10 +100,6 @@
<translation>重复密码:</translation>
</message>
<message>
- <source>Key file</source>
- <translation>秘钥文件</translation>
- </message>
- <message>
<source>Browse</source>
<translation>浏览</translation>
</message>
@@ -127,6 +153,10 @@
<translation>无法设置 %1 为秘钥文件:
%2</translation>
</message>
+ <message>
+ <source>&amp;Key file</source>
+ <translation>秘钥文件</translation>
+ </message>
</context>
<context>
<name>DatabaseOpenWidget</name>
@@ -227,10 +257,6 @@ You can now save it.</source>
<translation>默认用户名:</translation>
</message>
<message>
- <source>Use recycle bin:</source>
- <translation>使用垃圾桶:</translation>
- </message>
- <message>
<source> MiB</source>
<translation>MiB</translation>
</message>
@@ -246,6 +272,10 @@ You can now save it.</source>
<source>Max. history size:</source>
<translation>最大历史记录大小:</translation>
</message>
+ <message>
+ <source>Use recycle bin</source>
+ <translation>使用回收站</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -320,12 +350,6 @@ Save changes?</source>
<translation>已锁</translation>
</message>
<message>
- <source>The database you are trying to open is locked by another instance of KeePassX.
-Do you want to open it anyway? Alternatively the database is opened read-only.</source>
- <translation>你要打开的数据库已被另一个KeePassX锁住。
-你确定要以只读方式的打开吗?</translation>
- </message>
- <message>
<source>Lock database</source>
<translation>锁住数据库</translation>
</message>
@@ -368,15 +392,38 @@ Discard changes and close anyway?</source>
<translation>写入CSV格式文件失败</translation>
</message>
<message>
- <source>The database you are trying to save as is locked by another instance of KeePassX.
+ <source>Unable to open the database.</source>
+ <translation>无法打开数据库。</translation>
+ </message>
+ <message>
+ <source>Merge database</source>
+ <translation>合并数据库</translation>
+ </message>
+ <message>
+ <source>The database you are trying to save as is locked by another instance of KeePassXC.
Do you want to save it anyway?</source>
- <translation>你要保存的数据库已被另一个KeePassX锁住。
+ <translation>你要保存的数据库已被另一个KeePassXC锁住。
你仍然要保存吗?</translation>
</message>
<message>
- <source>Unable to open the database.</source>
+ <source>Passwords</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Database already opened</source>
+ <translation>数据库已经打开</translation>
+ </message>
+ <message>
+ <source>The database you are trying to open is locked by another instance of KeePassXC.
+
+Do you want to open it anyway?</source>
+ <translation>你要打开的数据库已被另一个KeePassXC锁住。
+你仍然要打开吗?</translation>
+ </message>
+ <message>
+ <source>Open read-only</source>
+ <translation>已只读方式打开</translation>
+ </message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -417,10 +464,6 @@ Do you want to save it anyway?</source>
<translation>你确定永远删除 &quot;%1&quot; 群组吗?</translation>
</message>
<message>
- <source>Current group</source>
- <translation>当前群组</translation>
- </message>
- <message>
<source>Error</source>
<translation>错误</translation>
</message>
@@ -430,11 +473,67 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Move entry to recycle bin?</source>
- <translation type="unfinished"/>
+ <translation>移动项目到回收站?</translation>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
- <translation type="unfinished"/>
+ <translation>是否删除 &quot;%1&quot; 项目到回收站?</translation>
+ </message>
+ <message>
+ <source>Searching...</source>
+ <translation>搜索中...</translation>
+ </message>
+ <message>
+ <source>No current database.</source>
+ <translation>没有当前的数据库。</translation>
+ </message>
+ <message>
+ <source>No source database, nothing to do.</source>
+ <translation>没有当前的数据库。没什么可做的。</translation>
+ </message>
+ <message>
+ <source>Search Results (%1)</source>
+ <translation>搜索结果 (%1)</translation>
+ </message>
+ <message>
+ <source>No Results</source>
+ <translation>无结果</translation>
+ </message>
+ <message>
+ <source>Execute command?</source>
+ <translation>执行命令?</translation>
+ </message>
+ <message>
+ <source>Do you really want to execute the following command?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</source>
+ <translation>你确定要执行以下命令?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</translation>
+ </message>
+ <message>
+ <source>Remember my choice</source>
+ <translation>记住这次更改</translation>
+ </message>
+ <message>
+ <source>Autoreload Request</source>
+ <translation>自动加载请求</translation>
+ </message>
+ <message>
+ <source>The database file has changed. Do you want to load the changes?</source>
+ <translation>数据库文件已更改。是否重新载入?</translation>
+ </message>
+ <message>
+ <source>Merge Request</source>
+ <translation>合并请求</translation>
+ </message>
+ <message>
+ <source>The database file has changed and you have unsaved changes.Do you want to merge your changes?</source>
+ <translation>数据库文件已更改,您有未保存的更改。是否合并您的更改?</translation>
+ </message>
+ <message>
+ <source>Autoreload Failed</source>
+ <translation>自动加载失败</translation>
+ </message>
+ <message>
+ <source>Could not open the new database file while attempting to autoreload this database.</source>
+ <translation>在尝试 autoreload 此数据库不打开新的数据库文件。</translation>
</message>
</context>
<context>
@@ -560,14 +659,6 @@ Do you want to save it anyway?</source>
<translation>打开此项目的自动输入</translation>
</message>
<message>
- <source>Inherit default Auto-Type sequence from the group</source>
- <translation>从父群组继承默认的自动输入顺序</translation>
- </message>
- <message>
- <source>Use custom Auto-Type sequence:</source>
- <translation>使用自定义自动输入顺序</translation>
- </message>
- <message>
<source>+</source>
<translation>+</translation>
</message>
@@ -580,11 +671,19 @@ Do you want to save it anyway?</source>
<translation>窗口标题:</translation>
</message>
<message>
- <source>Use default sequence</source>
+ <source>Inherit default Auto-Type sequence from the &amp;group</source>
+ <translation>从父群组继承默认的自动输入顺序</translation>
+ </message>
+ <message>
+ <source>&amp;Use custom Auto-Type sequence:</source>
+ <translation>使用自定义自动输入顺序</translation>
+ </message>
+ <message>
+ <source>Use default se&amp;quence</source>
<translation>使用默认顺序</translation>
</message>
<message>
- <source>Set custom sequence:</source>
+ <source>Set custo&amp;m sequence:</source>
<translation>设置自定义顺序</translation>
</message>
</context>
@@ -626,10 +725,6 @@ Do you want to save it anyway?</source>
<translation>重复:</translation>
</message>
<message>
- <source>Gen.</source>
- <translation>生成.</translation>
- </message>
- <message>
<source>URL:</source>
<translation>网址:</translation>
</message>
@@ -715,14 +810,6 @@ Do you want to save it anyway?</source>
<context>
<name>EditWidgetIcons</name>
<message>
- <source>Use default icon</source>
- <translation>使用默认图标</translation>
- </message>
- <message>
- <source>Use custom icon</source>
- <translation>使用自定义图标</translation>
- </message>
- <message>
<source>Add custom icon</source>
<translation>添加自定义图标</translation>
</message>
@@ -746,17 +833,33 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon!</source>
<translation>不能删除图标!</translation>
</message>
- <message numerus="yes">
- <source>Can&apos;t delete icon. Still used by %n item(s).</source>
- <translation><numerusform>不能删除图标。仍在被 %n 个项目使用</numerusform></translation>
- </message>
<message>
<source>Error</source>
- <translation type="unfinished"/>
+ <translation>错误</translation>
</message>
<message>
- <source>Can&apos;t read icon:</source>
- <translation type="unfinished"/>
+ <source>Download favicon</source>
+ <translation>下载网站头像</translation>
+ </message>
+ <message>
+ <source>Unable to fetch favicon.</source>
+ <translation>无法获取网站头像</translation>
+ </message>
+ <message>
+ <source>Can&apos;t read icon</source>
+ <translation>无法读取图标</translation>
+ </message>
+ <message>
+ <source>Can&apos;t delete icon. Still used by %1 items.</source>
+ <translation>%1 项目正在使用,无法删除图标。</translation>
+ </message>
+ <message>
+ <source>&amp;Use default icon</source>
+ <translation>使用默认图标</translation>
+ </message>
+ <message>
+ <source>Use custo&amp;m icon</source>
+ <translation>使用自定义图标</translation>
</message>
</context>
<context>
@@ -779,6 +882,13 @@ Do you want to save it anyway?</source>
</message>
</context>
<context>
+ <name>Entry</name>
+ <message>
+ <source> - Clone</source>
+ <translation>- 复制</translation>
+ </message>
+</context>
+<context>
<name>EntryAttributesModel</name>
<message>
<source>Name</source>
@@ -831,6 +941,61 @@ Do you want to save it anyway?</source>
</message>
</context>
<context>
+ <name>HttpPasswordGeneratorWidget</name>
+ <message>
+ <source>Length:</source>
+ <translation>长度:</translation>
+ </message>
+ <message>
+ <source>Character Types</source>
+ <translation>字符类型</translation>
+ </message>
+ <message>
+ <source>Upper Case Letters</source>
+ <translation>大写英文字母</translation>
+ </message>
+ <message>
+ <source>A-Z</source>
+ <translation>A-Z</translation>
+ </message>
+ <message>
+ <source>Lower Case Letters</source>
+ <translation>小写英文字母</translation>
+ </message>
+ <message>
+ <source>a-z</source>
+ <translation>a-z</translation>
+ </message>
+ <message>
+ <source>Numbers</source>
+ <translation>数字</translation>
+ </message>
+ <message>
+ <source>0-9</source>
+ <translation>0-9</translation>
+ </message>
+ <message>
+ <source>Special Characters</source>
+ <translation>特殊字符</translation>
+ </message>
+ <message>
+ <source>/*_&amp; ...</source>
+ <translation>/*_&amp; ...</translation>
+ </message>
+ <message>
+ <source>Exclude look-alike characters</source>
+ <translation>去除相似的字符</translation>
+ </message>
+ <message>
+ <source>Ensure that the password contains characters from every group</source>
+ <translation>确保密码包含每种的字符</translation>
+ </message>
+ <message>
+ <source>Accept</source>
+ <translation>接受</translation>
+ </message>
+</context>
+<context>
<name>KeePass1OpenWidget</name>
<message>
<source>Import KeePass1 database</source>
@@ -873,7 +1038,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
- <translation type="unfinished"/>
+ <translation>秘钥错误或数据库损坏。</translation>
</message>
</context>
<context>
@@ -911,8 +1076,8 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation>在测试加密函数时发生重大错误。</translation>
</message>
<message>
- <source>KeePassX - Error</source>
- <translation>KeePassX - 错误</translation>
+ <source>KeePassXC - Error</source>
+ <translation>KeePassXC - 错误</translation>
</message>
</context>
<context>
@@ -922,188 +1087,317 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation>数据库</translation>
</message>
<message>
- <source>Recent databases</source>
+ <source>Open database</source>
+ <translation>打开数据库</translation>
+ </message>
+ <message>
+ <source>Database settings</source>
+ <translation>数据库设置</translation>
+ </message>
+ <message>
+ <source>Copy username to clipboard</source>
+ <translation>将用户名复制到剪贴板</translation>
+ </message>
+ <message>
+ <source>Copy password to clipboard</source>
+ <translation>将密码复制到剪贴板</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>设置</translation>
+ </message>
+ <message>
+ <source>Show toolbar</source>
+ <translation>显示工具栏</translation>
+ </message>
+ <message>
+ <source>read-only</source>
+ <translation>只读</translation>
+ </message>
+ <message>
+ <source>Toggle window</source>
+ <translation>切换窗口</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>工具</translation>
+ </message>
+ <message>
+ <source>KeePass 2 Database</source>
+ <translation>KeePass 2 数据库</translation>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>所有文件</translation>
+ </message>
+ <message>
+ <source>Save repaired database</source>
+ <translation>保存修复后的数据库</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>错误</translation>
+ </message>
+ <message>
+ <source>Writing the database failed.</source>
+ <translation>数据库写入失败</translation>
+ </message>
+ <message>
+ <source>&amp;Recent databases</source>
<translation>最近的数据库</translation>
</message>
<message>
- <source>Help</source>
+ <source>He&amp;lp</source>
<translation>帮助</translation>
</message>
<message>
- <source>Entries</source>
- <translation>项目</translation>
+ <source>E&amp;ntries</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Copy attribute to clipboard</source>
+ <source>Copy att&amp;ribute to clipboard</source>
<translation>将属性复制到剪贴板</translation>
</message>
<message>
- <source>Groups</source>
+ <source>&amp;Groups</source>
<translation>群组</translation>
</message>
<message>
- <source>View</source>
+ <source>&amp;View</source>
<translation>显示</translation>
</message>
<message>
- <source>Quit</source>
+ <source>&amp;Quit</source>
<translation>退出</translation>
</message>
<message>
- <source>About</source>
+ <source>&amp;About</source>
<translation>关于</translation>
</message>
<message>
- <source>Open database</source>
+ <source>&amp;Open database</source>
<translation>打开数据库</translation>
</message>
<message>
- <source>Save database</source>
+ <source>&amp;Save database</source>
<translation>保存数据库</translation>
</message>
<message>
- <source>Close database</source>
+ <source>&amp;Close database</source>
<translation>关闭数据库</translation>
</message>
<message>
- <source>New database</source>
+ <source>&amp;New database</source>
<translation>新建数据库</translation>
</message>
<message>
- <source>Add new entry</source>
+ <source>Merge from KeePassX database</source>
+ <translation>从KeePassX数据库合并</translation>
+ </message>
+ <message>
+ <source>&amp;Add new entry</source>
<translation>新增项目</translation>
</message>
<message>
- <source>View/Edit entry</source>
+ <source>&amp;View/Edit entry</source>
<translation>浏览/编辑项目</translation>
</message>
<message>
- <source>Delete entry</source>
+ <source>&amp;Delete entry</source>
<translation>删除项目</translation>
</message>
<message>
- <source>Add new group</source>
+ <source>&amp;Add new group</source>
<translation>新增群组</translation>
</message>
<message>
- <source>Edit group</source>
+ <source>&amp;Edit group</source>
<translation>编辑群组</translation>
</message>
<message>
- <source>Delete group</source>
+ <source>&amp;Delete group</source>
<translation>删除群组</translation>
</message>
<message>
- <source>Save database as</source>
+ <source>Sa&amp;ve database as</source>
<translation>另存数据库为</translation>
</message>
<message>
- <source>Change master key</source>
+ <source>Change &amp;master key</source>
<translation>更改主密码</translation>
</message>
<message>
- <source>Database settings</source>
+ <source>&amp;Database settings</source>
<translation>数据库设置</translation>
</message>
<message>
- <source>Import KeePass 1 database</source>
+ <source>&amp;Import KeePass 1 database</source>
<translation>导入KeePass 1 数据库</translation>
</message>
<message>
- <source>Clone entry</source>
+ <source>&amp;Clone entry</source>
<translation>复制项目</translation>
</message>
<message>
- <source>Find</source>
+ <source>&amp;Find</source>
<translation>查找</translation>
</message>
<message>
- <source>Copy username to clipboard</source>
- <translation>将用户名复制到剪贴板</translation>
+ <source>Copy &amp;username</source>
+ <translation>复制用户名</translation>
</message>
<message>
- <source>Copy password to clipboard</source>
- <translation>将密码复制到剪贴板</translation>
+ <source>Cop&amp;y password</source>
+ <translation>复制密码</translation>
</message>
<message>
- <source>Settings</source>
+ <source>&amp;Settings</source>
<translation>设置</translation>
</message>
<message>
- <source>Perform Auto-Type</source>
+ <source>&amp;Perform Auto-Type</source>
<translation>执行自动输入</translation>
</message>
<message>
- <source>Open URL</source>
+ <source>&amp;Open URL</source>
<translation>打开网址</translation>
</message>
<message>
- <source>Lock databases</source>
+ <source>&amp;Lock databases</source>
<translation>锁住数据库</translation>
</message>
<message>
- <source>Title</source>
+ <source>&amp;Title</source>
<translation>标题</translation>
</message>
<message>
- <source>URL</source>
+ <source>&amp;URL</source>
<translation>网址</translation>
</message>
<message>
- <source>Notes</source>
+ <source>&amp;Notes</source>
<translation>备注</translation>
</message>
<message>
- <source>Show toolbar</source>
- <translation>显示工具栏</translation>
+ <source>&amp;Export to CSV file</source>
+ <translation>导出为CSV格式文件</translation>
</message>
<message>
- <source>read-only</source>
- <translation>只读</translation>
+ <source>Re&amp;pair database</source>
+ <translation>修复数据库</translation>
</message>
<message>
- <source>Toggle window</source>
- <translation>切换窗口</translation>
+ <source>Password Generator</source>
+ <translation>密码生成器</translation>
</message>
+</context>
+<context>
+ <name>OptionDialog</name>
<message>
- <source>Tools</source>
- <translation>工具</translation>
+ <source>Dialog</source>
+ <translation>对话框</translation>
</message>
<message>
- <source>Copy username</source>
- <translation>复制用户名</translation>
+ <source>General</source>
+ <translation>常规</translation>
</message>
<message>
- <source>Copy password</source>
- <translation>复制密码</translation>
+ <source>Sh&amp;ow a notification when credentials are requested</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Export to CSV file</source>
- <translation>导出为CSV格式文件</translation>
+ <source>&amp;Match URL schemes
+Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Repair database</source>
- <translation>修复数据库</translation>
+ <source>Sort matching entries by &amp;username</source>
+ <translation>按匹配用户名排序</translation>
</message>
<message>
- <source>KeePass 2 Database</source>
- <translation>KeePass 2 数据库</translation>
+ <source>Re&amp;move all stored permissions from entries in active database</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>All files</source>
- <translation>所有文件</translation>
+ <source>Password generator</source>
+ <translation>密码生成器</translation>
</message>
<message>
- <source>Save repaired database</source>
- <translation>保存修复后的数据库</translation>
+ <source>Advanced</source>
+ <translation>高级</translation>
</message>
<message>
- <source>Error</source>
- <translation>错误</translation>
+ <source>Always allow &amp;access to entries</source>
+ <translation>永远允许访问项目</translation>
</message>
<message>
- <source>Writing the database failed.</source>
- <translation>数据库写入失败</translation>
+ <source>Always allow &amp;updating entries</source>
+ <translation>永远允许更新项目</translation>
+ </message>
+ <message>
+ <source>Searc&amp;h in all opened databases for matching entries</source>
+ <translation>在所有打开的数据库中查找匹配项目</translation>
+ </message>
+ <message>
+ <source>Only the selected database has to be connected with a client!</source>
+ <translation>客户端只能连接选中的数据库!</translation>
+ </message>
+ <message>
+ <source>HTTP Port:</source>
+ <translation>HTTP端口:</translation>
+ </message>
+ <message>
+ <source>Default port: 19455</source>
+ <translation>默认端口:19455</translation>
+ </message>
+ <message>
+ <source>Re&amp;quest to unlock the database if it is locked</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Sort &amp;matching entries by title</source>
+ <translation>用标题排序匹配的项目</translation>
+ </message>
+ <message>
+ <source>Enable KeepassXC HTTP protocol
+This is required for accessing your databases from ChromeIPass or PassIFox</source>
+ <translation>启用KeepassXC HTTP协议
+这需要ChromeIPass或PassIFox访问你的数据库</translation>
+ </message>
+ <message>
+ <source>KeePassXC will listen to this port on 127.0.0.1</source>
+ <translation>KeePassXC 将监听 127.0.0.1上的此端口</translation>
+ </message>
+ <message>
+ <source>Cannot bind to privileged ports</source>
+ <translation>无法绑定到特殊端口</translation>
+ </message>
+ <message>
+ <source>Cannot bind to privileged ports below 1024!
+Using default port 19455.</source>
+ <translation>无法绑定低于 1024的特殊端口 !
+使用默认端口 19455。</translation>
+ </message>
+ <message>
+ <source>&amp;Return only best matching entries for a URL instead
+of all entries for the whole domain</source>
+ <translation>只返回最佳匹配条目的 URL 而不是整个域的所有条目</translation>
+ </message>
+ <message>
+ <source>R&amp;emove all shared encryption keys from active database</source>
+ <translation>移除所有激活数据库共享的加密密钥</translation>
+ </message>
+ <message>
+ <source>The following options can be dangerous. Change them only if you know what you are doing.</source>
+ <translation>以下选项不要修改。除非你知道自己在做什么。</translation>
+ </message>
+ <message>
+ <source>&amp;Return advanced string fields which start with &quot;KPH: &quot;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Automatically creating or updating string fields is not supported.</source>
+ <translation>不支持自动创建或更新字符串字段。</translation>
</message>
</context>
<context>
@@ -1113,10 +1407,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation>密码:</translation>
</message>
<message>
- <source>Length:</source>
- <translation>长度:</translation>
- </message>
- <message>
<source>Character Types</source>
<translation>字符类型</translation>
</message>
@@ -1141,70 +1431,71 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation>去除相似的字符</translation>
</message>
<message>
- <source>Ensure that the password contains characters from every group</source>
- <translation>确保密码包含每种的字符</translation>
- </message>
- <message>
<source>Accept</source>
<translation>接受</translation>
</message>
-</context>
-<context>
- <name>QCommandLineParser</name>
<message>
- <source>Displays version information.</source>
- <translation>显示版本信息</translation>
+ <source>%p%</source>
+ <translation>%p%</translation>
</message>
<message>
- <source>Displays this help.</source>
- <translation>显示帮助信息</translation>
+ <source>strength</source>
+ <translation>强度</translation>
</message>
<message>
- <source>Unknown option &apos;%1&apos;.</source>
- <translation>未知选项 &apos;%1&apos;。</translation>
+ <source>entropy</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Unknown options: %1.</source>
- <translation>未知选项: %1。</translation>
+ <source>&amp;Length:</source>
+ <translation>长度︰</translation>
</message>
<message>
- <source>Missing value after &apos;%1&apos;.</source>
- <translation>在 &apos;%1&apos; 后缺少值。</translation>
+ <source>Pick characters from every group</source>
+ <translation>从每个组选择字符</translation>
</message>
<message>
- <source>Unexpected value after &apos;%1&apos;.</source>
- <translation>&apos;%1&apos; 后有无法识别的值。</translation>
+ <source>Generate</source>
+ <translation>生成</translation>
</message>
<message>
- <source>[options]</source>
- <translation>[选项]</translation>
+ <source>Close</source>
+ <translation>关闭</translation>
</message>
<message>
- <source>Usage: %1</source>
- <translation>已用:%1</translation>
+ <source>Apply</source>
+ <translation>应用</translation>
</message>
<message>
- <source>Options:</source>
- <translation>选项:</translation>
+ <source>Entropy: %1 bit</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Arguments:</source>
- <translation>参数:</translation>
+ <source>Password Quality: %1</source>
+ <translation>密码强度:%1</translation>
+ </message>
+ <message>
+ <source>Poor</source>
+ <translation>差</translation>
</message>
-</context>
-<context>
- <name>QSaveFile</name>
<message>
- <source>Existing file %1 is not writable</source>
- <translation>当前文件%1 不可写</translation>
+ <source>Weak</source>
+ <translation>弱</translation>
</message>
<message>
- <source>Writing canceled by application</source>
- <translation>应用程序取消写入</translation>
+ <source>Good</source>
+ <translation>好</translation>
</message>
<message>
- <source>Partial write. Partition full?</source>
- <translation>写入不完整。磁盘满了吗?</translation>
+ <source>Excellent</source>
+ <translation>优秀</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>Http</source>
+ <translation>Http</translation>
</message>
</context>
<context>
@@ -1244,20 +1535,109 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<context>
<name>SearchWidget</name>
<message>
- <source>Find:</source>
- <translation>查找:</translation>
+ <source>Case Sensitive</source>
+ <translation>区分大小写</translation>
</message>
<message>
- <source>Case sensitive</source>
- <translation>区分大小写</translation>
+ <source>Search</source>
+ <translation>搜索</translation>
</message>
<message>
- <source>Current group</source>
- <translation>当前群组</translation>
+ <source>Find</source>
+ <translation>查找</translation>
</message>
<message>
- <source>Root group</source>
- <translation>根群组</translation>
+ <source>Clear</source>
+ <translation>清除</translation>
+ </message>
+</context>
+<context>
+ <name>Service</name>
+ <message>
+ <source>A shared encryption-key with the name &quot;%1&quot; already exists.
+Do you want to overwrite it?</source>
+ <translation>一个共享的加密密钥,名为&quot;%1&quot;已存在。
+你想要覆盖它吗?</translation>
+ </message>
+ <message>
+ <source>Do you want to update the information in %1 - %2?</source>
+ <translation>你想更新 %1-%2 中的信息吗?</translation>
+ </message>
+ <message>
+ <source>The active database is locked!
+Please unlock the selected database or choose another one which is unlocked.</source>
+ <translation>激活的数据库被锁定 !
+请解锁选定的数据库或选择另一已解锁的数据库。</translation>
+ </message>
+ <message>
+ <source>Successfully removed %1 encryption-%2 from KeePassX/Http Settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No shared encryption-keys found in KeePassHttp Settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The active database does not contain an entry of KeePassHttp Settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Removing stored permissions...</source>
+ <translation>正在删除存储的权限...</translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>中断</translation>
+ </message>
+ <message>
+ <source>Successfully removed permissions from %1 %2.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The active database does not contain an entry with permissions.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: New key association request</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You have received an association request for the above key.
+If you would like to allow it access to your KeePassXC database
+give it a unique name to identify and accept it.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Overwrite existing key?</source>
+ <translation>KeePassXC︰ 覆盖现有的密钥吗?</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Update Entry</source>
+ <translation>KeePassXC︰ 更新条目</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Database locked!</source>
+ <translation>KeePassXC︰ 数据库被锁定 !</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Removed keys from database</source>
+ <translation>KeePassXC︰ 从数据库中删除键</translation>
+ </message>
+ <message>
+ <source>KeePassXC: No keys found</source>
+ <translation>KeePassXC︰ 未找到键</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Settings not available!</source>
+ <translation>KeePassXC︰ 设置不可用 !</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Removed permissions</source>
+ <translation>KeePassXC︰ 已删除的权限</translation>
+ </message>
+ <message>
+ <source>KeePassXC: No entry with permissions found!</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
@@ -1282,10 +1662,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation>记住最近的数据库</translation>
</message>
<message>
- <source>Open previous databases on startup</source>
- <translation>在启动时打开最近的数据库</translation>
- </message>
- <message>
<source>Automatically save on exit</source>
<translation>离开后自动保存</translation>
</message>
@@ -1326,12 +1702,20 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation>记住最近的秘钥文件</translation>
</message>
<message>
- <source>Hide window to system tray instead of App Exit</source>
- <translation type="unfinished"/>
+ <source>Load previous databases on startup</source>
+ <translation>在启动时加载最近的数据库</translation>
</message>
<message>
- <source>Hide window to system tray on App start</source>
- <translation type="unfinished"/>
+ <source>Automatically reload the database when modified externally</source>
+ <translation>当外部修改时自动重新加载数据库</translation>
+ </message>
+ <message>
+ <source>Hide window to system tray instead of app exit</source>
+ <translation>退出时将窗口最小化至任务栏</translation>
+ </message>
+ <message>
+ <source>Minimize window at application startup</source>
+ <translation>在应用程序启动时窗口最小化</translation>
</message>
</context>
<context>
@@ -1356,6 +1740,14 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Always ask before performing auto-type</source>
<translation>在执行自动输入前询问</translation>
</message>
+ <message>
+ <source>Lock databases after minimizing the window</source>
+ <translation>在最小化窗口后锁定数据库</translation>
+ </message>
+ <message>
+ <source>Don&apos;t require password repeat when it is visible</source>
+ <translation>可见时不需要重复输入密码</translation>
+ </message>
</context>
<context>
<name>UnlockDatabaseWidget</name>
@@ -1374,14 +1766,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<context>
<name>main</name>
<message>
- <source>KeePassX - cross-platform password manager</source>
- <translation>KeePassX - 跨平台密码管理软件</translation>
- </message>
- <message>
- <source>filename of the password database to open (*.kdbx)</source>
- <translation>打开密码数据库文件名(*.kdbx)</translation>
- </message>
- <message>
<source>path to a custom config file</source>
<translation>自定义配置文件路径</translation>
</message>
@@ -1389,5 +1773,17 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>key file of the database</source>
<translation>数据库秘钥文件</translation>
</message>
+ <message>
+ <source>KeePassXC - cross-platform password manager</source>
+ <translation>KeePassXC - 跨平台密码管理软件</translation>
+ </message>
+ <message>
+ <source>read password of the database from stdin</source>
+ <translation>从标准输入读取数据库的密码</translation>
+ </message>
+ <message>
+ <source>filenames of the password databases to open (*.kdbx)</source>
+ <translation>打开密码数据库文件名(*.kdbx)</translation>
+ </message>
</context>
</TS> \ No newline at end of file
diff --git a/setup/gui/keepassxc.desktop b/snap/gui/keepassxc.desktop
index bad5a8735..bad5a8735 100644
--- a/setup/gui/keepassxc.desktop
+++ b/snap/gui/keepassxc.desktop
diff --git a/snapcraft.yaml b/snapcraft.yaml
index 5a97a38a1..c0d5919f5 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -1,5 +1,5 @@
name: keepassxc
-version: 2.1.0
+version: 2.1.3
grade: stable
summary: community driven port of the windows application “Keepass Password Safe”
description: |
@@ -11,7 +11,7 @@ confinement: strict
apps:
keepassxc:
command: desktop-launch keepassxc
- plugs: [unity7, opengl, gsettings, home]
+ plugs: [unity7, opengl, gsettings, home, network, network-bind]
parts:
keepassxc:
@@ -21,6 +21,7 @@ parts:
- -DCMAKE_BUILD_TYPE=Release
- -DWITH_TESTS=OFF
- -DWITH_XC_AUTOTYPE=ON
+ - -DWITH_XC_HTTP=ON
build-packages:
- g++
- libgcrypt20-dev
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e12873fa2..9935985cc 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -204,7 +204,24 @@ if (UNIX AND NOT APPLE)
target_link_libraries(keepassx_core Qt5::DBus)
endif()
-add_executable(${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES_MAINEXE})
+if(MINGW)
+ string(REPLACE "." ";" VERSION_LIST ${KEEPASSXC_VERSION})
+ list(GET VERSION_LIST 0 KEEPASSXC_VERSION_MAJOR)
+ list(GET VERSION_LIST 1 KEEPASSXC_VERSION_MINOR)
+ list(GET VERSION_LIST 2 KEEPASSXC_VERSION_PATCH)
+
+ include(GenerateProductVersion)
+ generate_product_version(
+ WIN32_ProductVersionFiles
+ NAME "KeePassXC"
+ COMPANY_NAME "KeePassXC Team"
+ VERSION_MAJOR ${KEEPASSXC_VERSION_MAJOR}
+ VERSION_MINOR ${KEEPASSXC_VERSION_MINOR}
+ VERSION_PATCH ${KEEPASSXC_VERSION_PATCH}
+ )
+endif()
+
+add_executable(${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES_MAINEXE} ${WIN32_ProductVersionFiles})
target_link_libraries(${PROGNAME} keepassx_core)
set_target_properties(${PROGNAME} PROPERTIES ENABLE_EXPORTS ON)
diff --git a/src/gui/DatabaseTabWidget.cpp b/src/gui/DatabaseTabWidget.cpp
index c425332f7..3168fc383 100644
--- a/src/gui/DatabaseTabWidget.cpp
+++ b/src/gui/DatabaseTabWidget.cpp
@@ -21,6 +21,7 @@
#include <QLockFile>
#include <QSaveFile>
#include <QTabWidget>
+#include <QPushButton>
#include "autotype/AutoType.h"
#include "core/Config.h"
@@ -157,21 +158,29 @@ void DatabaseTabWidget::openDatabase(const QString& fileName, const QString& pw,
// for now silently ignore if we can't create a lock file
// due to lack of permissions
if (lockFile->error() != QLockFile::PermissionError) {
- QMessageBox::StandardButton result = MessageBox::question(this, tr("Open database"),
- tr("The database you are trying to open is locked by another instance of KeePassXC.\n"
- "Do you want to open it anyway? Alternatively the database is opened read-only."),
- QMessageBox::Yes | QMessageBox::No);
-
- if (result == QMessageBox::No) {
+ QMessageBox msgBox;
+ msgBox.setWindowTitle(tr("Database already opened"));
+ msgBox.setText(tr("The database you are trying to open is locked by another instance of KeePassXC.\n\n"
+ "Do you want to open it anyway?"));
+ msgBox.setIcon(QMessageBox::Question);
+ msgBox.addButton(QMessageBox::Yes);
+ msgBox.addButton(QMessageBox::No);
+ auto readOnlyButton = msgBox.addButton(tr("Open read-only"), QMessageBox::NoRole);
+ msgBox.setDefaultButton(readOnlyButton);
+ msgBox.setEscapeButton(QMessageBox::No);
+ auto result = msgBox.exec();
+
+ if (msgBox.clickedButton() == readOnlyButton) {
dbStruct.readOnly = true;
delete lockFile;
lockFile = nullptr;
- }
- else {
+ } else if (result == QMessageBox::Yes) {
// take over the lock file if possible
if (lockFile->removeStaleLockFile()) {
lockFile->tryLock();
}
+ } else {
+ return;
}
}
}
diff --git a/src/gui/DatabaseWidget.cpp b/src/gui/DatabaseWidget.cpp
index 1ccf35dd4..8a7b2cf3b 100644
--- a/src/gui/DatabaseWidget.cpp
+++ b/src/gui/DatabaseWidget.cpp
@@ -1061,8 +1061,7 @@ void DatabaseWidget::reloadDatabaseFile()
// Merge the old database into the new one
m_db->setEmitModified(false);
db->merge(m_db);
- }
- else {
+ } else {
// Since we are accepting the new file as-is, internally mark as unmodified
// TODO: when saving is moved out of DatabaseTabWidget, this should be replaced
m_databaseModified = false;
@@ -1086,16 +1085,9 @@ void DatabaseWidget::reloadDatabaseFile()
restoreGroupEntryFocus(groupBeforeReload, entryBeforeReload);
}
- else {
- MessageBox::critical(this, tr("Autoreload Failed"),
- tr("Could not parse or unlock the new database file while attempting"
- " to autoreload this database."));
- }
- }
- else {
+ } else {
MessageBox::critical(this, tr("Autoreload Failed"),
- tr("Could not open the new database file while attempting to autoreload"
- " this database."));
+ tr("Could not open the new database file while attempting to autoreload this database."));
}
// Rewatch the database file
diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
index a7347b35a..b0e1a1925 100644
--- a/src/gui/MainWindow.cpp
+++ b/src/gui/MainWindow.cpp
@@ -282,6 +282,10 @@ MainWindow::MainWindow()
connect(m_ui->actionAbout, SIGNAL(triggered()), SLOT(showAboutDialog()));
+#ifdef Q_OS_MAC
+ setUnifiedTitleAndToolBarOnMac(true);
+#endif
+
updateTrayIcon();
}
@@ -559,7 +563,7 @@ void MainWindow::closeEvent(QCloseEvent* event)
if (minimizeOnClose && !appExitCalled)
{
event->ignore();
- toggleWindow();
+ hideWindow();
if (config()->get("security/lockdatabaseminimize").toBool()) {
m_ui->tabWidget->lockDatabases();
@@ -724,22 +728,27 @@ void MainWindow::trayIconTriggered(QSystemTrayIcon::ActivationReason reason)
}
}
+void MainWindow::hideWindow()
+{
+ setWindowState(windowState() | Qt::WindowMinimized);
+ QTimer::singleShot(0, this, SLOT(hide()));
+
+ if (config()->get("security/lockdatabaseminimize").toBool()) {
+ m_ui->tabWidget->lockDatabases();
+ }
+}
+
void MainWindow::toggleWindow()
{
if ((QApplication::activeWindow() == this) && isVisible() && !isMinimized()) {
- setWindowState(windowState() | Qt::WindowMinimized);
- QTimer::singleShot(0, this, SLOT(hide()));
-
- if (config()->get("security/lockdatabaseminimize").toBool()) {
- m_ui->tabWidget->lockDatabases();
- }
+ hideWindow();
} else {
ensurePolished();
setWindowState(windowState() & ~Qt::WindowMinimized);
show();
raise();
activateWindow();
-
+
#if defined(Q_OS_LINUX) && ! defined(QT_NO_DBUS)
// re-register global D-Bus menu (needed on Ubuntu with Unity)
// see https://github.com/keepassxreboot/keepassxc/issues/271
diff --git a/src/gui/MainWindow.h b/src/gui/MainWindow.h
index ab9924a75..ff92260f4 100644
--- a/src/gui/MainWindow.h
+++ b/src/gui/MainWindow.h
@@ -68,6 +68,7 @@ private Q_SLOTS:
void rememberOpenDatabases(const QString& filePath);
void applySettingsChanges();
void trayIconTriggered(QSystemTrayIcon::ActivationReason reason);
+ void hideWindow();
void toggleWindow();
void lockDatabasesAfterInactivity();
void repairDatabase();
diff --git a/src/http/OptionDialog.ui b/src/http/OptionDialog.ui
index ab8047db4..c9aae49ef 100644
--- a/src/http/OptionDialog.ui
+++ b/src/http/OptionDialog.ui
@@ -45,7 +45,7 @@ This is required for accessing your databases from ChromeIPass or PassIFox</stri
<item>
<widget class="QCheckBox" name="bestMatchOnly">
<property name="text">
- <string>&amp;Return only best matching entries for an URL instead
+ <string>&amp;Return only best matching entries for a URL instead
of all entries for the whole domain</string>
</property>
</widget>
@@ -82,7 +82,7 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
<item>
<widget class="QPushButton" name="removeSharedEncryptionKeys">
<property name="text">
- <string>R&amp;emove all shared encryption-keys from active database</string>
+ <string>R&amp;emove all shared encryption keys from active database</string>
</property>
</widget>
</item>
@@ -148,7 +148,7 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
<string notr="true">color: rgb(255, 0, 0);</string>
</property>
<property name="text">
- <string>Activate the following only, if you know what you are doing!</string>
+ <string>The following options can be dangerous. Change them only if you know what you are doing.</string>
</property>
</widget>
</item>
@@ -186,14 +186,14 @@ Only entries with the same scheme (http://, https://, ftp://, ...) are returned<
<item>
<widget class="QCheckBox" name="supportKphFields">
<property name="text">
- <string>&amp;Return also advanced string fields which start with &quot;KPH: &quot;</string>
+ <string>&amp;Return advanced string fields which start with &quot;KPH: &quot;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
- <string>Automatic creates or updates are not supported for string fields!</string>
+ <string>Automatically creating or updating string fields is not supported.</string>
</property>
<property name="indent">
<number>30</number>
diff --git a/src/http/Protocol.cpp b/src/http/Protocol.cpp
index 40a1445c0..bcb30f0b1 100644
--- a/src/http/Protocol.cpp
+++ b/src/http/Protocol.cpp
@@ -110,7 +110,7 @@ static QByteArray encrypt2(const QByteArray & data, SymmetricCipherGcrypt & ciph
//Encrypt
QByteArray buffer = data + QByteArray(paddingSize, paddingSize);
cipher.reset();
- cipher.processInPlace(buffer);
+ Q_UNUSED(cipher.processInPlace(buffer));
return buffer;
}
diff --git a/src/http/qhttp/http-parser/http_parser.h b/src/http/qhttp/http-parser/http_parser.h
index 45c72a078..005db96ec 100644
--- a/src/http/qhttp/http-parser/http_parser.h
+++ b/src/http/qhttp/http-parser/http_parser.h
@@ -91,7 +91,7 @@ typedef int (*http_cb) (http_parser*);
/* Status Codes */
-#define HTTP_STATUS_MAP(XX) \
+#define HTTPPARSER_HTTP_STATUS_MAP(XX) \
XX(100, CONTINUE, Continue) \
XX(101, SWITCHING_PROTOCOLS, Switching Protocols) \
XX(102, PROCESSING, Processing) \
@@ -150,12 +150,12 @@ typedef int (*http_cb) (http_parser*);
XX(507, INSUFFICIENT_STORAGE, Insufficient Storage) \
XX(508, LOOP_DETECTED, Loop Detected) \
XX(510, NOT_EXTENDED, Not Extended) \
- XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required) \
+ XX(511, NETWORK_AUTHENTICATION_REQUIRED, Network Authentication Required)
enum http_status
{
#define XX(num, name, string) HTTP_STATUS_##name = num,
- HTTP_STATUS_MAP(XX)
+ HTTPPARSER_HTTP_STATUS_MAP(XX)
#undef XX
};
diff --git a/src/http/qhttp/private/httpreader.hxx b/src/http/qhttp/private/httpreader.hxx
index 174b31a95..338ed2a2f 100644
--- a/src/http/qhttp/private/httpreader.hxx
+++ b/src/http/qhttp/private/httpreader.hxx
@@ -41,7 +41,7 @@ public:
if ( !icollectRequired ) // not allowed to collect data
return false;
- int newLength = icollectedData.length() + (int) length;
+ int newLength = icollectedData.length() + static_cast<int>(length);
if ( icollectCapacity > 0 && newLength > icollectCapacity )
return false; // the capacity is full
diff --git a/src/http/qhttp/private/qhttpclient_private.hpp b/src/http/qhttp/private/qhttpclient_private.hpp
index 3206da5f3..9c6cd0989 100644
--- a/src/http/qhttp/private/qhttpclient_private.hpp
+++ b/src/http/qhttp/private/qhttpclient_private.hpp
@@ -112,7 +112,7 @@ protected:
void onReadyRead() {
while ( isocket.bytesAvailable() > 0 ) {
char buffer[4097] = {0};
- size_t readLength = (size_t) isocket.readRaw(buffer, 4096);
+ size_t readLength = static_cast<size_t>(isocket.readRaw(buffer, 4096));
parse(buffer, readLength);
}
diff --git a/src/http/qhttp/private/qhttpserver_private.hpp b/src/http/qhttp/private/qhttpserver_private.hpp
index 93c96d2e1..e7c081af4 100644
--- a/src/http/qhttp/private/qhttpserver_private.hpp
+++ b/src/http/qhttp/private/qhttpserver_private.hpp
@@ -42,7 +42,7 @@ public:
// if it's a QLocalServer
virtual void incomingConnection(quintptr socketDescriptor) {
- iserver->incomingConnection((qintptr) socketDescriptor);
+ iserver->incomingConnection(static_cast<qintptr>(socketDescriptor));
}
};
diff --git a/src/http/qhttp/private/qhttpserverconnection_private.hpp b/src/http/qhttp/private/qhttpserverconnection_private.hpp
index fd4475864..53b349fa9 100644
--- a/src/http/qhttp/private/qhttpserverconnection_private.hpp
+++ b/src/http/qhttp/private/qhttpserverconnection_private.hpp
@@ -83,7 +83,7 @@ public:
void onReadyRead() {
while ( isocket.bytesAvailable() > 0 ) {
char buffer[4097] = {0};
- size_t readLength = (size_t) isocket.readRaw(buffer, 4096);
+ size_t readLength = static_cast<size_t>(isocket.readRaw(buffer, 4096));
parse(buffer, readLength);
}
diff --git a/src/http/qhttp/qhttpabstracts.cpp b/src/http/qhttp/qhttpabstracts.cpp
index 1b106e51f..a29a90b9f 100644
--- a/src/http/qhttp/qhttpabstracts.cpp
+++ b/src/http/qhttp/qhttpabstracts.cpp
@@ -8,7 +8,7 @@ namespace qhttp {
# error "to compile QHttp classes, Qt 5.0 or later is needed."
#endif
-#define HTTP_STATUS_MAP(XX) \
+#define QHTTPABSTRACTS_HTTP_STATUS_MAP(XX) \
XX(100, "Continue") \
XX(101, "Switching Protocols") \
/* RFC 2518) obsoleted by RFC 4918 */ \
@@ -78,7 +78,7 @@ static struct {
int code;
const char* message;
} g_status_codes[] {
- HTTP_STATUS_MAP(PATCH_STATUS_CODES)
+ QHTTPABSTRACTS_HTTP_STATUS_MAP(PATCH_STATUS_CODES)
};
#undef PATCH_STATUS_CODES
diff --git a/src/main.cpp b/src/main.cpp
index 9f912a644..0618cefae 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -18,7 +18,6 @@
#include <QCommandLineParser>
#include <QFile>
#include <QTextStream>
-#include <QtGlobal>
#include "config-keepassx.h"
#include "core/Config.h"
@@ -45,10 +44,7 @@ int main(int argc, char** argv)
Tools::disableCoreDumps();
#endif
Tools::setupSearchPaths();
-
-#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
- QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
-#endif
+
Application app(argc, argv);
Application::setApplicationName("keepassxc");
Application::setApplicationVersion(KEEPASSX_VERSION);
@@ -68,7 +64,7 @@ int main(int argc, char** argv)
QCommandLineParser parser;
parser.setApplicationDescription(QCoreApplication::translate("main", "KeePassXC - cross-platform password manager"));
- parser.addPositionalArgument("filename", QCoreApplication::translate("main", "filename(s) of the password database(s) to open (*.kdbx)"), "[filename(s)]");
+ parser.addPositionalArgument("filename", QCoreApplication::translate("main", "filenames of the password databases to open (*.kdbx)"), "[filename(s)]");
QCommandLineOption configOption("config",
QCoreApplication::translate("main", "path to a custom config file"),
diff --git a/src/zxcvbn/zxcvbn.cpp b/src/zxcvbn/zxcvbn.cpp
index 25cbe5440..c999adfae 100644
--- a/src/zxcvbn/zxcvbn.cpp
+++ b/src/zxcvbn/zxcvbn.cpp
@@ -496,7 +496,7 @@ typedef struct
uint8_t LeetCnv[sizeof L33TCnv / LEET_NORM_MAP_SIZE + 1];
/* uint8_t LeetChr[3]; */
uint8_t First;
- uint8_t PossChars[48];
+ uint8_t PossChars[49];
} DictWork_t;
/**********************************************************************************