Merge remote-tracking branch 'origin/master' into develop

# Conflicts:
#	src/core/Group.cpp
This commit is contained in:
Jonathan White 2017-10-01 11:10:10 -04:00
commit 14e3d9d576
No known key found for this signature in database
GPG Key ID: 440FC65F2E0C6E01
56 changed files with 13872 additions and 6723 deletions

View File

@ -1,3 +1,17 @@
2.2.1 (2017-10-01)
=========================
- Corrected multiple snap issues [#934, #1011]
- Corrected multiple custom icon issues [#708, #719, #994]
- Corrected multiple Yubikey issues [#880]
- Fixed single instance preventing load on occasion [#997]
- Keep entry history when merging databases [#970]
- Prevent data loss if passwords were mismatched [#1007]
- Fixed crash after merge [#941]
- Added configurable auto-type default delay [#703]
- Unlock database dialog window comes to front [#663]
- Translation and compiling fixes
2.2.0 (2017-06-23)
=========================

View File

@ -49,7 +49,7 @@ set(CMAKE_AUTOUIC ON)
set(KEEPASSXC_VERSION_MAJOR "2")
set(KEEPASSXC_VERSION_MINOR "2")
set(KEEPASSXC_VERSION_PATCH "0")
set(KEEPASSXC_VERSION_PATCH "1")
set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}")
if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
@ -225,6 +225,8 @@ find_package(Gcrypt 1.6.0 REQUIRED)
find_package(ZLIB REQUIRED)
set(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR})
check_cxx_source_compiles("
#include <zlib.h>

File diff suppressed because it is too large Load Diff

View File

@ -3,129 +3,94 @@
<name>AboutDialog</name>
<message>
<source>About KeePassXC</source>
<translation type="unfinished"/>
<translation>Om KeePassXC</translation>
</message>
<message>
<source>About</source>
<translation>Om</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot;&gt;&lt;span style=&quot;text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;style&gt;li {font-size: 10pt}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Project Maintainers:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;droidmonkey&lt;/li&gt;&lt;li&gt;phoerious&lt;/li&gt;&lt;li&gt;TheZ3ro&lt;/li&gt;&lt;li&gt;louib&lt;/li&gt;&lt;li&gt;Weslly&lt;/li&gt;&lt;li&gt;debfx (KeePassX)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;body&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;debfx (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;BlueIce (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;droidmonkey&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;phoerious&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;TheZ3ro&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;louib&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;weslly&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;keithbennett (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;Typz (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;denk-mal (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;kylemanna (YubiKey)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;seatedscribe (CSV Importer)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;pgalves (Inline Messages)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Translations:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Chinese:&lt;/span&gt; Biggulu, ligyxy, BestSteve&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Czech:&lt;/span&gt; pavelb, JosefVitu&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Dutch:&lt;/span&gt; Vistaus, KnooL, apie&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Finnish:&lt;/span&gt; MawKKe&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;French:&lt;/span&gt; Scrat15, frgnca, gilbsgilbs, gtalbot, iannick, kyodev, logut&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;German:&lt;/span&gt; Calyrx, DavidHamburg, antsas, codejunky, jensrutschmann, montilo, omnisome4, origin_de, pcrcoding, phoerious, rgloor, vlenzer&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Greek:&lt;/span&gt; nplatis&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Italian:&lt;/span&gt; TheZ3ro, FranzMari, Mte90, tosky&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Kazakh:&lt;/span&gt; sotrud_nik&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Lithuanian:&lt;/span&gt; Moo&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Polish:&lt;/span&gt; konradmb, mrerexx&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Portuguese: &lt;/span&gt;vitor895, weslly, American_Jesus, mihai.ile&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Russian:&lt;/span&gt; vsvyatski, KekcuHa, wkill95&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Spanish:&lt;/span&gt; EdwardNavarro, antifaz, piegope, pquin, vsvyatski&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Swedish:&lt;/span&gt; henziger&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;See Contributions on GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>Bidragsydere</translation>
</message>
<message>
<source>Debug Info</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Include the following information whenever you report a bug:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>Fejlsøgningsinformation</translation>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"/>
<translation>Kopier til udklipsholder</translation>
</message>
<message>
<source>Version %1
</source>
<translation type="unfinished"/>
<translation>Version %1
</translation>
</message>
<message>
<source>Revision: %1</source>
<translation type="unfinished"/>
<translation>Revision: %1</translation>
</message>
<message>
<source>Libraries:</source>
<translation type="unfinished"/>
<translation>Biblioteker:</translation>
</message>
<message>
<source>Operating system: %1
CPU architecture: %2
Kernel: %3 %4</source>
<translation type="unfinished"/>
<translation>Operativsystem: %1
CPU-arkitektur: %2
Kerne: %3 %4</translation>
</message>
<message>
<source>Enabled extensions:</source>
<translation type="unfinished"/>
<translation>Aktiverede udvidelser:</translation>
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
<translation>Rapportér fejl : &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassXC distribueres under betingelserne i GNU General Public License (GPL) version 2 eller (efter eget valg) version 3.</translation>
</message>
<message>
<source>Project Maintainers:</source>
<translation>Projektet vedligeholdes af:</translation>
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
<translation>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;Se bidrag på GitHub&lt;/a&gt;</translation>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
<translation>Inkludér følgende information når du indrapporterer en fejl:</translation>
</message>
</context>
<context>
<name>AccessControlDialog</name>
<message>
<source>Remember this decision</source>
<translation type="unfinished"/>
<translation>Husk dette valg</translation>
</message>
<message>
<source>Allow</source>
<translation type="unfinished"/>
<translation>Tillad</translation>
</message>
<message>
<source>Deny</source>
<translation type="unfinished"/>
<translation>Afvis</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"/>
<translation>%1 har forespurgt adgang til kodeord tilhørende disse element(er).
Vælg venligst hvorvidt du vil tillade denne adgang.</translation>
</message>
<message>
<source>KeePassXC HTTP Confirm Access</source>
<translation type="unfinished"/>
<translation>KeePassXC HTTP Bekræft Adgang</translation>
</message>
</context>
<context>
@ -136,7 +101,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Auto-Type - KeePassXC</source>
<translation type="unfinished"/>
<translation>Auto-Indsæt - KeePassXC</translation>
</message>
</context>
<context>
@ -162,7 +127,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Auto-Type - KeePassXC</source>
<translation type="unfinished"/>
<translation>Auto-Indsæt - KeePassXC</translation>
</message>
</context>
<context>
@ -231,57 +196,57 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Refresh</source>
<translation type="unfinished"/>
<translation>Genopfrisk</translation>
</message>
<message>
<source>Empty password</source>
<translation type="unfinished"/>
<translation>Tomt kodeord</translation>
</message>
<message>
<source>Changing master key failed: no YubiKey inserted.</source>
<translation type="unfinished"/>
<translation>Kunne ikke skifte hovednøgle: ingen YubiKey indsat.</translation>
</message>
</context>
<context>
<name>CloneDialog</name>
<message>
<source>Clone Options</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"/>
<translation>Kloningsindstillinger</translation>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"/>
<translation>Udskift brugernavn og kodeord med referencer</translation>
</message>
<message>
<source>Copy history</source>
<translation type="unfinished"/>
<translation>Kopier historik</translation>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation>Tilføj &apos; - Clone&apos; til titel</translation>
</message>
</context>
<context>
<name>CsvImportWidget</name>
<message>
<source>Import CSV fields</source>
<translation type="unfinished"/>
<translation>Importér CSV-felter</translation>
</message>
<message>
<source>filename</source>
<translation type="unfinished"/>
<translation>filnavn</translation>
</message>
<message>
<source>size, rows, columns</source>
<translation type="unfinished"/>
<translation>størrelse, rækker, kolonner</translation>
</message>
<message>
<source>Encoding</source>
<translation type="unfinished"/>
<translation>Encoding</translation>
</message>
<message>
<source>Codec</source>
<translation type="unfinished"/>
<translation>Codec</translation>
</message>
<message>
<source>Text is qualified by</source>
@ -289,11 +254,11 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Fields are separated by</source>
<translation type="unfinished"/>
<translation>Felter separeres med</translation>
</message>
<message>
<source>Comments start with</source>
<translation type="unfinished"/>
<translation>Kommentarer starter med</translation>
</message>
<message>
<source>First record has field names</source>
@ -309,39 +274,39 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Preview</source>
<translation type="unfinished"/>
<translation>Forhåndsvisning</translation>
</message>
<message>
<source>Column layout</source>
<translation type="unfinished"/>
<translation>Kolonnelayout</translation>
</message>
<message>
<source>Not present in CSV file</source>
<translation type="unfinished"/>
<translation>Ikke til stede i CSV-fil</translation>
</message>
<message>
<source>Empty fieldname </source>
<translation type="unfinished"/>
<translation>Tomt feltnavn</translation>
</message>
<message>
<source>column </source>
<translation type="unfinished"/>
<translation>kolonne</translation>
</message>
<message>
<source>Imported from CSV file</source>
<translation type="unfinished"/>
<translation>Importeret fra CSV-fil</translation>
</message>
<message>
<source>Original data: </source>
<translation type="unfinished"/>
<translation>Original data:</translation>
</message>
<message>
<source>Error(s) detected in CSV file !</source>
<translation type="unfinished"/>
<translation>Fejl detekteret i CSV-fil !</translation>
</message>
<message>
<source> more messages skipped]</source>
<translation type="unfinished"/>
<translation>flere beskeder blev sprunget over]</translation>
</message>
<message>
<source>Error</source>
@ -357,7 +322,7 @@ Please select whether you want to allow access.</source>
<name>CsvImportWizard</name>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
<translation>Importér CSV-fil</translation>
</message>
<message>
<source>Error</source>
@ -372,15 +337,15 @@ Please select whether you want to allow access.</source>
<name>CsvParserModel</name>
<message>
<source> byte, </source>
<translation type="unfinished"/>
<translation>byte,</translation>
</message>
<message>
<source> rows, </source>
<translation type="unfinished"/>
<translation>rækker,</translation>
</message>
<message>
<source> columns</source>
<translation type="unfinished"/>
<translation>kolonner</translation>
</message>
</context>
<context>
@ -423,7 +388,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Refresh</source>
<translation type="unfinished"/>
<translation>Genopfrisk</translation>
</message>
<message>
<source>Challenge Response:</source>
@ -503,19 +468,19 @@ Du kan gemme den nu.</translation>
</message>
<message>
<source>Use recycle bin</source>
<translation type="unfinished"/>
<translation>Brug papirkurv</translation>
</message>
<message>
<source>AES: 256 Bit (default)</source>
<translation type="unfinished"/>
<translation>AES: 256 Bit (standard)</translation>
</message>
<message>
<source>Twofish: 256 Bit</source>
<translation type="unfinished"/>
<translation>Twofish: 256 Bit</translation>
</message>
<message>
<source>Algorithm:</source>
<translation type="unfinished"/>
<translation>Algoritme:</translation>
</message>
</context>
<context>
@ -630,38 +595,41 @@ Kassér ændringer og luk alligevel?</translation>
</message>
<message>
<source>Merge database</source>
<translation type="unfinished"/>
<translation>Flet database</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 type="unfinished"/>
<translation>Databasen som du prøver at gemme er låst af en anden instans af KeePassXC.
Ønsker du alligevel at gemme den?</translation>
</message>
<message>
<source>Passwords</source>
<translation type="unfinished"/>
<translation>Kodeord</translation>
</message>
<message>
<source>Database already opened</source>
<translation type="unfinished"/>
<translation>Database er allerede åben</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>Databasen som du prøver at gemme er låst af en anden instans af KeePassXC.
Ønsker du alligevel at åbne den?</translation>
</message>
<message>
<source>Open read-only</source>
<translation type="unfinished"/>
<translation>Åbn skrivebeskyttet</translation>
</message>
<message>
<source>File opened in read only mode.</source>
<translation type="unfinished"/>
<translation>Fil åbnet i skrivebeskyttet tilstand</translation>
</message>
<message>
<source>Open CSV file</source>
<translation type="unfinished"/>
<translation>Åbn CSV-fil</translation>
</message>
</context>
<context>
@ -708,7 +676,7 @@ Do you want to open it anyway?</source>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
<translation>Flyt post til papirkurven?</translation>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
@ -716,7 +684,7 @@ Do you want to open it anyway?</source>
</message>
<message>
<source>Searching...</source>
<translation type="unfinished"/>
<translation>Søger...</translation>
</message>
<message>
<source>No current database.</source>
@ -1091,10 +1059,6 @@ Do you want to open it anyway?</source>
<source>Select Image</source>
<translation>Vælg Billede</translation>
</message>
<message>
<source>Error</source>
<translation>Fejl</translation>
</message>
<message>
<source>Download favicon</source>
<translation type="unfinished"/>
@ -1123,6 +1087,14 @@ Do you want to open it anyway?</source>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"/>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1330,17 +1302,14 @@ Do you want to open it anyway?</source>
<translation>Kan ikke beregne hovednøgle</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation>Den valgte fil er en gammel KeePass 1 databasefil (.kdb).
Du kan importere den ved at klikke Database &gt; &apos;Importér KeePass 1 database&apos;.
Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den importerede database med den gamle KeePassX 0.4 version.</translation>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"/>
</message>
</context>
@ -1362,6 +1331,10 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1417,10 +1390,6 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>&amp;Recent databases</source>
<translation type="unfinished"/>
</message>
<message>
<source>He&amp;lp</source>
<translation type="unfinished"/>
</message>
<message>
<source>E&amp;ntries</source>
<translation type="unfinished"/>
@ -1445,10 +1414,6 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>&amp;About</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Save database</source>
<translation type="unfinished"/>
@ -1489,14 +1454,6 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>&amp;Delete group</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Database settings</source>
<translation type="unfinished"/>
@ -1509,10 +1466,6 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>Timed one-time password</source>
<translation type="unfinished"/>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"/>
@ -1561,14 +1514,6 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>&amp;Notes</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Password Generator</source>
<translation type="unfinished"/>
@ -1589,14 +1534,6 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>&amp;Tools</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation>Importér KeePass 1 database</translation>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"/>
@ -1613,6 +1550,42 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -2159,6 +2132,18 @@ give it a unique name to identify and accept it.</source>
<source>Always ask before performing Auto-Type</source>
<translation type="unfinished"/>
</message>
<message>
<source>Auto-Type delay</source>
<translation type="unfinished"/>
</message>
<message>
<source> ms</source>
<translation type="unfinished"/>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@ -2198,6 +2183,14 @@ give it a unique name to identify and accept it.</source>
<source>Lock databases when session is locked or lid is closed</source>
<translation type="unfinished"/>
</message>
<message>
<source>Privacy</source>
<translation type="unfinished"/>
</message>
<message>
<source>Use Google as fallback for downloading website icons</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SetupTotpDialog</name>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -210,10 +210,6 @@ Please select whether you want to allow access.</source>
<source>Clone Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"></translation>
@ -222,6 +218,10 @@ Please select whether you want to allow access.</source>
<source>Copy history</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CsvImportWidget</name>
@ -1055,10 +1055,6 @@ Do you want to open it anyway?</source>
<source>Select Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Download favicon</source>
<translation type="unfinished"></translation>
@ -1087,6 +1083,14 @@ Do you want to open it anyway?</source>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1294,14 +1298,14 @@ Do you want to open it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; &apos;Import KeePass 1 database&apos;.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; &apos;Import KeePass 1 database...&apos;.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -1323,6 +1327,10 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1378,10 +1386,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Recent databases</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>He&amp;lp</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>E&amp;ntries</source>
<translation type="unfinished"></translation>
@ -1406,10 +1410,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Open database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Save database</source>
<translation type="unfinished"></translation>
@ -1450,14 +1450,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Delete group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Change &amp;master key</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Database settings</source>
<translation type="unfinished"></translation>
@ -1470,10 +1462,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Timed one-time password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"></translation>
@ -1522,14 +1510,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Notes</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Re&amp;pair database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password Generator</source>
<translation type="unfinished"></translation>
@ -1550,14 +1530,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Tools</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"></translation>
@ -1574,6 +1546,42 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import CSV file...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -2128,6 +2136,10 @@ give it a unique name to identify and accept it.</source>
<source> ms</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,73 +9,14 @@
<source>About</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot;&gt;&lt;span style=&quot;text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;style&gt;li {font-size: 10pt}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Project Maintainers:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;droidmonkey&lt;/li&gt;&lt;li&gt;phoerious&lt;/li&gt;&lt;li&gt;TheZ3ro&lt;/li&gt;&lt;li&gt;louib&lt;/li&gt;&lt;li&gt;Weslly&lt;/li&gt;&lt;li&gt;debfx (KeePassX)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;body&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;debfx (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;BlueIce (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;droidmonkey&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;phoerious&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;TheZ3ro&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;louib&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;weslly&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;keithbennett (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;Typz (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;denk-mal (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;kylemanna (YubiKey)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;seatedscribe (CSV Importer)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;pgalves (Inline Messages)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Translations:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Chinese:&lt;/span&gt; Biggulu, ligyxy, BestSteve&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Czech:&lt;/span&gt; pavelb, JosefVitu&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Dutch:&lt;/span&gt; Vistaus, KnooL, apie&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Finnish:&lt;/span&gt; MawKKe&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;French:&lt;/span&gt; Scrat15, frgnca, gilbsgilbs, gtalbot, iannick, kyodev, logut&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;German:&lt;/span&gt; Calyrx, DavidHamburg, antsas, codejunky, jensrutschmann, montilo, omnisome4, origin_de, pcrcoding, phoerious, rgloor, vlenzer&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Greek:&lt;/span&gt; nplatis&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Italian:&lt;/span&gt; TheZ3ro, FranzMari, Mte90, tosky&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Kazakh:&lt;/span&gt; sotrud_nik&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Lithuanian:&lt;/span&gt; Moo&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Polish:&lt;/span&gt; konradmb, mrerexx&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Portuguese: &lt;/span&gt;vitor895, weslly, American_Jesus, mihai.ile&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Russian:&lt;/span&gt; vsvyatski, KekcuHa, wkill95&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Spanish:&lt;/span&gt; EdwardNavarro, antifaz, piegope, pquin, vsvyatski&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Swedish:&lt;/span&gt; henziger&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;See Contributions on GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Debug Info</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Include the following information whenever you report a bug:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"/>
@ -103,6 +44,26 @@ Kernel: %3 %4</source>
<source>Enabled extensions:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Project Maintainers:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>AccessControlDialog</name>
@ -248,10 +209,6 @@ Please select whether you want to allow access.</source>
<source>Clone Options</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"/>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"/>
@ -260,6 +217,10 @@ Please select whether you want to allow access.</source>
<source>Copy history</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>CsvImportWidget</name>
@ -1092,10 +1053,6 @@ Do you want to open it anyway?</source>
<source>Select Image</source>
<translation>Суретті таңдау</translation>
</message>
<message>
<source>Error</source>
<translation>Қате</translation>
</message>
<message>
<source>Download favicon</source>
<translation type="unfinished"/>
@ -1124,6 +1081,14 @@ Do you want to open it anyway?</source>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"/>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1331,17 +1296,14 @@ Do you want to open it anyway?</source>
<translation>Басты парольді есептеу мүмкін емес</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation>Таңдалған файл ескі KeePass 1 дерекқоры (.kdb) болып табылады.
Оны Дерекқор &gt; &apos;KeePass 1 дерекқорын импорттау&apos; арқылы импорттай аласыз.
Бұл - бір жақты миграция. Одан кейін сіз импортталған дерекқорды ескі KeePassX 0.4 нұсқасымен аша алмайтын боласыз.</translation>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"/>
</message>
</context>
@ -1363,6 +1325,10 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1418,10 +1384,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Recent databases</source>
<translation type="unfinished"/>
</message>
<message>
<source>He&amp;lp</source>
<translation type="unfinished"/>
</message>
<message>
<source>E&amp;ntries</source>
<translation type="unfinished"/>
@ -1446,10 +1408,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;About</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Save database</source>
<translation type="unfinished"/>
@ -1490,14 +1448,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Delete group</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Database settings</source>
<translation type="unfinished"/>
@ -1510,10 +1460,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Timed one-time password</source>
<translation type="unfinished"/>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"/>
@ -1562,14 +1508,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Notes</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Password Generator</source>
<translation type="unfinished"/>
@ -1590,14 +1528,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Tools</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"/>
@ -1614,6 +1544,42 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -2160,6 +2126,18 @@ give it a unique name to identify and accept it.</source>
<source>Always ask before performing Auto-Type</source>
<translation type="unfinished"/>
</message>
<message>
<source>Auto-Type delay</source>
<translation type="unfinished"/>
</message>
<message>
<source> ms</source>
<translation type="unfinished"/>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@ -2199,6 +2177,14 @@ give it a unique name to identify and accept it.</source>
<source>Lock databases when session is locked or lid is closed</source>
<translation type="unfinished"/>
</message>
<message>
<source>Privacy</source>
<translation type="unfinished"/>
</message>
<message>
<source>Use Google as fallback for downloading website icons</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SetupTotpDialog</name>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,73 +9,14 @@
<source>About</source>
<translation>Over</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot;&gt;&lt;span style=&quot;text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;style&gt;li {font-size: 10pt}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Project Maintainers:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;droidmonkey&lt;/li&gt;&lt;li&gt;phoerious&lt;/li&gt;&lt;li&gt;TheZ3ro&lt;/li&gt;&lt;li&gt;louib&lt;/li&gt;&lt;li&gt;Weslly&lt;/li&gt;&lt;li&gt;debfx (KeePassX)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;body&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;debfx (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;BlueIce (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;droidmonkey&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;phoerious&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;TheZ3ro&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;louib&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;weslly&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;keithbennett (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;Typz (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;denk-mal (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;kylemanna (YubiKey)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;seatedscribe (CSV Importer)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;pgalves (Inline Messages)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Translations:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Chinese:&lt;/span&gt; Biggulu, ligyxy, BestSteve&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Czech:&lt;/span&gt; pavelb, JosefVitu&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Dutch:&lt;/span&gt; Vistaus, KnooL, apie&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Finnish:&lt;/span&gt; MawKKe&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;French:&lt;/span&gt; Scrat15, frgnca, gilbsgilbs, gtalbot, iannick, kyodev, logut&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;German:&lt;/span&gt; Calyrx, DavidHamburg, antsas, codejunky, jensrutschmann, montilo, omnisome4, origin_de, pcrcoding, phoerious, rgloor, vlenzer&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Greek:&lt;/span&gt; nplatis&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Italian:&lt;/span&gt; TheZ3ro, FranzMari, Mte90, tosky&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Kazakh:&lt;/span&gt; sotrud_nik&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Lithuanian:&lt;/span&gt; Moo&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Polish:&lt;/span&gt; konradmb, mrerexx&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Portuguese: &lt;/span&gt;vitor895, weslly, American_Jesus, mihai.ile&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Russian:&lt;/span&gt; vsvyatski, KekcuHa, wkill95&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Spanish:&lt;/span&gt; EdwardNavarro, antifaz, piegope, pquin, vsvyatski&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Swedish:&lt;/span&gt; henziger&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;See Contributions on GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Debug Info</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Include the following information whenever you report a bug:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"/>
@ -103,6 +44,26 @@ Kernel: %3 %4</source>
<source>Enabled extensions:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassXC wordt verspreid onder de voorwaarden van de GNU General Public License (GPL) versie 2 of (als u wenst) versie 3.</translation>
</message>
<message>
<source>Project Maintainers:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>AccessControlDialog</name>
@ -249,10 +210,6 @@ Geef aan of u toegang wilt toestaan of niet.</translation>
<source>Clone Options</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"/>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"/>
@ -261,6 +218,10 @@ Geef aan of u toegang wilt toestaan of niet.</translation>
<source>Copy history</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>CsvImportWidget</name>
@ -1095,10 +1056,6 @@ Wilt u toch doorgaan met openen?</translation>
<source>Select Image</source>
<translation>Kies afbeelding</translation>
</message>
<message>
<source>Error</source>
<translation>Fout</translation>
</message>
<message>
<source>Download favicon</source>
<translation>Favicon downloaden</translation>
@ -1127,6 +1084,14 @@ Wilt u toch doorgaan met openen?</translation>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"/>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1334,17 +1299,14 @@ Wilt u toch doorgaan met openen?</translation>
<translation>Niet mogelijk om hoofdsleutel te berekenen</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation>Het gekozen bestand is een oude KeePass 1 database (.kdb).
U kunt het importeren door te klikken op Database &gt; &apos;KeePass 1 database importeren&apos;.
Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen met KeePassX 0.4.</translation>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"/>
</message>
</context>
@ -1366,6 +1328,10 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1421,10 +1387,6 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>&amp;Recent databases</source>
<translation>&amp;Recente databases</translation>
</message>
<message>
<source>He&amp;lp</source>
<translation>He&amp;lp</translation>
</message>
<message>
<source>E&amp;ntries</source>
<translation>Items</translation>
@ -1449,10 +1411,6 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>&amp;About</source>
<translation>&amp;Over</translation>
</message>
<message>
<source>&amp;Open database</source>
<translation>&amp;Open database</translation>
</message>
<message>
<source>&amp;Save database</source>
<translation>&amp;Sla database op</translation>
@ -1493,14 +1451,6 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>&amp;Delete group</source>
<translation>&amp;Verwijder groep</translation>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation>Database opslaan als</translation>
</message>
<message>
<source>Change &amp;master key</source>
<translation>Wijzig &amp;hoofdsleutel</translation>
</message>
<message>
<source>&amp;Database settings</source>
<translation>&amp;Database-instellingen</translation>
@ -1513,10 +1463,6 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>Timed one-time password</source>
<translation type="unfinished"/>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"/>
@ -1565,14 +1511,6 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>&amp;Notes</source>
<translation>&amp;Opmerkingen</translation>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation>&amp;Naar CSV-bestand exporteren</translation>
</message>
<message>
<source>Re&amp;pair database</source>
<translation>Database repareren</translation>
</message>
<message>
<source>Password Generator</source>
<translation>Wachtwoord generator</translation>
@ -1593,14 +1531,6 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>&amp;Tools</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation>Importeer Keepass 1-database</translation>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"/>
@ -1617,6 +1547,42 @@ Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -2167,6 +2133,18 @@ Geef het een unieke identificerende naam en accepteer de associate wanneer je de
<source>Always ask before performing Auto-Type</source>
<translation type="unfinished"/>
</message>
<message>
<source>Auto-Type delay</source>
<translation type="unfinished"/>
</message>
<message>
<source> ms</source>
<translation type="unfinished"/>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@ -2206,6 +2184,14 @@ Geef het een unieke identificerende naam en accepteer de associate wanneer je de
<source>Lock databases when session is locked or lid is closed</source>
<translation type="unfinished"/>
</message>
<message>
<source>Privacy</source>
<translation type="unfinished"/>
</message>
<message>
<source>Use Google as fallback for downloading website icons</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SetupTotpDialog</name>

File diff suppressed because it is too large Load Diff

View File

@ -9,99 +9,63 @@
<source>About</source>
<translation>Sobre</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot;&gt;&lt;span style=&quot;text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;style&gt;li {font-size: 10pt}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Project Maintainers:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;droidmonkey&lt;/li&gt;&lt;li&gt;phoerious&lt;/li&gt;&lt;li&gt;TheZ3ro&lt;/li&gt;&lt;li&gt;louib&lt;/li&gt;&lt;li&gt;Weslly&lt;/li&gt;&lt;li&gt;debfx (KeePassX)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;body&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;debfx (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;BlueIce (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;droidmonkey&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;phoerious&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;TheZ3ro&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;louib&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;weslly&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;keithbennett (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;Typz (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;denk-mal (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;kylemanna (YubiKey)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;seatedscribe (CSV Importer)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;pgalves (Inline Messages)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Translations:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Chinese:&lt;/span&gt; Biggulu, ligyxy, BestSteve&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Czech:&lt;/span&gt; pavelb, JosefVitu&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Dutch:&lt;/span&gt; Vistaus, KnooL, apie&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Finnish:&lt;/span&gt; MawKKe&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;French:&lt;/span&gt; Scrat15, frgnca, gilbsgilbs, gtalbot, iannick, kyodev, logut&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;German:&lt;/span&gt; Calyrx, DavidHamburg, antsas, codejunky, jensrutschmann, montilo, omnisome4, origin_de, pcrcoding, phoerious, rgloor, vlenzer&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Greek:&lt;/span&gt; nplatis&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Italian:&lt;/span&gt; TheZ3ro, FranzMari, Mte90, tosky&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Kazakh:&lt;/span&gt; sotrud_nik&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Lithuanian:&lt;/span&gt; Moo&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Polish:&lt;/span&gt; konradmb, mrerexx&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Portuguese: &lt;/span&gt;vitor895, weslly, American_Jesus, mihai.ile&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Russian:&lt;/span&gt; vsvyatski, KekcuHa, wkill95&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Spanish:&lt;/span&gt; EdwardNavarro, antifaz, piegope, pquin, vsvyatski&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Swedish:&lt;/span&gt; henziger&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;See Contributions on GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>Colaboradores</translation>
</message>
<message>
<source>Debug Info</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Include the following information whenever you report a bug:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>Informações de Depuração</translation>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"/>
<translation>Copiar para a área de transferência</translation>
</message>
<message>
<source>Version %1
</source>
<translation type="unfinished"/>
<translation>Versão %1
</translation>
</message>
<message>
<source>Revision: %1</source>
<translation type="unfinished"/>
<translation>Revisão: %1</translation>
</message>
<message>
<source>Libraries:</source>
<translation type="unfinished"/>
<translation>Bibliotecas:</translation>
</message>
<message>
<source>Operating system: %1
CPU architecture: %2
Kernel: %3 %4</source>
<translation type="unfinished"/>
<translation>Sistema operacional: %1
Arquitetura da CPU: %2
Kernel: %3 %4</translation>
</message>
<message>
<source>Enabled extensions:</source>
<translation type="unfinished"/>
<translation>Extensões habilitadas:</translation>
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
<translation>Reporte erros em: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassXC é distribuído nos termos da Licença Pública Geral (GPL), versão 2 ou (à sua escolha) versão 3, do GNU.</translation>
</message>
<message>
<source>Project Maintainers:</source>
<translation>Mantedores do Projeto:</translation>
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
<translation>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;Ver Colaborações no GitHub&lt;/a&gt;</translation>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
<translation>Inclua as informações abaixo quando reportar um erro:</translation>
</message>
</context>
<context>
@ -232,11 +196,11 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source>Refresh</source>
<translation type="unfinished"/>
<translation>Atualizar</translation>
</message>
<message>
<source>Empty password</source>
<translation type="unfinished"/>
<translation>Senha vazia</translation>
</message>
<message>
<source>Changing master key failed: no YubiKey inserted.</source>
@ -247,18 +211,18 @@ Selecione se deseja permitir o acesso.</translation>
<name>CloneDialog</name>
<message>
<source>Clone Options</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"/>
<translation>Opções de Clonagem</translation>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"/>
<translation>Substituir o usuário e senha com referências</translation>
</message>
<message>
<source>Copy history</source>
<translation>Copiar histórico</translation>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation type="unfinished"/>
</message>
</context>
@ -266,23 +230,23 @@ Selecione se deseja permitir o acesso.</translation>
<name>CsvImportWidget</name>
<message>
<source>Import CSV fields</source>
<translation type="unfinished"/>
<translation>Importar campos CSV</translation>
</message>
<message>
<source>filename</source>
<translation type="unfinished"/>
<translation>nome do arquivo</translation>
</message>
<message>
<source>size, rows, columns</source>
<translation type="unfinished"/>
<translation>tamanho, linhas, colunas</translation>
</message>
<message>
<source>Encoding</source>
<translation type="unfinished"/>
<translation>Codificação</translation>
</message>
<message>
<source>Codec</source>
<translation type="unfinished"/>
<translation>Codec</translation>
</message>
<message>
<source>Text is qualified by</source>
@ -310,7 +274,7 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source>Preview</source>
<translation type="unfinished"/>
<translation>Visualização</translation>
</message>
<message>
<source>Column layout</source>
@ -326,7 +290,7 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source>column </source>
<translation type="unfinished"/>
<translation>coluna</translation>
</message>
<message>
<source>Imported from CSV file</source>
@ -334,7 +298,7 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source>Original data: </source>
<translation type="unfinished"/>
<translation>Dados originais:</translation>
</message>
<message>
<source>Error(s) detected in CSV file !</source>
@ -358,7 +322,7 @@ Selecione se deseja permitir o acesso.</translation>
<name>CsvImportWizard</name>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
<translation>Importar arquivo CSV</translation>
</message>
<message>
<source>Error</source>
@ -381,7 +345,7 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source> columns</source>
<translation type="unfinished"/>
<translation>colunas</translation>
</message>
</context>
<context>
@ -424,7 +388,7 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source>Refresh</source>
<translation type="unfinished"/>
<translation>Atualizar</translation>
</message>
<message>
<source>Challenge Response:</source>
@ -772,7 +736,7 @@ Mesmo assim deseja salvá-la?</translation>
</message>
<message>
<source>Empty recycle bin?</source>
<translation type="unfinished"/>
<translation>Esvaziar lixeira?</translation>
</message>
<message>
<source>Are you sure you want to permanently delete everything from your recycle bin?</source>
@ -904,15 +868,15 @@ Mesmo assim deseja salvá-la?</translation>
</message>
<message>
<source>Edit Name</source>
<translation type="unfinished"/>
<translation>Editar Nome</translation>
</message>
<message>
<source>Protect</source>
<translation type="unfinished"/>
<translation>Proteger</translation>
</message>
<message>
<source>Reveal</source>
<translation type="unfinished"/>
<translation>Revelar</translation>
</message>
</context>
<context>
@ -951,7 +915,7 @@ Mesmo assim deseja salvá-la?</translation>
</message>
<message>
<source>Window Associations</source>
<translation type="unfinished"/>
<translation>Associações de Janela</translation>
</message>
</context>
<context>
@ -1096,10 +1060,6 @@ Mesmo assim deseja salvá-la?</translation>
<source>Select Image</source>
<translation>Selecionar imagem</translation>
</message>
<message>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<source>Download favicon</source>
<translation>Baixar favicon</translation>
@ -1122,12 +1082,20 @@ Mesmo assim deseja salvá-la?</translation>
</message>
<message>
<source>Confirm Delete</source>
<translation type="unfinished"/>
<translation>Confirmar Exclusão</translation>
</message>
<message>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"/>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1202,7 +1170,7 @@ Mesmo assim deseja salvá-la?</translation>
<message>
<source>Ref: </source>
<comment>Reference abbreviation</comment>
<translation type="unfinished"/>
<translation>Ref:</translation>
</message>
</context>
<context>
@ -1267,11 +1235,11 @@ Mesmo assim deseja salvá-la?</translation>
<name>KMessageWidget</name>
<message>
<source>&amp;Close</source>
<translation type="unfinished"/>
<translation>Fe&amp;char</translation>
</message>
<message>
<source>Close message</source>
<translation type="unfinished"/>
<translation>Fechar mensagem</translation>
</message>
</context>
<context>
@ -1335,17 +1303,14 @@ Mesmo assim deseja salvá-la?</translation>
<translation>Não foi possível calcular a chave mestre</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation>O arquivo selecionado é um banco de dados antigo do KeePass 1 (.kdb).
Você pode importá-lo clicando em Banco de Dados &gt; &apos;Importar banco de dados KeePass 1&apos;.
Esta é uma migração de uma via. Você não poderá abrir o banco de dados importado com a versão antiga do KeePassX 0.4.</translation>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"/>
</message>
</context>
@ -1367,6 +1332,10 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1422,10 +1391,6 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
<source>&amp;Recent databases</source>
<translation>&amp;Bancos de dados recentes</translation>
</message>
<message>
<source>He&amp;lp</source>
<translation>&amp;Ajuda</translation>
</message>
<message>
<source>E&amp;ntries</source>
<translation>E&amp;ntradas</translation>
@ -1450,10 +1415,6 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
<source>&amp;About</source>
<translation>&amp;Sobre</translation>
</message>
<message>
<source>&amp;Open database</source>
<translation>&amp;Abrir base de dados</translation>
</message>
<message>
<source>&amp;Save database</source>
<translation>&amp;Salvar base de dados</translation>
@ -1494,14 +1455,6 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
<source>&amp;Delete group</source>
<translation>&amp;Apagar grupo</translation>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation>Sal&amp;var base de dados como</translation>
</message>
<message>
<source>Change &amp;master key</source>
<translation>Alterar chave &amp;mestra</translation>
</message>
<message>
<source>&amp;Database settings</source>
<translation>&amp;Definições da base de dados</translation>
@ -1512,19 +1465,15 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
</message>
<message>
<source>Timed one-time password</source>
<translation type="unfinished"/>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
<translation>Senha temporária de uso único</translation>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"/>
<translation>Copiar &amp;TOTP</translation>
</message>
<message>
<source>Show TOTP</source>
<translation type="unfinished"/>
<translation>Mostrar TOTP</translation>
</message>
<message>
<source>&amp;Find</source>
@ -1566,45 +1515,29 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
<source>&amp;Notes</source>
<translation>&amp;Notas</translation>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation>&amp;Exportar para arquivo CSV</translation>
</message>
<message>
<source>Re&amp;pair database</source>
<translation>Re&amp;parar banco de dados</translation>
</message>
<message>
<source>Password Generator</source>
<translation>Gerador de Senha</translation>
</message>
<message>
<source>Clear history</source>
<translation type="unfinished"/>
<translation>Limpar histórico</translation>
</message>
<message>
<source>&amp;Database</source>
<translation type="unfinished"/>
<translation>Banco de &amp;dados</translation>
</message>
<message>
<source>Import</source>
<translation type="unfinished"/>
<translation>Importar</translation>
</message>
<message>
<source>&amp;Tools</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation>Importar banco de dados KeePass1</translation>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
<translation>&amp;Ferramentas</translation>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"/>
<translation>Esvaziar lixeira</translation>
</message>
<message>
<source>Access error for config file %1</source>
@ -1612,12 +1545,48 @@ Esta é uma migração de uma via. Você não poderá abrir o banco de dados imp
</message>
<message>
<source>Quit KeePassXC</source>
<translation type="unfinished"/>
<translation>Fechar KeePassXC</translation>
</message>
<message>
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -1705,7 +1674,7 @@ Usando porta padrão 19455.</translation>
</message>
<message>
<source>Enable KeePassHTTP server</source>
<translation type="unfinished"/>
<translation>Habilitar servidor KeePassHTTP</translation>
</message>
<message>
<source>Only returns the best matches for a specific URL instead of all entries for the whole domain.</source>
@ -1837,23 +1806,23 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Passphrase</source>
<translation type="unfinished"/>
<translation>Senha</translation>
</message>
<message>
<source>Wordlist:</source>
<translation type="unfinished"/>
<translation>Lista de palavras:</translation>
</message>
<message>
<source>Word Count:</source>
<translation type="unfinished"/>
<translation>Número de Palavras:</translation>
</message>
<message>
<source>Word Separator:</source>
<translation type="unfinished"/>
<translation>Separador de Palavras:</translation>
</message>
<message>
<source>Copy</source>
<translation type="unfinished"/>
<translation>Copiar</translation>
</message>
</context>
<context>
@ -1909,7 +1878,7 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Browser Integration</source>
<translation type="unfinished"/>
<translation>Integração com o Navegador</translation>
</message>
<message>
<source>YubiKey[%1] Challenge Response - Slot %2 - %3</source>
@ -1917,11 +1886,11 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Press</source>
<translation type="unfinished"/>
<translation>Aperte</translation>
</message>
<message>
<source>Passive</source>
<translation type="unfinished"/>
<translation>Passivo</translation>
</message>
</context>
<context>
@ -1974,11 +1943,11 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Search...</source>
<translation type="unfinished"/>
<translation>Buscar...</translation>
</message>
<message>
<source>Limit search to selected group</source>
<translation type="unfinished"/>
<translation>Limitar busca ao grupo selecionado</translation>
</message>
</context>
<context>
@ -2147,7 +2116,7 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Basic Settings</source>
<translation type="unfinished"/>
<translation>Configurações Básicas</translation>
</message>
<message>
<source>Remember last key files and security dongles</source>
@ -2169,6 +2138,18 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
<source>Always ask before performing Auto-Type</source>
<translation type="unfinished"/>
</message>
<message>
<source>Auto-Type delay</source>
<translation type="unfinished"/>
</message>
<message>
<source> ms</source>
<translation>ms</translation>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@ -2202,46 +2183,54 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Convenience</source>
<translation type="unfinished"/>
<translation>Conveniência</translation>
</message>
<message>
<source>Lock databases when session is locked or lid is closed</source>
<translation type="unfinished"/>
</message>
<message>
<source>Privacy</source>
<translation>Privacidade</translation>
</message>
<message>
<source>Use Google as fallback for downloading website icons</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SetupTotpDialog</name>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
<translation>Configurar TOTP</translation>
</message>
<message>
<source>Key:</source>
<translation type="unfinished"/>
<translation>Chave:</translation>
</message>
<message>
<source>Use custom settings</source>
<translation type="unfinished"/>
<translation>Usar configurações personalizadas</translation>
</message>
<message>
<source>Note: Change these settings only if you know what you are doing.</source>
<translation type="unfinished"/>
<translation>Nota: Altere estas configurações apenas se souber o que está fazendo.</translation>
</message>
<message>
<source>Time step:</source>
<translation type="unfinished"/>
<translation>Período de tempo:</translation>
</message>
<message>
<source>8 digits</source>
<translation type="unfinished"/>
<translation>8 dígitos</translation>
</message>
<message>
<source>6 digits</source>
<translation type="unfinished"/>
<translation>6 dígitos</translation>
</message>
<message>
<source>Code size:</source>
<translation type="unfinished"/>
<translation>Tamanho do código:</translation>
</message>
<message>
<source> sec</source>
@ -2252,23 +2241,23 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
<name>TotpDialog</name>
<message>
<source>Timed Password</source>
<translation type="unfinished"/>
<translation>Senha Temporária</translation>
</message>
<message>
<source>000000</source>
<translation type="unfinished"/>
<translation>000000</translation>
</message>
<message>
<source>Copy</source>
<translation type="unfinished"/>
<translation>Copiar</translation>
</message>
<message>
<source>Expires in</source>
<translation type="unfinished"/>
<translation>Expira em</translation>
</message>
<message>
<source>seconds</source>
<translation type="unfinished"/>
<translation>segundos</translation>
</message>
</context>
<context>
@ -2282,7 +2271,7 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
<name>WelcomeWidget</name>
<message>
<source>Welcome to KeePassXC</source>
<translation type="unfinished"/>
<translation>Bem vindo ao KeePassXC</translation>
</message>
<message>
<source>Start storing your passwords securely in a KeePassXC database</source>
@ -2290,19 +2279,19 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Create new database</source>
<translation type="unfinished"/>
<translation>Criar novo banco de dados</translation>
</message>
<message>
<source>Open existing database</source>
<translation type="unfinished"/>
<translation>Abrir banco de dados existente</translation>
</message>
<message>
<source>Import from KeePass 1</source>
<translation type="unfinished"/>
<translation>Importar do KeePass 1</translation>
</message>
<message>
<source>Import from CSV</source>
<translation type="unfinished"/>
<translation>Importar arquivo CSV</translation>
</message>
<message>
<source>Recent databases</source>
@ -2337,7 +2326,7 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Path of the database.</source>
<translation type="unfinished"/>
<translation>Caminho do banco de dados</translation>
</message>
<message>
<source>Use a GUI prompt unlocking the database.</source>
@ -2353,15 +2342,15 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Path of the database to extract.</source>
<translation type="unfinished"/>
<translation>Caminho do banco de dados para extração.</translation>
</message>
<message>
<source>Name of the command to execute.</source>
<translation type="unfinished"/>
<translation>Nome do comando para executar.</translation>
</message>
<message>
<source>List database entries.</source>
<translation type="unfinished"/>
<translation>Listar entradas do banco de dados.</translation>
</message>
<message>
<source>Path of the group to list. Default is /</source>
@ -2373,7 +2362,7 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Merge two databases.</source>
<translation type="unfinished"/>
<translation>Juntar dois bancos de dados.</translation>
</message>
<message>
<source>Path of the database to merge into.</source>
@ -2389,11 +2378,11 @@ dar-lhe um nome único para identificá-lo e aceitá-lo.</translation>
</message>
<message>
<source>Show a password.</source>
<translation type="unfinished"/>
<translation>Mostrar uma senha.</translation>
</message>
<message>
<source>Name of the entry to show.</source>
<translation type="unfinished"/>
<translation>Nome da entrada para mostrar.</translation>
</message>
</context>
</TS>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,73 +9,14 @@
<source>About</source>
<translation>O programu</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot;&gt;&lt;span style=&quot;text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;style&gt;li {font-size: 10pt}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Project Maintainers:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;droidmonkey&lt;/li&gt;&lt;li&gt;phoerious&lt;/li&gt;&lt;li&gt;TheZ3ro&lt;/li&gt;&lt;li&gt;louib&lt;/li&gt;&lt;li&gt;Weslly&lt;/li&gt;&lt;li&gt;debfx (KeePassX)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;body&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;debfx (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;BlueIce (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;droidmonkey&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;phoerious&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;TheZ3ro&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;louib&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;weslly&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;keithbennett (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;Typz (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;denk-mal (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;kylemanna (YubiKey)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;seatedscribe (CSV Importer)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;pgalves (Inline Messages)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Translations:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Chinese:&lt;/span&gt; Biggulu, ligyxy, BestSteve&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Czech:&lt;/span&gt; pavelb, JosefVitu&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Dutch:&lt;/span&gt; Vistaus, KnooL, apie&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Finnish:&lt;/span&gt; MawKKe&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;French:&lt;/span&gt; Scrat15, frgnca, gilbsgilbs, gtalbot, iannick, kyodev, logut&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;German:&lt;/span&gt; Calyrx, DavidHamburg, antsas, codejunky, jensrutschmann, montilo, omnisome4, origin_de, pcrcoding, phoerious, rgloor, vlenzer&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Greek:&lt;/span&gt; nplatis&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Italian:&lt;/span&gt; TheZ3ro, FranzMari, Mte90, tosky&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Kazakh:&lt;/span&gt; sotrud_nik&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Lithuanian:&lt;/span&gt; Moo&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Polish:&lt;/span&gt; konradmb, mrerexx&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Portuguese: &lt;/span&gt;vitor895, weslly, American_Jesus, mihai.ile&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Russian:&lt;/span&gt; vsvyatski, KekcuHa, wkill95&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Spanish:&lt;/span&gt; EdwardNavarro, antifaz, piegope, pquin, vsvyatski&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Swedish:&lt;/span&gt; henziger&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;See Contributions on GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Debug Info</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Include the following information whenever you report a bug:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"/>
@ -103,6 +44,26 @@ Kernel: %3 %4</source>
<source>Enabled extensions:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Project Maintainers:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>AccessControlDialog</name>
@ -248,10 +209,6 @@ Please select whether you want to allow access.</source>
<source>Clone Options</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"/>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"/>
@ -260,6 +217,10 @@ Please select whether you want to allow access.</source>
<source>Copy history</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>CsvImportWidget</name>
@ -1090,10 +1051,6 @@ Do you want to open it anyway?</source>
<source>Select Image</source>
<translation>Izberi sliko</translation>
</message>
<message>
<source>Error</source>
<translation>Napaka</translation>
</message>
<message>
<source>Download favicon</source>
<translation type="unfinished"/>
@ -1122,6 +1079,14 @@ Do you want to open it anyway?</source>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"/>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1329,14 +1294,14 @@ Do you want to open it anyway?</source>
<translation>Izračun glavnega ključa ni uspel</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"/>
</message>
</context>
@ -1358,6 +1323,10 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1413,10 +1382,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Recent databases</source>
<translation type="unfinished"/>
</message>
<message>
<source>He&amp;lp</source>
<translation type="unfinished"/>
</message>
<message>
<source>E&amp;ntries</source>
<translation type="unfinished"/>
@ -1441,10 +1406,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;About</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Save database</source>
<translation type="unfinished"/>
@ -1485,14 +1446,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Delete group</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Database settings</source>
<translation type="unfinished"/>
@ -1505,10 +1458,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Timed one-time password</source>
<translation type="unfinished"/>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"/>
@ -1557,14 +1506,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Notes</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Password Generator</source>
<translation type="unfinished"/>
@ -1585,14 +1526,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>&amp;Tools</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation>Uvozi KeePass 1 podatkovno bazo</translation>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"/>
@ -1609,6 +1542,42 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -2155,6 +2124,18 @@ give it a unique name to identify and accept it.</source>
<source>Always ask before performing Auto-Type</source>
<translation type="unfinished"/>
</message>
<message>
<source>Auto-Type delay</source>
<translation type="unfinished"/>
</message>
<message>
<source> ms</source>
<translation type="unfinished"/>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@ -2194,6 +2175,14 @@ give it a unique name to identify and accept it.</source>
<source>Lock databases when session is locked or lid is closed</source>
<translation type="unfinished"/>
</message>
<message>
<source>Privacy</source>
<translation type="unfinished"/>
</message>
<message>
<source>Use Google as fallback for downloading website icons</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SetupTotpDialog</name>

View File

@ -9,73 +9,14 @@
<source>About</source>
<translation>Om</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot;&gt;&lt;span style=&quot;text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;style&gt;li {font-size: 10pt}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Project Maintainers:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;droidmonkey&lt;/li&gt;&lt;li&gt;phoerious&lt;/li&gt;&lt;li&gt;TheZ3ro&lt;/li&gt;&lt;li&gt;louib&lt;/li&gt;&lt;li&gt;Weslly&lt;/li&gt;&lt;li&gt;debfx (KeePassX)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Contributors</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;body&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Code:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;debfx (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;BlueIce (KeePassX)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;droidmonkey&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;phoerious&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;TheZ3ro&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;louib&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;weslly&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;keithbennett (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;Typz (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;denk-mal (KeePassHTTP)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;kylemanna (YubiKey)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;seatedscribe (CSV Importer)&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;pgalves (Inline Messages)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-size:x-large; font-weight:600;&quot;&gt;Translations:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Chinese:&lt;/span&gt; Biggulu, ligyxy, BestSteve&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Czech:&lt;/span&gt; pavelb, JosefVitu&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Dutch:&lt;/span&gt; Vistaus, KnooL, apie&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Finnish:&lt;/span&gt; MawKKe&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;French:&lt;/span&gt; Scrat15, frgnca, gilbsgilbs, gtalbot, iannick, kyodev, logut&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;German:&lt;/span&gt; Calyrx, DavidHamburg, antsas, codejunky, jensrutschmann, montilo, omnisome4, origin_de, pcrcoding, phoerious, rgloor, vlenzer&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Greek:&lt;/span&gt; nplatis&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Italian:&lt;/span&gt; TheZ3ro, FranzMari, Mte90, tosky&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Kazakh:&lt;/span&gt; sotrud_nik&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Lithuanian:&lt;/span&gt; Moo&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Polish:&lt;/span&gt; konradmb, mrerexx&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Portuguese: &lt;/span&gt;vitor895, weslly, American_Jesus, mihai.ile&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Russian:&lt;/span&gt; vsvyatski, KekcuHa, wkill95&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Spanish:&lt;/span&gt; EdwardNavarro, antifaz, piegope, pquin, vsvyatski&lt;/li&gt;
&lt;li style=&quot;font-size:10pt&quot;&gt;&lt;span style=&quot;font-weight:600;&quot;&gt;Swedish:&lt;/span&gt; henziger&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;See Contributions on GitHub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Debug Info</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Include the following information whenever you report a bug:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"/>
@ -103,6 +44,26 @@ Kernel: %3 %4</source>
<source>Enabled extensions:</source>
<translation type="unfinished"/>
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassXC distribueras enligt villkoren i GNU General Public License (GPL) version 2 eller (om du vill) version 3.</translation>
</message>
<message>
<source>Project Maintainers:</source>
<translation type="unfinished"/>
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
<translation type="unfinished"/>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>AccessControlDialog</name>
@ -112,11 +73,11 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Allow</source>
<translation type="unfinished"/>
<translation>Tillåt</translation>
</message>
<message>
<source>Deny</source>
<translation type="unfinished"/>
<translation>Neka</translation>
</message>
<message>
<source>%1 has requested access to passwords for the following item(s).
@ -231,7 +192,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Refresh</source>
<translation type="unfinished"/>
<translation>Uppdatera</translation>
</message>
<message>
<source>Empty password</source>
@ -248,10 +209,6 @@ Please select whether you want to allow access.</source>
<source>Clone Options</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Copy&apos; to title</source>
<translation type="unfinished"/>
</message>
<message>
<source>Replace username and password with references</source>
<translation type="unfinished"/>
@ -260,6 +217,10 @@ Please select whether you want to allow access.</source>
<source>Copy history</source>
<translation type="unfinished"/>
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>CsvImportWidget</name>
@ -269,7 +230,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>filename</source>
<translation type="unfinished"/>
<translation>filnamn</translation>
</message>
<message>
<source>size, rows, columns</source>
@ -309,7 +270,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Preview</source>
<translation type="unfinished"/>
<translation>Förhandsgranska</translation>
</message>
<message>
<source>Column layout</source>
@ -325,7 +286,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>column </source>
<translation type="unfinished"/>
<translation>kolumn</translation>
</message>
<message>
<source>Imported from CSV file</source>
@ -380,7 +341,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source> columns</source>
<translation type="unfinished"/>
<translation> kolumner</translation>
</message>
</context>
<context>
@ -423,7 +384,7 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Refresh</source>
<translation type="unfinished"/>
<translation>Uppdatera</translation>
</message>
<message>
<source>Challenge Response:</source>
@ -610,7 +571,7 @@ I annat fall försvinner ändringarna.</translation>
<source>&quot;%1&quot; is in edit mode.
Discard changes and close anyway?</source>
<translation>&quot;%1&quot; är i redigeringsläge.
Kasta ändringarna och stäng endå?</translation>
Kasta ändringarna och stäng ändå?</translation>
</message>
<message>
<source>Export database to CSV file</source>
@ -1092,10 +1053,6 @@ Do you want to open it anyway?</source>
<source>Select Image</source>
<translation>Välj bild</translation>
</message>
<message>
<source>Error</source>
<translation>Fel</translation>
</message>
<message>
<source>Download favicon</source>
<translation type="unfinished"/>
@ -1124,6 +1081,14 @@ Do you want to open it anyway?</source>
<source>This icon is used by %1 entries, and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hint: You can enable Google as a fallback under Tools&gt;Settings&gt;Security</source>
<translation type="unfinished"/>
</message>
<message>
<source>Custom icon already exists</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@ -1331,17 +1296,14 @@ Do you want to open it anyway?</source>
<translation>Kunde inte räkna nu master-nyckeln</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation>Den valda filen är en gammal KeePass 1 databas (.kdb)
Du kan importera den genom att klicka Databas &gt; Importera KeePass 1 databas.
Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas. Det som används i KeePassX 0.4.</translation>
<source>Unable to issue challenge-response.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to issue challenge-response.</source>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation type="unfinished"/>
</message>
</context>
@ -1363,6 +1325,10 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>Another instance of KeePassXC is already running.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>MainWindow</name>
@ -1418,10 +1384,6 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>&amp;Recent databases</source>
<translation type="unfinished"/>
</message>
<message>
<source>He&amp;lp</source>
<translation type="unfinished"/>
</message>
<message>
<source>E&amp;ntries</source>
<translation type="unfinished"/>
@ -1446,10 +1408,6 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>&amp;About</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Save database</source>
<translation type="unfinished"/>
@ -1490,14 +1448,6 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>&amp;Delete group</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Database settings</source>
<translation type="unfinished"/>
@ -1510,10 +1460,6 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>Timed one-time password</source>
<translation type="unfinished"/>
</message>
<message>
<source>Setup TOTP</source>
<translation type="unfinished"/>
</message>
<message>
<source>Copy &amp;TOTP</source>
<translation type="unfinished"/>
@ -1562,21 +1508,13 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>&amp;Notes</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Re&amp;pair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Password Generator</source>
<translation type="unfinished"/>
</message>
<message>
<source>Clear history</source>
<translation type="unfinished"/>
<translation>Töm historiken</translation>
</message>
<message>
<source>&amp;Database</source>
@ -1584,20 +1522,12 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
</message>
<message>
<source>Import</source>
<translation type="unfinished"/>
<translation>Importera</translation>
</message>
<message>
<source>&amp;Tools</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation>Importera KeePass1 databas</translation>
</message>
<message>
<source>Import CSV file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Empty recycle bin</source>
<translation type="unfinished"/>
@ -1614,6 +1544,42 @@ Detta är en envägsmigration. Du kan inte spara en databas som KeePass1 databas
<source>Please touch the button on your YubiKey!</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Help</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Open database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Sa&amp;ve database as...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Change &amp;master key...</source>
<translation type="unfinished"/>
</message>
<message>
<source>&amp;Export to CSV file...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import KeePass 1 database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Import CSV file...</source>
<translation>Importera CSV fil...</translation>
</message>
<message>
<source>Re&amp;pair database...</source>
<translation type="unfinished"/>
</message>
<message>
<source>Set up TOTP...</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>OptionDialog</name>
@ -1792,7 +1758,7 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Close</source>
<translation type="unfinished"/>
<translation>Stäng</translation>
</message>
<message>
<source>Apply</source>
@ -1848,7 +1814,7 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Copy</source>
<translation type="unfinished"/>
<translation>Kopiera</translation>
</message>
</context>
<context>
@ -1965,7 +1931,7 @@ Change them only if you know what you are doing.</source>
</message>
<message>
<source>Clear</source>
<translation type="unfinished"/>
<translation>Rensa</translation>
</message>
<message>
<source>Search...</source>
@ -2010,7 +1976,7 @@ Please unlock the selected database or choose another one which is unlocked.</so
</message>
<message>
<source>Abort</source>
<translation type="unfinished"/>
<translation>Avbryt</translation>
</message>
<message>
<source>Successfully removed permissions from %1 %2.</source>
@ -2160,6 +2126,18 @@ give it a unique name to identify and accept it.</source>
<source>Always ask before performing Auto-Type</source>
<translation type="unfinished"/>
</message>
<message>
<source>Auto-Type delay</source>
<translation type="unfinished"/>
</message>
<message>
<source> ms</source>
<translation type="unfinished"/>
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@ -2199,6 +2177,14 @@ give it a unique name to identify and accept it.</source>
<source>Lock databases when session is locked or lid is closed</source>
<translation type="unfinished"/>
</message>
<message>
<source>Privacy</source>
<translation type="unfinished"/>
</message>
<message>
<source>Use Google as fallback for downloading website icons</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SetupTotpDialog</name>
@ -2251,7 +2237,7 @@ give it a unique name to identify and accept it.</source>
</message>
<message>
<source>Copy</source>
<translation type="unfinished"/>
<translation>Kopiera</translation>
</message>
<message>
<source>Expires in</source>
@ -2281,11 +2267,11 @@ give it a unique name to identify and accept it.</source>
</message>
<message>
<source>Create new database</source>
<translation type="unfinished"/>
<translation>Skapa ny databas</translation>
</message>
<message>
<source>Open existing database</source>
<translation type="unfinished"/>
<translation>Öppna befintlig databas</translation>
</message>
<message>
<source>Import from KeePass 1</source>
@ -2293,7 +2279,7 @@ give it a unique name to identify and accept it.</source>
</message>
<message>
<source>Import from CSV</source>
<translation type="unfinished"/>
<translation>Importera från CSV</translation>
</message>
<message>
<source>Recent databases</source>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +0,0 @@
[Desktop Entry]
Name=KeePassXC
GenericName=Community Password Manager
GenericName[de]=Passwortverwaltung
GenericName[es]=Gestor de contraseñas
GenericName[fr]=Gestionnaire de mot de passe
GenericName[ru]=менеджер паролей
Exec=keepassxc %f
Icon=${SNAP}/share/icons/hicolor/256x256/apps/keepassxc.png
Terminal=false
Type=Application
Categories=Qt;Utility;
MimeType=application/x-keepass2;

View File

@ -1,5 +1,5 @@
name: keepassxc
version: 2.2.0
version: 2.2.1
grade: stable
summary: community driven port of the windows application “Keepass Password Safe”
description: |
@ -11,7 +11,11 @@ confinement: strict
apps:
keepassxc:
command: desktop-launch keepassxc
plugs: [unity7, x11, opengl, gsettings, home, network, network-bind, removable-media]
plugs: [unity7, x11, opengl, gsettings, home, network, network-bind, removable-media, raw-usb]
desktop: share/applications/keepassxc.desktop
cli:
command: keepassxc-cli
plugs: [gsettings, home, removable-media, raw-usb]
parts:
keepassxc:
@ -36,8 +40,9 @@ parts:
- libyubikey-dev
- libykpers-1-dev
after: [desktop-qt5]
# Redefine desktop-qt5 stage packages to work with Ubuntu 17.04
desktop-qt5:
# Redefine stage packages to work with Ubuntu 17.04
stage-packages:
- libxkbcommon0
- ttf-ubuntu-font-family
@ -48,3 +53,12 @@ parts:
- libgdk-pixbuf2.0-0
- libqt5svg5 # for loading icon themes which are svg
- locales-all
# Overcome limitation in snapd to support URL loading (CTRL+U)
snapd-xdg-open:
source: https://github.com/ubuntu-core/snapd-xdg-open.git
plugin: dump
organize:
data/xdg-open: bin/xdg-open
stage-packages:
- dbus

View File

@ -122,7 +122,7 @@ void Config::init(const QString& fileName)
m_defaults.insert("AutoTypeEntryURLMatch", true);
m_defaults.insert("AutoTypeDelay", 25);
m_defaults.insert("UseGroupIconOnEntryCreation", true);
m_defaults.insert("IgnoreGroupExpansion", false);
m_defaults.insert("IgnoreGroupExpansion", true);
m_defaults.insert("security/clearclipboard", true);
m_defaults.insert("security/clearclipboardtimeout", 10);
m_defaults.insert("security/lockdatabaseidle", false);

View File

@ -727,6 +727,13 @@ const Database* Entry::database() const
}
}
QString Entry::maskPasswordPlaceholders(const QString &str) const
{
QString result = str;
result.replace(QRegExp("(\\{PASSWORD\\})", Qt::CaseInsensitive, QRegExp::RegExp2), "******");
return result;
}
QString Entry::resolveMultiplePlaceholders(const QString& str) const
{
QString result = str;
@ -818,4 +825,4 @@ QString Entry::resolveUrl(const QString& url) const
Q_UNUSED(url);
#endif
return QString("");
}
}

View File

@ -142,6 +142,7 @@ public:
*/
Entry* clone(CloneFlags flags) const;
void copyDataFrom(const Entry* other);
QString maskPasswordPlaceholders(const QString& str) const;
QString resolveMultiplePlaceholders(const QString& str) const;
QString resolvePlaceholder(const QString& str) const;
QString resolveUrl(const QString& url) const;

View File

@ -668,7 +668,7 @@ void Group::merge(const Group* other)
// This entry does not exist at all. Create it.
if (!existingEntry) {
qDebug("New entry %s detected. Creating it.", qPrintable(entry->title()));
entry->clone(Entry::CloneNoFlags)->setGroup(this);
entry->clone(Entry::CloneIncludeHistory)->setGroup(this);
// Entry is already present in the database. Update it.
} else {
bool locationChanged = existingEntry->timeInfo().locationChanged() < entry->timeInfo().locationChanged();
@ -902,11 +902,11 @@ void Group::resolveConflict(Entry* existingEntry, Entry* otherEntry)
case KeepBoth:
// if one entry is newer, create a clone and add it to the group
if (timeExisting > timeOther) {
clonedEntry = otherEntry->clone(Entry::CloneNewUuid);
clonedEntry = otherEntry->clone(Entry::CloneNewUuid | Entry::CloneIncludeHistory);
clonedEntry->setGroup(this);
markOlderEntry(clonedEntry);
} else if (timeExisting < timeOther) {
clonedEntry = otherEntry->clone(Entry::CloneNewUuid);
clonedEntry = otherEntry->clone(Entry::CloneNewUuid | Entry::CloneIncludeHistory);
clonedEntry->setGroup(this);
markOlderEntry(existingEntry);
}
@ -917,7 +917,7 @@ void Group::resolveConflict(Entry* existingEntry, Entry* otherEntry)
// only if other entry is newer, replace existing one
Group* currentGroup = existingEntry->group();
currentGroup->removeEntry(existingEntry);
otherEntry->clone(Entry::CloneNoFlags)->setGroup(currentGroup);
otherEntry->clone(Entry::CloneIncludeHistory)->setGroup(currentGroup);
}
break;

View File

@ -15,6 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtCore/QCryptographicHash>
#include "Metadata.h"
#include "core/Entry.h"
@ -390,6 +391,9 @@ void Metadata::addCustomIcon(const Uuid& uuid, const QImage& icon)
m_customIconCacheKeys[uuid] = QPixmapCache::Key();
m_customIconScaledCacheKeys[uuid] = QPixmapCache::Key();
m_customIconsOrder.append(uuid);
// Associate image hash to uuid
QByteArray hash = hashImage(icon);
m_customIconsHashes[hash] = uuid;
Q_ASSERT(m_customIcons.count() == m_customIconsOrder.count());
emit modified();
}
@ -415,6 +419,12 @@ void Metadata::removeCustomIcon(const Uuid& uuid)
Q_ASSERT(!uuid.isNull());
Q_ASSERT(m_customIcons.contains(uuid));
// Remove hash record only if this is the same uuid
QByteArray hash = hashImage(m_customIcons[uuid]);
if (m_customIconsHashes.contains(hash) && m_customIconsHashes[hash] == uuid) {
m_customIconsHashes.remove(hash);
}
m_customIcons.remove(uuid);
QPixmapCache::remove(m_customIconCacheKeys.value(uuid));
m_customIconCacheKeys.remove(uuid);
@ -425,6 +435,12 @@ void Metadata::removeCustomIcon(const Uuid& uuid)
emit modified();
}
Uuid Metadata::findCustomIcon(const QImage &candidate)
{
QByteArray hash = hashImage(candidate);
return m_customIconsHashes.value(hash, Uuid());
}
void Metadata::copyCustomIcons(const QSet<Uuid>& iconList, const Metadata* otherMetadata)
{
for (const Uuid& uuid : iconList) {
@ -436,6 +452,12 @@ void Metadata::copyCustomIcons(const QSet<Uuid>& iconList, const Metadata* other
}
}
QByteArray Metadata::hashImage(const QImage& image)
{
auto data = QByteArray((char*)image.bits(), image.byteCount());
return QCryptographicHash::hash(data, QCryptographicHash::Md5);
}
void Metadata::setRecycleBinEnabled(bool value)
{
set(m_data.recycleBinEnabled, value);

View File

@ -122,6 +122,7 @@ public:
void addCustomIconScaled(const Uuid& uuid, const QImage& icon);
void removeCustomIcon(const Uuid& uuid);
void copyCustomIcons(const QSet<Uuid>& iconList, const Metadata* otherMetadata);
Uuid findCustomIcon(const QImage& candidate);
void setRecycleBinEnabled(bool value);
void setRecycleBin(Group* group);
void setRecycleBinChanged(const QDateTime& value);
@ -154,12 +155,15 @@ private:
template <class P, class V> bool set(P& property, const V& value);
template <class P, class V> bool set(P& property, const V& value, QDateTime& dateTime);
QByteArray hashImage(const QImage& image);
MetadataData m_data;
QHash<Uuid, QImage> m_customIcons;
mutable QHash<Uuid, QPixmapCache::Key> m_customIconCacheKeys;
mutable QHash<Uuid, QPixmapCache::Key> m_customIconScaledCacheKeys;
QList<Uuid> m_customIconsOrder;
QHash<QByteArray, Uuid> m_customIconsHashes;
QPointer<Group> m_recycleBin;
QDateTime m_recycleBinChanged;

View File

@ -2,14 +2,6 @@
<ui version="4.0">
<class>AboutDialog</class>
<widget class="QDialog" name="AboutDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>652</width>
<height>516</height>
</rect>
</property>
<property name="windowTitle">
<string>About KeePassXC</string>
</property>

View File

@ -81,8 +81,8 @@ Application::Application(int& argc, char** argv)
#ifdef Q_OS_UNIX
, m_unixSignalNotifier(nullptr)
#endif
, alreadyRunning(false)
, lock(nullptr)
, m_alreadyRunning(false)
, m_lockFile(nullptr)
{
#if defined(Q_OS_UNIX) && !defined(Q_OS_OSX)
installNativeEventFilter(new XcbEventFilter());
@ -99,56 +99,72 @@ Application::Application(int& argc, char** argv)
}
QString identifier = "keepassxc";
if (!userName.isEmpty()) {
identifier.append("-");
identifier.append(userName);
#ifdef QT_DEBUG
// In DEBUG mode don't interfere with Release instances
identifier.append("-DEBUG");
#endif
identifier += "-" + userName;
}
#ifdef QT_DEBUG
// In DEBUG mode don't interfere with Release instances
identifier += "-DEBUG";
#endif
QString socketName = identifier + ".socket";
QString lockName = identifier + ".lock";
// According to documentation we should use RuntimeLocation on *nixes, but even Qt doesn't respect
// this and creates sockets in TempLocation, so let's be consistent.
lock = new QLockFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation) + "/" + lockName);
lock->setStaleLockTime(0);
lock->tryLock();
switch (lock->error()) {
m_lockFile = new QLockFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation) + "/" + lockName);
m_lockFile->setStaleLockTime(0);
m_lockFile->tryLock();
switch (m_lockFile->error()) {
case QLockFile::NoError:
server.setSocketOptions(QLocalServer::UserAccessOption);
server.listen(socketName);
connect(&server, SIGNAL(newConnection()), this, SIGNAL(anotherInstanceStarted()));
// No existing lock was found, start listener
m_lockServer.setSocketOptions(QLocalServer::UserAccessOption);
m_lockServer.listen(socketName);
connect(&m_lockServer, SIGNAL(newConnection()), this, SIGNAL(anotherInstanceStarted()));
break;
case QLockFile::LockFailedError: {
alreadyRunning = true;
// notify the other instance
// try several times, in case the other instance is still starting up
if (config()->get("SingleInstance").toBool()) {
// Attempt to connect to the existing instance
QLocalSocket client;
for (int i = 0; i < 3; i++) {
client.connectToServer(socketName);
if (client.waitForConnected(150)) {
// Connection succeeded, this will raise the existing window if minimized
client.abort();
m_alreadyRunning = true;
break;
}
}
if (!m_alreadyRunning) {
// If we get here then the original instance is likely dead
qWarning() << QCoreApplication::translate("Main",
"Existing single-instance lock file is invalid. Launching new instance.")
.toUtf8().constData();
// forceably reset the lock file
m_lockFile->removeStaleLockFile();
m_lockFile->tryLock();
// start the listen server
m_lockServer.setSocketOptions(QLocalServer::UserAccessOption);
m_lockServer.listen(socketName);
connect(&m_lockServer, SIGNAL(newConnection()), this, SIGNAL(anotherInstanceStarted()));
}
}
break;
}
default:
qWarning() << QCoreApplication::translate("Main",
"The lock file could not be created. Single-instance mode disabled.")
.toUtf8().constData();
"The lock file could not be created. Single-instance mode disabled.")
.toUtf8().constData();
}
}
Application::~Application()
{
server.close();
if (lock) {
lock->unlock();
delete lock;
m_lockServer.close();
if (m_lockFile) {
m_lockFile->unlock();
delete m_lockFile;
}
}
@ -243,6 +259,6 @@ bool Application::isAlreadyRunning() const
// In DEBUG mode we can run unlimited instances
return false;
#endif
return config()->get("SingleInstance").toBool() && alreadyRunning;
return config()->get("SingleInstance").toBool() && m_alreadyRunning;
}

View File

@ -60,9 +60,9 @@ private:
static void handleUnixSignal(int sig);
static int unixSignalSocket[2];
#endif
bool alreadyRunning;
QLockFile* lock;
QLocalServer server;
bool m_alreadyRunning;
QLockFile* m_lockFile;
QLocalServer m_lockServer;
};
#endif // KEEPASSX_APPLICATION_H

View File

@ -119,6 +119,18 @@ void DatabaseOpenWidget::load(const QString& filename)
m_ui->editPassword->setFocus();
}
void DatabaseOpenWidget::clearForms()
{
m_ui->editPassword->clear();
m_ui->comboKeyFile->clear();
m_ui->checkPassword->setChecked(false);
m_ui->checkKeyFile->setChecked(false);
m_ui->checkChallengeResponse->setChecked(false);
m_ui->buttonTogglePassword->setChecked(false);
m_db = nullptr;
}
Database* DatabaseOpenWidget::database()
{
return m_db;

View File

@ -39,6 +39,7 @@ public:
explicit DatabaseOpenWidget(QWidget* parent = nullptr);
~DatabaseOpenWidget();
void load(const QString& filename);
void clearForms();
void enterKey(const QString& pw, const QString& keyFile);
Database* database();

View File

@ -363,6 +363,8 @@ bool DatabaseTabWidget::saveDatabase(Database* db)
emit messageDismissTab();
return true;
} else {
dbStruct.modified = true;
updateTabName(db);
emit messageTab(tr("Writing the database failed.").append("\n").append(errorMessage),
MessageWidget::Error);
return false;

View File

@ -813,6 +813,7 @@ void DatabaseWidget::mergeDatabase(bool accepted)
m_db->merge(srcDb);
}
m_databaseOpenMergeWidget->clearForms();
setCurrentWidget(m_mainWidget);
emit databaseMerged(m_db);
}
@ -918,6 +919,7 @@ void DatabaseWidget::switchToImportCsv(const QString& fileName)
void DatabaseWidget::switchToOpenMergeDatabase(const QString& fileName)
{
m_databaseOpenMergeWidget->clearForms();
m_databaseOpenMergeWidget->load(fileName);
setCurrentWidget(m_databaseOpenMergeWidget);
}

View File

@ -68,7 +68,7 @@ EditWidgetIcons::EditWidgetIcons(QWidget* parent)
this, SLOT(updateWidgetsDefaultIcons(bool)));
connect(m_ui->customIconsRadio, SIGNAL(toggled(bool)),
this, SLOT(updateWidgetsCustomIcons(bool)));
connect(m_ui->addButton, SIGNAL(clicked()), SLOT(addCustomIcon()));
connect(m_ui->addButton, SIGNAL(clicked()), SLOT(addCustomIconFromFile()));
connect(m_ui->deleteButton, SIGNAL(clicked()), SLOT(removeCustomIcon()));
connect(m_ui->faviconButton, SIGNAL(clicked()), SLOT(downloadFavicon()));
@ -185,15 +185,7 @@ void EditWidgetIcons::fetchFavicon(const QUrl& url)
image.loadFromData(response->collectedData());
if (!image.isNull()) {
//Set the image
Uuid uuid = Uuid::random();
m_database->metadata()->addCustomIcon(uuid, image.scaled(16, 16));
m_customIconModel->setIcons(m_database->metadata()->customIconsScaledPixmaps(),
m_database->metadata()->customIconsOrder());
QModelIndex index = m_customIconModel->indexFromUuid(uuid);
m_ui->customIconsView->setCurrentIndex(index);
m_ui->customIconsRadio->setChecked(true);
addCustomIcon(image);
resetFaviconDownload();
} else {
fetchFaviconFromGoogle(url.host());
@ -226,7 +218,9 @@ void EditWidgetIcons::fetchFavicon(const QUrl& url)
QUrl tempurl = QUrl(m_url);
if (tempurl.scheme() == "http") {
resetFaviconDownload();
MessageBox::warning(this, tr("Error"), tr("Unable to fetch favicon.") + "\n" + tr("Hint: You can enable Google as a fallback under Tools>Settings>Security"));
emit messageEditEntry(tr("Unable to fetch favicon.") + "\n" +
tr("Hint: You can enable Google as a fallback under Tools>Settings>Security"),
MessageWidget::Error);
} else {
tempurl.setScheme("http");
m_url = tempurl.url();
@ -248,7 +242,7 @@ void EditWidgetIcons::fetchFaviconFromGoogle(const QString& domain)
fetchFavicon(faviconUrl);
} else {
resetFaviconDownload();
MessageBox::warning(this, tr("Error"), tr("Unable to fetch favicon."));
emit messageEditEntry(tr("Unable to fetch favicon."), MessageWidget::Error);
}
}
@ -269,7 +263,7 @@ void EditWidgetIcons::resetFaviconDownload(bool clearRedirect)
}
#endif
void EditWidgetIcons::addCustomIcon()
void EditWidgetIcons::addCustomIconFromFile()
{
if (m_database) {
QString filter = QString("%1 (%2);;%3 (*)").arg(tr("Images"),
@ -278,22 +272,41 @@ void EditWidgetIcons::addCustomIcon()
QString filename = QFileDialog::getOpenFileName(
this, tr("Select Image"), "", filter);
if (!filename.isEmpty()) {
QImage image(filename);
if (!image.isNull()) {
Uuid uuid = Uuid::random();
m_database->metadata()->addCustomIcon(uuid, image.scaled(16, 16));
m_customIconModel->setIcons(m_database->metadata()->customIconsScaledPixmaps(),
m_database->metadata()->customIconsOrder());
QModelIndex index = m_customIconModel->indexFromUuid(uuid);
m_ui->customIconsView->setCurrentIndex(index);
}
else {
auto icon = QImage(filename);
if (!icon.isNull()) {
addCustomIcon(QImage(filename));
} else {
emit messageEditEntry(tr("Can't read icon"), MessageWidget::Error);
}
}
}
}
void EditWidgetIcons::addCustomIcon(const QImage &icon)
{
if (m_database) {
Uuid uuid = m_database->metadata()->findCustomIcon(icon);
if (uuid.isNull()) {
uuid = Uuid::random();
// Don't add an icon larger than 128x128, but retain original size if smaller
if (icon.width() > 128 || icon.height() > 128) {
m_database->metadata()->addCustomIcon(uuid, icon.scaled(128, 128));
} else {
m_database->metadata()->addCustomIcon(uuid, icon);
}
m_customIconModel->setIcons(m_database->metadata()->customIconsScaledPixmaps(),
m_database->metadata()->customIconsOrder());
} else {
emit messageEditEntry(tr("Custom icon already exists"), MessageWidget::Information);
}
// Select the new or existing icon
QModelIndex index = m_customIconModel->indexFromUuid(uuid);
m_ui->customIconsView->setCurrentIndex(index);
}
}
void EditWidgetIcons::removeCustomIcon()
{
if (m_database) {

View File

@ -78,7 +78,8 @@ private slots:
void fetchFaviconFromGoogle(const QString& domain);
void resetFaviconDownload(bool clearRedirect = true);
#endif
void addCustomIcon();
void addCustomIconFromFile();
void addCustomIcon(const QImage& icon);
void removeCustomIcon();
void updateWidgetsDefaultIcons(bool checked);
void updateWidgetsCustomIcons(bool checked);

View File

@ -228,6 +228,15 @@ void SettingsWidget::saveSettings()
config()->set("security/passwordscleartext", m_secUi->passwordCleartextCheckBox->isChecked());
config()->set("security/passwordsrepeat", m_secUi->passwordRepeatCheckBox->isChecked());
// Security: clear storage if related settings are disabled
if (!config()->get("RememberLastDatabases").toBool()) {
config()->set("LastDatabases", QVariant());
}
if (!config()->get("RememberLastKeyFiles").toBool()) {
config()->set("LastKeyFiles", QVariant());
}
for (const ExtraPage& page: asConst(m_extraPages)) {
page.saveSettings();
}

View File

@ -26,14 +26,3 @@ UnlockDatabaseWidget::UnlockDatabaseWidget(QWidget* parent)
{
m_ui->labelHeadline->setText(tr("Unlock database"));
}
void UnlockDatabaseWidget::clearForms()
{
m_ui->editPassword->clear();
m_ui->comboKeyFile->clear();
m_ui->checkPassword->setChecked(false);
m_ui->checkKeyFile->setChecked(false);
m_ui->checkChallengeResponse->setChecked(false);
m_ui->buttonTogglePassword->setChecked(false);
m_db = nullptr;
}

View File

@ -26,7 +26,6 @@ class UnlockDatabaseWidget : public DatabaseOpenWidget
public:
explicit UnlockDatabaseWidget(QWidget* parent = nullptr);
void clearForms();
};
#endif // KEEPASSX_UNLOCKDATABASEWIDGET_H

View File

@ -429,6 +429,7 @@ void EditEntryWidget::saveEntry()
// must stand before beginUpdate()
// we don't want to create a new history item, if only the history has changed
m_entry->removeHistoryItems(m_historyModel->deletedEntries());
m_historyModel->clearDeletedEntries();
m_autoTypeAssoc->removeEmpty();
@ -445,6 +446,12 @@ void EditEntryWidget::saveEntry()
void EditEntryWidget::acceptEntry()
{
// Check if passwords are mismatched first to prevent saving
if (!passwordsEqual()) {
showMessage(tr("Different passwords supplied."), MessageWidget::Error);
return;
}
saveEntry();
clear();
emit editFinished(true);
@ -912,8 +919,7 @@ void EditEntryWidget::deleteHistoryEntry()
m_historyModel->deleteIndex(index);
if (m_historyModel->rowCount() > 0) {
m_historyUi->deleteAllButton->setEnabled(true);
}
else {
} else {
m_historyUi->deleteAllButton->setEnabled(false);
}
}

View File

@ -115,6 +115,11 @@ void EntryHistoryModel::clear()
endResetModel();
}
void EntryHistoryModel::clearDeletedEntries()
{
m_deletedHistoryEntries.clear();
}
QList<Entry*> EntryHistoryModel::deletedEntries()
{
return m_deletedHistoryEntries;

View File

@ -37,6 +37,7 @@ public:
void setEntries(const QList<Entry*>& entries);
void clear();
void clearDeletedEntries();
QList<Entry*> deletedEntries();
void deleteIndex(QModelIndex index);
void deleteAll();

View File

@ -151,7 +151,8 @@ QVariant EntryModel::data(const QModelIndex& index, int role) const
}
return result;
case Url:
result = entry->resolveMultiplePlaceholders(entry->url());
result = entry->maskPasswordPlaceholders(entry->url());
result = entry->resolveMultiplePlaceholders(result);
if (attr->isReference(EntryAttributes::URLKey)) {
result.prepend(tr("Ref: ","Reference abbreviation"));
}

View File

@ -50,7 +50,7 @@ QByteArray YkChallengeResponseKey::rawKey() const
*/
bool YkChallengeResponseKey::challenge(const QByteArray& challenge)
{
return this->challenge(challenge, 1);
return this->challenge(challenge, 2);
}
bool YkChallengeResponseKey::challenge(const QByteArray& challenge, unsigned retries)
@ -70,8 +70,8 @@ bool YkChallengeResponseKey::challenge(const QByteArray& challenge, unsigned ret
QEventLoop loop;
QFutureWatcher<YubiKey::ChallengeResult> watcher;
watcher.setFuture(future);
connect(&watcher, SIGNAL(finished()), &loop, SLOT(quit()));
watcher.setFuture(future);
loop.exec();
if (m_blocking) {

View File

@ -154,7 +154,7 @@ YubiKey::ChallengeResult YubiKey::challenge(int slot, bool mayBlock, const QByte
QByteArray paddedChallenge = challenge;
// ensure that YubiKey::init() succeeded
if (m_yk == NULL) {
if (!init()) {
m_mutex.unlock();
return ERROR;
}

View File

@ -268,6 +268,17 @@ void TestGui::testEditEntry()
QCOMPARE(attrTextEdit->toPlainText(), attrText);
editEntryWidget->setCurrentPage(0);
// Test mismatch passwords
QLineEdit* passwordEdit = editEntryWidget->findChild<QLineEdit*>("passwordEdit");
QString originalPassword = passwordEdit->text();
passwordEdit->setText("newpass");
QTest::mouseClick(editEntryWidgetButtonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);
MessageWidget* messageWiget = editEntryWidget->findChild<MessageWidget*>("messageWidget");
QTRY_VERIFY(messageWiget->isVisible());
QCOMPARE(m_dbWidget->currentMode(), DatabaseWidget::EditMode);
QCOMPARE(passwordEdit->text(), QString("newpass"));
passwordEdit->setText(originalPassword);
// Save the edit (press OK)
QTest::mouseClick(editEntryWidgetButtonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);