Compare commits

..

359 Commits
2.0.1 ... 2.1.0

Author SHA1 Message Date
Janek Bevendorff
8a3ac7a26e Release 2.1.0 2017-01-22 20:16:34 +01:00
Janek Bevendorff
8878d7c5dc Formatting 2017-01-22 20:15:58 +01:00
Jonathan White
9a7b8da279 Merge remote-tracking branch 'origin/meta/release-preparation' into release/2.1.0 2017-01-22 14:08:52 -05:00
Janek Bevendorff
1f9ab7ca5d Fix path to CHANGELOG 2017-01-22 20:02:27 +01:00
Janek Bevendorff
2c00cb555c Add missing pull request reference 2017-01-22 19:58:22 +01:00
Janek Bevendorff
dcbc7ff217 Merge branch 'meta/release-preparation' into release/2.1.0 2017-01-22 19:52:26 +01:00
Janek Bevendorff
20f42aa2cc Update CHANGELOG 2017-01-22 19:49:23 +01:00
Jonathan White
19fef019ed Updated snapcraft file for release 2017-01-22 10:40:24 -08:00
Janek Bevendorff
ea02de0cc9 Add hint about merging back into develop and pushing changes 2017-01-22 19:14:56 +01:00
Janek Bevendorff
1525ffc225 Add release preparation script and AppImage recipe 2017-01-22 18:42:56 +01:00
Janek Bevendorff
5458d77980 Merge pull request #165 from keepassxreboot/test/newtravis
Travis builds release and debug using clang and gcc
2017-01-15 06:06:35 +02:00
Jonathan White
a545dc9264 Removed snapcraft and unspecified unique gcc build 2017-01-14 22:53:35 -05:00
Jonathan White
b7c658e8f8 Travis now performs Debug and Release builds 2017-01-14 22:53:31 -05:00
Janek Bevendorff
de69ecc35f Merge pull request #141 from keepassxreboot/feature/searchui-enhance
Enhanced search ui keypress actions

Also resolves #163: icons gone when running release-compiled binary from the build directory
2017-01-15 05:41:35 +02:00
Jonathan White
b6f754c29a Changed built-in clear search button with custom one to fix pixelation 2017-01-14 22:29:16 -05:00
Jonathan White
39e0708b3b Correcting missing icons when running release from build directory 2017-01-14 21:41:18 -05:00
Jonathan White
01464a7860 Added clear text button, accurate down arrow behavior, and fixed sizing 2017-01-14 20:27:34 -05:00
Louis-Bertrand Varin
fd3fefd6f1 Use placeholder for search widget. 2017-01-14 20:07:05 -05:00
Jonathan White
36df21d823 Enhanced search ui keypress actions
* Pressing down arrow will always focus on entry view
* Pressing enter opens currently selected entry
* Pressing CTRL+F focuses and selects search text
* Rewrote test cases to cover the new functionality
2017-01-14 19:47:35 -05:00
Janek Bevendorff
9dadafe20a Merge pull request #160 from louib/feature/updateKdbxExtract
Fixes #156 : update kdbx-extract
2017-01-14 22:26:23 +02:00
Janek Bevendorff
6fd7427cae Merge branch 'develop' into feature/updateKdbxExtract 2017-01-14 22:21:41 +02:00
Louis-Bertrand Varin
9065588a76 Remove unused dependencies. 2017-01-14 15:11:00 -05:00
Janek Bevendorff
b4b47ec8fd Merge pull request #161 from keepassxreboot/migrate/191-spelling
KeePassX PR Migration: #191 Spelling (missing commits)
2017-01-14 21:41:25 +02:00
Janek Bevendorff
ea9f313416 Fix GUI test 2017-01-14 20:33:27 +01:00
Josh Soref
af8e770106 spelling: successfully 2017-01-14 20:13:42 +01:00
Josh Soref
10f03795f9 spelling: transform 2017-01-14 20:13:34 +01:00
Josh Soref
2ad7c5c675 spelling: toggle 2017-01-14 20:13:25 +01:00
Josh Soref
084a1dd7d2 spelling: whose 2017-01-14 20:12:32 +01:00
Janek Bevendorff
d1793d9bcf Ask PR authors to remove lines that don't apply instead of changing emoji (#159)
* Ask user to remove lines that don't apply instead of changing emoji
* Replace KeePassXR with KeePassXC
* Add help text how to find KeePassXC version [skip ci]
* Combine documentation requirements into one [skip ci]
2017-01-14 14:09:59 -05:00
Louis-Bertrand Varin
d7ed33809f Use QCommandLineParser 2017-01-14 14:08:10 -05:00
Louis-Bertrand Varin
798041fe11 Extract readKeyFromLine. 2017-01-14 13:25:30 -05:00
Janek Bevendorff
995420ee87 Merge pull request #158 from keepassxreboot/migrate/191-spelling
KeePassX PR Migration: #191 Spelling
2017-01-14 20:09:51 +02:00
Josh Soref
341ff3de37 spelling: recycle 2017-01-14 17:32:03 +01:00
Josh Soref
ce06fcdbe0 spelling: occurred 2017-01-14 17:32:03 +01:00
Josh Soref
b8c93b3572 spelling: finish 2017-01-14 17:32:03 +01:00
Josh Soref
4ea6faae81 spelling: executor 2017-01-14 17:32:03 +01:00
Josh Soref
ca8ddd5f39 spelling: decrypt 2017-01-14 17:31:38 +01:00
Josh Soref
3924f628b4 spelling: full 2017-01-14 17:31:38 +01:00
Josh Soref
53e0893b51 spelling: correct 2017-01-14 17:31:38 +01:00
Josh Soref
d988b9e6d2 spelling: characters 2017-01-14 17:31:38 +01:00
Josh Soref
6060f41458 spelling: available 2017-01-14 17:31:38 +01:00
Josh Soref
569ea3ebdd spelling: attachments 2017-01-14 17:31:38 +01:00
Josh Soref
40eafa8adc spelling: associations 2017-01-14 17:31:38 +01:00
Janek Bevendorff
1ca5b72073 Merge pull request #143 from louib/feature/merge_databases_script
Feature : merge databases program
2017-01-14 15:09:47 +02:00
Janek Bevendorff
d7c308c688 Merge branch 'develop' into feature/merge_databases_script 2017-01-14 14:49:03 +02:00
Louis-Bertrand Varin
1e0191a37c Remove unused dependencies. 2017-01-13 19:45:33 -05:00
TheZ3ro
a8d9e8ba7c Merge pull request #153 from louib/fix/databaseLockTypo
Add missing space in messages.
2017-01-12 10:20:14 +01:00
Louis-Bertrand Varin
1a5c18c9bd Add missing space in messages. 2017-01-11 21:12:43 -05:00
Louis-Bertrand Varin
421e6303ae Rename merge-databases -> kdbx-merge 2017-01-11 21:05:16 -05:00
Louis-Bertrand Varin
a79366f105 Use QCommandLineParser
* Switch to using QCommandLineParser
* Implement the --same-password option
* extract `getKeyFromLine` function
2017-01-11 21:00:11 -05:00
Tarquin Winot
f85198c60f Replace old-style C conversions in entropy estimator (#150) 2017-01-10 17:37:58 -05:00
Louis-Bertrand Varin
2afa1f0dc8 Use 2 passwords for merging. 2017-01-08 22:46:30 -05:00
Louis-Bertrand Varin
a40f84d519 Read the password from stdin. 2017-01-07 15:14:54 -05:00
Louis-Bertrand Varin
bdb49a36bf Reverting .gitignore 2017-01-07 13:12:30 -05:00
Louis-Bertrand Varin
1458ba6f6f qInfo -> qDebug and missing imports. 2017-01-06 20:24:50 -05:00
Louis-Bertrand Varin
007073354f Revert cmake in .gitignore. 2017-01-06 20:19:26 -05:00
Louis-Bertrand Varin
be827211d2 Removing unused imports. 2017-01-06 16:32:18 -05:00
Louis-Bertrand Varin
5bc3924756 Merge databases script. 2017-01-06 16:29:07 -05:00
louib
ff6d78244b Updated INSTALL documentation. (#140)
* KeePassCR -> KeePassXC in INSTALL
* Added .md extension to INSTALL.
2017-01-04 18:47:29 -05:00
Jonathan White
5f1b9a17ca Fix testgui for Windows (PR #137)
Introduces TemporaryFile class to act as a proxy to fix autoreload test cases failing on windows due to the behavior of QTemporaryFile.
2017-01-03 22:27:41 -05:00
Jonathan White
534364454d Merge branch 'feature/cmake-fix-#50-#123' into develop
* Fixes #50 and #123
2017-01-02 22:27:20 -05:00
Jonathan White
0e65b9b9f8 Corrected autotype lib building for Windows 2017-01-02 22:25:37 -05:00
thez3ro
07a41f58d7 Add autotype library linking
Added Autotype switch + updated Travis to always test all extension
2017-01-02 22:25:36 -05:00
Jonathan White
5b04e195b0 Merge pull request #132 from keepassxreboot/improve_search_ui
Improve UI of the search edit widget
2017-01-02 20:04:21 -05:00
Jonathan White
9fa2dae68c Merge branch 'develop' into improve_search_ui 2017-01-02 17:51:42 -05:00
Danny Su
9000bc138f Update Website URL in About Dialog (#136) 2017-01-02 17:50:42 -05:00
Jonathan White
9660510cc7 Cleaned up SearchWidget code 2016-12-23 23:14:50 -05:00
thez3ro
298665e32a Improve UI of the search edit #131 2016-12-23 18:13:08 +01:00
Akinori MUSHA
d0a3c08840 Improve UI of the search edit (resurrecting 5c7c7f54)
- The copy action (Control+C) when no text is selected copies the
  password of the current entry.  This should be reasonable when
  Control+B copies the username.

- Down at EOL moves the focus to the entry view.  Enter and Tab should
  do that, but it would be handy for user to be able to get to the third
  entry by hitting Down three times.
2016-12-22 17:16:59 +09:00
Danny Su
63a1b49745 Fix build for 64-bit Windows (#130)
Building on 64-bit Windows gets to 99% and fails on this particular file due to the `stdafx.h` inclusion.
The macro in `entropy-meter.cpp` is different than `src/zxcvbn/zxcvbn.cpp`.
After copying the macro from `zxcvbn.cpp` and rebuilding, the Windows build succeeded.
2016-12-20 18:41:15 -05:00
greenbasilisk
9547ac0afd Fix build issue for openSuse (#126)
* Corrects missing symbols when linking
2016-12-11 21:50:17 -05:00
Jonathan White
fa891edb7c Added extensions section in about dialog; fixed url as well 2016-12-07 22:40:09 -05:00
thez3ro
65992ba6ae Option to select extension compile-time. Fix #50 #123 2016-12-04 19:57:24 +01:00
Jonathan White
791a749c2f Search scopes to currently selected group (and children) (#118)
* Added test cases for case sensitive and group search
2016-11-28 19:02:21 -05:00
Janek Bevendorff
9261d8ae9d Force focus on password field, resolves #116 (#117)
Also remove redudant code for minimizing to tray
2016-11-26 09:37:25 -05:00
TheZ3ro
405b82588b Add Autotype Entry-Attributes, Fix Group default sequence (#107) 2016-11-25 12:26:59 -05:00
Jonathan White
0dfd2003f9 Implement autoreload of database file (#93) 2016-11-25 12:13:28 -05:00
Jonathan White
3d249365c2 Merge remote-tracking branch 'origin/feature/autoreload-db' into develop 2016-11-25 12:04:44 -05:00
Jonathan White
7fb33653ad Implemented major autoreload functionality
* Ignore autoreload on save / save-as
* Consolidated db save code
* Corrected bug (crash) in merge entry code due to not cloning the entry
* Enhanced known modified status of database
* Implemented test cases for autoreload
2016-11-25 12:03:36 -05:00
Jonathan White
3cccfd97d2 Set travis to only create snapcraft after gcc build 2016-11-25 10:12:45 -05:00
Andreas Nüßlein
0c40cdc990 XR -> XC (#114) 2016-11-24 13:15:34 -05:00
Jonathan White
81392a71dd Only perform snapcraft build on develop or master, re-enabled clang 2016-11-23 22:28:08 -05:00
TheZ3ro
b2f3cc6903 Add some password-related feature (#92)
* Add Standalone Password Generator. Closes #18 
* Add an entropy meter for passwords. Closes #84
* Don't require password repeat when it is visible. Fixes #27
2016-11-23 21:59:24 -05:00
Janek Bevendorff
19a960856c Fix minimize at startup and decouple various tray and minimization options (#109)
* Hide window on startup when configured to start minimized, fixes #105
* Decouple different systray and minimization options, fixes #64
* Commit missing changes in main.cpp to minimize at startup

* Remove obsolete code
2016-11-23 18:15:51 -05:00
Devinsuit
02d2ac904d Update broken link #112 (#113) 2016-11-23 18:08:11 -05:00
Jonathan White
29f93597f2 Updated English translation file and fixed typos in HTTP language 2016-11-14 21:54:56 -05:00
Jonathan White
20c3ca7d37 Merge remote-tracking branch 'origin/develop' into feature/autoreload-db
# Conflicts:
#	src/gui/DatabaseWidget.cpp
#	src/gui/DatabaseWidget.h
2016-11-11 16:47:01 -05:00
Jonathan White
9bb2cfcd51 Moved transifex to new url
Signed-off-by: Jonathan White <support@dmapps.us>
2016-11-11 16:30:57 -05:00
TheZ3ro
6927158daa Add unlock dialog on Autotype and show default Autotype sequence (#89)
* Add unlockdialog on autotype. Fix #10
* Show default autotype sequence for existing entries
* NOTE: New entries/groups do not show the default autotype sequence
2016-11-11 16:26:07 -05:00
Leo Arias
0657d343bf Add icon and desktop file to snapcraft build (#91) 2016-11-11 11:34:32 -05:00
Jonathan White
37aedc8b03 Cleaned up code and added spots for todo work. Fully Working! 2016-11-09 07:38:14 -05:00
Leo Arias
3c89ce97c2 Build the snap in travis (#87) 2016-11-08 19:49:48 -05:00
TheZ3ro
753b9c9e67 Add Autotype on Windows and MacOS (#63)
* Add Autotype on Windows, including Windows 10
* Add MacOS autotype, fix macdeployqt build
* Make QT_BINARY_DIR overwritable at compile time
2016-11-08 16:13:57 -05:00
Jonathan White
06b1baa454 Automatic reload the database when the file is externally modified 2016-11-07 23:03:01 -05:00
Jonathan White
e25cd9ba48 Add Merge database utility function (#47)
Thank you to @TheZ3ro and @monomon for there major contributions to this PR!
2016-11-07 22:37:42 -05:00
Leo Arias
e00c6f9c77 Add the packaging metadata to build the keepassxc snap (#83) 2016-11-07 14:57:06 -05:00
Leo Arias
68cc06dc1f Fix the call to cmake (#82) 2016-11-05 17:37:28 -04:00
Leo Arias
1901655669 Update the links to the new repository location (#81) 2016-11-05 16:17:30 -04:00
Jonathan White
753d1d50d0 Add delay feature to autotype (#77)
* Implement {DELAY=X} in autotype
2016-11-04 18:05:47 -04:00
Jonathan White
ac108cd708 Added guard to prevent missing prereqs for coverage.. 2016-11-04 00:52:00 -04:00
Jonathan White
29be837b97 Updated README badges and added code coverage 2016-11-04 00:47:04 -04:00
Jonathan White
682eac3dbc Updated name to KeePassXC in README 2016-11-03 00:17:51 -04:00
Jonathan White
ccec84aef2 Rename application to KeePassXC and change icon (#70) 2016-11-03 00:05:30 -04:00
Jonathan White
13983d0e51 Make search always visible (PR #67)
* Moved search bar to toolbar and consolidated search options into dropdown list
* Updated GUI tests to be atomic and rewrote search tests
* Searches are saved between databases
* Search is cleared when all databases are closed
* Implemented global search shortcut (CTRL+F) and a notification bar when in search mode
2016-11-02 21:01:02 -04:00
Jonathan White
3f80134f07 Merge pull request #66 from JosefVitu/fix-tests
Fix memory leaks and typos in various tests
2016-10-29 09:18:05 -04:00
Josef Vitu
ad36ec4dfd Fix tests 2016-10-28 18:51:09 +02:00
Jonathan White
82ace81974 Merge pull request #57 from JosefVitu/lock-on-minimize
Implement automatic locking when minimizing
2016-10-28 10:31:25 -04:00
Jonathan White
13c3743ff5 Merge branch 'develop' into lock-on-minimize 2016-10-28 10:24:21 -04:00
Jonathan White
46904fb110 Merge pull request #65 from JosefVitu/fix-#34
Fix advanced HTTP settings (close #34)
2016-10-28 10:22:51 -04:00
Josef Vitu
8f3ffdcc2a Fix advanced HTTP settings (close #34) 2016-10-28 15:25:57 +02:00
Josef Vitu
6c3c0087dd 🔒 Implement automatic locking when minimizing 2016-10-28 13:22:17 +02:00
Jonathan White
2e9b42688f Merge pull request #62 from keepassxreboot/feature/docs-#24
Update CONTRIBUTING.md with Branch Strategy
2016-10-27 15:07:47 -04:00
thez3ro
589b6465f8 📝 Update CONTRIBUTING.md with Branch Strategy. close #24 [ci skip] 2016-10-27 19:28:39 +02:00
TheZ3ro
6c7c5443d4 Updated Pull Request Template and Contribute documents
* 📝 Update Installation instruction from the Wiki
* 📝 Update PR template with emojis 🎉
* 📝 Update CONTRIBUTING.md with CodeStyle
2016-10-26 08:19:28 -04:00
Jonathan White
fdad028e73 Merge pull request #59 from jkt628/develop
search directory configured via environment
2016-10-26 08:10:30 -04:00
Jack Thomasson
3ec29d3b52 search directory configured via environment
use absolute path to database file
2016-10-25 10:18:23 -06:00
Jonathan White
e97add0c46 Merge pull request #55 from jkt628/develop
utility to launch keepassx with database passwords fetched from kdewa…
2016-10-24 21:14:41 -04:00
Jack Thomasson
0138209004 utility to launch keepassx with database passwords fetched from kdewallet 2016-10-24 18:20:17 -06:00
Jonathan White
f7fd78d715 Merge pull request #53 from keepassxreboot/feature/fix-win-build
Fix winsock and autotype error when compiling on Windows
2016-10-24 19:09:39 -04:00
Jonathan White
bbd8447afa Merge branch 'develop' into feature/fix-win-build 2016-10-24 19:04:16 -04:00
Jonathan White
cf2bbbfef1 Merge pull request #54 from jkt628/develop
add command line option --pw-stdin to accept password from stdin
2016-10-24 18:15:41 -04:00
Jack Thomasson
7000e80465 add command line option --pw-stdin to accept password from stdin 2016-10-24 12:22:02 -06:00
thez3ro
24a17c05ab 🏁 Fix winsock and autotype error when compiling on Windows 2016-10-24 19:45:35 +02:00
Jonathan White
7c4129033a Merge pull request #52 from pugaoffitlh/develop
Added issues link to Readme
2016-10-21 11:16:18 -04:00
David Puga
83e3267f0e 📝 added issues link to issues
[ci skip]
2016-10-20 20:08:01 -07:00
Jonathan White
62cfbf73e1 Merge pull request #46 from keepassxreboot/feature/trayicon-#37
Show locked tray icon when database is locked
2016-10-19 22:45:56 -04:00
TheZ3ro
f539d69984 Add PNG tray-icons for locked db [ci skip] 2016-10-18 11:44:37 +02:00
TheZ3ro
ba86c1e1da Institute CONTRIBUTING, ISSUE template, and PR template
* DOC: Add ISSUE and PR template, add CONTRIBUTING
* DOC: incorporated feedback from @samrocketman, @Manko10, and @droidmonkey
* README now points to CONTRIBUTING instead of repeating it
* Added code style link and minor tweaks to CONTRIBUTING
2016-10-17 22:16:37 -04:00
Jonathan White
cfb7de0fe9 Updated transifex configuration and translation files (#35) 2016-10-13 18:32:13 -04:00
Jonathan White
334859726c Updated readme 2016-10-11 20:06:28 -04:00
Manolis Agkopian
119af3d760 Fetch favicon from the root of the website and use Google as a fallback (#36)
* Replace favicon fetching using Google with fetching from the root of the website
* Follow up to 3 http redirects for the favicon
* Add download favicon from Google as fallback
* Move code responsible for fetching the favicon from Google on its own function to reduce repetitiveness.
2016-10-11 18:04:44 -04:00
thez3ro
3bbf11e26f Unlocked tray icon #37 2016-10-10 00:02:28 -04:00
Jonathan White
5bb27b2989 Fixed Travis image link 2016-10-05 23:15:58 -04:00
Jonathan White
c4b3f08618 Download favorite icon of entry url and add to the custom icon registry (#30)
* Favicon download button.
* Simplified icon grabbing code
2016-10-05 23:10:06 -04:00
Jonathan White
6ac773d5ae Updated readme file 2016-10-05 23:03:13 -04:00
Jonathan White
e19559fe81 Merge pull request #29 from Manko10/develop
Update link to new upstream repository for pull requests
2016-10-05 18:51:34 -04:00
Janek Bevendorff
7dd30d4db1 Update link to new upstream repository for pull requests 2016-10-05 18:21:26 +02:00
Jonathan White
9b8b7b490a Merge branch 'keepassx_203' into develop 2016-10-02 21:51:08 -04:00
Felix Geyer
5ec9d0685d Finalize changelog. 2016-10-02 21:50:15 -04:00
Felix Geyer
004c412501 Update translations. 2016-10-02 21:50:15 -04:00
Felix Geyer
f05caf7623 Prepare for 2.0.3 release. 2016-10-02 21:50:15 -04:00
Jonathan White
7d165f133a Merge branch 'keepassx_master' into develop 2016-10-02 21:49:24 -04:00
Felix Geyer
fff9e7ac46 Convert Q_FOREACH loops to C++11 for loops.
Q_FOREACH will de deprecated soon.
2016-10-02 21:45:55 -04:00
Felix Geyer
ad834f0f58 Merge branch '2.0' 2016-10-02 21:45:55 -04:00
Felix Geyer
8a50ee8b22 Close database without asking when unmodified.
Don't ask for confirmation when closing/locking a database and
- it's in edit entry mode
- there haven't been any modifications

Refs #511
2016-10-02 21:45:54 -04:00
Felix Geyer
cf8186312a Refactor parts of EditEntryWidget::saveEntry() into updateEntryData(). 2016-10-02 21:45:54 -04:00
Felix Geyer
8f87b5cfd4 Split EditWidgetIcons::save() into state() and reset(). 2016-10-02 21:45:54 -04:00
Felix Geyer
61ce733c6f Make Entry::endUpdate() return whether the entry has been modified. 2016-10-02 21:45:54 -04:00
Felix Geyer
c78822f6e6 Merge branch '2.0' 2016-10-02 21:45:54 -04:00
Felix Geyer
a10a30f390 Fix name of Qt translation file.
In Qt5 it's qtbase_<lang> instead of qt_<lang>
2016-10-02 21:44:33 -04:00
Felix Geyer
7c7014d951 Drop obsolete GCRYPT_HAS_SALSA20 ifdef. 2016-10-02 21:44:33 -04:00
Jonathan White
dee331d52d Fixed Travis CI build process 2016-10-02 21:30:17 -04:00
Jonathan
2146392a2f Merge pull request #8 from daniellandau/save-with-ctrl-return
Save entry with ctrl+return keyboard shortcut
2016-10-02 10:10:33 -04:00
Jonathan White
e011a6eb25 Fixed typo from merge 2016-10-02 10:02:54 -04:00
Jonathan White
5eadd10612 Merge remote-tracking branch 'origin/keepassx_merge' 2016-09-29 22:37:45 -04:00
Felix Geyer
c2a80ce570 Remember auto-type window size.
Resize columns once when the entry list is set.

Based on https://github.com/keepassx/keepassx/pull/158

Closes #478
2016-09-29 22:08:37 -04:00
Felix Geyer
3415073051 Display an error message when opening the database fails.
Closes #462
2016-09-29 22:08:29 -04:00
Felix Geyer
ba68e0a4a1 Show proper error message when key is wrong for .kdb files. 2016-09-29 22:08:20 -04:00
Felix Geyer
8a7e98820a Fix typo.
# Conflicts:
#	src/format/KeePass2Reader.cpp
2016-09-29 22:08:10 -04:00
Felix Geyer
d61e4d69b5 Update optional dependencies in the README.
# Conflicts:
#	README.md
2016-09-29 22:05:32 -04:00
Felix Geyer
9b8912c483 Print libXtst instead of libXtest in the feature summary.
The protocol is called XTEST but the library libxtst.

Closes #440

# Conflicts:
#	src/autotype/CMakeLists.txt
2016-09-29 21:58:56 -04:00
Felix Geyer
878995366a Ask the user before moving an entry to the recycle bin.
Closes #447
2016-09-02 12:00:12 +02:00
Felix Geyer
1635a5211f Pass entryFlags to clone() when recursing into sub-groups.
Based on https://github.com/keepassx/keepassx/pull/178 by Mois Moshev <mois@monomon.me>

Closes #525
2016-09-02 11:47:22 +02:00
Felix Geyer
595b1011dd Refresh fileInfo after creating the file.
Fixes canonicalFilePath() returning an empty string.
2016-09-02 11:35:39 +02:00
Felix Geyer
9bb291235d Fix monospace font on Windows.
Closes #424
2016-09-02 11:35:39 +02:00
Felix Geyer
7d4ef0b8d0 Generate new password whenever the generator widget is opened.
Closes #414
2016-09-02 11:35:39 +02:00
Florian Geyer
8d16522d39 Repair UUID of inconsistent history items.
Closes #130
2016-08-03 23:48:40 +02:00
Felix Geyer
cd1192b409 Allow deleting the recycle bin.
Closes #46
2016-08-03 23:45:04 +02:00
Felix Geyer
bf2fd63131 Fix crash when deleting parent group of recycle bin.
In these cases delete the group instead of trying to move it to the recycle bin.

Closes #520
2016-08-03 23:27:02 +02:00
Daniel Landau
029da87346 Save and exit entry editing with Ctrl+Return
When the cursor is on most fields, you can use Return to end editing and
save, but on the Notes field Return just changes the line. This commit
adds a shortcut to the whole widget to save with Ctrl+Return, so that
saving and exiting is quick even when editing notes.
2016-08-02 16:10:54 +03:00
Felix Geyer
9532bedd7d Update min. length for password generator.
Update the minimum length for the password generator depending on the chosen
options.

Closes #420
2016-07-31 22:07:47 +02:00
Felix Geyer
e9c8363b70 Save to canonical file path so we don't overwrite symlinks.
When saving a database we previously replaced symlinks with a regular file.

Closes #442
2016-07-31 18:29:43 +02:00
Felix Geyer
fb57ed2bcd Add proper error handling when QSaveFile::open() fails.
Based on pull request by Valeriy <jazzvoid@gmail.com>

Closes #450
2016-07-31 17:07:31 +02:00
Felix Geyer
57ec558396 Detect image format solely on content.
Otherwise reading fails if the file extension is wrong.

Closes #512
2016-07-31 15:36:29 +02:00
Felix Geyer
6e2de1cd79 Display proper error message when reading an icon fails.
Refs #512
2016-07-31 14:44:45 +02:00
Felix Geyer
8ace3ab7f2 Don't consider windows with WithdrawnState as top level windows.
Fixes many bogus windows in auto-type window list when using gnome-shell.
2016-07-31 14:44:45 +02:00
Felix Geyer
18e4dca6c9 Explicitly include QFile in TestKeePass2Writer.
Closes #452
2016-07-31 14:44:45 +02:00
Jonathan White
99bb5d33f2 Incorporated fix for IPV6 remote server 2016-07-07 19:32:31 -04:00
Felix Geyer
d4ed4f9325 Remember auto-type window size.
Resize columns once when the entry list is set.

Based on https://github.com/keepassx/keepassx/pull/158

Closes #478
2016-05-25 16:55:06 +02:00
Jonathan White
bb2e1ee8da Revert "Fix IPv6 support and warn when binding fails"
Yikes this fix doesn't compile.
2016-05-24 02:21:17 -04:00
Jonathan White
51bfbc964e Fix IPv6 support and warn when binding fails
Thanks to @eugenesan
2016-05-24 02:12:33 -04:00
Felix Geyer
48eca3e11f Display an error message when opening the database fails.
Closes #462
2016-05-20 16:49:32 +02:00
Felix Geyer
57c1a0f4b6 Show proper error message when key is wrong for .kdb files. 2016-04-09 16:09:53 +02:00
Felix Geyer
bde4d63fdb Fix typo. 2016-04-09 16:02:49 +02:00
Jonathan White
cbb1269b39 Merge from eugenesan/keepassx to implement 1.8.4.1 improvements 2016-04-03 10:49:00 -04:00
Jonathan White
175167b311 Temporary fix for new keepasshttp version
Updates internal version number to prevent warnings on browser plugins. Does not implement host change protocol added in this version.
2016-03-26 09:09:35 -04:00
Jonathan White
029052fa18 Updated readme 2016-03-14 21:19:34 -04:00
Jonathan White
a454469949 Fixed test cases not building 2016-03-14 21:17:18 -04:00
Jonathan
0562ed720b Merge pull request #1 from liangwang/master
update header file for Qt5
2016-03-14 21:12:48 -04:00
Liang Wang
cbe8a9649c update header file for Qt5 2016-03-14 11:34:21 -04:00
Jonathan White
f48fdc1d71 Updated Readme 2016-02-28 11:00:05 -05:00
Jonathan White
7f7753a004 Fixed various Qt5 changes in the http code 2016-02-28 10:52:02 -05:00
Jonathan White
aba4fa94be Merge remote-tracking branch 'keepassx/master'
# Conflicts:
#	README.md
#	share/translations/keepassx_de.ts
#	src/CMakeLists.txt
#	src/gui/MainWindow.h
2016-02-27 19:11:09 -05:00
Felix Geyer
4eea7c8297 Remove KEEPASSX_EXPORT attribute from Tools::binaryFind().
It's an inline function. Declaring it as KEEPASSX_EXPORT breaks
building on Windows.

Closes #373
2016-02-13 11:54:54 +01:00
Felix Geyer
4867d26f7d Update optional dependencies in the README. 2016-02-13 11:24:11 +01:00
Felix Geyer
9bd3ab717e Print libXtst instead of libXtest in the feature summary.
The protocol is called XTEST but the library libxtst.

Closes #440
2016-02-13 11:13:15 +01:00
Felix Geyer
d6d92ce90a Merge branch '2.0' 2016-02-08 18:13:29 +01:00
Felix Geyer
3679b21701 Fix typo in changelog. 2016-02-02 01:22:48 +01:00
Felix Geyer
49f58b4ed8 Prepare 2.0.2 release. 2016-02-02 01:21:39 +01:00
Felix Geyer
235361faf4 Explicitly cast char constant to QChar. 2016-02-02 00:57:28 +01:00
Felix Geyer
208b803fbe Fix KeePass2Repair to retain multi-byte UTF-8 chars.
Since char is (often) unsigned the ch < 0x20 check matched all
multi-byte encoded UTF-8 chars.
2016-02-02 00:41:16 +01:00
Felix Geyer
8a92cec03f Keep valid surrogate pairs in stripInvalidXml10Chars(). 2016-02-02 00:38:58 +01:00
Felix Geyer
bfae81ec70 Use C++11 keyword directly in new methods. 2016-01-29 17:25:32 +01:00
Felix Geyer
71d4cb781d Merge branch '2.0' 2016-01-29 17:22:37 +01:00
Felix Geyer
ecfbf72a57 Merge branch '2.0' 2015-12-15 21:05:00 +01:00
Felix Geyer
0c36c40a5d Make TestGui work with offscreen QPA.
For some reason hasFocus() returns true here.
Use isVisible() instead as it's a stronger check anyway.
2015-11-01 13:37:03 +01:00
Felix Geyer
6337e673f9 travis-ci: Restore accidentally removed cmake args. 2015-10-15 20:58:00 +02:00
Felix Geyer
e800892cc1 travis-ci: Install xvfb package to run the gui tests. 2015-10-15 20:56:39 +02:00
Felix Geyer
a21e893749 travis-ci: Switch to the Ubuntu trusty image. 2015-10-15 20:28:50 +02:00
Felix Geyer
dff3fc0572 Coding style fixes. 2015-10-15 18:02:31 +02:00
Felix Geyer
5de0ec94e0 Stop using deprecated methods from QtAlgorithms. 2015-10-13 22:52:07 +02:00
Felix Geyer
a408b01111 Add WITH_DEV_BUILD mode.
It disables/warns about deprecated methods.
2015-10-13 22:51:31 +02:00
Felix Geyer
6e45cf0dab Use C++11 keywords directly. 2015-10-11 10:47:30 +02:00
Felix Geyer
dc7b6623a9 Merge branch '2.0' 2015-10-11 10:44:30 +02:00
Frank Nießen
9484af5329 Minimize-On-Startup: call configuredMinimizeWindow() function of MainWindow to hide it after database is unlocked 2015-10-08 20:30:03 +02:00
Frank Nießen
3cf1a16398 Minimize-On-Startup: add function to minimize mainwindow if all four tray settings are true 2015-10-08 19:25:42 +02:00
Frank Nießen
0f0af12353 Minimize-On-Startup: get and set new setting from/to config object 2015-10-08 19:09:58 +02:00
Frank Nießen
7cb9a4ee4a Minimize-On-Startup: translation (de) for new checkbox in ui 2015-10-08 19:09:58 +02:00
Frank Nießen
28a1eb86da Minimize-On-Startup: new checkbox in ui 2015-10-08 19:09:41 +02:00
Frank Nießen
86f12d9e83 cleaner handling of TrayIconEnabled 2015-10-08 16:27:29 +02:00
Frank Nießen
539f86fd0b respect setting of parent checkboxes for minimizeToTray 2015-10-08 15:13:22 +02:00
Frank Nießen
c93b12ff05 better handling and display for systray checkbox buttons 2015-10-06 21:12:59 +02:00
Frank Nießen
319edca870 add translation for new checkbox button 2015-10-06 21:11:51 +02:00
Felix Geyer
5a59287927 Revert "travis-ci: Restore some sanity."
This reverts commit 20726ae75c.

The packages fail to install, probably conflict with some other
installed packages.
I can't be bothered to debug this. Let's hope Travis CI updates
the build environment to something more usable soon.
2015-09-27 23:20:27 +02:00
Felix Geyer
20726ae75c travis-ci: Restore some sanity. 2015-09-26 11:48:31 +02:00
Felix Geyer
3b2a39fd38 Merge branch '2.0' 2015-09-26 11:44:27 +02:00
Felix Geyer
c8ae31a248 Remove backported Qt5 test macros. 2015-09-23 22:21:21 +02:00
Florian Geyer
66a01e4fef Better output of translation file paths in cmake message. 2015-09-23 20:15:09 +02:00
Felix Geyer
d559db4fb1 Merge branch '2.0' 2015-09-21 23:23:51 +02:00
Felix Geyer
6f5871434d Update required version of build-dependencies.
Refs #350
2015-09-19 11:28:03 +02:00
Felix Geyer
685f249fd0 Merge remote-tracking branch 'github/pr/128'
https://github.com/keepassx/keepassx/pull/128
2015-09-19 11:22:17 +02:00
Nairolf21
26ccd577b5 Update dependencies to build KeepassX 2015-09-18 01:13:53 -07:00
Felix Geyer
5a13402b51 Activate window in TestGui.
It doesn't seem to get the focus automatically when run inside Xvfb.
QTRY_VERIFY(searchEdit->hasFocus()) failed as a result of this.
2015-09-12 23:12:17 +02:00
Felix Geyer
82aa02a980 travis-ci: Switch to Qt 5.4.2 ppa. 2015-09-12 21:46:15 +02:00
Felix Geyer
3dd98deecc Use QStandardPaths::DataLocation instead of AppDataLocation.
AppDataLocation is only available in Qt >= 5.4.
2015-09-12 18:41:48 +02:00
Felix Geyer
2e23fb203a Pass -std=c++11 to the C++ compiler unconditionally.
All supported compiler should understand it.
2015-09-12 16:16:18 +02:00
Felix Geyer
625e9a2547 Make TestGui agnostic to added "&" in tab title.
Fixes tests on OS X / Qt 5.5.0.
2015-09-12 15:48:38 +02:00
Felix Geyer
aab2b7df1c travis-ci: Remove conflicting libgcrypt11-dev package. 2015-09-12 15:43:18 +02:00
Felix Geyer
31bd44bec5 travis-ci: Output test failures on OS X. 2015-09-12 15:39:21 +02:00
Felix Geyer
11532b603a travis-ci: Use more force. 2015-09-12 15:38:48 +02:00
Felix Geyer
523c88b80d travis-ci: Install libgcrypt from Ubuntu 14.04.
This is getting really ugly but we need libgcrypt >= 1.6.
2015-09-12 15:31:24 +02:00
Felix Geyer
7cf1bb7e38 travis-ci: Pass Qt5 installation path to cmake. 2015-09-12 15:26:45 +02:00
Felix Geyer
eb9fdb43c1 travis-ci: install and use gcc 4.7.
gcc 4.6 doesn't support all C++11 feature we need.
2015-09-12 15:24:42 +02:00
Felix Geyer
0362f45547 Don't try to install homebrew packages that are already there.
brew install <existing package> returns an error code.
2015-09-12 14:43:37 +02:00
Felix Geyer
31f55fdb26 Install cmake binaries provided by upstream.
cmake 2.8.7 in Ubuntu 12.04 is too old.
2015-09-12 14:34:59 +02:00
Felix Geyer
26928a63e8 Try to work around travis providing an ancient build environment. 2015-09-12 14:12:27 +02:00
Paultergeist
abacec5787 Fixed compile error on Mac 2015-09-12 14:00:53 +02:00
Benjamin Robin
d84af2def0 Fix the open recent database menu.
With at least Qt 5.5 the action text is automatically modified from
/home/ben/db.kdbx to /&home/ben/db.kdbx

So add the path of the database to the action using setData

Signed-off-by: Benjamin Robin <dev@benjarobin.fr>
2015-09-12 14:00:03 +02:00
Felix Geyer
7fa0eddc5f Make C++11 mandatory. 2015-09-12 13:55:50 +02:00
Felix Geyer
0e85c98d02 Remove backported definitions from Global.h. 2015-09-12 13:51:49 +02:00
Felix Geyer
ae2b27d400 Connect rowsAboutToBeMoved() and rowsMoved() again.
Accidentally removed in 4fcce6f98f3d481514825ebdffc024c36bd5389c
2015-09-12 13:51:49 +02:00
Felix Geyer
7c424e1b85 Merge updated modeltest from Qt 5. 2015-09-12 13:51:49 +02:00
Felix Geyer
ba1ca4ec08 Rename x11 auto-type plugin to xcb.
This matches what QGuiApplication::platformName() returns.
2015-09-12 13:51:49 +02:00
Felix Geyer
20b13a4a2e Ger rid of last Qt 4 version check. 2015-09-12 13:51:49 +02:00
Felix Geyer
460b23b1eb Use QElapsedTimer everywhere. 2015-09-12 13:51:49 +02:00
Felix Geyer
9882f16614 Remove Tools::currentDateTimeUtc(). 2015-09-12 13:51:49 +02:00
Felix Geyer
60daa2b41b Require libgcrypt >= 1.6.0.
Remove our own Salsa20 implementation as libgcrypt ships one
with that version.
2015-09-12 13:51:49 +02:00
Felix Geyer
d81565df55 qttools5-dev-tools is also required for building on Debian. 2015-09-12 13:51:49 +02:00
Felix Geyer
e2ac176d3c Remove second argument of QSKIP call.
Has been removed in Qt 5.
2015-09-12 13:51:49 +02:00
Felix Geyer
ec8c0bb3e7 Setup new build dependencies. 2015-09-12 13:51:49 +02:00
Felix Geyer
b904fe5acd Adapt X11 auto-type plugin to handle xcb instead of xlib events. 2015-09-12 13:51:49 +02:00
Felix Geyer
3b07098731 Port native event filter to Qt 5. 2015-09-12 13:51:49 +02:00
Felix Geyer
03a330a4dd Port Tools::platform() to Qt 5.
The Q_WS_* definitions are gone.
2015-09-12 13:51:49 +02:00
Felix Geyer
6502da549b Fix build failure in AutoTypePlatformX11::SendEvent(). 2015-09-12 13:51:49 +02:00
Felix Geyer
a71e25a8ba Fix GUI tests. 2015-09-12 13:51:49 +02:00
Felix Geyer
9e05f41747 Port to Qt 5 plugin system. 2015-09-12 13:51:49 +02:00
Felix Geyer
208b0f39e6 Adapt to QtConcurrent being a separate module now. 2015-09-12 13:51:49 +02:00
Felix Geyer
5ad9edc3fd QDesktopServices::storageLocation() calls to QStandardPaths. 2015-09-12 13:51:49 +02:00
Felix Geyer
c714fc89f1 Add missing include statements. 2015-09-12 13:51:49 +02:00
Felix Geyer
e3cde7b55e Adapt to setSupportedDragActions() begin removed.
Models have a virtual supportedDragActions() now.
2015-09-12 13:51:49 +02:00
Felix Geyer
5a745da07b Remove QCOmmandLineParser.
It is part of Qt >= 5.2.
2015-09-12 13:51:49 +02:00
Felix Geyer
531018e58d Remove QSaveFile and QLockFile.
They are part of Qt >= 5.1.
2015-09-12 13:51:49 +02:00
Felix Geyer
813c64a055 Port cmake files to Qt 5. 2015-09-12 13:51:49 +02:00
denk-mal
0390c67c4d allow multiple databeses on command line 2015-06-23 11:40:54 +02:00
denk-mal
1f6161132e makr filename parameter as optinal 2015-06-23 11:22:15 +02:00
denk-mal
fc74e16097 add optionsfield to set http port 2015-06-22 14:11:15 +02:00
Frank Nießen
b03f54ffcd remove duplicate 'using namespace KeepassHttpProtocol' 2015-06-21 21:45:18 +02:00
Frank Nießen
26f33a1c12 add fake workaround for the nasty bahvior of QJSON 2015-06-21 21:43:20 +02:00
Frank Nießen
6e8aeea76d set error to response if list is empty (avoid ChromeIPass hanging) (reverted from commit c736ba7059) 2015-06-21 20:46:09 +02:00
denk-mal
c736ba7059 set error to response if list is empty (avoid ChromeIPass hanging) 2015-06-19 13:19:30 +02:00
denk-mal
3eb4b3b208 Sort switch statement to real order (easier code reading ;-) ) 2015-06-19 13:17:28 +02:00
denk-mal
5982763bed implement a (nonperfect) hide-to-tray on win close 2015-06-18 15:23:41 +02:00
denk-mal
6b7f7bb777 disable calls to missing m_cipher.isValid() 2015-06-18 15:22:25 +02:00
denk-mal
5b9338e40e set actual version of keepasshttp (1.8.4.0) 2015-06-18 13:13:50 +02:00
denk-mal
eab4861383 Call Init for request and response object to avoid crashes on first plugin contact 2015-06-18 12:58:28 +02:00
Ivan
4008e6ab58 Fixed compile issue with latest merged changes from upstream 2015-05-22 21:23:21 -07:00
Ivan
a115bbdc6f Merge branch 'master' of https://github.com/keepassx/keepassx 2015-05-22 21:06:32 -07:00
Ivan
33ed4fd7cf Merge branch 'master' of https://github.com/keepassx/keepassx 2015-05-12 11:03:48 -07:00
Ivan
d70ee509b4 Merge branch 'master' of https://github.com/keepassx/keepassx 2015-04-11 15:41:25 -07:00
Ivan
e20968bdfe Merge branch 'master' of https://github.com/keepassx/keepassx 2015-04-04 23:31:12 -07:00
IvanF
9e124e4a75 Removed unused qhttpserver code
Updated README.md
2015-01-30 00:58:52 -08:00
IvanF
db37b7b933 Updated README.md 2015-01-30 00:42:45 -08:00
IvanF
2e94066e50 Fixes to get code to compile with latest upstream. 2015-01-30 00:35:38 -08:00
IvanF
61c6962bf2 Deleted unused and unrelated files
Merged lots of changes from upstream that were missed or ignored
2015-01-30 00:29:01 -08:00
IvanF
9cbdd58af5 Fixed HTTP settings and service start-up 2015-01-30 00:04:27 -08:00
IvanF
eea9d7db97 Added http service start to MainWindow
Added http settings pane to SettingsWidget
Settings are probably broken still
2015-01-29 01:19:15 -08:00
IvanF
235baa3dcc Merge branch 'master' of https://github.com/keepassx/keepassx
Conflicts:
	README.md
	src/core/Config.cpp
	src/gui/DatabaseTabWidget.cpp
	src/gui/DatabaseTabWidget.h
	src/gui/DatabaseWidget.cpp
	src/gui/DatabaseWidget.h
	src/gui/MainWindow.cpp
	src/gui/MainWindow.h
	src/gui/MainWindow.ui
	src/gui/SearchWidget.ui
	src/gui/SettingsWidget.cpp
	src/gui/SettingsWidgetGeneral.ui
2015-01-29 00:17:39 -08:00
IvanF
f04f4302a2 Deleted local qjson, now using system qjson
Modified CmakeLists to require qjson
Replaced non-standard qjson calls with standard ones
2015-01-28 22:42:02 -08:00
Sebastien Fricker
06e08557ac New setting: enablin/disabling the automatic reload on changes 2014-06-09 10:51:24 +02:00
Sebastien Fricker
95fdefdcc7 Merge github.com:keepassx/keepassx
Conflicts:
	src/gui/DatabaseWidget.cpp
2014-06-09 09:54:29 +02:00
Sebastien Fricker
7a8d4577f1 Automatic reload of a database when it get modified
When the database if modified by an other instance of KeePassX, KeePassX
detect it and reload automatically the database.
2014-05-03 16:59:41 +02:00
Jascha Dachtera
65eb71e645 Merge branch 'master' of https://github.com/keepassx/keepassx 2014-05-02 21:29:12 +02:00
Jascha Dachtera
47e885ddbf Merge branch 'master' of https://github.com/jdachtera/keepassx 2014-04-18 13:59:58 +02:00
Jascha Dachtera
65626f0da2 Merge branch 'master' of https://github.com/keepassx/keepassx
Use SymmetricCipherGcrypt directly in Protocol.cpp to make it work with the latest master
revision.
2014-04-18 13:59:24 +02:00
Jascha Dachtera
8584901f9e Merge branch 'master' of https://github.com/keithbennett/keepassx
Use SymmetricCipherGcrypt directly in Protocol.cpp to make it work with the latest master
revision.
2014-04-18 13:51:45 +02:00
Keith Bennett
e2d446e446 Added back missing copyright notices. 2014-03-24 19:29:11 +00:00
Keith Bennett
54306473f3 Added README.md 2014-03-23 19:25:15 +00:00
Keith Bennett
c7158234dc Removed assert test for indexFromEntry.
When no row is selected, row equals -1. Some operations call
indexFromEntry when there is no row selected and these should
be allowed to succeed.
2014-03-23 19:09:49 +00:00
Keith Bennett
b28cb19ae3 Added keybinding for copy URL 2014-03-23 19:09:48 +00:00
Keith Bennett
86a01b6984 Ensure that external DB changes are always detected.
QFileSystemWatcher seems to reset itself occasionally. This patch
works around the issue by re-applying the QFileSystemWatcher
whenever a change is handled.
2014-03-23 19:09:48 +00:00
Keith Bennett
b432103b82 Return password quality to keepasshttp client. 2014-03-23 19:09:45 +00:00
Keith Bennett
75564c8fb5 Fixed password generation for keepasshttp 2014-03-23 19:09:43 +00:00
Keith Bennett
b87097a7ab Added global autotype support for OSX. 2014-03-23 17:25:40 +00:00
Keith Bennett
6ef5f34070 Split the new association message across multiple lines. 2014-03-23 17:25:40 +00:00
Keith Bennett
b953ea9042 Tidied up layout of the search field. 2014-03-23 17:25:40 +00:00
Keith Bennett
61ada66e3a Updated keepasshttp version number. 2014-03-23 17:25:39 +00:00
Keith Bennett
a9a724714f Stop qsearchfield from swallowing keypresses. 2014-03-23 17:25:39 +00:00
Keith Bennett
612ef0ef9b Fixed a typo. 2014-03-23 17:25:39 +00:00
Keith Bennett
a627870bbb Added a new DatabaseWidget modal state.
Commit d8857bf4 attempted to fix currentMode() while the DB had not
yet been opened. However, the fix meant that the title bar always
displayed the state as being "locked". This change works around the
issue by introducing a new modal state for when the DB is not yet
open.
2014-03-23 17:25:39 +00:00
Keith Bennett
fae4f69b8c Quieten compilation warnings. 2014-03-23 17:25:39 +00:00
Keith Bennett
b27ba03d42 Replaced qhttpserver with libmicrohttp.
The qhttpserver seems to be riddled with memory leaks and was
continuously crashing. I don't know Qt well enough to fix it so
I have replaced it with libmicrohttp. This is not nearly as
elegant but it is much more stable.
2014-03-23 17:25:39 +00:00
Keith Bennett
2cd6787141 Fixed compilation using qjson subtree. 2014-03-22 17:06:08 +00:00
Francois Ferrand
21204971ff re-apply: Cleaner qobject2qvariant(). 2014-03-22 17:06:08 +00:00
Keith Bennett
c570a13a1f Merge commit '5c71260c12798afe3c331d08477bb241acdb78ca' as 'src/http/qjson' 2014-03-22 17:05:45 +00:00
Keith Bennett
5c71260c12 Squashed 'src/http/qjson/' content from commit c6d92ba
git-subtree-dir: src/http/qjson
git-subtree-split: c6d92bada76be2c46dcf6f585f03b2fba47f9da3
2014-03-22 17:05:45 +00:00
Keith Bennett
e105970945 Removed qjson so we can replace it with a subtree. 2014-03-22 17:04:59 +00:00
Keith Bennett
0c33019f93 Fixed building of qocoa subtree. 2014-03-22 17:04:59 +00:00
Keith Bennett
16598a8386 Merge commit 'f52f6e2d44bc3a08a5b2fa281459af8baac68f0d' as 'src/gui/qocoa' 2014-03-22 17:02:43 +00:00
Keith Bennett
f52f6e2d44 Squashed 'src/gui/qocoa/' content from commit ffe23cb
git-subtree-dir: src/gui/qocoa
git-subtree-split: ffe23cbb2f221bc9eacd1de2134c2947fed71c12
2014-03-22 17:02:43 +00:00
Keith Bennett
304cebefe4 Removed qocoa so we can replace it with a subtree. 2014-03-22 17:01:53 +00:00
Keith Bennett
d7a8a43024 Temporary fixup for the password generator. 2014-03-22 17:01:52 +00:00
Keith Bennett
73f91db939 Merged keepassx-http. 2014-03-22 14:49:32 +00:00
Francois Ferrand
41be9e8178 Implement option to search all open databases. 2013-05-02 13:58:01 +02:00
Francois Ferrand
be24872bba Notifications pseudo-code. 2013-05-02 13:58:01 +02:00
Francois Ferrand
db56546871 Filter GetAllLogins entries, to return only entries with an URL. 2013-05-02 13:58:01 +02:00
Francois Ferrand
53b30e267c Fix entry partial matching rules. 2013-05-02 13:58:01 +02:00
Francois Ferrand
8f33c5235b Fix StringField copy. 2013-05-02 13:58:00 +02:00
Francois Ferrand
d8857bf42d Fix currentMode() while DB is not yet open. 2013-05-02 13:58:00 +02:00
Francois Ferrand
a85ac07576 Qocoa compilation fix for MacOS. 2013-05-02 13:58:00 +02:00
Francois Ferrand
d2ab008aa0 Auto-reload settings. 2013-04-30 17:31:08 +02:00
Francois Ferrand
f4ff8b17f7 Use search field for search.
Search options are presented in a context menu on the search field, as well as
links in search header.
2013-04-29 18:05:08 +02:00
Francois Ferrand
d5c8787451 Detect background changes to database file.
This gives the option to reload the database.

TODO:
 - Settings for reloadBehavior (ask, reloadUnchanged, ignore)
 - Improve notification, by using a header instead of dialog: nicer, less
intrusive, gives more options to user, and works better when multiple databases
are open.
 - Keep tab order on reload.
2013-04-29 09:11:26 +02:00
Francois Ferrand
850c7c7ecf Option to automatically reopen databases which were last opened. 2013-04-24 13:30:30 +02:00
Francois Ferrand
7ff475977e Favicon download button. 2013-04-22 11:25:01 +02:00
Francois Ferrand
478d30b529 Fix typo. 2013-04-19 17:20:26 +02:00
Francois Ferrand
d6597400de Support IPv6 as well as IPv4. 2013-04-19 11:30:11 +02:00
Francois Ferrand
af394ff65c Settings UI integration. 2013-04-19 11:29:46 +02:00
Francois Ferrand
f6fa6d6563 KeyPassX/Http settings. 2013-04-19 11:29:46 +02:00
Francois Ferrand
fd7a49f4a6 Sort entries. 2013-04-18 17:57:00 +02:00
Francois Ferrand
47d7598e99 Fix confirmation allowing access to all entries. 2013-04-18 17:57:00 +02:00
Francois Ferrand
e2ba754f91 Default icon. 2013-04-18 17:57:00 +02:00
Francois Ferrand
c98aad698a Cleanup reference/pointer declarations. 2013-04-18 17:57:00 +02:00
Francois Ferrand
75f0d132e5 Add removeSharedEncryptionKeys() and removeStoredPermissions() 2013-04-18 17:57:00 +02:00
Francois Ferrand
f82725139a Support "KPH: " extra fields. 2013-04-18 17:57:00 +02:00
Francois Ferrand
b9e58c77af Use splitter in 'Additional attributes'. 2013-04-12 15:18:10 +02:00
Francois Ferrand
ad67eac257 Confirmation dialog to list entries. 2013-04-12 15:17:56 +02:00
Francois Ferrand
eef51f26f0 Cleaner qobject2qvariant(). 2013-04-12 15:17:19 +02:00
Francois Ferrand
ea992bc3e6 Support KeyPassHttp protocol.
Allows using passIfox (firefox) and Chromeipass (chrome).
2013-04-12 15:16:56 +02:00
Francois Ferrand
20f3f23576 Customizable toolbar icon size. 2013-04-11 12:11:33 +02:00
362 changed files with 41418 additions and 7704 deletions

7
.gitattributes vendored
View File

@@ -1 +1,8 @@
src/version.h.cmake export-subst
.gitattributes export-ignore
.gitignore export-ignore
.travis.yml export-ignore
.tx export-ignore
snapcraft.yaml export-ignore
make_release.sh export-ignore
AppImage-Recipe.sh export-ignore

177
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,177 @@
# Contributing to KeePassX Reboot
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
The following is a set of guidelines for contributing to KeePassX Reboot on GitHub.
These are just guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
#### Table Of Contents
[What should I know before I get started?](#what-should-i-know-before-i-get-started)
* [Open Source Contribution Policy](#open-source-contribution-policy)
[How Can I Contribute?](#how-can-i-contribute)
* [Feature Requests](#feature-requests)
* [Bug Reports](#bug-reports)
* [Your First Code Contribution](#your-first-code-contribution)
* [Pull Requests](#pull-requests)
* [Translations](#translations)
[Styleguides](#styleguides)
* [Git Branch Strategy](#git_branch_strategy)
* [Git Commit Messages](#git-commit-messages)
* [Coding Styleguide](#coding-styleguide)
## What should I know before I get started?
### Open Source Contribution Policy
[Version 0.3, 20151118](https://medium.com/@jmaynard/a-contribution-policy-for-open-source-that-works-bfc4600c9d83#.i9ntbhmad)
#### Policy
We will accept contributions of good code that we can use from anyone.
#### What this means
- “We will accept”: This means that we will incorporate your contribution into the projects codebase, adapt it as needed, and give you full credit for your work.
- “contributions”: This means just about anything you wish to contribute to the project, as long as it is good code we can use. The easier you make it for us to accept your contribution, the happier we are, but if its good enough, we will do a reasonable amount of work to use it.
- “of good code”: This means that we will accept contributions that work well and efficiently, that fit in with the goals of the project, that match the projects coding style, and that do not impose an undue maintenance workload on us going forward. This does not mean just program code, either, but documentation and artistic works as appropriate to the project.
- “that we can use”: This means that your contribution must be given freely and irrevocably, that you must have the right to contribute it for our unrestricted use, and that your contribution is made under a license that is compatible with the license the project has chosen and that permits us to include, distribute, and modify your work without restriction.
- “from anyone”: This means exactly that. We dont care about anything but your code. We dont care about your race, religion, national origin, biological gender, perceived gender, sexual orientation, lifestyle, political viewpoint, or anything extraneous like that. We will neither reject your contribution nor grant it preferential treatment on any basis except the code itself. We do, however, reserve the right to tell you to go away if you behave too obnoxiously toward us.
#### If Your Contribution Is Rejected
If we reject your contribution, it means only that we do not consider it suitable for our project in the form it was submitted. It is not personal. If you ask civilly, we will be happy to discuss it with you and help you understand why it was rejected, and if possible improve it so we can accept it.
#### Revision History
* 0.1, 20111118: Initial draft.
* 0.2, 20111118: Added “If Your Contribution Is Rejected” section.
* 0.3, 20111119: Added “irrevocably” to “we can use” and changed “it” to “your contribution” in the “if rejected” section. Thanks to Patrick Maupin.
## How Can I Contribute?
### Feature Requests
We're always looking for suggestions to improve our application. If you have a suggestion for improving an existing feature, or would like to suggest a completely new feature for KeePassX Reboot, please use the Issues section or our [Google Groups](https://groups.google.com/forum/#!forum/keepassx-reboot) forum.
### Bug Reports
Our software isn't always perfect, but we strive to always improve our work. You may file bug reports in the Issues section.
Before submitting a Bug Report, check if the problem has already been reported. Please refrain from opening a duplicate issue. If you want to highlight a deficiency on an existing issue, simply add a comment.
### Discuss with the Team
You can talk to the KeePassX Reboot Team about Bugs, new feature, Issue and PullRequests at our [Google Groups](https://groups.google.com/forum/#!forum/keepassx-reboot) forum
### Your First Code Contribution
Unsure where to begin contributing to KeePassX Reboot? You can start by looking through these `beginner` and `help-wanted` issues:
* [Beginner issues][beginner] - issues which should only require a few lines of code, and a test or two.
* [Help wanted issues][help-wanted] - issues which should be a bit more involved than `beginner` issues.
Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have.
### Pull Requests
Along with our desire to hear your feedback and suggestions, we're also interested in accepting direct assistance in the form of code.
All pull requests must comply with the above requirements and with the [Styleguides](#styleguides).
### Translations
Translations are managed on [Transifex](https://www.transifex.com/keepassxc/keepassxc/) which offers a web interface.
Please join an existing language team or request a new one if there is none.
## Styleguides
### Git Branch Strategy
The Branch Strategy is based on [git-flow-lite](http://nvie.com/posts/a-successful-git-branching-model/).
* **master** -> always points to the last release published
* **develop** -> points to the next planned release, tested and reviewed code
* **feature/**[name] -> points to brand new feature in codebase, candidate for merge into develop (subject to rebase)
### Git Commit Messages
* Use the present tense ("Add feature" not "Added feature")
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
* Limit the first line to 72 characters or less
* Reference issues and pull requests liberally
* When only changing documentation, include `[ci skip]` in the commit description
* Consider starting the commit message with an applicable emoji:
* :memo: `:memo:` when writing docs
* :penguin: `:penguin:` when fixing something on Linux
* :apple: `:apple:` when fixing something on macOS
* :checkered_flag: `:checkered_flag:` when fixing something on Windows
* :bug: `:bug:` when fixing a bug
* :fire: `:fire:` when removing code or files
* :green_heart: `:green_heart:` when fixing the CI build
* :white_check_mark: `:white_check_mark:` when adding tests
* :lock: `:lock:` when dealing with security
### Coding Styleguide
This project follows the [Qt Coding Style](https://wiki.qt.io/Qt_Coding_Style). All submissions are expected to follow this style.
In particular Code must follow the following specific rules:
#### Naming Convention
`lowerCamelCase`
For names made of only one word, the fist letter is lowercase.
For names made of multiple concatenated words, the first letter is lowercase and each subsequent concatenated word is capitalized.
#### Indention
For C++ files (.cpp .h): 4 spaces
For Qt-UI files (.ui): 2 spaces
#### Pointers
```c
int* count;
```
#### Braces
```c
if (condition) {
doSomething();
}
void ExampleClass::exampleFunction()
{
doSomething();
}
```
#### Switch statement
```c
switch (a) {
case 1:
doSomething();
break;
default:
doSomethingElse();
break;
}
```
#### Member variables
Use prefix: `m_*`
Example: `m_variable`
#### GUI Widget names
Widget names must be related to the desired program behaviour.
Preferably end the name with the Widget Classname
Example: `<widget class="QCheckBox" name="rememberCheckBox">`
[beginner]:https://github.com/keepassxreboot/keepassx/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner+label%3A%22help+wanted%22+sort%3Acomments-desc
[help-wanted]:https://github.com/keepassxreboot/keepassx/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22+sort%3Acomments-desc

32
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,32 @@
<!--- Provide a general summary of the issue in the title above -->
## Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->
## Current Behavior
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- If suggesting a change/improvement, explain the difference from the current behavior -->
## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->
## Steps to Reproduce (for bugs)
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Your Environment
<!--- Include relevant details about the environment you experienced the bug in -->
* KeePassXC version/commit used: (can be found under Help -> About)
* Qt version (e.g. Qt 5.3):
* Compiler (e.g. Clang++3.6.0):
* Operating System and version:

33
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,33 @@
<!--- Provide a general summary of your changes in the title above -->
## Description
<!--- Describe your changes in detail -->
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Screenshots (if appropriate):
## Types of changes
<!--- What types of changes does your code introduce? -->
<!--- Please remove all lines which don't apply. -->
- ✅ Bug fix (non-breaking change which fixes an issue)
- ✅ New feature (non-breaking change which adds functionality)
- ✅ Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
<!--- Please go over all the following points. -->
<!--- Again, remove any lines which don't apply. -->
<!--- Pull Requests that don't fulfill all [REQUIRED] requisites are likely -->
<!--- to be sent back to you for correction or will be rejected. -->
- ✅ I have read the **CONTRIBUTING** document. **[REQUIRED]**
- ✅ My code follows the code style of this project. **[REQUIRED]**
- ✅ All new and existing tests passed. **[REQUIRED]**
- ✅ My change requires a change to the documentation and I have updated it accordingly.
- ✅ I have added tests to cover my changes.

2
.gitignore vendored
View File

@@ -1,2 +1,2 @@
CMakeLists.txt.*
build/
build*/

View File

@@ -1,21 +1,45 @@
language: cpp
sudo: required
dist: trusty
services: [docker]
os:
- linux
- osx
# - osx
# Define clang compiler without any frills
compiler:
- gcc
- clang
language: cpp
install:
- gcc
env:
- CONFIG=Release
- CONFIG=Debug
git:
depth: 3
before_install:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get -qq update; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get -qq install cmake libqt4-dev libgcrypt11-dev zlib1g-dev libxtst-dev; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get -qq install cmake libmicrohttpd10 libmicrohttpd-dev libxi-dev qtbase5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools libgcrypt20-dev zlib1g-dev libxtst-dev xvfb; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew ls | grep -wq cmake || brew install cmake; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew ls | grep -wq qt || brew install qt; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew ls | grep -wq qt5 || brew install qt5; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew ls | grep -wq libgcrypt || brew install libgcrypt; fi
before_script: mkdir build && pushd build
before_script:
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then CMAKE_ARGS="-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5"; fi
- mkdir build && pushd build
script:
- cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_GUI_TESTS=ON ..
- make
- cmake -DCMAKE_BUILD_TYPE=${CONFIG} -DWITH_GUI_TESTS=ON -DWITH_XC_HTTP=ON -DWITH_XC_AUTOTYPE=ON -DWITH_XC_YUBIKEY=ON $CMAKE_ARGS ..
- make -j2
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then make test ARGS+="-E testgui --output-on-failure"; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then xvfb-run -a --server-args="-screen 0 800x600x24" make test ARGS+="-R testgui --output-on-failure"; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then make test ARGS+="--output-on-failure"; fi
# Generate snapcraft build when merging into master/develop branches
#after_success:
# - popd
# - "[[ $DEPLOY = 1 ]] && [[ $CONFIG = Release ]] && [[ $TRAVIS_BRANCH =~ (master|develop) ]] && [[ $TRAVIS_PULL_REQUEST = false ]] \
# && docker run -v $(pwd):/cwd snapcore/snapcraft sh -c 'cd /cwd && apt update && snapcraft'"

View File

@@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com
[keepassx.keepassx_ents]
[keepassxc.keepassx_ents]
source_file = share/translations/keepassx_en.ts
file_filter = share/translations/keepassx_<lang>.ts
source_lang = en

64
AppImage-Recipe.sh Executable file
View File

@@ -0,0 +1,64 @@
#!/usr/bin/env bash
#
# KeePassXC AppImage Recipe
# Copyright (C) 2017 KeePassXC team <https://keepassxc.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 or (at your option)
# version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ "$1" == "" ] || [ "$2" == "" ]; then
echo "Usage: $(basename $0) APP_NAME RELEASE_VERSION" >&2
exit 1
fi
if [ -f CHANGELOG ]; then
echo "This recipe must not be run from the sources root." >&2
exit 1
fi
if [ ! -d ../bin-release ]; then
echo "../bin-release does not exist." >&2
exit 1
fi
APP="$1"
LOWERAPP="$(echo "$APP" | tr '[:upper:]' '[:lower:]')"
VERSION="$2"
mkdir -p $APP.AppDir
wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
. ./functions.sh
cd $APP.AppDir
cp -a ../../bin-release/* .
mv ./usr/local/* ./usr
rmdir ./usr/local
patch_strings_in_file /usr/local ./
patch_strings_in_file /usr ./
get_apprun
copy_deps
delete_blacklisted
get_desktop
get_icon
get_desktopintegration $LOWERAPP
GLIBC_NEEDED=$(glibc_needed)
cd ..
generate_appimage
mv ../out/*.AppImage ..
rmdir ../out > /dev/null 2>&1

View File

@@ -1,3 +1,51 @@
2.1.0 (2017-01-22)
=========================
- Show unlock dialog when using autotype on a closed database [#10, #89]
- Show different tray icon when database is locked [#37, #46]
- Support autotype on Windows and OS X [#42, #60, #63]
- Add delay feature to autotype [#76, #77]
- Add password strength meter [#84, #92]
- Add option for automatically locking the database when minimizing
the window [#57]
- Add feature to download favicons and use them as entry icons [#30]
- Automatically reload and merge database when the file changed on
disk [#22, #33, #93]
- Add tool for merging two databases [#22, #47, #143]
- Add --pw-stdin commandline option to unlock the database by providing
a password on STDIN [#54]
- Add utility script for reading the database password from KWallet [#55]
- Fix some KeePassHTTP settings not being remembered [#34, #65]
- Make search box persistent [#15, #67, #157]
- Enhance search feature by scoping the search to selected group [#16, #118]
- Improve interaction between search field and entry list [#131, #141]
- Add stand-alone password-generator [#18, #92]
- Don't require password repetition when password is visible [#27, #92]
- Add support for entry attributes in autotype sequences [#107]
- Always focus password field when opening the database unlock widget [#116, #117]
- Fix compilation errors on various platforms [#53, #126, #130]
- Restructure and improve kdbx-extract utility [#160]
2.0.3 (2016-09-04)
=========================
- Improved error reporting when reading / writing databases fails. [#450, #462]
- Display an error message when opening a custom icon fails.
- Detect custom icon format based on contents instead of the filename. [#512]
- Keep symlink intact when saving databases. [#442].
- Fix a crash when deleting parent group of recycle bin. [#520]
- Display a confirm dialog before moving an entry to the recycle bin. [#447]
- Repair UUIDs of inconsistent history items. [#130]
- Only include top-level windows in auto-type window list when using gnome-shell.
- Update translations.
2.0.2 (2016-02-02)
=========================
- Fix regression in database writer that caused it to strip certain special
characters (characters from Unicode plane > 0).
- Fix bug in repair function that caused it to strip non-ASCII characters.
2.0.1 (2016-01-31)
=========================

View File

@@ -15,13 +15,13 @@
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo Debug Debugfull Profile MinSizeRel."
"Choose the type of build, options are: None Debug Release RelWithDebInfo Debug DebugFull Profile MinSizeRel."
FORCE)
endif()
project(KeePassX)
project(KeePassXC)
cmake_minimum_required(VERSION 2.6.4)
cmake_minimum_required(VERSION 2.8.12)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
@@ -31,10 +31,15 @@ include(CheckCXXSourceCompiles)
option(WITH_TESTS "Enable building of unit tests" ON)
option(WITH_GUI_TESTS "Enable building of GUI tests" OFF)
option(WITH_CXX11 "Build with the C++ 11 standard" ON)
option(WITH_DEV_BUILD "Use only for development. Disables/warns about deprecated methods." OFF)
option(WITH_COVERAGE "Use to build with coverage tests. (GCC ONLY)." OFF)
set(KEEPASSX_VERSION "2.0.1")
set(KEEPASSX_VERSION_NUM "2.0.1")
option(WITH_XC_AUTOTYPE "Include Autotype." OFF)
option(WITH_XC_HTTP "Include KeePassHTTP." OFF)
option(WITH_XC_YUBIKEY "Include Yubikey support." OFF)
set(KEEPASSXC_VERSION "2.1.0")
set(KEEPASSXC_VERSION_NUM "2.1.0")
if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_COMPILER_IS_CLANG 1)
@@ -61,7 +66,7 @@ macro(add_gcc_compiler_flags FLAGS)
add_gcc_compiler_cflags("${FLAGS}")
endmacro(add_gcc_compiler_flags)
add_definitions(-DQT_NO_KEYWORDS -DQT_NO_EXCEPTIONS -DQT_NO_STL -DQT_STRICT_ITERATORS -DQT_NO_CAST_TO_ASCII)
add_definitions(-DQT_NO_EXCEPTIONS -DQT_STRICT_ITERATORS -DQT_NO_CAST_TO_ASCII)
add_gcc_compiler_flags("-fno-common -fstack-protector --param=ssp-buffer-size=4")
add_gcc_compiler_flags("-Wall -Wextra -Wundef -Wpointer-arith -Wno-long-long")
@@ -87,6 +92,12 @@ endif()
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcast-align")
if(WITH_COVERAGE)
# Include code coverage, use with -DCMAKE_BUILD_TYPE=Coverage
include(CodeCoverage)
setup_target_for_coverage(kp_coverage "make test" coverage)
endif()
endif()
if(CMAKE_COMPILER_IS_GNUCC)
@@ -100,26 +111,29 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro")
endif()
if (WITH_CXX11)
add_gcc_compiler_cxxflags("-std=c++0x")
add_gcc_compiler_cflags("-ansi")
if(APPLE)
add_gcc_compiler_cxxflags("-stdlib=libc++")
endif()
else()
add_gcc_compiler_flags("-ansi")
add_gcc_compiler_cxxflags("-std=c++11")
if(APPLE)
add_gcc_compiler_cxxflags("-stdlib=libc++")
endif()
add_gcc_compiler_cflags("-ansi")
if(WITH_DEV_BUILD)
add_definitions(-DQT_DEPRECATED_WARNINGS -DGCRYPT_NO_DEPRECATED)
endif()
if(MINGW)
set(CMAKE_RC_COMPILER_INIT windres)
enable_language(RC)
set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>")
link_libraries(ws2_32 wsock32)
endif()
if(APPLE OR MINGW)
set(PROGNAME KeePassX)
set(PROGNAME KeePassXC)
else()
set(PROGNAME keepassx)
set(PROGNAME keepassxc)
endif()
if(APPLE AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
@@ -132,33 +146,35 @@ if(MINGW)
set(DATA_INSTALL_DIR "share")
elseif(APPLE)
set(BIN_INSTALL_DIR ".")
set(PLUGIN_INSTALL_DIR ".")
set(PLUGIN_INSTALL_DIR "${PROGNAME}.app/Contents/PlugIns")
set(DATA_INSTALL_DIR "${PROGNAME}.app/Contents/Resources")
else()
include(GNUInstallDirs)
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}")
set(PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/keepassx")
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/keepassx")
set(PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/keepassxc")
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/keepassxc")
endif()
if(WITH_TESTS)
enable_testing()
endif(WITH_TESTS)
set(QT_REQUIRED_MODULES QtCore QtGui QtTest)
find_package(Qt5Core 5.2 REQUIRED)
find_package(Qt5Concurrent 5.2 REQUIRED)
find_package(Qt5Widgets 5.2 REQUIRED)
find_package(Qt5Test 5.2 REQUIRED)
find_package(Qt5LinguistTools 5.2 REQUIRED)
find_package(Qt5Network 5.2 REQUIRED)
set(CMAKE_AUTOMOC ON)
find_package(Qt4 4.6.0 REQUIRED ${QT_REQUIRED_MODULES})
include(${QT_USE_FILE})
# Debian sets the the build type to None for package builds.
# Make sure we don't enable asserts there.
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_NONE QT_NO_DEBUG)
find_package(Gcrypt REQUIRED)
if(NOT (${GCRYPT_VERSION_STRING} VERSION_LESS "1.6.0"))
message(STATUS "Gcrypt ${GCRYPT_VERSION_STRING} supports the SALSA20 cipher")
set(GCRYPT_HAS_SALSA20 1)
endif()
find_package(Gcrypt 1.6.0 REQUIRED)
find_package(LibMicroHTTPD REQUIRED)
find_package(ZLIB REQUIRED)
@@ -197,12 +213,9 @@ if(UNIX)
endif()
endif()
include_directories(SYSTEM ${GCRYPT_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
include_directories(SYSTEM ${GCRYPT_INCLUDE_DIR} ${MHD_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
if(NOT (${CMAKE_VERSION} VERSION_LESS 2.8.3))
set(PRINT_SUMMARY ON)
include(FeatureSummary)
endif()
include(FeatureSummary)
add_subdirectory(src)
add_subdirectory(share)
@@ -212,5 +225,10 @@ if(WITH_TESTS)
endif(WITH_TESTS)
if(PRINT_SUMMARY)
# This will print ENABLED, REQUIRED and DISABLED
feature_summary(WHAT ALL)
else()
# This will only print ENABLED and DISABLED feature
print_enabled_features()
print_disabled_features()
endif()

25
COPYING
View File

@@ -27,6 +27,7 @@ Copyright: 2010-2012, Felix Geyer <debfx@fobos.de>
2000-2008, Tom Sato <VEF00200@nifty.ne.jp>
2013, Laszlo Papp <lpapp@kde.org>
2013, David Faure <faure@kde.org>
2016, KeePassXC Team
License: GPL-2 or GPL-3
Files: cmake/GNUInstallDirs.cmake
@@ -34,13 +35,16 @@ Copyright: 2011 Nikita Krupen'ko <krnekit@gmail.com>
2011 Kitware, Inc.
License: BSD-3-clause
Files: share/icons/application/*/apps/keepassx.png
share/icons/application/scalable/apps/keepassx.svgz
Copyright: 2006, Otto Salminen
2009, Miguelito Vieira
2011-2013, Felix Geyer <debfx@fobos.de>
2012, Tobias Tangemann <tobiastangemann@gmail.com>
License: GPL-2
Files: share/icons/application/*/apps/keepassxc.png
share/icons/application/scalable/apps/keepassxc.svgz
share/icons/application/*/apps/keepassxc-dark.png
share/icons/application/scalable/apps/keepassxc-dark.svgz
share/icons/application/*/apps/keepassxc-locked.png
share/icons/application/scalable/apps/keepassxc-locked.svgz
share/icons/application/*/mimetypes/application-x-keepassxc.png
share/icons/application/scalable/mimetypes/application-x-keepassxc.svgz
Copyright: 2016, Lorenzo Stella <lorenzo.stl@gmail.com>
License: LGPL-2
Files: share/icons/application/*/actions/auto-type.png
share/icons/application/*/actions/database-change-key.png
@@ -136,6 +140,7 @@ Files: share/icons/application/*/actions/application-exit.png
share/icons/application/*/actions/document-save-as.png
share/icons/application/*/actions/edit-clear-locationbar-ltr.png
share/icons/application/*/actions/edit-clear-locationbar-rtl.png
share/icons/application/*/actions/password-generator.png
share/icons/application/*/actions/password-copy.png
share/icons/application/*/actions/password-show-*.png
share/icons/application/*/actions/system-search.png
@@ -187,3 +192,9 @@ License: LGPL-2.1 or GPL-3
Files: cmake/GetGitRevisionDescription.cmake*
Copyright: 2009-2010, Iowa State University
License: Boost-1.0
Files: src/zxcvbn/zxcvbn.*
src/utils/entropy-meter.cpp
Copyright: 2015, Tony Evans
2016, KeePassXC Team
License: BSD 3-clause

34
Dockerfile Normal file
View File

@@ -0,0 +1,34 @@
# KeePassXC Linux Release Build Dockerfile
# Copyright (C) 2017 KeePassXC team <https://keepassxc.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 or (at your option)
# version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
FROM ubuntu:16.04
RUN set -x && apt-get update
RUN set -x \
&& apt-get install --yes \
cmake \
libgcrypt20-dev \
qtbase5-dev \
qttools5-dev-tools \
libmicrohttpd-dev \
libqt5x11extras5-dev \
libxi-dev \
libxtst-dev \
zlib1g-dev
VOLUME /keepassxc/src
VOLUME /keepassxc/out
WORKDIR /keepassxc

28
INSTALL
View File

@@ -1,28 +0,0 @@
Building:
=========
mkdir build
cd build
cmake [CMAKE PARAMETERS] ..
make [-jX]
Common cmake parameters:
========================
-DCMAKE_INSTALL_PREFIX=/usr/local
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=<RelWithDebInfo/Debug/Release>
-DWITH_GUI_TESTS=ON
Installing:
===========
make install [DESTDIR=X]
Create a bundle on Mac:
make package
Run tests:
==========
make test [CTEST_OUTPUT_ON_FAILURE=1] [ARGS+=-jX] [ARGS+="-E testgui"]
OS specific instructions:
=========================
https://www.keepassx.org/dev/projects/keepassx/wiki/Install_instructions

101
INSTALL.md Normal file
View File

@@ -0,0 +1,101 @@
Install KeePassXC
=================
This document will guide you across the steps to install KeePassXC.
You can visit the online version of this document a the following link
https://github.com/keepassxreboot/keepassx/wiki/Install-Instruction-from-Source
Build Dependencies
==================
The following tools must exist within your PATH:
* make
* cmake (>= 2.8.12)
* g++ (>= 4.7) or clang++ (>= 3.0)
The following libraries are required:
* Qt 5 (>= 5.2): qtbase and qttools5
* libgcrypt (>= 1.6)
* zlib
* libmicrohttpd
* libxi, libxtst, qtx11extras (optional for auto-type on X11)
Prepare the Building Environment
================================
Building Environment on Linux ==> https://github.com/keepassxreboot/keepassx/wiki/Building-Environment-on-Linux
Building Environment on Windows ==> https://github.com/keepassxreboot/keepassx/wiki/Building-Environment-on-Windows
Building Environment on MacOS ==> https://github.com/keepassxreboot/keepassx/wiki/Building-Environment-on-MacOS
Build Steps
===========
To compile from source, open a **Terminal (on Linux/MacOS)** or a **MSYS2-MinGW shell (on Windows)**<br/>
**Note:** on Windows make sure you are using a **MINGW shell** by checking the label before the current path
Navigate to the path you have downloaded KeePassXC and type these commands:
```
mkdir build
cd build
cmake -DWITH_TESTS=OFF
make
```
**Note:** If you are on MacOS you must add this parameter to **Cmake**, with the Qt version you have installed<br/> `-DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.6.2/lib/cmake/`
You will have the compiled KeePassXC binary inside the `./build/src/` directory.
Common cmake parameters
```
-DCMAKE_INSTALL_PREFIX=/usr/local
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=<RelWithDebInfo/Debug/Release>
-DWITH_GUI_TESTS=ON
```
Installation
============
To install this binary execute the following:
```bash
sudo make install
```
You can specify the destination dir with
```
DESTDIR=X
```
Packaging
=========
You can create a package to redistribute KeePassXC (zip, deb, rpm, dmg, etc..)
```
make package
```
Testing
=======
You can perform test on the executable
```
make test
```
Common parameters:
```
CTEST_OUTPUT_ON_FAILURE=1
ARGS+=-jX
ARGS+="-E testgui"
```

118
README.md
View File

@@ -1,103 +1,45 @@
# KeePassX
# KeePassXC - KeePass Cross-platform Community Edition
[![Travis Build Status](https://travis-ci.org/keepassxreboot/keepassxc.svg?branch=develop)](https://travis-ci.org/keepassxreboot/keepassxc) [![Coverage Status](https://coveralls.io/repos/github/keepassxreboot/keepassxc/badge.svg)](https://coveralls.io/github/keepassxreboot/keepassxc)
## About
KeePassX is an application for people with extremely high demands on secure personal data management.
It has a light interface, is cross platform and published under the terms of the GNU General Public License.
Fork of [KeePassX](https://www.keepassx.org/) that [aims to incorporate stalled Pull Requests, features, and bug fixes that are not being incorporated into the main KeePassX baseline](https://github.com/keepassxreboot/keepassx/issues/43).
KeePassX saves many different information e.g. user names, passwords, urls, attachments and comments in one single database.
For a better management user-defined titles and icons can be specified for each single entry.
Furthermore the entries are sorted in groups, which are customizable as well. The integrated search function allows to search in a single group or the complete database.
KeePassX offers a little utility for secure password generation. The password generator is very customizable, fast and easy to use.
Especially someone who generates passwords frequently will appreciate this feature.
The complete database is always encrypted with the AES (aka Rijndael) encryption algorithm using a 256 bit key.
Therefore the saved information can be considered as quite safe. KeePassX uses a database format that is compatible with [KeePass Password Safe](http://keepass.info/).
This makes the use of that application even more favorable.
#### Additional Reboot Features
- keepasshttp support for use with [PassIFox](https://addons.mozilla.org/en-us/firefox/addon/passifox/) for Mozilla Firefox and [chromeIPass](https://chrome.google.com/webstore/detail/chromeipass/ompiailgknfdndiefoaoiligalphfdae) for Google Chrome.
## Install
KeePassHttp implementation has been forked from jdachtera's repository, which in turn was based on code from code with Francois Ferrand's [keepassx-http](https://gitorious.org/keepassx/keepassx-http/source/master) repository.
KeePassX can be downloaded and installed using an assortment of installers available on the main [KeePassX website](http://www.keepassx.org).
KeePassX can also be installed from the official repositories of many Linux repositories.
If you wish to build KeePassX from source, rather than rely on the pre-compiled binaries, you may wish to read up on the _From Source_ section.
This is a rebuild from [denk-mal's keepasshttp](https://github.com/denk-mal/keepassx.git) that brings it forward to Qt5 and KeePassX v2.x.
### Debian
To install KeePassX from the Debian repository:
### Installation
```bash
sudo apt-get install keepassx
Right now KeePassXC does not have a precompiled executable or an installation package.<br/>
So you must install it from its source code.
**More detailed instructions are available in the INSTALL file or at the [Wiki page](https://github.com/keepassxreboot/keepassx/wiki/Install-Instruction-from-Source).**
First you must download the KeePassXC source code as ZIP file or with Git.
Generally you can build and install KeePassXC with the following commands from a Terminal in the KeePassXC folder
```
### Red Hat
Install KeePassX from the Red Hat (or CentOS) repository:
```bash
sudo yum install keepassx
```
### Windows / Mac OS X
Download the installer from the KeePassX [download](https://www.keepassx.org/downloads) page.
Once downloaded, double click on the file to execute the installer.
### From Source
#### Build Dependencies
The following tools must exist within your PATH:
* make
* cmake (>= 2.6.4)
* g++ or clang++
The following libraries are required:
* Qt 4 (>= 4.6)
* libgcrypt
* zlib
* libxtst (optional for auto-type on X11)
On Debian you can install them with:
```bash
sudo apt-get install build-essential cmake libqt4-dev libgcrypt11-dev zlib1g-dev
```
#### Build Steps
To compile from source:
```bash
mkdir build
cd build
cmake ..
make [-jX]
```
You will have the compiled KeePassX binary inside the `./build/src/` directory.
To install this binary execute the following:
```bash
cmake -DWITH_TESTS=OFF ..
make
sudo make install
```
More detailed instructions available in the INSTALL file.
## Contribute
Coordination of work between developers is handled through the [KeePassX development](https://www.keepassx.org/dev/) site.
Requests for enhancements, or reports of bugs encountered, can also be reported through the KeePassX development site.
However, members of the open-source community are encouraged to submit pull requests directly through GitHub.
### Clone Repository
Clone the repository to a suitable location where you can extend and build this project.
```bash
git clone https://github.com/keepassx/keepassx.git
git clone https://github.com/keepassxreboot/keepassxc.git
```
**Note:** This will clone the entire contents of the repository at the HEAD revision.
@@ -108,22 +50,10 @@ To update the project from within the project's folder you can run the following
git pull
```
### Feature Requests
### Contributing
We're always looking for suggestions to improve our application. If you have a suggestion for improving an existing feature,
or would like to suggest a completely new feature for KeePassX, please file a ticket on the [KeePassX development](https://www.keepassx.org/dev/) site.
or would like to suggest a completely new feature for KeePassX Reboot, please use the [Issues](https://github.com/keepassxreboot/keepassxc/issues) section or our [Google Groups](https://groups.google.com/forum/#!forum/keepassx-reboot) forum.
### Bug Reports
Our software isn't always perfect, but we strive to always improve our work. You may file bug reports on the [KeePassX development](https://www.keepassx.org/dev/) site.
### Pull Requests
Along with our desire to hear your feedback and suggestions, we're also interested in accepting direct assistance in the form of code.
Issue merge requests against our [GitHub repository](https://github.com/keepassx/keepassx).
### Translations
Translations are managed on [Transifex](https://www.transifex.com/projects/p/keepassx/) which offers a web interface.
Please join an existing language team or request a new one if there is none.
Please review the [CONTRIBUTING](.github/CONTRIBUTING.md) document for further information.

197
cmake/CodeCoverage.cmake Normal file
View File

@@ -0,0 +1,197 @@
# Copyright (c) 2012 - 2015, Lars Bilke
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
#
# 2012-01-31, Lars Bilke
# - Enable Code Coverage
#
# 2013-09-17, Joakim Söderberg
# - Added support for Clang.
# - Some additional usage instructions.
#
# USAGE:
# 0. (Mac only) If you use Xcode 5.1 make sure to patch geninfo as described here:
# http://stackoverflow.com/a/22404544/80480
#
# 1. Copy this file into your cmake modules path.
#
# 2. Add the following line to your CMakeLists.txt:
# INCLUDE(CodeCoverage)
#
# 3. Set compiler flags to turn off optimization and enable coverage:
# SET(CMAKE_CXX_FLAGS "-g -O0 -fprofile-arcs -ftest-coverage")
# SET(CMAKE_C_FLAGS "-g -O0 -fprofile-arcs -ftest-coverage")
#
# 3. Use the function SETUP_TARGET_FOR_COVERAGE to create a custom make target
# which runs your test executable and produces a lcov code coverage report:
# Example:
# SETUP_TARGET_FOR_COVERAGE(
# my_coverage_target # Name for custom target.
# test_driver # Name of the test driver executable that runs the tests.
# # NOTE! This should always have a ZERO as exit code
# # otherwise the coverage generation will not complete.
# coverage # Name of output directory.
# )
#
# 4. Build a Debug build:
# cmake -DCMAKE_BUILD_TYPE=Debug ..
# make
# make my_coverage_target
#
#
# Check prereqs
FIND_PROGRAM( GCOV_PATH gcov )
FIND_PROGRAM( LCOV_PATH lcov )
FIND_PROGRAM( GENHTML_PATH genhtml )
FIND_PROGRAM( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/tests)
IF(NOT GCOV_PATH)
MESSAGE(FATAL_ERROR "gcov not found! Aborting...")
ENDIF() # NOT GCOV_PATH
IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang")
IF("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS 3)
MESSAGE(FATAL_ERROR "Clang version must be 3.0.0 or greater! Aborting...")
ENDIF()
ELSEIF(NOT CMAKE_COMPILER_IS_GNUCXX)
MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...")
ENDIF() # CHECK VALID COMPILER
SET(CMAKE_CXX_FLAGS_COVERAGE
"-g -O0 --coverage -fprofile-arcs -ftest-coverage"
CACHE STRING "Flags used by the C++ compiler during coverage builds."
FORCE )
SET(CMAKE_C_FLAGS_COVERAGE
"-g -O0 --coverage -fprofile-arcs -ftest-coverage"
CACHE STRING "Flags used by the C compiler during coverage builds."
FORCE )
SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE
""
CACHE STRING "Flags used for linking binaries during coverage builds."
FORCE )
SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
""
CACHE STRING "Flags used by the shared libraries linker during coverage builds."
FORCE )
MARK_AS_ADVANCED(
CMAKE_CXX_FLAGS_COVERAGE
CMAKE_C_FLAGS_COVERAGE
CMAKE_EXE_LINKER_FLAGS_COVERAGE
CMAKE_SHARED_LINKER_FLAGS_COVERAGE )
IF ( NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "Coverage"))
MESSAGE( WARNING "Code coverage results with an optimized (non-Debug) build may be misleading" )
ENDIF() # NOT CMAKE_BUILD_TYPE STREQUAL "Debug"
# Param _targetname The name of new the custom make target
# Param _testrunner The name of the target which runs the tests.
# MUST return ZERO always, even on errors.
# If not, no coverage report will be created!
# Param _outputname lcov output is generated as _outputname.info
# HTML report is generated in _outputname/index.html
# Optional fourth parameter is passed as arguments to _testrunner
# Pass them in list form, e.g.: "-j;2" for -j 2
FUNCTION(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname)
IF(NOT LCOV_PATH)
MESSAGE(FATAL_ERROR "lcov not found! Aborting...")
ENDIF() # NOT LCOV_PATH
IF(NOT GENHTML_PATH)
MESSAGE(FATAL_ERROR "genhtml not found! Aborting...")
ENDIF() # NOT GENHTML_PATH
SET(coverage_info "${CMAKE_BINARY_DIR}/${_outputname}.info")
SET(coverage_cleaned "${coverage_info}.cleaned")
SEPARATE_ARGUMENTS(test_command UNIX_COMMAND "${_testrunner}")
# Setup target
ADD_CUSTOM_TARGET(${_targetname}
# Cleanup lcov
${LCOV_PATH} --directory . --zerocounters
# Run tests
COMMAND ${test_command} ${ARGV3}
# Capturing lcov counters and generating report
COMMAND ${LCOV_PATH} --directory . --capture --output-file ${coverage_info}
COMMAND ${LCOV_PATH} --remove ${coverage_info} 'tests/*' '/usr/*' --output-file ${coverage_cleaned}
COMMAND ${GENHTML_PATH} -o ${_outputname} ${coverage_cleaned}
COMMAND ${CMAKE_COMMAND} -E remove ${coverage_info} ${coverage_cleaned}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report."
)
# Show info where to find the report
ADD_CUSTOM_COMMAND(TARGET ${_targetname} POST_BUILD
COMMAND ;
COMMENT "Open ./${_outputname}/index.html in your browser to view the coverage report."
)
ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE
# Param _targetname The name of new the custom make target
# Param _testrunner The name of the target which runs the tests
# Param _outputname cobertura output is generated as _outputname.xml
# Optional fourth parameter is passed as arguments to _testrunner
# Pass them in list form, e.g.: "-j;2" for -j 2
FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname)
IF(NOT PYTHON_EXECUTABLE)
MESSAGE(FATAL_ERROR "Python not found! Aborting...")
ENDIF() # NOT PYTHON_EXECUTABLE
IF(NOT GCOVR_PATH)
MESSAGE(FATAL_ERROR "gcovr not found! Aborting...")
ENDIF() # NOT GCOVR_PATH
ADD_CUSTOM_TARGET(${_targetname}
# Run tests
${_testrunner} ${ARGV3}
# Running gcovr
COMMAND ${GCOVR_PATH} -x -r ${CMAKE_SOURCE_DIR} -e '${CMAKE_SOURCE_DIR}/tests/' -o ${_outputname}.xml
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Running gcovr to produce Cobertura code coverage report."
)
# Show info where to find the report
ADD_CUSTOM_COMMAND(TARGET ${_targetname} POST_BUILD
COMMAND ;
COMMENT "Cobertura code coverage report saved in ${_outputname}.xml."
)
ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE_COBERTURA

View File

@@ -0,0 +1,9 @@
find_path(MHD_INCLUDE_DIR microhttpd.h)
find_library(MHD_LIBRARIES microhttpd)
mark_as_advanced(MHD_LIBRARIES MHD_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibMicroHTTPD DEFAULT_MSG MHD_LIBRARIES MHD_INCLUDE_DIR)

350
make_release.sh Executable file
View File

@@ -0,0 +1,350 @@
#!/usr/bin/env bash
#
# KeePassXC Release Preparation Helper
# Copyright (C) 2017 KeePassXC team <https://keepassxc.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 or (at your option)
# version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
echo -e "\e[1m\e[32mKeePassXC\e[0m Release Preparation Helper"
echo -e "Copyright (C) 2017 KeePassXC Team <https://keepassxc.org/>\n"
# default values
RELEASE_NAME=""
APP_NAME="KeePassXC"
APP_NAME_LOWER="keepassxc"
SRC_DIR="."
GPG_KEY="CFB4C2166397D0D2"
GPG_GIT_KEY=""
OUTPUT_DIR="release"
BRANCH=""
RELEASE_BRANCH="master"
TAG_NAME=""
BUILD_SOURCES=false
DOCKER_IMAGE=""
DOCKER_CONTAINER_NAME="${APP_NAME_LOWER}-build-container"
CMAKE_OPTIONS=""
COMPILER="g++"
MAKE_OPTIONS="-j8"
BUILD_PLUGINS="autotype"
INSTALL_PREFIX="/usr/local"
ORIG_BRANCH="$(git rev-parse --abbrev-ref HEAD 2> /dev/null)"
ORIG_CWD="$(pwd)"
# helper functions
printUsage() {
echo -e "\e[1mUsage:\e[0m $(basename $0) [options]"
cat << EOF
Options:
-v, --version Release version number or name (required)
-a, --app-name Application name (default: '${APP_NAME}')
-s, --source-dir Source directory (default: '${SRC_DIR}')
-k, --gpg-key GPG key used to sign the release tarball
(default: '${GPG_KEY}')
-g, --gpg-git-key GPG key used to sign the merge commit and release tag,
leave empty to let Git choose your default key
(default: '${GPG_GIT_KEY}')
-o, --output-dir Output directory where to build the release
(default: '${OUTPUT_DIR}')
--develop-branch Development branch to merge from (default: 'release/VERSION')
--release-branch Target release branch to merge to (default: '${RELEASE_BRANCH}')
-t, --tag-name Override release tag name (defaults to version number)
-b, --build Build sources after exporting release
-d, --docker-image Use the specified Docker image to compile the application.
The image must have all required build dependencies installed.
This option has no effect if --build is not set.
--container-name Docker container name (default: '${DOCKER_CONTAINER_NAME}')
The container must not exist already
-c, --cmake-options Additional CMake options for compiling the sources
--compiler Compiler to use (default: '${COMPILER}')
-m, --make-options Make options for compiling sources (default: '${MAKE_OPTIONS}')
-i, --install-prefix Install prefix (default: '${INSTALL_PREFIX}')
-p, --plugins Space-separated list of plugins to build
(default: ${BUILD_PLUGINS})
-h, --help Show this help
EOF
}
logInfo() {
echo -e "\e[1m[ \e[34mINFO\e[39m ]\e[0m $1"
}
logError() {
echo -e "\e[1m[ \e[31mERROR\e[39m ]\e[0m $1" >&2
}
exitError() {
logError "$1"
if [ "" != "$ORIG_BRANCH" ]; then
git checkout "$ORIG_BRANCH" > /dev/null 2>&1
fi
cd "$ORIG_CWD"
exit 1
}
# parse command line options
while [ $# -ge 1 ]; do
arg="$1"
case "$arg" in
-a|--app-name)
APP_NAME="$2"
shift ;;
-s|--source-dir)
SRC_DIR"$2"
shift ;;
-v|--version)
RELEASE_NAME="$2"
shift ;;
-k|--gpg-key)
GPG_KEY="$2"
shift ;;
-g|--gpg-git-key)
GPG_GIT_KEY="$2"
shift ;;
-o|--output-dir)
OUTPUT_DIR="$2"
shift ;;
--develop-branch)
BRANCH="$2"
shift ;;
--release-branch)
RELEASE_BRANCH="$2"
shift ;;
-t|--tag-name)
TAG_NAME="$2"
shift ;;
-b|--build)
BUILD_SOURCES=true ;;
-d|--docker-image)
DOCKER_IMAGE="$2"
shift ;;
--container-name)
DOCKER_CONTAINER_NAME="$2"
shift ;;
-c|--cmake-options)
CMAKE_OPTIONS="$2"
shift ;;
-m|--make-options)
MAKE_OPTIONS="$2"
shift ;;
--compiler)
COMPILER="$2"
shift ;;
-p|--plugins)
BUILD_PLUGINS="$2"
shift ;;
-h|--help)
printUsage
exit ;;
*)
logError "Unknown option '$arg'\n"
printUsage
exit 1 ;;
esac
shift
done
if [ "" == "$RELEASE_NAME" ]; then
logError "Missing arguments, --version is required!\n"
printUsage
exit 1
fi
if [ "" == "$TAG_NAME" ]; then
TAG_NAME="$RELEASE_NAME"
fi
if [ "" == "$BRANCH" ]; then
BRANCH="release/${RELEASE_NAME}"
fi
APP_NAME_LOWER="$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]')"
APP_NAME_UPPER="$(echo "$APP_NAME" | tr '[:lower:]' '[:upper:]')"
SRC_DIR="$(realpath "$SRC_DIR")"
OUTPUT_DIR="$(realpath "$OUTPUT_DIR")"
if [ ! -d "$SRC_DIR" ]; then
exitError "Source directory '${SRC_DIR}' does not exist!"
fi
logInfo "Changing to source directory..."
cd "${SRC_DIR}"
logInfo "Performing basic checks..."
if [ -e "$OUTPUT_DIR" ]; then
exitError "Output directory '$OUTPUT_DIR' already exists. Please choose a different location!"
fi
if [ ! -d .git ] || [ ! -f CHANGELOG ]; then
exitError "Source directory is not a valid Git repository!"
fi
git tag | grep -q "$RELEASE_NAME"
if [ $? -eq 0 ]; then
exitError "Release '$RELEASE_NAME' already exists!"
fi
git diff-index --quiet HEAD --
if [ $? -ne 0 ]; then
exitError "Current working tree is not clean! Please commit or unstage any changes."
fi
git checkout "$BRANCH" > /dev/null 2>&1
if [ $? -ne 0 ]; then
exitError "Source branch '$BRANCH' does not exist!"
fi
grep -q "${APP_NAME_UPPER}_VERSION \"${RELEASE_NAME}\"" CMakeLists.txt
if [ $? -ne 0 ]; then
exitError "${APP_NAME_UPPER}_VERSION version not updated to '${RELEASE_NAME}' in CMakeLists.txt!"
fi
grep -q "${APP_NAME_UPPER}_VERSION_NUM \"${RELEASE_NAME}\"" CMakeLists.txt
if [ $? -ne 0 ]; then
exitError "${APP_NAME_UPPER}_VERSION_NUM version not updated to '${RELEASE_NAME}' in CMakeLists.txt!"
fi
if [ ! -f CHANGELOG ]; then
exitError "No CHANGELOG file found!"
fi
grep -qPzo "${RELEASE_NAME} \(\d{4}-\d{2}-\d{2}\)\n=+\n" CHANGELOG
if [ $? -ne 0 ]; then
exitError "CHANGELOG does not contain any information about the '${RELEASE_NAME}' release!"
fi
git checkout "$RELEASE_BRANCH" > /dev/null 2>&1
if [ $? -ne 0 ]; then
exitError "Release branch '$RELEASE_BRANCH' does not exist!"
fi
logInfo "All checks pass, getting our hands dirty now!"
logInfo "Merging '${BRANCH}' into '${RELEASE_BRANCH}'..."
CHANGELOG=$(grep -Pzo "(?<=${RELEASE_NAME} \(\d{4}-\d{2}-\d{2}\)\n)=+\n\n(?:.|\n)+?\n(?=\n)" \
CHANGELOG | grep -Pzo '(?<=\n\n)(.|\n)+' | tr -d \\0)
COMMIT_MSG="Release ${RELEASE_NAME}"
git merge "$BRANCH" --no-ff -m "$COMMIT_MSG" -m "${CHANGELOG}" "$BRANCH" -S"$GPG_GIT_KEY"
logInfo "Creating tag '${RELEASE_NAME}'..."
if [ "" == "$GPG_GIT_KEY" ]; then
git tag -a "$RELEASE_NAME" -m "$COMMIT_MSG" -m "${CHANGELOG}" -s
else
git tag -a "$RELEASE_NAME" -m "$COMMIT_MSG" -m "${CHANGELOG}" -s -u "$GPG_GIT_KEY"
fi
logInfo "Merge done, creating target directory..."
mkdir -p "$OUTPUT_DIR"
if [ $? -ne 0 ]; then
exitError "Failed to create output directory!"
fi
logInfo "Creating source tarball..."
TARBALL_NAME="${APP_NAME_LOWER}-${RELEASE_NAME}-src.tar.bz2"
git archive --format=tar "$RELEASE_BRANCH" --prefix="${APP_NAME_LOWER}-${RELEASE_NAME}/" \
| bzip2 -9 > "${OUTPUT_DIR}/${TARBALL_NAME}"
if $BUILD_SOURCES; then
logInfo "Creating build directory..."
mkdir -p "${OUTPUT_DIR}/build-release"
mkdir -p "${OUTPUT_DIR}/bin-release"
cd "${OUTPUT_DIR}/build-release"
logInfo "Configuring sources..."
for p in $BUILD_PLUGINS; do
CMAKE_OPTIONS="${CMAKE_OPTIONS} -DWITH_XC_$(echo $p | tr '[:lower:]' '[:upper:]')=On"
done
if [ "$COMPILER" == "g++" ]; then
export CC=gcc
elif [ "$COMPILER" == "clang++" ]; then
export CC=clang
fi
export CXX="$COMPILER"
if [ "" == "$DOCKER_IMAGE" ]; then
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=Off $CMAKE_OPTIONS \
-DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" "$SRC_DIR"
logInfo "Compiling sources..."
make $MAKE_OPTIONS
logInfo "Installing to bin dir..."
make DESTDIR="${OUTPUT_DIR}/bin-release" install/strip
else
logInfo "Launching Docker container to compile sources..."
docker run --name "$DOCKER_CONTAINER_NAME" --rm \
-e "CC=${CC}" -e "CXX=${CXX}" \
-v "$(realpath "$SRC_DIR"):/keepassxc/src:ro" \
-v "$(realpath "$OUTPUT_DIR"):/keepassxc/out:rw" \
"$DOCKER_IMAGE" \
bash -c "cd /keepassxc/out/build-release && \
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=Off $CMAKE_OPTIONS \
-DCMAKE_INSTALL_PREFIX=\"${INSTALL_PREFIX}\" /keepassxc/src && \
make $MAKE_OPTIONS && make DESTDIR=/keepassxc/out/bin-release install/strip"
logInfo "Build finished, Docker container terminated."
fi
logInfo "Creating AppImage..."
${SRC_DIR}/AppImage-Recipe.sh "$APP_NAME" "$RELEASE_NAME"
cd ..
logInfo "Signing source tarball..."
gpg --output "${TARBALL_NAME}.sig" --armor --local-user "$GPG_KEY" --detach-sig "$TARBALL_NAME"
logInfo "Signing AppImage..."
APPIMAGE_NAME="${APP_NAME}-${RELEASE_NAME}-x86_64.AppImage"
gpg --output "${APPIMAGE_NAME}.sig" --armor --local-user "$GPG_KEY" --detach-sig "$APPIMAGE_NAME"
logInfo "Creating digests..."
sha256sum "$TARBALL_NAME" > "${TARBALL_NAME}.DIGEST"
sha256sum "$APPIMAGE_NAME" > "${APPIMAGE_NAME}.DIGEST"
fi
logInfo "Leaving source directory..."
cd "$ORIG_CWD"
git checkout "$ORIG_BRANCH" > /dev/null 2>&1
logInfo "All done!"
logInfo "Please merge the release branch back into the develop branch now and then push your changes."
logInfo "Don't forget to also push the tags using \e[1mgit push --tags\e[0m."

View File

@@ -0,0 +1,13 @@
[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

@@ -21,34 +21,97 @@ install(FILES ${DATABASE_ICONS} DESTINATION ${DATA_INSTALL_DIR}/icons/database)
if(UNIX AND NOT APPLE)
install(DIRECTORY icons/application/ DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor
FILES_MATCHING PATTERN "keepassx.png" PATTERN "keepassx.svgz")
FILES_MATCHING PATTERN "keepassx*.png" PATTERN "keepassx*.svgz")
install(DIRECTORY icons/application/ DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor
FILES_MATCHING PATTERN "application-x-keepassx.png" PATTERN "application-x-keepassx.svgz")
install(FILES linux/keepassx.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES linux/keepassx.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
FILES_MATCHING PATTERN "application-x-keepassxc.png" PATTERN "application-x-keepassxc.svgz")
install(FILES linux/keepassxc.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES linux/keepassxc.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
endif(UNIX AND NOT APPLE)
if(APPLE)
install(FILES macosx/keepassx.icns DESTINATION ${DATA_INSTALL_DIR})
install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR})
endif()
install(DIRECTORY icons/application/ DESTINATION ${DATA_INSTALL_DIR}/icons/application
FILES_MATCHING PATTERN "*.png" PATTERN "*.svgz")
add_custom_target(icons
COMMAND png2icns macosx/keepassx.icns
icons/application/16x16/apps/keepassx.png
icons/application/32x32/apps/keepassx.png
icons/application/48x48/apps/keepassx.png
icons/application/128x128/apps/keepassx.png
icons/application/256x256/apps/keepassx.png
COMMAND icotool -c -o windows/keepassx.ico
icons/application/16x16/apps/keepassx.png
icons/application/24x24/apps/keepassx.png
icons/application/32x32/apps/keepassx.png
icons/application/48x48/apps/keepassx.png
icons/application/64x64/apps/keepassx.png
icons/application/128x128/apps/keepassx.png
icons/application/256x256/apps/keepassx.png
# SVGZ to PNGs for KeePassXC
COMMAND inkscape -z -w 16 -h 16
icons/application/scalable/apps/keepassxc.svgz -e icons/application/16x16/apps/keepassxc.png
COMMAND inkscape -z -w 24 -h 24
icons/application/scalable/apps/keepassxc.svgz -e icons/application/24x24/apps/keepassxc.png
COMMAND inkscape -z -w 32 -h 32
icons/application/scalable/apps/keepassxc.svgz -e icons/application/32x32/apps/keepassxc.png
COMMAND inkscape -z -w 48 -h 48
icons/application/scalable/apps/keepassxc.svgz -e icons/application/48x48/apps/keepassxc.png
COMMAND inkscape -z -w 64 -h 64
icons/application/scalable/apps/keepassxc.svgz -e icons/application/64x64/apps/keepassxc.png
COMMAND inkscape -z -w 128 -h 128
icons/application/scalable/apps/keepassxc.svgz -e icons/application/128x128/apps/keepassxc.png
COMMAND inkscape -z -w 256 -h 256
icons/application/scalable/apps/keepassxc.svgz -e icons/application/256x256/apps/keepassxc.png
# SVGZ to PNGs for KeePassXC
COMMAND inkscape -z -w 16 -h 16
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/16x16/apps/keepassxc-dark.png
COMMAND inkscape -z -w 24 -h 24
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/24x24/apps/keepassxc-dark.png
COMMAND inkscape -z -w 32 -h 32
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/32x32/apps/keepassxc-dark.png
COMMAND inkscape -z -w 48 -h 48
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/48x48/apps/keepassxc-dark.png
COMMAND inkscape -z -w 64 -h 64
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/64x64/apps/keepassxc-dark.png
COMMAND inkscape -z -w 128 -h 128
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/128x128/apps/keepassxc-dark.png
COMMAND inkscape -z -w 256 -h 256
icons/application/scalable/apps/keepassxc-dark.svgz -e icons/application/256x256/apps/keepassxc-dark.png
# SVGZ to PNGs for KeePassXC
COMMAND inkscape -z -w 16 -h 16
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/16x16/apps/keepassxc-locked.png
COMMAND inkscape -z -w 24 -h 24
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/24x24/apps/keepassxc-locked.png
COMMAND inkscape -z -w 32 -h 32
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/32x32/apps/keepassxc-locked.png
COMMAND inkscape -z -w 48 -h 48
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/48x48/apps/keepassxc-locked.png
COMMAND inkscape -z -w 64 -h 64
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/64x64/apps/keepassxc-locked.png
COMMAND inkscape -z -w 128 -h 128
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/128x128/apps/keepassxc-locked.png
COMMAND inkscape -z -w 256 -h 256
icons/application/scalable/apps/keepassxc-locked.svgz -e icons/application/256x256/apps/keepassxc-locked.png
# SVGZ to PNGs for KeePassXC MIME-Type
COMMAND inkscape -z -w 16 -h 16
icons/application/scalable/mimetypes/application-x-keepassxc.svgz -e icons/application/16x16/mimetypes/application-x-keepassxc.png
COMMAND inkscape -z -w 22 -h 22
icons/application/scalable/mimetypes/application-x-keepassxc.svgz -e icons/application/22x22/mimetypes/application-x-keepassxc.png
COMMAND inkscape -z -w 32 -h 32
icons/application/scalable/mimetypes/application-x-keepassxc.svgz -e icons/application/32x32/mimetypes/application-x-keepassxc.png
COMMAND inkscape -z -w 64 -h 64
icons/application/scalable/mimetypes/application-x-keepassxc.svgz -e icons/application/64x64/mimetypes/application-x-keepassxc.png
COMMAND inkscape -z -w 128 -h 128
icons/application/scalable/mimetypes/application-x-keepassxc.svgz -e icons/application/128x128/mimetypes/application-x-keepassxc.png
# ICNS for MacOS
COMMAND png2icns macosx/keepassxc.icns
icons/application/16x16/apps/keepassxc.png
icons/application/32x32/apps/keepassxc.png
icons/application/48x48/apps/keepassxc.png
icons/application/128x128/apps/keepassxc.png
icons/application/256x256/apps/keepassxc.png
# ICO for Windows
COMMAND icotool -c -o windows/keepassxc.ico
icons/application/16x16/apps/keepassxc.png
icons/application/24x24/apps/keepassxc.png
icons/application/32x32/apps/keepassxc.png
icons/application/48x48/apps/keepassxc.png
icons/application/64x64/apps/keepassxc.png
icons/application/128x128/apps/keepassxc.png
icons/application/256x256/apps/keepassxc.png
VERBATIM
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,865 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
id="svg1307"
sodipodi:version="0.32"
inkscape:version="0.46+devel"
version="1.0"
sodipodi:docname="roll.svgz"
inkscape:output_extension="org.inkscape.output.svgz.inkscape"
inkscape:export-filename="/home/pinheiro/pics/oxygen-icons/scalable/actions/roll.png"
inkscape:export-xdpi="180"
inkscape:export-ydpi="180">
<defs
id="defs1309">
<linearGradient
id="linearGradient3718"
inkscape:collect="always">
<stop
id="stop3720"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop3722"
offset="1"
style="stop-color:#ffffff;stop-opacity:0" />
</linearGradient>
<linearGradient
id="linearGradient3680">
<stop
id="stop3682"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
style="stop-color:#ffffff;stop-opacity:0.49803922;"
offset="0.22032471"
id="stop3684" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0.5"
id="stop3686" />
<stop
id="stop3688"
offset="0.5"
style="stop-color:#ffffff;stop-opacity:0;" />
<stop
id="stop3690"
offset="1"
style="stop-color:#ffffff;stop-opacity:0;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3291">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3293" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3295" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 64 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="128 : 64 : 1"
inkscape:persp3d-origin="64 : 42.666667 : 1"
id="perspective87" />
<linearGradient
inkscape:collect="always"
id="linearGradient2381">
<stop
style="stop-color:#393939;stop-opacity:1;"
offset="0"
id="stop2383" />
<stop
style="stop-color:#393939;stop-opacity:0;"
offset="1"
id="stop2385" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2518">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2520" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2522" />
</linearGradient>
<linearGradient
id="linearGradient2496">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2498" />
<stop
id="stop2508"
offset="0.04228718"
style="stop-color:#ffffff;stop-opacity:0.49803922;" />
<stop
id="stop2504"
offset="0.5"
style="stop-color:#ffffff;stop-opacity:0;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0.5"
id="stop2506" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2500" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2488">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2490" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2492" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2453">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2455" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2457" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2419">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2421" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2423" />
</linearGradient>
<linearGradient
id="linearGradient3225">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3227" />
<stop
id="stop2347"
offset="0.5"
style="stop-color:#e9e9e9;stop-opacity:1;" />
<stop
style="stop-color:#d3d3d3;stop-opacity:1;"
offset="1"
id="stop3229" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient2425"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612"
gradientTransform="matrix(0.32911414,-0.18426278,0.00344988,0.00676072,59.169639,65.342464)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient2429"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.31464719,0.16663594,-0.00390006,0.0070264,6.1939502,29.102501)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient2433"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-6.5370771e-4,0.36915148,-0.01148035,8.9888928e-4,66.206754,56.948367)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient2480"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.30975608,-0.17225438,0.00324696,0.00631933,7.1075276,35.761713)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient2484"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.30528058,0.15922188,-0.00378396,0.00671573,60.709321,2.5331232)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2496"
id="linearGradient1432"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.814691,-0.4513534,-0.01142073,0.9309698,-11.541647,47.221462)"
x1="116.81535"
y1="186.85913"
x2="154.86906"
y2="30.208342" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3718"
id="radialGradient1435"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.4096939,-0.05084026,0.0016784,0.495142,37.98752,30.25767)"
cx="68.964005"
cy="63.915367"
fx="68.964005"
fy="63.915367"
r="20.153163" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2518"
id="radialGradient1438"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.68188455,-0.10453237,0.03601738,0.43439777,16.732111,38.459404)"
cx="68.964005"
cy="63.915367"
fx="68.964005"
fy="63.915367"
r="20.153163" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2488"
id="linearGradient1441"
gradientUnits="userSpaceOnUse"
x1="94.021759"
y1="3.2521791"
x2="92.337082"
y2="6.8190994"
gradientTransform="matrix(0.77496397,-0.47736424,0.41995021,0.75244601,-11.810014,48.172506)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient1456"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.80824314,-0.45051001,-0.01677524,0.96571805,-10.092238,38.234456)"
cx="113.60279"
cy="117.94415"
fx="113.60279"
fy="117.94415"
r="6.6403217" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient1459"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.80824314,-0.45051001,-0.01677524,0.96571805,-12.747064,45.293861)"
cx="148.67097"
cy="79.114578"
fx="148.67097"
fy="79.114578"
r="6.2969127" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient1463"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.76906443,0.41392843,-0.01330547,0.86085475,-11.512513,48.253962)"
cx="59.905712"
cy="5.9431438"
fx="59.905712"
fy="5.9431438"
r="7.4961972" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient1467"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81000807,-0.44693085,0.84280642,0.45175053,-16.121677,46.553274)"
cx="84.408051"
cy="50.798088"
fx="84.408051"
fy="50.798088"
r="6.9240074" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient1471"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81000807,-0.44693085,0.84280642,0.45175053,-13.240155,47.67091)"
cx="67.268486"
cy="30.446516"
fx="67.268486"
fy="30.446516"
r="6.8208823" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient1474"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81000807,-0.44693085,0.84280642,0.45175053,-11.409803,49.062709)"
cx="49.933464"
cy="9.8521395"
fx="49.933464"
fy="9.8521395"
r="6.9496646" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2453"
id="radialGradient1480"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.5645257,-0.34773821,0.28363904,0.50821111,10.679939,54.077116)"
cx="67.876709"
cy="60.201225"
fx="67.876709"
fy="60.201225"
r="60.815896" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2381"
id="linearGradient2387"
x1="-90.709442"
y1="153.80435"
x2="78.643684"
y2="12.660598"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.75854865,0.40826863,-0.0137637,0.89050228,-5.4092216,29.668461)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3291"
id="linearGradient3297"
x1="57.296326"
y1="-20.721647"
x2="67.490227"
y2="55.915768"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3291"
id="linearGradient3301"
gradientUnits="userSpaceOnUse"
x1="57.296326"
y1="-16.490377"
x2="57.296326"
y2="45.567513" />
<filter
inkscape:collect="always"
id="filter3429"
x="-0.090069178"
width="1.1801384"
y="-0.16560408"
height="1.3312082">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.68605903"
id="feGaussianBlur3431" />
</filter>
<filter
inkscape:collect="always"
id="filter3433"
x="-0.091769746"
width="1.1835395"
y="-0.1687308"
height="1.3374616">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.68605903"
id="feGaussianBlur3435" />
</filter>
<filter
inkscape:collect="always"
id="filter3437"
x="-0.090402938"
width="1.1808059"
y="-0.16621775"
height="1.3324355">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.68605903"
id="feGaussianBlur3439" />
</filter>
<filter
inkscape:collect="always"
id="filter3482"
x="-0.039611745"
width="1.0792235"
y="-0.29708207"
height="1.5941641">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.3721181"
id="feGaussianBlur3484" />
</filter>
<filter
inkscape:collect="always"
id="filter3518">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.45785798"
id="feGaussianBlur3520" />
</filter>
<filter
inkscape:collect="always"
id="filter3574">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.0125102"
id="feGaussianBlur3576" />
</filter>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2453"
id="radialGradient3638"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.634595,-0.3859285,-0.3188445,0.5737883,277.62315,52.360143)"
cx="67.876709"
cy="60.201225"
fx="67.876709"
fy="60.201225"
r="60.815896" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient3640"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.8645212,0.4720778,1.4956952e-2,0.9675874,302.57014,45.61879)"
cx="59.905712"
cy="5.9431438"
fx="59.905712"
fy="5.9431438"
r="7.4961972" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient3642"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.9085628,-0.4993103,1.8857387e-2,1.0854359,303.95792,42.280409)"
cx="148.67097"
cy="79.114578"
fx="148.67097"
fy="79.114578"
r="6.2969127" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient3644"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.9085628,-0.4993103,1.8857387e-2,1.0854359,300.97358,34.368164)"
cx="113.60279"
cy="117.94415"
fx="113.60279"
fy="117.94415"
r="6.6403217" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient3646"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.369964,-0.2042355,-3.878083e-3,7.6302398e-3,223.11488,65.450748)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient3648"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.3537014,0.1900896,4.3841428e-3,7.864176e-3,282.66594,24.246158)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient3650"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(7.3484633e-4,0.414965,1.2905298e-2,9.0936266e-4,214.00431,56.076739)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient3652"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.369964,-0.2042355,-3.878083e-3,7.6302398e-3,282.46217,32.207255)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2419"
id="radialGradient3654"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.3537014,0.1900896,4.3841428e-3,7.864176e-3,223.01536,-6.4711824)"
cx="96.433075"
cy="57.087173"
fx="96.433075"
fy="57.087173"
r="59.198612" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2488"
id="linearGradient3656"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.871153,-0.5297908,-0.4720747,0.8495381,302.90457,45.524605)"
x1="94.021759"
y1="3.2521791"
x2="92.337082"
y2="6.8190994" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2518"
id="radialGradient3658"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.7665205,-0.1115024,-4.0487885e-2,0.4886327,270.81978,34.857245)"
cx="68.964005"
cy="63.915367"
fx="68.964005"
fy="63.915367"
r="20.153163" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2518"
id="radialGradient3660"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2230559,-1.7307682e-2,7.7435003e-3,0.4922829,50.471168,28.127869)"
cx="68.964005"
cy="63.915367"
fx="68.964005"
fy="63.915367"
r="20.153163" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2496"
id="linearGradient3662"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.814691,-0.4513534,-1.1420728e-2,0.9309698,-11.541647,47.22146)"
x1="116.81535"
y1="186.85913"
x2="154.86906"
y2="30.208342" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2381"
id="linearGradient3664"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.8527002,0.4656229,1.5472064e-2,1.0009108,295.7093,24.780188)"
x1="-90.709442"
y1="153.80435"
x2="78.643684"
y2="12.660598" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3291"
id="linearGradient3666"
gradientUnits="userSpaceOnUse"
x1="57.296326"
y1="-16.490377"
x2="57.296326"
y2="45.567513" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient3668"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.9105468,-0.4952714,-0.9474161,0.5152438,302.45468,46.528825)"
cx="49.933464"
cy="9.8521395"
fx="49.933464"
fy="9.8521395"
r="6.9496646" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient3670"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.9105468,-0.4952714,-0.9474161,0.5152438,304.51222,44.948156)"
cx="67.268486"
cy="30.446516"
fx="67.268486"
fy="30.446516"
r="6.8208823" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3225"
id="radialGradient3672"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.9105468,-0.4952714,-0.9474161,0.5152438,307.7514,43.666425)"
cx="84.408051"
cy="50.798088"
fx="84.408051"
fy="50.798088"
r="6.9240074" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3680"
id="linearGradient3678"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.814691,-0.4513534,-0.01142073,0.9309698,-11.541647,47.221462)"
x1="274.36163"
y1="186.47618"
x2="42.380108"
y2="13.043629" />
<filter
inkscape:collect="always"
id="filter3714">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.42187368"
id="feGaussianBlur3716" />
</filter>
<filter
inkscape:collect="always"
id="filter3753">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.76746435"
id="feGaussianBlur3755" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.0078888"
inkscape:cx="119.14631"
inkscape:cy="77.382382"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:document-units="px"
inkscape:grid-bbox="true"
guidetolerance="0.1px"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1106"
inkscape:window-height="958"
inkscape:window-x="376"
inkscape:window-y="25" />
<metadata
id="metadata1312">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:contributor>
<cc:Agent>
<dc:title>Oxygen team</dc:title>
</cc:Agent>
</dc:contributor>
<dc:title></dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/LGPL/2.1/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
style="fill:#181818;fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter3753)"
d="m 63.6875,11.34375 c -0.307888,0.01157 -0.622049,0.03822 -0.9375,0.0625 -0.124077,0.0093 -0.251114,0.0201 -0.375,0.03125 -0.05233,0.0049 -0.103739,0.02601 -0.15625,0.03125 -0.712,0.06846 -1.428165,0.153454 -2.125,0.28125 -0.155698,0.02997 -0.311968,0.06025 -0.46875,0.09375 -1.997959,0.408268 -3.903345,1.039509 -5.53125,1.9375 -0.566172,0.280908 -1.121148,0.597939 -1.6875,0.9375 l -2.0625,1.125 c -3.384614,1.788314 -7.092461,4.343647 -12.375,7.28125 -3.43228,1.90868 -6.456933,3.625939 -9.1875,5.1875 l -4.96875,2.75 c -0.498481,0.274974 -0.961001,0.544756 -1.375,0.84375 l -0.3125,0.1875 c -0.268281,0.175855 -0.545708,0.372427 -0.8125,0.5625 -0.966273,0.596455 -1.527441,1.009092 -1.5,1.0625 0.0068,0.0132 0.146679,-0.07019 0.21875,-0.09375 -3.962556,3.207756 -7.410412,7.880262 -8,12.96875 L 12.0625,46.75 c -0.07009,0.509421 -0.116296,1.030587 -0.125,1.59375 L 10.34375,83.3125 c -0.105144,6.80274 4.445942,14.767952 10.21875,17.875 L 53.8125,119 c 0.416106,0.22396 0.814802,0.4009 1.21875,0.5625 6.179168,2.49704 14.387189,2.03917 19.03125,-0.53125 0.38938,-0.16551 0.784222,-0.33772 1.1875,-0.5625 l 31.125,-17.75 c 5.44542,-3.035234 9.8947,-10.375507 10,-16.4375 l -0.34375,-35.625 c 0.006,-0.33561 -0.0106,-0.655677 -0.0313,-0.96875 l 0.125,-0.21875 C 115.17195,41.889964 112.94649,34.769399 108.25,32.1875 l -1.375,-0.59375 C 106.25301,31.004608 98.645471,26.824191 89.15625,21.875 85.474411,19.954703 82.224469,18.29233 79.34375,16.84375 l -6.53125,-3.5 c -2.121537,-1.139951 -3.811692,-1.796844 -6.625,-1.96875 -0.253862,-0.01693 -0.519547,-0.02233 -0.78125,-0.03125 -0.147499,-0.0043 -0.289561,0.0017 -0.4375,0 -0.414575,-0.0064 -0.85006,-0.0162 -1.28125,0 z"
id="path2913"
sodipodi:nodetypes="cssssscccscccccscccccccccccccccccsccsssc" />
<path
style="fill:#181818;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 21.128502,28.09122 c -4.766214,3.124206 -9.405072,8.541154 -10.096359,14.50736 l 8.629169,48.78787 35.366196,27.16282 c 5.06326,2.14656 14.524273,2.44687 19.76131,-0.92915 L 117.12128,43.463792 c -0.95305,-5.578786 -3.1596,-12.685613 -7.85609,-15.267512 L 76.187417,14.016615 27.411339,24.642694 21.128502,28.09122 z"
id="path2415"
sodipodi:nodetypes="cccccccccc" />
<path
style="opacity:0;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 21.128502,28.09122 c -4.766214,3.124206 -9.405072,8.541154 -10.096359,14.50736 l 8.629169,48.78787 37.487054,27.87435 c 4.487477,0.90002 9.451421,1.77535 17.640452,-2.89762 L 117.12128,43.463792 c -0.95305,-5.578786 -3.1596,-12.685613 -7.85609,-15.267512 L 76.187417,14.016615 27.411339,24.642694 21.128502,28.09122 z"
id="path2435"
sodipodi:nodetypes="cccccccccc" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 21.534884,37.678074 33.235279,17.969949 c 5.772809,3.10706 10.335586,11.084985 10.230441,17.887724 l -0.586755,37.784793 c -0.105145,6.80273 -4.837214,9.77795 -10.610022,6.67089 L 20.568547,100.1994 C 14.795739,97.092352 10.232963,89.114423 10.338107,82.311683 l 0.586756,-37.96271 c 0.105144,-6.802738 4.837213,-9.777959 10.610021,-6.670899 z"
id="rect1412"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#1a1a1a;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 22.804196,27.057004 54.101765,9.7925263 C 59.722729,6.6918703 68.514472,6.488197 73.814194,9.3358593 L 108.41349,27.926853 c 5.29972,2.847662 5.0411,7.636379 -0.57986,10.737037 L 76.536061,55.928366 c -5.620963,3.100656 -14.412707,3.304329 -19.712429,0.456667 L 22.224339,37.79404 c -5.299722,-2.847662 -5.041106,-7.636381 0.579857,-10.737036 z"
id="rect1414" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 76.279616,56.950767 107.40321,39.201951 c 5.44542,-3.03524 9.7445,-0.598541 9.6392,5.463458 l -0.65538,38.618606 c -0.1053,6.061993 -4.57393,13.385785 -10.01935,16.421019 L 75.244086,117.45385 c -5.445414,3.03523 -9.744496,0.59853 -9.639194,-5.46346 l 0.65538,-38.61861 c 0.105301,-6.062 4.57393,-13.385772 10.019344,-16.421013 z"
id="rect1416"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:url(#radialGradient1463);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 34.579473,71.713674 c 3.193841,1.719 5.720571,5.980985 5.665315,9.556022 -0.05526,3.575036 -2.670955,5.069246 -5.864796,3.350246 -3.19384,-1.719 -5.720571,-5.980986 -5.665314,-9.556022 0.05526,-3.575036 2.670954,-5.069247 5.864795,-3.350246 z"
id="rect2299" />
<path
style="fill:url(#radialGradient1459);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 106.19386,48.637332 c 2.81955,-1.571604 5.04233,-0.124684 4.98382,3.244214 -0.0585,3.368899 -2.37553,7.346262 -5.19509,8.917866 -2.81954,1.571599 -5.04232,0.124685 -4.9838,-3.244214 0.0585,-3.368897 2.37552,-7.346266 5.19507,-8.917866 z"
id="rect2301" />
<path
style="fill:url(#radialGradient1456);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 79.85942,94.543208 c 2.973317,-1.657309 5.317323,-0.131486 5.255611,3.421141 -0.06171,3.552621 -2.505079,7.746891 -5.478396,9.404201 -2.973318,1.65731 -5.317324,0.13148 -5.255611,-3.42112 0.06171,-3.55264 2.505079,-7.746904 5.478396,-9.404222 z"
id="rect2303" />
<path
style="fill:url(#radialGradient2425);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 110.58717,37.051279 c 0.11274,0.220925 -8.5242,5.287057 -19.278872,11.30833 -10.754671,6.021272 -19.574594,10.728803 -19.687327,10.507878 -0.112734,-0.220924 8.5242,-5.287055 19.278871,-11.308329 10.754678,-6.021273 19.574588,-10.728803 19.687328,-10.507879 z"
id="path2417" />
<path
style="fill:url(#radialGradient2429);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 54.940385,55.437448 C 54.81294,55.667054 46.364754,51.434053 36.082827,45.988786 25.8009,40.543518 17.559582,35.937824 17.687026,35.708218 c 0.127446,-0.229607 8.575631,4.003395 18.857558,9.448661 10.281927,5.445267 18.523246,10.050963 18.395801,10.280569 z"
id="path2427" />
<path
style="opacity:0.352459;fill:url(#radialGradient2433);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 65.449635,114.45135 c -0.375151,0.0294 -0.662284,-9.73704 -0.640922,-21.800043 0.02136,-12.062997 0.343169,-21.877093 0.71832,-21.906467 0.37515,-0.02937 0.662284,9.737046 0.640922,21.800043 -0.02136,12.062997 -0.343169,21.877087 -0.71832,21.906467 z"
id="path2431" />
<path
style="fill:url(#radialGradient2480);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 55.500752,9.3142325 C 55.606855,9.5207335 47.477933,14.256682 37.355837,19.885546 27.23374,25.514411 18.932593,29.915169 18.826489,29.708669 18.720387,29.502168 26.849309,24.76622 36.971404,19.137356 47.093501,13.508491 55.394649,9.1077316 55.500752,9.3142325 z"
id="path2478" />
<path
style="fill:url(#radialGradient2484);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 108.00464,27.696488 C 107.88099,27.915941 99.6843,23.871327 89.70845,18.668329 79.732601,13.465333 71.736615,9.0645036 71.860266,8.8450494 c 0.123651,-0.2194542 8.320347,3.8251596 18.296196,9.0281566 9.975848,5.202996 17.971838,9.603826 17.848178,9.823282 z"
id="path2482" />
<path
style="fill:url(#linearGradient1441);fill-opacity:1;fill-rule:evenodd;stroke:none"
d="M 52.391314,10.725421 C 60.218637,6.0324839 68.182969,7.1388117 72.02313,8.5821097 66.243539,7.7850786 57.513187,8.4568441 52.391314,10.725421 z"
id="path2486" />
<path
style="fill:url(#linearGradient1432);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3574)"
d="m 77.08844,56.915281 34.08864,-19.331703 c 5.59118,-3.097618 10.02975,-0.486059 9.95196,5.855507 l -0.50832,41.436025 c -0.0778,6.341565 -4.64162,13.940612 -10.23281,17.03823 l -34.088639,20.3317 c -5.591181,3.09763 -10.029752,0.48606 -9.951956,-5.8555 l 0.508319,-42.43603 c 0.0778,-6.341566 4.641626,-13.940614 10.232806,-17.038229 z"
id="rect2556"
sodipodi:nodetypes="ccccccccc"
transform="matrix(0.88958423,-0.00696863,0,0.88958423,7.0366649,7.5268987)" />
<path
style="fill:url(#radialGradient1438);fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 50.216546,53.06469 7.857374,4.162351 c 3.644704,1.96934 11.80512,2.303829 17.092856,-0.409972 l 14.63311,-8.036739 -14.617571,7.67824 c -6.819372,2.782435 -12.100091,1.948265 -17.117359,0.49485 l -7.84841,-3.88873 z"
id="path2514" />
<path
style="opacity:0.54455447;fill:url(#radialGradient1435);fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter3714)"
d="m 48.539396,51.570209 8.832636,4.748176 c 4.097087,4.930516 13.270379,5.877301 19.214433,-0.31034 l 16.449381,-8.905407 -16.309189,8.078374 c -7.351304,3.398287 -14.788017,2.426427 -19.241976,0.405541 l -8.945285,-4.016344 z"
id="path2526"
sodipodi:nodetypes="ccccccc"
transform="matrix(0.88958423,-0.00696863,0,0.88958423,7.0366649,7.5268987)" />
<path
id="path1506"
d="m 21.534884,37.678074 34.124863,18.407772 c 5.772809,3.10706 9.004709,10.947536 8.899565,17.750275 l -0.291005,39.175029 c -0.105145,6.80274 -6.773179,6.84305 -12.545987,3.73599 L 20.568547,100.1994 C 14.795739,97.092352 10.232963,89.114423 10.338107,82.311683 l 0.586756,-37.96271 c 0.105144,-6.802738 4.837213,-9.777959 10.610021,-6.670899 z"
style="fill:url(#linearGradient2387);fill-opacity:1;fill-rule:nonzero;stroke:none"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-1.1669018"
inkscape:original="M 64.125 0.28125 C 60.119734 0.34266221 56.06557 1.2507431 52.90625 2.96875 L 17.71875 22.09375 C 11.40011 25.529764 11.104972 30.908467 17.0625 34.15625 L 29.03125 40.6875 C 29.041477 40.689095 29.05227 40.685908 29.0625 40.6875 C 34.361479 41.512149 40.004261 41.96875 45.84375 41.96875 C 74.648901 41.96875 98.402523 31.131908 101.8125 17.1875 L 75.0625 2.625 C 72.083736 1.0011076 68.130266 0.21983779 64.125 0.28125 z "
style="fill:url(#linearGradient3301);fill-opacity:1;stroke:none;filter:url(#filter3518)"
id="path3299"
d="M 64.15625,1.4375 C 60.315227,1.4963939 56.411613,2.3997005 53.46875,4 l -35.1875,19.125 c -2.941524,1.599572 -4.254537,3.489516 -4.34375,5.125 -0.08921,1.635484 0.953539,3.384565 3.6875,4.875 l 11.78125,6.4375 c 5.194852,0.80039 10.715154,1.25 16.4375,1.25 14.256241,0 27.253781,-2.694155 37.03125,-7.0625 9.353803,-4.17906 15.530816,-9.912929 17.4375,-16.03125 L 74.5,3.65625 C 71.764111,2.1647623 67.998056,1.3785941 64.15625,1.4375 z"
transform="matrix(0.88958423,-0.00696863,0,0.88958423,7.0366649,7.5268987)" />
<g
id="g3441"
style="filter:url(#filter3482)"
transform="matrix(0.88958423,-0.00696863,0,0.88958423,7.0366649,7.5268987)">
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3429)"
d="m 27.480576,23.293682 c 3.505712,-1.906853 9.264565,-1.844946 12.912228,0.138803 3.647663,1.983749 3.761942,5.115894 0.256231,7.022747 -3.505711,1.906852 -9.264564,1.844946 -12.912227,-0.138803 -3.647663,-1.98375 -3.761943,-5.115894 -0.256232,-7.022747 z"
id="path3327" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3433)"
d="m 60.840861,23.804955 c 3.440747,-1.871518 9.092885,-1.810759 12.672954,0.13623 3.580069,1.946988 3.692229,5.021092 0.251482,6.89261 -3.440747,1.871516 -9.092884,1.810758 -12.672954,-0.13623 -3.580068,-1.946989 -3.692229,-5.021094 -0.251482,-6.89261 z"
id="path3329" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3437)"
d="m 92.391788,24.467376 c 3.492768,-1.899812 9.230362,-1.838135 12.864552,0.13829 3.6342,1.976426 3.74806,5.097007 0.25529,6.99682 -3.49277,1.899812 -9.230362,1.838135 -12.864558,-0.13829 -3.634195,-1.976426 -3.748052,-5.097006 -0.255284,-6.99682 z"
id="path3331" />
</g>
<path
style="fill:url(#radialGradient1474);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 31.482952,28.057089 c 3.118626,-1.720736 8.241611,-1.705796 11.486514,0.0335 3.244904,1.739293 3.346565,4.524804 0.227939,6.24554 -3.118625,1.720735 -8.24161,1.705796 -11.486513,-0.0335 -3.244904,-1.739293 -3.346565,-4.524802 -0.22794,-6.245539 z"
id="rect2291" />
<path
style="fill:url(#radialGradient1471);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 61.159735,28.279434 c 3.060835,-1.68885 8.088887,-1.674188 11.27366,0.03288 3.184773,1.707062 3.284549,4.440954 0.223715,6.129804 -3.060834,1.688849 -8.088886,1.674187 -11.27366,-0.03287 -3.184772,-1.707063 -3.284549,-4.440957 -0.223715,-6.129805 z"
id="rect2293" />
<path
style="fill:url(#radialGradient1467);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 89.226942,28.648846 c 3.107112,-1.714382 8.211185,-1.699499 11.444108,0.03337 3.23292,1.732872 3.33421,4.508098 0.2271,6.222482 -3.107116,1.714382 -8.211187,1.699499 -11.444111,-0.03337 -3.232922,-1.732872 -3.334208,-4.508097 -0.227097,-6.222482 z"
id="rect2295" />
<path
style="opacity:0.20081967;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 32.745512,27.50858 c -0.444882,0.160874 -0.863106,0.357774 -1.252933,0.572866 -1.973505,1.088903 -2.658724,2.61258 -2.072615,4.019316 -0.110112,-1.174485 0.658612,-2.360809 2.281271,-3.256129 3.118627,-1.720737 8.247246,-1.702176 11.49215,0.03712 1.133181,0.607393 1.886843,1.33499 2.250084,2.107659 -0.152505,-1.039536 -0.963043,-2.069142 -2.45874,-2.870847 -2.83929,-1.521881 -7.125046,-1.736102 -10.239217,-0.609982 z"
id="path1381" />
<path
id="path2263"
d="m 62.328392,27.787252 c -0.444881,0.160873 -0.863105,0.357773 -1.252933,0.572865 -1.973505,1.088904 -2.658724,2.61258 -2.072615,4.019316 -0.110113,-1.174485 0.658612,-2.360808 2.281271,-3.256128 3.118626,-1.720738 8.247247,-1.702177 11.49215,0.03712 1.133182,0.607393 1.886843,1.33499 2.250083,2.107659 -0.152505,-1.039536 -0.963042,-2.069141 -2.458739,-2.870847 -2.839291,-1.52188 -7.125046,-1.736101 -10.239217,-0.609981 z"
style="opacity:0.20081967;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<path
style="opacity:0.20081967;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 90.312362,28.060759 c -0.444879,0.160875 -0.863106,0.357775 -1.252933,0.572866 -1.973503,1.088903 -2.658722,2.61258 -2.072613,4.019316 -0.110112,-1.174485 0.658612,-2.360808 2.28127,-3.256128 3.118624,-1.720737 8.247248,-1.702176 11.492144,0.03712 1.13319,0.607392 1.88685,1.33499 2.25009,2.107659 -0.1525,-1.039538 -0.96304,-2.069141 -2.45874,-2.870847 -2.839292,-1.52188 -7.125047,-1.736101 -10.239218,-0.609982 z"
id="path2265" />
<path
sodipodi:nodetypes="ccccccccc"
id="path3674"
d="m 77.08844,56.915281 37.08864,-22.331703 c 5.59118,-3.097618 10.02975,-0.486059 9.95196,5.855507 l -0.50832,41.436025 c -0.0778,6.341565 -4.64162,13.940612 -10.23281,17.03823 l -37.088639,23.3317 c -5.591181,3.09763 -10.029752,0.48606 -9.951956,-5.8555 l 0.508319,-42.43603 c 0.0778,-6.341566 4.641626,-13.940614 10.232806,-17.038229 z"
style="fill:url(#linearGradient3678);fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3574)"
transform="matrix(-0.88958423,0.00696863,0,0.88958423,123.04786,8.3972843)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -1,12 +1,12 @@
[Desktop Entry]
Name=KeePassX
GenericName=Password Manager
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=keepassx %f
Icon=keepassx
Exec=keepassxc %f
Icon=keepassxc
Terminal=false
Type=Application
Categories=Qt;Utility;

View File

@@ -3,6 +3,6 @@
<mime-type type="application/x-keepass2">
<comment>KeePass 2 database</comment>
<glob pattern="*.kdbx"/>
<icon name="application-x-keepassx"/>
<icon name="application-x-keepassxc"/>
</mime-type>
</mime-info>

View File

@@ -11,9 +11,9 @@
<key>CFBundleExecutable</key>
<string>${PROGNAME}</string>
<key>CFBundleIconFile</key>
<string>keepassx.icns</string>
<string>keepassxc.icns</string>
<key>CFBundleIdentifier</key>
<string>org.keepassx.keepassx</string>
<string>org.keepassx.keepassxc</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@@ -21,13 +21,13 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${KEEPASSX_VERSION}</string>
<string>${KEEPASSXC_VERSION}</string>
<key>CFBundleSignature</key>
<string>KEPX</string>
<key>CFBundleVersion</key>
<string>${KEEPASSX_VERSION_NUM}</string>
<string>${KEEPASSXC_VERSION_NUM}</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 2010-2012 KeePassX Development Team</string>
<string>Copyright 2016 KeePassXC Development Team</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
@@ -36,9 +36,9 @@
<string>kdbx</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>keepassx.icns</string>
<string>keepassxc.icns</string>
<key>CFBundleTypeName</key>
<string>KeePassX Password Database</string>
<string>KeePassXC Password Database</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>kdbx</string>

Binary file not shown.

BIN
share/macosx/keepassxc.icns Normal file

Binary file not shown.

View File

@@ -17,9 +17,9 @@ file(GLOB TRANSLATION_FILES *.ts)
get_filename_component(TRANSLATION_EN_ABS keepassx_en.ts ABSOLUTE)
list(REMOVE_ITEM TRANSLATION_FILES keepassx_en.ts)
list(REMOVE_ITEM TRANSLATION_FILES ${TRANSLATION_EN_ABS})
message(STATUS ${TRANSLATION_FILES})
message(STATUS "${TRANSLATION_FILES}")
qt4_add_translation(QM_FILES ${TRANSLATION_FILES})
qt5_add_translation(QM_FILES ${TRANSLATION_FILES})
install(FILES ${QM_FILES} DESTINATION ${DATA_INSTALL_DIR}/translations)
add_custom_target(translations DEPENDS ${QM_FILES})

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation>Revize</translation>
</message>
<message>
<source>Using:</source>
<translation>S použitím:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -95,7 +99,7 @@
</message>
<message>
<source>Unable to create Key File : </source>
<translation>Nedaří se vytvořit soubor s klíčem :</translation>
<translation>Nedaří se vytvořit soubor s klíčem:</translation>
</message>
<message>
<source>Select a key file</source>
@@ -103,7 +107,7 @@
</message>
<message>
<source>Question</source>
<translation>Otázka</translation>
<translation>Dotaz</translation>
</message>
<message>
<source>Do you really want to use an empty string as password?</source>
@@ -148,7 +152,7 @@
</message>
<message>
<source>Unable to open the database.</source>
<translation>Databázi se nepodařilo otevřít.</translation>
<translation>Databázi se nedaří otevřít.</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
@@ -167,6 +171,43 @@
<translation>Vyberte soubor s klíčem</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Opravit databázi</translation>
</message>
<message>
<source>Error</source>
<translation>Chyba</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Nedaří se otevřít soubor s klíčem</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Databáze je v pořádku otevřená. Není třeba žádného zásahu.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Nedaří se otevřít databázi.</translation>
</message>
<message>
<source>Success</source>
<translation>Úspěch</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Databáze je úspěšně opravená
Nyní můžete uložit.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Databázi se nedaří opravit.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -179,7 +220,7 @@
</message>
<message>
<source>Transform rounds:</source>
<translation>Počet průchodů algoritmu:</translation>
<translation>Počet průchodů šifrovacího algoritmu:</translation>
</message>
<message>
<source>Default username:</source>
@@ -191,7 +232,7 @@
</message>
<message>
<source> MiB</source>
<translation type="unfinished"/>
<translation> MiB</translation>
</message>
<message>
<source>Benchmark</source>
@@ -199,11 +240,11 @@
</message>
<message>
<source>Max. history items:</source>
<translation>Nejvyšší umožněný počet položek historie:</translation>
<translation>Omezit počet uchovávaných předchozích verzí položky na:</translation>
</message>
<message>
<source>Max. history size:</source>
<translation>Nejvyšší umožněný objem dat historie záznamů:</translation>
<translation>Omezit datový objem předchozích verzí položek na:</translation>
</message>
</context>
<context>
@@ -214,7 +255,7 @@
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Databáze aplikace KeePass verze 2</translation>
<translation>Databáze ve formátu KeePass verze 2</translation>
</message>
<message>
<source>All files</source>
@@ -234,11 +275,11 @@
</message>
<message>
<source>Open KeePass 1 database</source>
<translation>Otevřít databázi aplikace KeePass verze 1</translation>
<translation>Otevřít databázi ve formátu KeePass verze 1</translation>
</message>
<message>
<source>KeePass 1 database</source>
<translation>Databáze aplikace KeePass verze 1</translation>
<translation>Databáze ve formátu KeePass verze 1</translation>
</message>
<message>
<source>All files (*)</source>
@@ -255,7 +296,7 @@
<message>
<source>&quot;%1&quot; was modified.
Save changes?</source>
<translation>%1 bylo změněno.
<translation>%1 bylo změněno.
Uložit změny?</translation>
</message>
<message>
@@ -282,7 +323,7 @@ Uložit změny?</translation>
<source>The database you are trying to open is locked by another instance of KeePassX.
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
<translation>Pro databázi, kterou se pokoušíte otevřít, existuje zámek úprav (stejnojmenný
.lock soubor). To znamená, že je nejspíš již otevřená v jiném okně KeePassX
.lock soubor). To znamená, že je nejspíš už otevřená v jiném okně KeePassX
(v případě sdíleného úložiště, třeba i na jiném počítači). Pokud tomu tak není,
je zámek nejspíš pozůstatkem předchozího neočekávaného ukončení aplikace
a je možné ho smazat. V každém případě, dotčenou databázi je možné otevřít
@@ -302,7 +343,7 @@ Pokud chcete změny dokončit, klikněte na Zrušit. V opačném případě změ
<source>This database has never been saved.
You can save the database or stop locking it.</source>
<translation>Tato databáze doposud ještě nebyla uložena.
Buď ji můžete uložit, nebo neuzamykat.</translation>
Buď ji můžete uložit, nebo neuzamknout.</translation>
</message>
<message>
<source>This database has been modified.
@@ -315,7 +356,7 @@ Pokud ne, provedené změny budou ztraceny.</translation>
<message>
<source>&quot;%1&quot; is in edit mode.
Discard changes and close anyway?</source>
<translation>%1 je právě upravováno.
<translation>„%1“ je právě upravováno.
Přesto zavřít a zahodit změny?</translation>
</message>
<message>
@@ -336,6 +377,10 @@ Do you want to save it anyway?</source>
<translation>Databáze, kterou se pokoušíte uložit, je uzamčena jinou instancí KeePassX.
Přesto uložit?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -349,7 +394,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Do you really want to delete the entry &quot;%1&quot; for good?</source>
<translation>Opravdu chcete nenávratně smazat položku %1?</translation>
<translation>Opravdu chcete nenávratně smazat položku „%1“?</translation>
</message>
<message>
<source>Delete entries?</source>
@@ -373,7 +418,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Do you really want to delete the group &quot;%1&quot; for good?</source>
<translation>Opravdu chcete nenávratně smazat skupinu %1?</translation>
<translation>Opravdu chcete nenávratně smazat skupinu „%1“?</translation>
</message>
<message>
<source>Current group</source>
@@ -385,7 +430,15 @@ Přesto uložit?</translation>
</message>
<message>
<source>Unable to calculate master key</source>
<translation>Nepodařilo se spočítat hlavní klíč</translation>
<translation>Nedaří se spočítat hlavní klíč</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
@@ -520,11 +573,11 @@ Přesto uložit?</translation>
</message>
<message>
<source>+</source>
<translation type="unfinished"/>
<translation>+</translation>
</message>
<message>
<source>-</source>
<translation type="unfinished"/>
<translation>-</translation>
</message>
<message>
<source>Window title:</source>
@@ -574,7 +627,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Repeat:</source>
<translation>Zopakovat:</translation>
<translation>Zopakování hesla:</translation>
</message>
<message>
<source>Gen.</source>
@@ -590,7 +643,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Presets</source>
<translation>Přednastavené</translation>
<translation>Předpřipravené</translation>
</message>
<message>
<source>Notes:</source>
@@ -699,7 +752,15 @@ Přesto uložit?</translation>
</message>
<message numerus="yes">
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Ikonu není možné smazat. Je používána %n položkou.</numerusform><numerusform>Ikonu není možné smazat. Je používána %n položkami.</numerusform><numerusform>Ikonu není možné smazat. Používá ji %n položek</numerusform></translation>
<translation><numerusform>Ikonu není možné smazat. Je používána %n položkou.</numerusform><numerusform>Ikonu není možné smazat. Je používána %n položkami.</numerusform><numerusform>Ikonu není možné smazat. Ještě jí používá %n položek.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
@@ -777,7 +838,7 @@ Přesto uložit?</translation>
<name>KeePass1OpenWidget</name>
<message>
<source>Import KeePass1 database</source>
<translation>Importovat databázi aplikace KeePass verze 1</translation>
<translation>Importovat databázi ve formátu KeePass verze 1</translation>
</message>
<message>
<source>Error</source>
@@ -785,14 +846,14 @@ Přesto uložit?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Databázi nelze otevřít.</translation>
<translation>Databázi se nedaří otevřít.</translation>
</message>
</context>
<context>
<name>KeePass1Reader</name>
<message>
<source>Unable to read keyfile.</source>
<translation>Soubor s klíčem nebylo možné načíst.</translation>
<translation>Nedaří se načíst soubor s klíčem.</translation>
</message>
<message>
<source>Not a KeePass database.</source>
@@ -814,6 +875,10 @@ Přesto uložit?</translation>
<source>Unable to calculate master key</source>
<translation>Nedaří se spočítat hlavní klíč</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -833,6 +898,16 @@ Přesto uložit?</translation>
<source>Unable to calculate master key</source>
<translation>Nedaří se spočítat hlavní klíč</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>Zvolený soubor je databáze ve starém formátu KeePass 1 (.kdb).
Můžete ho importovat pomocí Databáze Importovat databázi KeePass 1.
Jedná se o jednosměrný převod. Databázi, vzniklou z importu, nepůjde otevřít ve staré verzi KeePassX 0.4.</translation>
</message>
</context>
<context>
<name>Main</name>
@@ -877,7 +952,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Quit</source>
<translation>Ukončit</translation>
<translation>Ukončit aplikaci</translation>
</message>
<message>
<source>About</source>
@@ -993,7 +1068,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Toggle window</source>
<translation>Přepnout okno</translation>
<translation>Zobrazit/skrýt okno</translation>
</message>
<message>
<source>Tools</source>
@@ -1011,6 +1086,30 @@ Přesto uložit?</translation>
<source>Export to CSV file</source>
<translation>Exportovat do CSV souboru</translation>
</message>
<message>
<source>Repair database</source>
<translation>Opravit databázi</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Databáze ve formátu KeePass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Všechny soubory</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Uložit opravenou databázi</translation>
</message>
<message>
<source>Error</source>
<translation>Chyba</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Zápis do databáze se nezdařil.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1036,7 +1135,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Numbers</source>
<translation>Čísla</translation>
<translation>Číslice</translation>
</message>
<message>
<source>Special Characters</source>
@@ -1155,7 +1254,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Case sensitive</source>
<translation>Rozlišovat velikost písmen</translation>
<translation>Rozlišovat malá/velká písmena</translation>
</message>
<message>
<source>Current group</source>
@@ -1221,7 +1320,7 @@ Přesto uložit?</translation>
</message>
<message>
<source>Show a system tray icon</source>
<translation>Zobrazit ikonu v oznamovací oblasti systémového panelu</translation>
<translation>Zobrazovat ikonu v oznamovací oblasti systémového panelu</translation>
</message>
<message>
<source>Hide window to system tray when minimized</source>
@@ -1231,6 +1330,14 @@ Přesto uložit?</translation>
<source>Remember last key files</source>
<translation>Pamatovat si nedávno otevřené soubory s klíči</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -171,6 +171,43 @@
<translation>Vælg nøglefil</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Reparer database</translation>
</message>
<message>
<source>Error</source>
<translation>Fejl</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Kan ikke åbne nøglefil</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Databasen åbnede fint. Intet at gøre.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Kan ikke åbne databasen.</translation>
</message>
<message>
<source>Success</source>
<translation>Succes</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Databasen er blevet succesfuldt repareret
Du kan gemme den nu.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Kan ikke reparere databasen.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -336,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>Databasen som du prøver at gemme er låst af en anden instans af KeePassX.
Vil du alligevel gemme?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -387,6 +428,14 @@ Vil du alligevel gemme?</translation>
<source>Unable to calculate master key</source>
<translation>Kan ikke beregne hovednøgle</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -700,6 +749,14 @@ Vil du alligevel gemme?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Kan ikke slette ikonet. Det anvendes stadig af %n element.</numerusform><numerusform>Kan ikke slette ikonet. Det anvendes stadig af %n elementer.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -813,6 +870,10 @@ Vil du alligevel gemme?</translation>
<source>Unable to calculate master key</source>
<translation>Kan ikke beregne hovednøgle</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -1020,6 +1081,30 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>Export to CSV file</source>
<translation>Eksportér til CSV-fil</translation>
</message>
<message>
<source>Repair database</source>
<translation>Reparer database</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 Database</translation>
</message>
<message>
<source>All files</source>
<translation>Alle filer</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Gem repareret database</translation>
</message>
<message>
<source>Error</source>
<translation>Fejl</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Skrivning til database fejler.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1240,6 +1325,14 @@ Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den impo
<source>Remember last key files</source>
<translation>Husk de sidste nøglefiler</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation>Überarbeitung</translation>
</message>
<message>
<source>Using:</source>
<translation>In Benutzung:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -166,6 +170,43 @@
<translation>Schlüsseldatei auswählen</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Datenbank reparieren</translation>
</message>
<message>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Schlüsseldatei kann nicht geöffnet werden</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Datenbank wurde ordnungsgemäß geöffnet. Es gibt nichts zu tun.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Öffnen der Datenbank nicht möglich.</translation>
</message>
<message>
<source>Success</source>
<translation>Erfolg</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Datenbank erfolgreich repariert
sie kann nun gespeichert werden.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Reparieren der Datenbank nicht möglich.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -330,6 +371,10 @@ Do you want to save it anyway?</source>
<translation>Die Datenbank, die gespeichert werden soll, ist von einer anderen Instanz von KeePassX blockiert.
Soll sie dennoch gespeichert werden? </translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -381,6 +426,14 @@ Soll sie dennoch gespeichert werden? </translation>
<source>Unable to calculate master key</source>
<translation>Berechnung des &quot;master keys&quot; gescheitert</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -694,6 +747,14 @@ Soll sie dennoch gespeichert werden? </translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Symbol kann nicht gelöscht werden. Es wird von %n Eintrag verwendet.</numerusform><numerusform>Symbol kann nicht gelöscht werden. Es wird von %n Einträgen verwendet.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -807,6 +868,10 @@ Soll sie dennoch gespeichert werden? </translation>
<source>Unable to calculate master key</source>
<translation>Berechnung des &quot;master keys&quot; gescheitert</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -826,6 +891,16 @@ Soll sie dennoch gespeichert werden? </translation>
<source>Unable to calculate master key</source>
<translation>Berechnung des &quot;master keys&quot; gescheitert</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>Die ausgewählte Datei ist eine alte KeePass 1 Datenbank (.kdb).
Zum Importieren gehen Sie auf Datenbank &gt; &apos;KeePass 1 Datenbank importieren&apos;.
Dieser Vorgang ist nur in eine Richtung möglich. Die importierte Datenbank kann später nicht mehr mit der alten KeePassX Version 0.4 geöffnet werden.</translation>
</message>
</context>
<context>
<name>Main</name>
@@ -1004,6 +1079,30 @@ Soll sie dennoch gespeichert werden? </translation>
<source>Export to CSV file</source>
<translation>Als CSV Datei exportieren</translation>
</message>
<message>
<source>Repair database</source>
<translation>Datenbank reparieren</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 Datenbank</translation>
</message>
<message>
<source>All files</source>
<translation>Alle Dateien</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Reparierte Datenbank speichern</translation>
</message>
<message>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Schreiben der Datenbank fehlgeschlagen.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1224,6 +1323,14 @@ Soll sie dennoch gespeichert werden? </translation>
<source>Remember last key files</source>
<translation>Letzte Schlüsseldateien merken</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation>Fenster zu Taskleistensymbol minimieren statt Programm beenden</translation>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation>Fenster zu Taskleistensymbol minimieren wenn Programm started</translation>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -7,12 +7,16 @@
</message>
<message>
<source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation type="unfinished"/>
<translation>KeePassX διανέμεται υπό τον όρο από το GNU γενικής δημόσιας άδειας (GPL) έκδοση 2 ή (κατ &apos; επιλογή σας) έκδοση 3.</translation>
</message>
<message>
<source>Revision</source>
<translation>Αναθεώρηση</translation>
</message>
<message>
<source>Using:</source>
<translation>Χρήση:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -127,7 +131,7 @@
<name>DatabaseOpenWidget</name>
<message>
<source>Enter master key</source>
<translation type="unfinished"/>
<translation>Εισαγάγετε το πρωτεύον κλειδί</translation>
</message>
<message>
<source>Key File:</source>
@@ -166,6 +170,42 @@
<translation>Επιλέξτε αρχείο κλειδί</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Επισκευή βάσης δεδομένων</translation>
</message>
<message>
<source>Error</source>
<translation>Σφάλμα</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Δεν είναι δυνατό να ανοίξει αρχείο κλειδιού</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Μια χαρά το άνοιγμα βάσης δεδομένων. Τίποτα να κάνει.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Δεν είναι δυνατό να ανοίξει τη βάση δεδομένων.</translation>
</message>
<message>
<source>Success</source>
<translation>Επιτυχία</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Η βάση δεδομένων έχει επιδιορθωθεί με επιτυχία μπορείτε να το αποθηκεύσετε τώρα.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Δεν είναι δυνατή η επιδιόρθωση της βάσης δεδομένων.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -194,7 +234,7 @@
</message>
<message>
<source>Benchmark</source>
<translation type="unfinished"/>
<translation>Σημείο αναφοράς</translation>
</message>
<message>
<source>Max. history items:</source>
@@ -209,7 +249,7 @@
<name>DatabaseTabWidget</name>
<message>
<source>Root</source>
<translation type="unfinished"/>
<translation>Ρίζα</translation>
</message>
<message>
<source>KeePass 2 Database</source>
@@ -263,7 +303,7 @@ Save changes?</source>
</message>
<message>
<source>Writing the database failed.</source>
<translation type="unfinished"/>
<translation>Εγγραφή της βάσης δεδομένων απέτυχε.</translation>
</message>
<message>
<source>Save database as</source>
@@ -331,12 +371,16 @@ Do you want to save it anyway?</source>
<translation>Η βάση δεδομένων που πρασπαθείται να αποθηκεύσετε είναι κλειδωμένη από μία άλλη διεργασία KeePassX.
Θέλετε να την αποθηκεύσετε ούτως η άλλως;</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Δεν είναι δυνατό να ανοίξει τη βάση δεδομένων.</translation>
</message>
</context>
<context>
<name>DatabaseWidget</name>
<message>
<source>Change master key</source>
<translation type="unfinished"/>
<translation>Αλλαγή πρωτεύοντος κλειδιού</translation>
</message>
<message>
<source>Delete entry?</source>
@@ -380,7 +424,15 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Unable to calculate master key</source>
<translation type="unfinished"/>
<translation>Σε θέση να υπολογίσει το κύριο κλειδί</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation>Κίνηση εισόδου στον κάδο ανακύκλωσης;</translation>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation>Θέλετε πραγματικά να κινηθεί εισόδου &quot;%1&quot; στον κάδο ανακύκλωσης;</translation>
</message>
</context>
<context>
@@ -624,7 +676,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Inherit from parent group (%1)</source>
<translation type="unfinished"/>
<translation>Κληρονομούν από γονική ομάδα (%1)</translation>
</message>
</context>
<context>
@@ -696,6 +748,14 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
<source>Error</source>
<translation>Σφάλμα</translation>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation>Δεν μπορεί να διαβάσει το εικονίδιο:</translation>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -713,7 +773,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Uuid:</source>
<translation type="unfinished"/>
<translation>UUID:</translation>
</message>
</context>
<context>
@@ -803,11 +863,15 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Root</source>
<translation type="unfinished"/>
<translation>Ρίζα</translation>
</message>
<message>
<source>Unable to calculate master key</source>
<translation type="unfinished"/>
<translation>Σε θέση να υπολογίσει το κύριο κλειδί</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation>Λάθος κλειδί ή βάση δεδομένων αρχείο είναι κατεστραμμένο.</translation>
</message>
</context>
<context>
@@ -826,6 +890,13 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Unable to calculate master key</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 type="unfinished"/>
</message>
</context>
@@ -833,7 +904,7 @@ Do you want to save it anyway?</source>
<name>Main</name>
<message>
<source>Fatal error while testing the cryptographic functions.</source>
<translation type="unfinished"/>
<translation>Ανεπανόρθωτο σφάλμα κατά τον έλεγχο των κρυπτογραφικών λειτουργιών.</translation>
</message>
<message>
<source>KeePassX - Error</source>
@@ -924,7 +995,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Change master key</source>
<translation type="unfinished"/>
<translation>Αλλαγή πρωτεύοντος κλειδιού</translation>
</message>
<message>
<source>Database settings</source>
@@ -1006,6 +1077,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation>Εξαγωγή σε αρχείο CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Επισκευή βάσης δεδομένων</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation type="unfinished"/>
</message>
<message>
<source>All files</source>
<translation>Όλα τα αρχεία</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Αποθήκευση επιδιορθωμένη βάση δεδομένων</translation>
</message>
<message>
<source>Error</source>
<translation>Σφάλμα</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Εγγραφή της βάσης δεδομένων απέτυχε.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1062,19 +1157,19 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Unknown option &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>Άγνωστη επιλογή &apos;%1&apos;.</translation>
</message>
<message>
<source>Unknown options: %1.</source>
<translation type="unfinished"/>
<translation>Άγνωστο επιλογές: %1.</translation>
</message>
<message>
<source>Missing value after &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>Τιμή που λείπει μετά από &apos;%1&apos;.</translation>
</message>
<message>
<source>Unexpected value after &apos;%1&apos;.</source>
<translation type="unfinished"/>
<translation>Μη αναμενόμενη τιμή μετά από &apos;%1&apos;.</translation>
</message>
<message>
<source>[options]</source>
@@ -1097,11 +1192,11 @@ Do you want to save it anyway?</source>
<name>QSaveFile</name>
<message>
<source>Existing file %1 is not writable</source>
<translation type="unfinished"/>
<translation>Υπάρχον αρχείο %1 δεν είναι εγγράψιμο</translation>
</message>
<message>
<source>Writing canceled by application</source>
<translation type="unfinished"/>
<translation>Γράψιμο ακυρώθηκε από την εφαρμογή</translation>
</message>
<message>
<source>Partial write. Partition full?</source>
@@ -1116,15 +1211,15 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Error writing to underlying device: </source>
<translation type="unfinished"/>
<translation>Σφάλμα κατά την εγγραφή για την υποκείμενη συσκευή: </translation>
</message>
<message>
<source>Error opening underlying device: </source>
<translation type="unfinished"/>
<translation>Σφάλμα άνοιγμα υποκείμενη συσκευή: </translation>
</message>
<message>
<source>Error reading data from underlying device: </source>
<translation type="unfinished"/>
<translation>Σφάλμα κατά την ανάγνωση δεδομένων από υποκείμενη συσκευή: </translation>
</message>
<message>
<source>Internal zlib error when decompressing: </source>
@@ -1150,7 +1245,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Case sensitive</source>
<translation type="unfinished"/>
<translation>Διάκριση πεζών-κεφαλαίων</translation>
</message>
<message>
<source>Current group</source>
@@ -1158,7 +1253,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Root group</source>
<translation type="unfinished"/>
<translation>Ομάδα ρίζα</translation>
</message>
</context>
<context>
@@ -1169,7 +1264,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>General</source>
<translation type="unfinished"/>
<translation>Γενικά</translation>
</message>
<message>
<source>Security</source>
@@ -1180,7 +1275,7 @@ Do you want to save it anyway?</source>
<name>SettingsWidgetGeneral</name>
<message>
<source>Remember last databases</source>
<translation type="unfinished"/>
<translation>Θυμηθείτε την τελευταία βάσεις δεδομένων</translation>
</message>
<message>
<source>Open previous databases on startup</source>
@@ -1208,7 +1303,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Use entry title to match windows for global auto-type</source>
<translation type="unfinished"/>
<translation>Χρησιμοποιήστε εγγραφή τίτλου ώστε να ταιριάζει με windows για παγκόσμια αυτόματος-τύπο</translation>
</message>
<message>
<source>Language</source>
@@ -1216,7 +1311,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Show a system tray icon</source>
<translation type="unfinished"/>
<translation>Δείχνουν ένα εικονίδιο του δίσκου συστήματος</translation>
</message>
<message>
<source>Hide window to system tray when minimized</source>
@@ -1226,6 +1321,14 @@ Do you want to save it anyway?</source>
<source>Remember last key files</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -1,16 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<TS version="2.1" language="en_US">
<context>
<name>AboutDialog</name>
<message>
<source>About KeePassX</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Revision</source>
<translation type="unfinished"></translation>
@@ -19,15 +11,47 @@
<source>Using:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About KeePassXC</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AccessControlDialog</name>
<message>
<source>Remember this decision</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Allow</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deny</source>
<translation type="unfinished"></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>
</message>
<message>
<source>KeePassXC HTTP Confirm Access</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AutoType</name>
<message>
<source>Auto-Type - KeePassX</source>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<source>Auto-Type - KeePassXC</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -49,11 +73,11 @@
<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassX</source>
<source>Select entry to Auto-Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select entry to Auto-Type:</source>
<source>Auto-Type - KeePassXC</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -318,11 +342,6 @@ Save changes?</source>
<source>locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The database you are trying to open is locked by another instance of KeePassX.
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lock database</source>
<translation type="unfinished"></translation>
@@ -361,7 +380,20 @@ Discard changes and close anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
<source>Unable to open the database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The database you are trying to open is locked by another instance of KeePassXC.
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Merge database</source>
<translation type="unfinished"></translation>
</message>
<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>
</message>
@@ -407,10 +439,6 @@ Do you want to save it anyway?</source>
<source>Do you really want to delete the group &quot;%1&quot; for good?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Current group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
@@ -419,6 +447,34 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Searching...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No current database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No source database, nothing to do.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search Results (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No Results</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -734,12 +790,25 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon!</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Download favicon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to fetch favicon.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t read icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t delete icon. Still used by %1 items.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -813,6 +882,61 @@ Do you want to save it anyway?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HttpPasswordGeneratorWidget</name>
<message>
<source>Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Character Types</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Upper Case Letters</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>A-Z</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lower Case Letters</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>a-z</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Numbers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>0-9</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Special Characters</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>/*_&amp; ...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Exclude look-alike characters</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ensure that the password contains characters from every group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Accept</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeePass1OpenWidget</name>
<message>
@@ -854,6 +978,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -888,7 +1016,7 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassX - Error</source>
<source>KeePassXC - Error</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -898,102 +1026,14 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Recent databases</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Entries</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy attribute to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Groups</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>View</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add new entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>View/Edit entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add new group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Edit group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save database as</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Change master key</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import KeePass 1 database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Clone entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Find</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy username to clipboard</source>
<translation type="unfinished"></translation>
@@ -1006,30 +1046,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Perform Auto-Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lock databases</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notes</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Show toolbar</source>
<translation type="unfinished"></translation>
@@ -1046,22 +1062,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Tools</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy username</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export to CSV file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Repair database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation type="unfinished"></translation>
@@ -1082,6 +1082,252 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Writing the database failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
</message>
<message>
<source>Copy att&amp;ribute to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Groups</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
</message>
<message>
<source>&amp;Close database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;New database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Merge from KeePassX database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Add new entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;View/Edit entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Delete entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Add new group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Edit group</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
</message>
<message>
<source>&amp;Import KeePass 1 database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Clone entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Find</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy &amp;username</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cop&amp;y password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Perform Auto-Type</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Open URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Lock databases</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<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>
</context>
<context>
<name>OptionDialog</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sh&amp;ow a notification when credentials are requested</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Return only best matching entries for an URL instead
of all entries for the whole domain</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Match URL schemes
Only entries with the same scheme (http://, https://, ftp://, ...) are returned</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sort matching entries by &amp;username</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>R&amp;emove all shared encryption-keys from active database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Re&amp;move all stored permissions from entries in active database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password generator</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Activate the following only, if you know what you are doing!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Always allow &amp;access to entries</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Always allow &amp;updating entries</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Searc&amp;h in all opened databases for matching entries</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Only the selected database has to be connected with a client!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Return also advanced string fields which start with &quot;KPH: &quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Automatic creates or updates are not supported for string fields!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HTTP Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Default host: localhost</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HTTP Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Default port: 19455</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable KeepassXC Http protocol
This is required for accessing your databases from ChromeIPass or PassIFox</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Re&amp;quest to unlock the database if it is locked</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sort &amp;matching entries by title</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1127,60 +1373,9 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
</message>
</context>
<context>
<name>QCommandLineParser</name>
<name>QObject</name>
<message>
<source>Displays version information.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Displays this help.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown option &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown options: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Missing value after &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unexpected value after &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[options]</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Usage: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Arguments:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QSaveFile</name>
<message>
<source>Existing file %1 is not writable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Writing canceled by application</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Partial write. Partition full?</source>
<source>Http</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -1225,15 +1420,98 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<translation type="unfinished"></translation>
</message>
<message>
<source>Case sensitive</source>
<source>Case Sensitive</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Current group</source>
<source>Search Current Group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Service</name>
<message>
<source>A shared encryption-key with the name &quot;%1&quot; already exists.
Do you want to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Root group</source>
<source>Do you want to update the information in %1 - %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The active database is locked!
Please unlock the selected database or choose another one which is unlocked.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Successfully removed %1 encryption-%2 from KeePassX/Http Settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No shared encryption-keys found in KeePassHttp Settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The active database does not contain an entry of KeePassHttp Settings.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Removing stored permissions...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Abort</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Successfully removed permissions from %1 %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The active database does not contain an entry with permissions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: New key association request</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have received an association request for the above key.
If you would like to allow it access to your KeePassXC database
give it a unique name to identify and accept it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: Overwrite existing key?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: Update Entry</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: Database locked!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: Removed keys from database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: No keys found</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: Settings not available!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: Removed permissions</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC: No entry with permissions found!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -1302,6 +1580,14 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Remember last key files</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@@ -1325,6 +1611,10 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Always ask before performing auto-type</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lock databases after minimizing the window</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UnlockDatabaseWidget</name>
@@ -1342,14 +1632,6 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
</context>
<context>
<name>main</name>
<message>
<source>KeePassX - cross-platform password manager</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>filename of the password database to open (*.kdbx)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>path to a custom config file</source>
<translation type="unfinished"></translation>
@@ -1358,5 +1640,17 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>key file of the database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>filename(s) of the password database(s) to open (*.kdbx)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>KeePassXC - cross-platform password manager</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>read password of the database from stdin</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<TS version="2.1" language="en_US">
<context>
<name>DatabaseWidget</name>
<message numerus="yes">
@@ -32,7 +32,7 @@
<name>EditWidgetIcons</name>
<message numerus="yes">
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation>
<translation type="vanished">
<numerusform>Can&apos;t delete icon. Still used by %n item.</numerusform>
<numerusform>Can&apos;t delete icon. Still used by %n items.</numerusform>
</translation>

View File

@@ -9,6 +9,14 @@
<source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassX es distribuido bajo los términos de la versión 2 de la Licencia Pública GNU (GPL) o por la versión 3 (si así lo prefiere).</translation>
</message>
<message>
<source>Revision</source>
<translation>Revisión</translation>
</message>
<message>
<source>Using:</source>
<translation>Usando:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -163,6 +171,43 @@
<translation>Seleccionar archivo llave</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Reparar base de datos</translation>
</message>
<message>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>No se puede abrir el archivo llave</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Base de datos abierta correctamente. Nada que hacer.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>No se pudo abrir la base de datos.</translation>
</message>
<message>
<source>Success</source>
<translation>Éxito</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>La base de datos ha sido reparada correctamente
Ahora puede guardarla.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>No se pudo reparar la base de datos.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -322,6 +367,16 @@ Discard changes and close anyway?</source>
<source>Writing the CSV file failed.</source>
<translation>La escritura del archivo CSV falló.</translation>
</message>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
Do you want to save it anyway?</source>
<translation>La base de datos que está tratando de guardar está bloqueda por otra instancia de KeePassX.
̉¿Desea guardarla de cualquier manera?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -373,6 +428,14 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>No se puede calcular la llave maestra</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -687,6 +750,14 @@ Discard changes and close anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>No se puede eliminar el icono. Utilizado aún en %n elemento</numerusform><numerusform>No se puede eliminar el icono. Utilizado aún en %n elementos</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -800,6 +871,10 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>No se puede calcular la clave maestra</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -819,6 +894,16 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>No se puede calcular la clave maestra</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>El archivo seleccionado es una vieja base de datos de KeePass 1 (.kdb).
Puede importarla haciendo click en &apos;Base de datos&apos; &gt; &apos;Importar base de datos de Keepass 1&apos;.
Esta migración es en un único sentido. No podrá abrir la base importada con la vieja versión 0.4 de KeePassX. </translation>
</message>
</context>
<context>
<name>Main</name>
@@ -997,6 +1082,30 @@ Discard changes and close anyway?</source>
<source>Export to CSV file</source>
<translation>Exportar a un archivo CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Reparar la base de datos</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Base de datos de KeePass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Todos los archivos</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Guardar base de datos reparada</translation>
</message>
<message>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Fallo al escribir la base de datos.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1217,6 +1326,14 @@ Discard changes and close anyway?</source>
<source>Remember last key files</source>
<translation>Recordar últimos archivos clave</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@@ -1269,10 +1386,6 @@ Discard changes and close anyway?</source>
<source>path to a custom config file</source>
<translation>ruta a un archivo de configuración personalizado</translation>
</message>
<message>
<source>password of the database (DANGEROUS!)</source>
<translation>contraseña de la base de datos (¡PELIGROSO!)</translation>
</message>
<message>
<source>key file of the database</source>
<translation>archivo llave de la base de datos</translation>

View File

@@ -171,6 +171,43 @@
<translation>Choisissez un fichier-clé</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Réparer la base de données</translation>
</message>
<message>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Impossible d&apos;ouvrir le fichier-clé</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>La base de données s&apos;est bien ouverte. Aucune action à effectuer.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Impossible d&apos;ouvrir la base de données.</translation>
</message>
<message>
<source>Success</source>
<translation>Succès</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>La base de données a correctement é réparée.
Vous pouvez maintenant la sauvegarder.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Impossible de réparer la base de données.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -336,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>La base de données que vous essayez de sauvegarder a été verrouillée par une autre instance de KeePassX.
Voulez-vous quand même la sauvegarder ?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -387,6 +428,14 @@ Voulez-vous quand même la sauvegarder ?</translation>
<source>Unable to calculate master key</source>
<translation>Impossible de calculer la clé maître</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -701,6 +750,14 @@ Voulez-vous quand même la sauvegarder ?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Impossible de supprimer l&apos;icône. Toujours utilisée par %n objet(s).</numerusform><numerusform>Impossible de supprimer l&apos;icône. Toujours utilisée par %n objet(s).</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -814,6 +871,10 @@ Voulez-vous quand même la sauvegarder ?</translation>
<source>Unable to calculate master key</source>
<translation>Impossible de calculer la clé maître</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -1021,6 +1082,30 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<source>Export to CSV file</source>
<translation>Exporter au format CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Réparer la base de données</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Base de données KeePass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Tous les fichiers</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Sauvegarder la base de données réparée</translation>
</message>
<message>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Une erreur s&apos;est produite lors de l&apos;écriture de la base de données.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1241,6 +1326,14 @@ Ceci est une migration à sens unique. Vous ne serez plus en mesure d&apos;ouvri
<source>Remember last key files</source>
<translation>Se rappeler les derniers fichiers-clés ouverts</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -171,6 +171,43 @@
<translation>Pilih berkas kunci</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Perbaiki basis data</translation>
</message>
<message>
<source>Error</source>
<translation>Galat</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Tidak bisa membuka berkas kunci</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Basis data terbuka dengan baik. Tidak perlu melakukan apa-apa.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Tidak bisa membuka basis data.</translation>
</message>
<message>
<source>Success</source>
<translation>Sukses</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Basis data berhasil diperbaiki
Anda bisa menyimpannya sekarang.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Tidak bisa memperbaiki basis data.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -336,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>Basis data yang Anda coba buka terkunci oleh KeePassX lain yang sedang berjalan.
Apakah Anda tetap ingin menyimpannya?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -387,6 +428,14 @@ Apakah Anda tetap ingin menyimpannya?</translation>
<source>Unable to calculate master key</source>
<translation>Tidak bisa mengkalkulasi kunci utama</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -701,6 +750,14 @@ Apakah Anda tetap ingin menyimpannya?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Tidak bisa menghapus ikon. Masih digunakan oleh %n item.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -814,6 +871,10 @@ Apakah Anda tetap ingin menyimpannya?</translation>
<source>Unable to calculate master key</source>
<translation>Tidak bisa mengkalkulasi kunci utama</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -1021,6 +1082,30 @@ Ini adalah migrasi satu arah. Anda tidak akan bisa lagi membuka basis data yang
<source>Export to CSV file</source>
<translation>Ekspor ke berkas CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Perbaiki basis data</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Basis Data KeePass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Semua Berkas</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Simpan basis data yang sudah diperbaiki</translation>
</message>
<message>
<source>Error</source>
<translation>Galat</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Gagal menyimpan basis data.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1131,15 +1216,15 @@ Ini adalah migrasi satu arah. Anda tidak akan bisa lagi membuka basis data yang
</message>
<message>
<source>Error writing to underlying device: </source>
<translation type="unfinished"/>
<translation>Terjadi kesalahan saat menyimpan ke perangkat:</translation>
</message>
<message>
<source>Error opening underlying device: </source>
<translation type="unfinished"/>
<translation>Terjadi kesalahan saat membuka perangkat:</translation>
</message>
<message>
<source>Error reading data from underlying device: </source>
<translation type="unfinished"/>
<translation>Terjadi kesalahan saat membaca data dari perangkat:</translation>
</message>
<message>
<source>Internal zlib error when decompressing: </source>
@@ -1241,6 +1326,14 @@ Ini adalah migrasi satu arah. Anda tidak akan bisa lagi membuka basis data yang
<source>Remember last key files</source>
<translation>Ingat berkas kunci terakhir</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -171,6 +171,43 @@
<translation>Seleziona file chiave</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Ripara database</translation>
</message>
<message>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Impossibile aprire il file chiave</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Database aperto correttamente. Nessuna operazione da eseguire.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Impossibile aprire il database</translation>
</message>
<message>
<source>Success</source>
<translation>Successo</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Il database è stato riparato con successo
Adesso puoi salvarlo.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Impossibile riparare il database</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -336,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>Il database che stai tentando di salvare è bloccato da un&apos;altra istanza di KeePassX.
Vuoi salvare comunque?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -387,6 +428,14 @@ Vuoi salvare comunque?</translation>
<source>Unable to calculate master key</source>
<translation>Impossibile calcolare la chiave principale</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -701,6 +750,14 @@ Vuoi salvare comunque?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Impossibile eliminare l&apos;icona in quanto è in uso da %n voce.</numerusform><numerusform>Impossibile eliminare l&apos;icona in quanto è in uso da %n voci.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -814,6 +871,10 @@ Vuoi salvare comunque?</translation>
<source>Unable to calculate master key</source>
<translation>Impossibile calcolare la chiave principale</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -1021,6 +1082,30 @@ Questa è una migrazione in una sola direzione. Non potrai aprire il database im
<source>Export to CSV file</source>
<translation>Esporta in un file CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Ripara database</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Database KeePass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Tutti i file</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Salva il database riparato</translation>
</message>
<message>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Scrittura del database non riuscita.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1241,6 +1326,14 @@ Questa è una migrazione in una sola direzione. Non potrai aprire il database im
<source>Remember last key files</source>
<translation>Ricorda gli ultimi file di chiavi</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -9,6 +9,14 @@
<source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassXはGNU General Public License (GPL) version 2 version 3 ()</translation>
</message>
<message>
<source>Revision</source>
<translation></translation>
</message>
<message>
<source>Using:</source>
<translation>:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -18,7 +26,7 @@
</message>
<message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<translation type="unfinished"/>
<translation>:</translation>
</message>
</context>
<context>
@@ -29,11 +37,11 @@
</message>
<message>
<source>Sequence</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Default sequence</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
<context>
@@ -44,7 +52,7 @@
</message>
<message>
<source>Select entry to Auto-Type:</source>
<translation type="unfinished"/>
<translation>:</translation>
</message>
</context>
<context>
@@ -107,16 +115,17 @@
</message>
<message>
<source>Different passwords supplied.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Failed to set key file</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Failed to set %1 as the Key file:
%2</source>
<translation type="unfinished"/>
<translation>%1 :
%2</translation>
</message>
</context>
<context>
@@ -147,7 +156,7 @@
</message>
<message>
<source>Can&apos;t open key file</source>
<translation></translation>
<translation></translation>
</message>
<message>
<source>All files</source>
@@ -162,6 +171,43 @@
<translation></translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation></translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation></translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation></translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation></translation>
</message>
<message>
<source>Success</source>
<translation></translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>
</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation></translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -205,7 +251,7 @@
<name>DatabaseTabWidget</name>
<message>
<source>Root</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>KeePass 2 Database</source>
@@ -286,34 +332,49 @@ Do you want to open it anyway? Alternatively the database is opened read-only.</
<message>
<source>Can't lock the database as you are currently editing it.
Please press cancel to finish your changes or discard them.</source>
<translation type="unfinished"/>
<translation>現在編集中のため、データベースをロックすることができませんでした。
キャンセルボタンを押し、変更を完了させるか破棄してください。</translation>
</message>
<message>
<source>This database has never been saved.
You can save the database or stop locking it.</source>
<translation type="unfinished"/>
<translation>このデータベースは一度も保存されていません。
データベースを保存してロックを解除してください。</translation>
</message>
<message>
<source>This database has been modified.
Do you want to save the database before locking it?
Otherwise your changes are lost.</source>
<translation type="unfinished"/>
<translation>このデータベースは変更されました。
ロックを行う前にデータベースを保存しますか?
保存しない場合には変更点は失われます。</translation>
</message>
<message>
<source>&quot;%1&quot; is in edit mode.
Discard changes and close anyway?</source>
<translation type="unfinished"/>
<translation>&quot;%1&quot; は現在編集モードです。
変更を破棄して閉じてしまってもよろしいですか?</translation>
</message>
<message>
<source>Export database to CSV file</source>
<translation type="unfinished"/>
<translation>データベースをCSVファイルにエクスポートする</translation>
</message>
<message>
<source>CSV file</source>
<translation type="unfinished"/>
<translation>CSVファイル</translation>
</message>
<message>
<source>Writing the CSV file failed.</source>
<translation>CSVファイルの書き込みに失敗しました。</translation>
</message>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
Do you want to save it anyway?</source>
<translation>保存しようとしたデータベースは別のKeePassXプログラムからロックされています。
とにかく保存しますか?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -329,7 +390,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Do you really want to delete the entry &quot;%1&quot; for good?</source>
<translation type="unfinished"/>
<translation>本当にエントリー &quot;%1&quot; を永遠に消去しますか?</translation>
</message>
<message>
<source>Delete entries?</source>
@@ -337,7 +398,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Do you really want to delete %1 entries for good?</source>
<translation type="unfinished"/>
<translation>本当に %1 個のエントリーを永遠に消去しますか?</translation>
</message>
<message>
<source>Move entries to recycle bin?</source>
@@ -367,6 +428,14 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>マスターキーを計算できませんでした</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -412,7 +481,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Different passwords supplied.</source>
<translation type="unfinished"/>
<translation>異なるパスワードが入力されました。</translation>
</message>
<message>
<source>New attribute</source>
@@ -442,11 +511,11 @@ Discard changes and close anyway?</source>
</message>
<message numerus="yes">
<source>%n week(s)</source>
<translation><numerusform>%s週間()</numerusform></translation>
<translation><numerusform>%n週間</numerusform></translation>
</message>
<message numerus="yes">
<source>%n month(s)</source>
<translation><numerusform>%nヶ月()</numerusform></translation>
<translation><numerusform>%nヶ月</numerusform></translation>
</message>
<message>
<source>1 year</source>
@@ -496,7 +565,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Use custom Auto-Type sequence:</source>
<translation>使</translation>
<translation>カスタムの自動入力手順を使う:</translation>
</message>
<message>
<source>+</source>
@@ -546,7 +615,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Username:</source>
<translation></translation>
<translation>ユーザ名:</translation>
</message>
<message>
<source>Password:</source>
@@ -679,7 +748,15 @@ Discard changes and close anyway?</source>
</message>
<message numerus="yes">
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>%s個のアイテム()使</numerusform></translation>
<translation><numerusform>%n個のアイテムから使われているので、アイコンを削除できません。</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
@@ -705,7 +782,7 @@ Discard changes and close anyway?</source>
<name>EntryAttributesModel</name>
<message>
<source>Name</source>
<translation type="unfinished"/>
<translation>名前</translation>
</message>
</context>
<context>
@@ -794,6 +871,10 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>マスターキーを計算できませんでした</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -813,6 +894,16 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</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>
</message>
</context>
<context>
<name>Main</name>
@@ -973,7 +1064,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Toggle window</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Tools</source>
@@ -981,15 +1072,39 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Copy username</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Copy password</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Export to CSV file</source>
<translation type="unfinished"/>
<translation>CSVファイルへエクスポート</translation>
</message>
<message>
<source>Repair database</source>
<translation></translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 </translation>
</message>
<message>
<source>All files</source>
<translation></translation>
</message>
<message>
<source>Save repaired database</source>
<translation></translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation></translation>
</message>
</context>
<context>
@@ -1039,11 +1154,11 @@ Discard changes and close anyway?</source>
<name>QCommandLineParser</name>
<message>
<source>Displays version information.</source>
<translation></translation>
<translation></translation>
</message>
<message>
<source>Displays this help.</source>
<translation></translation>
<translation></translation>
</message>
<message>
<source>Unknown option &apos;%1&apos;.</source>
@@ -1082,7 +1197,7 @@ Discard changes and close anyway?</source>
<name>QSaveFile</name>
<message>
<source>Existing file %1 is not writable</source>
<translation> %1 </translation>
<translation> %1 </translation>
</message>
<message>
<source>Writing canceled by application</source>
@@ -1090,14 +1205,14 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Partial write. Partition full?</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
<context>
<name>QtIOCompressor</name>
<message>
<source>Internal zlib error when compressing: </source>
<translation>zlibエラーが発生しました</translation>
<translation>zlibエラーが発生しました: </translation>
</message>
<message>
<source>Error writing to underlying device: </source>
@@ -1113,7 +1228,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Internal zlib error when decompressing: </source>
<translation>zlibエラーが発生しました</translation>
<translation>zlibエラーが発生しました: </translation>
</message>
</context>
<context>
@@ -1193,7 +1308,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Use entry title to match windows for global auto-type</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Language</source>
@@ -1205,12 +1320,20 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Hide window to system tray when minimized</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Remember last key files</source>
<translation></translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@@ -1261,11 +1384,7 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>path to a custom config file</source>
<translation type="unfinished"/>
</message>
<message>
<source>password of the database (DANGEROUS!)</source>
<translation> (!)</translation>
<translation></translation>
</message>
<message>
<source>key file of the database</source>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation></translation>
</message>
<message>
<source>Using:</source>
<translation>:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -166,6 +170,43 @@
<translation> </translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation> </translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation> </translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation> . .</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation> .</translation>
</message>
<message>
<source>Success</source>
<translation></translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>
.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation> .</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -330,6 +371,10 @@ Do you want to save it anyway?</source>
<translation>저장하려고 하는 데이터베이스를 다른 KeePassX 인스턴스에서 잠갔습니다.
그래도 저장하시겠습니까?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -381,6 +426,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>마스터 키를 계산할 수 없음</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -694,6 +747,14 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>아이콘을 삭제할 수 없습니다. 항목 %n개에서 사용 중입니다.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -807,6 +868,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>마스터 키를 계산할 수 없음</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -826,6 +891,16 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</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>
</message>
</context>
<context>
<name>Main</name>
@@ -1004,6 +1079,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation>CSV </translation>
</message>
<message>
<source>Repair database</source>
<translation> </translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 </translation>
</message>
<message>
<source>All files</source>
<translation> </translation>
</message>
<message>
<source>Save repaired database</source>
<translation> </translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation> .</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1224,6 +1323,14 @@ Do you want to save it anyway?</source>
<source>Remember last key files</source>
<translation> </translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -13,12 +13,16 @@
<source>Revision</source>
<translation>Poversijis</translation>
</message>
<message>
<source>Using:</source>
<translation>Naudojama:</translation>
</message>
</context>
<context>
<name>AutoType</name>
<message>
<source>Auto-Type - KeePassX</source>
<translation>Automatinis Rinkimas - KeePassX</translation>
<translation>Automatinis rinkimas - KeePassX</translation>
</message>
<message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
@@ -44,11 +48,11 @@
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassX</source>
<translation>Automatinis Rinkimas - KeePassX</translation>
<translation>Automatinis rinkimas - KeePassX</translation>
</message>
<message>
<source>Select entry to Auto-Type:</source>
<translation>Pasirinkite įrašą Automatiniam Rinkimui:</translation>
<translation>Pasirinkite įrašą automatiniam rinkimui:</translation>
</message>
</context>
<context>
@@ -59,7 +63,7 @@
</message>
<message>
<source>Enter password:</source>
<translation>Įveskite slaptažodį:</translation>
<translation>Įrašykite slaptažodį:</translation>
</message>
<message>
<source>Repeat password:</source>
@@ -87,7 +91,7 @@
</message>
<message>
<source>Create Key File...</source>
<translation>Sukurti Rakto Failą...</translation>
<translation>Sukurti rakto failą...</translation>
</message>
<message>
<source>Error</source>
@@ -95,7 +99,7 @@
</message>
<message>
<source>Unable to create Key File : </source>
<translation>Nepavyko sukurti Rakto Failo : </translation>
<translation>Nepavyko sukurti rakto failo : </translation>
</message>
<message>
<source>Select a key file</source>
@@ -120,7 +124,7 @@
<message>
<source>Failed to set %1 as the Key file:
%2</source>
<translation>Nepavyko nustatyti %1 kaip Rakto failą:
<translation>Nepavyko nustatyti %1 kaip rakto failą:
%2</translation>
</message>
</context>
@@ -132,7 +136,7 @@
</message>
<message>
<source>Key File:</source>
<translation>Rakto Failas:</translation>
<translation>Rakto failas:</translation>
</message>
<message>
<source>Password:</source>
@@ -167,6 +171,43 @@
<translation>Pasirinkite rakto failą</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Taisyti duomenų bazę</translation>
</message>
<message>
<source>Error</source>
<translation>Klaida</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Nepavyksta atverti rakto failo</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Duomenų bazė atsivėrė tvarkingai. Nėra atlikti.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Nepavyko atverti duomenų bazės.</translation>
</message>
<message>
<source>Success</source>
<translation>Pavyko</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Duomenų bazė buvo sėkmingai pataisyta
Dabar galite įrašyti.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Duomenų bazės pataisyti nepavyko.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -214,7 +255,7 @@
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 Duomenų Bazė</translation>
<translation>KeePass 2 duomenų bazė</translation>
</message>
<message>
<source>All files</source>
@@ -332,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>Duomenų bazė, kurią bandote įrašyti yra užrakinta kito KeePassX programos egzemplioriaus.
Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -383,6 +428,14 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Unable to calculate master key</source>
<translation>Nepavyko apskaičiuoti pagrindinio rakto</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -400,7 +453,7 @@ Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Auto-Type</source>
<translation>Automatinis Rinkimas</translation>
<translation>Automatinis rinkimas</translation>
</message>
<message>
<source>Properties</source>
@@ -504,15 +557,15 @@ Ar vis tiek norite ją įrašyti?</translation>
<name>EditEntryWidgetAutoType</name>
<message>
<source>Enable Auto-Type for this entry</source>
<translation>Įjungti šiam įrašui Automatinį Rinkimą</translation>
<translation>Įjungti šiam įrašui automatinį rinkimą</translation>
</message>
<message>
<source>Inherit default Auto-Type sequence from the group</source>
<translation>Paveldėti numatytąją Automatinio Rinkimo seką grupės</translation>
<translation>Paveldėti numatytąją automatinio rinkimo seką iš grupės</translation>
</message>
<message>
<source>Use custom Auto-Type sequence:</source>
<translation>Naudoti tinkintą Automatinio Rinkimo seka:</translation>
<translation>Naudoti tinkintą automatinio rinkimo seka:</translation>
</message>
<message>
<source>+</source>
@@ -687,7 +740,7 @@ Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Select Image</source>
<translation>Pasirinkite Paveikslą</translation>
<translation>Pasirinkite paveikslą</translation>
</message>
<message>
<source>Can&apos;t delete icon!</source>
@@ -697,6 +750,14 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Nepavyksta ištrinti piktogramos. Vis dar naudojama %n elemento.</numerusform><numerusform>Nepavyksta ištrinti piktogramos. Vis dar naudojama %n elementų.</numerusform><numerusform>Nepavyksta ištrinti piktogramos. Vis dar naudojama %n elementų.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -810,6 +871,10 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Unable to calculate master key</source>
<translation>Nepavyko apskaičiuoti pagrindinio rakto</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -829,6 +894,16 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Unable to calculate master key</source>
<translation>Nepavyko apskaičiuoti pagrindinio rakto</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>Pasirinktas failas yra sena KeePass 1 duomenų bazė (.kdb).
Jūs galite importuoti, nuspausdami Duomenų bazė &gt; &quot;Importuoti KeePass 1 duomenų bazę&quot;.
Tai yra vienakryptis perkėlimas. Jūs negalėsite atverti importuotos duomenų bazės, naudodami senąją KeePassX 0.4 versija.</translation>
</message>
</context>
<context>
<name>Main</name>
@@ -957,7 +1032,7 @@ Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Perform Auto-Type</source>
<translation>Atlikti Automatinį Rinkimą</translation>
<translation>Atlikti automatinį rinkimą</translation>
</message>
<message>
<source>Open URL</source>
@@ -1007,6 +1082,30 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Export to CSV file</source>
<translation>Eksportuoti į CSV failą</translation>
</message>
<message>
<source>Repair database</source>
<translation>Taisyti duomenų bazę</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 duomenų bazė</translation>
</message>
<message>
<source>All files</source>
<translation>Visi failai</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Įrašyti pataisytą duomenų bazę</translation>
</message>
<message>
<source>Error</source>
<translation>Klaida</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Duomenų bazės rašymas nepavyko.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1020,15 +1119,15 @@ Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Character Types</source>
<translation>Simbolių Tipai</translation>
<translation>Simbolių tipai</translation>
</message>
<message>
<source>Upper Case Letters</source>
<translation>Viršutinio Registro Raidės</translation>
<translation>Viršutinio registro raidės</translation>
</message>
<message>
<source>Lower Case Letters</source>
<translation>Apatinio Registro Raidės</translation>
<translation>Apatinio registro raidės</translation>
</message>
<message>
<source>Numbers</source>
@@ -1036,7 +1135,7 @@ Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Special Characters</source>
<translation>Specialūs Simboliai</translation>
<translation>Specialūs simboliai</translation>
</message>
<message>
<source>Exclude look-alike characters</source>
@@ -1166,7 +1265,7 @@ Ar vis tiek norite ją įrašyti?</translation>
<name>SettingsWidget</name>
<message>
<source>Application Settings</source>
<translation>Programos Nustatymai</translation>
<translation>Programos nustatymai</translation>
</message>
<message>
<source>General</source>
@@ -1205,7 +1304,7 @@ Ar vis tiek norite ją įrašyti?</translation>
</message>
<message>
<source>Global Auto-Type shortcut</source>
<translation>Visuotinis Automatinio Rinkimo spartusis klavišas</translation>
<translation>Visuotinis automatinio rinkimo spartusis klavišas</translation>
</message>
<message>
<source>Use entry title to match windows for global auto-type</source>
@@ -1227,6 +1326,14 @@ Ar vis tiek norite ją įrašyti?</translation>
<source>Remember last key files</source>
<translation>Prisiminti paskutinius rakto failus</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation>Revisie</translation>
</message>
<message>
<source>Using:</source>
<translation>Maakt gebruik van:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -167,6 +171,43 @@
<translation>Kies sleutelbestand</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Database repareren</translation>
</message>
<message>
<source>Error</source>
<translation>Fout</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Niet mogelijk om het sleutelbestand te openen</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Database werd zonder problemen geopend. Niets te doen.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Niet mogelijk om de database te openen.</translation>
</message>
<message>
<source>Success</source>
<translation>Gelukt</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>De database is met succes gerepareerd
U kunt deze nu opslaan.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Niet mogelijk om de database te repareren.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -332,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>De database die u op probeert te slaan is vergrendeld door een andere instantie van KeePassX.
Wilt u toch doorgaan met opslaan?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -383,6 +428,14 @@ Wilt u toch doorgaan met opslaan?</translation>
<source>Unable to calculate master key</source>
<translation>Niet mogelijk om hoofdsleutel te berekenen</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -697,6 +750,14 @@ Wilt u toch doorgaan met opslaan?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Kan icoon niet verwijderen. Het wordt nog gebruikt door %n element.</numerusform><numerusform>Kan icoon niet verwijderen. Het wordt nog gebruikt door %n elementen.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -810,6 +871,10 @@ Wilt u toch doorgaan met opslaan?</translation>
<source>Unable to calculate master key</source>
<translation>Niet mogelijk om hoofdsleutel te berekenen</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -829,6 +894,16 @@ Wilt u toch doorgaan met opslaan?</translation>
<source>Unable to calculate master key</source>
<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>
</message>
</context>
<context>
<name>Main</name>
@@ -1007,6 +1082,30 @@ Wilt u toch doorgaan met opslaan?</translation>
<source>Export to CSV file</source>
<translation>Naar CSV-bestand exporteren</translation>
</message>
<message>
<source>Repair database</source>
<translation>Database repareren</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 Database</translation>
</message>
<message>
<source>All files</source>
<translation>Alle bestanden</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Gerepareerde database opslaan</translation>
</message>
<message>
<source>Error</source>
<translation>Fout</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Opslaan van de database is mislukt.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1197,7 +1296,7 @@ Wilt u toch doorgaan met opslaan?</translation>
</message>
<message>
<source>Minimize when copying to clipboard</source>
<translation>Minimaliseer bij kopieeren naar klembord</translation>
<translation>Minimaliseer bij kopiëren naar klembord</translation>
</message>
<message>
<source>Use group icon on entry creation</source>
@@ -1227,6 +1326,14 @@ Wilt u toch doorgaan met opslaan?</translation>
<source>Remember last key files</source>
<translation>Onthoud laatste sleutelbestanden</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation>Rewizja</translation>
</message>
<message>
<source>Using:</source>
<translation>Używanie:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -22,7 +26,7 @@
</message>
<message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<translation type="unfinished"/>
<translation>Nie mogę znaleźć wpisu, który by pasował do tytułu okna: </translation>
</message>
</context>
<context>
@@ -95,7 +99,7 @@
</message>
<message>
<source>Unable to create Key File : </source>
<translation>Nie można utworzyć pliku klucza</translation>
<translation>Nie można utworzyć pliku klucza :</translation>
</message>
<message>
<source>Select a key file</source>
@@ -111,16 +115,17 @@
</message>
<message>
<source>Different passwords supplied.</source>
<translation type="unfinished"/>
<translation>Podano różne hasła.</translation>
</message>
<message>
<source>Failed to set key file</source>
<translation type="unfinished"/>
<translation>Błąd w ustawianiu pliku z kluczem</translation>
</message>
<message>
<source>Failed to set %1 as the Key file:
%2</source>
<translation type="unfinished"/>
<translation>Błąd w ustawieniu %1 jako plik klucza:
%2</translation>
</message>
</context>
<context>
@@ -166,6 +171,43 @@
<translation>Wybierz plik z kluczem</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Napraw bazę</translation>
</message>
<message>
<source>Error</source>
<translation>Błąd</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Nie mogę otworzyć pliku z kluczem</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Pomyślnie otworzono bazę. Nic do zrobienia.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Nie można otworzyć bazy kluczy.</translation>
</message>
<message>
<source>Success</source>
<translation>Sukces</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Baza została naprawiona
Możesz teraz już zapisać.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Nie mogę naprawić bazę.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -174,7 +216,7 @@
</message>
<message>
<source>Database description:</source>
<translation>Opis bazy danych</translation>
<translation>Opis bazy danych:</translation>
</message>
<message>
<source>Transform rounds:</source>
@@ -198,11 +240,11 @@
</message>
<message>
<source>Max. history items:</source>
<translation type="unfinished"/>
<translation>Max. ilość wpisów w historii:</translation>
</message>
<message>
<source>Max. history size:</source>
<translation type="unfinished"/>
<translation>Max. rozmiar historii:</translation>
</message>
</context>
<context>
@@ -237,24 +279,25 @@
</message>
<message>
<source>KeePass 1 database</source>
<translation>Baza danych KeePass1</translation>
<translation>Baza danych KeePass 1</translation>
</message>
<message>
<source>All files (*)</source>
<translation>Wszystkie pliki(*)</translation>
<translation>Wszystkie pliki (*)</translation>
</message>
<message>
<source>Close?</source>
<translation>Zamknąć ?</translation>
<translation>Zamknąć?</translation>
</message>
<message>
<source>Save changes?</source>
<translation>Zapisać zmiany ?</translation>
<translation>Zapisać zmiany?</translation>
</message>
<message>
<source>&quot;%1&quot; was modified.
Save changes?</source>
<translation>&quot;%1&quot; został zmieniony. Zapisać zmiany ?</translation>
<translation>&quot;%1&quot; został zmieniony.
Zapisać zmiany?</translation>
</message>
<message>
<source>Error</source>
@@ -274,12 +317,13 @@ Save changes?</source>
</message>
<message>
<source>locked</source>
<translation>plik CSV</translation>
<translation>zablokowana</translation>
</message>
<message>
<source>The database you are trying to open is locked by another instance of KeePassX.
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
<translation type="unfinished"/>
<translation>Baza, którą próbujesz otworzyć, jest zablokowana przez inną instancję KeePassX.
Czy chcesz otworzyć pomimo tego? Inaczej baza będzie otwarta tylko do odczytu.</translation>
</message>
<message>
<source>Lock database</source>
@@ -288,23 +332,28 @@ Do you want to open it anyway? Alternatively the database is opened read-only.</
<message>
<source>Can't lock the database as you are currently editing it.
Please press cancel to finish your changes or discard them.</source>
<translation type="unfinished"/>
<translation>Nie można zablokować bazy, którą edytujesz.
Naciśnij anuluj, aby zakończyć zmiany albo porzucić je.</translation>
</message>
<message>
<source>This database has never been saved.
You can save the database or stop locking it.</source>
<translation type="unfinished"/>
<translation>Baza nie została nigdy zapisana.
Możesz ją zapisać albo przestać blokować.</translation>
</message>
<message>
<source>This database has been modified.
Do you want to save the database before locking it?
Otherwise your changes are lost.</source>
<translation type="unfinished"/>
<translation>Baza została zmodyfikowana.
Czy chcesz zapisać przed zablokowaniem jej?
W przeciwnym wypadku zmiany zostaną porzucone.</translation>
</message>
<message>
<source>&quot;%1&quot; is in edit mode.
Discard changes and close anyway?</source>
<translation type="unfinished"/>
<translation>&quot;%1&quot; jest w trybie edytowania.
Odrzucić zmiany i zamknąć?</translation>
</message>
<message>
<source>Export database to CSV file</source>
@@ -321,6 +370,11 @@ Discard changes and close anyway?</source>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
Do you want to save it anyway?</source>
<translation>Baza, którą próbujesz zapisać jest zablokowana przez inną instancję KeePassX.
Czy chcesz zapisać mimo to?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -352,7 +406,7 @@ Do you want to save it anyway?</source>
</message>
<message numerus="yes">
<source>Do you really want to move %n entry(s) to the recycle bin?</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
<translation><numerusform>Czy na pewno chcesz przenieść %n wpis do kosza?</numerusform><numerusform>Czy na pewno chcesz przenieść %n wpisów do kosza?</numerusform><numerusform>Czy na pewno chcesz przenieść %n wpisów do kosza?</numerusform></translation>
</message>
<message>
<source>Delete group?</source>
@@ -374,6 +428,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Nie mogę wyliczyć głównego klucza</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -407,7 +469,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Add entry</source>
<translation>Nowy wpis</translation>
<translation>Dodaj wpis</translation>
</message>
<message>
<source>Edit entry</source>
@@ -419,7 +481,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Different passwords supplied.</source>
<translation type="unfinished"/>
<translation>Podano różne hasła.</translation>
</message>
<message>
<source>New attribute</source>
@@ -565,7 +627,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Gen.</source>
<translation type="unfinished"/>
<translation>Gen.</translation>
</message>
<message>
<source>URL:</source>
@@ -577,7 +639,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Presets</source>
<translation type="unfinished"/>
<translation>Prezentuje</translation>
</message>
<message>
<source>Notes:</source>
@@ -686,7 +748,15 @@ Do you want to save it anyway?</source>
</message>
<message numerus="yes">
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
<translation><numerusform>Nie mogę usunąć ikony. Nadal używana przez %n wpis.</numerusform><numerusform>Nie mogę usunąć ikony. Nadal używana przez %n wpisów.</numerusform><numerusform>Nie mogę usunąć ikony. Nadal używana przez %n wpisów.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
@@ -801,6 +871,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Nie mogę wyliczyć głównego klucza</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -820,6 +894,16 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Nie mogę wyliczyć głównego klucza</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>Wybrany plik jest bazą starego KeePassX 1 (.kdb).
Możesz zaimportować przez wybranie Baza &gt; &apos;Importuj bazę danych KeePass 1&apos;.
Nie będzie można skonwertować nowej bazy do starego programu KeePassX 0.4.</translation>
</message>
</context>
<context>
<name>Main</name>
@@ -980,7 +1064,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Toggle window</source>
<translation type="unfinished"/>
<translation>Pokaż/ukryj okno</translation>
</message>
<message>
<source>Tools</source>
@@ -998,6 +1082,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation>Eksport do pliku CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Napraw bazę</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Baza KeePass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Wszystkie pliki</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Zapisz naprawioną bazę</translation>
</message>
<message>
<source>Error</source>
<translation>Błąd</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Błąd przy zapisie bazy.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1011,7 +1119,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Character Types</source>
<translation type="unfinished"/>
<translation>Typy znaków</translation>
</message>
<message>
<source>Upper Case Letters</source>
@@ -1035,7 +1143,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Ensure that the password contains characters from every group</source>
<translation type="unfinished"/>
<translation>Zapewnij, że hasło będzie zawierało znaki ze wszystkich grup</translation>
</message>
<message>
<source>Accept</source>
@@ -1074,7 +1182,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Usage: %1</source>
<translation type="unfinished"/>
<translation>Używanie: %1</translation>
</message>
<message>
<source>Options:</source>
@@ -1089,7 +1197,7 @@ Do you want to save it anyway?</source>
<name>QSaveFile</name>
<message>
<source>Existing file %1 is not writable</source>
<translation type="unfinished"/>
<translation>Istniejący plik %1 jest nie do zapisu</translation>
</message>
<message>
<source>Writing canceled by application</source>
@@ -1097,7 +1205,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Partial write. Partition full?</source>
<translation type="unfinished"/>
<translation>Częściowy zapis. Pełny dysk?</translation>
</message>
</context>
<context>
@@ -1108,15 +1216,15 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Error writing to underlying device: </source>
<translation type="unfinished"/>
<translation>Błąd w zapisie na urządzenie:</translation>
</message>
<message>
<source>Error opening underlying device: </source>
<translation type="unfinished"/>
<translation>Błąd w otwieraniu z urządzenia:</translation>
</message>
<message>
<source>Error reading data from underlying device: </source>
<translation type="unfinished"/>
<translation>Błąd w odczycie danych z urządzenia:</translation>
</message>
<message>
<source>Internal zlib error when decompressing: </source>
@@ -1150,7 +1258,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Root group</source>
<translation type="unfinished"/>
<translation>Główna grupa</translation>
</message>
</context>
<context>
@@ -1200,7 +1308,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Use entry title to match windows for global auto-type</source>
<translation type="unfinished"/>
<translation>Wykorzystaj tytuł wpisu do dopasowania dla globalnego auto-wpisywania</translation>
</message>
<message>
<source>Language</source>
@@ -1218,6 +1326,14 @@ Do you want to save it anyway?</source>
<source>Remember last key files</source>
<translation>Zapamiętaj ostatni plik klucza</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@@ -1227,7 +1343,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source> sec</source>
<translation type="unfinished"/>
<translation>s</translation>
</message>
<message>
<source>Lock databases after inactivity of</source>
@@ -1260,15 +1376,15 @@ Do you want to save it anyway?</source>
<name>main</name>
<message>
<source>KeePassX - cross-platform password manager</source>
<translation type="unfinished"/>
<translation>KeePassX - wieloplatformowy menadżer haseł</translation>
</message>
<message>
<source>filename of the password database to open (*.kdbx)</source>
<translation type="unfinished"/>
<translation>nazwa pliku z bazą haseł do otwarcia (*.kdbx)</translation>
</message>
<message>
<source>path to a custom config file</source>
<translation type="unfinished"/>
<translation>ścieżka do pliku z ustawieniami</translation>
</message>
<message>
<source>key file of the database</source>

View File

@@ -11,7 +11,11 @@
</message>
<message>
<source>Revision</source>
<translation type="unfinished"/>
<translation>Revisão</translation>
</message>
<message>
<source>Using:</source>
<translation>Usando:</translation>
</message>
</context>
<context>
@@ -22,7 +26,7 @@
</message>
<message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
<translation>Não foi possível encontrar uma entrada que corresponda ao título da janela:</translation>
<translation>Não foi possível localizar uma entrada que corresponda ao título da janela:</translation>
</message>
</context>
<context>
@@ -95,7 +99,7 @@
</message>
<message>
<source>Unable to create Key File : </source>
<translation>Não foi possível criar o Arquivo-Chave :</translation>
<translation>Não foi possível criar o Arquivo-Chave : </translation>
</message>
<message>
<source>Select a key file</source>
@@ -167,15 +171,52 @@
<translation>Escolha o arquivo-chave</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Reparar banco de dados</translation>
</message>
<message>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Não foi possível abrir arquivo-chave</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Banco de dados aberto com sucesso. Nada para fazer.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Não foi possível abrir o banco de dados.</translation>
</message>
<message>
<source>Success</source>
<translation>Sucesso</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>O banco de dados foi reparado com sucesso
Você pode salvá-lo agora.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Não foi possível reparar o banco de dados.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
<source>Database name:</source>
<translation>Nome do Banco de Dados:</translation>
<translation>Nome do banco de dados:</translation>
</message>
<message>
<source>Database description:</source>
<translation>Descrição do Banco de Dados:</translation>
<translation>Descrição do banco de dados:</translation>
</message>
<message>
<source>Transform rounds:</source>
@@ -191,7 +232,7 @@
</message>
<message>
<source> MiB</source>
<translation>MB</translation>
<translation> MB</translation>
</message>
<message>
<source>Benchmark</source>
@@ -199,18 +240,18 @@
</message>
<message>
<source>Max. history items:</source>
<translation>Máx. Itens no histórico:</translation>
<translation>Máx. itens no histórico:</translation>
</message>
<message>
<source>Max. history size:</source>
<translation>Tamanho Máx. do histórico:</translation>
<translation>Tamanho máx. do histórico:</translation>
</message>
</context>
<context>
<name>DatabaseTabWidget</name>
<message>
<source>Root</source>
<translation>Raíz</translation>
<translation>Raiz</translation>
</message>
<message>
<source>KeePass 2 Database</source>
@@ -230,7 +271,7 @@
</message>
<message>
<source>File not found!</source>
<translation>Arquivo não encontrado!</translation>
<translation>Arquivo não localizado!</translation>
</message>
<message>
<source>Open KeePass 1 database</source>
@@ -238,7 +279,7 @@
</message>
<message>
<source>KeePass 1 database</source>
<translation>banco de dados KeePass 1</translation>
<translation>Banco de dados KeePass 1</translation>
</message>
<message>
<source>All files (*)</source>
@@ -276,13 +317,13 @@ Salvar alterações?</translation>
</message>
<message>
<source>locked</source>
<translation>Trancado</translation>
<translation>trancado</translation>
</message>
<message>
<source>The database you are trying to open is locked by another instance of KeePassX.
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
<translation>O banco de dados que você está tentando abrir está bloqueado por outra instância do KeePassX.
Você quer abri-lo de qualquer forma? Alternativamente o banco de dados é aberto como somente leitura.</translation>
Você quer abri-lo de qualquer forma? Alternativamente, o banco de dados é aberto como somente leitura.</translation>
</message>
<message>
<source>Lock database</source>
@@ -292,23 +333,27 @@ Você quer abri-lo de qualquer forma? Alternativamente o banco de dados é abert
<source>Can't lock the database as you are currently editing it.
Please press cancel to finish your changes or discard them.</source>
<translation>Não é possível trancar o banco de dados uma vez que você o está editando.
Por favor aperte cancelar para finalizar suas alterações ou descartá-las.</translation>
Por favor, aperte cancelar para finalizar suas alterações ou descartá-las.</translation>
</message>
<message>
<source>This database has never been saved.
You can save the database or stop locking it.</source>
<translation type="unfinished"/>
<translation>Esse banco de dados nunca foi salvo.
Você pode salvar o banco de dados ou parar de trancá-lo.</translation>
</message>
<message>
<source>This database has been modified.
Do you want to save the database before locking it?
Otherwise your changes are lost.</source>
<translation type="unfinished"/>
<translation>Esse banco de dados foi modificado.
Você deseja salvar o banco de dados antes de travá-lo?
Do contrário, suas alterações serão perdidas.</translation>
</message>
<message>
<source>&quot;%1&quot; is in edit mode.
Discard changes and close anyway?</source>
<translation type="unfinished"/>
<translation>&quot;%1&quot; está em modo de edição.
Descartar alterações e fechar mesmo assim?</translation>
</message>
<message>
<source>Export database to CSV file</source>
@@ -325,6 +370,11 @@ Discard changes and close anyway?</source>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
Do you want to save it anyway?</source>
<translation>O banco de dados que você está tentando salvar como está travado por uma outra instância de KeePassX.
Você deseja salvá-lo mesmo assim?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -356,7 +406,7 @@ Do you want to save it anyway?</source>
</message>
<message numerus="yes">
<source>Do you really want to move %n entry(s) to the recycle bin?</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
<translation><numerusform>Você realmente deseja mover %n entrada para a lixeira?</numerusform><numerusform>Você realmente deseja mover %n entradas para a lixeira?</numerusform></translation>
</message>
<message>
<source>Delete group?</source>
@@ -378,6 +428,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Não foi possível calcular chave mestra</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -565,7 +623,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Repeat:</source>
<translation>Repetir</translation>
<translation>Repetir:</translation>
</message>
<message>
<source>Gen.</source>
@@ -577,7 +635,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Expires</source>
<translation>Expira em:</translation>
<translation>Expira em</translation>
</message>
<message>
<source>Presets</source>
@@ -647,18 +705,18 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Use default auto-type sequence of parent group</source>
<translation type="unfinished"/>
<translation>Usar sequência de auto-digitação padrão do grupo pai</translation>
</message>
<message>
<source>Set default auto-type sequence</source>
<translation type="unfinished"/>
<translation>Definir sequência auto-digitação padrão</translation>
</message>
</context>
<context>
<name>EditWidgetIcons</name>
<message>
<source>Use default icon</source>
<translation>Usar Ícone padrão</translation>
<translation>Usar ícone padrão</translation>
</message>
<message>
<source>Use custom icon</source>
@@ -690,7 +748,15 @@ Do you want to save it anyway?</source>
</message>
<message numerus="yes">
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Não é possível apagar o ícone. Ainda usado por %n item.</numerusform><numerusform>Não é possível apagar o ícone. Ainda usado por %n item(s).</numerusform></translation>
<translation><numerusform>Não é possível apagar o ícone. Ainda usado por %n item.</numerusform><numerusform>Não é possível apagar o ícone. Ainda usado por %n itens.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
@@ -805,6 +871,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Não foi possível calcular a chave mestra</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -818,18 +888,28 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
<translation>Chave errada ou arquivo de banco de dados está corrompido.</translation>
</message>
<message>
<source>Unable to calculate master key</source>
<translation type="unfinished"/>
<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>
</message>
</context>
<context>
<name>Main</name>
<message>
<source>Fatal error while testing the cryptographic functions.</source>
<translation type="unfinished"/>
<translation>Erro fatal enquanto testava as funções criptográficas.</translation>
</message>
<message>
<source>KeePassX - Error</source>
@@ -936,7 +1016,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Find</source>
<translation>Encontrar</translation>
<translation>Localizar</translation>
</message>
<message>
<source>Copy username to clipboard</source>
@@ -1002,6 +1082,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation>Exportar para arquivo CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Reparar banco de dados</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>Banco de dados Keepass 2</translation>
</message>
<message>
<source>All files</source>
<translation>Todos arquivos</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Salvar banco de dados reparado</translation>
</message>
<message>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Escrita do banco de dados falhou.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1108,45 +1212,45 @@ Do you want to save it anyway?</source>
<name>QtIOCompressor</name>
<message>
<source>Internal zlib error when compressing: </source>
<translation>Erro interno do zlib ao compactar:</translation>
<translation>Erro interno do zlib ao compactar: </translation>
</message>
<message>
<source>Error writing to underlying device: </source>
<translation>Erro ao gravar no dispositivo subjacente:</translation>
<translation>Erro ao gravar no dispositivo subjacente: </translation>
</message>
<message>
<source>Error opening underlying device: </source>
<translation>Erro ao abrir dispositivo subjacente:</translation>
<translation>Erro ao abrir dispositivo subjacente: </translation>
</message>
<message>
<source>Error reading data from underlying device: </source>
<translation type="unfinished"/>
<translation>Erro ao ler dados do dispositivo subjacente: </translation>
</message>
<message>
<source>Internal zlib error when decompressing: </source>
<translation type="unfinished"/>
<translation>Erro interno do zlib ao descompactar: </translation>
</message>
</context>
<context>
<name>QtIOCompressor::open</name>
<message>
<source>The gzip format not supported in this version of zlib.</source>
<translation type="unfinished"/>
<translation>Sem suporte ao formato gzip nesta versão do zlib.</translation>
</message>
<message>
<source>Internal zlib error: </source>
<translation>Erro interno do zlib:</translation>
<translation>Erro interno do zlib: </translation>
</message>
</context>
<context>
<name>SearchWidget</name>
<message>
<source>Find:</source>
<translation>Encontrar:</translation>
<translation>Localizar:</translation>
</message>
<message>
<source>Case sensitive</source>
<translation>diferenciar maiúsculas e minúsculas</translation>
<translation>Diferenciar maiúsculas e minúsculas</translation>
</message>
<message>
<source>Current group</source>
@@ -1154,7 +1258,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Root group</source>
<translation>Grupo Raíz</translation>
<translation>Grupo Raiz</translation>
</message>
</context>
<context>
@@ -1196,15 +1300,15 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Use group icon on entry creation</source>
<translation type="unfinished"/>
<translation>Usar ícone de grupo na criação da entrada</translation>
</message>
<message>
<source>Global Auto-Type shortcut</source>
<translation type="unfinished"/>
<translation>Atalho para Auto-Digitação Global</translation>
</message>
<message>
<source>Use entry title to match windows for global auto-type</source>
<translation type="unfinished"/>
<translation>Usar título da entrada para comparar janelas para auto-digitação global</translation>
</message>
<message>
<source>Language</source>
@@ -1216,10 +1320,18 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Hide window to system tray when minimized</source>
<translation type="unfinished"/>
<translation>Ocultar janela na bandeja de sistema quando minimizada</translation>
</message>
<message>
<source>Remember last key files</source>
<translation>Lembrar dos últimos arquivos-chave</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
@@ -1227,23 +1339,23 @@ Do you want to save it anyway?</source>
<name>SettingsWidgetSecurity</name>
<message>
<source>Clear clipboard after</source>
<translation type="unfinished"/>
<translation>Limpar área de transferência após</translation>
</message>
<message>
<source> sec</source>
<translation type="unfinished"/>
<translation> seg</translation>
</message>
<message>
<source>Lock databases after inactivity of</source>
<translation type="unfinished"/>
<translation>Travar bancos de dados após inatividade de</translation>
</message>
<message>
<source>Show passwords in cleartext by default</source>
<translation type="unfinished"/>
<translation>Mostrar senhas em texto claro por padrão</translation>
</message>
<message>
<source>Always ask before performing auto-type</source>
<translation type="unfinished"/>
<translation>Sempre perguntar antes de realizar auto-digitação</translation>
</message>
</context>
<context>
@@ -1257,26 +1369,26 @@ Do you want to save it anyway?</source>
<name>WelcomeWidget</name>
<message>
<source>Welcome!</source>
<translation>Bemvindo!</translation>
<translation>Bem-vindo!</translation>
</message>
</context>
<context>
<name>main</name>
<message>
<source>KeePassX - cross-platform password manager</source>
<translation>KeePassX - gerenciador de senhas Multiplataforma</translation>
<translation>KeePassX - gerenciador de senhas multiplataforma</translation>
</message>
<message>
<source>filename of the password database to open (*.kdbx)</source>
<translation type="unfinished"/>
<translation>nome de arquivo do banco de dados de senhas a ser aberto (*.kdbx)</translation>
</message>
<message>
<source>path to a custom config file</source>
<translation type="unfinished"/>
<translation>caminho para um arquivo de configuração personalizado</translation>
</message>
<message>
<source>key file of the database</source>
<translation type="unfinished"/>
<translation>arquivo-chave do banco de dados</translation>
</message>
</context>
</TS>

View File

@@ -9,6 +9,14 @@
<source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassX é distribuído sob os termos GNU de licença pública geral (GPL) versão 2 ou (á sua escolha) versão 3.</translation>
</message>
<message>
<source>Revision</source>
<translation type="unfinished"/>
</message>
<message>
<source>Using:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>AutoType</name>
@@ -163,6 +171,42 @@
<translation>Seleccionar o ficheiro chave</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Success</source>
<translation type="unfinished"/>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to repair the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -322,6 +366,15 @@ Fechar e Ignorar alterações ?</translation>
<source>Writing the CSV file failed.</source>
<translation>Falha na escrita do ficheiro CSV</translation>
</message>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
Do you want to save it anyway?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -373,6 +426,14 @@ Fechar e Ignorar alterações ?</translation>
<source>Unable to calculate master key</source>
<translation>Impossível calcular ficheiro chave</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -686,6 +747,14 @@ Fechar e Ignorar alterações ?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Impossível apagar icon. Ainda em uso por %n item(s).</numerusform><numerusform>Impossível apagar icon. Ainda em uso por %n item(s).</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -799,6 +868,10 @@ Fechar e Ignorar alterações ?</translation>
<source>Unable to calculate master key</source>
<translation>Impossível calcular chave mestra:</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -818,6 +891,13 @@ Fechar e Ignorar alterações ?</translation>
<source>Unable to calculate master key</source>
<translation>Impossível calcular chave mestra:</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 type="unfinished"/>
</message>
</context>
<context>
<name>Main</name>
@@ -996,6 +1076,30 @@ Fechar e Ignorar alterações ?</translation>
<source>Export to CSV file</source>
<translation>Exportar para ficheiro CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePass 2 Database</source>
<translation type="unfinished"/>
</message>
<message>
<source>All files</source>
<translation type="unfinished"/>
</message>
<message>
<source>Save repaired database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Writing the database failed.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1216,6 +1320,14 @@ Fechar e Ignorar alterações ?</translation>
<source>Remember last key files</source>
<translation>Lembrar os últimos ficheiro chave</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@@ -1268,10 +1380,6 @@ Fechar e Ignorar alterações ?</translation>
<source>path to a custom config file</source>
<translation>caminho para um ficheiro de configuração personalizado</translation>
</message>
<message>
<source>password of the database (DANGEROUS!)</source>
<translation>senha da base de dados (PERIGOSO !)</translation>
</message>
<message>
<source>key file of the database</source>
<translation>ficheiro chave da base de dados</translation>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation>Ревизия</translation>
</message>
<message>
<source>Using:</source>
<translation>С помощью:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -167,6 +171,43 @@
<translation>Выберите файл-ключ</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Восстановление хранилища</translation>
</message>
<message>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Не могу открыть файл-ключ</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Невозможно открыть хранилище.</translation>
</message>
<message>
<source>Success</source>
<translation>Успешно</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Хранилище было восстановлено.
Теперь Вы можете сохранить его.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Невозможно восстановить хранилище.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -290,12 +331,14 @@ Do you want to open it anyway? Alternatively the database is opened read-only.</
<message>
<source>Can't lock the database as you are currently editing it.
Please press cancel to finish your changes or discard them.</source>
<translation type="unfinished"/>
<translation>Невозможно заблокировать базу данных, так как вы в настоящее время редактируете её.
Пожалуйста нажмите Отмена, чтобы завершить свои изменения или отклонить их.</translation>
</message>
<message>
<source>This database has never been saved.
You can save the database or stop locking it.</source>
<translation type="unfinished"/>
<translation>Эта база данных никогда не была сохранена.
Вы можете сохранить базу данных или остановить её заблокированной.</translation>
</message>
<message>
<source>This database has been modified.
@@ -329,6 +372,10 @@ Do you want to save it anyway?</source>
<translation>Данное хранилище заблокировано другой запущенной копией KeePassX.
Вы уверены, что хотите продолжить сохранение?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -380,6 +427,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Невозможно вычислить мастер-пароль</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -571,7 +626,7 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Gen.</source>
<translation type="unfinished"/>
<translation>Генеральный.</translation>
</message>
<message>
<source>URL:</source>
@@ -649,11 +704,11 @@ Do you want to save it anyway?</source>
</message>
<message>
<source>Use default auto-type sequence of parent group</source>
<translation type="unfinished"/>
<translation>Используйте стандартный автоввод из последовательности родительской группы</translation>
</message>
<message>
<source>Set default auto-type sequence</source>
<translation type="unfinished"/>
<translation>Последовательность автоввода указать по умолчанию</translation>
</message>
</context>
<context>
@@ -694,6 +749,14 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Не могу удалить иконку, %n запись всё ещё использует её.</numerusform><numerusform>Не могу удалить иконку, %n записи всё ещё использует её.</numerusform><numerusform>Не могу удалить иконку, %n записей всё ещё использует её.</numerusform><numerusform>Не могу удалить значок, %n записей всё ещё использует его.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -807,6 +870,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Невозможно вычислить мастер-пароль</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -826,6 +893,16 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</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>
</message>
</context>
<context>
<name>Main</name>
@@ -1004,6 +1081,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation>Экспортировать в файл CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation>Восстановление хранилища</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation type="unfinished"/>
</message>
<message>
<source>All files</source>
<translation>Все файлы</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Сохранить восстановленное хранилище</translation>
</message>
<message>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1224,6 +1325,14 @@ Do you want to save it anyway?</source>
<source>Remember last key files</source>
<translation>Запоминать последние файл-ключи</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation type="unfinished"/>
</message>
<message>
<source>Using:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>AutoType</name>
@@ -167,6 +171,42 @@
<translation>Izberi datoteko s ključi</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Success</source>
<translation type="unfinished"/>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to repair the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -331,6 +371,10 @@ Zavrži spremembe in zapri?</translation>
Do you want to save it anyway?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -382,6 +426,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Izračun glavnega ključa ni uspel</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -695,6 +747,14 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Ikone ni mogoče izbrisati. Uporablja jo še %n vnos.</numerusform><numerusform>Ikone ni mogoče izbrisati. Uporabljata jo še %n vnosa.</numerusform><numerusform>Ikone ni mogoče izbrisati. Uporabljajo jo še %n vnosi.</numerusform><numerusform>Ikone ni mogoče izbrisati. Uporablja jo še %n vnosov.</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -808,6 +868,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Izračun glavnega ključa ni uspel</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -827,6 +891,13 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</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>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>Main</name>
@@ -1005,6 +1076,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation>Izvozi v CSV datoteko</translation>
</message>
<message>
<source>Repair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePass 2 Database</source>
<translation type="unfinished"/>
</message>
<message>
<source>All files</source>
<translation type="unfinished"/>
</message>
<message>
<source>Save repaired database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Writing the database failed.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1225,6 +1320,14 @@ Do you want to save it anyway?</source>
<source>Remember last key files</source>
<translation>Zapomni si zadnje datoteke s ključi</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -171,6 +171,43 @@
<translation>Välj nyckel-fil</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation>Laga databasen</translation>
</message>
<message>
<source>Error</source>
<translation>Fel</translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation>Kan inte öppna nyckelfilen</translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation>Databas öppnades fint. Inget att göra.</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation>Misslyckades att öppna databasen.</translation>
</message>
<message>
<source>Success</source>
<translation>Succé</translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>Databasens reparation har varit lyckad.
Du kan nu spara den.</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation>Misslyckades med att laga databasen.</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -336,6 +373,10 @@ Do you want to save it anyway?</source>
<translation>Databasen du försöker spara som är låst av en annan instans av KeePassX.
Vill du spara endå?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -387,6 +428,14 @@ Vill du spara endå?</translation>
<source>Unable to calculate master key</source>
<translation>Kunde inte räkna nu master-nyckeln</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -701,6 +750,14 @@ Vill du spara endå?</translation>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Kan inte ta bort ikonen. Den används fortfarande av %n post</numerusform><numerusform>Kan inte ta bort ikonen. Den används fortfarande av %n poster</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -814,6 +871,10 @@ Vill du spara endå?</translation>
<source>Unable to calculate master key</source>
<translation>Kunde inte räkna nu master-nyckeln</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -838,7 +899,10 @@ Vill du spara endå?</translation>
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"/>
<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>
</message>
</context>
<context>
@@ -1018,6 +1082,30 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Export to CSV file</source>
<translation>Exportera till CSV-fil</translation>
</message>
<message>
<source>Repair database</source>
<translation>Laga databasen</translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 databas</translation>
</message>
<message>
<source>All files</source>
<translation>Alla filer</translation>
</message>
<message>
<source>Save repaired database</source>
<translation>Spara lagad databas</translation>
</message>
<message>
<source>Error</source>
<translation>Fel</translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation>Misslyckades med att skriva till databasen.</translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1238,6 +1326,14 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Remember last key files</source>
<translation>Komihåg senaste nyckel-filen</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -171,6 +171,42 @@
<translation>Оберіть файл-ключ</translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation type="unfinished"/>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Success</source>
<translation type="unfinished"/>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation type="unfinished"/>
</message>
<message>
<source>Unable to repair the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -335,6 +371,10 @@ Do you want to save it anyway?</source>
<translation>Це сховище заблоковано іншою запущеною копією KeePassX.
Ви впевнені, що хочете зберегти його?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -386,6 +426,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Неможливо вирахувати майстер-пароль</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -700,6 +748,14 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>Ви дійсно хочете перемістити %n запис в смітник?</numerusform><numerusform>Ви дійсно хочете перемістити %n записи в смітник?</numerusform><numerusform>Ви дійсно хочете перемістити %n записів в смітник?</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -813,6 +869,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>Неможливо вирахувати майстер-пароль</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -1020,6 +1080,30 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Export to CSV file</source>
<translation>Експортувати в файл CSV</translation>
</message>
<message>
<source>Repair database</source>
<translation type="unfinished"/>
</message>
<message>
<source>KeePass 2 Database</source>
<translation type="unfinished"/>
</message>
<message>
<source>All files</source>
<translation type="unfinished"/>
</message>
<message>
<source>Save repaired database</source>
<translation type="unfinished"/>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Writing the database failed.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1240,6 +1324,14 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
<source>Remember last key files</source>
<translation>Памятати останні файл-ключі</translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -9,6 +9,14 @@
<source>KeePassX is distributed under the term of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
<translation>KeePassX 使 2 GNU (GPL)( 3 ).</translation>
</message>
<message>
<source>Revision</source>
<translation></translation>
</message>
<message>
<source>Using:</source>
<translation>使:</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -163,6 +171,43 @@
<translation></translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation></translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation></translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation></translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation></translation>
</message>
<message>
<source>Success</source>
<translation></translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>
</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation></translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -307,18 +352,29 @@ Otherwise your changes are lost.</source>
<message>
<source>&quot;%1&quot; is in edit mode.
Discard changes and close anyway?</source>
<translation type="unfinished"/>
<translation>正在编辑 &quot;%1&quot; 。
仍然要放弃修改并且关闭吗?</translation>
</message>
<message>
<source>Export database to CSV file</source>
<translation type="unfinished"/>
<translation>把数据库导出为CSV格式文件</translation>
</message>
<message>
<source>CSV file</source>
<translation type="unfinished"/>
<translation>CSV格式文件</translation>
</message>
<message>
<source>Writing the CSV file failed.</source>
<translation>写入CSV格式文件失败</translation>
</message>
<message>
<source>The database you are trying to save as is locked by another instance of KeePassX.
Do you want to save it anyway?</source>
<translation>你要保存的数据库已被另一个KeePassX锁住。
你仍然要保存吗?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -372,6 +428,14 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>无法计算主密码</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -686,6 +750,14 @@ Discard changes and close anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>不能删除图标。仍在被 %n 个项目使用</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -762,7 +834,7 @@ Discard changes and close anyway?</source>
<name>KeePass1OpenWidget</name>
<message>
<source>Import KeePass1 database</source>
<translation>KeePass 1 </translation>
<translation>导入 KeePass 1 数据库</translation>
</message>
<message>
<source>Error</source>
@@ -799,6 +871,10 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</source>
<translation>无法计算主密码</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -818,6 +894,15 @@ Discard changes and close anyway?</source>
<source>Unable to calculate master key</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
KeePassX 0.4</translation>
</message>
</context>
<context>
<name>Main</name>
@@ -986,15 +1071,39 @@ Discard changes and close anyway?</source>
</message>
<message>
<source>Copy username</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Copy password</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<source>Export to CSV file</source>
<translation type="unfinished"/>
<translation>CSV格式文件</translation>
</message>
<message>
<source>Repair database</source>
<translation></translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 </translation>
</message>
<message>
<source>All files</source>
<translation></translation>
</message>
<message>
<source>Save repaired database</source>
<translation></translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation></translation>
</message>
</context>
<context>
@@ -1216,6 +1325,14 @@ Discard changes and close anyway?</source>
<source>Remember last key files</source>
<translation></translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>
@@ -1268,10 +1385,6 @@ Discard changes and close anyway?</source>
<source>path to a custom config file</source>
<translation></translation>
</message>
<message>
<source>password of the database (DANGEROUS!)</source>
<translation>(!)</translation>
</message>
<message>
<source>key file of the database</source>
<translation></translation>

View File

@@ -13,6 +13,10 @@
<source>Revision</source>
<translation></translation>
</message>
<message>
<source>Using:</source>
<translation>使</translation>
</message>
</context>
<context>
<name>AutoType</name>
@@ -167,6 +171,43 @@
<translation></translation>
</message>
</context>
<context>
<name>DatabaseRepairWidget</name>
<message>
<source>Repair database</source>
<translation></translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Can&apos;t open key file</source>
<translation></translation>
</message>
<message>
<source>Database opened fine. Nothing to do.</source>
<translation></translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation></translation>
</message>
<message>
<source>Success</source>
<translation></translation>
</message>
<message>
<source>The database has been successfully repaired
You can now save it.</source>
<translation>
</translation>
</message>
<message>
<source>Unable to repair the database.</source>
<translation></translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidget</name>
<message>
@@ -331,6 +372,10 @@ Do you want to save it anyway?</source>
<translation>你嘗試要打開的資料庫已經被另一個正在執行的 KeePassX 鎖定
還要儲存嗎?</translation>
</message>
<message>
<source>Unable to open the database.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>DatabaseWidget</name>
@@ -382,6 +427,14 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>無法計算主金鑰</translation>
</message>
<message>
<source>Move entry to recycle bin?</source>
<translation type="unfinished"/>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -696,6 +749,14 @@ Do you want to save it anyway?</source>
<source>Can&apos;t delete icon. Still used by %n item(s).</source>
<translation><numerusform>不能刪除圖示。仍在被 %n 個使用</numerusform></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"/>
</message>
<message>
<source>Can&apos;t read icon:</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -809,6 +870,10 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</source>
<translation>無法計算主金鑰</translation>
</message>
<message>
<source>Wrong key or database file is corrupt.</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>KeePass2Reader</name>
@@ -828,6 +893,17 @@ Do you want to save it anyway?</source>
<source>Unable to calculate master key</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; KeePass 1
KeePassX 0.4 </translation>
</message>
</context>
<context>
<name>Main</name>
@@ -1006,6 +1082,30 @@ Do you want to save it anyway?</source>
<source>Export to CSV file</source>
<translation> CSV </translation>
</message>
<message>
<source>Repair database</source>
<translation></translation>
</message>
<message>
<source>KeePass 2 Database</source>
<translation>KeePass 2 </translation>
</message>
<message>
<source>All files</source>
<translation></translation>
</message>
<message>
<source>Save repaired database</source>
<translation></translation>
</message>
<message>
<source>Error</source>
<translation></translation>
</message>
<message>
<source>Writing the database failed.</source>
<translation></translation>
</message>
</context>
<context>
<name>PasswordGeneratorWidget</name>
@@ -1226,6 +1326,14 @@ Do you want to save it anyway?</source>
<source>Remember last key files</source>
<translation></translation>
</message>
<message>
<source>Hide window to system tray instead of App Exit</source>
<translation type="unfinished"/>
</message>
<message>
<source>Hide window to system tray on App start</source>
<translation type="unfinished"/>
</message>
</context>
<context>
<name>SettingsWidgetSecurity</name>

View File

@@ -5,8 +5,13 @@ BASEDIR=$(dirname $0)
cd $BASEDIR/../..
echo Updating source file
lupdate -no-ui-lines -disable-heuristic similartext -locations none -no-obsolete src -ts share/translations/keepassx_en.ts
lupdate -no-ui-lines -disable-heuristic similartext -locations none -pluralonly src -ts share/translations/keepassx_en_plurals.ts
lupdate-qt5 -no-ui-lines -disable-heuristic similartext -locations none -no-obsolete src -ts share/translations/keepassx_en.ts
lupdate-qt5 -no-ui-lines -disable-heuristic similartext -locations none -pluralonly src -ts share/translations/keepassx_en_plurals.ts
echo
echo Pushing English translation file to Transifex
tx push -s
echo
echo Pulling translations from Transifex
tx pull -a --minimum-perc=80

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