Compare commits
521 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44c58a66d1 | ||
|
|
8fc11c0791 | ||
|
|
db75d94961 | ||
|
|
26ff528a85 | ||
|
|
f7e9f85668 | ||
|
|
75eb0c6951 | ||
|
|
e31638d3dd | ||
|
|
e12cd83b80 | ||
|
|
040b476359 | ||
|
|
d7633f40ba | ||
|
|
80fc8d4da9 | ||
|
|
9a92d20001 | ||
|
|
2b18089641 | ||
|
|
1da87d1d19 | ||
|
|
0c54276fe2 | ||
|
|
dda9a95163 | ||
|
|
34fa456106 | ||
|
|
9fe4504623 | ||
|
|
08d68300bd | ||
|
|
e326e2c6b3 | ||
|
|
e94dc226b5 | ||
|
|
bd2edea1c9 | ||
|
|
00cd0e1ae3 | ||
|
|
05aefc6489 | ||
|
|
5652018cde | ||
|
|
a63ba6bc4f | ||
|
|
c043be3aa4 | ||
|
|
b7180893c6 | ||
|
|
96ca7a8cbc | ||
|
|
c87c811719 | ||
|
|
a3fd3205a9 | ||
|
|
55084499ac | ||
|
|
3e6f76826b | ||
|
|
01e9d39b63 | ||
|
|
0116d4176a | ||
|
|
7ea306a61a | ||
|
|
cdaab550e9 | ||
|
|
aa6f617715 | ||
|
|
7e4592c1e7 | ||
|
|
b97024c8f6 | ||
|
|
0f44f6752e | ||
|
|
3c9054c36f | ||
|
|
61379d4e05 | ||
|
|
fd2b779bb8 | ||
|
|
202e8ac3a1 | ||
|
|
6796f20683 | ||
|
|
cdc9fddc44 | ||
|
|
6409661a9f | ||
|
|
4ed03c2db2 | ||
|
|
7b2a9f7ea8 | ||
|
|
0d222e138f | ||
|
|
a80c415fc0 | ||
|
|
3f1a75f40a | ||
|
|
ad4bf1ac84 | ||
|
|
11dec27dd1 | ||
|
|
66253e142b | ||
|
|
b22b67c7d9 | ||
|
|
d8662b709a | ||
|
|
e826309d59 | ||
|
|
1554722a83 | ||
|
|
16ed89c471 | ||
|
|
6ccae6cc37 | ||
|
|
292ed892c1 | ||
|
|
bb8b91a100 | ||
|
|
1310b34e9c | ||
|
|
86cdb64b1d | ||
|
|
0456815bd5 | ||
|
|
1c12cd6b9e | ||
|
|
3c687d29d8 | ||
|
|
bb70edfdb3 | ||
|
|
a3f189f452 | ||
|
|
70727895f7 | ||
|
|
cdbf58b2c1 | ||
|
|
fe9bcc254a | ||
|
|
b0270550c5 | ||
|
|
597faee248 | ||
|
|
42c0815cda | ||
|
|
a5f12db6ba | ||
|
|
62808f8342 | ||
|
|
c6e89f938d | ||
|
|
1edc116532 | ||
|
|
40aa92c5f7 | ||
|
|
4eb39dc5ff | ||
|
|
b5cf6c7161 | ||
|
|
198691182b | ||
|
|
72b81bf403 | ||
|
|
8a3ac7a26e | ||
|
|
8878d7c5dc | ||
|
|
9a7b8da279 | ||
|
|
1f9ab7ca5d | ||
|
|
2c00cb555c | ||
|
|
dcbc7ff217 | ||
|
|
20f42aa2cc | ||
|
|
19fef019ed | ||
|
|
ea02de0cc9 | ||
|
|
1525ffc225 | ||
|
|
5458d77980 | ||
|
|
a545dc9264 | ||
|
|
b7c658e8f8 | ||
|
|
de69ecc35f | ||
|
|
b6f754c29a | ||
|
|
39e0708b3b | ||
|
|
01464a7860 | ||
|
|
fd3fefd6f1 | ||
|
|
36df21d823 | ||
|
|
9dadafe20a | ||
|
|
6fd7427cae | ||
|
|
9065588a76 | ||
|
|
b4b47ec8fd | ||
|
|
ea9f313416 | ||
|
|
af8e770106 | ||
|
|
10f03795f9 | ||
|
|
2ad7c5c675 | ||
|
|
084a1dd7d2 | ||
|
|
d1793d9bcf | ||
|
|
d7ed33809f | ||
|
|
798041fe11 | ||
|
|
995420ee87 | ||
|
|
341ff3de37 | ||
|
|
ce06fcdbe0 | ||
|
|
b8c93b3572 | ||
|
|
4ea6faae81 | ||
|
|
ca8ddd5f39 | ||
|
|
3924f628b4 | ||
|
|
53e0893b51 | ||
|
|
d988b9e6d2 | ||
|
|
6060f41458 | ||
|
|
569ea3ebdd | ||
|
|
40eafa8adc | ||
|
|
1ca5b72073 | ||
|
|
d7c308c688 | ||
|
|
1e0191a37c | ||
|
|
a8d9e8ba7c | ||
|
|
1a5c18c9bd | ||
|
|
421e6303ae | ||
|
|
a79366f105 | ||
|
|
f85198c60f | ||
|
|
2afa1f0dc8 | ||
|
|
a40f84d519 | ||
|
|
bdb49a36bf | ||
|
|
1458ba6f6f | ||
|
|
007073354f | ||
|
|
be827211d2 | ||
|
|
5bc3924756 | ||
|
|
ff6d78244b | ||
|
|
5f1b9a17ca | ||
|
|
534364454d | ||
|
|
0e65b9b9f8 | ||
|
|
07a41f58d7 | ||
|
|
5b04e195b0 | ||
|
|
9fa2dae68c | ||
|
|
9000bc138f | ||
|
|
9660510cc7 | ||
|
|
298665e32a | ||
|
|
d0a3c08840 | ||
|
|
63a1b49745 | ||
|
|
9547ac0afd | ||
|
|
fa891edb7c | ||
|
|
65992ba6ae | ||
|
|
791a749c2f | ||
|
|
9261d8ae9d | ||
|
|
405b82588b | ||
|
|
0dfd2003f9 | ||
|
|
3d249365c2 | ||
|
|
7fb33653ad | ||
|
|
3cccfd97d2 | ||
|
|
0c40cdc990 | ||
|
|
81392a71dd | ||
|
|
b2f3cc6903 | ||
|
|
19a960856c | ||
|
|
02d2ac904d | ||
|
|
29f93597f2 | ||
|
|
20c3ca7d37 | ||
|
|
9bb2cfcd51 | ||
|
|
6927158daa | ||
|
|
0657d343bf | ||
|
|
37aedc8b03 | ||
|
|
3c89ce97c2 | ||
|
|
753b9c9e67 | ||
|
|
06b1baa454 | ||
|
|
e25cd9ba48 | ||
|
|
e00c6f9c77 | ||
|
|
68cc06dc1f | ||
|
|
1901655669 | ||
|
|
753d1d50d0 | ||
|
|
ac108cd708 | ||
|
|
29be837b97 | ||
|
|
682eac3dbc | ||
|
|
ccec84aef2 | ||
|
|
13983d0e51 | ||
|
|
3f80134f07 | ||
|
|
ad36ec4dfd | ||
|
|
82ace81974 | ||
|
|
13c3743ff5 | ||
|
|
46904fb110 | ||
|
|
8f3ffdcc2a | ||
|
|
6c3c0087dd | ||
|
|
2e9b42688f | ||
|
|
589b6465f8 | ||
|
|
6c7c5443d4 | ||
|
|
fdad028e73 | ||
|
|
3ec29d3b52 | ||
|
|
e97add0c46 | ||
|
|
0138209004 | ||
|
|
f7fd78d715 | ||
|
|
bbd8447afa | ||
|
|
cf2bbbfef1 | ||
|
|
7000e80465 | ||
|
|
24a17c05ab | ||
|
|
7c4129033a | ||
|
|
83e3267f0e | ||
|
|
62cfbf73e1 | ||
|
|
f539d69984 | ||
|
|
ba86c1e1da | ||
|
|
cfb7de0fe9 | ||
|
|
334859726c | ||
|
|
119af3d760 | ||
|
|
3bbf11e26f | ||
|
|
5bb27b2989 | ||
|
|
c4b3f08618 | ||
|
|
6ac773d5ae | ||
|
|
e19559fe81 | ||
|
|
7dd30d4db1 | ||
|
|
9b8b7b490a | ||
|
|
5ec9d0685d | ||
|
|
004c412501 | ||
|
|
f05caf7623 | ||
|
|
7d165f133a | ||
|
|
fff9e7ac46 | ||
|
|
ad834f0f58 | ||
|
|
8a50ee8b22 | ||
|
|
cf8186312a | ||
|
|
8f87b5cfd4 | ||
|
|
61ce733c6f | ||
|
|
c78822f6e6 | ||
|
|
a10a30f390 | ||
|
|
7c7014d951 | ||
|
|
dee331d52d | ||
|
|
2146392a2f | ||
|
|
e011a6eb25 | ||
|
|
5eadd10612 | ||
|
|
c2a80ce570 | ||
|
|
3415073051 | ||
|
|
ba68e0a4a1 | ||
|
|
8a7e98820a | ||
|
|
d61e4d69b5 | ||
|
|
9b8912c483 | ||
|
|
878995366a | ||
|
|
1635a5211f | ||
|
|
595b1011dd | ||
|
|
9bb291235d | ||
|
|
7d4ef0b8d0 | ||
|
|
8d16522d39 | ||
|
|
cd1192b409 | ||
|
|
bf2fd63131 | ||
|
|
029da87346 | ||
|
|
9532bedd7d | ||
|
|
e9c8363b70 | ||
|
|
fb57ed2bcd | ||
|
|
57ec558396 | ||
|
|
6e2de1cd79 | ||
|
|
8ace3ab7f2 | ||
|
|
18e4dca6c9 | ||
|
|
99bb5d33f2 | ||
|
|
d4ed4f9325 | ||
|
|
bb2e1ee8da | ||
|
|
51bfbc964e | ||
|
|
48eca3e11f | ||
|
|
57c1a0f4b6 | ||
|
|
bde4d63fdb | ||
|
|
cbb1269b39 | ||
|
|
175167b311 | ||
|
|
029052fa18 | ||
|
|
a454469949 | ||
|
|
0562ed720b | ||
|
|
cbe8a9649c | ||
|
|
f48fdc1d71 | ||
|
|
7f7753a004 | ||
|
|
aba4fa94be | ||
|
|
4eea7c8297 | ||
|
|
4867d26f7d | ||
|
|
9bd3ab717e | ||
|
|
d6d92ce90a | ||
|
|
3679b21701 | ||
|
|
49f58b4ed8 | ||
|
|
235361faf4 | ||
|
|
208b803fbe | ||
|
|
8a92cec03f | ||
|
|
00f068b93e | ||
|
|
654353e26b | ||
|
|
d670ef2638 | ||
|
|
aff935b3c7 | ||
|
|
107c0673c7 | ||
|
|
c14d04b3e8 | ||
|
|
7a017041bf | ||
|
|
bfae81ec70 | ||
|
|
71d4cb781d | ||
|
|
eb56bd8973 | ||
|
|
93585aded7 | ||
|
|
38245aa2a9 | ||
|
|
1f33e6f044 | ||
|
|
4752adf9d3 | ||
|
|
2d741afe3e | ||
|
|
5e6b17aba4 | ||
|
|
c51098e2cf | ||
|
|
ecfbf72a57 | ||
|
|
24275d8dc4 | ||
|
|
94d82948f6 | ||
|
|
54fb1abb96 | ||
|
|
a3b936fcd0 | ||
|
|
efc4cd5969 | ||
|
|
17ab438c5a | ||
|
|
77b4bfb14e | ||
|
|
7839280cb3 | ||
|
|
9e1ea264e2 | ||
|
|
b02ec98ec6 | ||
|
|
2fa531745f | ||
|
|
0c36c40a5d | ||
|
|
6337e673f9 | ||
|
|
e800892cc1 | ||
|
|
a21e893749 | ||
|
|
dff3fc0572 | ||
|
|
5de0ec94e0 | ||
|
|
a408b01111 | ||
|
|
6e45cf0dab | ||
|
|
dc7b6623a9 | ||
|
|
820941fd40 | ||
|
|
862941abf6 | ||
|
|
e98c30f633 | ||
|
|
316a7e6fb7 | ||
|
|
58ed99d562 | ||
|
|
840642394f | ||
|
|
9484af5329 | ||
|
|
3cf1a16398 | ||
|
|
0f0af12353 | ||
|
|
7cb9a4ee4a | ||
|
|
28a1eb86da | ||
|
|
86f12d9e83 | ||
|
|
539f86fd0b | ||
|
|
c93b12ff05 | ||
|
|
319edca870 | ||
|
|
ebeedba072 | ||
|
|
568dfde074 | ||
|
|
5a59287927 | ||
|
|
b8c1829857 | ||
|
|
4f2d56a55f | ||
|
|
6b49f8f26b | ||
|
|
fc8cb7cd14 | ||
|
|
727094abc6 | ||
|
|
20726ae75c | ||
|
|
3b2a39fd38 | ||
|
|
bcb54bc38a | ||
|
|
14aac09318 | ||
|
|
9d42db9849 | ||
|
|
ee81c7c00e | ||
|
|
2edf414aa4 | ||
|
|
54f44f5267 | ||
|
|
6ab54bc95a | ||
|
|
c8ae31a248 | ||
|
|
66a01e4fef | ||
|
|
d559db4fb1 | ||
|
|
673dff2268 | ||
|
|
6f5871434d | ||
|
|
685f249fd0 | ||
|
|
26ccd577b5 | ||
|
|
bb38be40f6 | ||
|
|
f236c32063 | ||
|
|
236edae60b | ||
|
|
5a13402b51 | ||
|
|
82aa02a980 | ||
|
|
3dd98deecc | ||
|
|
2e23fb203a | ||
|
|
625e9a2547 | ||
|
|
aab2b7df1c | ||
|
|
31bd44bec5 | ||
|
|
11532b603a | ||
|
|
523c88b80d | ||
|
|
7cf1bb7e38 | ||
|
|
eb9fdb43c1 | ||
|
|
0362f45547 | ||
|
|
31f55fdb26 | ||
|
|
26928a63e8 | ||
|
|
abacec5787 | ||
|
|
d84af2def0 | ||
|
|
7fa0eddc5f | ||
|
|
0e85c98d02 | ||
|
|
ae2b27d400 | ||
|
|
7c424e1b85 | ||
|
|
ba1ca4ec08 | ||
|
|
20b13a4a2e | ||
|
|
460b23b1eb | ||
|
|
9882f16614 | ||
|
|
60daa2b41b | ||
|
|
d81565df55 | ||
|
|
e2ac176d3c | ||
|
|
ec8c0bb3e7 | ||
|
|
b904fe5acd | ||
|
|
3b07098731 | ||
|
|
03a330a4dd | ||
|
|
6502da549b | ||
|
|
a71e25a8ba | ||
|
|
9e05f41747 | ||
|
|
208b0f39e6 | ||
|
|
5ad9edc3fd | ||
|
|
c714fc89f1 | ||
|
|
e3cde7b55e | ||
|
|
5a745da07b | ||
|
|
531018e58d | ||
|
|
813c64a055 | ||
|
|
a954e9a4d8 | ||
|
|
95c449481e | ||
|
|
0b43607aa1 | ||
|
|
e75efb8bfb | ||
|
|
d83fee89bd | ||
|
|
b773dbe645 | ||
|
|
5c7c7f54fa | ||
|
|
98417d6465 | ||
|
|
0ea64afe92 | ||
|
|
a862f62fe8 | ||
|
|
5bd525a6dd | ||
|
|
af3d896bdf | ||
|
|
ceeb72a277 | ||
|
|
2c17fdcff0 | ||
|
|
41a7c96968 | ||
|
|
98d9dae087 | ||
|
|
2033174d95 | ||
|
|
606e36acf3 | ||
|
|
0422943d52 | ||
|
|
0024f2e30f | ||
|
|
abe5e8ecea | ||
|
|
61503a8047 | ||
|
|
fcb5deff0a | ||
|
|
fdec16c3a0 | ||
|
|
84ee8b993f | ||
|
|
3d1c27ceb7 | ||
|
|
0390c67c4d | ||
|
|
1f6161132e | ||
|
|
fc74e16097 | ||
|
|
b03f54ffcd | ||
|
|
26f33a1c12 | ||
|
|
6e8aeea76d | ||
|
|
c736ba7059 | ||
|
|
3eb4b3b208 | ||
|
|
5982763bed | ||
|
|
6b7f7bb777 | ||
|
|
5b9338e40e | ||
|
|
eab4861383 | ||
|
|
4008e6ab58 | ||
|
|
a115bbdc6f | ||
|
|
33ed4fd7cf | ||
|
|
d70ee509b4 | ||
|
|
e20968bdfe | ||
|
|
9e124e4a75 | ||
|
|
db37b7b933 | ||
|
|
2e94066e50 | ||
|
|
61c6962bf2 | ||
|
|
9cbdd58af5 | ||
|
|
eea9d7db97 | ||
|
|
235baa3dcc | ||
|
|
f04f4302a2 | ||
|
|
06e08557ac | ||
|
|
95fdefdcc7 | ||
|
|
7a8d4577f1 | ||
|
|
65eb71e645 | ||
|
|
47e885ddbf | ||
|
|
65626f0da2 | ||
|
|
8584901f9e | ||
|
|
e2d446e446 | ||
|
|
54306473f3 | ||
|
|
c7158234dc | ||
|
|
b28cb19ae3 | ||
|
|
86a01b6984 | ||
|
|
b432103b82 | ||
|
|
75564c8fb5 | ||
|
|
b87097a7ab | ||
|
|
6ef5f34070 | ||
|
|
b953ea9042 | ||
|
|
61ada66e3a | ||
|
|
a9a724714f | ||
|
|
612ef0ef9b | ||
|
|
a627870bbb | ||
|
|
fae4f69b8c | ||
|
|
b27ba03d42 | ||
|
|
2cd6787141 | ||
|
|
21204971ff | ||
|
|
c570a13a1f | ||
|
|
5c71260c12 | ||
|
|
e105970945 | ||
|
|
0c33019f93 | ||
|
|
16598a8386 | ||
|
|
f52f6e2d44 | ||
|
|
304cebefe4 | ||
|
|
d7a8a43024 | ||
|
|
73f91db939 | ||
|
|
41be9e8178 | ||
|
|
be24872bba | ||
|
|
db56546871 | ||
|
|
53b30e267c | ||
|
|
8f33c5235b | ||
|
|
d8857bf42d | ||
|
|
a85ac07576 | ||
|
|
d2ab008aa0 | ||
|
|
f4ff8b17f7 | ||
|
|
d5c8787451 | ||
|
|
850c7c7ecf | ||
|
|
7ff475977e | ||
|
|
478d30b529 | ||
|
|
d6597400de | ||
|
|
af394ff65c | ||
|
|
f6fa6d6563 | ||
|
|
fd7a49f4a6 | ||
|
|
47d7598e99 | ||
|
|
e2ba754f91 | ||
|
|
c98aad698a | ||
|
|
75f0d132e5 | ||
|
|
f82725139a | ||
|
|
b9e58c77af | ||
|
|
ad67eac257 | ||
|
|
eef51f26f0 | ||
|
|
ea992bc3e6 | ||
|
|
20f3f23576 |
8
.gitattributes
vendored
@@ -1 +1,9 @@
|
||||
src/version.h.cmake export-subst
|
||||
.gitattributes export-ignore
|
||||
.gitignore export-ignore
|
||||
.github export-ignore
|
||||
.travis.yml export-ignore
|
||||
.tx export-ignore
|
||||
snapcraft.yaml export-ignore
|
||||
make_release.sh export-ignore
|
||||
AppImage-Recipe.sh export-ignore
|
||||
|
||||
180
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,180 @@
|
||||
# Contributing to KeePassXC
|
||||
|
||||
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
|
||||
|
||||
The following is a set of guidelines for contributing to KeePassXC 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)
|
||||
* [Discuss with the team](#discuss-with-the-team)
|
||||
* [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
|
||||
**Source**: [Version 0.3, 2015–11–18](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 project’s 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 it’s 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 project’s 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 don’t care about anything but your code. We don’t 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, 2011–11–18: Initial draft.
|
||||
* 0.2, 2011–11–18: Added “If Your Contribution Is Rejected” section.
|
||||
* 0.3, 2011–11–19: 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 to improve an existing feature, or would like to suggest a completely new feature for KeePassXC, please use the [issue tracker on GitHub][issues-section]. For more general discussion, try using our [Google Groups][google-groups] forum.
|
||||
|
||||
### Bug reports
|
||||
|
||||
Our software isn't always perfect, but we strive to always improve our work. You may file bug reports in the issue tracker.
|
||||
|
||||
Before submitting a bug report, check if the problem has already been reported. Please refrain from opening a duplicate issue. If you want to add further information to an existing issue, simply add a comment on that issue.
|
||||
|
||||
### Discuss with the team
|
||||
|
||||
As with feature requests, you can talk to the KeePassXC team about bugs, new features, other issues and pull requests on the dedicated issue tracker, using the [Google Groups][google-groups] forum, or in the IRC channel on Freenode (`#keepassxc-dev` on `irc.freenode.net`, or use a [webchat link](https://webchat.freenode.net/?channels=%23keepassxc-dev)).
|
||||
|
||||
### Your first code contribution
|
||||
|
||||
Unsure where to begin contributing to KeePassXC? 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, looking at the number of comments on an issue can give a general idea of how much an 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** – points to the latest public release
|
||||
* **develop** – points to the development of the next release, contains tested and reviewed code
|
||||
* **feature/**[name] – points to a branch with a new feature, one which is candidate for merge into develop (subject to rebase)
|
||||
* **hotfix/**[id]-[description] – points to a branch with a fix for a particular issue ID
|
||||
|
||||
|
||||
### 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 stick to the following rules:
|
||||
|
||||
#### Naming convention
|
||||
`lowerCamelCase`
|
||||
|
||||
For names made of only one word, the first letter should be lowercase.
|
||||
For names made of multiple concatenated words, the first letter of the whole is lowercase, and the first letter of each subsequent 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 behavior, and preferably end with the widget's 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
|
||||
[issues-section]:https://github.com/keepassxreboot/keepassxc/issues
|
||||
[google-groups]:https://groups.google.com/forum/#!forum/keepassx-reboot
|
||||
32
.github/ISSUE_TEMPLATE.md
vendored
Normal 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
@@ -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
@@ -1,2 +1,2 @@
|
||||
CMakeLists.txt.*
|
||||
build/
|
||||
build*/
|
||||
|
||||
46
.travis.yml
@@ -1,19 +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 install cmake qt libgcrypt; fi
|
||||
before_script: mkdir build && pushd build
|
||||
- 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 qt5 || brew install qt5; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew ls | grep -wq libgcrypt || brew install libgcrypt; fi
|
||||
|
||||
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; 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'"
|
||||
|
||||
@@ -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
|
||||
|
||||
92
AppImage-Recipe.sh
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/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
|
||||
|
||||
LIB_DIR=./usr/lib
|
||||
if [ -d ./usr/lib/x86_64-linux-gnu ]; then
|
||||
LIB_DIR=./usr/lib/x86_64-linux-gnu
|
||||
fi
|
||||
|
||||
cd $APP.AppDir
|
||||
cp -a ../../bin-release/* .
|
||||
cp -a ./usr/local/* ./usr
|
||||
rm -R ./usr/local
|
||||
rmdir ./opt 2> /dev/null
|
||||
patch_strings_in_file /usr/local ././
|
||||
patch_strings_in_file /usr ./
|
||||
|
||||
# bundle Qt platform plugins and themes
|
||||
QXCB_PLUGIN="$(find /usr/lib -name 'libqxcb.so' 2> /dev/null)"
|
||||
if [ "$QXCB_PLUGIN" == "" ]; then
|
||||
QXCB_PLUGIN="$(find /opt/qt*/plugins -name 'libqxcb.so' 2> /dev/null)"
|
||||
fi
|
||||
QT_PLUGIN_PATH="$(dirname $(dirname $QXCB_PLUGIN))"
|
||||
mkdir -p ".${QT_PLUGIN_PATH}/platforms"
|
||||
cp "$QXCB_PLUGIN" ".${QT_PLUGIN_PATH}/platforms/"
|
||||
|
||||
get_apprun
|
||||
copy_deps
|
||||
delete_blacklisted
|
||||
|
||||
# remove dbus and systemd libs as they are not blacklisted
|
||||
find . -name libdbus-1.so.3 -exec rm {} \;
|
||||
find . -name libsystemd.so.0 -exec rm {} \;
|
||||
|
||||
get_desktop
|
||||
get_icon
|
||||
cat << EOF > ./usr/bin/keepassxc_env
|
||||
#!/usr/bin/env bash
|
||||
#export QT_QPA_PLATFORMTHEME=gtk2
|
||||
export LD_LIBRARY_PATH="../opt/qt58/lib:\${LD_LIBRARY_PATH}"
|
||||
export QT_PLUGIN_PATH="..${QT_PLUGIN_PATH}"
|
||||
exec keepassxc "\$@"
|
||||
EOF
|
||||
chmod +x ./usr/bin/keepassxc_env
|
||||
sed -i 's/Exec=keepassxc/Exec=keepassxc_env/' keepassxc.desktop
|
||||
get_desktopintegration $LOWERAPP
|
||||
|
||||
GLIBC_NEEDED=$(glibc_needed)
|
||||
|
||||
cd ..
|
||||
|
||||
generate_type2_appimage
|
||||
|
||||
mv ../out/*.AppImage ..
|
||||
rmdir ../out > /dev/null 2>&1
|
||||
89
CHANGELOG
@@ -1,3 +1,92 @@
|
||||
2.1.1 (2017-02-06)
|
||||
=========================
|
||||
|
||||
- Enabled HTTP plugin build; plugin is disabled by default and limited to localhost [#147]
|
||||
- Escape HTML in dialog boxes [#247]
|
||||
- Corrected crashes in favicon download and password generator [#233, #226]
|
||||
- Increase font size of password meter [#228]
|
||||
- Fixed compatibility with Qt 5.8 [#211]
|
||||
- Use consistent button heights in password generator [#229]
|
||||
|
||||
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)
|
||||
=========================
|
||||
|
||||
- Flush temporary file before opening attachment. [#390]
|
||||
- Disable password generator when showing entry in history mode. [#422]
|
||||
- Strip invalid XML chars when writing databases. [#392]
|
||||
- Add repair function to fix databases with invalid XML chars. [#392]
|
||||
- Display custom icons scaled. [#322]
|
||||
- Allow opening databases that have no password and keyfile. [#391]
|
||||
- Fix crash when importing .kdb files with invalid icon ids. [#425]
|
||||
- Update translations.
|
||||
|
||||
2.0 (2015-12-06)
|
||||
=========================
|
||||
|
||||
- Improve UI of the search edit.
|
||||
- Clear clipboard when locking databases. [#342]
|
||||
- Enable Ctrl+M shortcut to minimize the window on all platforms. [#329]
|
||||
- Show a better message when trying to open an old database format. [#338]
|
||||
- Fix global auto-type behavior with some window managers.
|
||||
- Show global auto-type window on the active desktop. [#359]
|
||||
- Disable systray on OS X. [#326]
|
||||
- Restore main window when clicking on the OS X docker icon. [#326]
|
||||
|
||||
2.0 Beta 2 (2015-09-06)
|
||||
=========================
|
||||
|
||||
- Fix crash when locking with search UI open [#309]
|
||||
- Fix file locking on Mac OS X [#327]
|
||||
- Set default extension when saving a database [#79, #308]
|
||||
|
||||
2.0 Beta 1 (2015-07-18)
|
||||
=========================
|
||||
|
||||
|
||||
@@ -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,11 +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_LTO "Enable Link Time Optimization (LTO)" 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 beta 1")
|
||||
set(KEEPASSX_VERSION_NUM "1.9.91")
|
||||
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.1")
|
||||
set(KEEPASSXC_VERSION_NUM "2.1.1")
|
||||
|
||||
if("${CMAKE_C_COMPILER}" MATCHES "clang$" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
|
||||
set(CMAKE_COMPILER_IS_CLANG 1)
|
||||
@@ -62,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")
|
||||
@@ -88,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)
|
||||
@@ -101,37 +111,29 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-z,relro")
|
||||
endif()
|
||||
|
||||
if(WITH_LTO)
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
check_cxx_compiler_flag("-flto -fuse-linker-plugin" LTO_AVAILABLE)
|
||||
add_gcc_compiler_cxxflags("-std=c++11")
|
||||
|
||||
if(LTO_AVAILABLE)
|
||||
add_gcc_compiler_flags("-flto -fuse-linker-plugin")
|
||||
else()
|
||||
message(FATAL_ERROR "This version of gcc doesn't support LTO")
|
||||
endif(LTO_AVAILABLE)
|
||||
else()
|
||||
message(FATAL_ERROR "LTO is only supported with gcc")
|
||||
endif()
|
||||
if(APPLE)
|
||||
add_gcc_compiler_cxxflags("-stdlib=libc++")
|
||||
endif()
|
||||
|
||||
if (WITH_CXX11)
|
||||
add_gcc_compiler_cxxflags("-std=c++0x")
|
||||
add_gcc_compiler_cflags("-ansi")
|
||||
else()
|
||||
add_gcc_compiler_flags("-ansi")
|
||||
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")
|
||||
@@ -144,33 +146,39 @@ 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(LibGPGError REQUIRED)
|
||||
|
||||
find_package(Gcrypt 1.6.0 REQUIRED)
|
||||
|
||||
if (WITH_XC_HTTP)
|
||||
find_package(LibMicroHTTPD REQUIRED)
|
||||
endif(WITH_XC_HTTP)
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
@@ -209,12 +217,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)
|
||||
@@ -224,5 +229,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()
|
||||
|
||||
27
COPYING
@@ -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,13 +140,14 @@ 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
|
||||
share/icons/application/*/actions/username-copy.png
|
||||
share/icons/application/*/status/dialog-error.png
|
||||
share/icons/application/*/status/dialog-information.png
|
||||
share/icons/application/*/status/dialog-warning.png
|
||||
share/icons/application/*/status/username-copy.png
|
||||
share/icons/svg/*.svgz
|
||||
Copyright: 2007, Nuno Pinheiro <nuno@oxygen-icons.org>
|
||||
2007, David Vignoni <david@icon-king.com>
|
||||
@@ -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
|
||||
|
||||
54
Dockerfile
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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:14.04
|
||||
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --yes software-properties-common
|
||||
|
||||
RUN set -x \
|
||||
&& add-apt-repository --yes ppa:beineri/opt-qt58-trusty
|
||||
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --yes \
|
||||
g++ \
|
||||
cmake \
|
||||
libgcrypt20-dev \
|
||||
qt58base \
|
||||
qt58tools \
|
||||
qt58x11extras \
|
||||
libmicrohttpd-dev \
|
||||
libxi-dev \
|
||||
libxtst-dev \
|
||||
zlib1g-dev \
|
||||
wget \
|
||||
file \
|
||||
fuse \
|
||||
python
|
||||
|
||||
RUN set -x \
|
||||
&& apt-get install --yes mesa-common-dev
|
||||
|
||||
VOLUME /keepassxc/src
|
||||
VOLUME /keepassxc/out
|
||||
WORKDIR /keepassxc
|
||||
|
||||
ENV CMAKE_PREFIX_PATH=/opt/qt58/lib/cmake
|
||||
ENV LD_LIBRARY_PATH=/opt/qt58/lib
|
||||
RUN set -x \
|
||||
&& echo /opt/qt58/lib > /etc/ld.so.conf.d/qt58.conf
|
||||
28
INSTALL
@@ -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
@@ -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"
|
||||
```
|
||||
142
README.md
@@ -1,129 +1,65 @@
|
||||
# KeePassX
|
||||
# KeePassXC - KeePass Cross-platform Community Edition
|
||||
|
||||
[](https://travis-ci.org/keepassxreboot/keepassxc) [](https://coveralls.io/github/keepassxreboot/keepassxc)
|
||||
|
||||
## About
|
||||
KeePassXC is a fork of [KeePassX](https://www.keepassx.org/) that [aims to incorporate stalled pull requests, features, and bug fixes that have never made it into the main KeePassX repository](https://github.com/keepassxreboot/keepassx/issues/43).
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
## Additional features compared to KeePassX
|
||||
- Autotype on all three major platforms (Linux, Windows, OS X)
|
||||
- Stand-alone password generator
|
||||
- Password strength meter
|
||||
- Use website's favicons as entry icons
|
||||
- Merging of databases
|
||||
- Automatic reload when the database changed on disk
|
||||
- KeePassHTTP support for use with [PassIFox](https://addons.mozilla.org/en-us/firefox/addon/passifox/) in Mozilla Firefox and [chromeIPass](https://chrome.google.com/webstore/detail/chromeipass/ompiailgknfdndiefoaoiligalphfdae) in Google Chrome or Chromium.
|
||||
|
||||
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.
|
||||
For a full list of features and changes, read the [CHANGELOG](CHANGELOG) document.
|
||||
|
||||
## Install
|
||||
### Note about KeePassHTTP
|
||||
KeePassHTTP is not a highly secure protocol and has certain flaw which allow an attacker to decrypt your passwords when they manage to intercept communication between a KeePassHTTP server and PassIFox/chromeIPass over a network connection (see [here](https://github.com/pfn/keepasshttp/issues/258) and [here](https://github.com/keepassxreboot/keepassxc/issues/147)). KeePassXC therefore strictly limits communication between itself and the browser plugin to your local computer. As long as your computer is not compromised, your passwords are fairly safe that way, but still use it at your own risk!
|
||||
|
||||
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.
|
||||
### Installation
|
||||
Pre-compiled binaries can be found on the [downloads page](https://keepassxc.org/download). Additionally, individual Linux distributions may ship their own versions, so please check out your distribution's package list to see if KeePassXC is available.
|
||||
|
||||
### Debian
|
||||
### Building KeePassXC yourself
|
||||
|
||||
To install KeePassX from the Debian repository:
|
||||
*More detailed instructions are available in the INSTALL file or on the [Wiki page](https://github.com/keepassxreboot/keepassx/wiki/Install-Instruction-from-Source).*
|
||||
|
||||
First, you must download the KeePassXC [source tarball](https://keepassxc.org/download#source) or check out the latest version from our [Git repository](https://github.com/keepassxreboot/keepassxc).
|
||||
|
||||
To clone the project from Git, `cd` to a suitable location and run
|
||||
|
||||
```bash
|
||||
sudo apt-get install keepassx
|
||||
git clone https://github.com/keepassxreboot/keepassxc.git
|
||||
```
|
||||
|
||||
### Red Hat
|
||||
This will clone the entire contents of the repository and check out the current `develop` branch.
|
||||
|
||||
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
|
||||
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
|
||||
```
|
||||
|
||||
**Note:** This will clone the entire contents of the repository at the HEAD revision.
|
||||
|
||||
To update the project from within the project's folder you can run the following command:
|
||||
To update the project from within the project's folder, you can run the following command:
|
||||
|
||||
```bash
|
||||
git pull
|
||||
```
|
||||
|
||||
### Feature Requests
|
||||
Once you have downloaded the source code, you can `cd` into the source code directory and build and install KeePassXC with
|
||||
|
||||
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.
|
||||
```
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DWITH_TESTS=OFF ..
|
||||
make -j8
|
||||
sudo make install
|
||||
```
|
||||
|
||||
### Bug Reports
|
||||
To enable autotype, add `-DWITH_XC_AUTOTYPE=ON` to the `cmake` command. KeePassHTTP support is compiled in by adding `-DWITH_XC_HTTP=ON`. If these options are not specified, KeePassXC will be built without these plugins.
|
||||
|
||||
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
|
||||
### Contributing
|
||||
|
||||
Along with our desire to hear your feedback and suggestions, we're also interested in accepting direct assistance in the form of code.
|
||||
We are always looking for suggestions how to improve our application. If you find any bugs or have an idea for a new feature, please let us know by opening a report in our [issue tracker](https://github.com/keepassxreboot/keepassxc/issues) on GitHub or write to our [Google Groups](https://groups.google.com/forum/#!forum/keepassx-reboot) forum.
|
||||
|
||||
Issue merge requests against our [GitHub repository](https://github.com/keepassx/keepassx).
|
||||
You can of course also directly contribute your own code. We are happy to accept your pull requests.
|
||||
|
||||
### 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 read the [CONTRIBUTING](.github/CONTRIBUTING.md) document for further information.
|
||||
|
||||
197
cmake/CodeCoverage.cmake
Normal 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
|
||||
9
cmake/FindLibGPGError.cmake
Normal file
@@ -0,0 +1,9 @@
|
||||
|
||||
find_path(GPGERROR_INCLUDE_DIR gpg-error.h)
|
||||
|
||||
find_library(GPGERROR_LIBRARIES gpg-error)
|
||||
|
||||
mark_as_advanced(GPGERROR_LIBRARIES GPGERROR_INCLUDE_DIR)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(LibGPGError DEFAULT_MSG GPGERROR_LIBRARIES GPGERROR_INCLUDE_DIR)
|
||||
9
cmake/FindLibMicroHTTPD.cmake
Normal 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)
|
||||
682
release-tool
Executable file
@@ -0,0 +1,682 @@
|
||||
#!/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"
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# global default values
|
||||
# -----------------------------------------------------------------------
|
||||
RELEASE_NAME=""
|
||||
APP_NAME="KeePassXC"
|
||||
SRC_DIR="."
|
||||
GPG_KEY="CFB4C2166397D0D2"
|
||||
GPG_GIT_KEY=""
|
||||
OUTPUT_DIR="release"
|
||||
SOURCE_BRANCH=""
|
||||
TARGET_BRANCH="master"
|
||||
TAG_NAME=""
|
||||
DOCKER_IMAGE=""
|
||||
DOCKER_CONTAINER_NAME="keepassxc-build-container"
|
||||
CMAKE_OPTIONS=""
|
||||
COMPILER="g++"
|
||||
MAKE_OPTIONS="-j8"
|
||||
BUILD_PLUGINS="autotype"
|
||||
INSTALL_PREFIX="/usr/local"
|
||||
BUILD_SOURCE_TARBALL=true
|
||||
ORIG_BRANCH=""
|
||||
ORIG_CWD="$(pwd)"
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# helper functions
|
||||
# -----------------------------------------------------------------------
|
||||
printUsage() {
|
||||
local cmd
|
||||
if [ "" == "$1" ] || [ "help" == "$1" ]; then
|
||||
cmd="COMMAND"
|
||||
elif [ "merge" == "$1" ] || [ "build" == "$1" ] || [ "sign" == "$1" ]; then
|
||||
cmd="$1"
|
||||
else
|
||||
logError "Unknown command: '$1'\n"
|
||||
cmd="COMMAND"
|
||||
fi
|
||||
|
||||
echo -e "\e[1mUsage:\e[0m $(basename $0) $cmd [options]"
|
||||
|
||||
if [ "COMMAND" == "$cmd" ]; then
|
||||
cat << EOF
|
||||
|
||||
Commands:
|
||||
merge Merge release branch into main branch and create release tags
|
||||
build Build and package binary release from sources
|
||||
sign Sign previously compiled release packages
|
||||
help Show help for the given command
|
||||
EOF
|
||||
elif [ "merge" == "$cmd" ]; then
|
||||
cat << EOF
|
||||
|
||||
Merge release branch into main branch and create release tags
|
||||
|
||||
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}')
|
||||
-g, --gpg-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}')
|
||||
-r, --release-branch Source release branch to merge from (default: 'release/VERSION')
|
||||
--target-branch Target branch to merge to (default: '${TARGET_BRANCH}')
|
||||
-t, --tag-name Override release tag name (defaults to version number)
|
||||
-h, --help Show this help
|
||||
EOF
|
||||
elif [ "build" == "$cmd" ]; then
|
||||
cat << EOF
|
||||
|
||||
Build and package binary release from sources
|
||||
|
||||
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}')
|
||||
-o, --output-dir Output directory where to build the release
|
||||
(default: '${OUTPUT_DIR}')
|
||||
-t, --tag-name Release tag to check out (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})
|
||||
-n, --no-source-tarball Don't build source tarball
|
||||
-h, --help Show this help
|
||||
EOF
|
||||
elif [ "sign" == "$cmd" ]; then
|
||||
cat << EOF
|
||||
|
||||
Sign previously compiled release packages
|
||||
|
||||
Options:
|
||||
-f, --files Files to sign (required)
|
||||
-g, --gpg-key GPG key used to sign the files (default: '${GPG_KEY}')
|
||||
-h, --help Show this help
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
init() {
|
||||
ORIG_CWD="$(pwd)"
|
||||
cd "$SRC_DIR" > /dev/null 2>&1
|
||||
ORIG_BRANCH="$(git rev-parse --abbrev-ref HEAD 2> /dev/null)"
|
||||
cd "$ORIG_CWD"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
logInfo "Checking out original branch..."
|
||||
if [ "" != "$ORIG_BRANCH" ]; then
|
||||
git checkout "$ORIG_BRANCH" > /dev/null 2>&1
|
||||
fi
|
||||
logInfo "Leaving source directory..."
|
||||
cd "$ORIG_CWD"
|
||||
}
|
||||
|
||||
exitError() {
|
||||
logError "$1"
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
|
||||
exitTrap() {
|
||||
exitError "Existing upon user request..."
|
||||
}
|
||||
|
||||
checkSourceDirExists() {
|
||||
if [ ! -d "$SRC_DIR" ]; then
|
||||
exitError "Source directory '${SRC_DIR}' does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkOutputDirDoesNotExist() {
|
||||
if [ -e "$OUTPUT_DIR" ]; then
|
||||
exitError "Output directory '$OUTPUT_DIR' already exists. Please choose a different location!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkGitRepository() {
|
||||
if [ ! -d .git ] || [ ! -f CHANGELOG ]; then
|
||||
exitError "Source directory is not a valid Git repository!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkTagExists() {
|
||||
git tag | grep -q "$TAG_NAME"
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "Tag '${TAG_NAME}' does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkReleaseDoesNotExist() {
|
||||
git tag | grep -q "$TAG_NAME"
|
||||
if [ $? -eq 0 ]; then
|
||||
exitError "Release '$RELEASE_NAME' (tag: '$TAG_NAME') already exists!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkWorkingTreeClean() {
|
||||
git diff-index --quiet HEAD --
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "Current working tree is not clean! Please commit or unstage any changes."
|
||||
fi
|
||||
}
|
||||
|
||||
checkSourceBranchExists() {
|
||||
git rev-parse "$SOURCE_BRANCH" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "Source branch '$SOURCE_BRANCH' does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkTargetBranchExists() {
|
||||
git rev-parse "$TARGET_BRANCH" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "Target branch '$TARGET_BRANCH' does not exist!"
|
||||
fi
|
||||
}
|
||||
|
||||
checkVersionInCMake() {
|
||||
local app_name_upper="$(echo "$APP_NAME" | tr '[:lower:]' '[:upper:]')"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
checkChangeLog() {
|
||||
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
|
||||
}
|
||||
|
||||
checkTransifexCommandExists() {
|
||||
command -v tx > /dev/null
|
||||
if [ 0 -ne $? ]; then
|
||||
exitError "Transifex tool 'tx' not installed! Please install it using 'pip install transifex-client'"
|
||||
fi
|
||||
}
|
||||
|
||||
# re-implement realpath for OS X (thanks mschrag)
|
||||
# https://superuser.com/questions/205127/
|
||||
if $(command -v realpath > /dev/null); then
|
||||
realpath() {
|
||||
pushd . > /dev/null
|
||||
if [ -d "$1" ]; then
|
||||
cd "$1"
|
||||
dirs -l +0
|
||||
else
|
||||
cd "$(dirname "$1")"
|
||||
cur_dir=$(dirs -l +0)
|
||||
|
||||
if [ "$cur_dir" == "/" ]; then
|
||||
echo "$cur_dir$(basename "$1")"
|
||||
else
|
||||
echo "$cur_dir/$(basename "$1")"
|
||||
fi
|
||||
fi
|
||||
popd > /dev/null
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
trap exitTrap SIGINT SIGTERM
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# merge command
|
||||
# -----------------------------------------------------------------------
|
||||
merge() {
|
||||
while [ $# -ge 1 ]; do
|
||||
local arg="$1"
|
||||
case "$arg" in
|
||||
-v|--version)
|
||||
RELEASE_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-a|--app-name)
|
||||
APP_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-s|--source-dir)
|
||||
SRC_DIR="$2"
|
||||
shift ;;
|
||||
|
||||
-g|--gpg-key)
|
||||
GPG_GIT_KEY="$2"
|
||||
shift ;;
|
||||
|
||||
-r|--release-branch)
|
||||
SOURCE_BRANCH="$2"
|
||||
shift ;;
|
||||
|
||||
--target-branch)
|
||||
TARGET_BRANCH="$2"
|
||||
shift ;;
|
||||
|
||||
-t|--tag-name)
|
||||
TAG_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-h|--help)
|
||||
printUsage "merge"
|
||||
exit ;;
|
||||
|
||||
*)
|
||||
logError "Unknown option '$arg'\n"
|
||||
printUsage "merge"
|
||||
exit 1 ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "" == "$RELEASE_NAME" ]; then
|
||||
logError "Missing arguments, --version is required!\n"
|
||||
printUsage "merge"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "" == "$TAG_NAME" ]; then
|
||||
TAG_NAME="$RELEASE_NAME"
|
||||
fi
|
||||
|
||||
if [ "" == "$SOURCE_BRANCH" ]; then
|
||||
SOURCE_BRANCH="release/${RELEASE_NAME}"
|
||||
fi
|
||||
|
||||
init
|
||||
|
||||
SRC_DIR="$(realpath "$SRC_DIR")"
|
||||
|
||||
logInfo "Performing basic checks..."
|
||||
|
||||
checkSourceDirExists
|
||||
|
||||
logInfo "Changing to source directory..."
|
||||
cd "${SRC_DIR}"
|
||||
|
||||
checkTransifexCommandExists
|
||||
checkGitRepository
|
||||
checkReleaseDoesNotExist
|
||||
checkWorkingTreeClean
|
||||
checkSourceBranchExists
|
||||
checkTargetBranchExists
|
||||
checkVersionInCMake
|
||||
checkChangeLog
|
||||
|
||||
logInfo "All checks pass, getting our hands dirty now!"
|
||||
|
||||
logInfo "Checking out source branch..."
|
||||
git checkout "$SOURCE_BRANCH"
|
||||
|
||||
logInfo "Updating language files..."
|
||||
./share/translations/update.sh
|
||||
if [ 0 -ne $? ]; then
|
||||
exitError "Updating translations failed!"
|
||||
fi
|
||||
git diff-index --quiet HEAD --
|
||||
if [ $? -ne 0 ]; then
|
||||
git add ./share/translations/*
|
||||
logInfo "Committing changes..."
|
||||
if [ "" == "$GPG_GIT_KEY" ]; then
|
||||
git commit -m "Update translations"
|
||||
else
|
||||
git commit -m "Update translations" -S"$GPG_GIT_KEY"
|
||||
fi
|
||||
fi
|
||||
|
||||
logInfo "Checking out target branch '${TARGET_BRANCH}'..."
|
||||
git checkout "$TARGET_BRANCH"
|
||||
|
||||
logInfo "Merging '${SOURCE_BRANCH}' into '${TARGET_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 "$SOURCE_BRANCH" --no-ff -m "$COMMIT_MSG" -m "${CHANGELOG}" "$SOURCE_BRANCH" -S"$GPG_GIT_KEY"
|
||||
|
||||
logInfo "Creating tag '${TAG_NAME}'..."
|
||||
if [ "" == "$GPG_GIT_KEY" ]; then
|
||||
git tag -a "$TAG_NAME" -m "$COMMIT_MSG" -m "${CHANGELOG}" -s
|
||||
else
|
||||
git tag -a "$TAG_NAME" -m "$COMMIT_MSG" -m "${CHANGELOG}" -s -u "$GPG_GIT_KEY"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
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."
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# build command
|
||||
# -----------------------------------------------------------------------
|
||||
build() {
|
||||
while [ $# -ge 1 ]; do
|
||||
local arg="$1"
|
||||
case "$arg" in
|
||||
-v|--version)
|
||||
RELEASE_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-a|--app-name)
|
||||
APP_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-s|--source-dir)
|
||||
SRC_DIR="$2"
|
||||
shift ;;
|
||||
|
||||
-o|--output-dir)
|
||||
OUTPUT_DIR="$2"
|
||||
shift ;;
|
||||
|
||||
-t|--tag-name)
|
||||
TAG_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-d|--docker-image)
|
||||
DOCKER_IMAGE="$2"
|
||||
shift ;;
|
||||
|
||||
--container-name)
|
||||
DOCKER_CONTAINER_NAME="$2"
|
||||
shift ;;
|
||||
|
||||
-c|--cmake-options)
|
||||
CMAKE_OPTIONS="$2"
|
||||
shift ;;
|
||||
|
||||
--compiler)
|
||||
COMPILER="$2"
|
||||
shift ;;
|
||||
|
||||
-m|--make-options)
|
||||
MAKE_OPTIONS="$2"
|
||||
shift ;;
|
||||
|
||||
-i|--install-prefix)
|
||||
INSTALL_PREFIX="$2"
|
||||
shift ;;
|
||||
|
||||
-p|--plugins)
|
||||
BUILD_PLUGINS="$2"
|
||||
shift ;;
|
||||
|
||||
-n|--no-source-tarball)
|
||||
BUILD_SOURCE_TARBALL=false ;;
|
||||
|
||||
-h|--help)
|
||||
printUsage "build"
|
||||
exit ;;
|
||||
|
||||
*)
|
||||
logError "Unknown option '$arg'\n"
|
||||
printUsage "build"
|
||||
exit 1 ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "" == "$RELEASE_NAME" ]; then
|
||||
logError "Missing arguments, --version is required!\n"
|
||||
printUsage "build"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "" == "$TAG_NAME" ]; then
|
||||
TAG_NAME="$RELEASE_NAME"
|
||||
fi
|
||||
|
||||
init
|
||||
|
||||
SRC_DIR="$(realpath "$SRC_DIR")"
|
||||
OUTPUT_DIR="$(realpath "$OUTPUT_DIR")"
|
||||
|
||||
logInfo "Performing basic checks..."
|
||||
|
||||
checkSourceDirExists
|
||||
|
||||
logInfo "Changing to source directory..."
|
||||
cd "${SRC_DIR}"
|
||||
|
||||
checkTagExists
|
||||
checkGitRepository
|
||||
checkWorkingTreeClean
|
||||
checkOutputDirDoesNotExist
|
||||
|
||||
logInfo "All checks pass, getting our hands dirty now!"
|
||||
|
||||
logInfo "Checking out release tag '${TAG_NAME}'..."
|
||||
git checkout "$TAG_NAME"
|
||||
|
||||
logInfo "Creating output directory..."
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
exitError "Failed to create output directory!"
|
||||
fi
|
||||
|
||||
if $BUILD_SOURCE_TARBALL; then
|
||||
logInfo "Creating source tarball..."
|
||||
local app_name_lower="$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]')"
|
||||
TARBALL_NAME="${app_name_lower}-${RELEASE_NAME}-src.tar.xz"
|
||||
git archive --format=tar "$TAG_NAME" --prefix="${app_name_lower}-${RELEASE_NAME}/" \
|
||||
| xz -6 > "${OUTPUT_DIR}/${TARBALL_NAME}"
|
||||
fi
|
||||
|
||||
logInfo "Creating build directory..."
|
||||
mkdir -p "${OUTPUT_DIR}/build-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
|
||||
if [ "$(uname -s)" == "Darwin" ]; then
|
||||
# Building on OS X
|
||||
local qt_vers="$(ls /usr/local/Cellar/qt5 2> /dev/null | sort -r | head -n1)"
|
||||
if [ "" == "$qt_vers" ]; then
|
||||
exitError "Couldn't find Qt5! Please make sure it is available in '/usr/local/Cellar/qt5'."
|
||||
fi
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.7
|
||||
|
||||
logInfo "Configuring build..."
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" \
|
||||
-DCMAKE_OSX_ARCHITECTURES=x86_64 -DWITH_CXX11=OFF \
|
||||
-DCMAKE_PREFIX_PATH="/usr/local/Cellar/qt5/${qt_vers}/lib/cmake" \
|
||||
-DQT_BINARY_DIR="/usr/local/Cellar/qt5/${qt_vers}/bin" $CMAKE_OPTIONS "$SRC_DIR"
|
||||
|
||||
logInfo "Compiling and packaging sources..."
|
||||
make $MAKE_OPTIONS package
|
||||
|
||||
mv "./${APP_NAME}-${RELEASE_NAME}.dmg" ../
|
||||
elif [ "$(uname -o)" == "Msys" ]; then
|
||||
# Building on Windows with Msys
|
||||
logInfo "Configuring build..."
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=Off -G"MSYS Makefiles" \
|
||||
-DCMAKE_INSTALL_PREFIX="${INSTALL_PREFIX}" $CMAKE_OPTIONS "$SRC_DIR"
|
||||
|
||||
logInfo "Compiling and packaging sources..."
|
||||
make $MAKE_OPTIONS package
|
||||
|
||||
mv "./${APP_NAME}-${RELEASE_NAME}-"*.{exe,zip} ../
|
||||
else
|
||||
mkdir -p "${OUTPUT_DIR}/bin-release"
|
||||
|
||||
# Building on Linux without Docker container
|
||||
logInfo "Configuring build..."
|
||||
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
|
||||
|
||||
logInfo "Creating AppImage..."
|
||||
${SRC_DIR}/AppImage-Recipe.sh "$APP_NAME" "$RELEASE_NAME"
|
||||
fi
|
||||
else
|
||||
mkdir -p "${OUTPUT_DIR}/bin-release"
|
||||
|
||||
logInfo "Launching Docker container to compile sources..."
|
||||
|
||||
docker run --name "$DOCKER_CONTAINER_NAME" --rm \
|
||||
--cap-add SYS_ADMIN --device /dev/fuse \
|
||||
-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 && \
|
||||
/keepassxc/src/AppImage-Recipe.sh "$APP_NAME" "$RELEASE_NAME""
|
||||
|
||||
if [ 0 -ne $? ]; then
|
||||
exitError "Docker build failed!"
|
||||
fi
|
||||
|
||||
logInfo "Build finished, Docker container terminated."
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
logInfo "All done!"
|
||||
}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# sign command
|
||||
# -----------------------------------------------------------------------
|
||||
sign() {
|
||||
SIGN_FILES=()
|
||||
|
||||
while [ $# -ge 1 ]; do
|
||||
local arg="$1"
|
||||
case "$arg" in
|
||||
-f|--files)
|
||||
while [ "${2:0:1}" != "-" ] && [ $# -ge 2 ]; do
|
||||
SIGN_FILES+=("$2")
|
||||
shift
|
||||
done ;;
|
||||
|
||||
-g|--gpg-key)
|
||||
GPG_KEY="$2"
|
||||
shift ;;
|
||||
|
||||
-h|--help)
|
||||
printUsage "sign"
|
||||
exit ;;
|
||||
|
||||
*)
|
||||
logError "Unknown option '$arg'\n"
|
||||
printUsage "sign"
|
||||
exit 1 ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$SIGN_FILES" ]; then
|
||||
logError "Missing arguments, --files is required!\n"
|
||||
printUsage "sign"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for f in "${SIGN_FILES[@]}"; do
|
||||
if [ ! -f "$f" ]; then
|
||||
exitError "File '${f}' does not exist!"
|
||||
fi
|
||||
|
||||
logInfo "Signing file '${f}'..."
|
||||
gpg --output "${f}.sig" --armor --local-user "$GPG_KEY" --detach-sig "$f"
|
||||
|
||||
if [ 0 -ne $? ]; then
|
||||
exitError "Signing failed!"
|
||||
fi
|
||||
|
||||
logInfo "Creating digest for file '${f}'..."
|
||||
sha256sum "$f" > "${f}.DIGEST"
|
||||
done
|
||||
|
||||
logInfo "All done!"
|
||||
}
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# parse global command line
|
||||
# -----------------------------------------------------------------------
|
||||
MODE="$1"
|
||||
shift
|
||||
if [ "" == "$MODE" ]; then
|
||||
logError "Missing arguments!\n"
|
||||
printUsage
|
||||
exit 1
|
||||
elif [ "help" == "$MODE" ]; then
|
||||
printUsage "$1"
|
||||
exit
|
||||
elif [ "merge" == "$MODE" ] || [ "build" == "$MODE" ] || [ "sign" == "$MODE" ]; then
|
||||
$MODE "$@"
|
||||
else
|
||||
printUsage "$MODE"
|
||||
fi
|
||||
13
setup/gui/keepassxc.desktop
Normal 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;
|
||||
@@ -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})
|
||||
|
||||
|
Before Width: | Height: | Size: 9.0 KiB |
BIN
share/icons/application/128x128/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
share/icons/application/128x128/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
share/icons/application/128x128/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
BIN
share/icons/application/16x16/actions/password-generator.png
Normal file
|
After Width: | Height: | Size: 733 B |
|
Before Width: | Height: | Size: 814 B |
BIN
share/icons/application/16x16/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 838 B |
BIN
share/icons/application/16x16/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 863 B |
BIN
share/icons/application/16x16/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 880 B |
|
Before Width: | Height: | Size: 711 B |
|
After Width: | Height: | Size: 715 B |
BIN
share/icons/application/22x22/actions/password-generator.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
BIN
share/icons/application/24x24/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
share/icons/application/24x24/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
share/icons/application/24x24/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 20 KiB |
BIN
share/icons/application/256x256/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
share/icons/application/256x256/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
share/icons/application/256x256/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
BIN
share/icons/application/32x32/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
share/icons/application/32x32/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
share/icons/application/32x32/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
BIN
share/icons/application/48x48/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
share/icons/application/48x48/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
share/icons/application/48x48/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
BIN
share/icons/application/64x64/apps/keepassxc-dark.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
share/icons/application/64x64/apps/keepassxc-locked.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
share/icons/application/64x64/apps/keepassxc.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
BIN
share/icons/application/scalable/apps/keepassxc-dark.svgz
Normal file
BIN
share/icons/application/scalable/apps/keepassxc-locked.svgz
Normal file
BIN
share/icons/application/scalable/apps/keepassxc.svgz
Normal file
BIN
share/icons/svg/application-x-keepassxc-16.svgz
Normal file
BIN
share/icons/svg/application-x-keepassxc.svgz
Normal file
865
share/icons/svg/password-generator.svgz
Normal 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 |
@@ -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;
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
BIN
share/macosx/keepassxc.icns
Normal 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})
|
||||
|
||||
@@ -9,12 +9,20 @@
|
||||
<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 distribueres under betingelserne i GNU General Public License (GPL) version 2 eller (efter eget valg) version 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision</source>
|
||||
<translation>Revision</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using:</source>
|
||||
<translation>Bruger:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AutoType</name>
|
||||
<message>
|
||||
<source>Auto-Type - KeePassX</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Auto-indsæt - KeePassX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Couldn't find an entry that matches the window title:</source>
|
||||
@@ -40,26 +48,26 @@
|
||||
<name>AutoTypeSelectDialog</name>
|
||||
<message>
|
||||
<source>Auto-Type - KeePassX</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Auto-indsæt - KeePassX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select entry to Auto-Type:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vælg post til Auto-Indsæt:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChangeMasterKeyWidget</name>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Adgangskode</translation>
|
||||
<translation>Kodeord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter password:</source>
|
||||
<translation>Indtast adgangskode</translation>
|
||||
<translation>Indtast kodeord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat password:</source>
|
||||
<translation>Gentag adgangskode</translation>
|
||||
<translation>Gentag kodeord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key file</source>
|
||||
@@ -103,18 +111,28 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to use an empty string as password?</source>
|
||||
<translation>Vil du virkelig bruge en tom streng som adgangskode?</translation>
|
||||
<translation>Vil du virkelig bruge en tom streng som kodeord?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Andre adgangskoder leveret.</translation>
|
||||
<translation>Andre kodeord leveret.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>Kan ikke sætte nøglefil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>Kunne ikke sætte %1 som Nøglefil:
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
<message>
|
||||
<source>Enter master key</source>
|
||||
<translation>Indtast primærnøgle</translation>
|
||||
<translation>Indtast hovednøgle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key File:</source>
|
||||
@@ -122,7 +140,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Adgangskode:</translation>
|
||||
<translation>Kodeord:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse</source>
|
||||
@@ -153,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'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>
|
||||
@@ -165,7 +220,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Transform rounds:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Transformationsrunder:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default username:</source>
|
||||
@@ -185,18 +240,18 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Max. history items:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Maks. posthistorik:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Max. history size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Maks. historikstørrelse:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseTabWidget</name>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Rod</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePass 2 Database</source>
|
||||
@@ -234,11 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>Luk?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>Gem ændringer?</translation>
|
||||
@@ -246,7 +296,8 @@ Close anyway?</source>
|
||||
<message>
|
||||
<source>"%1" was modified.
|
||||
Save changes?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>"%1" blev ændret.
|
||||
Gem disse ændringer?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
@@ -268,12 +319,70 @@ Save changes?</source>
|
||||
<source>locked</source>
|
||||
<translation>låst</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>Den database, du prøver at åbne er låst af en anden forekomst af KeePassX.
|
||||
Vil du åbne den alligevel? Alternativt åbnes databasen skrivebeskyttet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>Lås database</translation>
|
||||
</message>
|
||||
<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>Kan ikke låse databasen, mens du redigerer i den.
|
||||
Tryk på Afbryd for at afslutte dine ændringer eller kassere dem.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<translation>Denne database er aldrig blevet gemt.
|
||||
Du kan gemme databasen eller stop låsning.</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>Denne database er blevet ændret.
|
||||
Vil du gemme databasen før låsning?
|
||||
Ellers mister du dine ændringer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" er i redigeringstilstand.
|
||||
Kassér ændringer og luk alligevel?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Eksportér databasen til CSV-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>CSV-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the CSV file failed.</source>
|
||||
<translation>Kan ikke skrive til CSV-fil.</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>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>
|
||||
<message>
|
||||
<source>Change master key</source>
|
||||
<translation>Skift primærnøgle</translation>
|
||||
<translation>Skift hovednøgle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entry?</source>
|
||||
@@ -281,7 +390,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the entry "%1" for good?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vil du virkelig slette posten "%1" permanent?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entries?</source>
|
||||
@@ -289,7 +398,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete %1 entries for good?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vil du virkelig slette %1 poster permanent?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Move entries to recycle bin?</source>
|
||||
@@ -297,7 +406,7 @@ Save changes?</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>Ønsker du virkelig at flytte %n post over i papirkurven?</numerusform><numerusform>Ønsker du virkelig at flytte %n poster over i papirkurven?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete group?</source>
|
||||
@@ -305,12 +414,28 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the group "%1" for good?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ønsker du at slette gruppen "%1" permanent?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current group</source>
|
||||
<translation>Nuværende gruppe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fejl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -328,7 +453,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Auto-Indsæt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Properties</source>
|
||||
@@ -340,7 +465,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry history</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Indtastningshistorik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add entry</source>
|
||||
@@ -356,7 +481,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Andre adgangskoder leveret.</translation>
|
||||
<translation>Andre kodeord leveret.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New attribute</source>
|
||||
@@ -377,7 +502,7 @@ Save changes?</source>
|
||||
<message>
|
||||
<source>Unable to save the attachment:
|
||||
</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kan ikke gemme vedhæftningen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tomorrow</source>
|
||||
@@ -422,20 +547,24 @@ Save changes?</source>
|
||||
<source>Save</source>
|
||||
<translation>Gem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>Åben</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
<message>
|
||||
<source>Enable Auto-Type for this entry</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Aktivér Auto-Indsæt for denne post</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inherit default Auto-Type sequence from the group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nedarv standard Auto-Indsæt sekvens fra gruppe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom Auto-Type sequence:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Brug brugerdefineret Auto-indsæt sekvens:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>+</source>
|
||||
@@ -451,11 +580,11 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default sequence</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Brug standardsekvens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set custom sequence:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Definér brugervalgt sekvens:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -489,7 +618,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Adgangskode:</translation>
|
||||
<translation>Kodeord:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat:</source>
|
||||
@@ -497,7 +626,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gen.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Generer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL:</source>
|
||||
@@ -509,7 +638,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Predefinerede</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notes:</source>
|
||||
@@ -571,7 +700,15 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Auto-indsæt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>Brug standard Auto-Indsæt sekvens fra forældregruppe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>Definér standard auto-indsæt sekvens</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -610,7 +747,15 @@ Save changes?</source>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Can't delete icon. Still used by %n item(s).</source>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
<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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -719,6 +864,14 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation>Rod</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -726,7 +879,7 @@ Save changes?</source>
|
||||
<name>KeePass2Reader</name>
|
||||
<message>
|
||||
<source>Not a KeePass database.</source>
|
||||
<translation>Det er ikke en KeePass database.</translation>
|
||||
<translation>Dette er ikke en KeePass database.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported KeePass database version.</source>
|
||||
@@ -736,6 +889,20 @@ Save changes?</source>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>Forkert nøgle eller databasefil er korrupt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate master key</source>
|
||||
<translation>Kan ikke beregne hovednøgle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The selected file is an old KeePass 1 database (.kdb).
|
||||
|
||||
You can import it by clicking on Database > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>Den valgte fil er en gammel KeePass 1 databasefil (.kdb).
|
||||
|
||||
Du kan importere den ved at klikke på Database > 'Importér KeePass 1 database'.
|
||||
Dette er en envejs konvertering. Du vil ikke være i stand til at åbne den importerede database med den gamle KeePassX 0.4 version.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
@@ -774,10 +941,6 @@ Save changes?</source>
|
||||
<source>Groups</source>
|
||||
<translation>Grupper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Vis</translation>
|
||||
@@ -836,7 +999,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change master key</source>
|
||||
<translation>Skift primærnøgle</translation>
|
||||
<translation>Skift hovednøgle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database settings</source>
|
||||
@@ -854,21 +1017,13 @@ Save changes?</source>
|
||||
<source>Find</source>
|
||||
<translation>Find</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Brugernavn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Kopiér brugernavn til udklipsholder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Adgangskode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Kopiér adgangskode til udklipsholder</translation>
|
||||
<translation>Kopiér kodeord til udklipsholder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Settings</source>
|
||||
@@ -876,7 +1031,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform Auto-Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Udfør Auto-indsæt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open URL</source>
|
||||
@@ -910,12 +1065,52 @@ Save changes?</source>
|
||||
<source>Toggle window</source>
|
||||
<translation>Skift vindue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>Værktøj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Kopiér brugernavn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Kopiér kodeord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Adgangskode:</translation>
|
||||
<translation>Kodeord:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Length:</source>
|
||||
@@ -923,7 +1118,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Character Types</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tegntyper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upper Case Letters</source>
|
||||
@@ -931,7 +1126,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lower Case Letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Små Bogstaver</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Numbers</source>
|
||||
@@ -939,15 +1134,15 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Special Characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Specialtegn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exclude look-alike characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Udeluk lool-alike tegn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ensure that the password contains characters from every group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vær sikker på at dit kodeord indeholder tegn fra alle grupper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept</source>
|
||||
@@ -1020,11 +1215,11 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error writing to underlying device: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fejl ved skrivning til enhed:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error opening underlying device: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fejl ved åbning fra enhed:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading data from underlying device: </source>
|
||||
@@ -1032,7 +1227,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal zlib error when decompressing: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Intern zlib-fejl ved dekomprimering:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1054,7 +1249,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case sensitive</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Versalfølsom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current group</source>
|
||||
@@ -1062,7 +1257,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Rodgruppe</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1073,7 +1268,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>General</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Generelt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Security</source>
|
||||
@@ -1084,15 +1279,11 @@ Save changes?</source>
|
||||
<name>SettingsWidgetGeneral</name>
|
||||
<message>
|
||||
<source>Remember last databases</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Husk seneste databaser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Åben foregående databaser ved opstart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
@@ -1108,15 +1299,15 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use group icon on entry creation</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Brug gruppeikon ved oprettelse af post</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Global Auto-Type shortcut</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Global Auto-Indsæt genvej</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use entry title to match windows for global auto-type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Brug titel på post til at matche global aito-indsæt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language</source>
|
||||
@@ -1130,6 +1321,18 @@ Save changes?</source>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<translation>Skjul vindue i systembakken når det er minimeret</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1143,15 +1346,15 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock databases after inactivity of</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lås databaserne efter inaktivitet i</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passwords in cleartext by default</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vis kodeord i klartekst som standard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always ask before performing auto-type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Spørg altid før auto-indsæt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1160,14 +1363,6 @@ Save changes?</source>
|
||||
<source>Unlock database</source>
|
||||
<translation>Lås database op</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fejl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>Forkert nøgle.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WelcomeWidget</name>
|
||||
@@ -1180,7 +1375,7 @@ Save changes?</source>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<source>KeePassX - cross-platform password manager</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>KeePassX - cross-platform password manager</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filename of the password database to open (*.kdbx)</source>
|
||||
@@ -1188,11 +1383,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>path to a custom config file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>password of the database (DANGEROUS!)</source>
|
||||
<translation>adgangskode til databasen (FAARLIGT!)</translation>
|
||||
<translation>sti til brugerdefineret indstillingsfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>key file of the database</source>
|
||||
|
||||
1389
share/translations/keepassx_el.ts
Normal 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't delete icon. Still used by %n item(s).</source>
|
||||
<translation>
|
||||
<translation type="vanished">
|
||||
<numerusform>Can't delete icon. Still used by %n item.</numerusform>
|
||||
<numerusform>Can't delete icon. Still used by %n items.</numerusform>
|
||||
</translation>
|
||||
|
||||
@@ -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>
|
||||
@@ -75,7 +83,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Key files</source>
|
||||
<translation>Archivos de llaves</translation>
|
||||
<translation>Archivos llave</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files</source>
|
||||
@@ -109,6 +117,16 @@
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Las contraseñas ingresadas son distintas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>No se pudo establecer el archivo llave</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>No se pudo establecer %1 como el Archivo llave:
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
@@ -118,7 +136,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Key File:</source>
|
||||
<translation>Archivo clave:</translation>
|
||||
<translation>Archivo llave:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
@@ -153,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'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>
|
||||
@@ -196,7 +251,7 @@
|
||||
<name>DatabaseTabWidget</name>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Raíz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePass 2 Database</source>
|
||||
@@ -234,12 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>¿Cerrar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" está en modo de edición.
|
||||
¿Cerrar de todas formas?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>¿Guardar cambios?</translation>
|
||||
@@ -270,12 +319,70 @@ Save changes?</source>
|
||||
<source>locked</source>
|
||||
<translation>bloqueado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassX.
|
||||
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
|
||||
<translation>La base de datos que está intentando abrir está bloqueada por otra instancia de KeePassX.
|
||||
¿Quiere abrirla de todos modos? Alternativamente, la base de datos se abre como sólo lectura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>Bloquear base de datos</translation>
|
||||
</message>
|
||||
<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>No se puede bloquear la base de datos porque actualmente está editándola.
|
||||
Por favor, pulse cancelar para terminar sus cambios o descartarlos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<translation>Esta base de datos nunca ha sido guardada.
|
||||
Puede guardar la base de datos o dejar de bloquearla.</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>Esta base de datos ha sido modificada.
|
||||
¿Desea guardar la base de datos antes de bloquearla?
|
||||
De lo contrario se perderán los cambios.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"% 1" está en el modo de edición.
|
||||
¿Descartar cambios y cerrar de todos modos?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Exportar base de datos a un archivo CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>Archivo CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<message>
|
||||
<source>Change master key</source>
|
||||
<translation>Cambiar la llave maestra</translation>
|
||||
<translation>Cambiar la clave maestra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entry?</source>
|
||||
@@ -313,6 +420,22 @@ Save changes?</source>
|
||||
<source>Current group</source>
|
||||
<translation>Grupo actual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -425,6 +548,10 @@ Save changes?</source>
|
||||
<source>Save</source>
|
||||
<translation>Guardar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>Abrir</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
@@ -576,6 +703,14 @@ Save changes?</source>
|
||||
<source>Auto-type</source>
|
||||
<translation>Auto-escritura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>Usar escritura automática por defecto del grupo padre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>Establecer escritura automática por defecto</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetIcons</name>
|
||||
@@ -615,6 +750,14 @@ Save changes?</source>
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -722,6 +865,14 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation>Raíz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -739,6 +890,20 @@ Save changes?</source>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>La contraseña es incorrecta o el archivo está dañado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>El archivo seleccionado es una vieja base de datos de KeePass 1 (.kdb).
|
||||
|
||||
Puede importarla haciendo click en 'Base de datos' > 'Importar base de datos de Keepass 1'.
|
||||
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>
|
||||
@@ -777,10 +942,6 @@ Save changes?</source>
|
||||
<source>Groups</source>
|
||||
<translation>Grupos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation>Extras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Ver</translation>
|
||||
@@ -839,7 +1000,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change master key</source>
|
||||
<translation>Cambiar la llave maestra</translation>
|
||||
<translation>Cambiar la clave maestra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database settings</source>
|
||||
@@ -857,18 +1018,10 @@ Save changes?</source>
|
||||
<source>Find</source>
|
||||
<translation>Buscar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Usuario</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Copiar nombre de usuario al portapapeles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Copiar contraseña al portapapeles</translation>
|
||||
@@ -913,6 +1066,46 @@ Save changes?</source>
|
||||
<source>Toggle window</source>
|
||||
<translation>Cambiar a ventana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>Herramientas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Copiar nombre de usuario</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Copiar contraseña</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1065,7 +1258,7 @@ Save changes?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Grupo raíz</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1093,10 +1286,6 @@ Save changes?</source>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation>Abrir base de datos anterior al inicio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation>Marcar como modificado en los cambios de estado ampliados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
<translation>Guardar automáticamente al salir</translation>
|
||||
@@ -1133,6 +1322,18 @@ Save changes?</source>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<translation>Ocultar la ventana a la bandeja del sistema cuando se minimiza</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1163,14 +1364,6 @@ Save changes?</source>
|
||||
<source>Unlock database</source>
|
||||
<translation>Desbloquear base de datos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>Clave incorrecta.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WelcomeWidget</name>
|
||||
@@ -1193,10 +1386,6 @@ Save changes?</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>
|
||||
|
||||
@@ -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 est distribué selon les conditions de la GNU General Public License (GPL) version 2 ou (à votre choix) version 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision</source>
|
||||
<translation>Version</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using:</source>
|
||||
<translation>Utilise :</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AutoType</name>
|
||||
@@ -25,7 +33,7 @@
|
||||
<name>AutoTypeAssociationsModel</name>
|
||||
<message>
|
||||
<source>Window</source>
|
||||
<translation>Fenêtre </translation>
|
||||
<translation>Fenêtre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sequence</source>
|
||||
@@ -63,7 +71,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Key file</source>
|
||||
<translation>Fichier de clé</translation>
|
||||
<translation>Fichier-clé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse</source>
|
||||
@@ -75,7 +83,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Key files</source>
|
||||
<translation>Fichiers de clé</translation>
|
||||
<translation>Fichiers-clés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files</source>
|
||||
@@ -83,7 +91,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Key File...</source>
|
||||
<translation>Créer un fichier de clé...</translation>
|
||||
<translation>Créer un fichier-clé...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
@@ -91,11 +99,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create Key File : </source>
|
||||
<translation>Incapable de créer un fichier de clé :</translation>
|
||||
<translation>Impossible de créer un fichier-clé :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select a key file</source>
|
||||
<translation>Choisir un fichier de clé</translation>
|
||||
<translation>Choisir un fichier-clé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Question</source>
|
||||
@@ -109,16 +117,26 @@
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Les mots de passe ne sont pas identiques.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>Échec de définition du fichier-clé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>Impossible de définir %1 comme fichier-clé :
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
<message>
|
||||
<source>Enter master key</source>
|
||||
<translation>Entrez la clé maîtresse</translation>
|
||||
<translation>Entrez la clé maître</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key File:</source>
|
||||
<translation>Fichier de clé :</translation>
|
||||
<translation>Fichier-clé :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
@@ -138,7 +156,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't open key file</source>
|
||||
<translation>Impossible d'ouvrir le fichier de clé</translation>
|
||||
<translation>Impossible d'ouvrir le fichier-clé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files</source>
|
||||
@@ -146,11 +164,48 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Key files</source>
|
||||
<translation>Fichiers de clé</translation>
|
||||
<translation>Fichiers-clés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select key file</source>
|
||||
<translation>Choisissez un fichier de clé</translation>
|
||||
<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't open key file</source>
|
||||
<translation>Impossible d'ouvrir le fichier-clé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database opened fine. Nothing to do.</source>
|
||||
<translation>La base de données s'est bien ouverte. Aucune action à effectuer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open the database.</source>
|
||||
<translation>Impossible d'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 été 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>
|
||||
@@ -177,7 +232,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source> MiB</source>
|
||||
<translation>MiB</translation>
|
||||
<translation> MiB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Benchmark</source>
|
||||
@@ -208,7 +263,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Open database</source>
|
||||
<translation>Ovrire la base de données</translation>
|
||||
<translation>Ouvrir la base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning</source>
|
||||
@@ -216,7 +271,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>File not found!</source>
|
||||
<translation>Fichier introuvable!</translation>
|
||||
<translation>Fichier introuvable !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open KeePass 1 database</source>
|
||||
@@ -232,13 +287,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Close?</source>
|
||||
<translation>Fermer?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" est en cours de modification.
|
||||
Fermer quand même ?</translation>
|
||||
<translation>Fermer ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
@@ -256,7 +305,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the database failed.</source>
|
||||
<translation>Une erreur s'est produite lors de l'écriture de la base de données. </translation>
|
||||
<translation>Une erreur s'est produite lors de l'écriture de la base de données.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save database as</source>
|
||||
@@ -270,12 +319,70 @@ Enregistrer les modifications ?</translation>
|
||||
<source>locked</source>
|
||||
<translation>verrouillée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassX.
|
||||
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
|
||||
<translation>La base de données que vous essayez d'ouvrir est verrouillée par une autre instance de KeePassX.
|
||||
Voulez-vous quand même l'ouvrir ? Dans ce cas, elle sera ouverte en lecture seule.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>Verrouiller la base de données</translation>
|
||||
</message>
|
||||
<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>Impossible de verrouiller la base de données lors de modifications.
|
||||
Cliquez sur Annuler pour finir vos modifications ou abandonnez-les.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<translation>Cette base de données n'a pas encore été sauvegardée.
|
||||
Vous devez la sauvegarder ou annuler son verrouillage.</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>La base de données a été modifiée.
|
||||
Voulez-vous l'enregistrer avant de la verrouiller ?
|
||||
Autrement, vos modifications seront perdues.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" est en mode édition.
|
||||
Ignorer les changements et fermer ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Exporter la base de données au format CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>Fichier CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the CSV file failed.</source>
|
||||
<translation>Échec de l'écriture du fichier 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>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>
|
||||
<message>
|
||||
<source>Change master key</source>
|
||||
<translation>Changer la clé maîtresse</translation>
|
||||
<translation>Changer la clé maître</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entry?</source>
|
||||
@@ -311,7 +418,23 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current group</source>
|
||||
<translation>Group actif</translation>
|
||||
<translation>Groupe actif</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -322,7 +445,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced</source>
|
||||
<translation>Avancées</translation>
|
||||
<translation>Avancé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Icon</source>
|
||||
@@ -330,11 +453,11 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-Type</source>
|
||||
<translation>Auto-Type</translation>
|
||||
<translation>Remplissage automatique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Properties</source>
|
||||
<translation>Propriétés </translation>
|
||||
<translation>Propriétés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>History</source>
|
||||
@@ -379,7 +502,7 @@ Enregistrer les modifications ?</translation>
|
||||
<message>
|
||||
<source>Unable to save the attachment:
|
||||
</source>
|
||||
<translation>Impossible de enregistrer le fichier attaché:
|
||||
<translation>Impossible d'enregistrer le fichier attaché :
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -396,14 +519,14 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 year</source>
|
||||
<translation>Une année</translation>
|
||||
<translation>1 an</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAdvanced</name>
|
||||
<message>
|
||||
<source>Additional attributes</source>
|
||||
<translation>Attributs additionnel </translation>
|
||||
<translation>Attributs supplémentaires</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add</source>
|
||||
@@ -423,22 +546,26 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save</source>
|
||||
<translation>Enregistrer le fichier </translation>
|
||||
<translation>Enregistrer le fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>Ouvrir</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
<message>
|
||||
<source>Enable Auto-Type for this entry</source>
|
||||
<translation>Activer l'Auto-Type pour cette entrée</translation>
|
||||
<translation>Activer le remplissage automatique pour cette entrée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inherit default Auto-Type sequence from the group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Utiliser la séquence de remplissage automatique par défaut du groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom Auto-Type sequence:</source>
|
||||
<translation>Utiliser une séquence d'Auto-Type personnalisée :</translation>
|
||||
<translation>Utiliser une séquence de remplissage automatique personnalisée :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>+</source>
|
||||
@@ -450,7 +577,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Window title:</source>
|
||||
<translation>Titre de la fenêtre:</translation>
|
||||
<translation>Titre de la fenêtre :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default sequence</source>
|
||||
@@ -458,14 +585,14 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set custom sequence:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Définir une séquence personnalisée :</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetHistory</name>
|
||||
<message>
|
||||
<source>Show</source>
|
||||
<translation>Exposer</translation>
|
||||
<translation>Afficher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Restore</source>
|
||||
@@ -484,19 +611,19 @@ Enregistrer les modifications ?</translation>
|
||||
<name>EditEntryWidgetMain</name>
|
||||
<message>
|
||||
<source>Title:</source>
|
||||
<translation>Titre:</translation>
|
||||
<translation>Titre :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username:</source>
|
||||
<translation>Non d'utilisateur:</translation>
|
||||
<translation>Nom d'utilisateur :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Mot de passe:</translation>
|
||||
<translation>Mot de passe :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat:</source>
|
||||
<translation>Confirme: </translation>
|
||||
<translation>Confirmation :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gen.</source>
|
||||
@@ -504,7 +631,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL:</source>
|
||||
<translation>URL:</translation>
|
||||
<translation>URL :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expires</source>
|
||||
@@ -516,7 +643,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notes:</source>
|
||||
<translation>Notes:</translation>
|
||||
<translation>Notes :</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -531,15 +658,15 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Properties</source>
|
||||
<translation>Propriétés </translation>
|
||||
<translation>Propriétés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add group</source>
|
||||
<translation>Ajouter un groupe. </translation>
|
||||
<translation>Ajouter un groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit group</source>
|
||||
<translation>Modifie le groupe</translation>
|
||||
<translation>Modifier le groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable</source>
|
||||
@@ -566,7 +693,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expires</source>
|
||||
<translation>Expires</translation>
|
||||
<translation>Expiration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
@@ -574,7 +701,15 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto-type</source>
|
||||
<translation>Auto-type</translation>
|
||||
<translation>Remplissage automatique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>Utiliser la séquence de remplissage automatique par défaut du groupe parent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>Définir une séquence de remplissage automatique par défaut</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -605,7 +740,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Image</source>
|
||||
<translation>Choisis un image. </translation>
|
||||
<translation>Choisir une image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't delete icon!</source>
|
||||
@@ -615,6 +750,14 @@ Enregistrer les modifications ?</translation>
|
||||
<source>Can't delete icon. Still used by %n item(s).</source>
|
||||
<translation><numerusform>Impossible de supprimer l'icône. Toujours utilisée par %n objet(s).</numerusform><numerusform>Impossible de supprimer l'icône. Toujours utilisée par %n objet(s).</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -632,7 +775,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uuid:</source>
|
||||
<translation>Uuid:</translation>
|
||||
<translation>Uuid :</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -673,7 +816,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Non d'utilisateur</translation>
|
||||
<translation>Nom d'utilisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
@@ -684,14 +827,14 @@ Enregistrer les modifications ?</translation>
|
||||
<name>Group</name>
|
||||
<message>
|
||||
<source>Recycle Bin</source>
|
||||
<translation>Bac de Recyclage</translation>
|
||||
<translation>Corbeille</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeePass1OpenWidget</name>
|
||||
<message>
|
||||
<source>Import KeePass1 database</source>
|
||||
<translation>Importe un KeePass1 bas de données</translation>
|
||||
<translation>Importer une base de données au format KeePass1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
@@ -699,18 +842,18 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open the database.</source>
|
||||
<translation>Impossible d'ouvrir la bas de données.</translation>
|
||||
<translation>Impossible d'ouvrir la base de données.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeePass1Reader</name>
|
||||
<message>
|
||||
<source>Unable to read keyfile.</source>
|
||||
<translation>Impossible de lire le fichier de clé.</translation>
|
||||
<translation>Impossible de lire le fichier-clé.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not a KeePass database.</source>
|
||||
<translation>Ce n'est pas une base de donnée KeePass.</translation>
|
||||
<translation>Ce n'est pas une base de données KeePass.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported encryption algorithm.</source>
|
||||
@@ -718,26 +861,48 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported KeePass database version.</source>
|
||||
<translation>Version de base de donnée KeePass non supportée.</translation>
|
||||
<translation>Version de base de données KeePass non supportée.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation>Racine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<message>
|
||||
<source>Not a KeePass database.</source>
|
||||
<translation>Ce n'est pas une base de donnée KeePass.</translation>
|
||||
<translation>Ce n'est pas une base de données KeePass.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported KeePass database version.</source>
|
||||
<translation>Version de base de donnée KeePass non supportée.</translation>
|
||||
<translation>Version de base de données KeePass non supportée.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>Mauvaise clé ou fichier de base de donnée corrompu.</translation>
|
||||
<translation>Mauvaise clé ou fichier de base de données corrompu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate master key</source>
|
||||
<translation>Impossible de calculer la clé maître</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The selected file is an old KeePass 1 database (.kdb).
|
||||
|
||||
You can import it by clicking on Database > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>Le fichier sélectionné est une ancienne base de données pour KeePass 1 (.kdb).
|
||||
|
||||
Vous pouvez l'importer en cliquant sur "Base de données" > "Importer une base de données KeePass 1".
|
||||
Ceci est une migration à sens unique. Vous ne serez plus en mesure d'ouvrir la base de données importée avec l'ancienne version KeePassX version 0.4.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -771,16 +936,12 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy attribute to clipboard</source>
|
||||
<translation>Copier l'attribut dans le presse-papiers</translation>
|
||||
<translation>Copier l'attribut dans le presse-papier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Groupes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation>Extras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Vue</translation>
|
||||
@@ -795,19 +956,19 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open database</source>
|
||||
<translation>Ouvrir une base de donnée</translation>
|
||||
<translation>Ouvrir une base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save database</source>
|
||||
<translation>Enregistrer la base de donnée</translation>
|
||||
<translation>Enregistrer la base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close database</source>
|
||||
<translation>Fermer la base de donnée</translation>
|
||||
<translation>Fermer la base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New database</source>
|
||||
<translation>Nouvelle base de donnée</translation>
|
||||
<translation>Nouvelle base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add new entry</source>
|
||||
@@ -835,7 +996,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save database as</source>
|
||||
<translation>Enregistrer la base de donnée sous</translation>
|
||||
<translation>Enregistrer la base de données sous</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change master key</source>
|
||||
@@ -843,11 +1004,11 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Database settings</source>
|
||||
<translation>Paramètre de la base de donnée</translation>
|
||||
<translation>Paramètres de la base de données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Import KeePass 1 database</source>
|
||||
<translation>Importer une base de donnée KeePass 1</translation>
|
||||
<translation>Importer une base de données KeePass 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clone entry</source>
|
||||
@@ -857,21 +1018,13 @@ Enregistrer les modifications ?</translation>
|
||||
<source>Find</source>
|
||||
<translation>Chercher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Nom d'utilisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Copier le nom d'utilisateur dans le presse-papiers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Mot de passe</translation>
|
||||
<translation>Copier le nom d'utilisateur dans le presse-papier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Copier le mot de passe dans le presse-papiers</translation>
|
||||
<translation>Copier le mot de passe dans le presse-papier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Settings</source>
|
||||
@@ -879,7 +1032,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform Auto-Type</source>
|
||||
<translation>Effectuer un Auto-Type</translation>
|
||||
<translation>Effectuer un remplissage automatique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open URL</source>
|
||||
@@ -913,12 +1066,52 @@ Enregistrer les modifications ?</translation>
|
||||
<source>Toggle window</source>
|
||||
<translation>Basculer de fenêtre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>Outils</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Copier le nom d'utilisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Copier le mot de passe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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'est produite lors de l'écriture de la base de données.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PasswordGeneratorWidget</name>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Mot de passe:</translation>
|
||||
<translation>Mot de passe :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Length:</source>
|
||||
@@ -926,7 +1119,7 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Character Types</source>
|
||||
<translation>Types de caractère</translation>
|
||||
<translation>Types de caractères</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upper Case Letters</source>
|
||||
@@ -961,7 +1154,7 @@ Enregistrer les modifications ?</translation>
|
||||
<name>QCommandLineParser</name>
|
||||
<message>
|
||||
<source>Displays version information.</source>
|
||||
<translation>Afficher les informations de version</translation>
|
||||
<translation>Afficher les informations de version.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Displays this help.</source>
|
||||
@@ -1023,15 +1216,15 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error writing to underlying device: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Erreur d'écriture sur le périphérique concerné :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error opening underlying device: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Erreur d'ouverture du périphérique concerné :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error reading data from underlying device: </source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Erreur de lecture sur le périphérique concerné :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal zlib error when decompressing: </source>
|
||||
@@ -1072,7 +1265,7 @@ Enregistrer les modifications ?</translation>
|
||||
<name>SettingsWidget</name>
|
||||
<message>
|
||||
<source>Application Settings</source>
|
||||
<translation>Paramètre de l'application</translation>
|
||||
<translation>Paramètres de l'application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>General</source>
|
||||
@@ -1091,23 +1284,19 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation>Ouvrir les base de données précédentes au démarrage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ouvrir les bases de données précédentes au démarrage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
<translation>Sauvegarde automatiquement à la sortie</translation>
|
||||
<translation>Sauvegarder automatiquement à la sortie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save after every change</source>
|
||||
<translation>Sauvegarde automatiquement après chaque modification</translation>
|
||||
<translation>Sauvegarder automatiquement après chaque modification</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize when copying to clipboard</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Réduire lors de la copie dans le presse-papier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use group icon on entry creation</source>
|
||||
@@ -1115,11 +1304,11 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Global Auto-Type shortcut</source>
|
||||
<translation>Raccourci d'Auto-Type global</translation>
|
||||
<translation>Raccourci de remplissage automatique global</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use entry title to match windows for global auto-type</source>
|
||||
<translation>Utiliser la correspondance entre le titre de l'entrée et de la fenêtre pour l'Auto-Type global</translation>
|
||||
<translation>Utiliser la correspondance entre le titre de l'entrée et de la fenêtre pour le remplissage automatique global</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language</source>
|
||||
@@ -1127,10 +1316,22 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show a system tray icon</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Afficher une icône dans la zone de notification</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<translation>Réduire la fenêtre vers la zone de notification lors de sa réduction</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1138,15 +1339,15 @@ Enregistrer les modifications ?</translation>
|
||||
<name>SettingsWidgetSecurity</name>
|
||||
<message>
|
||||
<source>Clear clipboard after</source>
|
||||
<translation>Vider le presse-papiers après</translation>
|
||||
<translation>Vider le presse-papier après</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> sec</source>
|
||||
<translation>s</translation>
|
||||
<translation> s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock databases after inactivity of</source>
|
||||
<translation>Verrouiller les bases de donnée après une inactivité de</translation>
|
||||
<translation>Verrouiller les bases de données après une inactivité de</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passwords in cleartext by default</source>
|
||||
@@ -1154,22 +1355,14 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always ask before performing auto-type</source>
|
||||
<translation>Toujours demander avant d'effectuer un auto-type</translation>
|
||||
<translation>Toujours demander avant d'effectuer un remplissage automatique</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnlockDatabaseWidget</name>
|
||||
<message>
|
||||
<source>Unlock database</source>
|
||||
<translation>Déverrouiller la base de donnée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>Mauvaise clé.</translation>
|
||||
<translation>Déverrouiller la base de données</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1187,19 +1380,15 @@ Enregistrer les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filename of the password database to open (*.kdbx)</source>
|
||||
<translation>Nom de fichier de la base de donnée de mot de pass à ouvrir (*.kdbx)</translation>
|
||||
<translation>Nom de fichier de la base de données de mot de passe à ouvrir (*.kdbx)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>path to a custom config file</source>
|
||||
<translation>Chemin vers un fichier de configuration personnalisé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>password of the database (DANGEROUS!)</source>
|
||||
<translation>Mot de passe de la base de donnée (DANGEREUX !)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>key file of the database</source>
|
||||
<translation>Fichier de clé de la base de donnée</translation>
|
||||
<translation>Fichier-clé de la base de données</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -7,7 +7,15 @@
|
||||
</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 disebarluaskan dibawah ketentuan dari Lisensi Publik Umum GNU (GPL) versi 2 atau (sesuai pilihan Anda) versi 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision</source>
|
||||
<translation>Revisi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using:</source>
|
||||
<translation>Menggunakan:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -18,7 +26,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Couldn't find an entry that matches the window title:</source>
|
||||
<translation>Tidak dapat menemukan entri yang cocok dengan judul jendela</translation>
|
||||
<translation>Tidak bisa menemukan entri yang cocok dengan judul jendela:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -51,15 +59,15 @@
|
||||
<name>ChangeMasterKeyWidget</name>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Kata Sandi</translation>
|
||||
<translation>Sandi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter password:</source>
|
||||
<translation>Masukan kata sandi:</translation>
|
||||
<translation>Masukkan sandi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat password:</source>
|
||||
<translation>Ulangi kata sandi:</translation>
|
||||
<translation>Ulangi sandi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key file</source>
|
||||
@@ -75,7 +83,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Key files</source>
|
||||
<translation>Berkas Kunci</translation>
|
||||
<translation>Berkas kunci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files</source>
|
||||
@@ -91,11 +99,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create Key File : </source>
|
||||
<translation>Tidak dapat membuat Berkas Kunci :</translation>
|
||||
<translation>Tidak bisa membuat Berkas Kunci :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select a key file</source>
|
||||
<translation>Pilih sebuah berkas kunci</translation>
|
||||
<translation>Pilih berkas kunci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Question</source>
|
||||
@@ -103,18 +111,28 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to use an empty string as password?</source>
|
||||
<translation>Apakah anda ingin menggunakan string kosong sebagai kata sandi?</translation>
|
||||
<translation>Apakah Anda benar-benar ingin menggunakan lema kosong sebagai sandi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Kata sandi yang berbeda diberikan.</translation>
|
||||
<translation>Sandi berbeda.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>Gagal menetapkan berkas kunci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>Gagal menetapkan %1 sebagai berkas Kunci:
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
<message>
|
||||
<source>Enter master key</source>
|
||||
<translation>Masukan kunci utama</translation>
|
||||
<translation>Masukkan kunci utama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key File:</source>
|
||||
@@ -122,7 +140,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Kata sandi:</translation>
|
||||
<translation>Sandi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse</source>
|
||||
@@ -134,11 +152,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open the database.</source>
|
||||
<translation>Tidak dapat membuka basis data</translation>
|
||||
<translation>Tidak bisa membuka basis data.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't open key file</source>
|
||||
<translation>Tidak dapat membuka berkas kunci</translation>
|
||||
<translation>Tidak bisa membuka berkas kunci</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All files</source>
|
||||
@@ -153,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'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>
|
||||
@@ -173,7 +228,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Use recycle bin:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Gunakan tong sampah:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> MiB</source>
|
||||
@@ -196,7 +251,7 @@
|
||||
<name>DatabaseTabWidget</name>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Root</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePass 2 Database</source>
|
||||
@@ -234,12 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>Tutup?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" dalam berada mode sunting.
|
||||
Tetap tutup?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>Simpan perubahan?</translation>
|
||||
@@ -256,7 +305,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the database failed.</source>
|
||||
<translation>Menulis basis data gagal.</translation>
|
||||
<translation>Gagal membuat basis data.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save database as</source>
|
||||
@@ -270,6 +319,64 @@ Simpan perubahan?</translation>
|
||||
<source>locked</source>
|
||||
<translation>terkunci</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>Basis data yang Anda coba buka terkunci oleh KeePassX lain yang sedang berjalan.
|
||||
Apakah Anda tetap ingin membukanya? Alternatif lain buka basis data baca-saja.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>Kunci basis data</translation>
|
||||
</message>
|
||||
<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>Tidak bisa mengunci basis data karena Anda sedang menyuntingnya.
|
||||
Harap tekan batal untuk menyelesaikan ubahan Anda atau membuangnya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<translation>Basis data ini belum pernah disimpan.
|
||||
Anda bisa menyimpan basis data atau berhenti menguncinya.</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>Basis data ini telah dimodifikasi.
|
||||
Apakah Anda ingin menyimpan basis data sebelum menguncinya?
|
||||
Kalau tidak, ubahan Anda akan hilang.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" dalam mode penyuntingan.
|
||||
Tetap buang ubahan dan tutup?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Ekspor basis data ke berkas CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>Berkas CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the CSV file failed.</source>
|
||||
<translation>Gagal membuat berkas 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>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>
|
||||
@@ -283,7 +390,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the entry "%1" for good?</source>
|
||||
<translation>Apakah anda ingin menghapus entri "%1" untuk selamanya?</translation>
|
||||
<translation>Apakah Anda benar-benar ingin menghapus entri "%1" untuk selamanya?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entries?</source>
|
||||
@@ -291,15 +398,15 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete %1 entries for good?</source>
|
||||
<translation>Apakah anda ingin menghapus entri %1 untuk selamanya?</translation>
|
||||
<translation>Apakah Anda benar-benar ingin menghapus entri %1 untuk selamanya?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Move entries to recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pindah entri ke tong sampah?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Do you really want to move %n entry(s) to the recycle bin?</source>
|
||||
<translation type="unfinished"><numerusform></numerusform></translation>
|
||||
<translation><numerusform>Apakah Anda benar-benar ingin memindahkan %n entri ke tong sampah?</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete group?</source>
|
||||
@@ -307,12 +414,28 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the group "%1" for good?</source>
|
||||
<translation>Apakah anda ingin menghapus grup "%1" untuk selamanya?</translation>
|
||||
<translation>Apakah Anda benar-benar ingin menghapus grup "%1" untuk selamanya?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current group</source>
|
||||
<translation>Grup saat ini</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Galat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -342,7 +465,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entry history</source>
|
||||
<translation>Entri riwayat</translation>
|
||||
<translation>Riwayat entri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add entry</source>
|
||||
@@ -358,7 +481,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Kata sandi yang berbeda diberikan.</translation>
|
||||
<translation>Sandi berbeda.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New attribute</source>
|
||||
@@ -370,7 +493,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file</source>
|
||||
<translation>Tidak dapat membuka berkas</translation>
|
||||
<translation>Tidak bisa membuka berkas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save attachment</source>
|
||||
@@ -379,7 +502,7 @@ Simpan perubahan?</translation>
|
||||
<message>
|
||||
<source>Unable to save the attachment:
|
||||
</source>
|
||||
<translation>Tidak dapat menyimpan lampiran:
|
||||
<translation>Tidak bisa menyimpan lampiran:
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -388,11 +511,11 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n week(s)</source>
|
||||
<translation><numerusform>%n minggu(s)</numerusform></translation>
|
||||
<translation><numerusform>%n minggu</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>%n month(s)</source>
|
||||
<translation><numerusform>%n bulan(s)</numerusform></translation>
|
||||
<translation><numerusform>%n bulan</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 year</source>
|
||||
@@ -415,7 +538,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Hapus</translation>
|
||||
<translation>Buang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attachments</source>
|
||||
@@ -425,6 +548,10 @@ Simpan perubahan?</translation>
|
||||
<source>Save</source>
|
||||
<translation>Simpan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>Buka</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
@@ -434,11 +561,11 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inherit default Auto-Type sequence from the group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Mengikuti urutan Ketik-Otomatis baku grup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom Auto-Type sequence:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Gunakan urutan Ketik-Otomatis ubahsuai:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>+</source>
|
||||
@@ -458,7 +585,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set custom sequence:</source>
|
||||
<translation>Tetapkan urutan kustom:</translation>
|
||||
<translation>Tetapkan urutan ubahsuai:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -492,7 +619,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Kata sandi:</translation>
|
||||
<translation>Sandi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat:</source>
|
||||
@@ -508,11 +635,11 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expires</source>
|
||||
<translation>Kadaluarsa</translation>
|
||||
<translation>Kedaluwarsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Presets</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Prasetel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notes:</source>
|
||||
@@ -551,7 +678,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Inherit from parent group (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Mengikuti grup induk (%1)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -566,7 +693,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expires</source>
|
||||
<translation>Kadaluarsa</translation>
|
||||
<translation>Kedaluwarsa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
@@ -576,6 +703,14 @@ Simpan perubahan?</translation>
|
||||
<source>Auto-type</source>
|
||||
<translation>Ketik-otomatis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>Gunakan urutan ketik-otomatis baku grup induk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>Tetapkan urutan ketik-otomatis baku</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetIcons</name>
|
||||
@@ -585,15 +720,15 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom icon</source>
|
||||
<translation>Gunakan ikon kustom</translation>
|
||||
<translation>Gunakan ikon ubahsuai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add custom icon</source>
|
||||
<translation>Tambah ikon kustom</translation>
|
||||
<translation>Tambah ikon ubahsuai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete custom icon</source>
|
||||
<translation>Hapus ikon kustom</translation>
|
||||
<translation>Hapus ikon ubahsuai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Images</source>
|
||||
@@ -609,11 +744,19 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Can't delete icon!</source>
|
||||
<translation>Tidak dapat menghapus ikon!</translation>
|
||||
<translation>Tidak bisa menghapus ikon!</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Can't delete icon. Still used by %n item(s).</source>
|
||||
<translation><numerusform>Can't delete icon. Still used by %n item(s).</numerusform></translation>
|
||||
<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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -684,7 +827,7 @@ Simpan perubahan?</translation>
|
||||
<name>Group</name>
|
||||
<message>
|
||||
<source>Recycle Bin</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tong Sampah</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -699,29 +842,37 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open the database.</source>
|
||||
<translation>Tidak dapat membuka basis data</translation>
|
||||
<translation>Tidak bisa membuka basis data.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>KeePass1Reader</name>
|
||||
<message>
|
||||
<source>Unable to read keyfile.</source>
|
||||
<translation>Tidak dapat membaca berkas kunci.</translation>
|
||||
<translation>Tidak bisa membaca berkas kunci.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not a KeePass database.</source>
|
||||
<translation>Bukan basis data KeePass</translation>
|
||||
<translation>Bukan basis data KeePass.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported encryption algorithm.</source>
|
||||
<translation>Algoritma enkripsi tidak didukung</translation>
|
||||
<translation>Algoritma enkripsi tidak didukung.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported KeePass database version.</source>
|
||||
<translation>Versi Basis data KeePass tidak didukung</translation>
|
||||
<translation>Versi basis data KeePass tidak didukung.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root</source>
|
||||
<translation>Root</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -729,22 +880,36 @@ Simpan perubahan?</translation>
|
||||
<name>KeePass2Reader</name>
|
||||
<message>
|
||||
<source>Not a KeePass database.</source>
|
||||
<translation>Bukan basis data KeePass</translation>
|
||||
<translation>Bukan basis data KeePass.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unsupported KeePass database version.</source>
|
||||
<translation>Versi basis data KeePass tidak didukung</translation>
|
||||
<translation>Versi basis data KeePass tidak didukung.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>Kunci salah atau berkas basis data korup.</translation>
|
||||
<translation>Kunci salah atau berkas basis data rusak.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate master key</source>
|
||||
<translation>Tidak bisa mengkalkulasi kunci utama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The selected file is an old KeePass 1 database (.kdb).
|
||||
|
||||
You can import it by clicking on Database > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>Berkas yang dipilih adalah basis data KeePass 1 yang lama (.kdb).
|
||||
|
||||
Anda bisa mengimpornya dengan mengklik Basis Data > 'Impor basis data KeePass 1'.
|
||||
Ini adalah migrasi satu arah. Anda tidak akan bisa lagi membuka basis data yang diimpor dengan versi lama KeePassX 0.4.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
<message>
|
||||
<source>Fatal error while testing the cryptographic functions.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Galat saat menguji fungsi kriptografi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeePassX - Error</source>
|
||||
@@ -759,7 +924,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recent databases</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Basis data baru-baru ini</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
@@ -777,13 +942,9 @@ Simpan perubahan?</translation>
|
||||
<source>Groups</source>
|
||||
<translation>Grup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation>Ekstra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lihat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit</source>
|
||||
@@ -815,7 +976,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View/Edit entry</source>
|
||||
<translation>Tampil/Sunting entri</translation>
|
||||
<translation>Lihat/Sunting entri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entry</source>
|
||||
@@ -851,27 +1012,19 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clone entry</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Duplikat entri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Temukan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Nama pengguna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Salin nama pengguna ke papan klip</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Kata sandi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Salin kata sandi ke papan klip</translation>
|
||||
<translation>Salin sandi ke papan klip</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Settings</source>
|
||||
@@ -879,7 +1032,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform Auto-Type</source>
|
||||
<translation>Melakukan Ketik-Otomatis</translation>
|
||||
<translation>Lakukan Ketik-Otomatis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open URL</source>
|
||||
@@ -907,18 +1060,58 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>read-only</source>
|
||||
<translation>hanya-baca</translation>
|
||||
<translation>baca-saja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle window</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Jungkit jendela</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>Perkakas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Salin nama pengguna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Salin sandi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
<translation>Kata sandi:</translation>
|
||||
<translation>Sandi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Length:</source>
|
||||
@@ -926,15 +1119,15 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Character Types</source>
|
||||
<translation>Tipe karakter</translation>
|
||||
<translation>Tipe Karakter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upper Case Letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Huruf Besar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lower Case Letters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Huruf Kecil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Numbers</source>
|
||||
@@ -946,11 +1139,11 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exclude look-alike characters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kecualikan karakter mirip</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ensure that the password contains characters from every group</source>
|
||||
<translation>Pastikan kata sandi berisi karakter dari setiap grup</translation>
|
||||
<translation>Pastikan sandi berisi karakter dari setiap grup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept</source>
|
||||
@@ -961,11 +1154,11 @@ Simpan perubahan?</translation>
|
||||
<name>QCommandLineParser</name>
|
||||
<message>
|
||||
<source>Displays version information.</source>
|
||||
<translation>Tampilkan informasi versi</translation>
|
||||
<translation>Tampilkan informasi versi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Displays this help.</source>
|
||||
<translation>Tampilkan bantuan ini</translation>
|
||||
<translation>Tampilkan bantuan ini.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown option '%1'.</source>
|
||||
@@ -997,45 +1190,45 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arguments:</source>
|
||||
<translation>Argumen</translation>
|
||||
<translation>Argumen:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QSaveFile</name>
|
||||
<message>
|
||||
<source>Existing file %1 is not writable</source>
|
||||
<translation>Berkas yang ada %1 tidak dapat ditulis</translation>
|
||||
<translation>Berkas yang ada %1 tidak bisa ditulis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing canceled by application</source>
|
||||
<translation>Menulis dibatalkan oleh aplikasi</translation>
|
||||
<translation>Penulisan dibatalkan oleh aplikasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Partial write. Partition full?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Penulisan parsial. Partisi penuh?</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtIOCompressor</name>
|
||||
<message>
|
||||
<source>Internal zlib error when compressing: </source>
|
||||
<translation>Galat zlib internal ketika mengkompress: </translation>
|
||||
<translation>Galat zlib internal ketika memampatkan:</translation>
|
||||
</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>
|
||||
<translation>Galat zlib internal ketika dekompress</translation>
|
||||
<translation>Galat zlib internal ketika dekompres:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1057,15 +1250,15 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case sensitive</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sensitif besar kecil huruf</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Grup saat ini</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Root group</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Grup root</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1093,10 +1286,6 @@ Simpan perubahan?</translation>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation>Buka basis data sebelumnya saat mulai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
<translation>Otomatis simpan ketika keluar</translation>
|
||||
@@ -1107,7 +1296,7 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimize when copying to clipboard</source>
|
||||
<translation>Kecilkan ketika menyalin ke papan klip</translation>
|
||||
<translation>Minimalkan ketika menyalin ke papan klip</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use group icon on entry creation</source>
|
||||
@@ -1115,11 +1304,11 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Global Auto-Type shortcut</source>
|
||||
<translation>Jalan pintas global Ketik-Otomatis</translation>
|
||||
<translation>Pintasan global Ketik-Otomatis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use entry title to match windows for global auto-type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Gunakan judul entri untuk mencocokkan jendela untuk ketik-otomatis global</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language</source>
|
||||
@@ -1127,18 +1316,30 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show a system tray icon</source>
|
||||
<translation>Tampilkan sebuah ikon baki sistem</translation>
|
||||
<translation>Tampilkan ikon baki sistem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<translation>Sembunyikan jendela ke baki sistem ketika dikecilkan</translation>
|
||||
<translation>Sembunyikan jendela ke baki sistem ketika diminimalkan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
<message>
|
||||
<source>Clear clipboard after</source>
|
||||
<translation>Bersihkan papan klip setelaj</translation>
|
||||
<translation>Kosongkan papan klip setelah</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> sec</source>
|
||||
@@ -1146,56 +1347,44 @@ Simpan perubahan?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock databases after inactivity of</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kunci basis data setelah tidak aktif selama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show passwords in cleartext by default</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tampilkan teks sandi secara baku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Always ask before performing auto-type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Selalu tanya sebelum melakukan ketik-otomatis</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UnlockDatabaseWidget</name>
|
||||
<message>
|
||||
<source>Unlock database</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Galat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>Kunci salah.</translation>
|
||||
<translation>Buka kunci basis data</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WelcomeWidget</name>
|
||||
<message>
|
||||
<source>Welcome!</source>
|
||||
<translation>Selamat Datang.</translation>
|
||||
<translation>Selamat datang!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>main</name>
|
||||
<message>
|
||||
<source>KeePassX - cross-platform password manager</source>
|
||||
<translation>KeePassX - manajer kata sandi cross-platform</translation>
|
||||
<translation>KeePassX - pengelola sandi lintas platform</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>filename of the password database to open (*.kdbx)</source>
|
||||
<translation>nama berkasi dari basis data kata sandi untuk dibuka (*.kdbx)</translation>
|
||||
<translation>nama berkas dari basis data sandi untuk dibuka (*.kdbx)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>path to a custom config file</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>password of the database (DANGEROUS!)</source>
|
||||
<translation>kata sandi dari basis data (BERBAHAYA!)</translation>
|
||||
<translation>jalur ke berkas konfig ubahsuai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>key file of the database</source>
|
||||
|
||||
@@ -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'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'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'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>
|
||||
@@ -243,12 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>閉じますか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" は編集されています。
|
||||
無視して閉じますか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>変更を保存しますか?</translation>
|
||||
@@ -292,17 +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>このデータベースは変更されました。
|
||||
ロックを行う前にデータベースを保存しますか?
|
||||
保存しない場合には変更点は失われます。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" は現在編集モードです。
|
||||
変更を破棄して閉じてしまってもよろしいですか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>データベースをCSVファイルにエクスポートする</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<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>
|
||||
@@ -318,7 +390,7 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the entry "%1" for good?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>本当にエントリー "%1" を永遠に消去しますか?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete entries?</source>
|
||||
@@ -326,7 +398,7 @@ Otherwise your changes are lost.</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>
|
||||
@@ -356,6 +428,14 @@ Otherwise your changes are lost.</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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -401,7 +481,7 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>異なるパスワードが入力されました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New attribute</source>
|
||||
@@ -431,11 +511,11 @@ Otherwise your changes are lost.</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>
|
||||
@@ -485,7 +565,7 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use custom Auto-Type sequence:</source>
|
||||
<translation>カスタムの自動入力手順を使う</translation>
|
||||
<translation>カスタムの自動入力手順を使う:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>+</source>
|
||||
@@ -535,7 +615,7 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username:</source>
|
||||
<translation>ユーザ名</translation>
|
||||
<translation>ユーザ名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password:</source>
|
||||
@@ -668,7 +748,15 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -694,7 +782,7 @@ Otherwise your changes are lost.</source>
|
||||
<name>EntryAttributesModel</name>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>名前</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -783,6 +871,10 @@ Otherwise your changes are lost.</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>
|
||||
@@ -802,6 +894,16 @@ Otherwise your changes are lost.</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 > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>選択されたファイルは古い KeePass 1 のデータベース (.kdb) です。
|
||||
|
||||
データベース > 'KeePass 1 データベースをインポート' をクリックすることでインポートできます。
|
||||
これは一方向の移行操作であり、インポートされたデータベースは古い KeePassX 0.4 のバージョンでは開くことはできません。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
@@ -916,18 +1018,10 @@ Otherwise your changes are lost.</source>
|
||||
<source>Find</source>
|
||||
<translation>検索</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>ユーザー名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>ユーザー名をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>パスワード</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>パスワードをコピー</translation>
|
||||
@@ -970,12 +1064,48 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle window</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>ウィンドウ切替</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>ツール</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>ユーザ名をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>パスワードをコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1024,11 +1154,11 @@ Otherwise your changes are lost.</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 '%1'.</source>
|
||||
@@ -1067,7 +1197,7 @@ Otherwise your changes are lost.</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>
|
||||
@@ -1075,14 +1205,14 @@ Otherwise your changes are lost.</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>
|
||||
@@ -1098,7 +1228,7 @@ Otherwise your changes are lost.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal zlib error when decompressing: </source>
|
||||
<translation>解凍時に内部zlibエラーが発生しました</translation>
|
||||
<translation>解凍時に内部zlibエラーが発生しました: </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1178,7 +1308,7 @@ Otherwise your changes are lost.</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>
|
||||
@@ -1190,12 +1320,20 @@ Otherwise your changes are lost.</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>
|
||||
@@ -1246,11 +1384,7 @@ Otherwise your changes are lost.</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>
|
||||
|
||||
1391
share/translations/keepassx_ko.ts
Normal file
1787
share/translations/keepassx_lt.ts
Normal 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 wordt verspreid onder de bepalingen van de GNU General Public License (GPL) versie 2 of (als u wenst) versie 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision</source>
|
||||
<translation>Revisie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using:</source>
|
||||
<translation>Maakt gebruik van:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AutoType</name>
|
||||
@@ -109,6 +117,16 @@
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Verschillende wachtwoorden opgegeven.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>Niet gelukt het sleutelbestand in te stellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>Niet gelukt %1 als sleutelbestand in te stellen:
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
@@ -153,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'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>
|
||||
@@ -234,12 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>Sluiten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" is in bewerkmodus.
|
||||
Toch sluiten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>Wijzigingen opslaan?</translation>
|
||||
@@ -270,6 +319,64 @@ Opslaan?</translation>
|
||||
<source>locked</source>
|
||||
<translation>vergrendeld</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>De database die u probeert te openen is vergrendeld door een andere instantie van KeePassX.
|
||||
Wilt u toch doorgaan met openen? U kunt de database ook alleen-lezen openen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>Database vergrendelen</translation>
|
||||
</message>
|
||||
<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>Kan de database niet vergrendelen omdat u deze momenteel aan het bewerken bent.
|
||||
Druk op annuleren om uw wijzigingen aan te passen of gooi de wijzigingen weg.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<translation>Deze database is nog niet opgeslagen.
|
||||
U kunt de database opslaan of het vergrendelen annuleren.</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>Deze database is gewijzigd.
|
||||
Wilt u de database opslaan voordat u deze vergrendelt?
|
||||
Zo nee, dan gaan de wijzigingen verloren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" is gewijzigd.
|
||||
Wijzigingen ongedaan maken en doorgaan met sluiten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Database exporteren naar CSV-bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>CSV-bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the CSV file failed.</source>
|
||||
<translation>Schrijven van het CSV-bestand mislukt.</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>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>
|
||||
@@ -313,6 +420,22 @@ Opslaan?</translation>
|
||||
<source>Current group</source>
|
||||
<translation>Huidige groep</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -425,6 +548,10 @@ Opslaan?</translation>
|
||||
<source>Save</source>
|
||||
<translation>Opslaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>Open</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
@@ -576,6 +703,14 @@ Opslaan?</translation>
|
||||
<source>Auto-type</source>
|
||||
<translation>Auto-typen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>Gebruik standaard auto-typevolgorde van bovenliggende groep</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>Stel standaard auto-typevolgorde in</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetIcons</name>
|
||||
@@ -615,6 +750,14 @@ Opslaan?</translation>
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -724,6 +867,14 @@ Opslaan?</translation>
|
||||
<source>Root</source>
|
||||
<translation>Alles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -739,6 +890,20 @@ Opslaan?</translation>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>Verkeerde sleutel of corrupte database.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>Het gekozen bestand is een oude KeePass 1 database (.kdb).
|
||||
|
||||
U kunt het importeren door te klikken op Database > 'KeePass 1 database importeren'.
|
||||
Deze actie is niet omkeerbaar. U kunt de geimporteerde database niet meer openen met KeePassX 0.4.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
@@ -777,10 +942,6 @@ Opslaan?</translation>
|
||||
<source>Groups</source>
|
||||
<translation>Groepen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation>Extra's</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Beeld</translation>
|
||||
@@ -857,18 +1018,10 @@ Opslaan?</translation>
|
||||
<source>Find</source>
|
||||
<translation>Vind</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Gebruikersnaam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Kopieer gebruikersnaam naar klembord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Wachtwoord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Kopieer wachtwoord naar klembord</translation>
|
||||
@@ -913,6 +1066,46 @@ Opslaan?</translation>
|
||||
<source>Toggle window</source>
|
||||
<translation>Wissel venster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>Hulpmiddelen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Gebruikersnaam kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Wachtwoord kopiëren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1093,10 +1286,6 @@ Opslaan?</translation>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation>Open vorige databases bij starten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation>Markeer database als gewijzigd bij wijzigen van de status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
<translation>Automatisch opslaan bij afsluiten</translation>
|
||||
@@ -1107,7 +1296,7 @@ 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>
|
||||
@@ -1133,6 +1322,18 @@ Opslaan?</translation>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<translation>Bij minimaliseren enkel icoon in systray tonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1163,14 +1364,6 @@ Opslaan?</translation>
|
||||
<source>Unlock database</source>
|
||||
<translation>Database ontgrendelen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>Verkeerd wachtwoord</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WelcomeWidget</name>
|
||||
@@ -1193,10 +1386,6 @@ Opslaan?</translation>
|
||||
<source>path to a custom config file</source>
|
||||
<translation>pad naar een configuratiebestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>password of the database (DANGEROUS!)</source>
|
||||
<translation>wachtwoord van de database (GEVAARLIJK!)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>key file of the database</source>
|
||||
<translation>sleutelbestand van de database</translation>
|
||||
|
||||
1394
share/translations/keepassx_pl.ts
Normal file
1786
share/translations/keepassx_pt_BR.ts
Normal 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'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>
|
||||
@@ -244,12 +288,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>Fechar ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" em modo de edição.
|
||||
Fechar na mesma ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>Guardar alterações ?</translation>
|
||||
@@ -310,6 +348,33 @@ Otherwise your changes are lost.</source>
|
||||
Pretende guardar a base de dados antes de a trancar ?
|
||||
Caso contrário as alterações serão perdidas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>%1 está em modo de edição.
|
||||
Fechar e Ignorar alterações ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Exportar base de dados para ficheiro CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>Ficheiro CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -361,6 +426,14 @@ Caso contrário as alterações serão perdidas.</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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -674,6 +747,14 @@ Caso contrário as alterações serão perdidas.</translation>
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -787,6 +868,10 @@ Caso contrário as alterações serão perdidas.</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>
|
||||
@@ -806,6 +891,13 @@ Caso contrário as alterações serão perdidas.</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 > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
@@ -920,18 +1012,10 @@ Caso contrário as alterações serão perdidas.</translation>
|
||||
<source>Find</source>
|
||||
<translation>Encontrar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Nome de utilizador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Copiar nome de utilizador para inserção</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Senha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Copiar senha para inserção</translation>
|
||||
@@ -980,6 +1064,42 @@ Caso contrário as alterações serão perdidas.</translation>
|
||||
<source>Tools</source>
|
||||
<translation>Ferramentas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Copiar nome de utilizador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Copiar senha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1200,6 +1320,14 @@ Caso contrário as alterações serão perdidas.</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>
|
||||
@@ -1252,10 +1380,6 @@ Caso contrário as alterações serão perdidas.</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>
|
||||
|
||||
1388
share/translations/keepassx_sl_SI.ts
Normal 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 distribueras enligt villkoren i GNU General Public License (GPL) version 2 eller (om du vill) version 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision</source>
|
||||
<translation>Revision</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using:</source>
|
||||
<translation>Använder:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AutoType</name>
|
||||
@@ -109,6 +117,16 @@
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>Olika lösenord angivna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>Kunde inte sätta nyckel-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>Kunde inte sätta %1 som nyckel-fil:
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
@@ -153,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'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>
|
||||
@@ -234,12 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>Stäng?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" är i redigerar-läge.
|
||||
Stäng ändå?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>Spara ändringar?</translation>
|
||||
@@ -270,6 +319,64 @@ Spara ändringarna?</translation>
|
||||
<source>locked</source>
|
||||
<translation>låst</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>Databasen som du försöker öppna är låst av en annan instans av KeePassX.
|
||||
Vill du öppna den ändå? Databasen kommer då att öppnas skrivskyddad.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>Lås databasen</translation>
|
||||
</message>
|
||||
<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>Kan inte låsa databasen eftersom du håller på att redigera den.
|
||||
Tryck avbryt för att ansluta dina ändringar alternativt kasta dem.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<translation>Databasen has aldrig sparats.
|
||||
Spara databasen eller sluta lås den.</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>Databasen har ändrats.
|
||||
Vill du spara databasen innen du låser den?
|
||||
I annat fall försvinner ändringarna.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" är i redigeringsläge.
|
||||
Kasta ändringarna och stäng endå?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>Exportera databasen till en CSV-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<translation>CSV-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Writing the CSV file failed.</source>
|
||||
<translation>Kunde inte skriva till CSV-filen</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>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>
|
||||
@@ -313,6 +420,22 @@ Spara ändringarna?</translation>
|
||||
<source>Current group</source>
|
||||
<translation>Nuvarande grupp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -425,6 +548,10 @@ Spara ändringarna?</translation>
|
||||
<source>Save</source>
|
||||
<translation>Spara</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>Öppna</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
@@ -576,6 +703,14 @@ Spara ändringarna?</translation>
|
||||
<source>Auto-type</source>
|
||||
<translation>Auto-skriv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>Använd standard auto-skriv sekvensen från föräldergruppen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>Ange standard auto-skriv sekvens</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetIcons</name>
|
||||
@@ -615,6 +750,14 @@ Spara ändringarna?</translation>
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -724,6 +867,14 @@ Spara ändringarna?</translation>
|
||||
<source>Root</source>
|
||||
<translation>Root</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -739,6 +890,20 @@ Spara ändringarna?</translation>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>Fel lösenord eller korrupt databas-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to calculate master key</source>
|
||||
<translation>Kunde inte räkna nu master-nyckeln</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The selected file is an old KeePass 1 database (.kdb).
|
||||
|
||||
You can import it by clicking on Database > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>Den valda filen är en gammal KeePass 1 databas (.kdb)
|
||||
|
||||
Du kan importera den genom att klicka på Databas > 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>
|
||||
<name>Main</name>
|
||||
@@ -759,7 +924,7 @@ Spara ändringarna?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recent databases</source>
|
||||
<translation>Senast använda databser</translation>
|
||||
<translation>Senast använda databaser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
@@ -777,10 +942,6 @@ Spara ändringarna?</translation>
|
||||
<source>Groups</source>
|
||||
<translation>Grupper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation>Extra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Vy</translation>
|
||||
@@ -857,18 +1018,10 @@ Spara ändringarna?</translation>
|
||||
<source>Find</source>
|
||||
<translation>Sök</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>Användarnamn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>Kopiera användarnamn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Lösenord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>Kopiera lösenord</translation>
|
||||
@@ -913,6 +1066,46 @@ Spara ändringarna?</translation>
|
||||
<source>Toggle window</source>
|
||||
<translation>Visa/dölj fönster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>Verktyg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>Kopiera användarnamn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>Kopiera lösenord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1091,15 +1284,11 @@ Spara ändringarna?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation>Öppna senaste databasen är programmet startar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation>Markera som ändrad när utökat läge ändras</translation>
|
||||
<translation>Öppna senaste databasen när programmet startar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
<translation>Spara automatiskt är applikationen anslutas</translation>
|
||||
<translation>Spara automatiskt när applikationen anslutas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save after every change</source>
|
||||
@@ -1133,6 +1322,18 @@ Spara ändringarna?</translation>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<translation>Vid minimering, minimera fönstret till systemfältet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1163,14 +1364,6 @@ Spara ändringarna?</translation>
|
||||
<source>Unlock database</source>
|
||||
<translation>Lås upp databas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>Fel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>Fel lösenord</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WelcomeWidget</name>
|
||||
@@ -1193,10 +1386,6 @@ Spara ändringarna?</translation>
|
||||
<source>path to a custom config file</source>
|
||||
<translation>Sökväg till egen konfigurations-fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>password of the database (DANGEROUS!)</source>
|
||||
<translation>lösenord för databasen (FARLIGT!)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>key file of the database</source>
|
||||
<translation>nyckel-fil för databas</translation>
|
||||
|
||||
1392
share/translations/keepassx_uk.ts
Normal 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'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>
|
||||
@@ -244,12 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>关闭?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>正在编辑 "%1" 。
|
||||
仍要关闭吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>保存修改?</translation>
|
||||
@@ -310,6 +349,34 @@ Otherwise your changes are lost.</source>
|
||||
你想在锁住它以前保存修改吗?
|
||||
否则修改将会丢失。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>正在编辑 "%1" 。
|
||||
仍然要放弃修改并且关闭吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>把数据库导出为CSV格式文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<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>
|
||||
<context>
|
||||
<name>DatabaseWidget</name>
|
||||
@@ -361,6 +428,14 @@ Otherwise your changes are lost.</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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -675,6 +750,14 @@ Otherwise your changes are lost.</source>
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -751,7 +834,7 @@ Otherwise your changes are lost.</source>
|
||||
<name>KeePass1OpenWidget</name>
|
||||
<message>
|
||||
<source>Import KeePass1 database</source>
|
||||
<translation>导入KeePass 1 数据库</translation>
|
||||
<translation>导入 KeePass 1 数据库</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
@@ -788,6 +871,10 @@ Otherwise your changes are lost.</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>
|
||||
@@ -807,6 +894,15 @@ Otherwise your changes are lost.</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 > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>当前选择的文件是旧版本 KeePass 1 数据库(.kdb)。
|
||||
你可以通过点击 数据库 > '导入KeePass 1 数据库’ 来导入。
|
||||
这是不可逆的修改。导入后的数据库将无法由旧版的KeePassX 0.4版本打开。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
@@ -921,18 +1017,10 @@ Otherwise your changes are lost.</source>
|
||||
<source>Find</source>
|
||||
<translation>查找</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>用户名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>将用户名复制到剪贴板</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>密码</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>将密码复制到剪贴板</translation>
|
||||
@@ -981,6 +1069,42 @@ Otherwise your changes are lost.</source>
|
||||
<source>Tools</source>
|
||||
<translation>工具</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>复制用户名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>复制密码</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1201,6 +1325,14 @@ Otherwise your changes are lost.</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>
|
||||
@@ -1253,10 +1385,6 @@ Otherwise your changes are lost.</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>
|
||||
|
||||
@@ -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 通用公共授權條款所發佈的 (或者,可根據你的選擇選用第 3 版)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Revision</source>
|
||||
<translation>修改紀錄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using:</source>
|
||||
<translation>使用:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AutoType</name>
|
||||
@@ -109,6 +117,16 @@
|
||||
<source>Different passwords supplied.</source>
|
||||
<translation>提供了不同的密碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set key file</source>
|
||||
<translation>無法設定金鑰檔案</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set %1 as the Key file:
|
||||
%2</source>
|
||||
<translation>無法設定 %1 成為金鑰檔案:
|
||||
%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DatabaseOpenWidget</name>
|
||||
@@ -153,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'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>
|
||||
@@ -234,11 +289,6 @@
|
||||
<source>Close?</source>
|
||||
<translation>關閉?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Close anyway?</source>
|
||||
<translation>"%1" 正在編輯中。仍然要關閉嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save changes?</source>
|
||||
<translation>儲存修改?</translation>
|
||||
@@ -268,6 +318,64 @@ Save changes?</source>
|
||||
<source>locked</source>
|
||||
<translation>已鎖住</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The database you are trying to open is locked by another instance of KeePassX.
|
||||
Do you want to open it anyway? Alternatively the database is opened read-only.</source>
|
||||
<translation>你嘗試要打開的資料庫已經被另一個正在執行的 KeePassX 鎖定
|
||||
你要打開它嗎?或者,打開唯讀的資料庫</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock database</source>
|
||||
<translation>鎖定資料庫</translation>
|
||||
</message>
|
||||
<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>無法鎖定資料庫,因為目前你正在編輯它
|
||||
請按下取消完成修改或放棄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This database has never been saved.
|
||||
You can save the database or stop locking it.</source>
|
||||
<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>這個資料庫已經被修改
|
||||
想要在鎖定之前,儲存資料庫嗎?
|
||||
否則,這次修改將會遺失</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"%1" is in edit mode.
|
||||
Discard changes and close anyway?</source>
|
||||
<translation>"%1" 正在編輯模式。
|
||||
是否要放棄編輯及關閉?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Export database to CSV file</source>
|
||||
<translation>將資料庫輸出成 CSV 檔案</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CSV file</source>
|
||||
<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>
|
||||
<context>
|
||||
<name>DatabaseWidget</name>
|
||||
@@ -311,6 +419,22 @@ Save changes?</source>
|
||||
<source>Current group</source>
|
||||
<translation>目前的群組</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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 "%1" to the recycle bin?</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidget</name>
|
||||
@@ -423,6 +547,10 @@ Save changes?</source>
|
||||
<source>Save</source>
|
||||
<translation>儲存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open</source>
|
||||
<translation>打開</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEntryWidgetAutoType</name>
|
||||
@@ -574,6 +702,14 @@ Save changes?</source>
|
||||
<source>Auto-type</source>
|
||||
<translation>自動輸入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use default auto-type sequence of parent group</source>
|
||||
<translation>使用預設的父群組自動輸入序列</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set default auto-type sequence</source>
|
||||
<translation>設定預設自動輸入序列</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetIcons</name>
|
||||
@@ -613,6 +749,14 @@ Save changes?</source>
|
||||
<source>Can'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't read icon:</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditWidgetProperties</name>
|
||||
@@ -722,6 +866,14 @@ Save changes?</source>
|
||||
<source>Root</source>
|
||||
<translation>根</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -737,6 +889,21 @@ Save changes?</source>
|
||||
<source>Wrong key or database file is corrupt.</source>
|
||||
<translation>無法的金鑰或資料庫損壞</translation>
|
||||
</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 > 'Import KeePass 1 database'.
|
||||
This is a one-way migration. You won't be able to open the imported database with the old KeePassX 0.4 version.</source>
|
||||
<translation>被選擇的檔案是舊的 KeePass 1 資料庫 (.kdb) 。
|
||||
|
||||
|
||||
你可以點選 資料庫 > 「匯入 KeePass 1 資料庫」。
|
||||
這是單向遷移。你無法用舊的 KeePassX 0.4 的版本打開被匯入的資料庫。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Main</name>
|
||||
@@ -775,10 +942,6 @@ Save changes?</source>
|
||||
<source>Groups</source>
|
||||
<translation>群組</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Extras</source>
|
||||
<translation>其它</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>顯示</translation>
|
||||
@@ -855,18 +1018,10 @@ Save changes?</source>
|
||||
<source>Find</source>
|
||||
<translation>尋找</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username</source>
|
||||
<translation>使用者名稱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username to clipboard</source>
|
||||
<translation>將使用者名稱複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>密碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password to clipboard</source>
|
||||
<translation>將密碼複製到剪貼簿</translation>
|
||||
@@ -911,6 +1066,46 @@ Save changes?</source>
|
||||
<source>Toggle window</source>
|
||||
<translation>切換視窗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tools</source>
|
||||
<translation>工具</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy username</source>
|
||||
<translation>複製使用者名稱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy password</source>
|
||||
<translation>複製密碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<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>
|
||||
@@ -1091,10 +1286,6 @@ Save changes?</source>
|
||||
<source>Open previous databases on startup</source>
|
||||
<translation>在啟動時開啟最近的資料庫</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mark as modified on expanded state changes</source>
|
||||
<translation>擴展狀態發生變化時,標記為已修改</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatically save on exit</source>
|
||||
<translation>離開時,自動儲存</translation>
|
||||
@@ -1131,6 +1322,18 @@ Save changes?</source>
|
||||
<source>Hide window to system tray when minimized</source>
|
||||
<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>
|
||||
@@ -1161,14 +1364,6 @@ Save changes?</source>
|
||||
<source>Unlock database</source>
|
||||
<translation>解鎖資料庫</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrong key.</source>
|
||||
<translation>錯誤的金鑰</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WelcomeWidget</name>
|
||||
@@ -1191,10 +1386,6 @@ Save changes?</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>
|
||||
|
||||