keepassx-0.4.3/0000775000175000017500000000000012116712720012342 5ustar felixfelixkeepassx-0.4.3/INSTALL0000664000175000017500000000061110763306647013406 0ustar felixfelixInstallation instructions for *nix: ----------------------------------- 1. qmake-qt4 / qmake You have to use qmake of Qt >= 4.3.0, depending on your distro it is called qmake or qmake-qt4. By default KeePassX is installed to /usr, you can change that by adding PREFIX=[PATH] to the qmake command. You can also add DEBUG=1 to build KeePassX with debug symbols. 2. make 3. make install keepassx-0.4.3/COPYING0000664000175000017500000004042611134614757013415 0ustar felixfelixCopyright (C) 2005-2008 Tarek Saidi Copyright (C) 2007-2009 Felix Geyer 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; version 2 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 text of the GNU General Public License below for more details. Other licenses: apg/*: Copyright (c) 1999, 2000, 2001, 2002, 2003 Adel I. Mirzazhanov 3-clause BSD license crypto/aes*: Copyright (c) 1998-2008, Brian Gladman 3-clause BSD license crypto/arcfour*: Copyright (C) 2003-2008 Dominik Reichl GPLv2 or later crypto/blowfish*: Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. Copyright (C) 2003 by Michael Buesch Copyright (C) 2007 by Tarek Saidi GPLv2 crypto/sha256*: Copyright (C) 2001-2003 by Christophe Devine Copyright (C) 2005-2006 by Tarek Saidi GPLv2 crypto/two*: Copyright (C) 2005-2007 Tarek Saidi Copyright (c) 2003,2004 Dominik Reichl GPLv2 crypto/yarrow*: Copyright (C) 2007 Tarek Saidi Copyright (C) 2001 Niels Müler GPLv2 --------------------------------------------------------------------------- GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS keepassx-0.4.3/changelog0000664000175000017500000002510311344561664014230 0ustar felixfelix---------------------------- 0.4.3 (2010-03-07) ---------------------------- - Fixed crash when editing groups (regression introduced in 0.4.2) (Bug #2964295) ---------------------------- 0.4.2 (2010-03-03) ---------------------------- - Re-added "Close to Tray" option - Use icon of parent group when creating a new entry (Bug #2494084) - Make database file saving transactional to avoid data loss - Fixed build errors with MSVC compiler (Bug #2926945), Qt 4.6 (Bug #2900850) and binutils gold linker - Switch focus to new entries (Bug #2899867, #2928843) - Added Cmd-M shortcut on Mac OS to minimize window (Bug #2827152) - Copy to clipboard even if field is empty (Bug #2889145) - Fixed possible database corruption when adding a new group while the Backup group exists (Bug #2897997) - Don't give up asking for the password after one decryption error when using the Twofish algorithm - Don't allow to drag'n'drop between databases to fix a crash (Bug #2961045) - Fixed: Closing KeePassX doesn't remove passwords from clipboard (Bug #2946601) - Fixed: Icons could be shown multiple times in Group dialog (Bug #2711510) - Fixed: Maximized state not saved when minimizing to tray [Windows] (Bug #2926367) - Better detection of the default directory to save the database - Added translations: Japanese, Portuguese, Serbian and Slovak and Ukrainian - Updated many translations ---------------------------- 0.4.1 (2009-09-14) ---------------------------- - Added initial documentation (by Jussi Sainio) - Added and improved many translations - Added ability to drag'n'drop fields (username, password, ...) to other applications [Linux] - Added option to show the application window always on top [Linux and Windows] - Seperate columns settings between normal and search results view - Interrupt auto-type if the focused window changed meanwhile - Reduced height of password generator dialog (Bug #2831504) - Fixed: "Key Stroke Delay" interpreted as seconds instead of ms (Bug #2716877) - Escape HTML chars in detail view (Bug #2836096) - Fixed: Mispelling of initialize in interface (Bug #2806402) - Fixed: Race condition on lock file (Bug #2801583) - Fixed: Modified entry does not refresh Entry Details Pane (Bug #2782262) - Fixed: Logoff doesn't close database correctly (Bug #2726197) - Fixed: Incorrect auto-type keymapping when KeePassX is in autostart - Fixed: Workspace is being locked after auto-type - Fixed: compiler warning/error "format not a string literal and no format arguments" (Bug #2815290) - Fixed: Makefile uninstall target removes system directories (Bug #2830345) - Fixed key rounds benchmark to return incorrect results - Set default auto-type key stroke delay to 5ms - Removed "Close to Tray" option ---------------------------- 0.4.0 (2009-03-25) ---------------------------- - Added pronounceable password generator - Added action "Copy URL to Clipboard" - Added "Tools" button to EditEntryDlg: Window List and Auto-Type sequence - Improved Auto-Typing: ability to type all unicode characters - Added option to save database after every change - Associate KeePassX with *.kdb files on Linux and Mac OS - Display warning when opening a database that is already opened - Distinguish between adding groups and subgroups (Bug #2194057) - Store list of preferred characters in password generator (Bug #2432748) - Implemented backup feature - Don't include entries from "Backup" group in search results - Added menu action to sort groups (Bug #2268672) - Clear Klipper history when clearing clipboard - Use serif font for all password fields (Bug #2594868) - Redesigned the Settings dialog and added ability to select language - Added Finnish, Gallican, Italian, Norwegian and Turkish translations - Cache and protect MasterKey - speeds up saving database - Added 2 new password generator options - Changed default config filename to "config.ini" - XDG compliant config location on Linux - Fixed: Crash on saving a database (Bug #1955677) - Fixed: Unnamed Database saved as ".kdb" (Bugs #2109972, #2118340) - Fixed: Date of Modification isn't updated (Bugs #2108658, #2121768) - Fixed: Cannot open DB from KeePassX 0.2.2 (Bug #2535569) - Fixed: Predefined expire times don't work (Bug #2109987) - Fixed: Sorting isn't consistent (Bug #2108655) - Fixed: KeepassX fails to lock itself after Ctrl-V (Bug #2106604) - Fixed: Position of main window not properly restored (Bugs #2090649, #2371738, #2336064) - Fixed: No password generated using list of very special characters (Bug #2230887) - Fixed: Crash if minimize to systray with locked workbench on Mac OS (Bug #2482531) - Fixed: Exports aren't sorted consistently (Bug #2108661) - Fixed: Sudden exit on bookmarking a new (not saved) file (Bug #2599802) - Fixed: -min parameter is sometimes ignored (Debian Bug #514414) - Fixed: Cloned entries are not immediately sorted - Fixed: Crash when moving entry to another group (Bug #2644545) - Fixed: Different qm files in different paths, no overruling (Bug #2657158) - Improved the initialization of the Windows RNG and fallback random number source (Bug #2091784) - Improved Mac OS bundle information (Bugs #2096992, #1921260) - Improve tab order in many dialogs (Bug #2130397) - Added nostrip qmake option ---------------------------- 0.3.4 (2008-11-09) ---------------------------- - fixed crash when auto-typing special characters (Bug #2111588) - only allow plain text in comment field ---------------------------- 0.3.3 (2008-08-11) ---------------------------- - fixed error when opening twofish encrypted databases (Bug #2025075) ---------------------------- 0.3.2 (2008-07-20) ---------------------------- - add default groups when creating a database - improved the auto-type dialog (keyboard only usage, visual selection feedback) - automatically try to unlock db when global auto-type key has been pressed - fixed password encoding problem (Bug #1687864) - fixed sorting of date columns (Bugs #1861726, #1922311) - fixed problem when restoring window after auto-type (Bug #1978861) - don't use entries in 'Backup' group for global auto-type (Bug #1915664) - hide contents of search field while database is locked (Bug #1923554) - fixed: custom entry icons are not saved (Bug #1995561) - added new icons introduced in KeePass 1.11 - improved format of date strings (Bug #1932394) - added missing menu accelerators (Bug #1955304) - fixed: line breaks are ignored in Entry Detail View (Bug #1942362) - master key transformations (rounds) are now computed in two threads (from KeePass 1.11) - added ability to measure the number of rounds that can be calculated in 1 second - increase and randomize the default key transformation number - print help if parsing the arguments fails - disable precompiled header on FreeBSD by default to fix compilation error (Bug #1943446) --------------- 0.3.1 --------------- - made key/password dialog more user friendly - added option for automatic database locking on inactivity - native file dialogs are used again under MacOS X and Windows - program accepts Qt command line switches like "-style" again - parameter "-cfg" now accepts relative paths (Bug #1825446) - fixed invalid entries in .desktop file (Bug #1906875) - fixed potential compilation problem in AES implementation (Bug #1905810) - fixed crash when re-arranging groups (Bug #1754998) - fixed size problems of some dialogs - files are not longer truncated when saving fails (Bug #1648616) - improved seeding of the random number generator --------------- 0.3.0a --------------- - fixed bug which prevented MacOS X bundle from starting (Bug #1906517) - fixed error message about missing license file when opening about dialog (Bug #1906696) --------------- 0.3.0 --------------- - many bug fixes - global Auto-Type - fully customizable HTML based detail view - better structured settings dialog - secure random number generator based on 'Yarrow' including an optional entropy collector - new dialog to view expiered entries - calendar widget to edit expiration dates in a more confortable way - restructured password generator - much better appearance under MacOS X - fine tuning options for auto-type - system tray icon - workspace locking --------------- 0.2.2 --------------- -fixed crash when parsing config file under Win32 -fixed loss of entry icons when saving a database which was not created with KeePassX (no KPX_CUSTOM_ICONS metastream) -introduces new metastream format for custom icons -removed all old Qt3 support dependecies -QtNetwork and QtSql are not longer requiered (when using Qt 4.1.3 or later) -implemented correct UUID management for entries -added delay of 0.3s before performing auto-type -metastreams now get valid group IDs (KeePass/Win compatibility) -fixed drawing errors when performing drag and drop operations in group view -when there is no translation installed for the system's country preference but one for the same language the program will use it now -when canceling the file dialog for the opening of an existing database a already openend database will not longer be closed -same for the creation of a new database -alpha blending for banner icons -new standard banner icon -MacOS packages: all Qt libraries are now included in the application bundle (extra installation is not longer necessary) --------------- 0.2.1 --------------- -added AutoType feature (experimental!) -added custom icons feature -new command line option for manual language selection (-lang ) -when saving an attachment the original filename is adopted by the file dialog -fixed strange sorting behavior of entries (Bug #7083) -sorting by dates now works as expected -the 'Expires' column and the detailed entry view now also show the string 'never' for entries which don't expire -entry view now gets updated after changing the column setup -added menu entry to change the size of the toolbar icons --------------- 0.2.0 --------------- -ported whole application from Qt3 to Qt4 (better performance, less memory usage, ready for KDE4) -improved Mac OS X support -added Drag&Drop support -multiple seclection mode for entries -improved loading performance for large databases -faster in-memory encryption -search field in toolbar now works -mainwindow size, splitter position and column sizes are restored at start-up -added option for alternating row colors -improved key/password dialog -removed language dialog - program now uses system's default language -loading translation files for Qt (e.g. file dialogs) -added text export function -added option "Never" for expire dates. -fixed problem with hex. key files -fixed problem with damaged file attachments after various entry operations -fixed segmentation fault when using new icons with higher index -fixed error when saving empty databaseskeepassx-0.4.3/LICENSE.LGPL-2.10000644000175000017500000006364212116712671014420 0ustar felixfelix GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! keepassx-0.4.3/CMakeLists.txt0000664000175000017500000000522611311024161015076 0ustar felixfelix# CMake is still experimental, use qmake instead PROJECT(KeePassX) CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR) MESSAGE("CMake is still experimental, use qmake instead") SET( keepassx_VERSION_SHORT "0.4.0" ) SET( keepassx_VERSION "0.4.0" ) ADD_DEFINITIONS(-D'KEEPASSX_VERSION="${keepassx_VERSION}"') #Set the custom CMake module directory where our include/lib finders are SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") IF( APPLE OR MINGW ) SET( PROGNAME KeePassX ) ELSE( APPLE OR MINGW ) SET( PROGNAME keepassx ) ENDIF( APPLE OR MINGW ) IF( APPLE ) SET( MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/share/macx_bundle/Info_cmake.plist ) SET( MACOSX_BUNDLE_ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/share/macx_bundle/icon.icns ) SET( MACOSX_BUNDLE_INFO_STRING KeePassX v${keepassx_VERSION} ) SET( MACOSX_BUNDLE_VERSION ${keepassx_VERSION} ) SET( MACOSX_BUNDLE_SHORT_VERSION_STRING ${keepassx_VERSION_SHORT} ) SET( MACOSX_BUNDLE_LONG_VERSION_STRING Version ${keepassx_VERSION} ) SET( CMAKE_OSX_ARCHITECTURES ppc;i386 ) ENDIF( APPLE ) IF( MINGW ) FIND_PROGRAM(CMAKE_RC NAMES ${_CMAKE_TOOLCHAIN_PREFIX}windres HINTS ${_CMAKE_TOOLCHAIN_LOCATION}) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/keepassx.o COMMAND ${CMAKE_RC} -I${CMAKE_CURRENT_SOURCE_DIR} -i${CMAKE_CURRENT_SOURCE_DIR}/share/win_ico/keepassx.rc -o ${CMAKE_CURRENT_BINARY_DIR}/keepassx.o ) SET(keepassx_RCS ${CMAKE_CURRENT_BINARY_DIR}/keepassx.o) ENDIF( MINGW ) OPTION(PRECOMPILED_HEADER "Enable precompiled header (required gcc >= 3.4.0)" TRUE) IF( APPLE OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD ) SET(PRECOMPILED_HEADER FALSE) ENDIF( APPLE OR CMAKE_SYSTEM_NAME STREQUAL FreeBSD ) IF( PRECOMPILED_HEADER ) FIND_PACKAGE(PCHSupport) IF(NOT PCHSupport_FOUND) SET(PRECOMPILED_HEADER FALSE) ENDIF(NOT PCHSupport_FOUND) ENDIF( PRECOMPILED_HEADER ) SET(QT_MIN_VERSION "4.3.0") SET(QT_USE_QTXML TRUE) SET(QT_USE_QTMAIN TRUE) FIND_PACKAGE(Qt4 REQUIRED) INCLUDE(${QT_USE_FILE}) OPTION(AUTOTYPE "Enable auto-type (X11 only)" TRUE) IF( NOT UNIX ) SET(AUTOTYPE FALSE) ENDIF( NOT UNIX ) IF( AUTOTYPE ) find_package(X11) IF( X11_XTest_FOUND ) INCLUDE_DIRECTORIES( ${X11_X11_INCLUDE_PATH} ${X11_XTest_INCLUDE_PATH} ) SET(AUTOTYPE_LIBRARIES ${X11_X11_LIB} ${X11_XTest_LIB}) ADD_DEFINITIONS(-DAUTOTYPE -DGLOBAL_AUTOTYPE) ELSE( X11_XTest_FOUND ) SET(AUTOTYPE FALSE) ENDIF( X11_XTest_FOUND ) ENDIF( AUTOTYPE ) IF( MINGW ) SET(BINDIR "") SET(SHAREDIR "share") ELSEIF( APPLE ) SET(BINDIR "") SET(SHAREDIR "Contents/Resources") ELSE( MINGW ) SET(BINDIR "bin") SET(SHAREDIR "share/keepassx") SET(SHAREDIR_APP "share") ENDIF( MINGW ) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(share) keepassx-0.4.3/translations_release.sh0000775000175000017500000000071611254507467017142 0ustar felixfelix#!/bin/sh LRELEASE="" if [ `which lrelease-qt4` ] ; then LRELEASE="`which lrelease-qt4`" elif [ `which lrelease` ] ; then LRELEASE="`which lrelease`" fi if [ "$LRELEASE" = "" ] ; then echo "Error: lrelease / lrelease-qt4 not found." exit 1 fi cd `dirname $0` rm share/keepassx/i18n/*.qm cd src $LRELEASE translations/*.ts mv translations/*.qm ../share/keepassx/i18n rm ../share/keepassx/i18n/keepassx-xx_XX.qm rm ../share/keepassx/i18n/keepassx-cs_CZ.qm keepassx-0.4.3/src/0000775000175000017500000000000011344562542013140 5ustar felixfelixkeepassx-0.4.3/src/dialogs/0000775000175000017500000000000011344562541014561 5ustar felixfelixkeepassx-0.4.3/src/dialogs/PasswordGenDlg.h0000664000175000017500000000463211245022313017606 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef GENPWDIALOG_H #define GENPWDIALOG_H #include "ui_PasswordGenDlg.h" #include "EditEntryDlg.h" class CGenPwDialog : public QDialog, public Ui_GenPwDlg { Q_OBJECT public: CGenPwDialog(QWidget* parent, bool StandAloneMode, Qt::WFlags fl = 0); ~CGenPwDialog(); private: struct PwGroup { int start; int end; }; void AddToAssoctable(QList& table,int start,int end,int& pos); PwGroup AddToAssoctableGroup(QList& table,int start,int end,int& pos); void paintEvent(QPaintEvent* event); QString generatePasswordInternal(int length); QPixmap BannerPixmap; static bool EntropyCollected; QPushButton* AcceptButton; private slots: void OnGeneratePw(); void OnCancel(); void OnAccept(); void estimateQuality(); void OnCollectEntropyChanged(int); void SwapEchoMode(); void setGenerateEnabled(); void setAcceptEnabled(const QString& str); }; class PassCharValidator : public QValidator { Q_OBJECT public: PassCharValidator(QObject* parent); State validate(QString& input, int& pos) const; }; #endif keepassx-0.4.3/src/dialogs/PasswordGenDlg.cpp0000664000175000017500000003473511245022313020150 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "dialogs/PasswordGenDlg.h" #include "dialogs/CollectEntropyDlg.h" #include "random.h" #include "apg/randpass.h" #include "apg/pronpass.h" bool CGenPwDialog::EntropyCollected=false; CGenPwDialog::CGenPwDialog(QWidget* parent, bool StandAloneMode,Qt::WFlags fl) : QDialog(parent,fl) { setupUi(this); connect(ButtonGenerate, SIGNAL(clicked()), SLOT(OnGeneratePw())); connect(DialogButtons, SIGNAL(rejected()), SLOT(OnCancel())); connect(DialogButtons, SIGNAL(accepted()), SLOT(OnAccept())); connect(tabCategory, SIGNAL(currentChanged(int)), SLOT(estimateQuality())); connect(checkBox1, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBox2, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBox3, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBox4, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBox5, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBox6, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBox7, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(Edit_chars, SIGNAL(textChanged(const QString&)), SLOT(estimateQuality())); connect(checkBoxPU, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBoxPL, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBoxPN, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(checkBoxPS, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(Spin_Num, SIGNAL(valueChanged(int)), SLOT(estimateQuality())); connect(Check_ExcludeLookAlike, SIGNAL(toggled(bool)), SLOT(estimateQuality())); connect(Check_CollectEntropy, SIGNAL(stateChanged(int)), SLOT(OnCollectEntropyChanged(int))); connect(ButtonChangeEchoMode, SIGNAL(clicked()), SLOT(SwapEchoMode())); connect(tabCategory, SIGNAL(currentChanged(int)), SLOT(setGenerateEnabled())); connect(checkBox1, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBox2, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBox3, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBox4, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBox5, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBox6, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBox7, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(Edit_chars, SIGNAL(textChanged(const QString&)), SLOT(setGenerateEnabled())); connect(checkBoxPU, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBoxPL, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBoxPN, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); connect(checkBoxPS, SIGNAL(toggled(bool)), SLOT(setGenerateEnabled())); if(!StandAloneMode){ AcceptButton=DialogButtons->addButton(QDialogButtonBox::Ok); AcceptButton->setEnabled(false); DialogButtons->addButton(QDialogButtonBox::Cancel); connect(Edit_dest, SIGNAL(textChanged(const QString&)), SLOT(setAcceptEnabled(const QString&))); } else{ DialogButtons->addButton(QDialogButtonBox::Close); AcceptButton=NULL; } Edit_chars->setValidator(new PassCharValidator(this)); tabCategory->setCurrentIndex(config->pwGenCategory()); QBitArray pwGenOptions=config->pwGenOptions(); //Radio_1->setChecked(pwGenOptions.at(0)); //Radio_2->setChecked(!pwGenOptions.at(0)); checkBox1->setChecked(pwGenOptions.at(1)); checkBox2->setChecked(pwGenOptions.at(2)); checkBox3->setChecked(pwGenOptions.at(3)); checkBox4->setChecked(pwGenOptions.at(4)); checkBox5->setChecked(pwGenOptions.at(5)); checkBox6->setChecked(pwGenOptions.at(6)); checkBox7->setChecked(pwGenOptions.at(7)); Check_CollectEntropy->setChecked(pwGenOptions.at(8)); Check_CollectOncePerSession->setChecked(pwGenOptions.at(9)); //OnRadio1StateChanged(pwGenOptions.at(0)); //OnRadio2StateChanged(!pwGenOptions.at(0)); if (pwGenOptions.size()>=14){ checkBoxPU->setChecked(pwGenOptions.at(10)); checkBoxPL->setChecked(pwGenOptions.at(11)); checkBoxPN->setChecked(pwGenOptions.at(12)); checkBoxPS->setChecked(pwGenOptions.at(13)); } else{ checkBoxPU->setChecked(true); checkBoxPL->setChecked(true); checkBoxPN->setChecked(true); checkBoxPS->setChecked(false); } Edit_chars->setText(config->pwGenCharList()); Check_ExcludeLookAlike->setChecked(config->pwGenExcludeLookAlike()); Check_EveryGroup->setChecked(config->pwGenEveryGroup()); Spin_Num->setValue(config->pwGenLength()); adjustSize(); resize(size() + QSize(5, 10)); createBanner(&BannerPixmap,getPixmap("dice"),tr("Password Generator"),width()); if(!config->showPasswords()) SwapEchoMode(); else ButtonChangeEchoMode->setIcon(getIcon("pwd_show")); } CGenPwDialog::~CGenPwDialog(){ config->setPwGenCategory(tabCategory->currentIndex()); QBitArray pwGenOptions(14); //pwGenOptions.setBit(0,Radio_1->isChecked()); pwGenOptions.setBit(1,checkBox1->isChecked()); pwGenOptions.setBit(2,checkBox2->isChecked()); pwGenOptions.setBit(3,checkBox3->isChecked()); pwGenOptions.setBit(4,checkBox4->isChecked()); pwGenOptions.setBit(5,checkBox5->isChecked()); pwGenOptions.setBit(6,checkBox6->isChecked()); pwGenOptions.setBit(7,checkBox7->isChecked()); pwGenOptions.setBit(8,Check_CollectEntropy->isChecked()); pwGenOptions.setBit(9,Check_CollectOncePerSession->isChecked()); pwGenOptions.setBit(10,checkBoxPU->isChecked()); pwGenOptions.setBit(11,checkBoxPL->isChecked()); pwGenOptions.setBit(12,checkBoxPN->isChecked()); pwGenOptions.setBit(13,checkBoxPS->isChecked()); config->setPwGenOptions(pwGenOptions); config->setPwGenCharList(Edit_chars->text()); config->setPwGenExcludeLookAlike(Check_ExcludeLookAlike->isChecked()); config->setPwGenEveryGroup(Check_EveryGroup->isChecked()); config->setPwGenLength(Spin_Num->value()); } void CGenPwDialog::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void CGenPwDialog::OnGeneratePw() { if(Check_CollectEntropy->isChecked()){ if((Check_CollectOncePerSession->isChecked() && !EntropyCollected) || !Check_CollectOncePerSession->isChecked()){ CollectEntropyDlg dlg(this); dlg.exec(); EntropyCollected=true; } } int length = Spin_Num->value(); QString password; if (tabCategory->currentIndex() == 1) { unsigned int mode = 0; if (checkBoxPU->isChecked()) mode |= S_CL; if (checkBoxPL->isChecked()) mode |= S_SL; if (checkBoxPN->isChecked()) mode |= S_NB; if (checkBoxPS->isChecked()) mode |= S_SS; char* buffer = new char[length+1]; char* hyphenated_word = new char[length*18+1]; gen_pron_pass(buffer, hyphenated_word, length, length, mode); password = buffer; delete[] hyphenated_word; delete[] buffer; } else{ password = generatePasswordInternal(length); } Edit_dest->setText(password); } void CGenPwDialog::estimateQuality(){ int num = 0; int index = tabCategory->currentIndex(); if (index == 0) { if (checkBox1->isChecked()) { num+=26; if (Check_ExcludeLookAlike->isChecked()) num -= 2; } if (checkBox2->isChecked()) { num+=26; if (Check_ExcludeLookAlike->isChecked()) num -= 1; } if (checkBox3->isChecked()) { num+=10; if (Check_ExcludeLookAlike->isChecked()) num -= 2; } if (checkBox4->isChecked()) { num+=32; if (Check_ExcludeLookAlike->isChecked()) num -= 1; } if (checkBox5->isChecked()) num++; if (checkBox6->isChecked()) num++; if (checkBox7->isChecked()) num++; } else if (index == 1) { if (checkBoxPU->isChecked()) num+=26; if (checkBoxPL->isChecked()) num+=26; if (checkBoxPN->isChecked()) num+=10; if (checkBoxPS->isChecked()) num+=32; } else { num=Edit_chars->text().length(); } float bits = 0; if (num) bits = log((float)num) / log(2.0f); bits = bits * ((float)Spin_Num->value()); int bitsNum = (int) (bits+0.5); Progress_Quali->setFormat(tr("%1 Bits").arg(bitsNum)); Progress_Quali->update(); Progress_Quali->setValue((bitsNum > 128) ? 128 : bitsNum); } void CGenPwDialog::OnAccept() { done(1); } void CGenPwDialog::OnCancel() { done(0); } void CGenPwDialog::OnCollectEntropyChanged(int state){ if(state==Qt::Checked) Check_CollectOncePerSession->setDisabled(false); else Check_CollectOncePerSession->setDisabled(true); } void CGenPwDialog::SwapEchoMode(){ if(Edit_dest->echoMode()==QLineEdit::Normal){ Edit_dest->setEchoMode(QLineEdit::Password); ButtonChangeEchoMode->setIcon(getIcon("pwd_hide")); } else{ Edit_dest->setEchoMode(QLineEdit::Normal); ButtonChangeEchoMode->setIcon(getIcon("pwd_show")); } } void CGenPwDialog::AddToAssoctable(QList& table,int start,int end,int& pos){ for (int i=start;i<=end;i++){ if (Check_ExcludeLookAlike->isChecked()){ switch (i){ case 48: // 0 case 79: // O case 49: // 1 case 73: // I case 108: // l case 124: // | continue; } } table.append(QChar(i)); pos++; } } CGenPwDialog::PwGroup CGenPwDialog::AddToAssoctableGroup(QList& table,int start,int end,int& pos){ PwGroup group; group.start = pos; AddToAssoctable(table,start,end,pos); group.end = pos-1; return group; } QString CGenPwDialog::generatePasswordInternal(int length){ /*------------------------------------------------------- ASCII ------------------------------------------------------- "A...Z" 65...90 "a...z" 97...122 "0...9" 48...57 Special Characters 33...47; 58...64; 91...96; 123...126 "-" 45 "_" 95 ------------------------------------------------------- */ int num=0; QList assoctable; int groups=0; bool ensureEveryGroup = false; QList groupTable; if (tabCategory->currentIndex() == 0) { if (Check_EveryGroup->isChecked()){ if (checkBox1->isChecked()) groups++; if (checkBox2->isChecked()) groups++; if (checkBox3->isChecked()) groups++; if (checkBox4->isChecked()) groups++; if (checkBox5->isChecked()) groups++; if (checkBox6->isChecked()) groups++; if (checkBox7->isChecked()) groups++; if (groups<=length) ensureEveryGroup = true; } if(checkBox1->isChecked()){ if (ensureEveryGroup) groupTable.append(AddToAssoctableGroup(assoctable,65,90,num)); else AddToAssoctable(assoctable,65,90,num); } if(checkBox2->isChecked()){ if (ensureEveryGroup) groupTable.append(AddToAssoctableGroup(assoctable,97,122,num)); else AddToAssoctable(assoctable,97,122,num); } if(checkBox3->isChecked()){ if (ensureEveryGroup) groupTable.append(AddToAssoctableGroup(assoctable,48,57,num)); else AddToAssoctable(assoctable,48,57,num); } if(checkBox4->isChecked()){ PwGroup group; group.start = num; AddToAssoctable(assoctable,33,44,num); AddToAssoctable(assoctable,46,47,num); AddToAssoctable(assoctable,58,64,num); AddToAssoctable(assoctable,91,94,num); AddToAssoctable(assoctable,96,96,num); AddToAssoctable(assoctable,123,126,num); if (ensureEveryGroup){ group.end = num-1; groupTable.append(group); } } if(checkBox5->isChecked()){ if (ensureEveryGroup) groupTable.append(AddToAssoctableGroup(assoctable,32,32,num)); else AddToAssoctable(assoctable,32,32,num); } if(checkBox6->isChecked()){ if (ensureEveryGroup) groupTable.append(AddToAssoctableGroup(assoctable,45,45,num)); else AddToAssoctable(assoctable,45,45,num); } if(checkBox7->isChecked()){ if (ensureEveryGroup) groupTable.append(AddToAssoctableGroup(assoctable,95,95,num)); else AddToAssoctable(assoctable,95,95,num); } } else { QString str=Edit_chars->text(); for(int i=0;i charPos; for (int i=0; icurrentIndex(); if (index == 0) { enable = checkBox1->isChecked() || checkBox2->isChecked() || checkBox3->isChecked() || checkBox4->isChecked() || checkBox5->isChecked() || checkBox6->isChecked() || checkBox7->isChecked(); } else if (index == 1) { enable = checkBoxPU->isChecked() || checkBoxPL->isChecked() || checkBoxPN->isChecked() || checkBoxPS->isChecked(); } else { enable = !Edit_chars->text().isEmpty(); } ButtonGenerate->setEnabled(enable); } void CGenPwDialog::setAcceptEnabled(const QString& str){ AcceptButton->setEnabled(!str.isEmpty()); } PassCharValidator::PassCharValidator(QObject* parent) : QValidator(parent) { } QValidator::State PassCharValidator::validate(QString& input, int& pos) const { Q_UNUSED(pos); QSet chars; for (int i=0; i(db); adjustSize(); setMaximumSize(size()); setMinimumSize(size()); createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width()); ComboAlgo->insertItem(0,tr("AES(Rijndael): 256 Bit (default)")); ComboAlgo->insertItem(1,tr("Twofish: 256 Bit")); ComboAlgo->setCurrentIndex(database->cryptAlgorithm()); //Achtung: AlgoID muss gleich dem ComboBox Index sein! EditRounds->setText(QString::number( database->keyTransfRounds() )); ButtonBench->setIcon(getIcon("alarmclock")); connect( ButtonBox, SIGNAL( accepted() ), this, SLOT( OnOK() ) ); connect( ButtonBox, SIGNAL( rejected() ), this, SLOT( OnCancel() ) ); connect( ButtonBench, SIGNAL( clicked() ), this, SLOT( OnBenchmark() ) ); } CDbSettingsDlg::~CDbSettingsDlg(){ } void CDbSettingsDlg::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void CDbSettingsDlg::OnCancel() { done(0); } void CDbSettingsDlg::OnOK() { if(EditRounds->text()==""){ QMessageBox::warning(NULL,tr("Warning"),tr("Please determine the number of encryption rounds."),tr("OK")); return; } bool valid; int rounds=EditRounds->text().toUInt(&valid,10); if(valid==false){ QMessageBox::warning(NULL,tr("Error"),tr("'%1' is not valid integer value.").arg(EditRounds->text()),tr("OK")); return; } if(rounds==0){ QMessageBox::warning(NULL,tr("Error"),tr("The number of encryption rounds have to be greater than 0."),tr("OK")); return; } database->setKeyTransfRounds(rounds); database->setCryptAlgorithm((CryptAlgorithm)ComboAlgo->currentIndex()); done(1); } void CDbSettingsDlg::OnBenchmark(){ EditRounds->setText(QString::number( KeyTransformBenchmark::benchmark(1000) )); } keepassx-0.4.3/src/dialogs/TrashCanDlg.cpp0000664000175000017500000000725011067675267017437 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #include "main.h" #include "TrashCanDlg.h" TrashCanDialog::TrashCanDialog(QWidget* parent,IDatabase* database,const QList& TrashItems):QDialog(parent){ setupUi(this); Entries=TrashItems; for(int i=0;isetData(0,Qt::UserRole,i); item->setText(0,Entries[i]->group()->title()); item->setText(1,Entries[i]->title()); item->setText(2,Entries[i]->username()); item->setText(3,Entries[i]->expire().dateToString(Qt::LocalDate)); item->setIcon(0,database->icon(Entries[i]->group()->image())); item->setIcon(1,database->icon(Entries[i]->image())); } connect(treeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(OnItemDoubleClicked(QTreeWidgetItem*))); connect(treeWidget,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(OnContextMenu(const QPoint&))); ContextMenu=new QMenu(this); ContextMenu->addAction(getIcon("restore"),"Restore"); ContextMenu->addAction(getIcon("deleteentry"),"Delete"); } void TrashCanDialog::paintEvent(QPaintEvent* event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void TrashCanDialog::resizeEvent(QResizeEvent* event){ createBanner(&BannerPixmap,getPixmap("trashcan"),tr("Recycle Bin"),width()); QDialog::resizeEvent(event); } void TrashCanDialog::OnItemDoubleClicked(QTreeWidgetItem* item){ SelectedEntry=Entries[item->data(0,Qt::UserRole).toInt()]; accept(); } void TrashCanDialog::OnContextMenu(const QPoint& pos){ if(treeWidget->itemAt(pos)){ QTreeWidgetItem* item=treeWidget->itemAt(pos); if(treeWidget->selectedItems().size()==0){ treeWidget->setItemSelected(item,true); } else{ if(!treeWidget->isItemSelected(item)){ while(treeWidget->selectedItems().size()){ treeWidget->setItemSelected(treeWidget->selectedItems()[0],false); } treeWidget->setItemSelected(item,true); } } } else { while(treeWidget->selectedItems().size()) treeWidget->setItemSelected(treeWidget->selectedItems()[0],false); } ContextMenu->popup(treeWidget->viewport()->mapToGlobal(pos)); } ///TODO 0.2.3 locale aware string/date compare for correct sorting keepassx-0.4.3/src/dialogs/CustomizeDetailViewDlg.cpp0000664000175000017500000001741411153227155021660 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "CustomizeDetailViewDlg.h" bool DisableButtonSlots=false; CustomizeDetailViewDialog::CustomizeDetailViewDialog(QWidget* parent):QDialog(parent){ setupUi(this); BtnBold->setIcon(getIcon("text_bold")); BtnItalic->setIcon(getIcon("text_italic")); BtnUnderline->setIcon(getIcon("text_under")); BtnAlignLeft->setIcon(getIcon("text_left")); BtnAlignRight->setIcon(getIcon("text_right")); BtnAlignCenter->setIcon(getIcon("text_center")); BtnAlignBlock->setIcon(getIcon("text_block")); BtnTemplates->setIcon(getIcon("templates")); QMenu* tmplmenu=new QMenu(); tmplmenu->addAction(tr("Group"))->setData("%group%"); tmplmenu->addAction(tr("Title"))->setData("%title%"); tmplmenu->addAction(tr("Username"))->setData("%username%"); tmplmenu->addAction(tr("Password"))->setData("%password%"); tmplmenu->addAction(tr("Url"))->setData("%url%"); tmplmenu->addAction(tr("Comment"))->setData("%comment%"); tmplmenu->addAction(tr("Attachment Name"))->setData("%attachment%"); tmplmenu->addAction(tr("Creation Date"))->setData("%creation%"); tmplmenu->addAction(tr("Last Access Date"))->setData("%lastaccess%"); tmplmenu->addAction(tr("Last Modification Date"))->setData("%lastmod%"); tmplmenu->addAction(tr("Expiration Date"))->setData("%expire%"); tmplmenu->addAction(tr("Time till Expiration"))->setData("%expire-timeleft%"); BtnTemplates->setMenu(tmplmenu); connect(BtnBold,SIGNAL(toggled(bool)),this,SLOT(OnBtnBold(bool))); connect(BtnItalic,SIGNAL(toggled(bool)),this,SLOT(OnBtnItalic(bool))); connect(BtnUnderline,SIGNAL(toggled(bool)),this,SLOT(OnBtnUnderline(bool))); connect(BtnAlignLeft,SIGNAL(toggled(bool)),this,SLOT(OnBtnAlignLeft())); connect(BtnAlignRight,SIGNAL(toggled(bool)),this,SLOT(OnBtnAlignRight())); connect(BtnAlignCenter,SIGNAL(toggled(bool)),this,SLOT(OnBtnAlignCenter())); connect(BtnAlignBlock,SIGNAL(toggled(bool)),this,SLOT(OnBtnAlignBlock())); connect(BtnColor,SIGNAL(clicked()),this,SLOT(OnBtnColor())); connect(ButtonBox,SIGNAL(accepted()),this,SLOT(OnSave())); connect(ButtonBox,SIGNAL(rejected()),this,SLOT(OnCancel())); connect(ButtonBox,SIGNAL(clicked(QAbstractButton*)),this,SLOT(OnRestoreDefault(QAbstractButton*))); connect(tmplmenu,SIGNAL(triggered(QAction*)),this,SLOT(OnInsertTemplate(QAction*))); connect(RichEdit,SIGNAL(cursorPositionChanged()),this,SLOT(OnCursorPositionChanged())); connect(TabWidget,SIGNAL(currentChanged(int)),this,SLOT(OnTabChanged(int))); connect(FontSize,SIGNAL(activated(const QString&)),this,SLOT(OnFontSizeChanged(const QString&))); connect(FontSize->lineEdit(),SIGNAL(returnPressed()),this,SLOT(OnFontSizeChanged())); RichEdit->setHtml(DetailViewTemplate); OnCursorPositionChanged(); } void CustomizeDetailViewDialog::OnTabChanged(int index){ if(index==0){ RichEdit->setHtml(HtmlEdit->toPlainText()); } if(index==1){ HtmlEdit->setPlainText(RichEdit->toHtml()); } } void CustomizeDetailViewDialog::OnFontSizeChanged(const QString& text){ bool ok=false; int size=text.toInt(&ok); if(ok && size > 0){ RichEdit->setFontPointSize(size); } } void CustomizeDetailViewDialog::OnCursorPositionChanged(){ DisableButtonSlots=true; if(RichEdit->fontWeight()==QFont::Bold)BtnBold->setChecked(true); else BtnBold->setChecked(false); BtnItalic->setChecked(RichEdit->fontItalic()); BtnUnderline->setChecked(RichEdit->fontUnderline()); switch(RichEdit->alignment()){ case Qt::AlignLeft: BtnAlignLeft->setChecked(true); BtnAlignCenter->setChecked(false); BtnAlignRight->setChecked(false); BtnAlignBlock->setChecked(false); break; case Qt::AlignHCenter: BtnAlignLeft->setChecked(false); BtnAlignCenter->setChecked(true); BtnAlignRight->setChecked(false); BtnAlignBlock->setChecked(false); break; case Qt::AlignRight: BtnAlignLeft->setChecked(false); BtnAlignCenter->setChecked(false); BtnAlignRight->setChecked(true); BtnAlignBlock->setChecked(false); break; case Qt::AlignJustify: BtnAlignLeft->setChecked(false); BtnAlignCenter->setChecked(false); BtnAlignRight->setChecked(false); BtnAlignBlock->setChecked(true); break; } CurrentColor=RichEdit->textColor(); QPixmap pixmap=QPixmap(16,16); pixmap.fill(CurrentColor); BtnColor->setIcon(QIcon(pixmap)); if(RichEdit->fontPointSize()>0) FontSize->lineEdit()->setText(QString::number((int)RichEdit->fontPointSize())); else FontSize->lineEdit()->setText("9"); DisableButtonSlots=false; } void CustomizeDetailViewDialog::OnBtnBold(bool toggled){ if(DisableButtonSlots)return; if(toggled) RichEdit->setFontWeight(QFont::Bold); else RichEdit->setFontWeight(QFont::Normal); } void CustomizeDetailViewDialog::OnBtnItalic(bool toggled){ if(DisableButtonSlots)return; RichEdit->setFontItalic(toggled); } void CustomizeDetailViewDialog::OnBtnUnderline(bool toggled){ if(DisableButtonSlots)return; RichEdit->setFontUnderline(toggled); } void CustomizeDetailViewDialog::OnBtnAlignLeft(){ if(DisableButtonSlots)return; RichEdit->setAlignment(Qt::AlignLeft); OnCursorPositionChanged(); } void CustomizeDetailViewDialog::OnBtnAlignRight(){ if(DisableButtonSlots)return; RichEdit->setAlignment(Qt::AlignRight); OnCursorPositionChanged(); } void CustomizeDetailViewDialog::OnBtnAlignCenter(){ if(DisableButtonSlots)return; RichEdit->setAlignment(Qt::AlignHCenter); OnCursorPositionChanged(); } void CustomizeDetailViewDialog::OnBtnAlignBlock(){ if(DisableButtonSlots)return; RichEdit->setAlignment(Qt::AlignJustify); OnCursorPositionChanged(); } void CustomizeDetailViewDialog::OnBtnColor(){ CurrentColor=QColorDialog::getColor(CurrentColor,this); QPixmap pixmap=QPixmap(16,16); pixmap.fill(CurrentColor); BtnColor->setIcon(QIcon(pixmap)); RichEdit->setTextColor(CurrentColor); } void CustomizeDetailViewDialog::OnInsertTemplate(QAction* action){ RichEdit->insertPlainText(action->data().toString()); } void CustomizeDetailViewDialog::OnSave(){ if(TabWidget->currentIndex()==0) DetailViewTemplate=RichEdit->toHtml(); else if(TabWidget->currentIndex()==1) DetailViewTemplate=HtmlEdit->toPlainText(); config->setDetailViewTemplate(DetailViewTemplate); done(1); } void CustomizeDetailViewDialog::OnCancel(){ done(0); } void CustomizeDetailViewDialog::OnRestoreDefault(QAbstractButton* button){ if (button==ButtonBox->button(QDialogButtonBox::RestoreDefaults)){ DetailViewTemplate = config->defaultDetailViewTemplate(); HtmlEdit->setPlainText(DetailViewTemplate); RichEdit->setHtml(DetailViewTemplate); } } keepassx-0.4.3/src/dialogs/AboutDlg.h0000664000175000017500000000317510766561023016442 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _ABOUTDIALOG_H_ #define _ABOUTDIALOG_H_ #include "ui_AboutDlg.h" class AboutDialog : public QDialog, private Ui_AboutDlg { Q_OBJECT public: AboutDialog(QWidget* parent); private: QPixmap BannerPixmap; virtual void paintEvent(QPaintEvent*); }; #endif keepassx-0.4.3/src/dialogs/CollectEntropyDlg.h0000664000175000017500000000376110766561023020337 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _COLLECT_ENTROPY_DLG_H_ #define _COLLECT_ENTROPY_DLG_H_ #include "ui_CollectEntropyDlg.h" class CollectEntropyDlg: public QDialog, private Ui_CollectEntropyDlg{ Q_OBJECT public: CollectEntropyDlg(QWidget* parent); ~CollectEntropyDlg(); private: QPixmap BannerPixmap; virtual void paintEvent(QPaintEvent* event); virtual void keyReleaseEvent(QKeyEvent* event ); virtual void showEvent(QShowEvent* event); void updateProgress(); unsigned char* KeyEntropyBuffer; quint16* MouseEntropyBuffer; int KeyCounter,MouseCounter; QPoint LastPos; bool ReseedDone; private slots: void trackMousePos(); }; #endif keepassx-0.4.3/src/dialogs/SelectIconDlg.h0000664000175000017500000000405411160162160017401 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _SELECT_ICON_DLG_ #define _SELECT_ICON_DLG_ #include "ui_SelectIconDlg.h" class CSelectIconDlg:public QDialog, private Ui_SelectIconDlg{ Q_OBJECT public: CSelectIconDlg(IDatabase* db,int ImageID,QWidget* parent = 0, Qt::WFlags fl = 0); private slots: void OnAddIcon(); void OnPickIcon(); void OnCancel(); void OnDelete(); void OnReplace(); void OnSelectionChanged(QListWidgetItem*); private: int Id; IDatabase* db; void updateView(); QMenu* CtxMenu; QAction* DeleteAction; QAction* ReplaceAction; QPushButton* Button_PickIcon; protected: virtual void contextMenuEvent(QContextMenuEvent *event); virtual void showEvent(QShowEvent* event); }; #endif keepassx-0.4.3/src/dialogs/AddBookmarkDlg.h0000664000175000017500000000345311067675267017560 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _ADDBOOKMARKDLG_H_ #define _ADDBOOKMARKDLG_H_ #include "ui_AddBookmarkDlg.h" class AddBookmarkDlg : public QDialog, private Ui::AddBookmarkDlg { Q_OBJECT public: AddBookmarkDlg (QWidget* parent=0, QString DefaultFilename=QString(), int ItemID=-1); int ItemID; private: QPixmap BannerPixmap; virtual void paintEvent(QPaintEvent*); private slots: void OnButtonOk(); void OnButtonBrowse(); }; #endif keepassx-0.4.3/src/dialogs/AutoTypeDlg.cpp0000664000175000017500000001065411247772230017474 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "AutoTypeDlg.h" bool AutoTypeDlg::dialogVisible = false; AutoTypeDlg::AutoTypeDlg(QList entries, QList numbers, bool wasLocked) : pWasLocked(wasLocked){ Q_ASSERT(!dialogVisible); dialogVisible = true; setupUi(this); setAttribute(Qt::WA_DeleteOnClose); setWindowFlags(windowFlags()|Qt::WindowStaysOnTopHint); setGeometry( QRect(QApplication::desktop()->screenGeometry(QCursor::pos()).center() - rect().center(), size()) ); setWindowIcon(getIcon("keepassx_small")); entryList->setAlternatingRowColors(config->alternatingRowColors()); bool hideUsernames = config->hideUsernames(); if (hideUsernames) entryList->setHeaderLabels(QStringList() << tr("Group") << tr("Title")); else entryList->setHeaderLabels(QStringList() << tr("Group") << tr("Title") << tr("Username")); QList itemList; AutoTypeEntry autoTypeEntry; for (int i=0; igroup()->title() << entries[i]->title(); if (!hideUsernames) cols << entries[i]->username(); QTreeWidgetItem* widgetItem = new QTreeWidgetItem(cols); itemList.append(widgetItem); autoTypeEntry.dbHandle = entries[i]; autoTypeEntry.nr = numbers[i]; itemToEntry.insert(widgetItem, autoTypeEntry); } qSort(itemList.begin(), itemList.end(), itemLessThan); for (int i=0; iaddTopLevelItem(itemList[i]); entryList->setCurrentItem(itemList[0]); entryList->resizeColumnToContents(0); entryList->resizeColumnToContents(1); if (!hideUsernames) entryList->resizeColumnToContents(2); entryList->setColumnWidth(0, entryList->columnWidth(0)+10); if (!hideUsernames) entryList->setColumnWidth(1, entryList->columnWidth(1)+10); connect(ButtonBox, SIGNAL(rejected()), SLOT(close())); connect(entryList, SIGNAL(itemClicked(QTreeWidgetItem*,int)), SLOT(itemSelected(QTreeWidgetItem*))); connect(entryList, SIGNAL(returnPressed(QTreeWidgetItem*)), SLOT(itemSelected(QTreeWidgetItem*))); } bool AutoTypeDlg::itemLessThan(QTreeWidgetItem* i1, QTreeWidgetItem* i2){ if (i1->text(0) != i2->text(0)) return i1->text(0) < i2->text(0); else if (i1->text(1) != i2->text(1)) return i1->text(1) < i2->text(1); else return i1->text(2) < i2->text(2); } void AutoTypeDlg::paintEvent(QPaintEvent* event){ QWidget::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void AutoTypeDlg::resizeEvent(QResizeEvent* event){ createBanner(&BannerPixmap,getPixmap("keepassx"),tr("Auto-Type"),width()); QWidget::resizeEvent(event); } void AutoTypeDlg::closeEvent(QCloseEvent* event) { Q_ASSERT(dialogVisible); dialogVisible = false; QWidget::closeEvent(event); } bool AutoTypeDlg::event(QEvent* event){ if (!EventOccurred){ int t = event->type(); if ( (t>=QEvent::MouseButtonPress && t<=QEvent::KeyRelease) || (t>=QEvent::HoverEnter && t<=QEvent::HoverMove) ) EventOccurred = true; } return QWidget::event(event); } void AutoTypeDlg::itemSelected(QTreeWidgetItem* item){ close(); autoType->perform(itemToEntry[item].dbHandle, pWasLocked, itemToEntry[item].nr, pWasLocked); } keepassx-0.4.3/src/dialogs/SimplePasswordDlg.h0000664000175000017500000000352311160162160020325 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _SIMPLEPASSWORDDIALOG_H #define _SIMPLEPASSWORDDIALOG_H #include "ui_SimplePasswordDlg.h" class SimplePasswordDialog : public QDialog, private Ui_SimplePasswordDialog { Q_OBJECT public: SimplePasswordDialog(QWidget* parent = 0, Qt::WFlags fl = 0 ); ~SimplePasswordDialog(); QString password; private slots: virtual void OnCancel(); virtual void OnOK(); virtual void OnHidePasswordToggled(bool state); virtual void OnTextChanged(const QString&); }; #endif keepassx-0.4.3/src/dialogs/EditGroupDlg.cpp0000664000175000017500000000605411344230366017620 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "EditGroupDlg.h" #include "SelectIconDlg.h" CEditGroupDialog::CEditGroupDialog(IDatabase* database,IGroupHandle* Handle,QWidget* parent, Qt::WFlags fl) : QDialog(parent,fl) { db = database; handle = Handle; group = new CGroup(); group->Title = handle->title(); group->Image = handle->image(); init(); } CEditGroupDialog::CEditGroupDialog(IDatabase* database,CGroup* Group,QWidget* parent, Qt::WFlags fl) : QDialog(parent,fl) { db = database; handle = NULL; group = Group; init(); } CEditGroupDialog::~CEditGroupDialog(){ } void CEditGroupDialog::init() { setupUi(this); connect( ButtonBox, SIGNAL( accepted() ), this, SLOT( OnOK() ) ); connect( ButtonBox, SIGNAL( rejected() ), this, SLOT( OnCancel() ) ); connect( Button_Icon, SIGNAL( clicked() ), this, SLOT( OnIconDlg() )); EditTitle->setText(group->Title); for(int i=0;inumIcons();i++){ ComboIconPicker->insertItem(i,db->icon(i),""); } ComboIconPicker->setCurrentIndex(group->Image); adjustSize(); setMaximumSize(size()); setMinimumSize(size()); } void CEditGroupDialog::OnOK() { int r=1; if(EditTitle->text()!=group->Title){ group->Title=EditTitle->text(); r=2; } if(ComboIconPicker->currentIndex()!=group->Image){ group->Image=ComboIconPicker->currentIndex(); r=2; } if(handle){ handle->setTitle(group->Title); handle->setImage(group->Image); } done(r); } void CEditGroupDialog::OnCancel() { done(0); } void CEditGroupDialog::OnIconDlg(){ CSelectIconDlg dlg(db,group->Image,this); int r=dlg.exec(); if(r!=-1){ ComboIconPicker->clear(); for(int i=0;inumIcons();i++) ComboIconPicker->insertItem(i,db->icon(i),""); group->Image=r; ComboIconPicker->setCurrentIndex(r); } } keepassx-0.4.3/src/dialogs/ExpiredEntriesDlg.h0000664000175000017500000000362010766561023020315 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _EXP_ENTRIES_DLG_ #define _EXP_ENTRIES_DLG_ #include "ui_ExpiredEntriesDlg.h" class ExpiredEntriesDialog:public QDialog, private Ui_ExpiredEntriesDialog{ Q_OBJECT public: ExpiredEntriesDialog(QWidget* parent,IDatabase* database,const QList& Entries); IEntryHandle* SelectedEntry; private: QList Entries; QPixmap BannerPixmap; virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent *); private slots: void OnItemDoubleClicked(QTreeWidgetItem*); }; #endif keepassx-0.4.3/src/dialogs/SettingsDlg.h0000664000175000017500000000506311160167026017160 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef SETTINGSDLG_H #define SETTINGSDLG_H #include "ui_SettingsDlg.h" #include "lib/AutoType.h" class CSettingsDlg : public QDialog, private Ui_SettingsDialog { Q_OBJECT public: CSettingsDlg(QWidget* parent); ~CSettingsDlg(); private slots: virtual void OnCancel(); virtual void OnOK(); virtual void OnTextColor(); virtual void OnColor2(); virtual void OnColor1(); void OnOtherButton(QAbstractButton*); /*void OnIntPluginNone(); void OnIntPluginGnome(); void OnIntPluginKde();*/ void OnMountDirBrowse(); void OnBrowserCmdBrowse(); void OnCustomizeEntryDetails(); void OnInactivityLockChange(bool checked); void OnAutoSaveToggle(bool checked); void OnAutoSaveChangeToggle(bool checked); void OnBackupDeleteChange(); void OnSelectLanguage(int index); #ifdef GLOBAL_AUTOTYPE private slots: void resetGlobalShortcut(); #endif private: virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent*); void initLanguageList(); void apply(); QColor color1,color2,textcolor; QPixmap BannerPixmap; QList translations; #ifdef GLOBAL_AUTOTYPE Shortcut pShortcut; #endif //static bool PluginsModified; }; #endif keepassx-0.4.3/src/dialogs/TargetWindowDlg.h0000664000175000017500000000334211070474015017773 0ustar felixfelix/*************************************************************************** * Copyright (C) 2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef TARGETWINDOWDLG_H #define TARGETWINDOWDLG_H #include "ui_TargetWindowDlg.h" class TargetWindowDlg : public QDialog, private Ui_TargetWindowDlg { Q_OBJECT public: TargetWindowDlg(QWidget* parent); inline QString windowTitle() { return pWindowTitle; }; private slots: void OnAccept(); private: QString pWindowTitle; }; #endif // TARGETWINDOWDLG_H keepassx-0.4.3/src/dialogs/AddBookmarkDlg.cpp0000664000175000017500000000570611153227155020077 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "AddBookmarkDlg.h" AddBookmarkDlg::AddBookmarkDlg(QWidget* parent, QString DefaultFilename, int _ItemID):QDialog(parent) { setupUi(this); ItemID=_ItemID; connect(Button_Browse,SIGNAL(clicked()),this,SLOT(OnButtonBrowse())); connect(buttonBox->button(QDialogButtonBox::Ok),SIGNAL(clicked()),this,SLOT(OnButtonOk())); connect(buttonBox->button(QDialogButtonBox::Cancel),SIGNAL(clicked()),this,SLOT(reject())); if(ItemID==-1){ createBanner(&BannerPixmap,getPixmap("bookmark_add"),tr("Add Bookmark"),width()); if(DefaultFilename.isEmpty()) QMetaObject::invokeMethod(this, "OnButtonBrowse", Qt::QueuedConnection); else Edit_Filename->setText(DefaultFilename); } else { createBanner(&BannerPixmap,getPixmap("bookmark_edit"),tr("Edit Bookmark"),width()); Edit_Title->setText(KpxBookmarks::title(ItemID)); Edit_Filename->setText(KpxBookmarks::path(ItemID)); setWindowTitle(tr("Edit Bookmark")); } } void AddBookmarkDlg::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void AddBookmarkDlg::OnButtonBrowse(){ QString path=KpxFileDialogs::openExistingFile(this,"AddBookmarkDlg", tr("Add Bookmark"), QStringList() << tr("KeePass Databases (*.kdb)") << tr("All Files (*)")); if(path!=QString()) Edit_Filename->setText(path); } void AddBookmarkDlg::OnButtonOk(){ if(ItemID==-1) ItemID=KpxBookmarks::add(Edit_Title->text(),Edit_Filename->text()); else KpxBookmarks::edit(Edit_Title->text(),Edit_Filename->text(),ItemID); accept(); } keepassx-0.4.3/src/dialogs/HelpDlg.cpp0000664000175000017500000000057011246517350016605 0ustar felixfelix #include "HelpDlg.h" HelpDlg::HelpDlg(QWidget* parent) : QDialog(parent) { setupUi(this); setWindowTitle( windowTitle().append(" - ").append(APP_DISPLAY_NAME) ); textBrowser->setSource(QUrl("qrc:/docs/index.html")); buttonPrevious->setIcon(getIcon("go-previous")); buttonNext->setIcon(getIcon("go-next")); buttonFirst->setIcon(getIcon("go-home")); showMaximized(); } keepassx-0.4.3/src/dialogs/CustomizeDetailViewDlg.h0000664000175000017500000000416510766561023021330 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _CUSTOMIZE_DETAIL_VIEW_H_ #define _CUSTOMIZE_DETAIL_VIEW_H_ #include "ui_CustomizeDetailViewDlg.h" class CustomizeDetailViewDialog : public QDialog, private Ui_CustomizeDetailViewDialog{ Q_OBJECT public: CustomizeDetailViewDialog(QWidget* parent); private slots: void OnBtnBold(bool); void OnBtnItalic(bool); void OnBtnUnderline(bool); void OnBtnAlignLeft(); void OnBtnAlignRight(); void OnBtnAlignCenter(); void OnBtnAlignBlock(); void OnBtnColor(); void OnSave(); void OnCancel(); void OnRestoreDefault(QAbstractButton* button); void OnInsertTemplate(QAction*); void OnCursorPositionChanged(); void OnTabChanged(int index); void OnFontSizeChanged(const QString& text=QString()); private: QColor CurrentColor; }; #endif keepassx-0.4.3/src/dialogs/DatabaseSettingsDlg.h0000664000175000017500000000347311160162160020602 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef DBSETTINGSDLG_H #define DBSETTINGSDLG_H #include "ui_DatabaseSettingsDlg.h" class CDbSettingsDlg : public QDialog, private Ui_DatabaseSettingsDlg { Q_OBJECT public: CDbSettingsDlg(QWidget* parent,IDatabase* db, Qt::WFlags fl = 0 ); ~CDbSettingsDlg(); virtual void paintEvent(QPaintEvent *); private slots: void OnCancel(); void OnOK(); void OnBenchmark(); private: IKdbSettings* database; QPixmap BannerPixmap; }; #endif keepassx-0.4.3/src/dialogs/ExpiredEntriesDlg.cpp0000664000175000017500000000535511030744051020644 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "ExpiredEntriesDlg.h" ExpiredEntriesDialog::ExpiredEntriesDialog(QWidget* parent,IDatabase* database,const QList& ExpiredEntries):QDialog(parent){ setupUi(this); Entries=ExpiredEntries; for(int i=0;isetData(0,Qt::UserRole,i); item->setText(0,Entries[i]->group()->title()); item->setText(1,Entries[i]->title()); item->setText(2,Entries[i]->username()); item->setText(3,Entries[i]->expire().dateToString(Qt::SystemLocaleDate)); item->setIcon(0,database->icon(Entries[i]->group()->image())); item->setIcon(1,database->icon(Entries[i]->image())); } connect(treeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(OnItemDoubleClicked(QTreeWidgetItem*))); } void ExpiredEntriesDialog::paintEvent(QPaintEvent* event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void ExpiredEntriesDialog::resizeEvent(QResizeEvent* event){ createBanner(&BannerPixmap,getPixmap("alarmclock"),tr("Expired Entries in the Database"),width()); QDialog::resizeEvent(event); } void ExpiredEntriesDialog::OnItemDoubleClicked(QTreeWidgetItem* item){ SelectedEntry=Entries[item->data(0,Qt::UserRole).toInt()]; accept(); } ///TODO 0.2.3 locale aware string/date compare for correct sorting keepassx-0.4.3/src/dialogs/EditEntryDlg.cpp0000664000175000017500000003454011246776745017647 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "SelectIconDlg.h" #include "PasswordGenDlg.h" #include "EditEntryDlg.h" #include "CalendarDlg.h" #ifdef GLOBAL_AUTOTYPE #include "TargetWindowDlg.h" #endif CEditEntryDlg::CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* parent, bool newEntry) : QDialog(parent) { Q_ASSERT(_db); Q_ASSERT(_entry); entry=_entry; db=_db; pNewEntry=newEntry; setupUi(this); ModFlag=false; QMenu *ExpirePresetsMenu=new QMenu(); setGeometry( config->dialogGeometry(this) ); connect(Edit_Title, SIGNAL(textChanged(const QString&)), this, SLOT( OnTitleTextChanged(const QString&))); connect(Edit_Password_w, SIGNAL(editingFinished()), this, SLOT(OnPasswordwLostFocus())); connect(Edit_Password_w, SIGNAL(textChanged(const QString&)), this, SLOT( OnPasswordwTextChanged())); connect(Edit_Password, SIGNAL(textChanged(const QString&)), this, SLOT( OnPasswordTextChanged())); connect(ButtonEchoMode, SIGNAL(clicked()), this, SLOT( ChangeEchoMode())); connect(buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT( OnButtonCancel())); connect(ButtonOpenAttachment, SIGNAL(clicked()), this, SLOT( OnNewAttachment())); connect(ButtonDeleteAttachment, SIGNAL(clicked()), this, SLOT( OnDeleteAttachment())); connect(ButtonSaveAttachment, SIGNAL(clicked()), this, SLOT( OnSaveAttachment())); connect(ButtonGenPw, SIGNAL(clicked()), this, SLOT( OnButtonGenPw())); connect(buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()),this,SLOT(OnButtonOK())); connect(CheckBox_ExpiresNever,SIGNAL(stateChanged(int)),this,SLOT(OnCheckBoxExpiresNeverChanged(int))); connect(Button_Icons,SIGNAL(clicked()),this,SLOT(OnButtonIcons())); connect(ExpirePresetsMenu,SIGNAL(triggered(QAction*)),this,SLOT(OnExpirePreset(QAction*))); connect(ButtonExpirePresets,SIGNAL(triggered(QAction*)),this,SLOT(OnCalendar(QAction*))); connect(this, SIGNAL(finished(int)), this, SLOT(OnClose())); // QAction::data() contains the time until expiration in days. ExpirePresetsMenu->addAction(tr("Today"))->setData(0); ExpirePresetsMenu->addSeparator(); ExpirePresetsMenu->addAction(tr("1 Week"))->setData(7); ExpirePresetsMenu->addAction(tr("2 Weeks"))->setData(14); ExpirePresetsMenu->addAction(tr("3 Weeks"))->setData(21); ExpirePresetsMenu->addSeparator(); ExpirePresetsMenu->addAction(tr("1 Month"))->setData(30); ExpirePresetsMenu->addAction(tr("3 Months"))->setData(90); ExpirePresetsMenu->addAction(tr("6 Months"))->setData(180); ExpirePresetsMenu->addSeparator(); ExpirePresetsMenu->addAction(tr("1 Year"))->setData(365); ButtonExpirePresets->setMenu(ExpirePresetsMenu); QAction* actionCalendar = new QAction(tr("Calendar..."),ButtonExpirePresets); actionCalendar->setData(-1); ButtonExpirePresets->setDefaultAction(actionCalendar); IconIndex = entry->image(); Button_Icons->setIcon(db->icon(IconIndex)); ButtonOpenAttachment->setIcon(getIcon("fileopen")); ButtonDeleteAttachment->setIcon(getIcon("filedelete")); ButtonSaveAttachment->setIcon(getIcon("filesave")); ButtonExpirePresets->setIcon(getIcon("clock")); OnTitleTextChanged(entry->title()); setWindowIcon(db->icon(IconIndex)); Edit_Title->setText(entry->title()); Edit_UserName->setText(entry->username()); Edit_URL->setText(entry->url()); SecString Password=entry->password(); Password.unlock(); Edit_Password->setText(Password.string()); Edit_Password_w->setText(Password.string()); Password.lock(); if(!config->showPasswords()) ChangeEchoMode(); else ButtonEchoMode->setIcon(getIcon("pwd_show")); // MX-COMMENT: This call is not needed. Both Passwords fields will always have the same value OnPasswordwLostFocus(); int bits=(Password.length()*8); Label_Bits->setText(tr("%1 Bit").arg(QString::number(bits))); if(bits>128) bits=128; Progress_Quali->setValue(100*bits/128); Edit_Attachment->setText(entry->binaryDesc()); Edit_Comment->setPlainText(entry->comment()); InitGroupComboBox(); if(!entry->binarySize()){ ButtonSaveAttachment->setDisabled(true); ButtonDeleteAttachment->setDisabled(true); Label_AttachmentSize->setText(""); } else Label_AttachmentSize->setText(entry->friendlySize()); if(entry->expire()==Date_Never){ DateTime_Expire->setDisabled(true); CheckBox_ExpiresNever->setChecked(true); } else{ DateTime_Expire->setDateTime(entry->expire()); } #ifdef AUTOTYPE QToolButton* buttonTools = new QToolButton(buttonBox); buttonTools->setText("Tools"); buttonTools->setPopupMode(QToolButton::InstantPopup); QMenu* menuTools = new QMenu(buttonTools); connect(menuTools->addAction("Auto-Type: Customize Sequence"), SIGNAL(triggered(bool)), SLOT(OnCustomizeSequence())); #ifdef GLOBAL_AUTOTYPE connect(menuTools->addAction("Auto-Type: Select target window"), SIGNAL(triggered(bool)), SLOT(OnSelectTarget())); #endif buttonTools->setMenu(menuTools); buttonBox->addButton(buttonTools, QDialogButtonBox::ResetRole); // ResetRole: workaround to display button on the left #endif } CEditEntryDlg::~CEditEntryDlg(){ } void CEditEntryDlg::resizeEvent(QResizeEvent *event){ createBanner(&BannerPixmap,getPixmap("keepassx"),pNewEntry?tr("New Entry"):tr("Edit Entry"),width()); QDialog::resizeEvent(event); } void CEditEntryDlg::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void CEditEntryDlg::InitGroupComboBox(){ QString Space; groups=db->sortedGroups(); for(int i=0;ilevel())); Combo_Group->insertItem(i,db->icon(groups[i]->image()),Space+groups[i]->title()); if(groups[i]==entry->group()){ Combo_Group->setCurrentIndex(i); GroupIndex=i; } } } void CEditEntryDlg::OnButtonOK() { bool EntryMoved=false; if(QString::compare(Edit_Password->text(),Edit_Password_w->text())!=0){ QMessageBox::warning(NULL,tr("Warning"),tr("Password and password repetition are not equal.\nPlease check your input."),tr("OK")); return; } if(CheckBox_ExpiresNever->checkState()==Qt::Checked){ DateTime_Expire->setDateTime(Date_Never); } if(DateTime_Expire->dateTime()!=entry->expire()) ModFlag=true; if(entry->title()!=Edit_Title->text()) ModFlag=true; if(entry->username()!=Edit_UserName->text()) ModFlag=true; if(entry->url()!=Edit_URL->text()) ModFlag=true; if(entry->comment()!=Edit_Comment->toPlainText()) ModFlag=true; SecString pw=entry->password(); pw.unlock(); QString password=pw.string(); if(password!=Edit_Password->text()) ModFlag=true; pw.lock(); password.fill('X'); if(entry->image()!=IconIndex) ModFlag=true; if(ModFlag){ QDateTime now = QDateTime::currentDateTime(); entry->setExpire(DateTime_Expire->dateTime()); entry->setLastAccess(now); entry->setLastMod(now); entry->setTitle(Edit_Title->text()); entry->setUsername(Edit_UserName->text()); entry->setUrl(Edit_URL->text()); SecString pw; QString password=Edit_Password->text(); pw.setString(password,true); entry->setPassword(pw); entry->setComment(Edit_Comment->toPlainText()); entry->setImage(IconIndex); } if(Combo_Group->currentIndex()!=GroupIndex){ db->moveEntry(entry,groups[Combo_Group->currentIndex()]); EntryMoved=true; } if(EntryMoved) done(ModFlag?2:3); else if (ModFlag) done(1); else done(0); } void CEditEntryDlg::OnButtonCancel() { entry->setLastAccess(QDateTime::currentDateTime()); done(0); } void CEditEntryDlg::ChangeEchoMode() { if(Edit_Password->echoMode()==QLineEdit::Normal){ Edit_Password->setEchoMode(QLineEdit::Password); Edit_Password_w->setEchoMode(QLineEdit::Password); ButtonEchoMode->setIcon(getIcon("pwd_hide")); } else { Edit_Password->setEchoMode(QLineEdit::Normal); Edit_Password_w->setEchoMode(QLineEdit::Normal); ButtonEchoMode->setIcon(getIcon("pwd_show")); } } void CEditEntryDlg::OnTitleTextChanged(const QString& txt) { setWindowTitle((txt=="") ? tr("[Untitled Entry]") : txt); } void CEditEntryDlg::OnPasswordTextChanged() { Edit_Password_w->setText(QString()); int bits=(Edit_Password->text().length()*8); Label_Bits->setText(QString::number(bits)+" Bit"); if(bits>128)bits=128; Progress_Quali->setValue(100*bits/128); } void CEditEntryDlg::OnPasswordwTextChanged() { if(QString::compare(Edit_Password_w->text(),Edit_Password->text().mid(0,(Edit_Password_w->text().length())))!=0){ QPalette palette; palette.setColor(Edit_Password_w->backgroundRole(),QColor(255,125,125)); Edit_Password_w->setPalette(palette); } else { Edit_Password_w->setPalette(QApplication::palette()); } } void CEditEntryDlg::OnPasswordwLostFocus() { if (QString::compare(Edit_Password_w->text(),Edit_Password->text())!=0){ QPalette palette; palette.setColor(Edit_Password_w->backgroundRole(),QColor(255,125,125)); Edit_Password_w->setPalette(palette); } else { Edit_Password_w->setPalette(QApplication::palette ()); } } void CEditEntryDlg::OnNewAttachment() { QString filename=QFileDialog::getOpenFileName(this,tr("Add Attachment..."),QDir::homePath()); if(filename=="")return; QFile file(filename); if(!file.open(QIODevice::ReadOnly)){ file.close(); QMessageBox::warning(NULL,tr("Error"),tr("Could not open file."),tr("OK")); return; } ModFlag=true; entry->setBinary(file.readAll()); file.close(); QFileInfo info(filename); entry->setBinaryDesc(info.fileName()); Edit_Attachment->setText(entry->binaryDesc()); Label_AttachmentSize->setText(entry->friendlySize()); ButtonOpenAttachment->setEnabled(true); ButtonSaveAttachment->setEnabled(true); ButtonDeleteAttachment->setEnabled(true); } void CEditEntryDlg::OnSaveAttachment(){ saveAttachment(entry,this); } void CEditEntryDlg::saveAttachment(IEntryHandle* pEntry, QWidget* ParentWidget) { if(!pEntry->binarySize()){ QMessageBox::information(NULL,tr("Error"),tr("The chosen entry has no attachment or it is empty."),tr("OK")); return; } QFileDialog FileDlg(ParentWidget,tr("Save Attachment..."),QDir::homePath()); FileDlg.selectFile(pEntry->binaryDesc()); FileDlg.setAcceptMode(QFileDialog::AcceptSave); if(!FileDlg.exec())return; QString filename=FileDlg.selectedFiles()[0]; QFile file(filename); if(!file.open(QIODevice::WriteOnly | QIODevice::Truncate)){ QMessageBox::critical(NULL,tr("Error"),tr("Could not open file."),tr("OK")); return; } int r=file.write(pEntry->binary()); if(r==-1){ file.close(); QMessageBox::critical(NULL,tr("Error"),tr("Error while writing the file."),tr("OK")); return; } if(r!=pEntry->binarySize()){ file.close(); QMessageBox::critical(NULL,tr("Error"),tr("Error while writing the file."),tr("OK")); return; } file.close(); } void CEditEntryDlg::OnDeleteAttachment() { int r=QMessageBox::warning(this,tr("Delete Attachment?"), tr("You are about to delete the attachment of this entry.\nAre you sure?"), tr("Yes"),tr("No, Cancel"),NULL,1,1); if(r==0){ ModFlag=true; entry->setBinary(QByteArray()); entry->setBinaryDesc(""); Edit_Attachment->setText(""); Label_AttachmentSize->setText(""); ButtonOpenAttachment->setEnabled(true); ButtonSaveAttachment->setDisabled(true); ButtonDeleteAttachment->setDisabled(true); } } void CEditEntryDlg::OnButtonGenPw() { CGenPwDialog dlg(this,false); if(dlg.exec()){ Edit_Password->setText(dlg.Edit_dest->text()); Edit_Password_w->setText(dlg.Edit_dest->text()); ModFlag=true; } } void CEditEntryDlg::OnCheckBoxExpiresNeverChanged(int state){ if(state==Qt::Unchecked) DateTime_Expire->setDisabled(false); else DateTime_Expire->setDisabled(true); } void CEditEntryDlg::OnButtonIcons(){ // CSelectIconDlg dlg(db,Combo_IconPicker->currentIndex(),this); CSelectIconDlg dlg(db, IconIndex, this); int r=dlg.exec(); if (r!=-1) { IconIndex=r; Button_Icons->setIcon(db->icon(IconIndex)); setWindowIcon(db->icon(IconIndex)); } } void CEditEntryDlg::OnExpirePreset(QAction* action){ CheckBox_ExpiresNever->setChecked(false); int days = action->data().toInt(); switch (days){ case 30: case 90: case 180: DateTime_Expire->setDate(QDate::currentDate().addMonths(days/30)); break; case 365: DateTime_Expire->setDate(QDate::currentDate().addYears(1)); break; default: DateTime_Expire->setDate(QDate::currentDate().addDays(days)); } DateTime_Expire->setTime(QTime(0,0,0)); } void CEditEntryDlg::OnCalendar(QAction* action){ if (action->data().toInt()!=-1) return; CalendarDialog dlg(this); if(dlg.exec()==QDialog::Accepted){ CheckBox_ExpiresNever->setChecked(false); DateTime_Expire->setDate(dlg.calendarWidget->selectedDate()); DateTime_Expire->setTime(QTime(0,0,0)); } } void CEditEntryDlg::OnClose(){ config->setDialogGeometry(this); } void CEditEntryDlg::OnCustomizeSequence(){ #ifdef AUTOTYPE QString text = Edit_Comment->toPlainText(); if (!text.isEmpty()) text.append("\n"); Edit_Comment->setPlainText(text.append("Auto-Type: {USERNAME}{TAB}{PASSWORD}{ENTER}")); #endif } void CEditEntryDlg::OnSelectTarget(){ #ifdef GLOBAL_AUTOTYPE TargetWindowDlg dlg(this); if (dlg.exec() && !dlg.windowTitle().isEmpty()){ QString text = Edit_Comment->toPlainText(); if (!text.isEmpty()) text.append("\n"); Edit_Comment->setPlainText(text.append("Auto-Type-Window: "+dlg.windowTitle())); } #endif } keepassx-0.4.3/src/dialogs/SimplePasswordDlg.cpp0000664000175000017500000000526511160162160020665 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "SimplePasswordDlg.h" SimplePasswordDialog::SimplePasswordDialog(QWidget* parent, Qt::WFlags fl) : QDialog(parent,fl) { setupUi(this); connect(buttonBox->button(QDialogButtonBox::Ok),SIGNAL(clicked()),this,SLOT(OnOK())); connect(buttonBox->button(QDialogButtonBox::Cancel),SIGNAL(clicked()),this,SLOT(OnCancel())); connect(Button_HidePassword,SIGNAL(toggled(bool)),this,SLOT(OnHidePasswordToggled(bool))); connect(EditPassword,SIGNAL(textChanged(const QString&)),this,SLOT(OnTextChanged(const QString&))); if(!config->showPasswordsPasswordDlg())Button_HidePassword->toggle(); buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } SimplePasswordDialog::~SimplePasswordDialog() { } void SimplePasswordDialog::OnTextChanged(const QString& txt){ if(txt.isEmpty()) buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); else buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } void SimplePasswordDialog::OnCancel() { done(0); } void SimplePasswordDialog::OnOK() { password=EditPassword->text(); done(1); } void SimplePasswordDialog::OnHidePasswordToggled(bool state) { if(state){ EditPassword->setEchoMode(QLineEdit::Password); Button_HidePassword->setIcon(getIcon("pwd_hide")); } else { EditPassword->setEchoMode(QLineEdit::Normal); Button_HidePassword->setIcon(getIcon("pwd_show")); } } keepassx-0.4.3/src/dialogs/CollectEntropyDlg.cpp0000664000175000017500000000624210766561023020667 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "CollectEntropyDlg.h" CollectEntropyDlg::CollectEntropyDlg(QWidget* parent):QDialog(parent){ setupUi(this); resize(layout()->closestAcceptableSize(this,QSize(0,0))); setMinimumSize(size()); setMaximumSize(size()); createBanner(&BannerPixmap,getPixmap("dice"),tr("Entropy Collection"),width()); KeyEntropyBuffer=new unsigned char[105]; MouseEntropyBuffer=new quint16[210]; KeyCounter=0; MouseCounter=0; QTimer* timer=new QTimer(this); connect(timer,SIGNAL(timeout()),this,SLOT(trackMousePos())); timer->setInterval(50); timer->start(); ReseedDone=false; } CollectEntropyDlg::~CollectEntropyDlg(){ delete [] KeyEntropyBuffer; delete [] MouseEntropyBuffer; } void CollectEntropyDlg::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void CollectEntropyDlg::trackMousePos(){ QPoint p=QCursor::pos(); if(LastPos-p==QPoint(0,0))return; LastPos=p; if(MouseCounter==105 || ReseedDone)return; MouseEntropyBuffer[2*MouseCounter]=p.x(); MouseEntropyBuffer[2*MouseCounter+1]=p.y(); MouseCounter++; updateProgress(); } void CollectEntropyDlg::keyReleaseEvent(QKeyEvent* event ){ QDialog::keyReleaseEvent(event); if(KeyCounter==105 || ReseedDone)return; KeyEntropyBuffer[KeyCounter]=event->key(); KeyCounter++; updateProgress(); } void CollectEntropyDlg::updateProgress(){ if(4*KeyCounter+4*MouseCounter>=420){ progressBar->setValue(420); ReseedDone=true; reseedStrongPool((quint8*)MouseEntropyBuffer,4*MouseCounter,KeyEntropyBuffer,KeyCounter); Animation->stop(); stackedWidget->setCurrentIndex(1); } else progressBar->setValue(4*KeyCounter+4*MouseCounter); } void CollectEntropyDlg::showEvent(QShowEvent* event){ if(!event->spontaneous()){ Animation->start(); } } keepassx-0.4.3/src/dialogs/CalendarDlg.h0000664000175000017500000000315510764047761017105 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _CALENDAR_DLG_H_ #define _CALENDAR_DLG_H_ #include "ui_CalendarDlg.h" class CalendarDialog:public QDialog, public Ui_CalendarDialog{ Q_OBJECT public: CalendarDialog(QWidget* parent, const QDate& Start=QDate::currentDate()); }; #endif keepassx-0.4.3/src/dialogs/SettingsDlg.cpp0000664000175000017500000003707411325300107017512 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include "dialogs/SettingsDlg.h" #include "dialogs/CustomizeDetailViewDlg.h" //bool CSettingsDlg::PluginsModified=false; CSettingsDlg::CSettingsDlg(QWidget* parent):QDialog(parent,Qt::Dialog) { setupUi(this); connect(listWidget, SIGNAL( currentRowChanged(int) ), stackedWidget, SLOT( setCurrentIndex(int) ) ); connect(DialogButtons, SIGNAL( accepted() ), this, SLOT( OnOK() ) ); connect(DialogButtons, SIGNAL( rejected() ), this, SLOT( OnCancel() ) ); connect(DialogButtons, SIGNAL( clicked(QAbstractButton*)), this, SLOT(OnOtherButton(QAbstractButton*))); connect(CheckBox_ShowSysTrayIcon, SIGNAL( toggled(bool) ), CheckBox_CloseToTray, SLOT( setEnabled(bool) ) ); connect(CheckBox_ShowSysTrayIcon, SIGNAL( toggled(bool) ), CheckBox_MinimizeTray, SLOT( setEnabled(bool) ) ); connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_RememberLastKey, SLOT( setEnabled(bool) ) ); connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_StartMinimized, SLOT( setEnabled(bool) ) ); connect(CheckBox_OpenLast, SIGNAL( toggled(bool) ), CheckBox_StartLocked, SLOT( setEnabled(bool) ) ); connect(listSelectLanguage, SIGNAL( currentRowChanged(int) ), SLOT( OnSelectLanguage(int) ) ); connect(Button_ClearFileDlgHistory, SIGNAL(clicked()), &fileDlgHistory, SLOT(clear())); connect(ButtonColor1, SIGNAL( clicked() ), this, SLOT( OnColor1() ) ); connect(ButtonColor2, SIGNAL( clicked() ), this, SLOT( OnColor2() ) ); connect(ButtonTextColor, SIGNAL( clicked() ), this, SLOT( OnTextColor() ) ); connect(Button_MountDirBrowse,SIGNAL(clicked()),this,SLOT(OnMountDirBrowse())); connect(Button_BrowserCmdBrowse,SIGNAL(clicked()),this,SLOT(OnBrowserCmdBrowse())); //connect(Radio_IntPlugin_None,SIGNAL(toggled(bool)),this,SLOT(OnIntPluginNone())); //connect(Radio_IntPlugin_Gnome,SIGNAL(toggled(bool)),this,SLOT(OnIntPluginGnome())); //connect(Radio_IntPlugin_Kde,SIGNAL(toggled(bool)),this,SLOT(OnIntPluginKde())); connect(Button_CustomizeEntryDetails,SIGNAL(clicked()),this,SLOT(OnCustomizeEntryDetails())); connect(CheckBox_InactivityLock, SIGNAL(toggled(bool)), SLOT(OnInactivityLockChange(bool))); connect(CheckBox_Backup, SIGNAL( toggled(bool) ), CheckBox_BackupDelete, SLOT( setEnabled(bool) ) ); connect(CheckBox_Backup, SIGNAL( toggled(bool) ), SLOT( OnBackupDeleteChange() ) ); connect(CheckBox_BackupDelete, SIGNAL( toggled(bool) ), SLOT( OnBackupDeleteChange() ) ); connect(CheckBox_AutoSave, SIGNAL(toggled(bool)), SLOT(OnAutoSaveToggle(bool))); connect(CheckBox_AutoSaveChange, SIGNAL(toggled(bool)), SLOT(OnAutoSaveChangeToggle(bool))); #if !defined(AUTOTYPE) Box_AutoType->setVisible(false); #endif #if !defined(GLOBAL_AUTOTYPE) Label_GlobalShortcut->setVisible(false); Edit_GlobalShortcut->setVisible(false); CheckBox_EntryTitlesMatch->setVisible(false); #endif #ifdef Q_WS_MAC CheckBox_AlwaysOnTop->setVisible(false); #endif #ifdef GLOBAL_AUTOTYPE pShortcut = autoType->getShortcut(); connect(this,SIGNAL(rejected()),SLOT(resetGlobalShortcut())); #endif listWidget->setCurrentRow(0); //General (1) CheckBox_OpenLast->setChecked(config->openLastFile()); CheckBox_RememberLastKey->setChecked(config->rememberLastKey()); CheckBox_ShowSysTrayIcon->setChecked(config->showSysTrayIcon()); CheckBox_CloseToTray->setChecked(config->minimizeToTray()); CheckBox_MinimizeTray->setChecked(config->minimizeTray()); CheckBox_StartMinimized->setChecked(config->startMinimized()); CheckBox_StartLocked->setChecked(config->startLocked()); checkBox_SaveFileDlgHistory->setChecked(config->saveFileDlgHistory()); checkBox_AskBeforeDelete->setChecked(config->askBeforeDelete()); //General (2) CheckBox_Backup->setChecked(config->backup()); CheckBox_BackupDelete->setChecked(config->backupDelete()); SpinBox_BackupDeleteAfter->setValue(config->backupDeleteAfter()); CheckBox_AutoSave->setChecked(config->autoSave()); CheckBox_AutoSaveChange->setChecked(config->autoSaveChange()); switch(config->groupTreeState()){ case KpxConfig::RestoreLast: Radio_GroupTreeRestore->setChecked(true); break; case KpxConfig::ExpandAll: Radio_GroupTreeExpand->setChecked(true); break; default: Radio_GroupTreeDoNothing->setChecked(true); } //Appearance CheckBox_AlwaysOnTop->setChecked(config->alwaysOnTop()); QPixmap *pxt=new QPixmap(pixmTextColor->width(),pixmTextColor->height()); pxt->fill(config->bannerTextColor()); pixmTextColor->clear(); pixmTextColor->setPixmap(*pxt); QPixmap *px1=new QPixmap(pixmColor1->width(),pixmColor1->height()); px1->fill(config->bannerColor1()); pixmColor1->clear(); pixmColor1->setPixmap(*px1); QPixmap *px2=new QPixmap(pixmColor2->width(),pixmColor2->height()); px2->fill(config->bannerColor2()); pixmColor2->clear(); pixmColor2->setPixmap(*px2); color1=config->bannerColor1(); color2=config->bannerColor2(); textcolor=config->bannerTextColor(); CheckBox_AlternatingRowColors->setChecked(config->alternatingRowColors()); //Language translations = getAllTranslations(); initLanguageList(); QString currentLang = config->language(); bool foundCurrent = false; for (int i=0; isetCurrentRow(i+2); foundCurrent = true; } } if (!foundCurrent){ if (currentLang=="en_US") listSelectLanguage->setCurrentRow(1); else listSelectLanguage->setCurrentRow(0); } //Security SpinBox_ClipboardTime->setValue(config->clipboardTimeOut()); CheckBox_ShowPasswords->setChecked(config->showPasswords()); CheckBox_ShowPasswords_PasswordDlg->setChecked(config->showPasswordsPasswordDlg()); CheckBox_LockMinimize->setChecked(config->lockOnMinimize()); CheckBox_InactivityLock->setChecked(config->lockOnInactivity()); SpinBox_InacitivtyTime->setValue(config->lockAfterSec()); //Features stackedWidget->removeWidget(pageFeatures); //CheckBox_FeatureBookmarks->setChecked(config->featureBookmarks()); // TODO Desktop Integration stackedWidget->removeWidget(pageDesktop); /*if(PluginLoadError==QString()) Label_IntPlugin_Error->hide(); else Label_IntPlugin_Error->setText(QString("

%1

") .arg(tr("Error: %1")).arg(PluginLoadError)); switch(config->integrPlugin()){ case KpxConfig::KDE: Radio_IntPlugin_Kde->setChecked(true); break; case KpxConfig::Gnome: Radio_IntPlugin_Gnome->setChecked(true); break; default: Radio_IntPlugin_None->setChecked(true); } if(!PluginsModified) Label_IntPlugin_Info->hide();*/ //Advanced Box_BrowserCmd->setChecked(!config->urlCmdDef()); Edit_BrowserCmd->setText(config->urlCmd()); Edit_MountDir->setText(config->mountDir()); CheckBox_SaveRelativePaths->setChecked(config->saveRelativePaths()); #ifdef AUTOTYPE SpinBox_AutoTypePreGap->setValue(config->autoTypePreGap()); SpinBox_AutoTypeKeyStrokeDelay->setValue(config->autoTypeKeyStrokeDelay()); #endif #ifdef GLOBAL_AUTOTYPE Edit_GlobalShortcut->setShortcut(config->globalShortcut()); CheckBox_EntryTitlesMatch->setChecked(config->entryTitlesMatch()); #endif adjustSize(); resize( size() + QSize(20,20) ); } CSettingsDlg::~CSettingsDlg(){ } void CSettingsDlg::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void CSettingsDlg::resizeEvent(QResizeEvent* event){ createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width()); QDialog::resizeEvent(event); } void CSettingsDlg::OnOK() { apply(); accept(); } void CSettingsDlg::OnCancel() { reject(); } void CSettingsDlg::OnOtherButton(QAbstractButton* button){ if(DialogButtons->buttonRole(button)==QDialogButtonBox::ApplyRole) apply(); } void CSettingsDlg::apply(){ //General (1) config->setShowSysTrayIcon(CheckBox_ShowSysTrayIcon->isChecked()); config->setMinimizeToTray(CheckBox_CloseToTray->isChecked()); config->setMinimizeTray(CheckBox_MinimizeTray->isChecked()); config->setStartMinimized(CheckBox_StartMinimized->isChecked()); config->setStartLocked(CheckBox_StartLocked->isChecked()); config->setSaveFileDlgHistory(checkBox_SaveFileDlgHistory->isChecked()); if(Radio_GroupTreeRestore->isChecked())config->setGroupTreeState(KpxConfig::RestoreLast); else if(Radio_GroupTreeExpand->isChecked())config->setGroupTreeState(KpxConfig::ExpandAll); else config->setGroupTreeState(KpxConfig::DoNothing); config->setOpenLastFile(CheckBox_OpenLast->isChecked()); config->setRememberLastKey(CheckBox_RememberLastKey->isChecked()); config->setAskBeforeDelete(checkBox_AskBeforeDelete->isChecked()); //General (2) config->setBackup(CheckBox_Backup->isChecked()); config->setBackupDelete(CheckBox_BackupDelete->isChecked()); config->setBackupDeleteAfter(SpinBox_BackupDeleteAfter->value()); config->setAutoSave(CheckBox_AutoSave->isChecked()); config->setAutoSaveChange(CheckBox_AutoSaveChange->isChecked()); //Appearence config->setAlwaysOnTop(CheckBox_AlwaysOnTop->isChecked()); config->setBannerColor1(color1); config->setBannerColor2(color2); config->setBannerTextColor(textcolor); config->setAlternatingRowColors(CheckBox_AlternatingRowColors->isChecked()); //Language int langIndex = listSelectLanguage->currentRow(); QString oldLang = config->language(); if (langIndex==0) config->setLanguage("auto"); else if (langIndex==1) config->setLanguage("en_US"); else config->setLanguage(translations[langIndex-2].nameCode); if (config->language() != oldLang){ installTranslator(); retranslateUi(this); initLanguageList(); listSelectLanguage->setCurrentRow(langIndex); } //Security config->setClipboardTimeOut(SpinBox_ClipboardTime->value()); config->setShowPasswords(CheckBox_ShowPasswords->isChecked()); config->setShowPasswordsPasswordDlg(CheckBox_ShowPasswords_PasswordDlg->isChecked()); config->setLockOnMinimize(CheckBox_LockMinimize->isChecked()); config->setLockOnInactivity(CheckBox_InactivityLock->isChecked()); config->setLockAfterSec(SpinBox_InacitivtyTime->value()); //Features //config->setFeatureBookmarks(CheckBox_FeatureBookmarks->isChecked()); //TODO Desktop Integration /*PluginsModified=Label_IntPlugin_Info->isVisible(); if(Radio_IntPlugin_Kde->isChecked())config->setIntegrPlugin(KpxConfig::KDE); else if(Radio_IntPlugin_Gnome->isChecked())config->setIntegrPlugin(KpxConfig::Gnome); else config->setIntegrPlugin(KpxConfig::NoIntegr);*/ //Advanced config->setUrlCmdDef(!Box_BrowserCmd->isChecked()); config->setUrlCmd(Edit_BrowserCmd->text()); config->setMountDir(Edit_MountDir->text()); if(!config->mountDir().isEmpty() && config->mountDir().right(1)!="/") config->setMountDir(config->mountDir()+"/"); config->setSaveRelativePaths(CheckBox_SaveRelativePaths->isChecked()); #ifdef AUTOTYPE config->setAutoTypePreGap(SpinBox_AutoTypePreGap->value()); config->setAutoTypeKeyStrokeDelay(SpinBox_AutoTypeKeyStrokeDelay->value()); #endif #ifdef GLOBAL_AUTOTYPE config->setGlobalShortcut(Edit_GlobalShortcut->shortcut()); config->setEntryTitlesMatch(CheckBox_EntryTitlesMatch->isChecked()); #endif } void CSettingsDlg::OnTextColor() { QColor c=QColorDialog::getColor(textcolor,this); if(c.isValid()){ textcolor=c; QPixmap *px=new QPixmap(pixmTextColor->width(),pixmTextColor->height()); px->fill(c); pixmTextColor->clear(); pixmTextColor->setPixmap(*px); createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width(),color1,color2,textcolor); } } void CSettingsDlg::OnColor2() { QColor c=QColorDialog::getColor(color2,this); if(c.isValid()){ color2=c; QPixmap *px=new QPixmap(pixmColor2->width(),pixmColor2->height()); px->fill(c); pixmColor2->clear(); pixmColor2->setPixmap(*px); createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width(),color1,color2,textcolor); } } void CSettingsDlg::OnColor1() { QColor c=QColorDialog::getColor(color1,this); if(c.isValid()){ color1=c; QPixmap *px=new QPixmap(pixmColor1->width(),pixmColor1->height()); px->fill(c); pixmColor1->clear(); pixmColor1->setPixmap(*px); createBanner(&BannerPixmap,getPixmap("appsettings"),tr("Settings"),width(),color1,color2,textcolor); } } void CSettingsDlg::OnMountDirBrowse(){ QString dir=QFileDialog::getExistingDirectory(this,tr("Select a directory...")); if(!dir.isEmpty()){ Edit_MountDir->setText(dir); } } void CSettingsDlg::OnBrowserCmdBrowse(){ QString filename=QFileDialog::getOpenFileName(this,tr("Select an executable...")); if(!filename.isEmpty()){ Edit_BrowserCmd->setText(filename); } } /*void CSettingsDlg::OnIntPluginNone(){ Label_IntPlugin_Info->show(); } void CSettingsDlg::OnIntPluginGnome(){ Label_IntPlugin_Info->show(); } void CSettingsDlg::OnIntPluginKde(){ Label_IntPlugin_Info->show(); }*/ void CSettingsDlg::OnCustomizeEntryDetails(){ CustomizeDetailViewDialog dlg(this); dlg.exec(); } void CSettingsDlg::OnInactivityLockChange(bool checked){ SpinBox_InacitivtyTime->setEnabled(checked); } void CSettingsDlg::OnAutoSaveToggle(bool checked){ CheckBox_AutoSaveChange->setEnabled(!checked); } void CSettingsDlg::OnAutoSaveChangeToggle(bool checked){ CheckBox_AutoSave->setEnabled(!checked); } void CSettingsDlg::OnBackupDeleteChange(){ SpinBox_BackupDeleteAfter->setEnabled(CheckBox_Backup->isChecked() && CheckBox_BackupDelete->isChecked()); } void CSettingsDlg::OnSelectLanguage(int index){ if (index == -1) return; if (index==0){ labelLang->clear(); labelAuthor->clear(); } else if (index==1){ labelLang->setText("English (United States)"); labelAuthor->setText("KeePassX Development Team"); } else{ if (translations[index-2].nameLong != translations[index-2].nameEnglish) labelLang->setText(QString("%1 / %2").arg(translations[index-2].nameLong).arg(translations[index-2].nameEnglish)); else labelLang->setText(translations[index-2].nameEnglish); labelAuthor->setText(translations[index-2].author); } } void CSettingsDlg::initLanguageList() { listSelectLanguage->clear(); // completely rebuild the list because of a bug in Qt 4.3 listSelectLanguage->addItem(tr("System Language")); listSelectLanguage->addItem("English (United States)"); // Don't translate this string for (int i=0; iaddItem(translations[i].nameLong); } #ifdef GLOBAL_AUTOTYPE void CSettingsDlg::resetGlobalShortcut(){ autoType->unregisterGlobalShortcut(); autoType->registerGlobalShortcut(pShortcut); } #endif keepassx-0.4.3/src/dialogs/SelectIconDlg.cpp0000664000175000017500000001210111217176700017734 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "dialogs/SelectIconDlg.h" CSelectIconDlg::CSelectIconDlg(IDatabase* database,int CurrentId,QWidget* parent, Qt::WFlags fl):QDialog(parent,fl){ setupUi(this); db=database; Id=CurrentId; CtxMenu=new QMenu(this); ReplaceAction=CtxMenu->addAction(getIcon("swap"),tr("Replace...")); DeleteAction=CtxMenu->addAction(getIcon("delete"),tr("Delete")); QPushButton* Button_AddIcon = ButtonBox->addButton(tr("Add Custom Icon"), QDialogButtonBox::ActionRole); Button_PickIcon = ButtonBox->addButton(tr("Pick"), QDialogButtonBox::AcceptRole); connect(Button_AddIcon, SIGNAL(clicked()), this, SLOT(OnAddIcon())); connect(Button_PickIcon, SIGNAL(clicked()), this, SLOT(OnPickIcon())); connect(ButtonBox, SIGNAL(rejected()), this, SLOT(OnCancel())); connect(DeleteAction,SIGNAL(triggered()),this,SLOT(OnDelete())); connect(ReplaceAction,SIGNAL(triggered()),this,SLOT(OnReplace())); connect(List,SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),this,SLOT(OnSelectionChanged(QListWidgetItem*))); } void CSelectIconDlg::updateView(){ List->clear(); for(int i=0; inumIcons(); i++){ QListWidgetItem* item = NULL; if(iicon(i)),QString::number(i)); else if(!db->icon(i).isNull()) item = new QListWidgetItem(QIcon(db->icon(i)),"["+QString::number(i)+"]"); if (item) { item->setData(32,i); List->addItem(item); } } } void CSelectIconDlg::OnAddIcon(){ QStringList filenames=QFileDialog::getOpenFileNames(this,tr("Add Icons..."),QDir::homePath(),tr("Images (%1)") .arg("*.png *.jpeg *.jpg *.bmp *.gif *.bpm *.pgm *.ppm *.xbm *xpm")); QString errors; for(int i=0;i(db)->addIcon(icon.scaled(16,16,Qt::KeepAspectRatio,Qt::SmoothTransformation)); } if(errors.size()) QMessageBox::warning(this,tr("Error"),tr("An error occured while loading the icon(s):").append("\n").append(errors)); updateView(); List->setCurrentItem(List->item(List->count()-1)); } void CSelectIconDlg::contextMenuEvent(QContextMenuEvent *event){ QListWidgetItem* item=List->itemAt(List->mapFromParent(event->pos())); if(!item)return; if(item->data(32).toInt()setDisabled(true); ReplaceAction->setDisabled(true);} else{ DeleteAction->setDisabled(false); ReplaceAction->setDisabled(false);} event->accept(); CtxMenu->popup(event->globalPos()); } void CSelectIconDlg::OnDelete(){ dynamic_cast(db)->removeIcon(List->currentItem()->data(32).toInt()); updateView(); List->setCurrentItem(List->item(0)); } void CSelectIconDlg::OnReplace(){ QString filename=QFileDialog::getOpenFileName(this,tr("Add Icons..."),QDir::homePath(),tr("Images (%1)") .arg("*.png *.jpeg *.jpg *.bmp *.gif *.bpm *.pgm *.ppm *.xbm *xpm")); if(filename.isEmpty())return; QPixmap icon; if(!icon.load(filename)){ QMessageBox::warning(this,tr("Error"),tr("An error occured while loading the icon.")); return; } dynamic_cast(db)->replaceIcon(List->currentItem()->data(32).toInt(),icon.scaled(16,16,Qt::KeepAspectRatio,Qt::SmoothTransformation)); List->currentItem()->setIcon(QIcon(db->icon(List->currentItem()->data(32).toInt()))); } void CSelectIconDlg::OnPickIcon(){ done(List->currentItem()->data(32).toInt()); } void CSelectIconDlg::OnCancel(){ done(-1); } void CSelectIconDlg::OnSelectionChanged(QListWidgetItem* cur){ Button_PickIcon->setEnabled(cur); } void CSelectIconDlg::showEvent(QShowEvent *event){ if(!event->spontaneous()){ updateView(); List->setCurrentItem(List->item(Id)); } } keepassx-0.4.3/src/dialogs/CalendarDlg.cpp0000664000175000017500000000312710764047761017437 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "CalendarDlg.h" CalendarDialog::CalendarDialog(QWidget* parent, const QDate& Start):QDialog(parent){ setupUi(this); calendarWidget->setSelectedDate(Start); setWindowIcon(getIcon("clock")); setWindowFlags(Qt::Sheet); } keepassx-0.4.3/src/dialogs/AboutDlg.cpp0000664000175000017500000001005611246776745017006 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "AboutDlg.h" AboutDialog::AboutDialog(QWidget* parent):QDialog(parent) { setupUi(this); createBanner(&BannerPixmap,getPixmap("keepassx"),QString("%1 %2").arg(APP_DISPLAY_NAME, APP_VERSION),width()); labelAppName->setText(APP_DISPLAY_NAME); labelAppFunc->setText(QString(" - ").append(APP_LONG_FUNC)); QString AboutTr=QString("%1: %2

").arg(tr("Current Translation")).arg(tr("None","Please replace 'None' with the language of your translation")); if(isTranslationActive()){ AboutTr+=QString("%1: %2
").arg(tr("Author")).arg(QApplication::translate("Translation", "$TRANSLATION_AUTHOR")); QString mail=QApplication::translate("Translation", "$TRANSLATION_AUTHOR_EMAIL","Here you can enter your email or homepage if you want."); if(!mail.isEmpty()){ AboutTr+=mail+"
"; } AboutTr+="
"; } Edit_Translation->setHtml(AboutTr+tr("Information on how to translate KeePassX can be found under:") +"
http://www.keepassx.org/"); QString str; str+=""+tr("Team")+"
"; str+="
"; str+="Tarek Saidi
"+tr("Developer, Project Admin")+"
tarek_saidi@users.sf.net
"; str+="
"; str+="Felix Geyer
"+tr("Developer, Project Admin")+"
sniperbeamer@users.sf.net
"; str+="
"; str+="Brandon Mayes
"+tr("Developer")+"
bdmayes@users.sourceforge.net
"; str+="
"; str+="Eugen Gorschenin
"+tr("Web Designer")+"
geugen@users.sf.de
"; str+="
"; str+="Juan J González Cárdenas [Jota Jota]
"+tr("Developer")+"
myxelf@users.sf.net
"; str+="

"; str+=""+tr("Thanks To")+"
"; str+="
"; str+="Matthias Miller
"+tr("Patches for better MacOS X support")+"
www.outofhanwell.com
"; str+="
"; str+="James Nicholls
"+tr("Main Application Icon")/*+"
"+tr("mailto:???")*/+"
"; str+="
"; str+="Constantin Makshin
"+tr("Various fixes and improvements")+"
dinosaur-rus@users.sourceforge.net
"; Edit_Thanks->setHtml(str); QFile gpl(DataDir+"/license.html"); if (!gpl.open(QIODevice::ReadOnly)){ QMessageBox::critical(this,tr("Error"),tr("File '%1' could not be found.") .arg("'license.html'")+"\n"+tr("Make sure that the program is installed correctly.") ,tr("OK"),0,0,2,1); } Edit_License->setHtml(QString::fromUtf8(gpl.readAll())); connect(ButtonBox, SIGNAL(rejected()), SLOT(close())); } void AboutDialog::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } keepassx-0.4.3/src/dialogs/SearchDlg.h0000664000175000017500000000350410766561023016571 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef SEARCHDLG_H #define SEARCHDLG_H #include "ui_SearchDlg.h" class SearchDialog : public QDialog, private Ui_Search_Dlg { Q_OBJECT public: SearchDialog(IDatabase* database, IGroupHandle* group,QWidget* parent); ~SearchDialog(); QList Result; private slots: virtual void OnClose(); virtual void OnSearch(); private: QPixmap BannerPixmap; IGroupHandle* group; IDatabase* db; virtual void paintEvent(QPaintEvent*); }; #endif keepassx-0.4.3/src/dialogs/ManageBookmarksDlg.cpp0000664000175000017500000001111711153227155020753 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "dialogs/ManageBookmarksDlg.h" #include "dialogs/AddBookmarkDlg.h" ManageBookmarksDlg::ManageBookmarksDlg(QWidget* parent):QDialog(parent) { setupUi(this); for(int i=0;isetData(Qt::UserRole,i); item->setText(KpxBookmarks::title(i)); } connect(Button_Add,SIGNAL(clicked()),this,SLOT(OnButtonAdd())); connect(Button_Edit,SIGNAL(clicked()),this,SLOT(OnButtonEdit())); connect(Button_Delete,SIGNAL(clicked()),this,SLOT(OnButtonDelete())); connect(Button_Up,SIGNAL(clicked()),this,SLOT(OnButtonUp())); connect(Button_Down,SIGNAL(clicked()),this,SLOT(OnButtonDown())); connect(ListWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(edit(QListWidgetItem*))); connect(buttonBox->button(QDialogButtonBox::Close),SIGNAL(clicked()),this,SLOT(close())); Button_Add->setIcon(getIcon("bookmark_add")); Button_Edit->setIcon(getIcon("bookmark_edit")); Button_Delete->setIcon(getIcon("bookmark_del")); Button_Up->setIcon(getIcon("up")); Button_Down->setIcon(getIcon("down")); } void ManageBookmarksDlg::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void ManageBookmarksDlg::resizeEvent(QResizeEvent* event){ createBanner(&BannerPixmap,getPixmap("bookmark"),tr("Manage Bookmarks"),width()); QDialog::resizeEvent(event); } void ManageBookmarksDlg::OnButtonAdd(){ AddBookmarkDlg dlg(this); if(dlg.exec()){ int i=dlg.ItemID; QListWidgetItem* item=new QListWidgetItem(ListWidget); item->setData(Qt::UserRole,i); item->setText(KpxBookmarks::title(i)); } return; } void ManageBookmarksDlg::OnButtonEdit(){ QListWidgetItem* item=ListWidget->currentItem(); if(!item)return; edit(item); } void ManageBookmarksDlg::OnButtonDelete(){ QListWidgetItem* item=ListWidget->currentItem(); if(!item)return; int index=item->data(Qt::UserRole).toInt(); KpxBookmarks::remove(index); delete item; for(int i=0;icount();i++){ int itemindex=ListWidget->item(i)->data(Qt::UserRole).toInt(); if(itemindex>index) ListWidget->item(i)->setData(Qt::UserRole,itemindex-1); } } void ManageBookmarksDlg::OnButtonUp(){ int row=ListWidget->currentRow(); QListWidgetItem* item=ListWidget->currentItem(); if(row==-1 || !item || row==0)return; ListWidget->takeItem(row); row--; ListWidget->insertItem(row,item); ListWidget->setCurrentRow(row); } void ManageBookmarksDlg::OnButtonDown(){ int row=ListWidget->currentRow(); QListWidgetItem* item=ListWidget->currentItem(); if(row==-1 || !item || row==ListWidget->count()-1)return; ListWidget->takeItem(row); row++; ListWidget->insertItem(row,item); ListWidget->setCurrentRow(row); } void ManageBookmarksDlg::edit(QListWidgetItem* item){ int i=item->data(Qt::UserRole).toInt(); AddBookmarkDlg dlg(this,QString(),i); dlg.exec(); item->setText(KpxBookmarks::title(i)); } void ManageBookmarksDlg::closeEvent(QCloseEvent * event){ QList Order; // Creating a list with the new indices // Order[OldIndex]==NewIndex for(int i=0;iitem(i)->data(Qt::UserRole).toInt(); } KpxBookmarks::resort(Order); event->accept(); } keepassx-0.4.3/src/dialogs/PasswordDlg.h0000664000175000017500000000544511160162160017160 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef PASSWORDDIALOG_H #define PASSWORDDIALOG_H #include #include "ui_PasswordDlg.h" class PasswordDialog : public QDialog, private Ui_PasswordDlg { Q_OBJECT public: enum DlgMode { Mode_Ask, // Normal password entry when opening a database Mode_Set, // Setting password for the first time after creating a new database Mode_Change // Changing the password of a database }; enum DlgFlags { Flag_None = 0x00, Flag_Auto = 0x01 // Dialog was automatically opened on start-up }; enum DlgExit { Exit_Ok=QDialog::Accepted, Exit_Cancel=QDialog::Rejected, Exit_Quit=3 }; typedef bool (KeyFileGenProc)(const QString& filename,QString* error); PasswordDialog(QWidget* parent,DlgMode mode,DlgFlags flags,const QString& filename=QString()); // result functions QString selectedBookmark(); QString keyFile(); QString password(); private slots: void OnOK(); void OnCancel(); void OnButtonBrowse(); void OnButtonQuit(); void OnGenKeyFile(); void OnButtonBack(); void ChangeEchoModeDatabaseKey(); void OnBookmarkTriggered(QAction* action); void OnCheckBoxesChanged(); void done(int r); private: DlgMode Mode; QPixmap BannerPixmap; QString BookmarkFilename; QString Filename; QString Password; QString KeyFile; void setStatePasswordOnly(); void setStateKeyFileOnly(); void setStateBoth(); virtual void paintEvent(QPaintEvent*); }; #endif keepassx-0.4.3/src/dialogs/EditGroupDlg.h0000664000175000017500000000362211344230366017263 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef EDITGROUPDLG_H #define EDITGROUPDLG_H #include "ui_EditGroupDlg.h" class CEditGroupDialog : public QDialog, private Ui_EditGroupDialog { Q_OBJECT public: CEditGroupDialog(IDatabase*,IGroupHandle*,QWidget* parent = 0, Qt::WFlags fl = 0 ); CEditGroupDialog(IDatabase*,CGroup*,QWidget* parent = 0, Qt::WFlags fl = 0 ); ~CEditGroupDialog(); private: void init(); IDatabase* db; IGroupHandle* handle; CGroup* group; private slots: virtual void OnOK(); virtual void OnCancel(); virtual void OnIconDlg(); }; #endif keepassx-0.4.3/src/dialogs/ManageBookmarksDlg.h0000664000175000017500000000371311067675267020442 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef MANAGEBOOKMARKSDLG_H #define MANAGEBOOKMARKSDLG_H #include "ui_ManageBookmarksDlg.h" class ManageBookmarksDlg : public QDialog, private Ui::ManageBookmarksDlg { Q_OBJECT public: ManageBookmarksDlg(QWidget* parent=0); private: QPixmap BannerPixmap; virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent*); virtual void closeEvent(QCloseEvent* event); private slots: void OnButtonAdd(); void OnButtonEdit(); void OnButtonDelete(); void OnButtonUp(); void OnButtonDown(); void edit(QListWidgetItem*); }; #endif keepassx-0.4.3/src/dialogs/TrashCanDlg.h0000664000175000017500000000401211067675267017075 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _TRASH_CAN_DLG_ #define _TRASH_CAN_DLG_ #include #include #include #include #include "ui_TrashCanDlg.h" #include "Database.h" class TrashCanDialog:public QDialog, public Ui_TrashCanDialog{ Q_OBJECT public: TrashCanDialog(QWidget* parent,IDatabase* database,const QList& Entries); IEntryHandle* SelectedEntry; private: QList Entries; QPixmap BannerPixmap; QMenu* ContextMenu; virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent *); private slots: void OnItemDoubleClicked(QTreeWidgetItem*); void OnContextMenu(const QPoint&); }; #endif keepassx-0.4.3/src/dialogs/TargetWindowDlg.cpp0000664000175000017500000000363311221677051020334 0ustar felixfelix/*************************************************************************** * Copyright (C) 2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "TargetWindowDlg.h" #include "AutoType.h" TargetWindowDlg::TargetWindowDlg(QWidget* parent) : QDialog(parent){ setupUi(this); QStringList windowTitles = autoType->getAllWindowTitles(); windowTitles.sort(); for (QStringList::const_iterator i = windowTitles.constBegin(); i != windowTitles.constEnd(); ++i) comboWindow->addItem(*i); connect(buttonBox, SIGNAL(accepted()), SLOT(OnAccept())); connect(buttonBox, SIGNAL(rejected()), SLOT(reject())); } void TargetWindowDlg::OnAccept(){ pWindowTitle = comboWindow->currentText(); accept(); } keepassx-0.4.3/src/dialogs/SearchDlg.cpp0000664000175000017500000000743711153227155017131 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "dialogs/SearchDlg.h" SearchDialog::SearchDialog(IDatabase* database,IGroupHandle* Group,QWidget* parent):QDialog(parent) { setupUi(this); QPushButton* Button_Search = ButtonBox->addButton(tr("Search"),QDialogButtonBox::ActionRole); connect( Button_Search, SIGNAL( clicked() ), this, SLOT( OnSearch() ) ); connect( ButtonBox, SIGNAL( rejected() ), this, SLOT( OnClose() ) ); db=database; group=Group; QBitArray searchOptions=config->searchOptions(); checkBox_Cs->setChecked(searchOptions.at(0)); checkBox_regExp->setChecked(searchOptions.at(1)); checkBox_Title->setChecked(searchOptions.at(2)); checkBox_Username->setChecked(searchOptions.at(3)); checkBox_Password->setChecked(searchOptions.at(4)); checkBox_Comment->setChecked(searchOptions.at(5)); checkBox_URL->setChecked(searchOptions.at(6)); checkBox_Attachment->setChecked(searchOptions.at(7)); if(group) checkBox_Recursive->setChecked(searchOptions.at(8)); else{ checkBox_Recursive->setChecked(false); checkBox_Recursive->setEnabled(false); } adjustSize(); setMaximumSize(size()); setMinimumSize(size()); createBanner(&BannerPixmap,getPixmap("search"),tr("Search"),width()); } SearchDialog::~SearchDialog() { QBitArray searchOptions(9); searchOptions.setBit(0,checkBox_Cs->isChecked()); searchOptions.setBit(1,checkBox_regExp->isChecked()); searchOptions.setBit(2,checkBox_Title->isChecked()); searchOptions.setBit(3,checkBox_Username->isChecked()); searchOptions.setBit(4,checkBox_Password->isChecked()); searchOptions.setBit(5,checkBox_Comment->isChecked()); searchOptions.setBit(6,checkBox_URL->isChecked()); searchOptions.setBit(7,checkBox_Attachment->isChecked()); if(group) searchOptions.setBit(8,checkBox_Recursive->isChecked()); config->setSearchOptions(searchOptions); } void SearchDialog::OnClose() { done(0); } void SearchDialog::OnSearch() { bool Fields[6]; Fields[0]=checkBox_Title->isChecked(); Fields[1]=checkBox_Username->isChecked(); Fields[2]=checkBox_URL->isChecked(); Fields[3]=checkBox_Password->isChecked(); Fields[4]=checkBox_Comment->isChecked(); Fields[5]=checkBox_Attachment->isChecked(); Result=db->search(group,Edit_Search->text(),checkBox_Cs->isChecked(),checkBox_regExp->isChecked(),checkBox_Recursive->isChecked(),Fields); done(1); } void SearchDialog::paintEvent(QPaintEvent *event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } keepassx-0.4.3/src/dialogs/PasswordDlg.cpp0000664000175000017500000003104611160162160017507 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "dialogs/PasswordDlg.h" PasswordDialog::PasswordDialog(QWidget* parent,DlgMode mode,DlgFlags flags,const QString& filename) : QDialog(parent) { Q_UNUSED(flags); setupUi(this); Mode=mode; Filename=filename; QString BannerTitle; if(Mode==Mode_Ask){ BannerTitle=tr("Enter Master Key"); } else if(Mode==Mode_Set){ BannerTitle=tr("Set Master Key"); } else if(Mode==Mode_Change){ BannerTitle=tr("Change Master Key"); } if(filename==QString()){ setWindowTitle(tr("Database Key")); } else { setWindowTitle(filename); } // Add list of subdirs in the mounting dir to the combobox. // For example making /media/cd1 and /media/myflashdrive to two entries cd1 and myflashdrive in the combobox QDir mountDir(config->mountDir()); if(mountDir.exists()){ QStringList Paths; Paths=mountDir.entryList(QStringList()<<"*",QDir::Dirs | QDir::NoDotAndDotDot); for(int i=0;iaddItem(config->mountDir()+Paths[i]); } Combo_KeyFile->setEditText(QString()); if(config->rememberLastKey() && Mode!=Mode_Change && Mode!=Mode_Set){ switch(config->lastKeyType()){ case PASSWORD: Check_Password->setChecked(true); Check_KeyFile->setChecked(false); Combo_KeyFile->setEditText(""); Edit_Password->setFocus(Qt::OtherFocusReason); break; case KEYFILE: Check_Password->setChecked(false); Check_KeyFile->setChecked(true); Combo_KeyFile->setEditText(QDir::cleanPath(QDir::current().absoluteFilePath(config->lastKeyLocation()))); Combo_KeyFile->setFocus(Qt::OtherFocusReason); break; case BOTH: Check_Password->setChecked(true); Check_KeyFile->setChecked(true); Combo_KeyFile->setEditText(QDir::cleanPath(QDir::current().absoluteFilePath(config->lastKeyLocation()))); Edit_Password->setFocus(Qt::OtherFocusReason); break; } } else{ Edit_Password->setFocus(Qt::OtherFocusReason); } if(Mode!=Mode_Set && Mode!=Mode_Change){ Button_GenKeyFile->hide(); } /*if(flags & Flag_Auto){ / * QPushButton* Button_Quit = buttonBox->addButton(tr("Quit"),QDialogButtonBox::DestructiveRole); connect(Button_Quit,SIGNAL(clicked()),this,SLOT(OnButtonQuit())); * / if(config->rememberLastKey()){ switch(config->lastKeyType()){ case PASSWORD: Check_Password->setChecked(true); Check_KeyFile->setChecked(false); break; case KEYFILE: Check_Password->setChecked(false); Check_KeyFile->setChecked(true); Combo_KeyFile->setEditText(config->lastKeyLocation()); break; case BOTH: Check_Password->setChecked(true); Check_KeyFile->setChecked(true); Combo_KeyFile->setEditText(config->lastKeyLocation()); break; } } }*/ // Setting up the bookmark button if(Mode==Mode_Ask && config->featureBookmarks()){ // Button Color QPalette palette=Button_Bookmarks->palette(); palette.setColor(QPalette::Active,QPalette::Button,config->bannerColor1()); palette.setColor(QPalette::Inactive,QPalette::Button,config->bannerColor1()); palette.setColor(QPalette::Active,QPalette::Window,config->bannerColor2()); palette.setColor(QPalette::Inactive,QPalette::Window,config->bannerColor2()); Button_Bookmarks->setPalette(palette); palette=Label_Bookmark->palette(); palette.setColor(QPalette::Active,QPalette::WindowText,config->bannerTextColor()); palette.setColor(QPalette::Inactive,QPalette::WindowText,config->bannerTextColor()); Label_Bookmark->setPalette(palette); // Create menu and add "last file" menu entry QMenu* BookmarkMenu=new QMenu(this); QAction* action=new QAction(this); action->setData(QString()); action->setText(tr("Last File")); action->setIcon(getIcon("document")); BookmarkMenu->addAction(action); BookmarkMenu->addSeparator(); // Adding all existing bookmarks for(int i=0;isetData(KpxBookmarks::path(i)); action->setText(KpxBookmarks::title(i)); action->setIcon(getIcon("document")); BookmarkMenu->addAction(action); } Button_Bookmarks->setMenu(BookmarkMenu); connect(BookmarkMenu,SIGNAL(triggered(QAction*)),this,SLOT(OnBookmarkTriggered(QAction*))); } else { Button_Bookmarks->hide(); Label_Bookmark->hide(); } connect(buttonBox->button(QDialogButtonBox::Cancel), SIGNAL( clicked() ), this, SLOT( OnCancel() ) ); connect(ButtonChangeEchoMode, SIGNAL( clicked() ), this, SLOT( ChangeEchoModeDatabaseKey() ) ); connect(Edit_Password, SIGNAL( returnPressed() ), this, SLOT( OnOK() ) ); connect(Edit_PwRepeat, SIGNAL( returnPressed() ), this, SLOT( OnOK() ) ); connect(buttonBox->button(QDialogButtonBox::Ok), SIGNAL( clicked() ), this, SLOT( OnOK() ) ); connect(Button_Browse, SIGNAL( clicked() ), this, SLOT( OnButtonBrowse() ) ); connect(Button_GenKeyFile,SIGNAL(clicked()),this,SLOT(OnGenKeyFile())); connect(Check_Password,SIGNAL(stateChanged(int)),this,SLOT(OnCheckBoxesChanged())); connect(Check_KeyFile,SIGNAL(stateChanged(int)),this,SLOT(OnCheckBoxesChanged())); connect(Button_Back,SIGNAL(clicked()),this,SLOT(OnButtonBack())); if(!config->showPasswordsPasswordDlg()) ChangeEchoModeDatabaseKey(); else ButtonChangeEchoMode->setIcon(getIcon("pwd_show")); adjustSize(); setMaximumSize(size()); setMinimumSize(size()); createBanner(&BannerPixmap,getPixmap("key"),BannerTitle,width()); Button_Bookmarks->setIcon(getIcon("bookmark")); OnCheckBoxesChanged(); } void PasswordDialog::OnButtonBrowse() { QString filename=KpxFileDialogs::openExistingFile(this,"PasswordDlg",tr("Select a Key File"), QStringList() << tr("All Files (*)") << tr("Key Files (*.key)")); if(filename!=QString()) Combo_KeyFile->setEditText(filename); } void PasswordDialog::OnCancel() { done(Exit_Cancel); } void PasswordDialog::OnOK(){ if(stackedWidget->currentIndex()==1){ if(Password==Edit_PwRepeat->text()){ done(Exit_Ok); } Edit_PwRepeat->clear(); Edit_PwRepeat->setFocus(Qt::OtherFocusReason); Label_Unequal->show(); QTimer::singleShot(2000,Label_Unequal,SLOT(hide())); return; } Password=Edit_Password->text(); KeyFile=Combo_KeyFile->currentText(); if(!Check_Password->isChecked() && !Check_KeyFile->isChecked()){ showErrMsg(tr("Please enter a Password or select a key file."),this); return; } if(Check_Password->isChecked() && Password.isEmpty()){ showErrMsg(tr("Please enter a Password.")); return; } if(Check_KeyFile->isChecked() && KeyFile.isEmpty()){ showErrMsg(tr("Please provide a key file.")); return; } if(Check_KeyFile->isChecked()){ /* Check wether key path exists and is readable */ QFileInfo fileinfo(KeyFile); if(!fileinfo.exists()){ showErrMsg(tr("%1:\nNo such file or directory.").arg(KeyFile),this); return; } if(!fileinfo.isReadable()){ showErrMsg(tr("The selected key file or directory is not readable."),this); return; } /* If the given path is a directory, we need to find the key file in it */ if(fileinfo.isDir()){ if(KeyFile.right(1)!="/")KeyFile+="/"; // First, we try to find $path/pwsafe.key QFile file(KeyFile+"pwsafe.key"); if(file.exists()) KeyFile+="pwsafe.key"; else{ // If pwsafe.key does not exist, we try to see if there is exactly one file in the // given directory which has the extension *.key. QDir dir(KeyFile); QStringList files; files=dir.entryList(QStringList()<<"*.key",QDir::Files); // No Key Files if(!files.size()){ showErrMsg(tr("The given directory does not contain any key files."),this); return; } // More than one key file if(files.size()>1){ showErrMsg(tr("The given directory contains more then one key files.\n" "Please specify the key file directly."),this); return; } KeyFile+=files[0]; } // Check again whether the found file exists and is readable QFileInfo fileinfo(KeyFile); if(!fileinfo.exists()){ showErrMsg(tr("%1:\nNo such file or directory.").arg(KeyFile),this); return; } if(!fileinfo.isReadable()){ showErrMsg(tr("%1:\nFile is not readable."),this); return; } } } if(Check_Password->isChecked() && (Mode==Mode_Set || Mode==Mode_Change)){ Edit_PwRepeat->clear(); Label_Unequal->hide(); stackedWidget->setCurrentIndex(1); Edit_PwRepeat->setFocus(Qt::OtherFocusReason); return; } if((Mode==Mode_Ask || Mode==Mode_Set) && config->rememberLastKey()){ if(Check_Password->isChecked() && Check_KeyFile->isChecked()){ config->setLastKeyType(BOTH); config->setLastKeyLocation(Combo_KeyFile->currentText()); } else if(Check_Password->isChecked()){ config->setLastKeyType(PASSWORD); config->setLastKeyLocation(QString()); } else if(Check_KeyFile->isChecked()){ config->setLastKeyType(KEYFILE); config->setLastKeyLocation(Combo_KeyFile->currentText()); } } done(Exit_Ok); } void PasswordDialog::OnCheckBoxesChanged(){ Edit_Password->setEnabled(Check_Password->isChecked()); Combo_KeyFile->setEnabled(Check_KeyFile->isChecked()); Button_Browse->setEnabled(Check_KeyFile->isChecked()); Button_GenKeyFile->setEnabled(Check_KeyFile->isChecked()); } void PasswordDialog::ChangeEchoModeDatabaseKey(){ if(Edit_Password->echoMode()==QLineEdit::Normal){ Edit_Password->setEchoMode(QLineEdit::Password); Edit_PwRepeat->setEchoMode(QLineEdit::Password); ButtonChangeEchoMode->setIcon(getIcon("pwd_hide")); } else{ Edit_Password->setEchoMode(QLineEdit::Normal); Edit_PwRepeat->setEchoMode(QLineEdit::Normal); ButtonChangeEchoMode->setIcon(getIcon("pwd_show")); } } void PasswordDialog::OnButtonQuit(){ done(Exit_Quit); } void PasswordDialog::paintEvent(QPaintEvent* event){ QDialog::paintEvent(event); QPainter painter(this); painter.setClipRegion(event->region()); painter.drawPixmap(QPoint(0,0),BannerPixmap); } void PasswordDialog::OnBookmarkTriggered(QAction* action){ if(action->data().toString()==QString()) setWindowTitle(Filename); else setWindowTitle(action->data().toString()); Label_Bookmark->setText(action->text()); BookmarkFilename=action->data().toString(); } void PasswordDialog::OnGenKeyFile(){ QString filename=KpxFileDialogs::saveFile(this,"PasswordDlg",tr("Create Key File..."), QStringList() << tr("All Files (*)") << tr("Key Files (*.key)")); if(!filename.isEmpty()){ QString error; if(!createKeyFile(filename,&error,32,true)){ showErrMsg(error,this); return; } else { if(Check_KeyFile->isChecked()) Combo_KeyFile->setEditText(filename); return; } } } QString PasswordDialog::password(){ if(Check_Password->isChecked()) return Password; else return QString(); } QString PasswordDialog::keyFile(){ if(Check_KeyFile->isChecked()) return Combo_KeyFile->currentText(); else return QString(); } QString PasswordDialog::selectedBookmark(){ return BookmarkFilename; } void PasswordDialog::OnButtonBack(){ stackedWidget->setCurrentIndex(0); Edit_PwRepeat->clear(); } void PasswordDialog::done(int r){ // workaround for a Qt crash bug Password = Edit_Password->text(); Edit_Password->clear(); Edit_Password->setEchoMode(QLineEdit::Normal); Edit_PwRepeat->clear(); Edit_PwRepeat->setEchoMode(QLineEdit::Normal); QDialog::done(r); } keepassx-0.4.3/src/dialogs/AutoTypeDlg.h0000664000175000017500000000403111245770350017130 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "ui_AutoTypeDlg.h" class AutoTypeDlg : public QWidget, private Ui::AutoTypeDlg { Q_OBJECT public: AutoTypeDlg(QList entries, QList numbers, bool wasLocked); inline static bool isDialogVisible() { return dialogVisible; }; protected: void paintEvent(QPaintEvent* event); void resizeEvent(QResizeEvent* event); void closeEvent(QCloseEvent* event); bool event(QEvent* event); private slots: void itemSelected(QTreeWidgetItem* item); private: struct AutoTypeEntry { IEntryHandle* dbHandle; int nr; }; static bool itemLessThan(QTreeWidgetItem* i1, QTreeWidgetItem* i2); QHash itemToEntry; QPixmap BannerPixmap; bool pWasLocked; static bool dialogVisible; }; keepassx-0.4.3/src/dialogs/EditEntryDlg.h0000664000175000017500000000512011160162160017253 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef EDITENTRYDLG_H #define EDITENTRYDLG_H #include "ui_EditEntryDlg.h" #include "Kdb3Database.h" class CEditEntryDlg : public QDialog, private Ui_EditEntryDialog { Q_OBJECT public: CEditEntryDlg(IDatabase* _db, IEntryHandle* _entry,QWidget* parent = 0, bool newEntry = FALSE); ~CEditEntryDlg(); void InitGroupComboBox(); static void saveAttachment(IEntryHandle* pEntry, QWidget* ParentWidget=NULL); IEntryHandle* entry; IDatabase* db; bool ModFlag; int GroupIndex; QList groups; QPixmap BannerPixmap; private slots: void OnTitleTextChanged(const QString&); void OnPasswordwLostFocus(); void OnPasswordwTextChanged(); void OnPasswordTextChanged(); void ChangeEchoMode(); void OnButtonCancel(); void OnNewAttachment(); void OnDeleteAttachment(); void OnSaveAttachment(); void OnButtonGenPw(); void OnCheckBoxExpiresNeverChanged(int state); void OnButtonIcons(); void OnButtonOK(); void OnExpirePreset(QAction* action); void OnCalendar(QAction* action); void OnClose(); void OnCustomizeSequence(); void OnSelectTarget(); private: virtual void paintEvent(QPaintEvent*); virtual void resizeEvent(QResizeEvent *); int IconIndex; bool pNewEntry; }; #endif keepassx-0.4.3/src/dialogs/HelpDlg.h0000664000175000017500000000027511217176700016252 0ustar felixfelix #ifndef HELPDLG_H #define HELPDLG_H #include "ui_HelpDlg.h" class HelpDlg : public QDialog, private Ui_HelpDlg { Q_OBJECT public: HelpDlg(QWidget* parent); }; #endif // HELPDLG_H keepassx-0.4.3/src/export/0000775000175000017500000000000011344562541014460 5ustar felixfelixkeepassx-0.4.3/src/export/Export_KeePassX_Xml.h0000664000175000017500000000362010764047761020505 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _EXPORT_KPX_XML_H_ #define _EXPORT_KPX_XML_H_ #include "Export.h" class Export_KeePassX_Xml:public ExporterBase, public IExport{ Q_OBJECT public: virtual bool exportDatabase(QWidget* GuiParent, IDatabase* Database); virtual QString identifier(){return "EXPORT_KEEPASSX_XML";} virtual QString title(){return tr("KeePassX XML File");} private: void addGroup(IGroupHandle* group,QDomElement& parent,QDomDocument& doc); void addEntry(IEntryHandle* group,QDomElement& parent,QDomDocument& doc); IDatabase* db; }; #endif keepassx-0.4.3/src/export/Export.cpp0000664000175000017500000000353011123440167016440 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Export.h" #include "dialogs/SimplePasswordDlg.h" QFile* ExporterBase::openFile(QWidget* parent, QString id, QStringList Filters){ QString filename=KpxFileDialogs::saveFile(parent,id,tr("Export File..."),Filters); if(filename.isEmpty())return NULL; QFile* file=new QFile(filename); if(!file->open(QIODevice::ReadWrite|QIODevice::Truncate)){ QMessageBox::critical(parent,tr("Export Failed"),decodeFileError(file->error())); delete file; return NULL; } return file; } keepassx-0.4.3/src/export/Export_Txt.h0000664000175000017500000000326211067675267016770 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _EXPORT_TXT_H_ #define _EXPORT_TXT_H_ #include "Export.h" class Export_Txt:public ExporterBase, public IExport{ Q_OBJECT public: virtual bool exportDatabase(QWidget* GuiParent, IDatabase* Database); virtual QString identifier(){return "e_txt";} virtual QString title(){return tr("Text File");} }; #endif keepassx-0.4.3/src/export/Export_Txt.cpp0000664000175000017500000000461111314532764017307 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Export_Txt.h" QString EntryTemplate=QString("\n\ Title: %1\n\ Username: %2\n\ Url: %3\n\ Password: %4\n\ Comment: %5\n\ "); QString GroupTemplate=QString("\n\ *** Group: %1 ***\n\ "); bool Export_Txt::exportDatabase(QWidget* GuiParent, IDatabase* db){ QFile *file=openFile(GuiParent,identifier(),QStringList()< groups=db->sortedGroups(); for(int g=0;gwrite(GroupTemplate.arg(groups[g]->title()).toUtf8()); QList entries=db->entriesSortedStd(groups[g]); for(int e=0;epassword(); password.unlock(); QString entryText = EntryTemplate.arg( entries[e]->title(), entries[e]->username(), entries[e]->url(), password.string(), entries[e]->comment().replace('\n',"\n ")); file->write( entryText.toUtf8() ); password.lock(); } } delete file; return true; } keepassx-0.4.3/src/export/Export.h0000664000175000017500000000335010764047761016122 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _EXPORT_H_ #define _EXPORT_H_ class IExport{ public: virtual ~IExport(){}; virtual bool exportDatabase(QWidget* GuiParent, IDatabase* Database)=0; virtual QString identifier()=0; virtual QString title()=0; }; class ExporterBase:public QObject{ Q_OBJECT protected: virtual QFile* openFile(QWidget* GuiParent,QString id,QStringList Filter); }; #endif keepassx-0.4.3/src/export/Export_KeePassX_Xml.cpp0000664000175000017500000001205511132237143021023 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Export_KeePassX_Xml.h" bool Export_KeePassX_Xml::exportDatabase(QWidget* GuiParent,IDatabase* database){ db=database; QFile *file=openFile(GuiParent,identifier(),QStringList()< Groups=db->sortedGroups(); for(int i=0;iparent()==NULL){ addGroup(Groups[i],root,doc); } } file->write(doc.toByteArray()); file->close(); delete file; return true; } void Export_KeePassX_Xml::addGroup(IGroupHandle* group,QDomElement& parent,QDomDocument& doc){ QDomElement GroupElement=doc.createElement("group"); parent.appendChild(GroupElement); QDomElement Title=doc.createElement("title"); QDomElement Icon=doc.createElement("icon"); Title.appendChild(doc.createTextNode(group->title())); Icon.appendChild(doc.createTextNode(QString::number(group->image()))); GroupElement.appendChild(Title); GroupElement.appendChild(Icon); QList children=group->children(); for(int i=0;i entries=db->entriesSortedStd(group); for(int i=0;ititle())); Username.appendChild(doc.createTextNode(entry->username())); SecString password=entry->password(); password.unlock(); Password.appendChild(doc.createTextNode(password.string())); password.lock(); Url.appendChild(doc.createTextNode(entry->url())); QStringList CommentLines=entry->comment().split('\n'); for(int i=0;ibinary().isNull(); if(HasAttachment){ BinaryDesc.appendChild(doc.createTextNode(entry->binaryDesc())); Binary.appendChild(doc.createTextNode(entry->binary().toBase64())); } Icon.appendChild(doc.createTextNode(QString::number(entry->image()))); Creation.appendChild(doc.createTextNode(entry->creation().toString(Qt::ISODate))); LastAccess.appendChild(doc.createTextNode(entry->lastAccess().toString(Qt::ISODate))); LastMod.appendChild(doc.createTextNode(entry->lastMod().toString(Qt::ISODate))); Expire.appendChild(doc.createTextNode(entry->expire().toString(Qt::ISODate))); GroupElement.appendChild(Title); GroupElement.appendChild(Username); GroupElement.appendChild(Password); GroupElement.appendChild(Url); GroupElement.appendChild(Comment); if(HasAttachment){ GroupElement.appendChild(BinaryDesc); GroupElement.appendChild(Binary); } GroupElement.appendChild(Icon); GroupElement.appendChild(Creation); GroupElement.appendChild(LastAccess); GroupElement.appendChild(LastMod); GroupElement.appendChild(Expire); } keepassx-0.4.3/src/main.cpp0000664000175000017500000002215711247772230014576 0ustar felixfelix/*************************************************************************** * Copyright (C) 1992-2007 Trolltech ASA * * * * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "main.h" #include "mainwindow.h" #if defined(Q_WS_X11) && defined(GLOBAL_AUTOTYPE) #include "Application_X11.h" #endif #include "plugins/interfaces/IFileDialog.h" #include "plugins/interfaces/IKdeInit.h" #include "plugins/interfaces/IGnomeInit.h" //#include #include using namespace std; KpxConfig *config; QString AppDir; QString HomeDir; QString DataDir; QString PluginLoadError; QString DetailViewTemplate; bool EventOccurred; bool EventOccurredBlock = false; QPixmap* EntryIcons; IIconTheme* IconLoader=NULL; int main(int argc, char **argv) { setlocale(LC_CTYPE, ""); #if defined(Q_WS_X11) && defined(AUTOTYPE) QApplication* app = new KeepassApplication(argc,argv); #else QApplication* app = new QApplication(argc,argv); #endif EventListener* eventListener = new EventListener(); app->installEventFilter(eventListener); QApplication::setQuitOnLastWindowClosed(false); AppDir = QApplication::applicationFilePath(); AppDir.truncate(AppDir.lastIndexOf("/")); #if defined(Q_WS_X11) DataDir = AppDir+"/../share/keepassx"; if (!QFile::exists(DataDir) && QFile::exists(AppDir+"/share")) DataDir = AppDir+"/share"; const char* env = getenv("XDG_CONFIG_HOME"); if (!env) { HomeDir = QDir::homePath() + "/.config"; } else { QString qenv = QTextCodec::codecForLocale()->toUnicode(env); if (qenv[0] == '/') HomeDir = qenv; else HomeDir = QDir::homePath() + '/' + qenv; } HomeDir += "/keepassx"; #elif defined(Q_WS_MAC) HomeDir = QDir::homePath()+"/.keepassx"; DataDir = AppDir+"/../Resources/keepassx"; #else //Q_WS_WIN HomeDir = qtWindowsConfigPath(CSIDL_APPDATA); if(!HomeDir.isEmpty() && QFile::exists(HomeDir)) HomeDir = QDir::fromNativeSeparators(HomeDir)+"/KeePassX"; else HomeDir = QDir::homePath()+"/KeePassX"; DataDir = AppDir+"/share"; #endif DataDir = QDir::cleanPath(DataDir); CmdLineArgs args; if ( !args.parse(QApplication::arguments()) ){ qCritical("%s\n", CSTR( args.error() )); args.printHelp(); return 1; } if (args.help()){ args.printHelp(); return 1; } //Load Config QString IniFilename; if(args.configLocation().isEmpty()){ if(!QDir(HomeDir).exists()){ QDir conf(QDir::homePath()); if(!QDir().mkpath(HomeDir)) qWarning("Warning: Could not create directory '%s'", CSTR(HomeDir)); } IniFilename=HomeDir+"/config.ini"; } else IniFilename=args.configLocation(); #ifdef Q_WS_X11 { QString OldHomeDir = QDir::homePath()+"/.keepassx"; if (args.configLocation().isEmpty() && QFile::exists(OldHomeDir+"/config") && !QFile::exists(HomeDir+"/config")) { QFile::rename(OldHomeDir+"/config", HomeDir+"/config.ini"); if (QDir(OldHomeDir).entryList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System).count()==0) QDir().rmdir(OldHomeDir); } } #else if (args.configLocation().isEmpty() && QFile::exists(HomeDir+"/config") && !QFile::exists(HomeDir+"/config.ini")) QFile::rename(HomeDir+"/config", HomeDir+"/config.ini"); #endif config = new KpxConfig(IniFilename); fileDlgHistory.load(); // PlugIns /* #ifdef Q_WS_X11 if(config->integrPlugin()!=KpxConfig::NoIntegr){ QString LibName="libkeepassx-"; if(config->integrPlugin()==KpxConfig::KDE) LibName+="kde.so"; else if(config->integrPlugin()==KpxConfig::Gnome) LibName+="gnome.so"; QString filename=findPlugin(LibName); if(filename!=QString()){ QPluginLoader plugin(filename); if(!plugin.load()){ PluginLoadError=plugin.errorString(); qWarning("Could not load desktop integration plugin:"); qWarning("%s", CSTR(PluginLoadError)); } else{ QObject *plugininstance=plugin.instance(); IFileDialog* fdlg=qobject_cast(plugininstance); IconLoader=qobject_cast(plugininstance); if(IconLoader==NULL){ qWarning("Error: Integration Plugin: Could not initialize IconTheme interface."); } KpxFileDialogs::setPlugin(fdlg); if(config->integrPlugin()==KpxConfig::KDE){ IKdeInit* kdeinit=qobject_cast(plugin.instance()); app=kdeinit->getMainAppObject(argc,argv); if(!app) PluginLoadError = "Initialization failed."; } if(config->integrPlugin()==KpxConfig::Gnome){ IGnomeInit* ginit=qobject_cast(plugin.instance()); if(!ginit->init(argc,argv)){ KpxFileDialogs::setPlugin(NULL); qWarning("GtkIntegrPlugin: Gtk init failed."); PluginLoadError = "Initialization failed."; } } } } else{ qWarning(CSTR(QString("Could not load desktop integration plugin: File '%1' not found.").arg(LibName))); PluginLoadError=QApplication::translate("Main", "Could not locate library file."); } } #endif */ DetailViewTemplate=config->detailViewTemplate(); loadImages(); KpxBookmarks::load(); initYarrow(); //init random number generator SecString::generateSessionKey(); installTranslator(); #ifdef Q_WS_MAC QApplication::processEvents(); if (args.file().isEmpty() && !eventListener->file().isEmpty()) { args.setFile(eventListener->file()); } #endif KeepassMainWindow *mainWin = new KeepassMainWindow(args.file(), args.startMinimized(), args.startLocked()); #ifdef Q_WS_MAC eventListener->setMainWin(mainWin); #endif int r=app->exec(); delete mainWin; delete eventListener; fileDlgHistory.save(); SecString::deleteSessionKey(); delete app; delete config; return r; } ///TODO 0.2.3 remove void loadImages(){ QPixmap tmpImg(getImageFile("clientic.png")); EntryIcons=new QPixmap[BUILTIN_ICONS]; for(int i=0;i Use specified file for loading/saving the configuration." << endl; cerr << " -min Start minimized." << endl; cerr << " -lock Start locked." << endl; } /*QString findPlugin(const QString& filename){ QFileInfo info; info.setFile(AppDir+"/../lib/"+filename); if(info.exists() && info.isFile()) return AppDir+"/../lib/"+filename; return QString(); }*/ bool EventListener::eventFilter(QObject*, QEvent* event){ if (!EventOccurred){ int t = event->type(); if ( (t>=QEvent::MouseButtonPress && t<=QEvent::KeyRelease) || (t>=QEvent::HoverEnter && t<=QEvent::HoverMove) ) EventOccurred = true; } #ifdef Q_WS_MAC if (event->type() == QEvent::FileOpen) { QString filename = static_cast(event)->file(); if (pMainWindow) { if (QApplication::activeModalWidget() == NULL) pMainWindow->openFile(filename); else return true; // ignore file open events while a modal dialog is displayed } else { pFile = filename; } } #endif return false; } keepassx-0.4.3/src/KpxConfig.h0000664000175000017500000003674511325300107015202 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * Copyright (C) 2007 by Constantin "Dinosaur" Makshin * * dinosaur-rus@users.sourceforge.net * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _KPXCONFIG_H_ #define _KPXCONFIG_H_ #include "lib/AutoType.h" #if defined(Q_WS_MAC) # define DEFAULT_MOUNT_DIR "/Volumes/" #elif defined(Q_WS_X11) # define DEFAULT_MOUNT_DIR "/media/" #elif defined(Q_WS_WIN) # define DEFAULT_MOUNT_DIR "/" #else # define DEFAULT_MOUNT_DIR QString() #endif class KpxConfig{ public: friend class KpxBookmarks; enum IntegrPluginType{NoIntegr,KDE,Gnome}; enum GrpTreeState{DoNothing,RestoreLast,ExpandAll}; KpxConfig(const QString& filePath); bool alternatingRowColors(){return settings.value("Options/AlternatingRowColors",true).toBool();} QColor bannerColor1(){return stringToColor(settings.value("Options/BannerColor1","0,85,127").toString());} QColor bannerColor2(){return stringToColor(settings.value("Options/BannerColor2","0,117,175").toString());} QColor bannerTextColor(){return stringToColor(settings.value("Options/BannerTextColor","222,222,222").toString());} int clipboardTimeOut(){return settings.value("Options/ClipboardTimeOut",20).toInt();} QBitArray columns(){return stringToBitArray(settings.value("UI/Columns","11111000000").toString(),11);} QList columnOrder(){return stringToIntArray(settings.value("UI/ColumnOrder","1,2,3,4,5,6,7,8,9,10,11").toString(),11);} QList columnSizes(){return stringToIntArray(settings.value("UI/ColumnSizes","15,10,10,10,10,10,10,10,10,10,10").toString(),11);} int columnSort(){return settings.value("UI/ColumnSort",0).toInt();} Qt::SortOrder columnSortOrder(){return static_cast(settings.value("UI/ColumnSortOrder",Qt::AscendingOrder).toInt());} QBitArray searchColumns(){return stringToBitArray(settings.value("UI/SearchColumns","11110000001").toString(),11);} QList searchColumnOrder(){return stringToIntArray(settings.value("UI/SearchColumnOrder","2,3,4,5,6,7,8,9,10,11,1").toString(),11);} QList searchColumnSizes(){return stringToIntArray(settings.value("UI/SearchColumnSizes","15,10,10,10,10,10,10,10,10,10,10").toString(),11);} int searchColumnSort(){return settings.value("UI/SearchColumnSort",0).toInt();} Qt::SortOrder searchColumnSortOrder(){return static_cast(settings.value("UI/SearchColumnSortOrder",Qt::AscendingOrder).toInt());} QStringList fileDlgHistory(unsigned index){return settings.value(QString("FileDlgHistory/ENTRY%1").arg(index)).toStringList();} GrpTreeState groupTreeState(){return stringToGrpTreeState(settings.value("Options/GroupTreeState").toString());} bool hidePasswords(){return settings.value("UI/HidePasswords",true).toBool();} bool hideUsernames(){return settings.value("UI/HideUsernames",true).toBool();} QByteArray hSplitterPos(){return settings.value("UI/HSplitterPos").toByteArray();} bool alwaysOnTop(){return settings.value("UI/AlwaysOnTop",false).toBool();} IntegrPluginType integrPlugin(){return stringToIntegrPluginType(settings.value("Options/IntegrPlugin").toString());} QString lastFile(){return settings.value("Options/LastFile").toString();} QString lastKeyLocation(){return settings.value("Options/LastKeyLocation").toString();} tKeyType lastKeyType(){return stringToKeyType(settings.value("Options/LastKeyType").toString());} QByteArray mainWindowGeometry(); bool minimizeToTray(){return settings.value("Options/MinimizeToTray",false).toBool();} bool minimizeTray(){return settings.value("Options/MinimizeTray",false).toBool();} bool startMinimized(){return settings.value("Options/StartMinimized",false).toBool();} bool startLocked(){return settings.value("Options/StartLocked",false).toBool();} QString mountDir(){return settings.value("Options/MountDir",DEFAULT_MOUNT_DIR).toString();} bool openLastFile(){return settings.value("Options/OpenLastFile",true).toBool();} bool autoSave(){return settings.value("Options/AutoSave",false).toBool();} bool autoSaveChange(){return settings.value("Options/AutoSaveChange",false).toBool();} bool backup(){return settings.value("Options/Backup",true).toBool();} bool backupDelete(){return settings.value("Options/BackupDelete",false).toBool();} int backupDeleteAfter(){return settings.value("Options/BackupDeleteAfter",14).toInt();} int pwGenCategory(){return settings.value("Options/PwGenCategory",0).toInt();} QString pwGenCharList(){return settings.value("Options/PwGenCharList").toString();} bool pwGenExcludeLookAlike(){return settings.value("Options/PwGenExcludeLookAlike").toBool();} bool pwGenEveryGroup(){return settings.value("Options/PwGenEveryGroup").toBool();} int pwGenLength(){return settings.value("Options/PwGenLength",25).toInt();} QBitArray pwGenOptions(){return stringToBitArray(settings.value("Options/PwGenOptions","11111000011110").toString(),14);} bool rememberLastKey(){return settings.value("Options/RememberLastKey",true).toBool();} bool saveFileDlgHistory(){return settings.value("Options/SaveFileDlgHistory",true).toBool();} bool saveRelativePaths(){return settings.value("Options/SaveRelativePaths",true).toBool();} QBitArray searchOptions(){return stringToBitArray(settings.value("Options/SearchOptions","001101111").toString(),9);} bool showEntryDetails(){return settings.value("UI/ShowEntryDetails",true).toBool();} bool showPasswords(){return settings.value("Options/ShowPasswords",false).toBool();} bool showPasswordsPasswordDlg(){return settings.value("Options/ShowPasswordsPasswordDlg",false).toBool();} bool lockOnMinimize(){return settings.value("Options/LockOnMinimize",false).toBool();} bool lockOnInactivity(){return settings.value("Options/LockOnInactivity",false).toBool();} int lockAfterSec(){return settings.value("Options/LockAfterSec",30).toInt();} bool showStatusbar(){return settings.value("UI/ShowStatusbar",true).toBool();} bool showSysTrayIcon(){return settings.value("Options/ShowSysTrayIcon",false).toBool();} bool showToolbar(){return settings.value("UI/ShowToolbar",true).toBool();} int toolbarIconSize(){return settings.value("UI/ToolbarIconSize",16).toInt();} QString urlCmd(){return settings.value("Options/UrlCmd").toString();} bool urlCmdDef(){return settings.value("Options/UrlCmdDef",true).toBool();} QByteArray vSplitterPos(){return settings.value("UI/VSplitterPos").toByteArray();} bool askBeforeDelete(){return settings.value("Options/AskBeforeDelete",true).toBool();} #ifdef AUTOTYPE int autoTypePreGap(){return settings.value("Options/AutoTypePreGap",500).toInt();} int autoTypeKeyStrokeDelay(){return settings.value("Options/AutoTypeKeyStrokeDelay",5).toInt();} #endif #ifdef GLOBAL_AUTOTYPE Shortcut globalShortcut(); bool entryTitlesMatch(){return settings.value("Options/EntryTitlesMatch",true).toBool();} #endif //bool featureBookmarks(){return settings.value("Features/Bookmarks",true).toBool();} bool featureBookmarks(){return true;} QString language(){return settings.value("Options/Language","auto").toString();} void setAlternatingRowColors(bool value){settings.setValue("Options/AlternatingRowColors",value);} void setBannerColor1(const QColor& value){settings.setValue("Options/BannerColor1",colorToString(value));} void setBannerColor2(const QColor& value){settings.setValue("Options/BannerColor2",colorToString(value));} void setBannerTextColor(const QColor& value){settings.setValue("Options/BannerTextColor",colorToString(value));} void setClipboardTimeOut(int value){settings.setValue("Options/ClipboardTimeOut",value);} void setColumns(const QBitArray& value){settings.setValue("UI/Columns",bitArrayToString(value));} void setColumnOrder(const QList& value){settings.setValue("UI/ColumnOrder",intArrayToString(value));} void setColumnSizes(const QList& value){settings.setValue("UI/ColumnSizes",intArrayToString(value));} void setColumnSort(int value){settings.setValue("UI/ColumnSort",value);} void setColumnSortOrder(int value){settings.setValue("UI/ColumnSortOrder",value);} void setSearchColumns(const QBitArray& value){settings.setValue("UI/SearchColumns",bitArrayToString(value));} void setSearchColumnOrder(const QList& value){settings.setValue("UI/SearchColumnOrder",intArrayToString(value));} void setSearchColumnSizes(const QList& value){settings.setValue("UI/SearchColumnSizes",intArrayToString(value));} void setSearchColumnSort(int value){settings.setValue("UI/SearchColumnSort",value);} void setSearchColumnSortOrder(int value){settings.setValue("UI/SearchColumnSortOrder",value);} void setFileDlgHistory(unsigned index,const QStringList& value){settings.setValue(QString("FileDlgHistory/ENTRY%1").arg(index), value);} void setGroupTreeState(GrpTreeState value){settings.setValue("Options/GroupTreeState",grpTreeStateToString(value));} void setHidePasswords(bool value){settings.setValue("UI/HidePasswords",value);} void setHideUsernames(bool value){settings.setValue("UI/HideUsernames",value);} void setHSplitterPos(const QByteArray& value){settings.setValue("UI/HSplitterPos",value);} void setAlwaysOnTop(bool value){settings.setValue("UI/AlwaysOnTop",value);} void setIntegrPlugin(IntegrPluginType value){settings.setValue("Options/IntegrPlugin",integrPluginTypeToString(value));} void setLastFile(const QString& value){settings.setValue("Options/LastFile",value);} void setLastKeyLocation(const QString& value){settings.setValue("Options/LastKeyLocation",value);} void setLastKeyType(tKeyType value){settings.setValue("Options/LastKeyType",keyTypeToString(value));} void setMainWindowGeometry(const QByteArray& value){settings.setValue("UI/MainWindowGeometry",value);} void setMinimizeToTray(bool value){settings.setValue("Options/MinimizeToTray",value);} void setMinimizeTray(bool value){settings.setValue("Options/MinimizeTray",value);} void setStartMinimized(bool value){settings.setValue("Options/StartMinimized",value);} void setStartLocked(bool value){settings.setValue("Options/StartLocked",value);} void setMountDir(const QString& value){settings.setValue("Options/MountDir",value);} void setOpenLastFile(bool value){settings.setValue("Options/OpenLastFile",value);} void setAutoSave(bool value){settings.setValue("Options/AutoSave",value);} void setAutoSaveChange(bool value){settings.setValue("Options/AutoSaveChange",value);} void setBackup(bool value){settings.setValue("Options/Backup",value);} void setBackupDelete(bool value){settings.setValue("Options/BackupDelete",value);} void setBackupDeleteAfter(int value){settings.setValue("Options/BackupDeleteAfter",value);} void setPwGenCategory(int value){settings.setValue("Options/PwGenCategory",value);} void setPwGenCharList(const QString& value){settings.setValue("Options/PwGenCharList",value);} void setPwGenExcludeLookAlike(bool value){settings.setValue("Options/PwGenExcludeLookAlike",value);} void setPwGenEveryGroup(bool value){settings.setValue("Options/PwGenEveryGroup",value);} void setPwGenLength(int value){settings.setValue("Options/PwGenLength",value);} void setPwGenOptions(const QBitArray& value){settings.setValue("Options/PwGenOptions",bitArrayToString(value));} void setRememberLastKey(bool value){settings.setValue("Options/RememberLastKey",value);} void setSaveFileDlgHistory(bool value){settings.setValue("Options/SaveFileDlgHistory",value);} void setSaveRelativePaths(bool value){settings.setValue("Options/SaveRelativePaths",value);} void setSearchOptions(const QBitArray& value){settings.setValue("Options/SearchOptions",bitArrayToString(value));} void setShowEntryDetails(bool value){settings.setValue("UI/ShowEntryDetails",value);} void setShowPasswords(bool value){settings.setValue("Options/ShowPasswords",value);} void setShowPasswordsPasswordDlg(bool value){settings.setValue("Options/ShowPasswordsPasswordDlg",value);} void setLockOnMinimize(bool value){settings.setValue("Options/LockOnMinimize",value);} void setLockOnInactivity(bool value){settings.setValue("Options/LockOnInactivity",value);} void setLockAfterSec(int value){settings.setValue("Options/LockAfterSec",value);} void setShowStatusbar(bool value){settings.setValue("UI/ShowStatusbar",value);} void setShowSysTrayIcon(bool value){settings.setValue("Options/ShowSysTrayIcon",value);} void setShowToolbar(bool value){settings.setValue("UI/ShowToolbar",value);} void setToolbarIconSize(int value){settings.setValue("UI/ToolbarIconSize",value);} void setUrlCmd(const QString& value){settings.setValue("Options/UrlCmd",value);} void setUrlCmdDef(bool value){settings.setValue("Options/UrlCmdDef",value);} void setVSplitterPos(const QByteArray& value){settings.setValue("UI/VSplitterPos",value);} void setAskBeforeDelete(bool value){settings.setValue("Options/AskBeforeDelete",value);} #ifdef AUTOTYPE void setAutoTypePreGap(int value){settings.setValue("Options/AutoTypePreGap",value);} void setAutoTypeKeyStrokeDelay(int value){settings.setValue("Options/AutoTypeKeyStrokeDelay",value);} #endif #ifdef GLOBAL_AUTOTYPE void setGlobalShortcut(const Shortcut& s); void setEntryTitlesMatch(bool value){settings.setValue("Options/EntryTitlesMatch",value);} #endif //void setFeatureBookmarks(bool value){settings.setValue("Features/Bookmarks",value);} void setLanguage(const QString& value){settings.setValue("Options/Language",value);} unsigned fileDlgHistorySize(); void clearFileDlgHistory(){settings.remove("FileDlgHistory");}; QRect dialogGeometry(const QWidget* widget); void setDialogGeometry(const QWidget* widget); QString detailViewTemplate(); QString defaultDetailViewTemplate(); void setDetailViewTemplate(const QString& value); private: QSettings settings; QString configFile; QColor stringToColor(const QString& str); QBitArray stringToBitArray(const QString& str, unsigned count); GrpTreeState stringToGrpTreeState(const QString& str); QList stringToIntArray(const QString& str, unsigned count); IntegrPluginType stringToIntegrPluginType(const QString& str); tKeyType stringToKeyType(const QString& str); QString colorToString(const QColor& color){return QString("%1,%2,%3").arg(color.red()).arg(color.green()).arg(color.blue());} QString bitArrayToString(const QBitArray& bitArray); QString grpTreeStateToString(GrpTreeState grpTreeState); QString intArrayToString(const QList& intArray); QString integrPluginTypeToString(IntegrPluginType integrPluginType); QString keyTypeToString(tKeyType keyType); }; #endif keepassx-0.4.3/src/forms/0000775000175000017500000000000011344562541014265 5ustar felixfelixkeepassx-0.4.3/src/forms/ExpiredEntriesDlg.ui0000664000175000017500000000556410762273236020222 0ustar felixfelix ExpiredEntriesDialog 0 0 588 408 Expired Entries 6 Qt::Vertical QSizePolicy::Fixed 20 50 Double click on an entry to jump to it. false true false true true Group Title Username Expired Qt::Horizontal QDialogButtonBox::Close buttonBox accepted() ExpiredEntriesDialog accept() 248 254 157 274 buttonBox rejected() ExpiredEntriesDialog reject() 316 260 286 274 keepassx-0.4.3/src/forms/SearchDlg.ui0000664000175000017500000001220511161465140016452 0ustar felixfelix Search_Dlg 0 0 458 306 390 0 Search... 6 Qt::Vertical QSizePolicy::Fixed 20 50 4 Qt::Horizontal QSizePolicy::Maximum 40 20 Include: 6 Pass&words A&nhang U&RLs C&omments &Usernames &Titles 0 &Case Sensitive Regular E&xpression Include Subgroups (recursive) Search For: Qt::Vertical 20 40 QDialogButtonBox::Close Edit_Search checkBox_Cs checkBox_regExp checkBox_Recursive checkBox_Title checkBox_Username checkBox_Password checkBox_Comment checkBox_URL checkBox_Attachment ButtonBox keepassx-0.4.3/src/forms/TrashCanDlg.ui0000664000175000017500000000571211067675267016777 0ustar felixfelix TrashCanDialog 0 0 588 408 9 6 Qt::Vertical QSizePolicy::Fixed 20 50 Double click on an entry to restore it. Qt::CustomContextMenu QAbstractItemView::ExtendedSelection false true false true true Group Title Username Expired 0 6 Qt::Horizontal 40 20 Empty Recycle Bin Close keepassx-0.4.3/src/forms/SettingsDlg.ui0000664000175000017500000013314111325300107017041 0ustar felixfelix SettingsDialog 0 0 667 440 Settings true 6 Qt::Vertical QSizePolicy::Fixed 20 50 0 0 120 16777215 10 QListView { show-decoration-selected: 1; } QListView::item { margin-top: 2px; margin-bottom: 2px; } QAbstractItemView::SelectRows General (1) General (2) Appearance Language Security Advanced 0 Show system tray icon Qt::Horizontal QSizePolicy::Fixed 25 10 false Minimize to tray instead of taskbar Qt::Horizontal QSizePolicy::Fixed 25 10 false Minimize to tray when clicking the main window's close button Remember last opened file Qt::Horizontal QSizePolicy::Fixed 25 10 false Remember last key type and location Qt::Horizontal QSizePolicy::Fixed 25 10 false Start minimized Qt::Horizontal QSizePolicy::Fixed 25 10 false Start locked 6 Save recent directories of file dialogs Qt::Horizontal QSizePolicy::Fixed 10 20 Clear History Now Qt::Horizontal 40 20 Always ask before deleting entries or groups Qt::Vertical 1 1 Save backups of modified entries into the 'Backup' group Qt::Horizontal QSizePolicy::Fixed 25 10 false Delete backup entries older than: false 0 0 1 999 days Automatically save database on exit and workspace locking Automatically save database after every change Qt::Vertical 1 1 Banner Color 6 6 Text Color: Qt::Horizontal QSizePolicy::Fixed 40 20 0 0 0 23 16777215 23 Change... 0 0 Color 2: 0 0 23 23 23 23 0 0 23 23 23 23 true 0 0 0 23 16777215 23 Change... 0 0 23 23 23 23 true 0 0 0 23 16777215 23 C&hange... 0 0 Color 1: Qt::Horizontal QSizePolicy::Minimum 40 20 Show window always on top Alternating Row Colors 6 Customize Entry Detail View... Qt::Horizontal 40 20 6 Group tree at start-up: Restore last state Expand all items Do not expand any item Qt::Horizontal 40 20 Qt::Vertical 1 1 QAbstractItemView::SelectRows Qt::Horizontal 40 20 Language: Author: Qt::Horizontal 40 20 Qt::Vertical 1 1 0 0 Show plain text passwords in: 0 Edit Entry Dialog Database Key Dialog 6 0 0 Clear clipboard after: 0 0 80 16777215 50000 2 seconds Lock workspace when minimizing the main window Lock database after inactivity of false 0 0 80 16777215 50000 seconds Qt::Vertical 1 1 Custom Browser Command true Browse Media Root: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter The directory where storage devices like CDs and memory sticks are normally mounted. Browse... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Save relative paths (bookmarks and last file) Auto-Type Fine Tuning 6 Time between the activation of an auto-type action by the user and the first simulated key stroke. ms 10000 Pre-Gap: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Horizontal 40 20 Key Stroke Delay: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. ms 10000 Global Auto-Type Shortcut: true Qt::Horizontal 40 20 Use entries' title to match the window for Global Auto-Type Qt::Vertical 1 1 You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. true Bookmarks Qt::Vertical 1 1 0 0 Plug-Ins 6 None Gnome Desktop Integration (Gtk 2.x) KDE 4 Desktop Integration 6 You need to restart the program before the changes take effect. Qt::Horizontal 40 20 Configure... Qt::Vertical 1 1 Qt::Horizontal QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok ShortcutWidget QLineEdit
lib/ShortcutWidget.h
listWidget CheckBox_ShowSysTrayIcon CheckBox_MinimizeTray CheckBox_OpenLast CheckBox_RememberLastKey CheckBox_StartMinimized CheckBox_StartLocked checkBox_SaveFileDlgHistory Button_ClearFileDlgHistory checkBox_AskBeforeDelete CheckBox_Backup CheckBox_BackupDelete SpinBox_BackupDeleteAfter CheckBox_AutoSave CheckBox_AutoSaveChange ButtonColor1 ButtonColor2 ButtonTextColor CheckBox_AlternatingRowColors Button_CustomizeEntryDetails Radio_GroupTreeRestore Radio_GroupTreeExpand Radio_GroupTreeDoNothing listSelectLanguage CheckBox_ShowPasswords CheckBox_ShowPasswords_PasswordDlg SpinBox_ClipboardTime CheckBox_LockMinimize CheckBox_InactivityLock SpinBox_InacitivtyTime Box_BrowserCmd Edit_BrowserCmd Button_BrowserCmdBrowse Edit_MountDir Button_MountDirBrowse CheckBox_SaveRelativePaths SpinBox_AutoTypePreGap SpinBox_AutoTypeKeyStrokeDelay Edit_GlobalShortcut CheckBox_EntryTitlesMatch CheckBox_FeatureBookmarks Radio_IntPlugin_None Radio_IntPlugin_Gnome Radio_IntPlugin_Kde IntPlugin_Button_Config DialogButtons
keepassx-0.4.3/src/forms/SelectIconDlg.ui0000664000175000017500000000303411067675267017317 0ustar felixfelix SelectIconDlg 0 0 478 284 0 0 Icon Selection 16 16 QListView::Static QListView::LeftToRight true QListView::Fixed 32 44 QListView::IconMode QDialogButtonBox::Cancel keepassx-0.4.3/src/forms/DatabaseSettingsDlg.ui0000664000175000017500000000574211067433475020515 0ustar felixfelix DatabaseSettingsDlg 0 0 440 213 0 0 440 0 Database Settings Qt::Vertical QSizePolicy::Fixed 20 50 Encryption 15 Algorithm: Encryption Rounds: 0 0 Calculate rounds for a 1-second delay on this computer QDialogButtonBox::Cancel|QDialogButtonBox::Ok ComboAlgo EditRounds ButtonBench ButtonBox keepassx-0.4.3/src/forms/AutoTypeDlg.ui0000664000175000017500000000343111000734256017017 0ustar felixfelix AutoTypeDlg 0 0 439 300 KeePassX - Auto-Type Qt::Vertical QSizePolicy::Fixed 1 50 Click on an entry to auto-type it. true false false true 0 QDialogButtonBox::Cancel AutoTypeTreeWidget QTreeWidget
lib/AutoTypeTreeWidget.h
keepassx-0.4.3/src/forms/PasswordDlg.ui0000664000175000017500000002260611161465140017055 0ustar felixfelix PasswordDlg 0 0 578 273 0 0 578 0 false true 9 Qt::Vertical QSizePolicy::Fixed 20 50 Qt::Horizontal 40 20 Last File QToolButton::InstantPopup Qt::NoArrow 0 0 Enter a Password and/or choose a key file. 0 0 Key 0 0 0 0 556 116 Password: true Serif Key File: 0 0 true 0 0 &Browse... Generate Key File... Qt::Horizontal 40 20 0 0 556 116 Please repeat your password: Serif Back Qt::Horizontal 40 20 9 75 true Passwords are not equal. Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 QDialogButtonBox::Cancel|QDialogButtonBox::Ok Button_Bookmarks Check_Password Edit_Password ButtonChangeEchoMode Check_KeyFile Combo_KeyFile Button_Browse Button_GenKeyFile Edit_PwRepeat Button_Back buttonBox keepassx-0.4.3/src/forms/SimplePasswordDlg.ui0000664000175000017500000000547611161465140020235 0ustar felixfelix SimplePasswordDialog 0 0 345 90 0 0 345 90 16777215 90 Enter your Password 6 6 0 0 Password: Serif 0 0 23 23 23 23 true Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok EditPassword Button_HidePassword buttonBox keepassx-0.4.3/src/forms/EditGroupDlg.ui0000664000175000017500000000507211067433475017166 0ustar felixfelix Tarek Saidi EditGroupDialog 0 0 350 120 350 0 Group Properties 6 6 Icon: Title: Qt::Horizontal 172 20 > QFrame::HLine QFrame::Sunken Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok EditTitle ComboIconPicker Button_Icon ButtonBox keepassx-0.4.3/src/forms/HelpDlg.ui0000664000175000017500000001072611246517350016150 0ustar felixfelix HelpDlg 0 0 400 300 Help Contents Previous Page Previous Page Next Page Next Page First Page First Page Qt::Horizontal 40 20 true Qt::Horizontal QDialogButtonBox::Close textBrowser buttonBox buttonBox accepted() HelpDlg accept() 248 254 157 274 buttonBox rejected() HelpDlg reject() 316 260 286 274 buttonPrevious clicked() textBrowser backward() 64 17 199 150 buttonNext clicked() textBrowser forward() 176 17 199 150 buttonFirst clicked() textBrowser home() 274 17 199 150 textBrowser backwardAvailable(bool) buttonPrevious setEnabled(bool) 199 150 64 17 textBrowser forwardAvailable(bool) buttonNext setEnabled(bool) 199 150 176 17 keepassx-0.4.3/src/forms/ManageBookmarksDlg.ui0000664000175000017500000000715011067675267020333 0ustar felixfelix ManageBookmarksDlg 0 0 280 360 280 300 Manage Bookmarks Qt::Vertical QSizePolicy::Fixed 20 50 16 16 16 16 16 16 Qt::Vertical QSizePolicy::Fixed 20 10 16 16 16 16 Qt::Vertical 20 161 Qt::Horizontal QDialogButtonBox::Close ListWidget Button_Add Button_Edit Button_Delete Button_Up Button_Down buttonBox keepassx-0.4.3/src/forms/CollectEntropyDlg.ui0000664000175000017500000001463110762273236020231 0ustar felixfelix CollectEntropyDlg 0 0 432 316 0 0 432 230 Random Number Generator 6 Qt::Vertical QSizePolicy::Fixed 20 50 0 0 Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. false true 420 0 Qt::Horizontal 0 0 16 46 16777215 46 0 6 Qt::Horizontal QSizePolicy::Minimum 40 20 0 0 41 41 41 41 Qt::Horizontal QSizePolicy::Minimum 40 20 6 <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> Qt::AlignCenter Qt::Horizontal QDialogButtonBox::Ok WaitAnimationWidget QWidget
lib/WaitAnimationWidget.h
buttonBox rejected() CollectEntropyDlg reject() 316 260 286 274 buttonBox accepted() CollectEntropyDlg accept() 248 254 157 274
keepassx-0.4.3/src/forms/TargetWindowDlg.ui0000664000175000017500000000212711070765157017677 0ustar felixfelix TargetWindowDlg 0 0 525 145 Auto-Type: Select Target Window To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: true QDialogButtonBox::Cancel|QDialogButtonBox::Ok keepassx-0.4.3/src/forms/CalendarDlg.ui0000664000175000017500000000303410762273236016767 0ustar felixfelix CalendarDialog 0 0 334 238 Calendar 6 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok buttonBox accepted() CalendarDialog accept() 248 254 157 274 buttonBox rejected() CalendarDialog reject() 316 260 286 274 keepassx-0.4.3/src/forms/WorkspaceLockedWidget.ui0000664000175000017500000000655311067675267021075 0ustar felixfelix WorkspaceLockedWidget 0 0 400 300 Form Qt::Vertical 20 40 Qt::Horizontal 40 20 <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> Qt::AlignCenter Qt::Horizontal 40 20 Qt::Horizontal 40 20 Unlock Close Database Qt::Horizontal 40 20 Qt::Vertical 20 40 keepassx-0.4.3/src/forms/CustomizeDetailViewDlg.ui0000664000175000017500000002234511067433475021226 0ustar felixfelix CustomizeDetailViewDialog 0 0 531 402 Dialog 6 0 0 0 509 324 Rich Text Editor 6 6 Bold B 16 16 true Italic I true Underlined U true Left-Aligned L true Centered C true Right-Aligned R true Justified B true Text Color C Font Size true 6 7 8 9 10 11 12 14 16 18 20 22 24 26 28 36 42 78 Templates T QToolButton::InstantPopup Qt::NoArrow Qt::Horizontal 40 20 0 0 509 324 HTML 6 false QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults TabWidget BtnBold BtnItalic BtnUnderline BtnAlignLeft BtnAlignCenter BtnAlignRight BtnAlignBlock BtnColor FontSize BtnTemplates RichEdit HtmlEdit ButtonBox keepassx-0.4.3/src/forms/PasswordGenDlg.ui0000664000175000017500000003374411245022313017506 0ustar felixfelix GenPwDlg 0 0 460 432 Password Generator 6 Qt::Vertical QSizePolicy::Fixed 442 50 0 Random Use following character groups: 6 Qt::Horizontal QSizePolicy::Fixed 30 20 6 &Lower Letters true &Underline &Numbers true &White Spaces &Upper Letters true &Minus &Special Characters Exclude look-alike characters Ensure that password contains characters from every group Pronounceable Qt::Vertical 20 1 12 Lower Letters Upper Letters Numbers Special Characters Qt::Vertical 20 1 Custom Qt::Vertical 20 51 Use the following characters: Serif 255 Qt::Vertical 20 51 Qt::Vertical QSizePolicy::Fixed 20 5 Options 6 6 Length: 1 10000 20 Qt::Horizontal QSizePolicy::Fixed 10 1 Quality: 128 0 Qt::Horizontal 6 Enable entropy collection true Qt::Horizontal QSizePolicy::Fixed 10 20 Collect only once per session Qt::Horizontal 40 20 6 New Password: Serif Generate QFrame::HLine QFrame::Sunken Qt::Horizontal Qt::Horizontal QDialogButtonBox::NoButton tabCategory checkBox1 checkBox2 checkBox3 checkBox5 checkBox6 checkBox7 checkBox4 Check_ExcludeLookAlike Check_EveryGroup Spin_Num Check_CollectEntropy Check_CollectOncePerSession Edit_dest ButtonChangeEchoMode ButtonGenerate checkBoxPL checkBoxPU checkBoxPN checkBoxPS DialogButtons keepassx-0.4.3/src/forms/MainWindow.ui0000664000175000017500000004173311320156341016677 0ustar felixfelix Tarek Saidi MainWindow 0 0 724 468 true KeePassX Qt::Horizontal false 30 0 true true false Groups 70 0 Qt::Vertical false 0 70 QAbstractItemView::ExtendedSelection false true false 0 30 0 30 true false 0 0 724 24 &Help &File &Export to... &Import from... &Bookmarks &Entries &View Toolbar &Icon Size &Columns E&xtras &Groups &Manage Bookmarks... &Open Database... &Close Database &Save Database Save Database &As... &Database Settings... Change &Master Key... &Lock Workspace &Quit QAction::QuitRole &Add New Subgroup... &Edit Group... &Delete Group Copy Password &to Clipboard Copy &Username to Clipboard &Open URL &Save Attachment As... Add &New Entry... &View/Edit Entry... De&lete Entry &Clone Entry Search &in Database... Search in this &Group... true Show &Entry Details true Hide &Usernames true Hide &Passwords true &Title true User&name true &URL true &Password true &Comment true E&xpires true C&reation true &Last Change true Last &Access true A&ttachment &Settings... QAction::PreferencesRole &About... QAction::AboutRole true Show &Statusbar &KeePassX Handbook... Hide &Perform AutoType true &16x16 true &22x22 true 2&8x28 &New Database... &Password Generator... true &Group false Show &Expired Entries... Recycle Bin... false &Add Bookmark... Bookmark &this Database... Copy URL to Clipboard Add New Group... Sort groups &Minimize Window KeepassEntryView QTreeWidget
../../src/lib/EntryView.h
KeepassGroupView QTreeWidget
../../src/lib/GroupView.h
keepassx-0.4.3/src/forms/EditEntryDlg.ui0000664000175000017500000003375011245022313017156 0ustar felixfelix Tarek Saidi EditEntryDialog 0 0 494 490 Edit Entry true true 6 6 0 0 0 23 16777215 23 Ge&n. Serif 0 0 0 23 16777215 23 16 16 Serif 0 0 Quality: 0 0 Attachment: 0 0 Title: 0 0 Username: 0 0 Comment: 0 0 URL: 0 0 Group: 0 0 Repeat: 0 0 Password: 0 0 Expires: 0 40 true false QFrame::HLine QFrame::Sunken Qt::Horizontal 6 false 0 0 16 16 16 16 16 16 0 0 %1 6 16 16 QToolButton::MenuButtonPopup Never 6 0 14 16777215 14 false Qt::Horizontal %1 Bit 6 0 0 Qt::Horizontal QSizePolicy::Fixed 100 20 Icon: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 16 16 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok Qt::Vertical QSizePolicy::Minimum 20 50 Edit_Title Edit_UserName Edit_URL Edit_Password Edit_Password_w ButtonEchoMode ButtonGenPw Edit_Comment DateTime_Expire ButtonExpirePresets CheckBox_ExpiresNever Edit_Attachment ButtonOpenAttachment ButtonSaveAttachment ButtonDeleteAttachment Combo_Group Button_Icons buttonBox keepassx-0.4.3/src/forms/AboutDlg.ui0000664000175000017500000001404611217176700016327 0ustar felixfelix AboutDlg 0 0 419 305 About 6 Qt::Vertical QSizePolicy::Fixed 20 50 0 About 6 0 0 12 75 true AppName 0 0 9 AppFunc Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 6 Qt::Horizontal QSizePolicy::Fixed 10 20 http://keepassx.sourceforge.net keepassx@gmail.com Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Credits 6 true Translation 6 true License 6 true QDialogButtonBox::Close LinkLabel QLabel
../../src/lib/UrlLabel.h
tabWidget Edit_Thanks Edit_Translation Edit_License ButtonBox
keepassx-0.4.3/src/forms/AddBookmarkDlg.ui0000664000175000017500000000503311067675267017446 0ustar felixfelix Tarek Saidi AddBookmarkDlg 0 0 500 180 0 0 500 180 500 180 Add Bookmark Qt::Vertical QSizePolicy::Fixed 20 50 Title: File: Browse... Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok Edit_Title Edit_Filename Button_Browse buttonBox keepassx-0.4.3/src/main_macx.cpp0000664000175000017500000000446211044656216015605 0ustar felixfelix/*************************************************************************** * Copyright (C) 1992-2008 Trolltech ASA * * * * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include "main.h" void initAppPaths(int argc,char** argv) { CFURLRef bundleURL(CFBundleCopyExecutableURL(CFBundleGetMainBundle())); //assert(bundleURL); CFStringRef cfPath(CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle)); //assert(cfPath); CFIndex length = CFStringGetLength(cfPath); const UniChar *chars = CFStringGetCharactersPtr(cfPath); if (chars) { AppDir = QString(reinterpret_cast(chars), length); } else { QVarLengthArray buffer(length); CFStringGetCharacters(cfPath, CFRangeMake(0, length), buffer.data()); AppDir = QString(reinterpret_cast(buffer.constData()), length); } AppDir.truncate(AppDir.lastIndexOf("/")); HomeDir = QDir::homePath()+"/.keepassx"; DataDir=AppDir+"/../Resources/keepassx"; } keepassx-0.4.3/src/crypto/0000775000175000017500000000000011344562540014456 5ustar felixfelixkeepassx-0.4.3/src/crypto/aeskey.c0000664000175000017500000004031011044656216016102 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 */ #include "aesopt.h" #include "aestab.h" #ifdef USE_VIA_ACE_IF_PRESENT # include "aes_via_ace.h" #endif #if defined(__cplusplus) extern "C" { #endif /* Initialise the key schedule from the user supplied key. The key length can be specified in bytes, with legal values of 16, 24 and 32, or in bits, with legal values of 128, 192 and 256. These values correspond with Nk values of 4, 6 and 8 respectively. The following macros implement a single cycle in the key schedule generation process. The number of cycles needed for each cx->n_col and nk value is: nk = 4 5 6 7 8 ------------------------------ cx->n_col = 4 10 9 8 7 7 cx->n_col = 5 14 11 10 9 9 cx->n_col = 6 19 15 12 11 11 cx->n_col = 7 21 19 16 13 14 cx->n_col = 8 29 23 19 17 14 */ #if defined( REDUCE_CODE_SIZE ) # define ls_box ls_sub uint_32t ls_sub(const uint_32t t, const uint_32t n); # define inv_mcol im_sub uint_32t im_sub(const uint_32t x); # ifdef ENC_KS_UNROLL # undef ENC_KS_UNROLL # endif # ifdef DEC_KS_UNROLL # undef DEC_KS_UNROLL # endif #endif #if (FUNCS_IN_C & ENC_KEYING_IN_C) #if defined(AES_128) || defined( AES_VAR ) #define ke4(k,i) \ { k[4*(i)+4] = ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; \ k[4*(i)+5] = ss[1] ^= ss[0]; \ k[4*(i)+6] = ss[2] ^= ss[1]; \ k[4*(i)+7] = ss[3] ^= ss[2]; \ } AES_RETURN aes_encrypt_key128(const unsigned char *key, aes_encrypt_ctx cx[1]) { uint_32t ss[4]; cx->ks[0] = ss[0] = word_in(key, 0); cx->ks[1] = ss[1] = word_in(key, 1); cx->ks[2] = ss[2] = word_in(key, 2); cx->ks[3] = ss[3] = word_in(key, 3); #ifdef ENC_KS_UNROLL ke4(cx->ks, 0); ke4(cx->ks, 1); ke4(cx->ks, 2); ke4(cx->ks, 3); ke4(cx->ks, 4); ke4(cx->ks, 5); ke4(cx->ks, 6); ke4(cx->ks, 7); ke4(cx->ks, 8); #else { uint_32t i; for(i = 0; i < 9; ++i) ke4(cx->ks, i); } #endif ke4(cx->ks, 9); cx->inf.l = 0; cx->inf.b[0] = 10 * 16; #ifdef USE_VIA_ACE_IF_PRESENT if(VIA_ACE_AVAILABLE) cx->inf.b[1] = 0xff; #endif return EXIT_SUCCESS; } #endif #if defined(AES_192) || defined( AES_VAR ) #define kef6(k,i) \ { k[6*(i)+ 6] = ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; \ k[6*(i)+ 7] = ss[1] ^= ss[0]; \ k[6*(i)+ 8] = ss[2] ^= ss[1]; \ k[6*(i)+ 9] = ss[3] ^= ss[2]; \ } #define ke6(k,i) \ { kef6(k,i); \ k[6*(i)+10] = ss[4] ^= ss[3]; \ k[6*(i)+11] = ss[5] ^= ss[4]; \ } AES_RETURN aes_encrypt_key192(const unsigned char *key, aes_encrypt_ctx cx[1]) { uint_32t ss[6]; cx->ks[0] = ss[0] = word_in(key, 0); cx->ks[1] = ss[1] = word_in(key, 1); cx->ks[2] = ss[2] = word_in(key, 2); cx->ks[3] = ss[3] = word_in(key, 3); cx->ks[4] = ss[4] = word_in(key, 4); cx->ks[5] = ss[5] = word_in(key, 5); #ifdef ENC_KS_UNROLL ke6(cx->ks, 0); ke6(cx->ks, 1); ke6(cx->ks, 2); ke6(cx->ks, 3); ke6(cx->ks, 4); ke6(cx->ks, 5); ke6(cx->ks, 6); #else { uint_32t i; for(i = 0; i < 7; ++i) ke6(cx->ks, i); } #endif kef6(cx->ks, 7); cx->inf.l = 0; cx->inf.b[0] = 12 * 16; #ifdef USE_VIA_ACE_IF_PRESENT if(VIA_ACE_AVAILABLE) cx->inf.b[1] = 0xff; #endif return EXIT_SUCCESS; } #endif #if defined(AES_256) || defined( AES_VAR ) #define kef8(k,i) \ { k[8*(i)+ 8] = ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; \ k[8*(i)+ 9] = ss[1] ^= ss[0]; \ k[8*(i)+10] = ss[2] ^= ss[1]; \ k[8*(i)+11] = ss[3] ^= ss[2]; \ } #define ke8(k,i) \ { kef8(k,i); \ k[8*(i)+12] = ss[4] ^= ls_box(ss[3],0); \ k[8*(i)+13] = ss[5] ^= ss[4]; \ k[8*(i)+14] = ss[6] ^= ss[5]; \ k[8*(i)+15] = ss[7] ^= ss[6]; \ } AES_RETURN aes_encrypt_key256(const unsigned char *key, aes_encrypt_ctx cx[1]) { uint_32t ss[8]; cx->ks[0] = ss[0] = word_in(key, 0); cx->ks[1] = ss[1] = word_in(key, 1); cx->ks[2] = ss[2] = word_in(key, 2); cx->ks[3] = ss[3] = word_in(key, 3); cx->ks[4] = ss[4] = word_in(key, 4); cx->ks[5] = ss[5] = word_in(key, 5); cx->ks[6] = ss[6] = word_in(key, 6); cx->ks[7] = ss[7] = word_in(key, 7); #ifdef ENC_KS_UNROLL ke8(cx->ks, 0); ke8(cx->ks, 1); ke8(cx->ks, 2); ke8(cx->ks, 3); ke8(cx->ks, 4); ke8(cx->ks, 5); #else { uint_32t i; for(i = 0; i < 6; ++i) ke8(cx->ks, i); } #endif kef8(cx->ks, 6); cx->inf.l = 0; cx->inf.b[0] = 14 * 16; #ifdef USE_VIA_ACE_IF_PRESENT if(VIA_ACE_AVAILABLE) cx->inf.b[1] = 0xff; #endif return EXIT_SUCCESS; } #endif #if defined( AES_VAR ) AES_RETURN aes_encrypt_key(const unsigned char *key, int key_len, aes_encrypt_ctx cx[1]) { switch(key_len) { case 16: case 128: return aes_encrypt_key128(key, cx); case 24: case 192: return aes_encrypt_key192(key, cx); case 32: case 256: return aes_encrypt_key256(key, cx); default: return EXIT_FAILURE; } } #endif #endif #if (FUNCS_IN_C & DEC_KEYING_IN_C) /* this is used to store the decryption round keys */ /* in forward or reverse order */ #ifdef AES_REV_DKS #define v(n,i) ((n) - (i) + 2 * ((i) & 3)) #else #define v(n,i) (i) #endif #if DEC_ROUND == NO_TABLES #define ff(x) (x) #else #define ff(x) inv_mcol(x) #if defined( dec_imvars ) #define d_vars dec_imvars #endif #endif #if defined(AES_128) || defined( AES_VAR ) #define k4e(k,i) \ { k[v(40,(4*(i))+4)] = ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; \ k[v(40,(4*(i))+5)] = ss[1] ^= ss[0]; \ k[v(40,(4*(i))+6)] = ss[2] ^= ss[1]; \ k[v(40,(4*(i))+7)] = ss[3] ^= ss[2]; \ } #if 1 #define kdf4(k,i) \ { ss[0] = ss[0] ^ ss[2] ^ ss[1] ^ ss[3]; \ ss[1] = ss[1] ^ ss[3]; \ ss[2] = ss[2] ^ ss[3]; \ ss[4] = ls_box(ss[(i+3) % 4], 3) ^ t_use(r,c)[i]; \ ss[i % 4] ^= ss[4]; \ ss[4] ^= k[v(40,(4*(i)))]; k[v(40,(4*(i))+4)] = ff(ss[4]); \ ss[4] ^= k[v(40,(4*(i))+1)]; k[v(40,(4*(i))+5)] = ff(ss[4]); \ ss[4] ^= k[v(40,(4*(i))+2)]; k[v(40,(4*(i))+6)] = ff(ss[4]); \ ss[4] ^= k[v(40,(4*(i))+3)]; k[v(40,(4*(i))+7)] = ff(ss[4]); \ } #define kd4(k,i) \ { ss[4] = ls_box(ss[(i+3) % 4], 3) ^ t_use(r,c)[i]; \ ss[i % 4] ^= ss[4]; ss[4] = ff(ss[4]); \ k[v(40,(4*(i))+4)] = ss[4] ^= k[v(40,(4*(i)))]; \ k[v(40,(4*(i))+5)] = ss[4] ^= k[v(40,(4*(i))+1)]; \ k[v(40,(4*(i))+6)] = ss[4] ^= k[v(40,(4*(i))+2)]; \ k[v(40,(4*(i))+7)] = ss[4] ^= k[v(40,(4*(i))+3)]; \ } #define kdl4(k,i) \ { ss[4] = ls_box(ss[(i+3) % 4], 3) ^ t_use(r,c)[i]; ss[i % 4] ^= ss[4]; \ k[v(40,(4*(i))+4)] = (ss[0] ^= ss[1]) ^ ss[2] ^ ss[3]; \ k[v(40,(4*(i))+5)] = ss[1] ^ ss[3]; \ k[v(40,(4*(i))+6)] = ss[0]; \ k[v(40,(4*(i))+7)] = ss[1]; \ } #else #define kdf4(k,i) \ { ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; k[v(40,(4*(i))+ 4)] = ff(ss[0]); \ ss[1] ^= ss[0]; k[v(40,(4*(i))+ 5)] = ff(ss[1]); \ ss[2] ^= ss[1]; k[v(40,(4*(i))+ 6)] = ff(ss[2]); \ ss[3] ^= ss[2]; k[v(40,(4*(i))+ 7)] = ff(ss[3]); \ } #define kd4(k,i) \ { ss[4] = ls_box(ss[3],3) ^ t_use(r,c)[i]; \ ss[0] ^= ss[4]; ss[4] = ff(ss[4]); k[v(40,(4*(i))+ 4)] = ss[4] ^= k[v(40,(4*(i)))]; \ ss[1] ^= ss[0]; k[v(40,(4*(i))+ 5)] = ss[4] ^= k[v(40,(4*(i))+ 1)]; \ ss[2] ^= ss[1]; k[v(40,(4*(i))+ 6)] = ss[4] ^= k[v(40,(4*(i))+ 2)]; \ ss[3] ^= ss[2]; k[v(40,(4*(i))+ 7)] = ss[4] ^= k[v(40,(4*(i))+ 3)]; \ } #define kdl4(k,i) \ { ss[0] ^= ls_box(ss[3],3) ^ t_use(r,c)[i]; k[v(40,(4*(i))+ 4)] = ss[0]; \ ss[1] ^= ss[0]; k[v(40,(4*(i))+ 5)] = ss[1]; \ ss[2] ^= ss[1]; k[v(40,(4*(i))+ 6)] = ss[2]; \ ss[3] ^= ss[2]; k[v(40,(4*(i))+ 7)] = ss[3]; \ } #endif AES_RETURN aes_decrypt_key128(const unsigned char *key, aes_decrypt_ctx cx[1]) { uint_32t ss[5]; #if defined( d_vars ) d_vars; #endif cx->ks[v(40,(0))] = ss[0] = word_in(key, 0); cx->ks[v(40,(1))] = ss[1] = word_in(key, 1); cx->ks[v(40,(2))] = ss[2] = word_in(key, 2); cx->ks[v(40,(3))] = ss[3] = word_in(key, 3); #ifdef DEC_KS_UNROLL kdf4(cx->ks, 0); kd4(cx->ks, 1); kd4(cx->ks, 2); kd4(cx->ks, 3); kd4(cx->ks, 4); kd4(cx->ks, 5); kd4(cx->ks, 6); kd4(cx->ks, 7); kd4(cx->ks, 8); kdl4(cx->ks, 9); #else { uint_32t i; for(i = 0; i < 10; ++i) k4e(cx->ks, i); #if !(DEC_ROUND == NO_TABLES) for(i = N_COLS; i < 10 * N_COLS; ++i) cx->ks[i] = inv_mcol(cx->ks[i]); #endif } #endif cx->inf.l = 0; cx->inf.b[0] = 10 * 16; #ifdef USE_VIA_ACE_IF_PRESENT if(VIA_ACE_AVAILABLE) cx->inf.b[1] = 0xff; #endif return EXIT_SUCCESS; } #endif #if defined(AES_192) || defined( AES_VAR ) #define k6ef(k,i) \ { k[v(48,(6*(i))+ 6)] = ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; \ k[v(48,(6*(i))+ 7)] = ss[1] ^= ss[0]; \ k[v(48,(6*(i))+ 8)] = ss[2] ^= ss[1]; \ k[v(48,(6*(i))+ 9)] = ss[3] ^= ss[2]; \ } #define k6e(k,i) \ { k6ef(k,i); \ k[v(48,(6*(i))+10)] = ss[4] ^= ss[3]; \ k[v(48,(6*(i))+11)] = ss[5] ^= ss[4]; \ } #define kdf6(k,i) \ { ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; k[v(48,(6*(i))+ 6)] = ff(ss[0]); \ ss[1] ^= ss[0]; k[v(48,(6*(i))+ 7)] = ff(ss[1]); \ ss[2] ^= ss[1]; k[v(48,(6*(i))+ 8)] = ff(ss[2]); \ ss[3] ^= ss[2]; k[v(48,(6*(i))+ 9)] = ff(ss[3]); \ ss[4] ^= ss[3]; k[v(48,(6*(i))+10)] = ff(ss[4]); \ ss[5] ^= ss[4]; k[v(48,(6*(i))+11)] = ff(ss[5]); \ } #define kd6(k,i) \ { ss[6] = ls_box(ss[5],3) ^ t_use(r,c)[i]; \ ss[0] ^= ss[6]; ss[6] = ff(ss[6]); k[v(48,(6*(i))+ 6)] = ss[6] ^= k[v(48,(6*(i)))]; \ ss[1] ^= ss[0]; k[v(48,(6*(i))+ 7)] = ss[6] ^= k[v(48,(6*(i))+ 1)]; \ ss[2] ^= ss[1]; k[v(48,(6*(i))+ 8)] = ss[6] ^= k[v(48,(6*(i))+ 2)]; \ ss[3] ^= ss[2]; k[v(48,(6*(i))+ 9)] = ss[6] ^= k[v(48,(6*(i))+ 3)]; \ ss[4] ^= ss[3]; k[v(48,(6*(i))+10)] = ss[6] ^= k[v(48,(6*(i))+ 4)]; \ ss[5] ^= ss[4]; k[v(48,(6*(i))+11)] = ss[6] ^= k[v(48,(6*(i))+ 5)]; \ } #define kdl6(k,i) \ { ss[0] ^= ls_box(ss[5],3) ^ t_use(r,c)[i]; k[v(48,(6*(i))+ 6)] = ss[0]; \ ss[1] ^= ss[0]; k[v(48,(6*(i))+ 7)] = ss[1]; \ ss[2] ^= ss[1]; k[v(48,(6*(i))+ 8)] = ss[2]; \ ss[3] ^= ss[2]; k[v(48,(6*(i))+ 9)] = ss[3]; \ } AES_RETURN aes_decrypt_key192(const unsigned char *key, aes_decrypt_ctx cx[1]) { uint_32t ss[7]; #if defined( d_vars ) d_vars; #endif cx->ks[v(48,(0))] = ss[0] = word_in(key, 0); cx->ks[v(48,(1))] = ss[1] = word_in(key, 1); cx->ks[v(48,(2))] = ss[2] = word_in(key, 2); cx->ks[v(48,(3))] = ss[3] = word_in(key, 3); #ifdef DEC_KS_UNROLL cx->ks[v(48,(4))] = ff(ss[4] = word_in(key, 4)); cx->ks[v(48,(5))] = ff(ss[5] = word_in(key, 5)); kdf6(cx->ks, 0); kd6(cx->ks, 1); kd6(cx->ks, 2); kd6(cx->ks, 3); kd6(cx->ks, 4); kd6(cx->ks, 5); kd6(cx->ks, 6); kdl6(cx->ks, 7); #else cx->ks[v(48,(4))] = ss[4] = word_in(key, 4); cx->ks[v(48,(5))] = ss[5] = word_in(key, 5); { uint_32t i; for(i = 0; i < 7; ++i) k6e(cx->ks, i); k6ef(cx->ks, 7); #if !(DEC_ROUND == NO_TABLES) for(i = N_COLS; i < 12 * N_COLS; ++i) cx->ks[i] = inv_mcol(cx->ks[i]); #endif } #endif cx->inf.l = 0; cx->inf.b[0] = 12 * 16; #ifdef USE_VIA_ACE_IF_PRESENT if(VIA_ACE_AVAILABLE) cx->inf.b[1] = 0xff; #endif return EXIT_SUCCESS; } #endif #if defined(AES_256) || defined( AES_VAR ) #define k8ef(k,i) \ { k[v(56,(8*(i))+ 8)] = ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; \ k[v(56,(8*(i))+ 9)] = ss[1] ^= ss[0]; \ k[v(56,(8*(i))+10)] = ss[2] ^= ss[1]; \ k[v(56,(8*(i))+11)] = ss[3] ^= ss[2]; \ } #define k8e(k,i) \ { k8ef(k,i); \ k[v(56,(8*(i))+12)] = ss[4] ^= ls_box(ss[3],0); \ k[v(56,(8*(i))+13)] = ss[5] ^= ss[4]; \ k[v(56,(8*(i))+14)] = ss[6] ^= ss[5]; \ k[v(56,(8*(i))+15)] = ss[7] ^= ss[6]; \ } #define kdf8(k,i) \ { ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; k[v(56,(8*(i))+ 8)] = ff(ss[0]); \ ss[1] ^= ss[0]; k[v(56,(8*(i))+ 9)] = ff(ss[1]); \ ss[2] ^= ss[1]; k[v(56,(8*(i))+10)] = ff(ss[2]); \ ss[3] ^= ss[2]; k[v(56,(8*(i))+11)] = ff(ss[3]); \ ss[4] ^= ls_box(ss[3],0); k[v(56,(8*(i))+12)] = ff(ss[4]); \ ss[5] ^= ss[4]; k[v(56,(8*(i))+13)] = ff(ss[5]); \ ss[6] ^= ss[5]; k[v(56,(8*(i))+14)] = ff(ss[6]); \ ss[7] ^= ss[6]; k[v(56,(8*(i))+15)] = ff(ss[7]); \ } #define kd8(k,i) \ { ss[8] = ls_box(ss[7],3) ^ t_use(r,c)[i]; \ ss[0] ^= ss[8]; ss[8] = ff(ss[8]); k[v(56,(8*(i))+ 8)] = ss[8] ^= k[v(56,(8*(i)))]; \ ss[1] ^= ss[0]; k[v(56,(8*(i))+ 9)] = ss[8] ^= k[v(56,(8*(i))+ 1)]; \ ss[2] ^= ss[1]; k[v(56,(8*(i))+10)] = ss[8] ^= k[v(56,(8*(i))+ 2)]; \ ss[3] ^= ss[2]; k[v(56,(8*(i))+11)] = ss[8] ^= k[v(56,(8*(i))+ 3)]; \ ss[8] = ls_box(ss[3],0); \ ss[4] ^= ss[8]; ss[8] = ff(ss[8]); k[v(56,(8*(i))+12)] = ss[8] ^= k[v(56,(8*(i))+ 4)]; \ ss[5] ^= ss[4]; k[v(56,(8*(i))+13)] = ss[8] ^= k[v(56,(8*(i))+ 5)]; \ ss[6] ^= ss[5]; k[v(56,(8*(i))+14)] = ss[8] ^= k[v(56,(8*(i))+ 6)]; \ ss[7] ^= ss[6]; k[v(56,(8*(i))+15)] = ss[8] ^= k[v(56,(8*(i))+ 7)]; \ } #define kdl8(k,i) \ { ss[0] ^= ls_box(ss[7],3) ^ t_use(r,c)[i]; k[v(56,(8*(i))+ 8)] = ss[0]; \ ss[1] ^= ss[0]; k[v(56,(8*(i))+ 9)] = ss[1]; \ ss[2] ^= ss[1]; k[v(56,(8*(i))+10)] = ss[2]; \ ss[3] ^= ss[2]; k[v(56,(8*(i))+11)] = ss[3]; \ } AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx cx[1]) { uint_32t ss[9]; #if defined( d_vars ) d_vars; #endif cx->ks[v(56,(0))] = ss[0] = word_in(key, 0); cx->ks[v(56,(1))] = ss[1] = word_in(key, 1); cx->ks[v(56,(2))] = ss[2] = word_in(key, 2); cx->ks[v(56,(3))] = ss[3] = word_in(key, 3); #ifdef DEC_KS_UNROLL cx->ks[v(56,(4))] = ff(ss[4] = word_in(key, 4)); cx->ks[v(56,(5))] = ff(ss[5] = word_in(key, 5)); cx->ks[v(56,(6))] = ff(ss[6] = word_in(key, 6)); cx->ks[v(56,(7))] = ff(ss[7] = word_in(key, 7)); kdf8(cx->ks, 0); kd8(cx->ks, 1); kd8(cx->ks, 2); kd8(cx->ks, 3); kd8(cx->ks, 4); kd8(cx->ks, 5); kdl8(cx->ks, 6); #else cx->ks[v(56,(4))] = ss[4] = word_in(key, 4); cx->ks[v(56,(5))] = ss[5] = word_in(key, 5); cx->ks[v(56,(6))] = ss[6] = word_in(key, 6); cx->ks[v(56,(7))] = ss[7] = word_in(key, 7); { uint_32t i; for(i = 0; i < 6; ++i) k8e(cx->ks, i); k8ef(cx->ks, 6); #if !(DEC_ROUND == NO_TABLES) for(i = N_COLS; i < 14 * N_COLS; ++i) cx->ks[i] = inv_mcol(cx->ks[i]); #endif } #endif cx->inf.l = 0; cx->inf.b[0] = 14 * 16; #ifdef USE_VIA_ACE_IF_PRESENT if(VIA_ACE_AVAILABLE) cx->inf.b[1] = 0xff; #endif return EXIT_SUCCESS; } #endif #if defined( AES_VAR ) AES_RETURN aes_decrypt_key(const unsigned char *key, int key_len, aes_decrypt_ctx cx[1]) { switch(key_len) { case 16: case 128: return aes_decrypt_key128(key, cx); case 24: case 192: return aes_decrypt_key192(key, cx); case 32: case 256: return aes_decrypt_key256(key, cx); default: return EXIT_FAILURE; } } #endif #endif #if defined(__cplusplus) } #endif keepassx-0.4.3/src/crypto/aes.h0000664000175000017500000001646111134614757015414 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 This file contains the definitions required to use AES in C. See aesopt.h for optimisation details. */ #ifndef _AES_H #define _AES_H #include /* This include is used to find 8 & 32 bit unsigned integer types */ #include "aes_types.h" #if defined(__cplusplus) extern "C" { #endif //#define AES_128 /* if a fast 128 bit key scheduler is needed */ //#define AES_192 /* if a fast 192 bit key scheduler is needed */ #define AES_256 /* if a fast 256 bit key scheduler is needed */ //#define AES_VAR /* if variable key size scheduler is needed */ #define AES_MODES /* if support is needed for modes */ /* The following must also be set in assembler files if being used */ #define AES_ENCRYPT /* if support for encryption is needed */ #define AES_DECRYPT /* if support for decryption is needed */ #define AES_REV_DKS /* define to reverse decryption key schedule */ #define AES_BLOCK_SIZE 16 /* the AES block size in bytes */ #define N_COLS 4 /* the number of columns in the state */ /* The key schedule length is 11, 13 or 15 16-byte blocks for 128, */ /* 192 or 256-bit keys respectively. That is 176, 208 or 240 bytes */ /* or 44, 52 or 60 32-bit words. */ #if defined( AES_VAR ) || defined( AES_256 ) #define KS_LENGTH 60 #elif defined( AES_192 ) #define KS_LENGTH 52 #else #define KS_LENGTH 44 #endif #define AES_RETURN INT_RETURN /* the character array 'inf' in the following structures is used */ /* to hold AES context information. This AES code uses cx->inf.b[0] */ /* to hold the number of rounds multiplied by 16. The other three */ /* elements can be used by code that implements additional modes */ typedef union { uint_32t l; uint_8t b[4]; } aes_inf; typedef struct { uint_32t ks[KS_LENGTH]; aes_inf inf; } aes_encrypt_ctx; typedef struct { uint_32t ks[KS_LENGTH]; aes_inf inf; } aes_decrypt_ctx; /* This routine must be called before first use if non-static */ /* tables are being used */ AES_RETURN aes_init(void); /* Key lengths in the range 16 <= key_len <= 32 are given in bytes, */ /* those in the range 128 <= key_len <= 256 are given in bits */ #if defined( AES_ENCRYPT ) #if defined( AES_128 ) || defined( AES_VAR) AES_RETURN aes_encrypt_key128(const unsigned char *key, aes_encrypt_ctx cx[1]); #endif #if defined( AES_192 ) || defined( AES_VAR) AES_RETURN aes_encrypt_key192(const unsigned char *key, aes_encrypt_ctx cx[1]); #endif #if defined( AES_256 ) || defined( AES_VAR) AES_RETURN aes_encrypt_key256(const unsigned char *key, aes_encrypt_ctx cx[1]); #endif #if defined( AES_VAR ) AES_RETURN aes_encrypt_key(const unsigned char *key, int key_len, aes_encrypt_ctx cx[1]); #endif AES_RETURN aes_encrypt(const unsigned char *in, unsigned char *out, const aes_encrypt_ctx cx[1]); #endif #if defined( AES_DECRYPT ) #if defined( AES_128 ) || defined( AES_VAR) AES_RETURN aes_decrypt_key128(const unsigned char *key, aes_decrypt_ctx cx[1]); #endif #if defined( AES_192 ) || defined( AES_VAR) AES_RETURN aes_decrypt_key192(const unsigned char *key, aes_decrypt_ctx cx[1]); #endif #if defined( AES_256 ) || defined( AES_VAR) AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx cx[1]); #endif #if defined( AES_VAR ) AES_RETURN aes_decrypt_key(const unsigned char *key, int key_len, aes_decrypt_ctx cx[1]); #endif AES_RETURN aes_decrypt(const unsigned char *in, unsigned char *out, const aes_decrypt_ctx cx[1]); #endif #if defined( AES_MODES ) /* Multiple calls to the following subroutines for multiple block */ /* ECB, CBC, CFB, OFB and CTR mode encryption can be used to handle */ /* long messages incremantally provided that the context AND the iv */ /* are preserved between all such calls. For the ECB and CBC modes */ /* each individual call within a series of incremental calls must */ /* process only full blocks (i.e. len must be a multiple of 16) but */ /* the CFB, OFB and CTR mode calls can handle multiple incremental */ /* calls of any length. Each mode is reset when a new AES key is */ /* set but ECB and CBC operations can be reset without setting a */ /* new key by setting a new IV value. To reset CFB, OFB and CTR */ /* without setting the key, aes_mode_reset() must be called and the */ /* IV must be set. NOTE: All these calls update the IV on exit so */ /* this has to be reset if a new operation with the same IV as the */ /* previous one is required (or decryption follows encryption with */ /* the same IV array). */ AES_RETURN aes_test_alignment_detection(unsigned int n); AES_RETURN aes_ecb_encrypt(const unsigned char *ibuf, unsigned char *obuf, int len, const aes_encrypt_ctx cx[1]); AES_RETURN aes_ecb_decrypt(const unsigned char *ibuf, unsigned char *obuf, int len, const aes_decrypt_ctx cx[1]); AES_RETURN aes_cbc_encrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, const aes_encrypt_ctx cx[1]); AES_RETURN aes_cbc_decrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, const aes_decrypt_ctx cx[1]); AES_RETURN aes_mode_reset(aes_encrypt_ctx cx[1]); AES_RETURN aes_cfb_encrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, aes_encrypt_ctx cx[1]); AES_RETURN aes_cfb_decrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, aes_encrypt_ctx cx[1]); #define aes_ofb_encrypt aes_ofb_crypt #define aes_ofb_decrypt aes_ofb_crypt AES_RETURN aes_ofb_crypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, aes_encrypt_ctx cx[1]); typedef void cbuf_inc(unsigned char *cbuf); #define aes_ctr_encrypt aes_ctr_crypt #define aes_ctr_decrypt aes_ctr_crypt AES_RETURN aes_ctr_crypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *cbuf, cbuf_inc ctr_inc, aes_encrypt_ctx cx[1]); #endif #if defined(__cplusplus) } #endif #endif keepassx-0.4.3/src/crypto/twofish.cpp0000664000175000017500000017475511217176700016666 0ustar felixfelix/* * Fast, portable, and easy-to-use Twofish implementation, * Version 0.3. * Copyright (c) 2002 by Niels Ferguson. * (See further down for the almost-unrestricted licensing terms.) * * -------------------------------------------------------------------------- * There are two files for this implementation: * - twofish.h, the header file. * - twofish.c, the code file. * * To incorporate this code into your program you should: * - Check the licensing terms further down in this comment. * - Fix the two type definitions in twofish.h to suit your platform. * - Fix a few definitions in twofish.c in the section marked * PLATFORM FIXES. There is one important ones that affects * functionality, and then a few definitions that you can optimise * for efficiency but those have no effect on the functionality. * Don't change anything else. * - Put the code in your project and compile it. * * To use this library you should: * - Call Twofish_initialise() in your program before any other function in * this library. * - Use Twofish_prepare_key(...) to convert a key to internal form. * - Use Twofish_encrypt(...) and Twofish_decrypt(...) to encrypt and decrypt * data. * See the comments in the header file for details on these functions. * -------------------------------------------------------------------------- * * There are many Twofish implementation available for free on the web. * Most of them are hard to integrate into your own program. * As we like people to use our cipher, I thought I would make it easier. * Here is a free and easy-to-integrate Twofish implementation in C. * The latest version is always available from my personal home page at * http://niels.ferguson.net/ * * Integrating library code into a project is difficult because the library * header files interfere with the project's header files and code. * And of course the project's header files interfere with the library code. * I've tried to resolve these problems here. * The header file of this implementation is very light-weight. * It contains two typedefs, a structure, and a few function declarations. * All names it defines start with "Twofish_". * The header file is therefore unlikely to cause problems in your project. * The code file of this implementation doesn't need to include the header * files of the project. There is thus no danger of the project interfering * with all the definitions and macros of the Twofish code. * In most situations, all you need to do is fill in a few platform-specific * definitions in the header file and code file, * and you should be able to run the Twofish code in your project. * I estimate it should take you less than an hour to integrate this code * into your project, most of it spent reading the comments telling you what * to do. * * For people using C++: it is very easy to wrap this library into a * TwofishKey class. One of the big advantages is that you can automate the * wiping of the key material in the destructor. I have not provided a C++ * class because the interface depends too much on the abstract base class * you use for block ciphers in your program, which I don't know about. * * This implementation is designed for use on PC-class machines. It uses the * Twofish 'full' keying option which uses large tables. Total table size is * around 5-6 kB for static tables plus 4.5 kB for each pre-processed key. * If you need an implementation that uses less memory, * take a look at Brian Gladman's code on his web site: * http://fp.gladman.plus.com/cryptography_technology/aes/ * He has code for all AES candidates. * His Twofish code has lots of options trading off table size vs. speed. * You can also take a look at the optimised code by Doug Whiting on the * Twofish web site * http://www.counterpane.com/twofish.html * which has loads of options. * I believe these existing implementations are harder to re-use because they * are not clean libraries and they impose requirements on the environment. * This implementation is very careful to minimise those, * and should be easier to integrate into any larger program. * * The default mode of this implementation is fully portable as it uses no * behaviour not defined in the C standard. (This is harder than you think.) * If you have any problems porting the default mode, please let me know * so that I can fix the problem. (But only if this code is at fault, I * don't fix compilers.) * Most of the platform fixes are related to non-portable but faster ways * of implementing certain functions. * * In general I've tried to make the code as fast as possible, at the expense * of memory and code size. However, C does impose limits, and this * implementation will be slower than an optimised assembler implementation. * But beware of assembler implementations: a good Pentium implementation * uses completely different code than a good Pentium II implementation. * You basically have to re-write the assembly code for every generation of * processor. Unless you are severely pressed for speed, stick with C. * * The initialisation routine of this implementation contains a self-test. * If initialisation succeeds without calling the fatal routine, then * the implementation works. I don't think you can break the implementation * in such a way that it still passes the tests, unless you are malicious. * In other words: if the initialisation routine returns, * you have successfully ported the implementation. * (Or not implemented the fatal routine properly, but that is your problem.) * * I'm indebted to many people who helped me in one way or another to write * this code. During the design of Twofish and the AES process I had very * extensive discussions of all implementation issues with various people. * Doug Whiting in particular provided a wealth of information. The Twofish * team spent untold hours discussion various cipher features, and their * implementation. Brian Gladman implemented all AES candidates in C, * and we had some fruitful discussions on how to implement Twofish in C. * Jan Nieuwenhuizen tested this code on Linux using GCC. * * Now for the license: * The author hereby grants a perpetual license to everybody to * use this code for any purpose as long as the copyright message is included * in the source code of this or any derived work. * * Yes, this means that you, your company, your club, and anyone else * can use this code anywhere you want. You can change it and distribute it * under the GPL, include it in your commercial product without releasing * the source code, put it on the web, etc. * The only thing you cannot do is remove my copyright message, * or distribute any source code based on this implementation that does not * include my copyright message. * * I appreciate a mention in the documentation or credits, * but I understand if that is difficult to do. * I also appreciate it if you tell me where and why you used my code. * * Please send any questions or comments to niels@ferguson.net * * Have Fun! * * Niels */ /* * DISCLAIMER: As I'm giving away my work for free, I'm of course not going * to accept any liability of any form. This code, or the Twofish cipher, * might very well be flawed; you have been warned. * This software is provided as-is, without any kind of warrenty or * guarantee. And that is really all you can expect when you download * code for free from the Internet. * * I think it is really sad that disclaimers like this seem to be necessary. * If people only had a little bit more common sense, and didn't come * whining like little children every time something happens.... */ /* * Version history: * Version 0.0, 2002-08-30 * First written. * Version 0.1, 2002-09-03 * Added disclaimer. Improved self-tests. * Version 0.2, 2002-09-09 * Removed last non-portabilities. Default now works completely within * the C standard. UInt32 can be larger than 32 bits without problems. * Version 0.3, 2002-09-28 * Bugfix: use instead of to adhere to ANSI/ISO. * Rename BIG_ENDIAN macro to CPU_IS_BIG_ENDIAN. The gcc library * header already defines BIG_ENDIAN, even though it is not * supposed to. */ /* * Minimum set of include files. * You should not need any application-specific include files for this code. * In fact, adding you own header files could break one of the many macros or * functions in this file. Be very careful. * Standard include files will probably be ok. */ //#include /* for memset(), memcpy(), and memcmp() */ #include #include "twofish.h" /* * PLATFORM FIXES * ============== * * Fix the type definitions in twofish.h first! * * The following definitions have to be fixed for each particular platform * you work on. If you have a multi-platform program, you no doubt have * portable definitions that you can substitute here without changing the * rest of the code. */ /* * Function called if something is fatally wrong with the implementation. * This fatal function is called when a coding error is detected in the * Twofish implementation, or when somebody passes an obviously erroneous * parameter to this implementation. There is not much you can do when * the code contains bugs, so we just stop. * * The argument is a string. Ideally the fatal function prints this string * as an error message. Whatever else this function does, it should never * return. A typical implementation would stop the program completely after * printing the error message. * * This default implementation is not very useful, * but does not assume anything about your environment. * It will at least let you know something is wrong.... * I didn't want to include any libraries to print and error or so, * as this makes the code much harder to integrate in a project. * * Note that the Twofish_fatal function may not return to the caller. * Unfortunately this is not something the self-test can test for, * so you have to make sure of this yourself. * * If you want to call an external function, be careful about including * your own header files here. This code uses a lot of macros, and your * header file could easily break it. Maybe the best solution is to use * a separate extern statement for your fatal function. */ //#define Twofish_fatal(pmsgx) { MessageBox(GetDesktopWindow(), _T(pmsgx), _T("Twofish Fatal Error"), MB_OK); } /* * The rest of the settings are not important for the functionality * of this Twofish implementation. That is, their default settings * work on all platforms. You can change them to improve the * speed of the implementation on your platform. Erroneous settings * will result in erroneous implementations, but the self-test should * catch those. */ /* * Macros to rotate a Twofish_UInt32 value left or right by the * specified number of bits. This should be a 32-bit rotation, * and not rotation of, say, 64-bit values. * * Every encryption or decryption operation uses 32 of these rotations, * so it is a good idea to make these macros efficient. * * This fully portable definition has one piece of tricky stuff. * The UInt32 might be larger than 32 bits, so we have to mask * any higher bits off. The simplest way to do this is to 'and' the * value first with 0xffffffff and then shift it right. An optimising * compiler that has a 32-bit type can optimise this 'and' away. * * Unfortunately there is no portable way of writing the constant * 0xffffffff. You don't know which suffix to use (U, or UL?) * The quint32_MASK definition uses a bit of trickery. Shift-left * is only defined if the shift amount is strictly less than the size * of the UInt32, so we can't use (1<<32). The answer it to take the value * 2, cast it to a UInt32, shift it left 31 positions, and subtract one. * Another example of how to make something very simple extremely difficult. * I hate C. * * The rotation macros are straightforward. * They are only applied to UInt32 values, which are _unsigned_ * so the >> operator must do a logical shift that brings in zeroes. * On most platforms you will only need to optimise the ROL32 macro; the * ROR32 macro is not inefficient on an optimising compiler as all rotation * amounts in this code are known at compile time. * * On many platforms there is a faster solution. * For example, MS compilers have the __rotl and __rotr functions * that generate x86 rotation instructions. */ #define quint32_MASK ( (((Twofish_UInt32)2)<<31) - 1 ) #ifndef _MSC_VER #define ROL32(x,n) ( (x)<<(n) | ((x) & quint32_MASK) >> (32-(n)) ) #define ROR32(x,n) ( (x)>>(n) | ((x) & quint32_MASK) << (32-(n)) ) #else #define ROL32(x,n) (_lrotl((x), (n))) #define ROR32(x,n) (_lrotr((x), (n))) #endif /* * Select data type for q-table entries. * * Larger entry types cost more memory (1.5 kB), and might be faster * or slower depending on the CPU and compiler details. * * This choice only affects the static data size and the key setup speed. * Functionality, expanded key size, or encryption speed are not affected. * Define to 1 to get large q-table entries. */ #define LARGE_Q_TABLE 0 /* default = 0 */ /* * Method to select a single byte from a UInt32. * WARNING: non-portable code if set; might not work on all platforms. * * Inside the inner loop of Twofish it is necessary to access the 4 * individual bytes of a UInt32. This can be done using either shifts * and masks, or memory accesses. * * Set to 0 to use shift and mask operations for the byte selection. * This is more ALU intensive. It is also fully portable. * * Set to 1 to use memory accesses. The UInt32 is stored in memory and * the individual bytes are read from memory one at a time. * This solution is more memory-intensive, and not fully portable. * It might be faster on your platform, or not. If you use this option, * make sure you set the CPU_IS_BIG_ENDIAN flag appropriately. * * This macro does not affect the conversion of the inputs and outputs * of the cipher. See the CONVERT_USING_CASTS macro for that. */ #define SELECT_BYTE_FROM_quint32_IN_MEMORY 0 /* default = 0 */ /* * Method used to read the input and write the output. * WARNING: non-portable code if set; might not work on all platforms. * * Twofish operates on 32-bit words. The input to the cipher is * a byte array, as is the output. The portable method of doing the * conversion is a bunch of rotate and mask operations, but on many * platforms it can be done faster using a cast. * This only works if your CPU allows UInt32 accesses to arbitrary Byte * addresses. * * Set to 0 to use the shift and mask operations. This is fully * portable. . * * Set to 1 to use a cast. The Byte * is cast to a UInt32 *, and a * UInt32 is read. If necessary (as indicated by the CPU_IS_BIG_ENDIAN * macro) the byte order in the UInt32 is swapped. The reverse is done * to write the output of the encryption/decryption. Make sure you set * the CPU_IS_BIG_ENDIAN flag appropriately. * This option does not work unless a UInt32 is exactly 32 bits. * * This macro only changes the reading/writing of the plaintext/ciphertext. * See the SELECT_BYTE_FROM_quint32_IN_MEMORY to affect the way in which * a UInt32 is split into 4 bytes for the S-box selection. */ #define CONVERT_USING_CASTS 0 /* default = 0 */ /* * Endianness switch. * Only relevant if SELECT_BYTE_FROM_quint32_IN_MEMORY or * CONVERT_USING_CASTS is set. * * Set to 1 on a big-endian machine, and to 0 on a little-endian machine. * Twofish uses the little-endian convention (least significant byte first) * and big-endian machines (using most significant byte first) * have to do a few conversions. * * CAUTION: This code has never been tested on a big-endian machine, * because I don't have access to one. Feedback appreciated. */ #define CPU_IS_BIG_ENDIAN 0 /* * Macro to reverse the order of the bytes in a UInt32. * Used to convert to little-endian on big-endian machines. * This macro is always tested, but only used in the encryption and * decryption if CONVERT_USING_CASTS, and CPU_IS_BIG_ENDIAN * are both set. In other words: this macro is only speed-critical if * both these flags have been set. * * This default definition of SWAP works, but on many platforms there is a * more efficient implementation. */ #define BSWAP(x) ( (ROL32((x),8) & 0x00ff00ff) | (ROR32((x),8) & 0xff00ff00) ) /* * END OF PLATFORM FIXES * ===================== * * You should not have to touch the rest of this file. */ /* * Convert the external type names to some that are easier to use inside * this file. I didn't want to use the names Byte and UInt32 in the * header file, because many programs already define them and using two * conventions at once can be very difficult. * Don't change these definitions! Change the originals * in twofish.h instead. */ /* A Byte must be an unsigned integer, 8 bits long. */ // typedef Twofish_Byte Byte; /* A UInt32 must be an unsigned integer at least 32 bits long. */ // typedef Twofish_UInt32 UInt32; /* * Define a macro ENDIAN_CONVERT. * * We define a macro ENDIAN_CONVERT that performs a BSWAP on big-endian * machines, and is the identity function on little-endian machines. * The code then uses this macro without considering the endianness. */ #if CPU_IS_BIG_ENDIAN #define ENDIAN_CONVERT(x) BSWAP(x) #else #define ENDIAN_CONVERT(x) (x) #endif /* * Compute byte offset within a UInt32 stored in memory. * * This is only used when SELECT_BYTE_FROM_quint32_IN_MEMORY is set. * * The input is the byte number 0..3, 0 for least significant. * Note the use of sizeof() to support UInt32 types that are larger * than 4 bytes. */ #if CPU_IS_BIG_ENDIAN #define BYTE_OFFSET( n ) (sizeof(Twofish_UInt32) - 1 - (n) ) #else #define BYTE_OFFSET( n ) (n) #endif /* * Macro to get Byte no. b from UInt32 value X. * We use two different definition, depending on the settings. */ #if SELECT_BYTE_FROM_quint32_IN_MEMORY /* Pick the byte from the memory in which X is stored. */ #define SELECT_BYTE( X, b ) (((Twofish_Byte *)(&(X)))[BYTE_OFFSET(b)]) #else /* Portable solution: Pick the byte directly from the X value. */ #define SELECT_BYTE( X, b ) (((X) >> (8*(b))) & 0xff) #endif /* Some shorthands because we use byte selection in large formulae. */ #define b0(X) SELECT_BYTE((X),0) #define b1(X) SELECT_BYTE((X),1) #define b2(X) SELECT_BYTE((X),2) #define b3(X) SELECT_BYTE((X),3) /* * We need macros to load and store UInt32 from/to byte arrays * using the least-significant-byte-first convention. * * GET32( p ) gets a UInt32 in lsb-first form from four bytes pointed to * by p. * PUT32( v, p ) writes the UInt32 value v at address p in lsb-first form. */ #if CONVERT_USING_CASTS /* Get UInt32 from four bytes pointed to by p. */ #define GET32( p ) ENDIAN_CONVERT( *((Twofish_UInt32 *)(p)) ) /* Put UInt32 into four bytes pointed to by p */ #define PUT32( v, p ) *((Twofish_UInt32 *)(p)) = ENDIAN_CONVERT(v) #else /* Get UInt32 from four bytes pointed to by p. */ #define GET32( p ) \ ( \ (Twofish_UInt32)((p)[0]) \ | (Twofish_UInt32)((p)[1])<< 8 \ | (Twofish_UInt32)((p)[2])<<16 \ | (Twofish_UInt32)((p)[3])<<24 \ ) /* Put UInt32 into four bytes pointed to by p */ #define PUT32( v, p ) \ (p)[0] = (Twofish_Byte)(((v) ) & 0xff); \ (p)[1] = (Twofish_Byte)(((v) >> 8) & 0xff); \ (p)[2] = (Twofish_Byte)(((v) >> 16) & 0xff); \ (p)[3] = (Twofish_Byte)(((v) >> 24) & 0xff) #endif void Twofish_fatal(const char* msg){ qFatal("Twofish: Fatal Error: %s", msg); } /* * Test the platform-specific macros. * This function tests the macros defined so far to make sure the * definitions are appropriate for this platform. * If you make any mistake in the platform configuration, this should detect * that and inform you what went wrong. * Somewhere, someday, this is going to save somebody a lot of time, * because misbehaving macros are hard to debug. */ static void test_platform() { /* Buffer with test values. */ Twofish_Byte buf[] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0}; Twofish_UInt32 C; Twofish_UInt32 x,y; int i; /* * Some sanity checks on the types that can't be done in compile time. * A smart compiler will just optimise these tests away. * The pre-processor doesn't understand different types, so we cannot * do these checks in compile-time. * * I hate C. * * The first check in each case is to make sure the size is correct. * The second check is to ensure that it is an unsigned type. */ if( ((Twofish_UInt32)((Twofish_UInt32)1 << 31) == 0) || ((Twofish_UInt32)-1 < 0 )) { Twofish_fatal( "Twofish code: Twofish_UInt32 type not suitable" ); } if( (sizeof( Twofish_Byte ) != 1) || (((Twofish_Byte)-1) < 0) ) { Twofish_fatal( "Twofish code: Twofish_Byte type not suitable" ); } /* * Sanity-check the endianness conversions. * This is just an aid to find problems. If you do the endianness * conversion macros wrong you will fail the full cipher test, * but that does not help you find the error. * Always make it easy to find the bugs! * * Detail: There is no fully portable way of writing UInt32 constants, * as you don't know whether to use the U or UL suffix. Using only U you * might only be allowed 16-bit constants. Using UL you might get 64-bit * constants which cannot be stored in a UInt32 without warnings, and * which generally behave subtly different from a true UInt32. * As long as we're just comparing with the constant, * we can always use the UL suffix and at worst lose some efficiency. * I use a separate '32-bit constant' macro in most of my other code. * * I hate C. * * Start with testing GET32. We test it on all positions modulo 4 * to make sure we can handly any position of inputs. (Some CPUs * do not allow non-aligned accesses which we would do if you used * the CONVERT_USING_CASTS option. */ if( (GET32( buf ) != 0x78563412UL) || (GET32(buf+1) != 0x9a785634UL) || (GET32( buf+2 ) != 0xbc9a7856UL) || (GET32(buf+3) != 0xdebc9a78UL) ) { Twofish_fatal( "Twofish code: GET32 not implemented properly" ); } /* * We can now use GET32 to test PUT32. * We don't test the shifted versions. If GET32 can do that then * so should PUT32. */ C = GET32( buf ); PUT32( 3*C, buf ); if( GET32( buf ) != 0x69029c36UL ) { Twofish_fatal( "Twofish code: PUT32 not implemented properly" ); } /* Test ROL and ROR */ for( i=1; i<32; i++ ) { /* Just a simple test. */ x = ROR32( C, i ); y = ROL32( C, i ); x ^= (C>>i) ^ (C<<(32-i)); y ^= (C<>(32-i)); x |= y; /* * Now all we check is that x is zero in the least significant * 32 bits. Using the UL suffix is safe here, as it doesn't matter * if we get a larger type. */ if( (x & 0xffffffffUL) != 0 ) { Twofish_fatal( "Twofish ROL or ROR not properly defined." ); } } /* Test the BSWAP macro */ if( BSWAP(C) != 0x12345678UL ) { /* * The BSWAP macro should always work, even if you are not using it. * A smart optimising compiler will just remove this entire test. */ Twofish_fatal( "BSWAP not properly defined." ); } /* And we can test the b macros which use SELECT_BYTE. */ if( (b0(C)!=0x12) || (b1(C) != 0x34) || (b2(C) != 0x56) || (b3(C) != 0x78) ) { /* * There are many reasons why this could fail. * Most likely is that CPU_IS_BIG_ENDIAN has the wrong value. */ Twofish_fatal( "Twofish code: SELECT_BYTE not implemented properly" ); } } /* * Finally, we can start on the Twofish-related code. * You really need the Twofish specifications to understand this code. The * best source is the Twofish book: * "The Twofish Encryption Algorithm", by Bruce Schneier, John Kelsey, * Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson. * you can also use the AES submission document of Twofish, which is * available from my list of publications on my personal web site at * http://niels.ferguson.net/. * * The first thing we do is write the testing routines. This is what the * implementation has to satisfy in the end. We only test the external * behaviour of the implementation of course. */ /* * Perform a single self test on a (plaintext,ciphertext,key) triple. * Arguments: * key array of key bytes * key_len length of key in bytes * p plaintext * c ciphertext */ static void test_vector( Twofish_Byte key[], int key_len, Twofish_Byte p[16], Twofish_Byte c[16] ) { Twofish_Byte tmp[16]; /* scratch pad. */ Twofish_key xkey; /* The expanded key */ int i; /* Prepare the key */ Twofish_prepare_key( key, key_len, &xkey ); /* * We run the test twice to ensure that the xkey structure * is not damaged by the first encryption. * Those are hideous bugs to find if you get them in an application. */ for( i=0; i<2; i++ ) { /* Encrypt and test */ Twofish_encrypt( &xkey, p, tmp ); if( memcmp( c, tmp, 16 ) != 0 ) { Twofish_fatal( "Twofish encryption failure" ); } /* Decrypt and test */ Twofish_decrypt( &xkey, c, tmp ); if( memcmp( p, tmp, 16 ) != 0 ) { Twofish_fatal( "Twofish decryption failure" ); } } /* The test keys are not secret, so we don't need to wipe xkey. */ } /* * Check implementation using three (key,plaintext,ciphertext) * test vectors, one for each major key length. * * This is an absolutely minimal self-test. * This routine does not test odd-sized keys. */ static void test_vectors() { /* * We run three tests, one for each major key length. * These test vectors come from the Twofish specification. * One encryption and one decryption using randomish data and key * will detect almost any error, especially since we generate the * tables ourselves, so we don't have the problem of a single * damaged table entry in the source. */ /* 128-bit test is the I=3 case of section B.2 of the Twofish book. */ static Twofish_Byte k128[] = { 0x9F, 0x58, 0x9F, 0x5C, 0xF6, 0x12, 0x2C, 0x32, 0xB6, 0xBF, 0xEC, 0x2F, 0x2A, 0xE8, 0xC3, 0x5A, }; static Twofish_Byte p128[] = { 0xD4, 0x91, 0xDB, 0x16, 0xE7, 0xB1, 0xC3, 0x9E, 0x86, 0xCB, 0x08, 0x6B, 0x78, 0x9F, 0x54, 0x19 }; static Twofish_Byte c128[] = { 0x01, 0x9F, 0x98, 0x09, 0xDE, 0x17, 0x11, 0x85, 0x8F, 0xAA, 0xC3, 0xA3, 0xBA, 0x20, 0xFB, 0xC3 }; /* 192-bit test is the I=4 case of section B.2 of the Twofish book. */ static Twofish_Byte k192[] = { 0x88, 0xB2, 0xB2, 0x70, 0x6B, 0x10, 0x5E, 0x36, 0xB4, 0x46, 0xBB, 0x6D, 0x73, 0x1A, 0x1E, 0x88, 0xEF, 0xA7, 0x1F, 0x78, 0x89, 0x65, 0xBD, 0x44 }; static Twofish_Byte p192[] = { 0x39, 0xDA, 0x69, 0xD6, 0xBA, 0x49, 0x97, 0xD5, 0x85, 0xB6, 0xDC, 0x07, 0x3C, 0xA3, 0x41, 0xB2 }; static Twofish_Byte c192[] = { 0x18, 0x2B, 0x02, 0xD8, 0x14, 0x97, 0xEA, 0x45, 0xF9, 0xDA, 0xAC, 0xDC, 0x29, 0x19, 0x3A, 0x65 }; /* 256-bit test is the I=4 case of section B.2 of the Twofish book. */ static Twofish_Byte k256[] = { 0xD4, 0x3B, 0xB7, 0x55, 0x6E, 0xA3, 0x2E, 0x46, 0xF2, 0xA2, 0x82, 0xB7, 0xD4, 0x5B, 0x4E, 0x0D, 0x57, 0xFF, 0x73, 0x9D, 0x4D, 0xC9, 0x2C, 0x1B, 0xD7, 0xFC, 0x01, 0x70, 0x0C, 0xC8, 0x21, 0x6F }; static Twofish_Byte p256[] = { 0x90, 0xAF, 0xE9, 0x1B, 0xB2, 0x88, 0x54, 0x4F, 0x2C, 0x32, 0xDC, 0x23, 0x9B, 0x26, 0x35, 0xE6 }; static Twofish_Byte c256[] = { 0x6C, 0xB4, 0x56, 0x1C, 0x40, 0xBF, 0x0A, 0x97, 0x05, 0x93, 0x1C, 0xB6, 0xD4, 0x08, 0xE7, 0xFA }; /* Run the actual tests. */ test_vector( k128, 16, p128, c128 ); test_vector( k192, 24, p192, c192 ); test_vector( k256, 32, p256, c256 ); } /* * Perform extensive test for a single key size. * * Test a single key size against the test vectors from section * B.2 in the Twofish book. This is a sequence of 49 encryptions * and decryptions. Each plaintext is equal to the ciphertext of * the previous encryption. The key is made up from the ciphertext * two and three encryptions ago. Both plaintext and key start * at the zero value. * We should have designed a cleaner recurrence relation for * these tests, but it is too late for that now. At least we learned * how to do it better next time. * For details see appendix B of the book. * * Arguments: * key_len Number of bytes of key * final_value Final plaintext value after 49 iterations */ static void test_sequence( int key_len, Twofish_Byte final_value[] ) { Twofish_Byte buf[ (50+3)*16 ]; /* Buffer to hold our computation values. */ Twofish_Byte tmp[16]; /* Temp for testing the decryption. */ Twofish_key xkey; /* The expanded key */ int i; Twofish_Byte * p; /* Wipe the buffer */ memset( buf, 0, sizeof( buf ) ); /* * Because the recurrence relation is done in an inconvenient manner * we end up looping backwards over the buffer. */ /* Pointer in buffer points to current plaintext. */ p = &buf[50*16]; for( i=1; i<50; i++ ) { /* * Prepare a key. * This automatically checks that key_len is valid. */ Twofish_prepare_key( p+16, key_len, &xkey ); /* Compute the next 16 bytes in the buffer */ Twofish_encrypt( &xkey, p, p-16 ); /* Check that the decryption is correct. */ Twofish_decrypt( &xkey, p-16, tmp ); if( memcmp( tmp, p, 16 ) != 0 ) { Twofish_fatal( "Twofish decryption failure in sequence" ); } /* Move on to next 16 bytes in the buffer. */ p -= 16; } /* And check the final value. */ if( memcmp( p, final_value, 16 ) != 0 ) { Twofish_fatal( "Twofish encryption failure in sequence" ); } /* None of the data was secret, so there is no need to wipe anything. */ } /* * Run all three sequence tests from the Twofish test vectors. * * This checks the most extensive test vectors currently available * for Twofish. The data is from the Twofish book, appendix B.2. */ static void test_sequences() { static Twofish_Byte r128[] = { 0x5D, 0x9D, 0x4E, 0xEF, 0xFA, 0x91, 0x51, 0x57, 0x55, 0x24, 0xF1, 0x15, 0x81, 0x5A, 0x12, 0xE0 }; static Twofish_Byte r192[] = { 0xE7, 0x54, 0x49, 0x21, 0x2B, 0xEE, 0xF9, 0xF4, 0xA3, 0x90, 0xBD, 0x86, 0x0A, 0x64, 0x09, 0x41 }; static Twofish_Byte r256[] = { 0x37, 0xFE, 0x26, 0xFF, 0x1C, 0xF6, 0x61, 0x75, 0xF5, 0xDD, 0xF4, 0xC3, 0x3B, 0x97, 0xA2, 0x05 }; /* Run the three sequence test vectors */ test_sequence( 16, r128 ); test_sequence( 24, r192 ); test_sequence( 32, r256 ); } /* * Test the odd-sized keys. * * Every odd-sized key is equivalent to a one of 128, 192, or 256 bits. * The equivalent key is found by padding at the end with zero bytes * until a regular key size is reached. * * We just test that the key expansion routine behaves properly. * If the expanded keys are identical, then the encryptions and decryptions * will behave the same. */ static void test_odd_sized_keys() { Twofish_Byte buf[32]; Twofish_key xkey; Twofish_key xkey_two; int i; /* * We first create an all-zero key to use as PRNG key. * Normally we would not have to fill the buffer with zeroes, as we could * just pass a zero key length to the Twofish_prepare_key function. * However, this relies on using odd-sized keys, and those are just the * ones we are testing here. We can't use an untested function to test * itself. */ memset( buf, 0, sizeof( buf ) ); Twofish_prepare_key( buf, 16, &xkey ); /* Fill buffer with pseudo-random data derived from two encryptions */ Twofish_encrypt( &xkey, buf, buf ); Twofish_encrypt( &xkey, buf, buf+16 ); /* Create all possible shorter keys that are prefixes of the buffer. */ for( i=31; i>=0; i-- ) { /* Set a byte to zero. This is the new padding byte */ buf[i] = 0; /* Expand the key with only i bytes of length */ Twofish_prepare_key( buf, i, &xkey ); /* Expand the corresponding padded key of regular length */ Twofish_prepare_key( buf, i<=16 ? 16 : (i<= 24 ? 24 : 32), &xkey_two ); /* Compare the two */ if( memcmp( &xkey, &xkey_two, sizeof( xkey ) ) != 0 ) { Twofish_fatal( "Odd sized keys do not expand properly" ); } } /* None of the key values are secret, so we don't need to wipe them. */ } /* * Test the Twofish implementation. * * This routine runs all the self tests, in order of importance. * It is called by the Twofish_initialise routine. * * In almost all applications the cost of running the self tests during * initialisation is insignificant, especially * compared to the time it takes to load the application from disk. * If you are very pressed for initialisation performance, * you could remove some of the tests. Make sure you did run them * once in the software and hardware configuration you are using. */ static void self_test() { /* The three test vectors form an absolute minimal test set. */ test_vectors(); /* * If at all possible you should run these tests too. They take * more time, but provide a more thorough coverage. */ test_sequences(); /* Test the odd-sized keys. */ test_odd_sized_keys(); } /* * And now, the actual Twofish implementation. * * This implementation generates all the tables during initialisation. * I don't like large tables in the code, especially since they are easily * damaged in the source without anyone noticing it. You need code to * generate them anyway, and this way all the code is close together. * Generating them in the application leads to a smaller executable * (the code is smaller than the tables it generates) and a * larger static memory footprint. * * Twofish can be implemented in many ways. I have chosen to * use large tables with a relatively long key setup time. * If you encrypt more than a few blocks of data it pays to pre-compute * as much as possible. This implementation is relatively inefficient for * applications that need to re-key every block or so. */ /* * We start with the t-tables, directly from the Twofish definition. * These are nibble-tables, but merging them and putting them two nibbles * in one byte is more work than it is worth. */ static Twofish_Byte t_table[2][4][16] = { { {0x8,0x1,0x7,0xD,0x6,0xF,0x3,0x2,0x0,0xB,0x5,0x9,0xE,0xC,0xA,0x4}, {0xE,0xC,0xB,0x8,0x1,0x2,0x3,0x5,0xF,0x4,0xA,0x6,0x7,0x0,0x9,0xD}, {0xB,0xA,0x5,0xE,0x6,0xD,0x9,0x0,0xC,0x8,0xF,0x3,0x2,0x4,0x7,0x1}, {0xD,0x7,0xF,0x4,0x1,0x2,0x6,0xE,0x9,0xB,0x3,0x0,0x8,0x5,0xC,0xA} }, { {0x2,0x8,0xB,0xD,0xF,0x7,0x6,0xE,0x3,0x1,0x9,0x4,0x0,0xA,0xC,0x5}, {0x1,0xE,0x2,0xB,0x4,0xC,0x3,0x7,0x6,0xD,0xA,0x5,0xF,0x9,0x0,0x8}, {0x4,0xC,0x7,0x5,0x1,0x6,0x9,0xA,0x0,0xE,0xD,0x8,0x2,0xB,0x3,0xF}, {0xB,0x9,0x5,0x1,0xC,0x3,0xD,0xE,0x6,0x4,0x7,0xF,0x2,0x0,0x8,0xA} } }; /* A 1-bit rotation of 4-bit values. Input must be in range 0..15 */ #define ROR4BY1( x ) (((x)>>1) | (((x)<<3) & 0x8) ) /* * The q-boxes are only used during the key schedule computations. * These are 8->8 bit lookup tables. Some CPUs prefer to have 8->32 bit * lookup tables as it is faster to load a 32-bit value than to load an * 8-bit value and zero the rest of the register. * The LARGE_Q_TABLE switch allows you to choose 32-bit entries in * the q-tables. Here we just define the Qtype which is used to store * the entries of the q-tables. */ #if LARGE_Q_TABLE typedef Twofish_UInt32 Qtype; #else typedef Twofish_Byte Qtype; #endif /* * The actual q-box tables. * There are two q-boxes, each having 256 entries. */ static Qtype q_table[2][256]; /* * Now the function that converts a single t-table into a q-table. * * Arguments: * t[4][16] : four 4->4bit lookup tables that define the q-box * q[256] : output parameter: the resulting q-box as a lookup table. */ static void make_q_table( Twofish_Byte t[4][16], Qtype q[256] ) { int ae,be,ao,bo; /* Some temporaries. */ int i; /* Loop over all input values and compute the q-box result. */ for( i=0; i<256; i++ ) { /* * This is straight from the Twofish specifications. * * The ae variable is used for the a_i values from the specs * with even i, and ao for the odd i's. Similarly for the b's. */ ae = i>>4; be = i&0xf; ao = ae ^ be; bo = ae ^ ROR4BY1(be) ^ ((ae<<3)&8); ae = t[0][ao]; be = t[1][bo]; ao = ae ^ be; bo = ae ^ ROR4BY1(be) ^ ((ae<<3)&8); ae = t[2][ao]; be = t[3][bo]; /* Store the result in the q-box table, the cast avoids a warning. */ q[i] = (Qtype) ((be<<4) | ae); } } /* * Initialise both q-box tables. */ static void initialise_q_boxes() { /* Initialise each of the q-boxes using the t-tables */ make_q_table( t_table[0], q_table[0] ); make_q_table( t_table[1], q_table[1] ); } /* * Next up is the MDS matrix multiplication. * The MDS matrix multiplication operates in the field * GF(2)[x]/p(x) with p(x)=x^8+x^6+x^5+x^3+1. * If you don't understand this, read a book on finite fields. You cannot * follow the finite-field computations without some background. * * In this field, multiplication by x is easy: shift left one bit * and if bit 8 is set then xor the result with 0x169. * * The MDS coefficients use a multiplication by 1/x, * or rather a division by x. This is easy too: first make the * value 'even' (i.e. bit 0 is zero) by xorring with 0x169 if necessary, * and then shift right one position. * Even easier: shift right and xor with 0xb4 if the lsbit was set. * * The MDS coefficients are 1, EF, and 5B, and we use the fact that * EF = 1 + 1/x + 1/x^2 * 5B = 1 + 1/x^2 * in this field. This makes multiplication by EF and 5B relatively easy. * * This property is no accident, the MDS matrix was designed to allow * this implementation technique to be used. * * We have four MDS tables, each mapping 8 bits to 32 bits. * Each table performs one column of the matrix multiplication. * As the MDS is always preceded by q-boxes, each of these tables * also implements the q-box just previous to that column. */ /* The actual MDS tables. */ static Twofish_UInt32 MDS_table[4][256]; /* A small table to get easy conditional access to the 0xb4 constant. */ static Twofish_UInt32 mds_poly_divx_const[] = {0,0xb4}; /* Function to initialise the MDS tables. */ static void initialise_mds_tables() { int i; Twofish_UInt32 q,qef,q5b; /* Temporary variables. */ /* Loop over all 8-bit input values */ for( i=0; i<256; i++ ) { /* * To save some work during the key expansion we include the last * of the q-box layers from the h() function in these MDS tables. */ /* We first do the inputs that are mapped through the q0 table. */ q = q_table[0][i]; /* * Here we divide by x, note the table to get 0xb4 only if the * lsbit is set. * This sets qef = (1/x)*q in the finite field */ qef = (q >> 1) ^ mds_poly_divx_const[ q & 1 ]; /* * Divide by x again, and add q to get (1+1/x^2)*q. * Note that (1+1/x^2) = 5B in the field, and addition in the field * is exclusive or on the bits. */ q5b = (qef >> 1) ^ mds_poly_divx_const[ qef & 1 ] ^ q; /* * Add q5b to qef to set qef = (1+1/x+1/x^2)*q. * Again, (1+1/x+1/x^2) = EF in the field. */ qef ^= q5b; /* * Now that we have q5b = 5B * q and qef = EF * q * we can fill two of the entries in the MDS matrix table. * See the Twofish specifications for the order of the constants. */ MDS_table[1][i] = (q <<24) | (q5b<<16) | (qef<<8) | qef; MDS_table[3][i] = (q5b<<24) | (qef<<16) | (q <<8) | q5b; /* Now we do it all again for the two columns that have a q1 box. */ q = q_table[1][i]; qef = (q >> 1) ^ mds_poly_divx_const[ q & 1 ]; q5b = (qef >> 1) ^ mds_poly_divx_const[ qef & 1 ] ^ q; qef ^= q5b; /* The other two columns use the coefficient in a different order. */ MDS_table[0][i] = (qef<<24) | (qef<<16) | (q5b<<8) | q ; MDS_table[2][i] = (qef<<24) | (q <<16) | (qef<<8) | q5b; } } /* * The h() function is the heart of the Twofish cipher. * It is a complicated sequence of q-box lookups, key material xors, * and finally the MDS matrix. * We use lots of macros to make this reasonably fast. */ /* First a shorthand for the two q-tables */ #define q0 q_table[0] #define q1 q_table[1] /* * Each macro computes one column of the h for either 2, 3, or 4 stages. * As there are 4 columns, we have 12 macros in all. * * The key bytes are stored in the Byte array L at offset * 0,1,2,3, 8,9,10,11, [16,17,18,19, [24,25,26,27]] as this is the * order we get the bytes from the user. If you look at the Twofish * specs, you'll see that h() is applied to the even key words or the * odd key words. The bytes of the even words appear in this spacing, * and those of the odd key words too. * * These macros are the only place where the q-boxes and the MDS table * are used. */ #define H02( y, L ) MDS_table[0][q0[q0[y]^L[ 8]]^L[0]] #define H12( y, L ) MDS_table[1][q0[q1[y]^L[ 9]]^L[1]] #define H22( y, L ) MDS_table[2][q1[q0[y]^L[10]]^L[2]] #define H32( y, L ) MDS_table[3][q1[q1[y]^L[11]]^L[3]] #define H03( y, L ) H02( q1[y]^L[16], L ) #define H13( y, L ) H12( q1[y]^L[17], L ) #define H23( y, L ) H22( q0[y]^L[18], L ) #define H33( y, L ) H32( q0[y]^L[19], L ) #define H04( y, L ) H03( q1[y]^L[24], L ) #define H14( y, L ) H13( q0[y]^L[25], L ) #define H24( y, L ) H23( q0[y]^L[26], L ) #define H34( y, L ) H33( q1[y]^L[27], L ) /* * Now we can define the h() function given an array of key bytes. * This function is only used in the key schedule, and not to pre-compute * the keyed S-boxes. * * In the key schedule, the input is always of the form k*(1+2^8+2^16+2^24) * so we only provide k as an argument. * * Arguments: * k input to the h() function. * L pointer to array of key bytes at * offsets 0,1,2,3, ... 8,9,10,11, [16,17,18,19, [24,25,26,27]] * kCycles # key cycles, 2, 3, or 4. */ static Twofish_UInt32 h( int k, Twofish_Byte L[], int kCycles ) { switch( kCycles ) { /* We code all 3 cases separately for speed reasons. */ case 2: return H02(k,L) ^ H12(k,L) ^ H22(k,L) ^ H32(k,L); case 3: return H03(k,L) ^ H13(k,L) ^ H23(k,L) ^ H33(k,L); case 4: return H04(k,L) ^ H14(k,L) ^ H24(k,L) ^ H34(k,L); default: /* This is always a coding error, which is fatal. */ Twofish_fatal( "Twofish h(): Illegal argument" ); return 0; } } /* * Pre-compute the keyed S-boxes. * Fill the pre-computed S-box array in the expanded key structure. * Each pre-computed S-box maps 8 bits to 32 bits. * * The S argument contains half the number of bytes of the full key, but is * derived from the full key. (See Twofish specifications for details.) * S has the weird byte input order used by the Hxx macros. * * This function takes most of the time of a key expansion. * * Arguments: * S pointer to array of 8*kCycles Bytes containing the S vector. * kCycles number of key words, must be in the set {2,3,4} * xkey pointer to Twofish_key structure that will contain the S-boxes. */ static void fill_keyed_sboxes( Twofish_Byte S[], int kCycles, Twofish_key * xkey ) { int i; switch( kCycles ) { /* We code all 3 cases separately for speed reasons. */ case 2: for( i=0; i<256; i++ ) { xkey->s[0][i]= H02( i, S ); xkey->s[1][i]= H12( i, S ); xkey->s[2][i]= H22( i, S ); xkey->s[3][i]= H32( i, S ); } break; case 3: for( i=0; i<256; i++ ) { xkey->s[0][i]= H03( i, S ); xkey->s[1][i]= H13( i, S ); xkey->s[2][i]= H23( i, S ); xkey->s[3][i]= H33( i, S ); } break; case 4: for( i=0; i<256; i++ ) { xkey->s[0][i]= H04( i, S ); xkey->s[1][i]= H14( i, S ); xkey->s[2][i]= H24( i, S ); xkey->s[3][i]= H34( i, S ); } break; default: /* This is always a coding error, which is fatal. */ Twofish_fatal( "Twofish fill_keyed_sboxes(): Illegal argument" ); } } /* A flag to keep track of whether we have been initialised or not. */ static int Twofish_initialised = 0; /* * Initialise the Twofish implementation. * This function must be called before any other function in the * Twofish implementation is called. * This routine also does some sanity checks, to make sure that * all the macros behave, and it tests the whole cipher. */ void Twofish_initialise() { /* First test the various platform-specific definitions. */ test_platform(); /* We can now generate our tables, in the right order of course. */ initialise_q_boxes(); initialise_mds_tables(); /* We're finished with the initialisation itself. */ Twofish_initialised = 1; /* * And run some tests on the whole cipher. * Yes, you need to do this every time you start your program. * It is called assurance; you have to be certain that your program * still works properly. */ self_test(); } /* * The Twofish key schedule uses an Reed-Solomon code matrix multiply. * Just like the MDS matrix, the RS-matrix is designed to be easy * to implement. Details are below in the code. * * These constants make it easy to compute in the finite field used * for the RS code. * * We use Bytes for the RS computation, but these are automatically * widened to unsigned integers in the expressions. Having unsigned * ints in these tables therefore provides the fastest access. */ static unsigned int rs_poly_const[] = {0, 0x14d}; static unsigned int rs_poly_div_const[] = {0, 0xa6 }; /* * Prepare a key for use in encryption and decryption. * Like most block ciphers, Twofish allows the key schedule * to be pre-computed given only the key. * Twofish has a fairly 'heavy' key schedule that takes a lot of time * to compute. The main work is pre-computing the S-boxes used in the * encryption and decryption. We feel that this makes the cipher much * harder to attack. The attacker doesn't even know what the S-boxes * contain without including the entire key schedule in the analysis. * * Unlike most Twofish implementations, this one allows any key size from * 0 to 32 bytes. Odd key sizes are defined for Twofish (see the * specifications); the key is simply padded with zeroes to the next real * key size of 16, 24, or 32 bytes. * Each odd-sized key is thus equivalent to a single normal-sized key. * * Arguments: * key array of key bytes * key_len number of bytes in the key, must be in the range 0,...,32. * xkey Pointer to an Twofish_key structure that will be filled * with the internal form of the cipher key. */ void Twofish_prepare_key( Twofish_Byte key[], int key_len, Twofish_key * xkey ) { /* We use a single array to store all key material in, * to simplify the wiping of the key material at the end. * The first 32 bytes contain the actual (padded) cipher key. * The next 32 bytes contain the S-vector in its weird format, * and we have 4 bytes of overrun necessary for the RS-reduction. */ Twofish_Byte K[32+32+4]; int kCycles; /* # key cycles, 2,3, or 4. */ int i; Twofish_UInt32 A, B; /* Used to compute the round keys. */ Twofish_Byte * kptr; /* Three pointers for the RS computation. */ Twofish_Byte * sptr; Twofish_Byte * t; Twofish_Byte b,bx,bxx; /* Some more temporaries for the RS computation. */ /* Check that the Twofish implementation was initialised. */ if( Twofish_initialised == 0 ) { /* * You didn't call Twofish_initialise before calling this routine. * This is a programming error, and therefore we call the fatal * routine. * * I could of course call the initialisation routine here, * but there are a few reasons why I don't. First of all, the * self-tests have to be done at startup. It is no good to inform * the user that the cipher implementation fails when he wants to * write his data to disk in encrypted form. You have to warn him * before he spends time typing his data. Second, the initialisation * and self test are much slower than a single key expansion. * Calling the initialisation here makes the performance of the * cipher unpredictable. This can lead to really weird problems * if you use the cipher for a real-time task. Suddenly it fails * once in a while the first time you try to use it. Things like * that are almost impossible to debug. */ Twofish_fatal( "Twofish implementation was not initialised." ); /* * There is always a danger that the Twofish_fatal routine returns, * in spite of the specifications that it should not. * (A good programming rule: don't trust the rest of the code.) * This would be disasterous. If the q-tables and MDS-tables have * not been initialised, they are probably still filled with zeroes. * Suppose the MDS-tables are all zero. The key expansion would then * generate all-zero round keys, and all-zero s-boxes. The danger * is that nobody would notice as the encryption function still * mangles the input, and the decryption still 'decrypts' it, * but now in a completely key-independent manner. * To stop such security disasters, we use blunt force. * If your program hangs here: fix the fatal routine! */ for(;;) ; /* Infinite loop, which beats being insecure. */ } /* Check for valid key length. */ if( key_len < 0 || key_len > 32 ) { /* * This can only happen if a programmer didn't read the limitations * on the key size. */ Twofish_fatal( "Twofish_prepare_key: illegal key length" ); /* * A return statement just in case the fatal macro returns. * The rest of the code assumes that key_len is in range, and would * buffer-overflow if it wasn't. * * Why do we still use a programming language that has problems like * buffer overflows, when these problems were solved in 1960 with * the development of Algol? Have we not leared anything? */ return; } /* Pad the key with zeroes to the next suitable key length. */ memcpy( K, key, key_len ); memset( K+key_len, 0, sizeof(K)-key_len ); /* * Compute kCycles: the number of key cycles used in the cipher. * 2 for 128-bit keys, 3 for 192-bit keys, and 4 for 256-bit keys. */ kCycles = (key_len + 7) >> 3; /* Handle the special case of very short keys: minimum 2 cycles. */ if( kCycles < 2 ) { kCycles = 2; } /* * From now on we just pretend to have 8*kCycles bytes of * key material in K. This handles all the key size cases. */ /* * We first compute the 40 expanded key words, * formulas straight from the Twofish specifications. */ for( i=0; i<40; i+=2 ) { /* * Due to the byte spacing expected by the h() function * we can pick the bytes directly from the key K. * As we use bytes, we never have the little/big endian * problem. * * Note that we apply the rotation function only to simple * variables, as the rotation macro might evaluate its argument * more than once. */ A = h( i , K , kCycles ); B = h( i+1, K+4, kCycles ); B = ROL32( B, 8 ); /* Compute and store the round keys. */ A += B; B += A; xkey->K[i] = A; xkey->K[i+1] = ROL32( B, 9 ); } /* Wipe variables that contained key material. */ A=B=0; /* * And now the dreaded RS multiplication that few seem to understand. * The RS matrix is not random, and is specially designed to compute the * RS matrix multiplication in a simple way. * * We work in the field GF(2)[x]/x^8+x^6+x^3+x^2+1. Note that this is a * different field than used for the MDS matrix. * (At least, it is a different representation because all GF(2^8) * representations are equivalent in some form.) * * We take 8 consecutive bytes of the key and interpret them as * a polynomial k_0 + k_1 y + k_2 y^2 + ... + k_7 y^7 where * the k_i bytes are the key bytes and are elements of the finite field. * We multiply this polynomial by y^4 and reduce it modulo * y^4 + (x + 1/x)y^3 + (x)y^2 + (x + 1/x)y + 1. * using straightforward polynomial modulo reduction. * The coefficients of the result are the result of the RS * matrix multiplication. When we wrote the Twofish specification, * the original RS definition used the polynomials, * but that requires much more mathematical knowledge. * We were already using matrix multiplication in a finite field for * the MDS matrix, so I re-wrote the RS operation as a matrix * multiplication to reduce the difficulty of understanding it. * Some implementors have not picked up on this simpler method of * computing the RS operation, even though it is mentioned in the * specifications. * * It is possible to perform these computations faster by using 32-bit * word operations, but that is not portable and this is not a speed- * critical area. * * We explained the 1/x computation when we did the MDS matrix. * * The S vector is stored in K[32..64]. * The S vector has to be reversed, so we loop cross-wise. * * Note the weird byte spacing of the S-vector, to match the even * or odd key words arrays. See the discussion at the Hxx macros for * details. */ kptr = K + 8*kCycles; /* Start at end of key */ sptr = K + 32; /* Start at start of S */ /* Loop over all key material */ while( kptr > K ) { kptr -= 8; /* * Initialise the polynimial in sptr[0..12] * The first four coefficients are 0 as we have to multiply by y^4. * The next 8 coefficients are from the key material. */ memset( sptr, 0, 4 ); memcpy( sptr+4, kptr, 8 ); /* * The 12 bytes starting at sptr are now the coefficients of * the polynomial we need to reduce. */ /* Loop over the polynomial coefficients from high to low */ t = sptr+11; /* Keep looping until polynomial is degree 3; */ while( t > sptr+3 ) { /* Pick up the highest coefficient of the poly. */ b = *t; /* * Compute x and (x+1/x) times this coefficient. * See the MDS matrix implementation for a discussion of * multiplication by x and 1/x. We just use different * constants here as we are in a * different finite field representation. * * These two statements set * bx = (x) * b * bxx= (x + 1/x) * b */ bx = (Twofish_Byte)((b<<1) ^ rs_poly_const[ b>>7 ]); bxx= (Twofish_Byte)((b>>1) ^ rs_poly_div_const[ b&1 ] ^ bx); /* * Subtract suitable multiple of * y^4 + (x + 1/x)y^3 + (x)y^2 + (x + 1/x)y + 1 * from the polynomial, except that we don't bother * updating t[0] as it will become zero anyway. */ t[-1] ^= bxx; t[-2] ^= bx; t[-3] ^= bxx; t[-4] ^= b; /* Go to the next coefficient. */ t--; } /* Go to next S-vector word, obeying the weird spacing rules. */ sptr += 8; } /* Wipe variables that contained key material. */ b = bx = bxx = 0; /* And finally, we can compute the key-dependent S-boxes. */ fill_keyed_sboxes( &K[32], kCycles, xkey ); /* Wipe array that contained key material. */ memset( K, 0, sizeof( K ) ); } /* * We can now start on the actual encryption and decryption code. * As these are often speed-critical we will use a lot of macros. */ /* * The g() function is the heart of the round function. * We have two versions of the g() function, one without an input * rotation and one with. * The pre-computed S-boxes make this pretty simple. */ #define g0(X,xkey) \ (xkey->s[0][b0(X)]^xkey->s[1][b1(X)]^xkey->s[2][b2(X)]^xkey->s[3][b3(X)]) #define g1(X,xkey) \ (xkey->s[0][b3(X)]^xkey->s[1][b0(X)]^xkey->s[2][b1(X)]^xkey->s[3][b2(X)]) /* * A single round of Twofish. The A,B,C,D are the four state variables, * T0 and T1 are temporaries, xkey is the expanded key, and r the * round number. * * Note that this macro does not implement the swap at the end of the round. */ #define ENCRYPT_RND( A,B,C,D, T0, T1, xkey, r ) \ T0 = g0(A,xkey); T1 = g1(B,xkey);\ C ^= T0+T1+xkey->K[8+2*(r)]; C = ROR32(C,1);\ D = ROL32(D,1); D ^= T0+2*T1+xkey->K[8+2*(r)+1] /* * Encrypt a single cycle, consisting of two rounds. * This avoids the swapping of the two halves. * Parameter r is now the cycle number. */ #define ENCRYPT_CYCLE( A, B, C, D, T0, T1, xkey, r ) \ ENCRYPT_RND( A,B,C,D,T0,T1,xkey,2*(r) );\ ENCRYPT_RND( C,D,A,B,T0,T1,xkey,2*(r)+1 ) /* Full 16-round encryption */ #define ENCRYPT( A,B,C,D,T0,T1,xkey ) \ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 0 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 1 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 2 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 3 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 4 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 5 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 6 );\ ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 7 ) /* * A single round of Twofish for decryption. It differs from * ENCRYTP_RND only because of the 1-bit rotations. */ #define DECRYPT_RND( A,B,C,D, T0, T1, xkey, r ) \ T0 = g0(A,xkey); T1 = g1(B,xkey);\ C = ROL32(C,1); C ^= T0+T1+xkey->K[8+2*(r)];\ D ^= T0+2*T1+xkey->K[8+2*(r)+1]; D = ROR32(D,1) /* * Decrypt a single cycle, consisting of two rounds. * This avoids the swapping of the two halves. * Parameter r is now the cycle number. */ #define DECRYPT_CYCLE( A, B, C, D, T0, T1, xkey, r ) \ DECRYPT_RND( A,B,C,D,T0,T1,xkey,2*(r)+1 );\ DECRYPT_RND( C,D,A,B,T0,T1,xkey,2*(r) ) /* Full 16-round decryption. */ #define DECRYPT( A,B,C,D,T0,T1, xkey ) \ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 7 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 6 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 5 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 4 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 3 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 2 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 1 );\ DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 0 ) /* * A macro to read the state from the plaintext and do the initial key xors. * The koff argument allows us to use the same macro * for the decryption which uses different key words at the start. */ #define GET_INPUT( src, A,B,C,D, xkey, koff ) \ A = GET32(src )^xkey->K[ koff]; B = GET32(src+ 4)^xkey->K[1+koff]; \ C = GET32(src+ 8)^xkey->K[2+koff]; D = GET32(src+12)^xkey->K[3+koff] /* * Similar macro to put the ciphertext in the output buffer. * We xor the keys into the state variables before we use the PUT32 * macro as the macro might use its argument multiple times. */ #define PUT_OUTPUT( A,B,C,D, dst, xkey, koff ) \ A ^= xkey->K[ koff]; B ^= xkey->K[1+koff]; \ C ^= xkey->K[2+koff]; D ^= xkey->K[3+koff]; \ PUT32( A, dst ); PUT32( B, dst+ 4 ); \ PUT32( C, dst+8 ); PUT32( D, dst+12 ) /* * Twofish block encryption * * Arguments: * xkey expanded key array * p 16 bytes of plaintext * c 16 bytes in which to store the ciphertext */ void Twofish_encrypt( Twofish_key * xkey, Twofish_Byte p[16], Twofish_Byte c[16]) { Twofish_UInt32 A,B,C,D,T0,T1; /* Working variables */ /* Get the four plaintext words xorred with the key */ GET_INPUT( p, A,B,C,D, xkey, 0 ); /* Do 8 cycles (= 16 rounds) */ ENCRYPT( A,B,C,D,T0,T1,xkey ); /* Store them with the final swap and the output whitening. */ PUT_OUTPUT( C,D,A,B, c, xkey, 4 ); } /* * Twofish block decryption. * * Arguments: * xkey expanded key array * p 16 bytes of plaintext * c 16 bytes in which to store the ciphertext */ void Twofish_decrypt( Twofish_key * xkey, Twofish_Byte c[16], Twofish_Byte p[16]) { Twofish_UInt32 A,B,C,D,T0,T1; /* Working variables */ /* Get the four plaintext words xorred with the key */ GET_INPUT( c, A,B,C,D, xkey, 4 ); /* Do 8 cycles (= 16 rounds) */ DECRYPT( A,B,C,D,T0,T1,xkey ); /* Store them with the final swap and the output whitening. */ PUT_OUTPUT( C,D,A,B, p, xkey, 0 ); } /* * Using the macros it is easy to make special routines for * CBC mode, CTR mode etc. The only thing you might want to * add is a XOR_PUT_OUTPUT which xors the outputs into the * destinationa instead of overwriting the data. This requires * a XOR_PUT32 macro as well, but that should all be trivial. * * I thought about including routines for the separate cipher * modes here, but it is unclear which modes should be included, * and each encryption or decryption routine takes up a lot of code space. * Also, I don't have any test vectors for any cipher modes * with Twofish. */ keepassx-0.4.3/src/crypto/sha256.h0000664000175000017500000000421111135161615015631 0ustar felixfelix/*************************************************************************** * Copyright (C) 2001-2003 by Christophe Devine * * Copyright (C) 2005-2006 by Tarek Saidi * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _SHA256_H #define _SHA256_H #include typedef struct { quint32 total[2]; quint32 state[8]; quint8 buffer[64]; }sha256_context; extern void sha256_starts( sha256_context *ctx ); extern void sha256_update( sha256_context *ctx, const quint8 *input, quint32 length ); extern void sha256_finish( sha256_context *ctx, quint8 digest[32] ); class SHA256{ public: SHA256(){sha256_starts(&ctx);} ~SHA256(){overwriteCtx(&ctx);}; void update(void* input,quint32 length){sha256_update(&ctx,(quint8*)input,length);} void finish(void* digest){sha256_finish(&ctx,(quint8*)digest);} static void hashBuffer(const void* input, void* digest,quint32 length); private: static void overwriteCtx(sha256_context* ctx); sha256_context ctx; }; #endif /* sha256.h */ keepassx-0.4.3/src/crypto/aestab.c0000664000175000017500000003674711134614757016107 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 */ #define DO_TABLES #include "aes.h" #include "aesopt.h" #if defined(FIXED_TABLES) #define sb_data(w) {\ w(0x63), w(0x7c), w(0x77), w(0x7b), w(0xf2), w(0x6b), w(0x6f), w(0xc5),\ w(0x30), w(0x01), w(0x67), w(0x2b), w(0xfe), w(0xd7), w(0xab), w(0x76),\ w(0xca), w(0x82), w(0xc9), w(0x7d), w(0xfa), w(0x59), w(0x47), w(0xf0),\ w(0xad), w(0xd4), w(0xa2), w(0xaf), w(0x9c), w(0xa4), w(0x72), w(0xc0),\ w(0xb7), w(0xfd), w(0x93), w(0x26), w(0x36), w(0x3f), w(0xf7), w(0xcc),\ w(0x34), w(0xa5), w(0xe5), w(0xf1), w(0x71), w(0xd8), w(0x31), w(0x15),\ w(0x04), w(0xc7), w(0x23), w(0xc3), w(0x18), w(0x96), w(0x05), w(0x9a),\ w(0x07), w(0x12), w(0x80), w(0xe2), w(0xeb), w(0x27), w(0xb2), w(0x75),\ w(0x09), w(0x83), w(0x2c), w(0x1a), w(0x1b), w(0x6e), w(0x5a), w(0xa0),\ w(0x52), w(0x3b), w(0xd6), w(0xb3), w(0x29), w(0xe3), w(0x2f), w(0x84),\ w(0x53), w(0xd1), w(0x00), w(0xed), w(0x20), w(0xfc), w(0xb1), w(0x5b),\ w(0x6a), w(0xcb), w(0xbe), w(0x39), w(0x4a), w(0x4c), w(0x58), w(0xcf),\ w(0xd0), w(0xef), w(0xaa), w(0xfb), w(0x43), w(0x4d), w(0x33), w(0x85),\ w(0x45), w(0xf9), w(0x02), w(0x7f), w(0x50), w(0x3c), w(0x9f), w(0xa8),\ w(0x51), w(0xa3), w(0x40), w(0x8f), w(0x92), w(0x9d), w(0x38), w(0xf5),\ w(0xbc), w(0xb6), w(0xda), w(0x21), w(0x10), w(0xff), w(0xf3), w(0xd2),\ w(0xcd), w(0x0c), w(0x13), w(0xec), w(0x5f), w(0x97), w(0x44), w(0x17),\ w(0xc4), w(0xa7), w(0x7e), w(0x3d), w(0x64), w(0x5d), w(0x19), w(0x73),\ w(0x60), w(0x81), w(0x4f), w(0xdc), w(0x22), w(0x2a), w(0x90), w(0x88),\ w(0x46), w(0xee), w(0xb8), w(0x14), w(0xde), w(0x5e), w(0x0b), w(0xdb),\ w(0xe0), w(0x32), w(0x3a), w(0x0a), w(0x49), w(0x06), w(0x24), w(0x5c),\ w(0xc2), w(0xd3), w(0xac), w(0x62), w(0x91), w(0x95), w(0xe4), w(0x79),\ w(0xe7), w(0xc8), w(0x37), w(0x6d), w(0x8d), w(0xd5), w(0x4e), w(0xa9),\ w(0x6c), w(0x56), w(0xf4), w(0xea), w(0x65), w(0x7a), w(0xae), w(0x08),\ w(0xba), w(0x78), w(0x25), w(0x2e), w(0x1c), w(0xa6), w(0xb4), w(0xc6),\ w(0xe8), w(0xdd), w(0x74), w(0x1f), w(0x4b), w(0xbd), w(0x8b), w(0x8a),\ w(0x70), w(0x3e), w(0xb5), w(0x66), w(0x48), w(0x03), w(0xf6), w(0x0e),\ w(0x61), w(0x35), w(0x57), w(0xb9), w(0x86), w(0xc1), w(0x1d), w(0x9e),\ w(0xe1), w(0xf8), w(0x98), w(0x11), w(0x69), w(0xd9), w(0x8e), w(0x94),\ w(0x9b), w(0x1e), w(0x87), w(0xe9), w(0xce), w(0x55), w(0x28), w(0xdf),\ w(0x8c), w(0xa1), w(0x89), w(0x0d), w(0xbf), w(0xe6), w(0x42), w(0x68),\ w(0x41), w(0x99), w(0x2d), w(0x0f), w(0xb0), w(0x54), w(0xbb), w(0x16) } #define isb_data(w) {\ w(0x52), w(0x09), w(0x6a), w(0xd5), w(0x30), w(0x36), w(0xa5), w(0x38),\ w(0xbf), w(0x40), w(0xa3), w(0x9e), w(0x81), w(0xf3), w(0xd7), w(0xfb),\ w(0x7c), w(0xe3), w(0x39), w(0x82), w(0x9b), w(0x2f), w(0xff), w(0x87),\ w(0x34), w(0x8e), w(0x43), w(0x44), w(0xc4), w(0xde), w(0xe9), w(0xcb),\ w(0x54), w(0x7b), w(0x94), w(0x32), w(0xa6), w(0xc2), w(0x23), w(0x3d),\ w(0xee), w(0x4c), w(0x95), w(0x0b), w(0x42), w(0xfa), w(0xc3), w(0x4e),\ w(0x08), w(0x2e), w(0xa1), w(0x66), w(0x28), w(0xd9), w(0x24), w(0xb2),\ w(0x76), w(0x5b), w(0xa2), w(0x49), w(0x6d), w(0x8b), w(0xd1), w(0x25),\ w(0x72), w(0xf8), w(0xf6), w(0x64), w(0x86), w(0x68), w(0x98), w(0x16),\ w(0xd4), w(0xa4), w(0x5c), w(0xcc), w(0x5d), w(0x65), w(0xb6), w(0x92),\ w(0x6c), w(0x70), w(0x48), w(0x50), w(0xfd), w(0xed), w(0xb9), w(0xda),\ w(0x5e), w(0x15), w(0x46), w(0x57), w(0xa7), w(0x8d), w(0x9d), w(0x84),\ w(0x90), w(0xd8), w(0xab), w(0x00), w(0x8c), w(0xbc), w(0xd3), w(0x0a),\ w(0xf7), w(0xe4), w(0x58), w(0x05), w(0xb8), w(0xb3), w(0x45), w(0x06),\ w(0xd0), w(0x2c), w(0x1e), w(0x8f), w(0xca), w(0x3f), w(0x0f), w(0x02),\ w(0xc1), w(0xaf), w(0xbd), w(0x03), w(0x01), w(0x13), w(0x8a), w(0x6b),\ w(0x3a), w(0x91), w(0x11), w(0x41), w(0x4f), w(0x67), w(0xdc), w(0xea),\ w(0x97), w(0xf2), w(0xcf), w(0xce), w(0xf0), w(0xb4), w(0xe6), w(0x73),\ w(0x96), w(0xac), w(0x74), w(0x22), w(0xe7), w(0xad), w(0x35), w(0x85),\ w(0xe2), w(0xf9), w(0x37), w(0xe8), w(0x1c), w(0x75), w(0xdf), w(0x6e),\ w(0x47), w(0xf1), w(0x1a), w(0x71), w(0x1d), w(0x29), w(0xc5), w(0x89),\ w(0x6f), w(0xb7), w(0x62), w(0x0e), w(0xaa), w(0x18), w(0xbe), w(0x1b),\ w(0xfc), w(0x56), w(0x3e), w(0x4b), w(0xc6), w(0xd2), w(0x79), w(0x20),\ w(0x9a), w(0xdb), w(0xc0), w(0xfe), w(0x78), w(0xcd), w(0x5a), w(0xf4),\ w(0x1f), w(0xdd), w(0xa8), w(0x33), w(0x88), w(0x07), w(0xc7), w(0x31),\ w(0xb1), w(0x12), w(0x10), w(0x59), w(0x27), w(0x80), w(0xec), w(0x5f),\ w(0x60), w(0x51), w(0x7f), w(0xa9), w(0x19), w(0xb5), w(0x4a), w(0x0d),\ w(0x2d), w(0xe5), w(0x7a), w(0x9f), w(0x93), w(0xc9), w(0x9c), w(0xef),\ w(0xa0), w(0xe0), w(0x3b), w(0x4d), w(0xae), w(0x2a), w(0xf5), w(0xb0),\ w(0xc8), w(0xeb), w(0xbb), w(0x3c), w(0x83), w(0x53), w(0x99), w(0x61),\ w(0x17), w(0x2b), w(0x04), w(0x7e), w(0xba), w(0x77), w(0xd6), w(0x26),\ w(0xe1), w(0x69), w(0x14), w(0x63), w(0x55), w(0x21), w(0x0c), w(0x7d) } #define mm_data(w) {\ w(0x00), w(0x01), w(0x02), w(0x03), w(0x04), w(0x05), w(0x06), w(0x07),\ w(0x08), w(0x09), w(0x0a), w(0x0b), w(0x0c), w(0x0d), w(0x0e), w(0x0f),\ w(0x10), w(0x11), w(0x12), w(0x13), w(0x14), w(0x15), w(0x16), w(0x17),\ w(0x18), w(0x19), w(0x1a), w(0x1b), w(0x1c), w(0x1d), w(0x1e), w(0x1f),\ w(0x20), w(0x21), w(0x22), w(0x23), w(0x24), w(0x25), w(0x26), w(0x27),\ w(0x28), w(0x29), w(0x2a), w(0x2b), w(0x2c), w(0x2d), w(0x2e), w(0x2f),\ w(0x30), w(0x31), w(0x32), w(0x33), w(0x34), w(0x35), w(0x36), w(0x37),\ w(0x38), w(0x39), w(0x3a), w(0x3b), w(0x3c), w(0x3d), w(0x3e), w(0x3f),\ w(0x40), w(0x41), w(0x42), w(0x43), w(0x44), w(0x45), w(0x46), w(0x47),\ w(0x48), w(0x49), w(0x4a), w(0x4b), w(0x4c), w(0x4d), w(0x4e), w(0x4f),\ w(0x50), w(0x51), w(0x52), w(0x53), w(0x54), w(0x55), w(0x56), w(0x57),\ w(0x58), w(0x59), w(0x5a), w(0x5b), w(0x5c), w(0x5d), w(0x5e), w(0x5f),\ w(0x60), w(0x61), w(0x62), w(0x63), w(0x64), w(0x65), w(0x66), w(0x67),\ w(0x68), w(0x69), w(0x6a), w(0x6b), w(0x6c), w(0x6d), w(0x6e), w(0x6f),\ w(0x70), w(0x71), w(0x72), w(0x73), w(0x74), w(0x75), w(0x76), w(0x77),\ w(0x78), w(0x79), w(0x7a), w(0x7b), w(0x7c), w(0x7d), w(0x7e), w(0x7f),\ w(0x80), w(0x81), w(0x82), w(0x83), w(0x84), w(0x85), w(0x86), w(0x87),\ w(0x88), w(0x89), w(0x8a), w(0x8b), w(0x8c), w(0x8d), w(0x8e), w(0x8f),\ w(0x90), w(0x91), w(0x92), w(0x93), w(0x94), w(0x95), w(0x96), w(0x97),\ w(0x98), w(0x99), w(0x9a), w(0x9b), w(0x9c), w(0x9d), w(0x9e), w(0x9f),\ w(0xa0), w(0xa1), w(0xa2), w(0xa3), w(0xa4), w(0xa5), w(0xa6), w(0xa7),\ w(0xa8), w(0xa9), w(0xaa), w(0xab), w(0xac), w(0xad), w(0xae), w(0xaf),\ w(0xb0), w(0xb1), w(0xb2), w(0xb3), w(0xb4), w(0xb5), w(0xb6), w(0xb7),\ w(0xb8), w(0xb9), w(0xba), w(0xbb), w(0xbc), w(0xbd), w(0xbe), w(0xbf),\ w(0xc0), w(0xc1), w(0xc2), w(0xc3), w(0xc4), w(0xc5), w(0xc6), w(0xc7),\ w(0xc8), w(0xc9), w(0xca), w(0xcb), w(0xcc), w(0xcd), w(0xce), w(0xcf),\ w(0xd0), w(0xd1), w(0xd2), w(0xd3), w(0xd4), w(0xd5), w(0xd6), w(0xd7),\ w(0xd8), w(0xd9), w(0xda), w(0xdb), w(0xdc), w(0xdd), w(0xde), w(0xdf),\ w(0xe0), w(0xe1), w(0xe2), w(0xe3), w(0xe4), w(0xe5), w(0xe6), w(0xe7),\ w(0xe8), w(0xe9), w(0xea), w(0xeb), w(0xec), w(0xed), w(0xee), w(0xef),\ w(0xf0), w(0xf1), w(0xf2), w(0xf3), w(0xf4), w(0xf5), w(0xf6), w(0xf7),\ w(0xf8), w(0xf9), w(0xfa), w(0xfb), w(0xfc), w(0xfd), w(0xfe), w(0xff) } #define rc_data(w) {\ w(0x01), w(0x02), w(0x04), w(0x08), w(0x10),w(0x20), w(0x40), w(0x80),\ w(0x1b), w(0x36) } #define h0(x) (x) #define w0(p) bytes2word(p, 0, 0, 0) #define w1(p) bytes2word(0, p, 0, 0) #define w2(p) bytes2word(0, 0, p, 0) #define w3(p) bytes2word(0, 0, 0, p) #define u0(p) bytes2word(f2(p), p, p, f3(p)) #define u1(p) bytes2word(f3(p), f2(p), p, p) #define u2(p) bytes2word(p, f3(p), f2(p), p) #define u3(p) bytes2word(p, p, f3(p), f2(p)) #define v0(p) bytes2word(fe(p), f9(p), fd(p), fb(p)) #define v1(p) bytes2word(fb(p), fe(p), f9(p), fd(p)) #define v2(p) bytes2word(fd(p), fb(p), fe(p), f9(p)) #define v3(p) bytes2word(f9(p), fd(p), fb(p), fe(p)) #endif #if defined(FIXED_TABLES) || !defined(FF_TABLES) #define f2(x) ((x<<1) ^ (((x>>7) & 1) * WPOLY)) #define f4(x) ((x<<2) ^ (((x>>6) & 1) * WPOLY) ^ (((x>>6) & 2) * WPOLY)) #define f8(x) ((x<<3) ^ (((x>>5) & 1) * WPOLY) ^ (((x>>5) & 2) * WPOLY) \ ^ (((x>>5) & 4) * WPOLY)) #define f3(x) (f2(x) ^ x) #define f9(x) (f8(x) ^ x) #define fb(x) (f8(x) ^ f2(x) ^ x) #define fd(x) (f8(x) ^ f4(x) ^ x) #define fe(x) (f8(x) ^ f4(x) ^ f2(x)) #else #define f2(x) ((x) ? pow[log[x] + 0x19] : 0) #define f3(x) ((x) ? pow[log[x] + 0x01] : 0) #define f9(x) ((x) ? pow[log[x] + 0xc7] : 0) #define fb(x) ((x) ? pow[log[x] + 0x68] : 0) #define fd(x) ((x) ? pow[log[x] + 0xee] : 0) #define fe(x) ((x) ? pow[log[x] + 0xdf] : 0) #define fi(x) ((x) ? pow[ 255 - log[x]] : 0) #endif #include "aestab.h" #if defined(__cplusplus) extern "C" { #endif #if defined(FIXED_TABLES) /* implemented in case of wrong call for fixed tables */ AES_RETURN aes_init(void) { return EXIT_SUCCESS; } #else /* dynamic table generation */ #if !defined(FF_TABLES) /* Generate the tables for the dynamic table option It will generally be sensible to use tables to compute finite field multiplies and inverses but where memory is scarse this code might sometimes be better. But it only has effect during initialisation so its pretty unimportant in overall terms. */ /* return 2 ^ (n - 1) where n is the bit number of the highest bit set in x with x in the range 1 < x < 0x00000200. This form is used so that locals within fi can be bytes rather than words */ static uint_8t hibit(const uint_32t x) { uint_8t r = (uint_8t)((x >> 1) | (x >> 2)); r |= (r >> 2); r |= (r >> 4); return (r + 1) >> 1; } /* return the inverse of the finite field element x */ static uint_8t gf_inv(const uint_8t x) { uint_8t p1 = x, p2 = BPOLY, n1 = hibit(x), n2 = 0x80, v1 = 1, v2 = 0; if(x < 2) return x; for( ; ; ) { if(n1) while(n2 >= n1) /* divide polynomial p2 by p1 */ { n2 /= n1; /* shift smaller polynomial left */ p2 ^= (p1 * n2) & 0xff; /* and remove from larger one */ v2 ^= v1 * n2; /* shift accumulated value and */ n2 = hibit(p2); /* add into result */ } else return v1; if(n2) /* repeat with values swapped */ while(n1 >= n2) { n1 /= n2; p1 ^= p2 * n1; v1 ^= v2 * n1; n1 = hibit(p1); } else return v2; } } #endif /* The forward and inverse affine transformations used in the S-box */ uint_8t fwd_affine(const uint_8t x) { uint_32t w = x; w ^= (w << 1) ^ (w << 2) ^ (w << 3) ^ (w << 4); return 0x63 ^ ((w ^ (w >> 8)) & 0xff); } uint_8t inv_affine(const uint_8t x) { uint_32t w = x; w = (w << 1) ^ (w << 3) ^ (w << 6); return 0x05 ^ ((w ^ (w >> 8)) & 0xff); } static int init = 0; AES_RETURN aes_init(void) { uint_32t i, w; #if defined(FF_TABLES) uint_8t pow[512], log[256]; if(init) return EXIT_SUCCESS; /* log and power tables for GF(2^8) finite field with WPOLY as modular polynomial - the simplest primitive root is 0x03, used here to generate the tables */ i = 0; w = 1; do { pow[i] = (uint_8t)w; pow[i + 255] = (uint_8t)w; log[w] = (uint_8t)i++; w ^= (w << 1) ^ (w & 0x80 ? WPOLY : 0); } while (w != 1); #else if(init) return EXIT_SUCCESS; #endif for(i = 0, w = 1; i < RC_LENGTH; ++i) { t_set(r,c)[i] = bytes2word(w, 0, 0, 0); w = f2(w); } for(i = 0; i < 256; ++i) { uint_8t b; b = fwd_affine(gf_inv((uint_8t)i)); w = bytes2word(f2(b), b, b, f3(b)); #if defined( SBX_SET ) t_set(s,box)[i] = b; #endif #if defined( FT1_SET ) /* tables for a normal encryption round */ t_set(f,n)[i] = w; #endif #if defined( FT4_SET ) t_set(f,n)[0][i] = w; t_set(f,n)[1][i] = upr(w,1); t_set(f,n)[2][i] = upr(w,2); t_set(f,n)[3][i] = upr(w,3); #endif w = bytes2word(b, 0, 0, 0); #if defined( FL1_SET ) /* tables for last encryption round (may also */ t_set(f,l)[i] = w; /* be used in the key schedule) */ #endif #if defined( FL4_SET ) t_set(f,l)[0][i] = w; t_set(f,l)[1][i] = upr(w,1); t_set(f,l)[2][i] = upr(w,2); t_set(f,l)[3][i] = upr(w,3); #endif #if defined( LS1_SET ) /* table for key schedule if t_set(f,l) above is*/ t_set(l,s)[i] = w; /* not of the required form */ #endif #if defined( LS4_SET ) t_set(l,s)[0][i] = w; t_set(l,s)[1][i] = upr(w,1); t_set(l,s)[2][i] = upr(w,2); t_set(l,s)[3][i] = upr(w,3); #endif b = gf_inv(inv_affine((uint_8t)i)); w = bytes2word(fe(b), f9(b), fd(b), fb(b)); #if defined( IM1_SET ) /* tables for the inverse mix column operation */ t_set(i,m)[b] = w; #endif #if defined( IM4_SET ) t_set(i,m)[0][b] = w; t_set(i,m)[1][b] = upr(w,1); t_set(i,m)[2][b] = upr(w,2); t_set(i,m)[3][b] = upr(w,3); #endif #if defined( ISB_SET ) t_set(i,box)[i] = b; #endif #if defined( IT1_SET ) /* tables for a normal decryption round */ t_set(i,n)[i] = w; #endif #if defined( IT4_SET ) t_set(i,n)[0][i] = w; t_set(i,n)[1][i] = upr(w,1); t_set(i,n)[2][i] = upr(w,2); t_set(i,n)[3][i] = upr(w,3); #endif w = bytes2word(b, 0, 0, 0); #if defined( IL1_SET ) /* tables for last decryption round */ t_set(i,l)[i] = w; #endif #if defined( IL4_SET ) t_set(i,l)[0][i] = w; t_set(i,l)[1][i] = upr(w,1); t_set(i,l)[2][i] = upr(w,2); t_set(i,l)[3][i] = upr(w,3); #endif } init = 1; return EXIT_SUCCESS; } #endif #if defined(__cplusplus) } #endif keepassx-0.4.3/src/crypto/yarrow_macros.h0000664000175000017500000000505411151237557017525 0ustar felixfelix/* macros.h * */ /* nettle, low-level cryptographics library * * Copyright (C) 2001 Niels Müler * * The nettle library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or (at your * option) any later version. * * The nettle library 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 Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with the nettle library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. */ #ifndef NETTLE_MACROS_H_INCLUDED #define NETTLE_MACROS_H_INCLUDED /* Reads a 32-bit integer, in network, big-endian, byte order */ #define READ_UINT32(p) \ ( (((uint32_t) (p)[0]) << 24) \ | (((uint32_t) (p)[1]) << 16) \ | (((uint32_t) (p)[2]) << 8) \ | ((uint32_t) (p)[3])) #define WRITE_UINT32(p, i) \ do { \ (p)[0] = ((i) >> 24) & 0xff; \ (p)[1] = ((i) >> 16) & 0xff; \ (p)[2] = ((i) >> 8) & 0xff; \ (p)[3] = (i) & 0xff; \ } while(0) /* Analogous macros, for 24 and 16 bit numbers */ #define READ_UINT24(p) \ ( (((uint32_t) (p)[0]) << 16) \ | (((uint32_t) (p)[1]) << 8) \ | ((uint32_t) (p)[2])) #define WRITE_UINT24(p, i) \ do { \ (p)[0] = ((i) >> 16) & 0xff; \ (p)[1] = ((i) >> 8) & 0xff; \ (p)[2] = (i) & 0xff; \ } while(0) #define READ_UINT16(p) \ ( (((uint32_t) (p)[0]) << 8) \ | ((uint32_t) (p)[1])) #define WRITE_UINT16(p, i) \ do { \ (p)[0] = ((i) >> 8) & 0xff; \ (p)[1] = (i) & 0xff; \ } while(0) /* And the other, little-endian, byteorder */ #define LE_READ_UINT32(p) \ ( (((uint32_t) (p)[3]) << 24) \ | (((uint32_t) (p)[2]) << 16) \ | (((uint32_t) (p)[1]) << 8) \ | ((uint32_t) (p)[0])) #define LE_WRITE_UINT32(p, i) \ do { \ (p)[3] = ((i) >> 24) & 0xff; \ (p)[2] = ((i) >> 16) & 0xff; \ (p)[1] = ((i) >> 8) & 0xff; \ (p)[0] = (i) & 0xff; \ } while(0) /* Macro to make it easier to loop over several blocks. */ #define FOR_BLOCKS(length, dst, src, blocksize) \ assert( !((length) % (blocksize))); \ for (; (length); ((length) -= (blocksize), \ (dst) += (blocksize), \ (src) += (blocksize)) ) #endif /* NETTLE_MACROS_H_INCLUDED */ keepassx-0.4.3/src/crypto/aescpp.h0000664000175000017500000001161711151237557016113 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 This file contains the definitions required to use AES (Rijndael) in C++. */ #ifndef _AESCPP_H #define _AESCPP_H #include "aes.h" #if defined( AES_ENCRYPT ) class AESencrypt { public: AESencrypt(void) { aes_init(); }; #if defined(AES_128) AESencrypt(const unsigned char key[]) { aes_encrypt_key128(key, cx); } inline AES_RETURN key128(const unsigned char key[]) { return aes_encrypt_key128(key, cx); } #endif #if defined(AES_192) inline AES_RETURN key192(const unsigned char key[]) { return aes_encrypt_key192(key, cx); } #endif #if defined(AES_256) inline AES_RETURN key256(const unsigned char key[]) { return aes_encrypt_key256(key, cx); } #endif #if defined(AES_VAR) inline AES_RETURN key(const unsigned char key[], int key_len) { return aes_encrypt_key(key, key_len, cx); } #endif inline AES_RETURN encrypt(const unsigned char in[], unsigned char out[]) const { return aes_encrypt(in, out, cx); } #ifndef AES_MODES inline AES_RETURN ecb_encrypt(const unsigned char in[], unsigned char out[], int nb) const { while(nb--) { aes_encrypt(in, out, cx), in += AES_BLOCK_SIZE, out += AES_BLOCK_SIZE; } } #endif #ifdef AES_MODES inline AES_RETURN mode_reset(void) { return aes_mode_reset(cx); } inline AES_RETURN ecb_encrypt(const unsigned char in[], unsigned char out[], int nb) const { return aes_ecb_encrypt(in, out, nb, cx); } inline AES_RETURN cbc_encrypt(const unsigned char in[], unsigned char out[], int nb, unsigned char iv[]) const { return aes_cbc_encrypt(in, out, nb, iv, cx); } inline AES_RETURN cfb_encrypt(const unsigned char in[], unsigned char out[], int nb, unsigned char iv[]) { return aes_cfb_encrypt(in, out, nb, iv, cx); } inline AES_RETURN cfb_decrypt(const unsigned char in[], unsigned char out[], int nb, unsigned char iv[]) { return aes_cfb_decrypt(in, out, nb, iv, cx); } inline AES_RETURN ofb_crypt(const unsigned char in[], unsigned char out[], int nb, unsigned char iv[]) { return aes_ofb_crypt(in, out, nb, iv, cx); } typedef void ctr_fn(unsigned char ctr[]); inline AES_RETURN ctr_crypt(const unsigned char in[], unsigned char out[], int nb, unsigned char iv[], ctr_fn cf) { return aes_ctr_crypt(in, out, nb, iv, cf, cx); } #endif private: aes_encrypt_ctx cx[1]; }; #endif #if defined( AES_DECRYPT ) class AESdecrypt { public: AESdecrypt(void) { aes_init(); }; #if defined(AES_128) AESdecrypt(const unsigned char key[]) { aes_decrypt_key128(key, cx); } inline AES_RETURN key128(const unsigned char key[]) { return aes_decrypt_key128(key, cx); } #endif #if defined(AES_192) inline AES_RETURN key192(const unsigned char key[]) { return aes_decrypt_key192(key, cx); } #endif #if defined(AES_256) inline AES_RETURN key256(const unsigned char key[]) { return aes_decrypt_key256(key, cx); } #endif #if defined(AES_VAR) inline AES_RETURN key(const unsigned char key[], int key_len) { return aes_decrypt_key(key, key_len, cx); } #endif inline AES_RETURN decrypt(const unsigned char in[], unsigned char out[]) const { return aes_decrypt(in, out, cx); } #ifndef AES_MODES inline AES_RETURN ecb_decrypt(const unsigned char in[], unsigned char out[], int nb) const { while(nb--) { aes_decrypt(in, out, cx), in += AES_BLOCK_SIZE, out += AES_BLOCK_SIZE; } } #endif #ifdef AES_MODES inline AES_RETURN ecb_decrypt(const unsigned char in[], unsigned char out[], int nb) const { return aes_ecb_decrypt(in, out, nb, cx); } inline AES_RETURN cbc_decrypt(const unsigned char in[], unsigned char out[], int nb, unsigned char iv[]) const { return aes_cbc_decrypt(in, out, nb, iv, cx); } #endif private: aes_decrypt_ctx cx[1]; }; #endif #endif keepassx-0.4.3/src/crypto/aescrypt.c0000664000175000017500000002414311044656216016461 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 */ #include "aesopt.h" #include "aestab.h" #if defined(__cplusplus) extern "C" { #endif #define si(y,x,k,c) (s(y,c) = word_in(x, c) ^ (k)[c]) #define so(y,x,c) word_out(y, c, s(x,c)) #if defined(ARRAYS) #define locals(y,x) x[4],y[4] #else #define locals(y,x) x##0,x##1,x##2,x##3,y##0,y##1,y##2,y##3 #endif #define l_copy(y, x) s(y,0) = s(x,0); s(y,1) = s(x,1); \ s(y,2) = s(x,2); s(y,3) = s(x,3); #define state_in(y,x,k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3) #define state_out(y,x) so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3) #define round(rm,y,x,k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3) #if ( FUNCS_IN_C & ENCRYPTION_IN_C ) /* Visual C++ .Net v7.1 provides the fastest encryption code when using Pentium optimiation with small code but this is poor for decryption so we need to control this with the following VC++ pragmas */ #if defined( _MSC_VER ) && !defined( _WIN64 ) #pragma optimize( "s", on ) #endif /* Given the column (c) of the output state variable, the following macros give the input state variables which are needed in its computation for each row (r) of the state. All the alternative macros give the same end values but expand into different ways of calculating these values. In particular the complex macro used for dynamically variable block sizes is designed to expand to a compile time constant whenever possible but will expand to conditional clauses on some branches (I am grateful to Frank Yellin for this construction) */ #define fwd_var(x,r,c)\ ( r == 0 ? ( c == 0 ? s(x,0) : c == 1 ? s(x,1) : c == 2 ? s(x,2) : s(x,3))\ : r == 1 ? ( c == 0 ? s(x,1) : c == 1 ? s(x,2) : c == 2 ? s(x,3) : s(x,0))\ : r == 2 ? ( c == 0 ? s(x,2) : c == 1 ? s(x,3) : c == 2 ? s(x,0) : s(x,1))\ : ( c == 0 ? s(x,3) : c == 1 ? s(x,0) : c == 2 ? s(x,1) : s(x,2))) #if defined(FT4_SET) #undef dec_fmvars #define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(f,n),fwd_var,rf1,c)) #elif defined(FT1_SET) #undef dec_fmvars #define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,upr,t_use(f,n),fwd_var,rf1,c)) #else #define fwd_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ fwd_mcol(no_table(x,t_use(s,box),fwd_var,rf1,c))) #endif #if defined(FL4_SET) #define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(f,l),fwd_var,rf1,c)) #elif defined(FL1_SET) #define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,ups,t_use(f,l),fwd_var,rf1,c)) #else #define fwd_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ no_table(x,t_use(s,box),fwd_var,rf1,c)) #endif AES_RETURN aes_encrypt(const unsigned char *in, unsigned char *out, const aes_encrypt_ctx cx[1]) { uint_32t locals(b0, b1); const uint_32t *kp; #if defined( dec_fmvars ) dec_fmvars; /* declare variables for fwd_mcol() if needed */ #endif if( cx->inf.b[0] != 10 * 16 && cx->inf.b[0] != 12 * 16 && cx->inf.b[0] != 14 * 16 ) return EXIT_FAILURE; kp = cx->ks; state_in(b0, in, kp); #if (ENC_UNROLL == FULL) switch(cx->inf.b[0]) { case 14 * 16: round(fwd_rnd, b1, b0, kp + 1 * N_COLS); round(fwd_rnd, b0, b1, kp + 2 * N_COLS); kp += 2 * N_COLS; case 12 * 16: round(fwd_rnd, b1, b0, kp + 1 * N_COLS); round(fwd_rnd, b0, b1, kp + 2 * N_COLS); kp += 2 * N_COLS; case 10 * 16: round(fwd_rnd, b1, b0, kp + 1 * N_COLS); round(fwd_rnd, b0, b1, kp + 2 * N_COLS); round(fwd_rnd, b1, b0, kp + 3 * N_COLS); round(fwd_rnd, b0, b1, kp + 4 * N_COLS); round(fwd_rnd, b1, b0, kp + 5 * N_COLS); round(fwd_rnd, b0, b1, kp + 6 * N_COLS); round(fwd_rnd, b1, b0, kp + 7 * N_COLS); round(fwd_rnd, b0, b1, kp + 8 * N_COLS); round(fwd_rnd, b1, b0, kp + 9 * N_COLS); round(fwd_lrnd, b0, b1, kp +10 * N_COLS); } #else #if (ENC_UNROLL == PARTIAL) { uint_32t rnd; for(rnd = 0; rnd < (cx->inf.b[0] >> 5) - 1; ++rnd) { kp += N_COLS; round(fwd_rnd, b1, b0, kp); kp += N_COLS; round(fwd_rnd, b0, b1, kp); } kp += N_COLS; round(fwd_rnd, b1, b0, kp); #else { uint_32t rnd; for(rnd = 0; rnd < (cx->inf.b[0] >> 4) - 1; ++rnd) { kp += N_COLS; round(fwd_rnd, b1, b0, kp); l_copy(b0, b1); } #endif kp += N_COLS; round(fwd_lrnd, b0, b1, kp); } #endif state_out(out, b0); return EXIT_SUCCESS; } #endif #if ( FUNCS_IN_C & DECRYPTION_IN_C) /* Visual C++ .Net v7.1 provides the fastest encryption code when using Pentium optimiation with small code but this is poor for decryption so we need to control this with the following VC++ pragmas */ #if defined( _MSC_VER ) && !defined( _WIN64 ) #pragma optimize( "t", on ) #endif /* Given the column (c) of the output state variable, the following macros give the input state variables which are needed in its computation for each row (r) of the state. All the alternative macros give the same end values but expand into different ways of calculating these values. In particular the complex macro used for dynamically variable block sizes is designed to expand to a compile time constant whenever possible but will expand to conditional clauses on some branches (I am grateful to Frank Yellin for this construction) */ #define inv_var(x,r,c)\ ( r == 0 ? ( c == 0 ? s(x,0) : c == 1 ? s(x,1) : c == 2 ? s(x,2) : s(x,3))\ : r == 1 ? ( c == 0 ? s(x,3) : c == 1 ? s(x,0) : c == 2 ? s(x,1) : s(x,2))\ : r == 2 ? ( c == 0 ? s(x,2) : c == 1 ? s(x,3) : c == 2 ? s(x,0) : s(x,1))\ : ( c == 0 ? s(x,1) : c == 1 ? s(x,2) : c == 2 ? s(x,3) : s(x,0))) #if defined(IT4_SET) #undef dec_imvars #define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(i,n),inv_var,rf1,c)) #elif defined(IT1_SET) #undef dec_imvars #define inv_rnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,upr,t_use(i,n),inv_var,rf1,c)) #else #define inv_rnd(y,x,k,c) (s(y,c) = inv_mcol((k)[c] ^ no_table(x,t_use(i,box),inv_var,rf1,c))) #endif #if defined(IL4_SET) #define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ four_tables(x,t_use(i,l),inv_var,rf1,c)) #elif defined(IL1_SET) #define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ one_table(x,ups,t_use(i,l),inv_var,rf1,c)) #else #define inv_lrnd(y,x,k,c) (s(y,c) = (k)[c] ^ no_table(x,t_use(i,box),inv_var,rf1,c)) #endif /* This code can work with the decryption key schedule in the */ /* order that is used for encrytpion (where the 1st decryption */ /* round key is at the high end ot the schedule) or with a key */ /* schedule that has been reversed to put the 1st decryption */ /* round key at the low end of the schedule in memory (when */ /* AES_REV_DKS is defined) */ #ifdef AES_REV_DKS #define key_ofs 0 #define rnd_key(n) (kp + n * N_COLS) #else #define key_ofs 1 #define rnd_key(n) (kp - n * N_COLS) #endif AES_RETURN aes_decrypt(const unsigned char *in, unsigned char *out, const aes_decrypt_ctx cx[1]) { uint_32t locals(b0, b1); #if defined( dec_imvars ) dec_imvars; /* declare variables for inv_mcol() if needed */ #endif const uint_32t *kp; if( cx->inf.b[0] != 10 * 16 && cx->inf.b[0] != 12 * 16 && cx->inf.b[0] != 14 * 16 ) return EXIT_FAILURE; kp = cx->ks + (key_ofs ? (cx->inf.b[0] >> 2) : 0); state_in(b0, in, kp); #if (DEC_UNROLL == FULL) kp = cx->ks + (key_ofs ? 0 : (cx->inf.b[0] >> 2)); switch(cx->inf.b[0]) { case 14 * 16: round(inv_rnd, b1, b0, rnd_key(-13)); round(inv_rnd, b0, b1, rnd_key(-12)); case 12 * 16: round(inv_rnd, b1, b0, rnd_key(-11)); round(inv_rnd, b0, b1, rnd_key(-10)); case 10 * 16: round(inv_rnd, b1, b0, rnd_key(-9)); round(inv_rnd, b0, b1, rnd_key(-8)); round(inv_rnd, b1, b0, rnd_key(-7)); round(inv_rnd, b0, b1, rnd_key(-6)); round(inv_rnd, b1, b0, rnd_key(-5)); round(inv_rnd, b0, b1, rnd_key(-4)); round(inv_rnd, b1, b0, rnd_key(-3)); round(inv_rnd, b0, b1, rnd_key(-2)); round(inv_rnd, b1, b0, rnd_key(-1)); round(inv_lrnd, b0, b1, rnd_key( 0)); } #else #if (DEC_UNROLL == PARTIAL) { uint_32t rnd; for(rnd = 0; rnd < (cx->inf.b[0] >> 5) - 1; ++rnd) { kp = rnd_key(1); round(inv_rnd, b1, b0, kp); kp = rnd_key(1); round(inv_rnd, b0, b1, kp); } kp = rnd_key(1); round(inv_rnd, b1, b0, kp); #else { uint_32t rnd; for(rnd = 0; rnd < (cx->inf.b[0] >> 4) - 1; ++rnd) { kp = rnd_key(1); round(inv_rnd, b1, b0, kp); l_copy(b0, b1); } #endif kp = rnd_key(1); round(inv_lrnd, b0, b1, kp); } #endif state_out(out, b0); return EXIT_SUCCESS; } #endif #if defined(__cplusplus) } #endif keepassx-0.4.3/src/crypto/aes_types.h0000664000175000017500000001762011044656751016636 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 The unsigned integer types defined here are of the form uint_t where is the length of the type; for example, the unsigned 32-bit type is 'uint_32t'. These are NOT the same as the 'C99 integer types' that are defined in the inttypes.h and stdint.h headers since attempts to use these types have shown that support for them is still highly variable. However, since the latter are of the form uint_t, a regular expression search and replace (in VC++ search on 'uint_{:z}t' and replace with 'uint\1_t') can be used to convert the types used here to the C99 standard types. */ #ifndef _BRG_TYPES_H #define _BRG_TYPES_H #if defined(__cplusplus) extern "C" { #endif #include #if defined( _MSC_VER ) && ( _MSC_VER >= 1300 ) # include # define ptrint_t intptr_t #elif defined( __GNUC__ ) && ( __GNUC__ >= 3 ) # include # define ptrint_t intptr_t #else # define ptrint_t int #endif #ifndef BRG_UI8 # define BRG_UI8 # if UCHAR_MAX == 255u typedef unsigned char uint_8t; # else # error Please define uint_8t as an 8-bit unsigned integer type in brg_types.h # endif #endif #ifndef BRG_UI16 # define BRG_UI16 # if USHRT_MAX == 65535u typedef unsigned short uint_16t; # else # error Please define uint_16t as a 16-bit unsigned short type in brg_types.h # endif #endif #ifndef BRG_UI32 # define BRG_UI32 # if UINT_MAX == 4294967295u # define li_32(h) 0x##h##u typedef unsigned int uint_32t; # elif ULONG_MAX == 4294967295u # define li_32(h) 0x##h##ul typedef unsigned long uint_32t; # elif defined( _CRAY ) # error This code needs 32-bit data types, which Cray machines do not provide # else # error Please define uint_32t as a 32-bit unsigned integer type in brg_types.h # endif #endif #ifndef BRG_UI64 # if defined( __BORLANDC__ ) && !defined( __MSDOS__ ) # define BRG_UI64 # define li_64(h) 0x##h##ui64 typedef unsigned __int64 uint_64t; # elif defined( _MSC_VER ) && ( _MSC_VER < 1300 ) /* 1300 == VC++ 7.0 */ # define BRG_UI64 # define li_64(h) 0x##h##ui64 typedef unsigned __int64 uint_64t; # elif defined( __sun ) && defined( ULONG_MAX ) && ULONG_MAX == 0xfffffffful # define BRG_UI64 # define li_64(h) 0x##h##ull typedef unsigned long long uint_64t; # elif defined( __MVS__ ) # define BRG_UI64 # define li_64(h) 0x##h##ull typedef unsigned int long long uint_64t; # elif defined( UINT_MAX ) && UINT_MAX > 4294967295u # if UINT_MAX == 18446744073709551615u # define BRG_UI64 # define li_64(h) 0x##h##u typedef unsigned int uint_64t; # endif # elif defined( ULONG_MAX ) && ULONG_MAX > 4294967295u # if ULONG_MAX == 18446744073709551615ul # define BRG_UI64 # define li_64(h) 0x##h##ul typedef unsigned long uint_64t; # endif # elif defined( ULLONG_MAX ) && ULLONG_MAX > 4294967295u # if ULLONG_MAX == 18446744073709551615ull # define BRG_UI64 # define li_64(h) 0x##h##ull typedef unsigned long long uint_64t; # endif # elif defined( ULONG_LONG_MAX ) && ULONG_LONG_MAX > 4294967295u # if ULONG_LONG_MAX == 18446744073709551615ull # define BRG_UI64 # define li_64(h) 0x##h##ull typedef unsigned long long uint_64t; # endif # endif #endif #if !defined( BRG_UI64 ) # if defined( NEED_UINT_64T ) # error Please define uint_64t as an unsigned 64 bit type in brg_types.h # endif #endif #ifndef RETURN_VALUES # define RETURN_VALUES # if defined( DLL_EXPORT ) # if defined( _MSC_VER ) || defined ( __INTEL_COMPILER ) # define VOID_RETURN __declspec( dllexport ) void __stdcall # define INT_RETURN __declspec( dllexport ) int __stdcall # elif defined( __GNUC__ ) # define VOID_RETURN __declspec( __dllexport__ ) void # define INT_RETURN __declspec( __dllexport__ ) int # else # error Use of the DLL is only available on the Microsoft, Intel and GCC compilers # endif # elif defined( DLL_IMPORT ) # if defined( _MSC_VER ) || defined ( __INTEL_COMPILER ) # define VOID_RETURN __declspec( dllimport ) void __stdcall # define INT_RETURN __declspec( dllimport ) int __stdcall # elif defined( __GNUC__ ) # define VOID_RETURN __declspec( __dllimport__ ) void # define INT_RETURN __declspec( __dllimport__ ) int # else # error Use of the DLL is only available on the Microsoft, Intel and GCC compilers # endif # elif defined( __WATCOMC__ ) # define VOID_RETURN void __cdecl # define INT_RETURN int __cdecl # else # define VOID_RETURN void # define INT_RETURN int # endif #endif /* These defines are used to detect and set the memory alignment of pointers. Note that offsets are in bytes. ALIGN_OFFSET(x,n) return the positive or zero offset of the memory addressed by the pointer 'x' from an address that is aligned on an 'n' byte boundary ('n' is a power of 2) ALIGN_FLOOR(x,n) return a pointer that points to memory that is aligned on an 'n' byte boundary and is not higher than the memory address pointed to by 'x' ('n' is a power of 2) ALIGN_CEIL(x,n) return a pointer that points to memory that is aligned on an 'n' byte boundary and is not lower than the memory address pointed to by 'x' ('n' is a power of 2) */ #define ALIGN_OFFSET(x,n) (((ptrint_t)(x)) & ((n) - 1)) #define ALIGN_FLOOR(x,n) ((uint_8t*)(x) - ( ((ptrint_t)(x)) & ((n) - 1))) #define ALIGN_CEIL(x,n) ((uint_8t*)(x) + (-((ptrint_t)(x)) & ((n) - 1))) /* These defines are used to declare buffers in a way that allows faster operations on longer variables to be used. In all these defines 'size' must be a power of 2 and >= 8. NOTE that the buffer size is in bytes but the type length is in bits UNIT_TYPEDEF(x,size) declares a variable 'x' of length 'size' bits BUFR_TYPEDEF(x,size,bsize) declares a buffer 'x' of length 'bsize' bytes defined as an array of variables each of 'size' bits (bsize must be a multiple of size / 8) UNIT_CAST(x,size) casts a variable to a type of length 'size' bits UPTR_CAST(x,size) casts a pointer to a pointer to a varaiable of length 'size' bits */ #define UI_TYPE(size) uint_##size##t #define UNIT_TYPEDEF(x,size) typedef UI_TYPE(size) x #define BUFR_TYPEDEF(x,size,bsize) typedef UI_TYPE(size) x[bsize / (size >> 3)] #define UNIT_CAST(x,size) ((UI_TYPE(size) )(x)) #define UPTR_CAST(x,size) ((UI_TYPE(size)*)(x)) #if defined(__cplusplus) } #endif #endif keepassx-0.4.3/src/crypto/yarrow.cpp0000664000175000017500000002776711134614757016535 0ustar felixfelix/*************************************************************************** * The yarrow pseudo-randomness genrator * * extracted from nettle, the low-level cryptographics library * * * * Copyright (C) 2007 Tarek Saidi * * Copyright (C) 2001 Niels Müler * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #include "yarrow.h" #include "random.h" #ifndef YARROW_DEBUG #define YARROW_DEBUG 0 #endif #if YARROW_DEBUG #include #endif #define SHA256_DIGEST_SIZE 32 #define AES_MAX_KEY_SIZE 32 /* Parameters */ /* An upper limit on the entropy (in bits) in one octet of sample * data. */ #define YARROW_MULTIPLIER 4 /* Entropy threshold for reseeding from the fast pool */ #define YARROW_FAST_THRESHOLD 100 /* Entropy threshold for reseeding from the fast pool */ #define YARROW_SLOW_THRESHOLD 160 /* Number of sources that must exceed the threshold for slow reseed */ #define YARROW_SLOW_K 2 /* The number of iterations when reseeding, P_t in the yarrow paper. * Should be chosen so that reseeding takes on the order of 0.1-1 * seconds. */ #define YARROW_RESEED_ITERATIONS 1500 /* Entropy estimates sticks to this value, it is treated as infinity * in calculations. It should fit comfortably in an uint32_t, to avoid * overflows. */ #define YARROW_MAX_ENTROPY 0x100000 /* Forward declarations */ static void yarrow_fast_reseed(struct yarrow256_ctx *ctx); static void yarrow_gate(struct yarrow256_ctx *ctx); void yarrow256_init(struct yarrow256_ctx *ctx, unsigned n, struct yarrow_source *s) { unsigned i; sha256_starts(&ctx->pools[0]); sha256_starts(&ctx->pools[1]); ctx->seeded = 0; /* Not strictly, necessary, but it makes it easier to see if the * values are sane. */ memset(ctx->seed_file, 0, YARROW256_SEED_FILE_SIZE); memset(ctx->counter, 0, sizeof(ctx->counter)); ctx->nsources = n; ctx->sources = s; for (i = 0; isources[i].estimate[YARROW_FAST] = 0; ctx->sources[i].estimate[YARROW_SLOW] = 0; ctx->sources[i].next = YARROW_FAST; } } void yarrow256_seed(struct yarrow256_ctx *ctx, unsigned length, const quint8 *seed_file) { /* FIXME: Perhaps it's better to use assert ? */ if (!length) return; sha256_update(&ctx->pools[YARROW_FAST], seed_file, length); yarrow_fast_reseed(ctx); ctx->seeded = 1; } /* FIXME: Generalize so that it generates a few more blocks at a * time. */ static void yarrow_generate_block(struct yarrow256_ctx *ctx, quint8 *block) { unsigned i; //aes_encrypt(&ctx->key, sizeof(ctx->counter), block, ctx->counter); aes_ecb_encrypt(ctx->counter,block,sizeof(ctx->counter),&ctx->key); /* Increment counter, treating it as a big-endian number. This is * machine independent, and follows appendix B of the NIST * specification of cipher modes of operation. * * We could keep a representation of thy counter as 4 32-bit values, * and write entire words (in big-endian byteorder) into the counter * block, whenever they change. */ for (i = sizeof(ctx->counter); i--; ) { if (++ctx->counter[i]) break; } } static void yarrow_iterate(quint8 *digest) { quint8 v0[SHA256_DIGEST_SIZE]; unsigned i; memcpy(v0, digest, SHA256_DIGEST_SIZE); /* When hashed inside the loop, i should run from 1 to * YARROW_RESEED_ITERATIONS */ for (i = 0; ++i < YARROW_RESEED_ITERATIONS; ) { quint8 count[4]; sha256_context hash; sha256_starts(&hash); /* Hash v_i | v_0 | i */ WRITE_UINT32(count, i); sha256_update(&hash, digest, SHA256_DIGEST_SIZE); sha256_update(&hash, v0, sizeof(v0)); sha256_update(&hash, count, sizeof(count)); sha256_finish(&hash,digest); } } /* NOTE: The SHA-256 digest size equals the AES key size, so we need * no "size adaptor". */ static void yarrow_fast_reseed(struct yarrow256_ctx *ctx) { quint8 digest[SHA256_DIGEST_SIZE]; unsigned i; #if YARROW_DEBUG fprintf(stderr, "yarrow_fast_reseed\n"); #endif /* We feed two block of output using the current key into the pool * before emptying it. */ if (ctx->seeded) { quint8 blocks[AES_BLOCK_SIZE * 2]; yarrow_generate_block(ctx, blocks); yarrow_generate_block(ctx, blocks + AES_BLOCK_SIZE); sha256_update(&ctx->pools[YARROW_FAST],blocks,sizeof(blocks)); } sha256_finish(&ctx->pools[YARROW_FAST],digest); /* Iterate */ yarrow_iterate(digest); aes_encrypt_key256(digest,&ctx->key); /* Derive new counter value */ memset(ctx->counter, 0, sizeof(ctx->counter)); //aes_encrypt(&ctx->key, sizeof(ctx->counter), ctx->counter, ctx->counter); aes_ecb_encrypt(ctx->counter,ctx->counter,sizeof(ctx->counter),&ctx->key); /* Reset estimates. */ for (i = 0; insources; i++) ctx->sources[i].estimate[YARROW_FAST] = 0; /* New seed file. */ /* FIXME: Extract this into a function of its own. */ for (i = 0; i < sizeof(ctx->seed_file); i+= AES_BLOCK_SIZE) yarrow_generate_block(ctx, ctx->seed_file + i); yarrow_gate(ctx); } static void yarrow_slow_reseed(struct yarrow256_ctx *ctx) { quint8 digest[SHA256_DIGEST_SIZE]; unsigned i; #if YARROW_DEBUG fprintf(stderr, "yarrow_slow_reseed\n"); #endif /* Get digest of the slow pool*/ sha256_finish(&ctx->pools[YARROW_SLOW], digest); /* Feed it into the fast pool */ sha256_update(&ctx->pools[YARROW_FAST],digest, sizeof(digest)); yarrow_fast_reseed(ctx); /* Reset estimates. */ for (i = 0; insources; i++) ctx->sources[i].estimate[YARROW_SLOW] = 0; } int yarrow256_update(struct yarrow256_ctx *ctx, unsigned source_index, unsigned entropy, unsigned length, const quint8 *data) { enum yarrow_pool_id current; struct yarrow_source *source; assert(source_index < ctx->nsources); if (!length) /* Nothing happens */ return 0; source = &ctx->sources[source_index]; if (!ctx->seeded) /* While seeding, use the slow pool */ current = YARROW_SLOW; else { current = source->next; source->next = (yarrow_pool_id)!source->next; } sha256_update(&ctx->pools[current],data,length); /* NOTE: We should be careful to avoid overflows in the estimates. */ if (source->estimate[current] < YARROW_MAX_ENTROPY) { if (entropy > YARROW_MAX_ENTROPY) entropy = YARROW_MAX_ENTROPY; if ( (length < (YARROW_MAX_ENTROPY / YARROW_MULTIPLIER)) && (entropy > YARROW_MULTIPLIER * length) ) entropy = YARROW_MULTIPLIER * length; /* FIXME: Calling a more sophisticated estimater should be done * here. */ entropy += source->estimate[current]; if (entropy > YARROW_MAX_ENTROPY) entropy = YARROW_MAX_ENTROPY; source->estimate[current] = entropy; } /* Check for seed/reseed */ switch(current) { case YARROW_FAST: #if YARROW_DEBUG fprintf(stderr, "yarrow256_update: source_index = %d,\n" " fast pool estimate = %d\n", source_index, source->estimate[YARROW_FAST]); #endif if (source->estimate[YARROW_FAST] >= YARROW_FAST_THRESHOLD) { yarrow_fast_reseed(ctx); return 1; } else return 0; case YARROW_SLOW: { /* FIXME: This is somewhat inefficient. It would be better to * either maintain the count, or do this loop only if the * current source just crossed the threshold. */ if (!yarrow256_needed_sources(ctx)) { yarrow_slow_reseed(ctx); ctx->seeded = 1; return 1; } else return 0; } default: abort(); } } static void yarrow_gate(struct yarrow256_ctx *ctx) { quint8 key[AES_MAX_KEY_SIZE]; unsigned i; for (i = 0; i < sizeof(key); i+= AES_BLOCK_SIZE) yarrow_generate_block(ctx, key + i); aes_encrypt_key256(key,&ctx->key); } void yarrow256_random(struct yarrow256_ctx *ctx, unsigned length, quint8 *dst) { assert(ctx->seeded); while (length >= AES_BLOCK_SIZE) { yarrow_generate_block(ctx, dst); dst += AES_BLOCK_SIZE; length -= AES_BLOCK_SIZE; } if (length) { quint8 buffer[AES_BLOCK_SIZE]; assert(length < AES_BLOCK_SIZE); yarrow_generate_block(ctx, buffer); memcpy(dst, buffer, length); } yarrow_gate(ctx); } int yarrow256_is_seeded(struct yarrow256_ctx *ctx) { return ctx->seeded; } unsigned yarrow256_needed_sources(struct yarrow256_ctx *ctx) { /* FIXME: This is somewhat inefficient. It would be better to * either maintain the count, or do this loop only if the * current source just crossed the threshold. */ unsigned k, i; for (i = k = 0; i < ctx->nsources; i++) if (ctx->sources[i].estimate[YARROW_SLOW] >= YARROW_SLOW_THRESHOLD) k++; #if YARROW_DEBUG fprintf(stderr, "yarrow256_needed_sources: source_index = %d,\n" " slow pool estimate = %d,\n" " number of sources above threshold = %d\n", source_index, source->estimate[YARROW_SLOW], k); #endif return (k < YARROW_SLOW_K) ? (YARROW_SLOW_K - k) : 0; } void yarrow256_force_reseed(struct yarrow256_ctx *ctx) { yarrow_slow_reseed(ctx); } struct yarrow256_ctx WeakCtx; struct yarrow256_ctx StrongCtx; struct yarrow_source WeakSrc[2]; struct yarrow_source StrongSrc[2]; void initYarrow(){ yarrow256_init(&WeakCtx,2,WeakSrc); yarrow256_init(&StrongCtx,2,StrongSrc); quint8 buffer[100]; for (int i=0; i<2; i++){ getEntropy(buffer,100); yarrowUpdateWeak(i,100*8,100,buffer); } } void yarrowUpdateWeak(unsigned source, unsigned entropy, unsigned length, const quint8 *data){ yarrow256_update(&WeakCtx,source,entropy,length,data); } void yarrowUpdateStrong(unsigned source, unsigned entropy, unsigned length, const quint8 *data){ yarrow256_update(&StrongCtx,source,entropy,length,data); } void randomize(void* buffer, unsigned int length){ if(!yarrow256_is_seeded(&StrongCtx)) yarrow256_random(&WeakCtx,length,(quint8*)buffer); else yarrow256_random(&StrongCtx,length,(quint8*)buffer); } void strongRandomize(void* buffer, unsigned int length){ Q_ASSERT(yarrow256_is_seeded(&StrongCtx)); for(uint i=0; il2*4){ yarrow256_update(&StrongCtx,0,100,100,buffer1); buffer1=buffer1+100; l1=l1-100; } else{ yarrow256_update(&StrongCtx,1,100,25,buffer2); buffer2=buffer2+25; l2=l2-25; } if(l1>l2*4){ yarrow256_update(&StrongCtx,0,160,160,buffer1); l1-=160; buffer1+=160; yarrow256_update(&StrongCtx,1,l1,l1,buffer1); yarrow256_update(&StrongCtx,1,4*l2,l2,buffer2); } else{ yarrow256_update(&StrongCtx,0,160,40,buffer2); l2-=40; buffer2+=40; yarrow256_update(&StrongCtx,1,l2*4,l2,buffer2); yarrow256_update(&StrongCtx,1,l1,l1,buffer1); } } keepassx-0.4.3/src/crypto/twoclass.h0000664000175000017500000000343510755333714016477 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 Tarek Saidi * * Copyright (c) 2003,2004 Dominik Reichl * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef ___TWOFISH_CLASS_H___ #define ___TWOFISH_CLASS_H___ #include "twofish.h" class CTwofish { public: CTwofish(); virtual ~CTwofish(); bool init(quint8 *pKey, unsigned long uKeyLen, quint8 *initVector = NULL); int padEncrypt(quint8 *pInput, int nInputOctets, quint8 *pOutBuffer); int padDecrypt(quint8 *pInput, int nInputOctets, quint8 *pOutBuffer); private: Twofish_key m_key; quint8 m_pInitVector[16]; }; #endif keepassx-0.4.3/src/crypto/sha256.cpp0000664000175000017500000002344511135161615016176 0ustar felixfelix/*************************************************************************** * Copyright (C) 2001-2003 by Christophe Devine * * Copyright (C) 2005-2006 by Tarek Saidi * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "sha256.h" #define GET_qquint32(n,b,i) \ { \ (n) = ( (quint32) (b)[(i) ] << 24 ) \ | ( (quint32) (b)[(i) + 1] << 16 ) \ | ( (quint32) (b)[(i) + 2] << 8 ) \ | ( (quint32) (b)[(i) + 3] ); \ } #define PUT_qquint32(n,b,i) \ { \ (b)[(i) ] = (quint8) ( (n) >> 24 ); \ (b)[(i) + 1] = (quint8) ( (n) >> 16 ); \ (b)[(i) + 2] = (quint8) ( (n) >> 8 ); \ (b)[(i) + 3] = (quint8) ( (n) ); \ } void SHA256::hashBuffer(const void* input, void* digest, quint32 length){ sha256_context ctx; sha256_starts(&ctx); sha256_update(&ctx,(quint8*)input,length); sha256_finish(&ctx,(quint8*)digest); overwriteCtx(&ctx); } void SHA256::overwriteCtx(sha256_context* ctx) { ctx->total[0] = 0; ctx->total[1] = 0; for (int i=0; i<8; i++) { ctx->state[i] = 0; } for (int i=0; i<8; i++) { ctx->buffer[i] = 0; } } void sha256_starts( sha256_context *ctx ) { ctx->total[0] = 0; ctx->total[1] = 0; ctx->state[0] = 0x6A09E667; ctx->state[1] = 0xBB67AE85; ctx->state[2] = 0x3C6EF372; ctx->state[3] = 0xA54FF53A; ctx->state[4] = 0x510E527F; ctx->state[5] = 0x9B05688C; ctx->state[6] = 0x1F83D9AB; ctx->state[7] = 0x5BE0CD19; } void sha256_process( sha256_context *ctx, const quint8 data[64] ) { quint32 temp1, temp2, W[64]; quint32 A, B, C, D, E, F, G, H; GET_qquint32( W[0], data, 0 ); GET_qquint32( W[1], data, 4 ); GET_qquint32( W[2], data, 8 ); GET_qquint32( W[3], data, 12 ); GET_qquint32( W[4], data, 16 ); GET_qquint32( W[5], data, 20 ); GET_qquint32( W[6], data, 24 ); GET_qquint32( W[7], data, 28 ); GET_qquint32( W[8], data, 32 ); GET_qquint32( W[9], data, 36 ); GET_qquint32( W[10], data, 40 ); GET_qquint32( W[11], data, 44 ); GET_qquint32( W[12], data, 48 ); GET_qquint32( W[13], data, 52 ); GET_qquint32( W[14], data, 56 ); GET_qquint32( W[15], data, 60 ); #define SHR(x,n) ((x & 0xFFFFFFFF) >> n) #define ROTR(x,n) (SHR(x,n) | (x << (32 - n))) #define S0(x) (ROTR(x, 7) ^ ROTR(x,18) ^ SHR(x, 3)) #define S1(x) (ROTR(x,17) ^ ROTR(x,19) ^ SHR(x,10)) #define S2(x) (ROTR(x, 2) ^ ROTR(x,13) ^ ROTR(x,22)) #define S3(x) (ROTR(x, 6) ^ ROTR(x,11) ^ ROTR(x,25)) #define F0(x,y,z) ((x & y) | (z & (x | y))) #define F1(x,y,z) (z ^ (x & (y ^ z))) #define R(t) \ ( \ W[t] = S1(W[t - 2]) + W[t - 7] + \ S0(W[t - 15]) + W[t - 16] \ ) #define P(a,b,c,d,e,f,g,h,x,K) \ { \ temp1 = h + S3(e) + F1(e,f,g) + K + x; \ temp2 = S2(a) + F0(a,b,c); \ d += temp1; h = temp1 + temp2; \ } A = ctx->state[0]; B = ctx->state[1]; C = ctx->state[2]; D = ctx->state[3]; E = ctx->state[4]; F = ctx->state[5]; G = ctx->state[6]; H = ctx->state[7]; P( A, B, C, D, E, F, G, H, W[ 0], 0x428A2F98 ); P( H, A, B, C, D, E, F, G, W[ 1], 0x71374491 ); P( G, H, A, B, C, D, E, F, W[ 2], 0xB5C0FBCF ); P( F, G, H, A, B, C, D, E, W[ 3], 0xE9B5DBA5 ); P( E, F, G, H, A, B, C, D, W[ 4], 0x3956C25B ); P( D, E, F, G, H, A, B, C, W[ 5], 0x59F111F1 ); P( C, D, E, F, G, H, A, B, W[ 6], 0x923F82A4 ); P( B, C, D, E, F, G, H, A, W[ 7], 0xAB1C5ED5 ); P( A, B, C, D, E, F, G, H, W[ 8], 0xD807AA98 ); P( H, A, B, C, D, E, F, G, W[ 9], 0x12835B01 ); P( G, H, A, B, C, D, E, F, W[10], 0x243185BE ); P( F, G, H, A, B, C, D, E, W[11], 0x550C7DC3 ); P( E, F, G, H, A, B, C, D, W[12], 0x72BE5D74 ); P( D, E, F, G, H, A, B, C, W[13], 0x80DEB1FE ); P( C, D, E, F, G, H, A, B, W[14], 0x9BDC06A7 ); P( B, C, D, E, F, G, H, A, W[15], 0xC19BF174 ); P( A, B, C, D, E, F, G, H, R(16), 0xE49B69C1 ); P( H, A, B, C, D, E, F, G, R(17), 0xEFBE4786 ); P( G, H, A, B, C, D, E, F, R(18), 0x0FC19DC6 ); P( F, G, H, A, B, C, D, E, R(19), 0x240CA1CC ); P( E, F, G, H, A, B, C, D, R(20), 0x2DE92C6F ); P( D, E, F, G, H, A, B, C, R(21), 0x4A7484AA ); P( C, D, E, F, G, H, A, B, R(22), 0x5CB0A9DC ); P( B, C, D, E, F, G, H, A, R(23), 0x76F988DA ); P( A, B, C, D, E, F, G, H, R(24), 0x983E5152 ); P( H, A, B, C, D, E, F, G, R(25), 0xA831C66D ); P( G, H, A, B, C, D, E, F, R(26), 0xB00327C8 ); P( F, G, H, A, B, C, D, E, R(27), 0xBF597FC7 ); P( E, F, G, H, A, B, C, D, R(28), 0xC6E00BF3 ); P( D, E, F, G, H, A, B, C, R(29), 0xD5A79147 ); P( C, D, E, F, G, H, A, B, R(30), 0x06CA6351 ); P( B, C, D, E, F, G, H, A, R(31), 0x14292967 ); P( A, B, C, D, E, F, G, H, R(32), 0x27B70A85 ); P( H, A, B, C, D, E, F, G, R(33), 0x2E1B2138 ); P( G, H, A, B, C, D, E, F, R(34), 0x4D2C6DFC ); P( F, G, H, A, B, C, D, E, R(35), 0x53380D13 ); P( E, F, G, H, A, B, C, D, R(36), 0x650A7354 ); P( D, E, F, G, H, A, B, C, R(37), 0x766A0ABB ); P( C, D, E, F, G, H, A, B, R(38), 0x81C2C92E ); P( B, C, D, E, F, G, H, A, R(39), 0x92722C85 ); P( A, B, C, D, E, F, G, H, R(40), 0xA2BFE8A1 ); P( H, A, B, C, D, E, F, G, R(41), 0xA81A664B ); P( G, H, A, B, C, D, E, F, R(42), 0xC24B8B70 ); P( F, G, H, A, B, C, D, E, R(43), 0xC76C51A3 ); P( E, F, G, H, A, B, C, D, R(44), 0xD192E819 ); P( D, E, F, G, H, A, B, C, R(45), 0xD6990624 ); P( C, D, E, F, G, H, A, B, R(46), 0xF40E3585 ); P( B, C, D, E, F, G, H, A, R(47), 0x106AA070 ); P( A, B, C, D, E, F, G, H, R(48), 0x19A4C116 ); P( H, A, B, C, D, E, F, G, R(49), 0x1E376C08 ); P( G, H, A, B, C, D, E, F, R(50), 0x2748774C ); P( F, G, H, A, B, C, D, E, R(51), 0x34B0BCB5 ); P( E, F, G, H, A, B, C, D, R(52), 0x391C0CB3 ); P( D, E, F, G, H, A, B, C, R(53), 0x4ED8AA4A ); P( C, D, E, F, G, H, A, B, R(54), 0x5B9CCA4F ); P( B, C, D, E, F, G, H, A, R(55), 0x682E6FF3 ); P( A, B, C, D, E, F, G, H, R(56), 0x748F82EE ); P( H, A, B, C, D, E, F, G, R(57), 0x78A5636F ); P( G, H, A, B, C, D, E, F, R(58), 0x84C87814 ); P( F, G, H, A, B, C, D, E, R(59), 0x8CC70208 ); P( E, F, G, H, A, B, C, D, R(60), 0x90BEFFFA ); P( D, E, F, G, H, A, B, C, R(61), 0xA4506CEB ); P( C, D, E, F, G, H, A, B, R(62), 0xBEF9A3F7 ); P( B, C, D, E, F, G, H, A, R(63), 0xC67178F2 ); ctx->state[0] += A; ctx->state[1] += B; ctx->state[2] += C; ctx->state[3] += D; ctx->state[4] += E; ctx->state[5] += F; ctx->state[6] += G; ctx->state[7] += H; } void sha256_update( sha256_context *ctx, const quint8 *input, quint32 length ) { quint32 left, fill; if( ! length ) return; left = ctx->total[0] & 0x3F; fill = 64 - left; ctx->total[0] += length; ctx->total[0] &= 0xFFFFFFFF; if( ctx->total[0] < length ) ctx->total[1]++; if( left && length >= fill ) { memcpy( (void *) (ctx->buffer + left), (void *) input, fill ); sha256_process( ctx, ctx->buffer ); length -= fill; input += fill; left = 0; } while( length >= 64 ) { sha256_process( ctx, input ); length -= 64; input += 64; } if( length ) { memcpy( (void *) (ctx->buffer + left), (void *) input, length ); } } static quint8 sha256_padding[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; void sha256_finish( sha256_context *ctx, quint8 digest[32] ) { quint32 last, padn; quint32 high, low; quint8 msglen[8]; high = ( ctx->total[0] >> 29 ) | ( ctx->total[1] << 3 ); low = ( ctx->total[0] << 3 ); PUT_qquint32( high, msglen, 0 ); PUT_qquint32( low, msglen, 4 ); last = ctx->total[0] & 0x3F; padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last ); sha256_update( ctx, sha256_padding, padn ); sha256_update( ctx, msglen, 8 ); PUT_qquint32( ctx->state[0], digest, 0 ); PUT_qquint32( ctx->state[1], digest, 4 ); PUT_qquint32( ctx->state[2], digest, 8 ); PUT_qquint32( ctx->state[3], digest, 12 ); PUT_qquint32( ctx->state[4], digest, 16 ); PUT_qquint32( ctx->state[5], digest, 20 ); PUT_qquint32( ctx->state[6], digest, 24 ); PUT_qquint32( ctx->state[7], digest, 28 ); } keepassx-0.4.3/src/crypto/arcfour.h0000664000175000017500000000214411130522144016256 0ustar felixfelix/* Copyright (C) 2003-2008 Dominik Reichl 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 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _ARCFOUR_H_ #define _ARCFOUR_H_ class CArcFour{ public: void encrypt(const quint8* src, quint8* dst, uint length); inline void decrypt(const quint8* src, quint8* dst, uint length){encrypt(src,dst,length);} //just for readability void setKey(quint8* key, uint length); private: quint8* RawKey; uint RawKeyLength; }; #endif keepassx-0.4.3/src/crypto/aes_endian.h0000664000175000017500000001256211044656751016730 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 */ #ifndef _BRG_ENDIAN_H #define _BRG_ENDIAN_H #define IS_BIG_ENDIAN 4321 /* byte 0 is most significant (mc68k) */ #define IS_LITTLE_ENDIAN 1234 /* byte 0 is least significant (i386) */ /* Include files where endian defines and byteswap functions may reside */ #if defined( __sun ) # include #elif defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __NetBSD__ ) # include #elif defined( BSD ) && ( BSD >= 199103 ) || defined( __APPLE__ ) || \ defined( __CYGWIN32__ ) || defined( __DJGPP__ ) || defined( __osf__ ) # include #elif defined( __linux__ ) || defined( __GNUC__ ) || defined( __GNU_LIBRARY__ ) # if !defined( __MINGW32__ ) && !defined( _AIX ) # include # if !defined( __BEOS__ ) # include # endif # endif #endif /* Now attempt to set the define for platform byte order using any */ /* of the four forms SYMBOL, _SYMBOL, __SYMBOL & __SYMBOL__, which */ /* seem to encompass most endian symbol definitions */ #if defined( BIG_ENDIAN ) && defined( LITTLE_ENDIAN ) # if defined( BYTE_ORDER ) && BYTE_ORDER == BIG_ENDIAN # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN # elif defined( BYTE_ORDER ) && BYTE_ORDER == LITTLE_ENDIAN # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN # endif #elif defined( BIG_ENDIAN ) # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN #elif defined( LITTLE_ENDIAN ) # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN #endif #if defined( _BIG_ENDIAN ) && defined( _LITTLE_ENDIAN ) # if defined( _BYTE_ORDER ) && _BYTE_ORDER == _BIG_ENDIAN # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN # elif defined( _BYTE_ORDER ) && _BYTE_ORDER == _LITTLE_ENDIAN # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN # endif #elif defined( _BIG_ENDIAN ) # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN #elif defined( _LITTLE_ENDIAN ) # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN #endif #if defined( __BIG_ENDIAN ) && defined( __LITTLE_ENDIAN ) # if defined( __BYTE_ORDER ) && __BYTE_ORDER == __BIG_ENDIAN # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN # elif defined( __BYTE_ORDER ) && __BYTE_ORDER == __LITTLE_ENDIAN # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN # endif #elif defined( __BIG_ENDIAN ) # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN #elif defined( __LITTLE_ENDIAN ) # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN #endif #if defined( __BIG_ENDIAN__ ) && defined( __LITTLE_ENDIAN__ ) # if defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __BIG_ENDIAN__ # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN # elif defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __LITTLE_ENDIAN__ # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN # endif #elif defined( __BIG_ENDIAN__ ) # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN #elif defined( __LITTLE_ENDIAN__ ) # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN #endif /* if the platform byte order could not be determined, then try to */ /* set this define using common machine defines */ #if !defined(PLATFORM_BYTE_ORDER) #if defined( __alpha__ ) || defined( __alpha ) || defined( i386 ) || \ defined( __i386__ ) || defined( _M_I86 ) || defined( _M_IX86 ) || \ defined( __OS2__ ) || defined( sun386 ) || defined( __TURBOC__ ) || \ defined( vax ) || defined( vms ) || defined( VMS ) || \ defined( __VMS ) || defined( _M_X64 ) # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN #elif defined( AMIGA ) || defined( applec ) || defined( __AS400__ ) || \ defined( _CRAY ) || defined( __hppa ) || defined( __hp9000 ) || \ defined( ibm370 ) || defined( mc68000 ) || defined( m68k ) || \ defined( __MRC__ ) || defined( __MVS__ ) || defined( __MWERKS__ ) || \ defined( sparc ) || defined( __sparc) || defined( SYMANTEC_C ) || \ defined( __VOS__ ) || defined( __TIGCC__ ) || defined( __TANDEM ) || \ defined( THINK_C ) || defined( __VMCMS__ ) || defined( _AIX ) # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN #elif 0 /* **** EDIT HERE IF NECESSARY **** */ # define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN #elif 0 /* **** EDIT HERE IF NECESSARY **** */ # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN #else # error Please edit lines 126 or 128 in brg_endian.h to set the platform byte order #endif #endif #endif keepassx-0.4.3/src/crypto/blowfish.h0000664000175000017500000001044011246011275016436 0ustar felixfelix /************************************************************************** * Implementation of the Blowfish chiper * * Derived from Libgcrypt * * * * Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. * * Copyright (C) 2003, 2004 by Michael Buesch * * Copyright (C) 2007 by Tarek Saidi * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef BLOWFISH_H #define BLOWFISH_H #include //#include #include using std::string; #define BLOWFISH_BLOCKSIZE 8 #define BLOWFISH_ROUNDS 16 #define CIPHER_ALGO_BLOWFISH 4 /* blowfish 128 bit key */ #define uint8_t quint8 #define uint16_t quint16 #define uint32_t quint32 #ifndef byte #define byte quint8 #endif /** blowfish encryption algorithm. * Derived from libgcrypt-1.1.12 */ class Blowfish { struct BLOWFISH_context { uint32_t s0[256]; uint32_t s1[256]; uint32_t s2[256]; uint32_t s3[256]; uint32_t p[BLOWFISH_ROUNDS+2]; }; public: Blowfish(); /** set key to encrypt. if return == 1, it is a weak key. */ int bf_setkey( byte *key, unsigned int keylen ); /** encrypt inbuf and return it in outbuf. * inbuf and outbuf have to be: buf % 8 == 0 * You may check this with getPaddedLen() and pad with NULL. */ int bf_encrypt( byte *outbuf, byte *inbuf, unsigned int inbuf_len ); /** decrypt inbuf and return it in outbuf. * inbuf and outbuf have to be: buf % 8 == 0 * You may check this with getPaddedLen() and pad with NULL. */ int bf_decrypt( byte *outbuf, byte *inbuf, unsigned int inbuf_len ); /** returns the length, the sting has to be padded to */ static unsigned int getPaddedLen(unsigned int inLen) { return ((8 - (inLen % 8)) + inLen); } /** pad up to 8 bytes. */ static void padNull(string *buf); /** remove padded data */ static bool unpadNull(string *buf); protected: #if BLOWFISH_ROUNDS != 16 uint32_t function_F( uint32_t x) { uint16_t a, b, c, d; #ifdef KEEPASS_BIG_ENDIAN a = ((byte *) & x)[0]; b = ((byte *) & x)[1]; c = ((byte *) & x)[2]; d = ((byte *) & x)[3]; #else a = ((byte *) & x)[3]; b = ((byte *) & x)[2]; c = ((byte *) & x)[1]; d = ((byte *) & x)[0]; #endif return ((bc.s0[a] + bc.s1[b]) ^ bc.s2[c]) + bc.s3[d]; } #endif void R(uint32_t &l, uint32_t &r, uint32_t i, uint32_t *p, uint32_t *s0, uint32_t *s1, uint32_t *s2, uint32_t *s3) { l ^= p[i]; #ifdef KEEPASS_BIG_ENDIAN r ^= (( s0[((byte*)&l)[0]] + s1[((byte*)&l)[1]]) ^ s2[((byte*)&l)[2]]) + s3[((byte*)&l)[3]]; #else r ^= (( s0[((byte*)&l)[3]] + s1[((byte*)&l)[2]]) ^ s2[((byte*)&l)[1]]) + s3[((byte*)&l)[0]]; #endif } void encrypt_block(byte *outbuf, byte *inbuf); void decrypt_block(byte *outbuf, byte *inbuf); void burn_stack(int bytes); void do_encrypt(uint32_t *ret_xl, uint32_t *ret_xr); void do_decrypt(uint32_t *ret_xl, uint32_t *ret_xr); void do_encrypt_block(byte *outbuf, byte *inbuf); void do_decrypt_block(byte *outbuf, byte *inbuf); int do_bf_setkey(byte *key, unsigned int keylen); protected: struct BLOWFISH_context bc; }; #endif keepassx-0.4.3/src/crypto/aestab.h0000664000175000017500000001263411134614757016101 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 This file contains the code for declaring the tables needed to implement AES. The file aesopt.h is assumed to be included before this header file. If there are no global variables, the definitions here can be used to put the AES tables in a structure so that a pointer can then be added to the AES context to pass them to the AES routines that need them. If this facility is used, the calling program has to ensure that this pointer is managed appropriately. In particular, the value of the t_dec(in,it) item in the table structure must be set to zero in order to ensure that the tables are initialised. In practice the three code sequences in aeskey.c that control the calls to aes_init() and the aes_init() routine itself will have to be changed for a specific implementation. If global variables are available it will generally be preferable to use them with the precomputed FIXED_TABLES option that uses static global tables. The following defines can be used to control the way the tables are defined, initialised and used in embedded environments that require special features for these purposes the 't_dec' construction is used to declare fixed table arrays the 't_set' construction is used to set fixed table values the 't_use' construction is used to access fixed table values 256 byte tables: t_xxx(s,box) => forward S box t_xxx(i,box) => inverse S box 256 32-bit word OR 4 x 256 32-bit word tables: t_xxx(f,n) => forward normal round t_xxx(f,l) => forward last round t_xxx(i,n) => inverse normal round t_xxx(i,l) => inverse last round t_xxx(l,s) => key schedule table t_xxx(i,m) => key schedule table Other variables and tables: t_xxx(r,c) => the rcon table */ #if !defined( _AESTAB_H ) #define _AESTAB_H #if defined(__cplusplus) extern "C" { #endif #define t_dec(m,n) t_##m##n #define t_set(m,n) t_##m##n #define t_use(m,n) t_##m##n #if defined(FIXED_TABLES) # if !defined( __GNUC__ ) && (defined( __MSDOS__ ) || defined( __WIN16__ )) /* make tables far data to avoid using too much DGROUP space (PG) */ # define CONST const far # else # define CONST const # endif #else # define CONST #endif #if defined(DO_TABLES) # define EXTERN #else # define EXTERN extern #endif #if defined(_MSC_VER) && defined(TABLE_ALIGN) #define ALIGN __declspec(align(TABLE_ALIGN)) #else #define ALIGN #endif #if defined( __WATCOMC__ ) && ( __WATCOMC__ >= 1100 ) # define XP_DIR __cdecl #else # define XP_DIR #endif #if defined(DO_TABLES) && defined(FIXED_TABLES) #define d_1(t,n,b,e) EXTERN ALIGN CONST XP_DIR t n[256] = b(e) #define d_4(t,n,b,e,f,g,h) EXTERN ALIGN CONST XP_DIR t n[4][256] = { b(e), b(f), b(g), b(h) } EXTERN ALIGN CONST uint_32t t_dec(r,c)[RC_LENGTH] = rc_data(w0); #else #define d_1(t,n,b,e) EXTERN ALIGN CONST XP_DIR t n[256] #define d_4(t,n,b,e,f,g,h) EXTERN ALIGN CONST XP_DIR t n[4][256] EXTERN ALIGN CONST uint_32t t_dec(r,c)[RC_LENGTH]; #endif #if defined( SBX_SET ) d_1(uint_8t, t_dec(s,box), sb_data, h0); #endif #if defined( ISB_SET ) d_1(uint_8t, t_dec(i,box), isb_data, h0); #endif #if defined( FT1_SET ) d_1(uint_32t, t_dec(f,n), sb_data, u0); #endif #if defined( FT4_SET ) d_4(uint_32t, t_dec(f,n), sb_data, u0, u1, u2, u3); #endif #if defined( FL1_SET ) d_1(uint_32t, t_dec(f,l), sb_data, w0); #endif #if defined( FL4_SET ) d_4(uint_32t, t_dec(f,l), sb_data, w0, w1, w2, w3); #endif #if defined( IT1_SET ) d_1(uint_32t, t_dec(i,n), isb_data, v0); #endif #if defined( IT4_SET ) d_4(uint_32t, t_dec(i,n), isb_data, v0, v1, v2, v3); #endif #if defined( IL1_SET ) d_1(uint_32t, t_dec(i,l), isb_data, w0); #endif #if defined( IL4_SET ) d_4(uint_32t, t_dec(i,l), isb_data, w0, w1, w2, w3); #endif #if defined( LS1_SET ) #if defined( FL1_SET ) #undef LS1_SET #else d_1(uint_32t, t_dec(l,s), sb_data, w0); #endif #endif #if defined( LS4_SET ) #if defined( FL4_SET ) #undef LS4_SET #else d_4(uint_32t, t_dec(l,s), sb_data, w0, w1, w2, w3); #endif #endif #if defined( IM1_SET ) d_1(uint_32t, t_dec(i,m), mm_data, v0); #endif #if defined( IM4_SET ) d_4(uint_32t, t_dec(i,m), mm_data, v0, v1, v2, v3); #endif #if defined(__cplusplus) } #endif #endif keepassx-0.4.3/src/crypto/aes_modes.c0000664000175000017500000007366011044656216016576 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 These subroutines implement multiple block AES modes for ECB, CBC, CFB, OFB and CTR encryption, The code provides support for the VIA Advanced Cryptography Engine (ACE). NOTE: In the following subroutines, the AES contexts (ctx) must be 16 byte aligned if VIA ACE is being used */ #include #include #include "aesopt.h" #if defined( AES_MODES ) #if defined(__cplusplus) extern "C" { #endif #if defined( _MSC_VER ) && ( _MSC_VER > 800 ) #pragma intrinsic(memcpy) #endif #define BFR_BLOCKS 8 /* These values are used to detect long word alignment in order to */ /* speed up some buffer operations. This facility may not work on */ /* some machines so this define can be commented out if necessary */ #define FAST_BUFFER_OPERATIONS #define lp32(x) ((uint_32t*)(x)) #if defined( USE_VIA_ACE_IF_PRESENT ) #include "aes_via_ace.h" #pragma pack(16) aligned_array(unsigned long, enc_gen_table, 12, 16) = NEH_ENC_GEN_DATA; aligned_array(unsigned long, enc_load_table, 12, 16) = NEH_ENC_LOAD_DATA; aligned_array(unsigned long, enc_hybrid_table, 12, 16) = NEH_ENC_HYBRID_DATA; aligned_array(unsigned long, dec_gen_table, 12, 16) = NEH_DEC_GEN_DATA; aligned_array(unsigned long, dec_load_table, 12, 16) = NEH_DEC_LOAD_DATA; aligned_array(unsigned long, dec_hybrid_table, 12, 16) = NEH_DEC_HYBRID_DATA; /* NOTE: These control word macros must only be used after */ /* a key has been set up because they depend on key size */ #if NEH_KEY_TYPE == NEH_LOAD #define kd_adr(c) ((uint_8t*)(c)->ks) #elif NEH_KEY_TYPE == NEH_GENERATE #define kd_adr(c) ((uint_8t*)(c)->ks + (c)->inf.b[0]) #else #define kd_adr(c) ((uint_8t*)(c)->ks + ((c)->inf.b[0] == 160 ? 160 : 0)) #endif #else #define aligned_array(type, name, no, stride) type name[no] #define aligned_auto(type, name, no, stride) type name[no] #endif #if defined( _MSC_VER ) && _MSC_VER > 1200 #define via_cwd(cwd, ty, dir, len) \ unsigned long* cwd = (dir##_##ty##_table + ((len - 128) >> 4)) #else #define via_cwd(cwd, ty, dir, len) \ aligned_auto(unsigned long, cwd, 4, 16); \ cwd[1] = cwd[2] = cwd[3] = 0; \ cwd[0] = neh_##dir##_##ty##_key(len) #endif /* test the code for detecting and setting pointer alignment */ AES_RETURN aes_test_alignment_detection(unsigned int n) /* 4 <= n <= 16 */ { uint_8t p[16]; uint_32t i, count_eq = 0, count_neq = 0; if(n < 4 || n > 16) return EXIT_FAILURE; for(i = 0; i < n; ++i) { uint_8t *qf = ALIGN_FLOOR(p + i, n), *qh = ALIGN_CEIL(p + i, n); if(qh == qf) ++count_eq; else if(qh == qf + n) ++count_neq; else return EXIT_FAILURE; } return (count_eq != 1 || count_neq != n - 1 ? EXIT_FAILURE : EXIT_SUCCESS); } AES_RETURN aes_mode_reset(aes_encrypt_ctx ctx[1]) { ctx->inf.b[2] = 0; return EXIT_SUCCESS; } AES_RETURN aes_ecb_encrypt(const unsigned char *ibuf, unsigned char *obuf, int len, const aes_encrypt_ctx ctx[1]) { int nb = len >> 4; if(len & (AES_BLOCK_SIZE - 1)) return EXIT_FAILURE; #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { uint_8t *ksp = (uint_8t*)(ctx->ks); via_cwd(cwd, hybrid, enc, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 )) { via_ecb_op5(ksp,cwd,ibuf,obuf,nb); } else { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { int m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb); ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_ecb_op5(ksp,cwd,ip,op,m); if(op != obuf) memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; nb -= m; } } return EXIT_SUCCESS; } #endif #if !defined( ASSUME_VIA_ACE_PRESENT ) while(nb--) { if(aes_encrypt(ibuf, obuf, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } #endif return EXIT_SUCCESS; } AES_RETURN aes_ecb_decrypt(const unsigned char *ibuf, unsigned char *obuf, int len, const aes_decrypt_ctx ctx[1]) { int nb = len >> 4; if(len & (AES_BLOCK_SIZE - 1)) return EXIT_FAILURE; #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { uint_8t *ksp = kd_adr(ctx); via_cwd(cwd, hybrid, dec, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 )) { via_ecb_op5(ksp,cwd,ibuf,obuf,nb); } else { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { int m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb); ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_ecb_op5(ksp,cwd,ip,op,m); if(op != obuf) memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; nb -= m; } } return EXIT_SUCCESS; } #endif #if !defined( ASSUME_VIA_ACE_PRESENT ) while(nb--) { if(aes_decrypt(ibuf, obuf, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } #endif return EXIT_SUCCESS; } AES_RETURN aes_cbc_encrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, const aes_encrypt_ctx ctx[1]) { int nb = len >> 4; if(len & (AES_BLOCK_SIZE - 1)) return EXIT_FAILURE; #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { uint_8t *ksp = (uint_8t*)(ctx->ks), *ivp = iv; aligned_auto(uint_8t, liv, AES_BLOCK_SIZE, 16); via_cwd(cwd, hybrid, enc, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(ALIGN_OFFSET( iv, 16 )) /* ensure an aligned iv */ { ivp = liv; memcpy(liv, iv, AES_BLOCK_SIZE); } if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 ) && !ALIGN_OFFSET( iv, 16 )) { via_cbc_op7(ksp,cwd,ibuf,obuf,nb,ivp,ivp); } else { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { int m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb); ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_cbc_op7(ksp,cwd,ip,op,m,ivp,ivp); if(op != obuf) memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; nb -= m; } } if(iv != ivp) memcpy(iv, ivp, AES_BLOCK_SIZE); return EXIT_SUCCESS; } #endif #if !defined( ASSUME_VIA_ACE_PRESENT ) # ifdef FAST_BUFFER_OPERATIONS if(!ALIGN_OFFSET( ibuf, 4 ) && !ALIGN_OFFSET( iv, 4 )) while(nb--) { lp32(iv)[0] ^= lp32(ibuf)[0]; lp32(iv)[1] ^= lp32(ibuf)[1]; lp32(iv)[2] ^= lp32(ibuf)[2]; lp32(iv)[3] ^= lp32(ibuf)[3]; if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; memcpy(obuf, iv, AES_BLOCK_SIZE); ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } else # endif while(nb--) { iv[ 0] ^= ibuf[ 0]; iv[ 1] ^= ibuf[ 1]; iv[ 2] ^= ibuf[ 2]; iv[ 3] ^= ibuf[ 3]; iv[ 4] ^= ibuf[ 4]; iv[ 5] ^= ibuf[ 5]; iv[ 6] ^= ibuf[ 6]; iv[ 7] ^= ibuf[ 7]; iv[ 8] ^= ibuf[ 8]; iv[ 9] ^= ibuf[ 9]; iv[10] ^= ibuf[10]; iv[11] ^= ibuf[11]; iv[12] ^= ibuf[12]; iv[13] ^= ibuf[13]; iv[14] ^= ibuf[14]; iv[15] ^= ibuf[15]; if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; memcpy(obuf, iv, AES_BLOCK_SIZE); ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } #endif return EXIT_SUCCESS; } AES_RETURN aes_cbc_decrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, const aes_decrypt_ctx ctx[1]) { unsigned char tmp[AES_BLOCK_SIZE]; int nb = len >> 4; if(len & (AES_BLOCK_SIZE - 1)) return EXIT_FAILURE; #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { uint_8t *ksp = kd_adr(ctx), *ivp = iv; aligned_auto(uint_8t, liv, AES_BLOCK_SIZE, 16); via_cwd(cwd, hybrid, dec, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(ALIGN_OFFSET( iv, 16 )) /* ensure an aligned iv */ { ivp = liv; memcpy(liv, iv, AES_BLOCK_SIZE); } if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 ) && !ALIGN_OFFSET( iv, 16 )) { via_cbc_op6(ksp,cwd,ibuf,obuf,nb,ivp); } else { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { int m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb); ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_cbc_op6(ksp,cwd,ip,op,m,ivp); if(op != obuf) memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; nb -= m; } } if(iv != ivp) memcpy(iv, ivp, AES_BLOCK_SIZE); return EXIT_SUCCESS; } #endif #if !defined( ASSUME_VIA_ACE_PRESENT ) # ifdef FAST_BUFFER_OPERATIONS if(!ALIGN_OFFSET( obuf, 4 ) && !ALIGN_OFFSET( iv, 4 )) while(nb--) { memcpy(tmp, ibuf, AES_BLOCK_SIZE); if(aes_decrypt(ibuf, obuf, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; lp32(obuf)[0] ^= lp32(iv)[0]; lp32(obuf)[1] ^= lp32(iv)[1]; lp32(obuf)[2] ^= lp32(iv)[2]; lp32(obuf)[3] ^= lp32(iv)[3]; memcpy(iv, tmp, AES_BLOCK_SIZE); ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } else # endif while(nb--) { memcpy(tmp, ibuf, AES_BLOCK_SIZE); if(aes_decrypt(ibuf, obuf, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; obuf[ 0] ^= iv[ 0]; obuf[ 1] ^= iv[ 1]; obuf[ 2] ^= iv[ 2]; obuf[ 3] ^= iv[ 3]; obuf[ 4] ^= iv[ 4]; obuf[ 5] ^= iv[ 5]; obuf[ 6] ^= iv[ 6]; obuf[ 7] ^= iv[ 7]; obuf[ 8] ^= iv[ 8]; obuf[ 9] ^= iv[ 9]; obuf[10] ^= iv[10]; obuf[11] ^= iv[11]; obuf[12] ^= iv[12]; obuf[13] ^= iv[13]; obuf[14] ^= iv[14]; obuf[15] ^= iv[15]; memcpy(iv, tmp, AES_BLOCK_SIZE); ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } #endif return EXIT_SUCCESS; } AES_RETURN aes_cfb_encrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, aes_encrypt_ctx ctx[1]) { int cnt = 0, b_pos = (int)ctx->inf.b[2], nb; if(b_pos) /* complete any partial block */ { while(b_pos < AES_BLOCK_SIZE && cnt < len) *obuf++ = iv[b_pos++] ^= *ibuf++, cnt++; b_pos = (b_pos == AES_BLOCK_SIZE ? 0 : b_pos); } if((nb = (len - cnt) >> 4) != 0) /* process whole blocks */ { #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { int m; uint_8t *ksp = (uint_8t*)(ctx->ks), *ivp = iv; aligned_auto(uint_8t, liv, AES_BLOCK_SIZE, 16); via_cwd(cwd, hybrid, enc, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(ALIGN_OFFSET( iv, 16 )) /* ensure an aligned iv */ { ivp = liv; memcpy(liv, iv, AES_BLOCK_SIZE); } if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 )) { via_cfb_op7(ksp, cwd, ibuf, obuf, nb, ivp, ivp); ibuf += nb * AES_BLOCK_SIZE; obuf += nb * AES_BLOCK_SIZE; cnt += nb * AES_BLOCK_SIZE; } else /* input, output or both are unaligned */ { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb), nb -= m; ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_cfb_op7(ksp, cwd, ip, op, m, ivp, ivp); if(op != obuf) memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; cnt += m * AES_BLOCK_SIZE; } } if(ivp != iv) memcpy(iv, ivp, AES_BLOCK_SIZE); } #else # ifdef FAST_BUFFER_OPERATIONS if(!ALIGN_OFFSET( ibuf, 4 ) && !ALIGN_OFFSET( obuf, 4 ) && !ALIGN_OFFSET( iv, 4 )) while(cnt + AES_BLOCK_SIZE <= len) { assert(b_pos == 0); if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; lp32(obuf)[0] = lp32(iv)[0] ^= lp32(ibuf)[0]; lp32(obuf)[1] = lp32(iv)[1] ^= lp32(ibuf)[1]; lp32(obuf)[2] = lp32(iv)[2] ^= lp32(ibuf)[2]; lp32(obuf)[3] = lp32(iv)[3] ^= lp32(ibuf)[3]; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; cnt += AES_BLOCK_SIZE; } else # endif while(cnt + AES_BLOCK_SIZE <= len) { assert(b_pos == 0); if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; obuf[ 0] = iv[ 0] ^= ibuf[ 0]; obuf[ 1] = iv[ 1] ^= ibuf[ 1]; obuf[ 2] = iv[ 2] ^= ibuf[ 2]; obuf[ 3] = iv[ 3] ^= ibuf[ 3]; obuf[ 4] = iv[ 4] ^= ibuf[ 4]; obuf[ 5] = iv[ 5] ^= ibuf[ 5]; obuf[ 6] = iv[ 6] ^= ibuf[ 6]; obuf[ 7] = iv[ 7] ^= ibuf[ 7]; obuf[ 8] = iv[ 8] ^= ibuf[ 8]; obuf[ 9] = iv[ 9] ^= ibuf[ 9]; obuf[10] = iv[10] ^= ibuf[10]; obuf[11] = iv[11] ^= ibuf[11]; obuf[12] = iv[12] ^= ibuf[12]; obuf[13] = iv[13] ^= ibuf[13]; obuf[14] = iv[14] ^= ibuf[14]; obuf[15] = iv[15] ^= ibuf[15]; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; cnt += AES_BLOCK_SIZE; } #endif } while(cnt < len) { if(!b_pos && aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; while(cnt < len && b_pos < AES_BLOCK_SIZE) *obuf++ = iv[b_pos++] ^= *ibuf++, cnt++; b_pos = (b_pos == AES_BLOCK_SIZE ? 0 : b_pos); } ctx->inf.b[2] = b_pos; return EXIT_SUCCESS; } AES_RETURN aes_cfb_decrypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, aes_encrypt_ctx ctx[1]) { int cnt = 0, b_pos = (int)ctx->inf.b[2], nb; if(b_pos) /* complete any partial block */ { uint_8t t; while(b_pos < AES_BLOCK_SIZE && cnt < len) t = *ibuf++, *obuf++ = t ^ iv[b_pos], iv[b_pos++] = t, cnt++; b_pos = (b_pos == AES_BLOCK_SIZE ? 0 : b_pos); } if((nb = (len - cnt) >> 4) != 0) /* process whole blocks */ { #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { int m; uint_8t *ksp = (uint_8t*)(ctx->ks), *ivp = iv; aligned_auto(uint_8t, liv, AES_BLOCK_SIZE, 16); via_cwd(cwd, hybrid, dec, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(ALIGN_OFFSET( iv, 16 )) /* ensure an aligned iv */ { ivp = liv; memcpy(liv, iv, AES_BLOCK_SIZE); } if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 )) { via_cfb_op6(ksp, cwd, ibuf, obuf, nb, ivp); ibuf += nb * AES_BLOCK_SIZE; obuf += nb * AES_BLOCK_SIZE; cnt += nb * AES_BLOCK_SIZE; } else /* input, output or both are unaligned */ { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb), nb -= m; ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) /* input buffer is not aligned */ memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_cfb_op6(ksp, cwd, ip, op, m, ivp); if(op != obuf) /* output buffer is not aligned */ memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; cnt += m * AES_BLOCK_SIZE; } } if(ivp != iv) memcpy(iv, ivp, AES_BLOCK_SIZE); } #else # ifdef FAST_BUFFER_OPERATIONS if(!ALIGN_OFFSET( ibuf, 4 ) && !ALIGN_OFFSET( obuf, 4 ) &&!ALIGN_OFFSET( iv, 4 )) while(cnt + AES_BLOCK_SIZE <= len) { uint_32t t; assert(b_pos == 0); if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; t = lp32(ibuf)[0], lp32(obuf)[0] = t ^ lp32(iv)[0], lp32(iv)[0] = t; t = lp32(ibuf)[1], lp32(obuf)[1] = t ^ lp32(iv)[1], lp32(iv)[1] = t; t = lp32(ibuf)[2], lp32(obuf)[2] = t ^ lp32(iv)[2], lp32(iv)[2] = t; t = lp32(ibuf)[3], lp32(obuf)[3] = t ^ lp32(iv)[3], lp32(iv)[3] = t; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; cnt += AES_BLOCK_SIZE; } else # endif while(cnt + AES_BLOCK_SIZE <= len) { uint_8t t; assert(b_pos == 0); if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; t = ibuf[ 0], obuf[ 0] = t ^ iv[ 0], iv[ 0] = t; t = ibuf[ 1], obuf[ 1] = t ^ iv[ 1], iv[ 1] = t; t = ibuf[ 2], obuf[ 2] = t ^ iv[ 2], iv[ 2] = t; t = ibuf[ 3], obuf[ 3] = t ^ iv[ 3], iv[ 3] = t; t = ibuf[ 4], obuf[ 4] = t ^ iv[ 4], iv[ 4] = t; t = ibuf[ 5], obuf[ 5] = t ^ iv[ 5], iv[ 5] = t; t = ibuf[ 6], obuf[ 6] = t ^ iv[ 6], iv[ 6] = t; t = ibuf[ 7], obuf[ 7] = t ^ iv[ 7], iv[ 7] = t; t = ibuf[ 8], obuf[ 8] = t ^ iv[ 8], iv[ 8] = t; t = ibuf[ 9], obuf[ 9] = t ^ iv[ 9], iv[ 9] = t; t = ibuf[10], obuf[10] = t ^ iv[10], iv[10] = t; t = ibuf[11], obuf[11] = t ^ iv[11], iv[11] = t; t = ibuf[12], obuf[12] = t ^ iv[12], iv[12] = t; t = ibuf[13], obuf[13] = t ^ iv[13], iv[13] = t; t = ibuf[14], obuf[14] = t ^ iv[14], iv[14] = t; t = ibuf[15], obuf[15] = t ^ iv[15], iv[15] = t; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; cnt += AES_BLOCK_SIZE; } #endif } while(cnt < len) { uint_8t t; if(!b_pos && aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; while(cnt < len && b_pos < AES_BLOCK_SIZE) t = *ibuf++, *obuf++ = t ^ iv[b_pos], iv[b_pos++] = t, cnt++; b_pos = (b_pos == AES_BLOCK_SIZE ? 0 : b_pos); } ctx->inf.b[2] = b_pos; return EXIT_SUCCESS; } AES_RETURN aes_ofb_crypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *iv, aes_encrypt_ctx ctx[1]) { int cnt = 0, b_pos = (int)ctx->inf.b[2], nb; if(b_pos) /* complete any partial block */ { while(b_pos < AES_BLOCK_SIZE && cnt < len) *obuf++ = iv[b_pos++] ^ *ibuf++, cnt++; b_pos = (b_pos == AES_BLOCK_SIZE ? 0 : b_pos); } if((nb = (len - cnt) >> 4) != 0) /* process whole blocks */ { #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { int m; uint_8t *ksp = (uint_8t*)(ctx->ks), *ivp = iv; aligned_auto(uint_8t, liv, AES_BLOCK_SIZE, 16); via_cwd(cwd, hybrid, enc, 2 * ctx->inf.b[0] - 192); if(ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; if(ALIGN_OFFSET( iv, 16 )) /* ensure an aligned iv */ { ivp = liv; memcpy(liv, iv, AES_BLOCK_SIZE); } if(!ALIGN_OFFSET( ibuf, 16 ) && !ALIGN_OFFSET( obuf, 16 )) { via_ofb_op6(ksp, cwd, ibuf, obuf, nb, ivp); ibuf += nb * AES_BLOCK_SIZE; obuf += nb * AES_BLOCK_SIZE; cnt += nb * AES_BLOCK_SIZE; } else /* input, output or both are unaligned */ { aligned_auto(uint_8t, buf, BFR_BLOCKS * AES_BLOCK_SIZE, 16); uint_8t *ip, *op; while(nb) { m = (nb > BFR_BLOCKS ? BFR_BLOCKS : nb), nb -= m; ip = (ALIGN_OFFSET( ibuf, 16 ) ? buf : ibuf); op = (ALIGN_OFFSET( obuf, 16 ) ? buf : obuf); if(ip != ibuf) memcpy(buf, ibuf, m * AES_BLOCK_SIZE); via_ofb_op6(ksp, cwd, ip, op, m, ivp); if(op != obuf) memcpy(obuf, buf, m * AES_BLOCK_SIZE); ibuf += m * AES_BLOCK_SIZE; obuf += m * AES_BLOCK_SIZE; cnt += m * AES_BLOCK_SIZE; } } if(ivp != iv) memcpy(iv, ivp, AES_BLOCK_SIZE); } #else # ifdef FAST_BUFFER_OPERATIONS if(!ALIGN_OFFSET( ibuf, 4 ) && !ALIGN_OFFSET( obuf, 4 ) && !ALIGN_OFFSET( iv, 4 )) while(cnt + AES_BLOCK_SIZE <= len) { assert(b_pos == 0); if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; lp32(obuf)[0] = lp32(iv)[0] ^ lp32(ibuf)[0]; lp32(obuf)[1] = lp32(iv)[1] ^ lp32(ibuf)[1]; lp32(obuf)[2] = lp32(iv)[2] ^ lp32(ibuf)[2]; lp32(obuf)[3] = lp32(iv)[3] ^ lp32(ibuf)[3]; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; cnt += AES_BLOCK_SIZE; } else # endif while(cnt + AES_BLOCK_SIZE <= len) { assert(b_pos == 0); if(aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; obuf[ 0] = iv[ 0] ^ ibuf[ 0]; obuf[ 1] = iv[ 1] ^ ibuf[ 1]; obuf[ 2] = iv[ 2] ^ ibuf[ 2]; obuf[ 3] = iv[ 3] ^ ibuf[ 3]; obuf[ 4] = iv[ 4] ^ ibuf[ 4]; obuf[ 5] = iv[ 5] ^ ibuf[ 5]; obuf[ 6] = iv[ 6] ^ ibuf[ 6]; obuf[ 7] = iv[ 7] ^ ibuf[ 7]; obuf[ 8] = iv[ 8] ^ ibuf[ 8]; obuf[ 9] = iv[ 9] ^ ibuf[ 9]; obuf[10] = iv[10] ^ ibuf[10]; obuf[11] = iv[11] ^ ibuf[11]; obuf[12] = iv[12] ^ ibuf[12]; obuf[13] = iv[13] ^ ibuf[13]; obuf[14] = iv[14] ^ ibuf[14]; obuf[15] = iv[15] ^ ibuf[15]; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; cnt += AES_BLOCK_SIZE; } #endif } while(cnt < len) { if(!b_pos && aes_encrypt(iv, iv, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; while(cnt < len && b_pos < AES_BLOCK_SIZE) *obuf++ = iv[b_pos++] ^ *ibuf++, cnt++; b_pos = (b_pos == AES_BLOCK_SIZE ? 0 : b_pos); } ctx->inf.b[2] = b_pos; return EXIT_SUCCESS; } #define BFR_LENGTH (BFR_BLOCKS * AES_BLOCK_SIZE) AES_RETURN aes_ctr_crypt(const unsigned char *ibuf, unsigned char *obuf, int len, unsigned char *cbuf, cbuf_inc ctr_inc, aes_encrypt_ctx ctx[1]) { uint_8t *ip; int i, blen, b_pos = (int)(ctx->inf.b[2]); #if defined( USE_VIA_ACE_IF_PRESENT ) aligned_auto(uint_8t, buf, BFR_LENGTH, 16); if(ctx->inf.b[1] == 0xff && ALIGN_OFFSET( ctx, 16 )) return EXIT_FAILURE; #else uint_8t buf[BFR_LENGTH]; #endif if(b_pos) { memcpy(buf, cbuf, AES_BLOCK_SIZE); if(aes_ecb_encrypt(buf, buf, AES_BLOCK_SIZE, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; while(b_pos < AES_BLOCK_SIZE && len) *obuf++ = *ibuf++ ^ buf[b_pos++], --len; if(len) ctr_inc(cbuf), b_pos = 0; } while(len) { blen = (len > BFR_LENGTH ? BFR_LENGTH : len), len -= blen; for(i = 0, ip = buf; i < (blen >> 4); ++i) { memcpy(ip, cbuf, AES_BLOCK_SIZE); ctr_inc(cbuf); ip += AES_BLOCK_SIZE; } if(blen & (AES_BLOCK_SIZE - 1)) memcpy(ip, cbuf, AES_BLOCK_SIZE), i++; #if defined( USE_VIA_ACE_IF_PRESENT ) if(ctx->inf.b[1] == 0xff) { via_cwd(cwd, hybrid, enc, 2 * ctx->inf.b[0] - 192); via_ecb_op5((ctx->ks),cwd,buf,buf,i); } else #endif if(aes_ecb_encrypt(buf, buf, i * AES_BLOCK_SIZE, ctx) != EXIT_SUCCESS) return EXIT_FAILURE; i = 0; ip = buf; # ifdef FAST_BUFFER_OPERATIONS if(!ALIGN_OFFSET( ibuf, 4 ) && !ALIGN_OFFSET( obuf, 4 ) && !ALIGN_OFFSET( ip, 4 )) while(i + AES_BLOCK_SIZE <= blen) { lp32(obuf)[0] = lp32(ibuf)[0] ^ lp32(ip)[0]; lp32(obuf)[1] = lp32(ibuf)[1] ^ lp32(ip)[1]; lp32(obuf)[2] = lp32(ibuf)[2] ^ lp32(ip)[2]; lp32(obuf)[3] = lp32(ibuf)[3] ^ lp32(ip)[3]; i += AES_BLOCK_SIZE; ip += AES_BLOCK_SIZE; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } else #endif while(i + AES_BLOCK_SIZE <= blen) { obuf[ 0] = ibuf[ 0] ^ ip[ 0]; obuf[ 1] = ibuf[ 1] ^ ip[ 1]; obuf[ 2] = ibuf[ 2] ^ ip[ 2]; obuf[ 3] = ibuf[ 3] ^ ip[ 3]; obuf[ 4] = ibuf[ 4] ^ ip[ 4]; obuf[ 5] = ibuf[ 5] ^ ip[ 5]; obuf[ 6] = ibuf[ 6] ^ ip[ 6]; obuf[ 7] = ibuf[ 7] ^ ip[ 7]; obuf[ 8] = ibuf[ 8] ^ ip[ 8]; obuf[ 9] = ibuf[ 9] ^ ip[ 9]; obuf[10] = ibuf[10] ^ ip[10]; obuf[11] = ibuf[11] ^ ip[11]; obuf[12] = ibuf[12] ^ ip[12]; obuf[13] = ibuf[13] ^ ip[13]; obuf[14] = ibuf[14] ^ ip[14]; obuf[15] = ibuf[15] ^ ip[15]; i += AES_BLOCK_SIZE; ip += AES_BLOCK_SIZE; ibuf += AES_BLOCK_SIZE; obuf += AES_BLOCK_SIZE; } while(i++ < blen) *obuf++ = *ibuf++ ^ ip[b_pos++]; } ctx->inf.b[2] = b_pos; return EXIT_SUCCESS; } #if defined(__cplusplus) } #endif #endif keepassx-0.4.3/src/crypto/blowfish.cpp0000664000175000017500000005133510771025634017007 0ustar felixfelix /************************************************************************** * Implementation of the Blowfish chiper * * Derived from Libgcrypt * * * * Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc. * * Copyright (C) 2003 by Michael Buesch * * Copyright (C) 2007 by Tarek Saidi * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ /* Test values: * key "abcdefghijklmnopqrstuvwxyz"; * plain "BLOWFISH" * cipher 32 4E D0 FE F4 13 A2 03 * */ #include #include #include "blowfish.h" /* precomputed S boxes */ static const uint32_t ks0[256] = { 0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, 0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16, 0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E, 0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE, 0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013, 0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF, 0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E, 0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60, 0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440, 0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE, 0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A, 0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E, 0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677, 0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193, 0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032, 0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88, 0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239, 0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E, 0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0, 0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3, 0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98, 0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88, 0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE, 0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6, 0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D, 0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B, 0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7, 0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA, 0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463, 0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F, 0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09, 0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3, 0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB, 0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279, 0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8, 0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB, 0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82, 0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB, 0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573, 0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0, 0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B, 0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790, 0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8, 0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4, 0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0, 0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7, 0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C, 0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD, 0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1, 0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299, 0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9, 0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477, 0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF, 0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49, 0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF, 0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA, 0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5, 0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41, 0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915, 0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400, 0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915, 0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664, 0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A }; static const uint32_t ks1[256] = { 0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623, 0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266, 0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1, 0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E, 0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6, 0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1, 0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E, 0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1, 0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737, 0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8, 0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF, 0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD, 0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701, 0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7, 0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41, 0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331, 0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF, 0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF, 0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E, 0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87, 0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C, 0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2, 0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16, 0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD, 0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B, 0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509, 0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E, 0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3, 0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F, 0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A, 0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4, 0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960, 0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66, 0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28, 0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802, 0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84, 0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510, 0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF, 0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14, 0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E, 0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50, 0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7, 0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8, 0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281, 0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99, 0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696, 0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128, 0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73, 0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0, 0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0, 0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105, 0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250, 0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3, 0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285, 0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00, 0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061, 0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB, 0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E, 0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735, 0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC, 0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9, 0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340, 0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20, 0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7 }; static const uint32_t ks2[256] = { 0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934, 0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068, 0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF, 0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840, 0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45, 0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504, 0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A, 0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB, 0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE, 0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6, 0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42, 0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B, 0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2, 0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB, 0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527, 0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B, 0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33, 0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C, 0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3, 0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC, 0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17, 0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564, 0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B, 0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115, 0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922, 0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728, 0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0, 0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E, 0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37, 0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D, 0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804, 0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B, 0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3, 0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB, 0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D, 0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C, 0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350, 0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9, 0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A, 0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE, 0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D, 0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC, 0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F, 0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61, 0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2, 0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9, 0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2, 0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C, 0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E, 0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633, 0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10, 0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169, 0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52, 0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027, 0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5, 0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62, 0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634, 0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76, 0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24, 0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC, 0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4, 0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C, 0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837, 0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0 }; static const uint32_t ks3[256] = { 0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B, 0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE, 0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B, 0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4, 0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8, 0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6, 0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304, 0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22, 0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4, 0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6, 0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9, 0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59, 0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593, 0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51, 0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28, 0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C, 0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B, 0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28, 0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C, 0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD, 0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A, 0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319, 0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB, 0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F, 0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991, 0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32, 0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680, 0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166, 0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE, 0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB, 0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5, 0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47, 0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370, 0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D, 0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84, 0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048, 0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8, 0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD, 0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9, 0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7, 0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38, 0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F, 0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C, 0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525, 0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1, 0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442, 0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964, 0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E, 0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8, 0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D, 0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F, 0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299, 0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02, 0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC, 0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614, 0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A, 0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6, 0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B, 0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0, 0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060, 0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E, 0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9, 0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F, 0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6 }; static const uint32_t ps[BLOWFISH_ROUNDS + 2] = { 0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, 0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C, 0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917, 0x9216D5D9, 0x8979FB1B }; Blowfish::Blowfish() { } void Blowfish::burn_stack(int bytes) { char buf[64]; memset(buf, 0, sizeof buf); bytes -= sizeof buf; if (bytes > 0) burn_stack(bytes); } void Blowfish::do_encrypt(uint32_t * ret_xl, uint32_t * ret_xr) { #if BLOWFISH_ROUNDS == 16 uint32_t xl, xr, *s0, *s1, *s2, *s3, *p; xl = *ret_xl; xr = *ret_xr; p = bc.p; s0 = bc.s0; s1 = bc.s1; s2 = bc.s2; s3 = bc.s3; R(xl, xr, 0, p, s0, s1, s2, s3); R(xr, xl, 1, p, s0, s1, s2, s3); R(xl, xr, 2, p, s0, s1, s2, s3); R(xr, xl, 3, p, s0, s1, s2, s3); R(xl, xr, 4, p, s0, s1, s2, s3); R(xr, xl, 5, p, s0, s1, s2, s3); R(xl, xr, 6, p, s0, s1, s2, s3); R(xr, xl, 7, p, s0, s1, s2, s3); R(xl, xr, 8, p, s0, s1, s2, s3); R(xr, xl, 9, p, s0, s1, s2, s3); R(xl, xr, 10, p, s0, s1, s2, s3); R(xr, xl, 11, p, s0, s1, s2, s3); R(xl, xr, 12, p, s0, s1, s2, s3); R(xr, xl, 13, p, s0, s1, s2, s3); R(xl, xr, 14, p, s0, s1, s2, s3); R(xr, xl, 15, p, s0, s1, s2, s3); xl ^= p[BLOWFISH_ROUNDS]; xr ^= p[BLOWFISH_ROUNDS + 1]; *ret_xl = xr; *ret_xr = xl; #else uint32_t xl, xr, temp, *p; int i; xl = *ret_xl; xr = *ret_xr; p = bc.p; for (i = 0; i < BLOWFISH_ROUNDS; i++) { xl ^= p[i]; xr ^= function_F(xl); temp = xl; xl = xr; xr = temp; } temp = xl; xl = xr; xr = temp; xr ^= p[BLOWFISH_ROUNDS]; xl ^= p[BLOWFISH_ROUNDS + 1]; *ret_xl = xl; *ret_xr = xr; #endif } void Blowfish::do_decrypt(uint32_t * ret_xl, uint32_t * ret_xr) { #if BLOWFISH_ROUNDS == 16 uint32_t xl, xr, *s0, *s1, *s2, *s3, *p; xl = *ret_xl; xr = *ret_xr; p = bc.p; s0 = bc.s0; s1 = bc.s1; s2 = bc.s2; s3 = bc.s3; R(xl, xr, 17, p, s0, s1, s2, s3); R(xr, xl, 16, p, s0, s1, s2, s3); R(xl, xr, 15, p, s0, s1, s2, s3); R(xr, xl, 14, p, s0, s1, s2, s3); R(xl, xr, 13, p, s0, s1, s2, s3); R(xr, xl, 12, p, s0, s1, s2, s3); R(xl, xr, 11, p, s0, s1, s2, s3); R(xr, xl, 10, p, s0, s1, s2, s3); R(xl, xr, 9, p, s0, s1, s2, s3); R(xr, xl, 8, p, s0, s1, s2, s3); R(xl, xr, 7, p, s0, s1, s2, s3); R(xr, xl, 6, p, s0, s1, s2, s3); R(xl, xr, 5, p, s0, s1, s2, s3); R(xr, xl, 4, p, s0, s1, s2, s3); R(xl, xr, 3, p, s0, s1, s2, s3); R(xr, xl, 2, p, s0, s1, s2, s3); xl ^= p[1]; xr ^= p[0]; *ret_xl = xr; *ret_xr = xl; #else uint32_t xl, xr, temp, *p; int i; xl = *ret_xl; xr = *ret_xr; p = bc.p; for (i = BLOWFISH_ROUNDS + 1; i > 1; i--) { xl ^= p[i]; xr ^= function_F(xl); temp = xl; xl = xr; xr = temp; } temp = xl; xl = xr; xr = temp; xr ^= p[1]; xl ^= p[0]; *ret_xl = xl; *ret_xr = xr; #endif } void Blowfish::do_encrypt_block(byte * outbuf, byte * inbuf) { uint32_t d1, d2; d1 = inbuf[0] << 24 | inbuf[1] << 16 | inbuf[2] << 8 | inbuf[3]; d2 = inbuf[4] << 24 | inbuf[5] << 16 | inbuf[6] << 8 | inbuf[7]; do_encrypt(&d1, &d2); outbuf[0] = (d1 >> 24) & 0xff; outbuf[1] = (d1 >> 16) & 0xff; outbuf[2] = (d1 >> 8) & 0xff; outbuf[3] = d1 & 0xff; outbuf[4] = (d2 >> 24) & 0xff; outbuf[5] = (d2 >> 16) & 0xff; outbuf[6] = (d2 >> 8) & 0xff; outbuf[7] = d2 & 0xff; } void Blowfish::encrypt_block(byte * outbuf, byte * inbuf) { do_encrypt_block(outbuf, inbuf); burn_stack(64); } void Blowfish::do_decrypt_block(byte * outbuf, byte * inbuf) { uint32_t d1, d2; d1 = inbuf[0] << 24 | inbuf[1] << 16 | inbuf[2] << 8 | inbuf[3]; d2 = inbuf[4] << 24 | inbuf[5] << 16 | inbuf[6] << 8 | inbuf[7]; do_decrypt(&d1, &d2); outbuf[0] = (d1 >> 24) & 0xff; outbuf[1] = (d1 >> 16) & 0xff; outbuf[2] = (d1 >> 8) & 0xff; outbuf[3] = d1 & 0xff; outbuf[4] = (d2 >> 24) & 0xff; outbuf[5] = (d2 >> 16) & 0xff; outbuf[6] = (d2 >> 8) & 0xff; outbuf[7] = d2 & 0xff; } void Blowfish::decrypt_block(byte * outbuf, byte * inbuf) { do_decrypt_block(outbuf, inbuf); burn_stack(64); } int Blowfish::do_bf_setkey(byte * key, unsigned int keylen) { int i, j; uint32_t data, datal, datar; for (i = 0; i < BLOWFISH_ROUNDS + 2; ++i) bc.p[i] = ps[i]; for (i = 0; i < 256; ++i) { bc.s0[i] = ks0[i]; bc.s1[i] = ks1[i]; bc.s2[i] = ks2[i]; bc.s3[i] = ks3[i]; } for (i = j = 0; i < BLOWFISH_ROUNDS + 2; ++i) { #ifdef KEEPASS_BIG_ENDIAN ((byte *) & data)[0] = key[j]; ((byte *) & data)[1] = key[(j + 1) % keylen]; ((byte *) & data)[2] = key[(j + 2) % keylen]; ((byte *) & data)[3] = key[(j + 3) % keylen]; #else ((byte *) & data)[3] = key[j]; ((byte *) & data)[2] = key[(j + 1) % keylen]; ((byte *) & data)[1] = key[(j + 2) % keylen]; ((byte *) & data)[0] = key[(j + 3) % keylen]; #endif bc.p[i] ^= data; j = (j + 4) % keylen; } datal = datar = 0; for (i = 0; i < BLOWFISH_ROUNDS + 2; i += 2) { do_encrypt(&datal, &datar); bc.p[i] = datal; bc.p[i + 1] = datar; } for (i = 0; i < 256; i += 2) { do_encrypt(&datal, &datar); bc.s0[i] = datal; bc.s0[i + 1] = datar; } for (i = 0; i < 256; i += 2) { do_encrypt(&datal, &datar); bc.s1[i] = datal; bc.s1[i + 1] = datar; } for (i = 0; i < 256; i += 2) { do_encrypt(&datal, &datar); bc.s2[i] = datal; bc.s2[i + 1] = datar; } for (i = 0; i < 256; i += 2) { do_encrypt(&datal, &datar); bc.s3[i] = datal; bc.s3[i + 1] = datar; } /* Check for weak key. A weak key is a key in which a value in */ /* the P-array (here c) occurs more than once per table. */ for (i = 0; i < 255; ++i) { for (j = i + 1; j < 256; ++j) { if ((bc.s0[i] == bc.s0[j]) || (bc.s1[i] == bc.s1[j]) || (bc.s2[i] == bc.s2[j]) || (bc.s3[i] == bc.s3[j])) return 1; } } return 0; } int Blowfish::bf_setkey(byte * key, unsigned int keylen) { int rc = do_bf_setkey(key, keylen); burn_stack(64); return rc; } int Blowfish::bf_encrypt(byte * outbuf, byte * inbuf, unsigned int inbuf_len) { if (inbuf_len % 8) return 1; unsigned int i = 0; while (i < inbuf_len) { encrypt_block(outbuf + i, inbuf + i); i += 8; } return 0; } int Blowfish::bf_decrypt(byte * outbuf, byte * inbuf, unsigned int inbuf_len) { if (inbuf_len % 8) return 1; unsigned int i = 0; while (i < inbuf_len) { decrypt_block(outbuf + i, inbuf + i); i += 8; } return 0; } void Blowfish::padNull(string *buf) { buf->append(1, (char)0x01); string::size_type append_null = 8 - (buf->length() % 8); buf->append(append_null, (char)0x00); } bool Blowfish::unpadNull(string *buf) { if (buf->size() % 8) return false; string::size_type pos = buf->length() - 1; while ((*buf)[pos] != (char)0x01) { if (pos == 0) return false; --pos; } buf->erase(pos, buf->length() - pos); return true; } keepassx-0.4.3/src/crypto/twofish.h0000664000175000017500000001465510764520070016322 0ustar felixfelix#ifndef TWOFISH_H_ #define TWOFISH_H_ /* * Fast, portable, and easy-to-use Twofish implementation, * Version 0.3. * Copyright (c) 2002 by Niels Ferguson. * * See the twofish.c file for the details of the how and why of this code. * * The author hereby grants a perpetual license to everybody to * use this code for any purpose as long as the copyright message is included * in the source code of this or any derived work. */ /* * PLATFORM FIXES * ============== * * The following definitions have to be fixed for each particular platform * you work on. If you have a multi-platform program, you no doubt have * portable definitions that you can substitute here without changing * the rest of the code. * * The defaults provided here should work on most PC compilers. */ /* * A Twofish_Byte must be an unsigned 8-bit integer. * It must also be the elementary data size of your C platform, * i.e. sizeof( Twofish_Byte ) == 1. */ typedef unsigned char Twofish_Byte; /* * A Twofish_UInt32 must be an unsigned integer of at least 32 bits. * * This type is used only internally in the implementation, so ideally it * would not appear in the header file, but it is used inside the * Twofish_key structure which means it has to be included here. */ typedef unsigned int Twofish_UInt32; /* * END OF PLATFORM FIXES * ===================== * * You should not have to touch the rest of this file, but the code * in twofish.c has a few things you need to fix too. */ /* * Structure that contains a prepared Twofish key. * A cipher key is used in two stages. In the first stage it is converted * form the original form to an internal representation. * This internal form is then used to encrypt and decrypt data. * This structure contains the internal form. It is rather large: 4256 bytes * on a platform with 32-bit unsigned values. * * Treat this as an opague structure, and don't try to manipulate the * elements in it. I wish I could hide the inside of the structure, * but C doesn't allow that. */ typedef struct { Twofish_UInt32 s[4][256]; /* pre-computed S-boxes */ Twofish_UInt32 K[40]; /* Round key words */ } Twofish_key; /* * Initialise and test the Twofish implementation. * * This function MUST be called before any other function in the * Twofish implementation is called. * It only needs to be called once. * * Apart from initialising the implementation it performs a self test. * If the Twofish_fatal function is not called, the code passed the test. * (See the twofish.c file for details on the Twofish_fatal function.) */ extern void Twofish_initialise(); /* * Convert a cipher key to the internal form used for * encryption and decryption. * * The cipher key is an array of bytes; the Twofish_Byte type is * defined above to a type suitable on your platform. * * Any key must be converted to an internal form in the Twofisk_key structure * before it can be used. * The encryption and decryption functions only work with the internal form. * The conversion to internal form need only be done once for each key value. * * Be sure to wipe all key storage, including the Twofish_key structure, * once you are done with the key data. * A simple memset( TwofishKey, 0, sizeof( TwofishKey ) ) will do just fine. * * Unlike most implementations, this one allows any key size from 0 bytes * to 32 bytes. According to the Twofish specifications, * irregular key sizes are handled by padding the key with zeroes at the end * until the key size is 16, 24, or 32 bytes, whichever * comes first. Note that each key of irregular size is equivalent to exactly * one key of 16, 24, or 32 bytes. * * WARNING: Short keys have low entropy, and result in low security. * Anything less than 8 bytes is utterly insecure. For good security * use at least 16 bytes. I prefer to use 32-byte keys to prevent * any collision attacks on the key. * * The key length argument key_len must be in the proper range. * If key_len is not in the range 0,...,32 this routine attempts to generate * a fatal error (depending on the code environment), * and at best (or worst) returns without having done anything. * * Arguments: * key Array of key bytes * key_len Number of key bytes, must be in the range 0,1,...,32. * xkey Pointer to an Twofish_key structure that will be filled * with the internal form of the cipher key. */ extern void Twofish_prepare_key( Twofish_Byte key[], int key_len, Twofish_key * xkey ); /* * Encrypt a single block of data. * * This function encrypts a single block of 16 bytes of data. * If you want to encrypt a larger or variable-length message, * you will have to use a cipher mode, such as CBC or CTR. * These are outside the scope of this implementation. * * The xkey structure is not modified by this routine, and can be * used for further encryption and decryption operations. * * Arguments: * xkey pointer to Twofish_key, internal form of the key * produces by Twofish_prepare_key() * p Plaintext to be encrypted * c Place to store the ciphertext */ extern void Twofish_encrypt( Twofish_key * xkey, Twofish_Byte p[16], Twofish_Byte c[16] ); /* * Decrypt a single block of data. * * This function decrypts a single block of 16 bytes of data. * If you want to decrypt a larger or variable-length message, * you will have to use a cipher mode, such as CBC or CTR. * These are outside the scope of this implementation. * * The xkey structure is not modified by this routine, and can be * used for further encryption and decryption operations. * * Arguments: * xkey pointer to Twofish_key, internal form of the key * produces by Twofish_prepare_key() * c Ciphertext to be decrypted * p Place to store the plaintext */ extern void Twofish_decrypt( Twofish_key * xkey, Twofish_Byte c[16], Twofish_Byte p[16] ); #endif keepassx-0.4.3/src/crypto/twoclass.cpp0000664000175000017500000001031711070433420017011 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 Tarek Saidi * * Copyright (c) 2003,2004 Dominik Reichl * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "twoclass.h" static bool g_bInitialized = false; CTwofish::CTwofish() { } CTwofish::~CTwofish() { } bool CTwofish::init(quint8 *pKey, unsigned long uKeyLen, quint8 *initVector) { //ASSERT(pKey != NULL); if(pKey == NULL) return false; //ASSERT(uKeyLen != 0); if(uKeyLen == 0) return false; if(g_bInitialized == false) { Twofish_initialise(); g_bInitialized = true; } Twofish_prepare_key((Twofish_Byte *)pKey, uKeyLen, &m_key); if(initVector != NULL) memcpy(m_pInitVector, initVector, 16); else memset(m_pInitVector, 0, 16); return true; } int CTwofish::padEncrypt(quint8 *pInput, int nInputOctets, quint8 *pOutBuffer) { int i, numBlocks, padLen; quint8 block[16], *iv; //ASSERT((pInput != NULL) && (nInputOctets != NULL) && (pOutBuffer != NULL)); if((pInput == NULL) || (nInputOctets <= 0) || (pOutBuffer == NULL)) return 0; numBlocks = nInputOctets / 16; iv = m_pInitVector; for(i = numBlocks; i > 0; i--) { ((quint32*)block)[0] = ((quint32*)pInput)[0] ^ ((quint32*)iv)[0]; ((quint32*)block)[1] = ((quint32*)pInput)[1] ^ ((quint32*)iv)[1]; ((quint32*)block)[2] = ((quint32*)pInput)[2] ^ ((quint32*)iv)[2]; ((quint32*)block)[3] = ((quint32*)pInput)[3] ^ ((quint32*)iv)[3]; Twofish_encrypt(&m_key, (Twofish_Byte *)block, (Twofish_Byte *)pOutBuffer); iv = pOutBuffer; pInput += 16; pOutBuffer += 16; } padLen = 16 - (nInputOctets - (16 * numBlocks)); for (i = 0; i < 16 - padLen; i++) { block[i] = (quint8)(pInput[i] ^ iv[i]); } for (i = 16 - padLen; i < 16; i++) { block[i] = (quint8)((quint8)padLen ^ iv[i]); } Twofish_encrypt(&m_key, (Twofish_Byte *)block, (Twofish_Byte *)pOutBuffer); return 16 * (numBlocks + 1); } int CTwofish::padDecrypt(quint8 *pInput, int nInputOctets, quint8 *pOutBuffer) { int i, numBlocks, padLen; quint8 block[16]; quint32 iv[4]; //ASSERT((pInput != NULL) && (nInputOctets != NULL) && (pOutBuffer != NULL)); if((pInput == NULL) || (nInputOctets <= 0) || (pOutBuffer == NULL)) return 0; if((nInputOctets % 16) != 0) { /*ASSERT(FALSE);*/ return -1; } numBlocks = nInputOctets / 16; memcpy(iv, m_pInitVector, 16); for(i = numBlocks - 1; i > 0; i--) { Twofish_decrypt(&m_key, (Twofish_Byte *)pInput, (Twofish_Byte *)block); ((quint32*)block)[0] ^= iv[0]; ((quint32*)block)[1] ^= iv[1]; ((quint32*)block)[2] ^= iv[2]; ((quint32*)block)[3] ^= iv[3]; memcpy(iv, pInput, 16); memcpy(pOutBuffer, block, 16); pInput += 16; pOutBuffer += 16; } Twofish_decrypt(&m_key, (Twofish_Byte *)pInput, (Twofish_Byte *)block); ((quint32*)block)[0] ^= iv[0]; ((quint32*)block)[1] ^= iv[1]; ((quint32*)block)[2] ^= iv[2]; ((quint32*)block)[3] ^= iv[3]; padLen = block[15]; if(padLen <= 0 || padLen > 16) return -1; for(i = 16 - padLen; i < 16; i++) { if(block[i] != padLen) return -1; } memcpy(pOutBuffer, block, 16 - padLen); return 16*numBlocks - padLen; } keepassx-0.4.3/src/crypto/aesopt.h0000664000175000017500000006460411135453225016131 0ustar felixfelix/* --------------------------------------------------------------------------- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved. LICENSE TERMS The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that: 1. source code distributions include the above copyright notice, this list of conditions and the following disclaimer; 2. binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation; 3. the name of the copyright holder is not used to endorse products built using this software without specific written permission. DISCLAIMER This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose. --------------------------------------------------------------------------- Issue Date: 20/12/2007 This file contains the compilation options for AES (Rijndael) and code that is common across encryption, key scheduling and table generation. OPERATION These source code files implement the AES algorithm Rijndael designed by Joan Daemen and Vincent Rijmen. This version is designed for the standard block size of 16 bytes and for key sizes of 128, 192 and 256 bits (16, 24 and 32 bytes). This version is designed for flexibility and speed using operations on 32-bit words rather than operations on bytes. It can be compiled with either big or little endian internal byte order but is faster when the native byte order for the processor is used. THE CIPHER INTERFACE The cipher interface is implemented as an array of bytes in which lower AES bit sequence indexes map to higher numeric significance within bytes. uint_8t (an unsigned 8-bit type) uint_32t (an unsigned 32-bit type) struct aes_encrypt_ctx (structure for the cipher encryption context) struct aes_decrypt_ctx (structure for the cipher decryption context) AES_RETURN the function return type C subroutine calls: AES_RETURN aes_encrypt_key128(const unsigned char *key, aes_encrypt_ctx cx[1]); AES_RETURN aes_encrypt_key192(const unsigned char *key, aes_encrypt_ctx cx[1]); AES_RETURN aes_encrypt_key256(const unsigned char *key, aes_encrypt_ctx cx[1]); AES_RETURN aes_encrypt(const unsigned char *in, unsigned char *out, const aes_encrypt_ctx cx[1]); AES_RETURN aes_decrypt_key128(const unsigned char *key, aes_decrypt_ctx cx[1]); AES_RETURN aes_decrypt_key192(const unsigned char *key, aes_decrypt_ctx cx[1]); AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx cx[1]); AES_RETURN aes_decrypt(const unsigned char *in, unsigned char *out, const aes_decrypt_ctx cx[1]); IMPORTANT NOTE: If you are using this C interface with dynamic tables make sure that you call aes_init() before AES is used so that the tables are initialised. C++ aes class subroutines: Class AESencrypt for encryption Construtors: AESencrypt(void) AESencrypt(const unsigned char *key) - 128 bit key Members: AES_RETURN key128(const unsigned char *key) AES_RETURN key192(const unsigned char *key) AES_RETURN key256(const unsigned char *key) AES_RETURN encrypt(const unsigned char *in, unsigned char *out) const Class AESdecrypt for encryption Construtors: AESdecrypt(void) AESdecrypt(const unsigned char *key) - 128 bit key Members: AES_RETURN key128(const unsigned char *key) AES_RETURN key192(const unsigned char *key) AES_RETURN key256(const unsigned char *key) AES_RETURN decrypt(const unsigned char *in, unsigned char *out) const */ #if !defined( _AESOPT_H ) #define _AESOPT_H #if defined( __cplusplus ) #include "aescpp.h" #else #include "aes.h" #endif /* PLATFORM SPECIFIC INCLUDES */ #include "aes_endian.h" /* CONFIGURATION - THE USE OF DEFINES Later in this section there are a number of defines that control the operation of the code. In each section, the purpose of each define is explained so that the relevant form can be included or excluded by setting either 1's or 0's respectively on the branches of the related #if clauses. The following local defines should not be changed. */ #define ENCRYPTION_IN_C 1 #define DECRYPTION_IN_C 2 #define ENC_KEYING_IN_C 4 #define DEC_KEYING_IN_C 8 #define NO_TABLES 0 #define ONE_TABLE 1 #define FOUR_TABLES 4 #define NONE 0 #define PARTIAL 1 #define FULL 2 /* --- START OF USER CONFIGURED OPTIONS --- */ /* 1. BYTE ORDER WITHIN 32 BIT WORDS The fundamental data processing units in Rijndael are 8-bit bytes. The input, output and key input are all enumerated arrays of bytes in which bytes are numbered starting at zero and increasing to one less than the number of bytes in the array in question. This enumeration is only used for naming bytes and does not imply any adjacency or order relationship from one byte to another. When these inputs and outputs are considered as bit sequences, bits 8*n to 8*n+7 of the bit sequence are mapped to byte[n] with bit 8n+i in the sequence mapped to bit 7-i within the byte. In this implementation bits are numbered from 0 to 7 starting at the numerically least significant end of each byte (bit n represents 2^n). However, Rijndael can be implemented more efficiently using 32-bit words by packing bytes into words so that bytes 4*n to 4*n+3 are placed into word[n]. While in principle these bytes can be assembled into words in any positions, this implementation only supports the two formats in which bytes in adjacent positions within words also have adjacent byte numbers. This order is called big-endian if the lowest numbered bytes in words have the highest numeric significance and little-endian if the opposite applies. This code can work in either order irrespective of the order used by the machine on which it runs. Normally the internal byte order will be set to the order of the processor on which the code is to be run but this define can be used to reverse this in special situations WARNING: Assembler code versions rely on PLATFORM_BYTE_ORDER being set. This define will hence be redefined later (in section 4) if necessary */ #if 1 # define ALGORITHM_BYTE_ORDER PLATFORM_BYTE_ORDER #elif 0 # define ALGORITHM_BYTE_ORDER IS_LITTLE_ENDIAN #elif 0 # define ALGORITHM_BYTE_ORDER IS_BIG_ENDIAN #else # error The algorithm byte order is not defined #endif /* 2. VIA ACE SUPPORT */ #if defined( __GNUC__ ) && defined( __i386__ ) \ || defined( _WIN32 ) && defined( _M_IX86 ) \ && !(defined( _WIN64 ) || defined( _WIN32_WCE ) || defined( _MSC_VER ) && ( _MSC_VER <= 800 )) # define VIA_ACE_POSSIBLE #endif /* Define this option if support for the VIA ACE is required. This uses inline assembler instructions and is only implemented for the Microsoft, Intel and GCC compilers. If VIA ACE is known to be present, then defining ASSUME_VIA_ACE_PRESENT will remove the ordinary encryption/decryption code. If USE_VIA_ACE_IF_PRESENT is defined then VIA ACE will be used if it is detected (both present and enabled) but the normal AES code will also be present. When VIA ACE is to be used, all AES encryption contexts MUST be 16 byte aligned; other input/output buffers do not need to be 16 byte aligned but there are very large performance gains if this can be arranged. VIA ACE also requires the decryption key schedule to be in reverse order (which later checks below ensure). */ // DISABLE VIA ACE #if 0 && defined( VIA_ACE_POSSIBLE ) && !defined( USE_VIA_ACE_IF_PRESENT ) # define USE_VIA_ACE_IF_PRESENT #endif #if 0 && defined( VIA_ACE_POSSIBLE ) && !defined( ASSUME_VIA_ACE_PRESENT ) # define ASSUME_VIA_ACE_PRESENT # endif /* 3. ASSEMBLER SUPPORT This define (which can be on the command line) enables the use of the assembler code routines for encryption, decryption and key scheduling as follows: ASM_X86_V1C uses the assembler (aes_x86_v1.asm) with large tables for encryption and decryption and but with key scheduling in C ASM_X86_V2 uses assembler (aes_x86_v2.asm) with compressed tables for encryption, decryption and key scheduling ASM_X86_V2C uses assembler (aes_x86_v2.asm) with compressed tables for encryption and decryption and but with key scheduling in C ASM_AMD64_C uses assembler (aes_amd64.asm) with compressed tables for encryption and decryption and but with key scheduling in C Change one 'if 0' below to 'if 1' to select the version or define as a compilation option. */ #if 0 && !defined( ASM_X86_V1C ) # define ASM_X86_V1C #elif 0 && !defined( ASM_X86_V2 ) # define ASM_X86_V2 #elif 0 && !defined( ASM_X86_V2C ) # define ASM_X86_V2C #elif 0 && !defined( ASM_AMD64_C ) # define ASM_AMD64_C #endif #if (defined ( ASM_X86_V1C ) || defined( ASM_X86_V2 ) || defined( ASM_X86_V2C )) \ && !defined( _M_IX86 ) || defined( ASM_AMD64_C ) && !defined( _M_X64 ) # error Assembler code is only available for x86 and AMD64 systems #endif /* 4. FAST INPUT/OUTPUT OPERATIONS. On some machines it is possible to improve speed by transferring the bytes in the input and output arrays to and from the internal 32-bit variables by addressing these arrays as if they are arrays of 32-bit words. On some machines this will always be possible but there may be a large performance penalty if the byte arrays are not aligned on the normal word boundaries. On other machines this technique will lead to memory access errors when such 32-bit word accesses are not properly aligned. The option SAFE_IO avoids such problems but will often be slower on those machines that support misaligned access (especially so if care is taken to align the input and output byte arrays on 32-bit word boundaries). If SAFE_IO is not defined it is assumed that access to byte arrays as if they are arrays of 32-bit words will not cause problems when such accesses are misaligned. */ #if 1 && !defined( _MSC_VER ) # define SAFE_IO #endif /* 5. LOOP UNROLLING The code for encryption and decrytpion cycles through a number of rounds that can be implemented either in a loop or by expanding the code into a long sequence of instructions, the latter producing a larger program but one that will often be much faster. The latter is called loop unrolling. There are also potential speed advantages in expanding two iterations in a loop with half the number of iterations, which is called partial loop unrolling. The following options allow partial or full loop unrolling to be set independently for encryption and decryption */ #if 1 # define ENC_UNROLL FULL #elif 0 # define ENC_UNROLL PARTIAL #else # define ENC_UNROLL NONE #endif #if 1 # define DEC_UNROLL FULL #elif 0 # define DEC_UNROLL PARTIAL #else # define DEC_UNROLL NONE #endif #if 1 # define ENC_KS_UNROLL #endif #if 1 # define DEC_KS_UNROLL #endif /* 6. FAST FINITE FIELD OPERATIONS If this section is included, tables are used to provide faster finite field arithmetic (this has no effect if FIXED_TABLES is defined). */ #if 1 # define FF_TABLES #endif /* 7. INTERNAL STATE VARIABLE FORMAT The internal state of Rijndael is stored in a number of local 32-bit word varaibles which can be defined either as an array or as individual names variables. Include this section if you want to store these local varaibles in arrays. Otherwise individual local variables will be used. */ #if 1 # define ARRAYS #endif /* 8. FIXED OR DYNAMIC TABLES When this section is included the tables used by the code are compiled statically into the binary file. Otherwise the subroutine aes_init() must be called to compute them before the code is first used. */ #if 1 && !(defined( _MSC_VER ) && ( _MSC_VER <= 800 )) # define FIXED_TABLES #endif /* 9. MASKING OR CASTING FROM LONGER VALUES TO BYTES In some systems it is better to mask longer values to extract bytes rather than using a cast. This option allows this choice. */ #if 0 # define to_byte(x) ((uint_8t)(x)) #else # define to_byte(x) ((x) & 0xff) #endif /* 10. TABLE ALIGNMENT On some sytsems speed will be improved by aligning the AES large lookup tables on particular boundaries. This define should be set to a power of two giving the desired alignment. It can be left undefined if alignment is not needed. This option is specific to the Microsft VC++ compiler - it seems to sometimes cause trouble for the VC++ version 6 compiler. */ #if 1 && defined( _MSC_VER ) && ( _MSC_VER >= 1300 ) # define TABLE_ALIGN 32 #endif /* 11. REDUCE CODE AND TABLE SIZE This replaces some expanded macros with function calls if AES_ASM_V2 or AES_ASM_V2C are defined */ #if 1 && (defined( ASM_X86_V2 ) || defined( ASM_X86_V2C )) # define REDUCE_CODE_SIZE #endif /* 12. TABLE OPTIONS This cipher proceeds by repeating in a number of cycles known as 'rounds' which are implemented by a round function which can optionally be speeded up using tables. The basic tables are each 256 32-bit words, with either one or four tables being required for each round function depending on how much speed is required. The encryption and decryption round functions are different and the last encryption and decrytpion round functions are different again making four different round functions in all. This means that: 1. Normal encryption and decryption rounds can each use either 0, 1 or 4 tables and table spaces of 0, 1024 or 4096 bytes each. 2. The last encryption and decryption rounds can also use either 0, 1 or 4 tables and table spaces of 0, 1024 or 4096 bytes each. Include or exclude the appropriate definitions below to set the number of tables used by this implementation. */ #if 1 /* set tables for the normal encryption round */ # define ENC_ROUND FOUR_TABLES #elif 0 # define ENC_ROUND ONE_TABLE #else # define ENC_ROUND NO_TABLES #endif #if 1 /* set tables for the last encryption round */ # define LAST_ENC_ROUND FOUR_TABLES #elif 0 # define LAST_ENC_ROUND ONE_TABLE #else # define LAST_ENC_ROUND NO_TABLES #endif #if 1 /* set tables for the normal decryption round */ # define DEC_ROUND FOUR_TABLES #elif 0 # define DEC_ROUND ONE_TABLE #else # define DEC_ROUND NO_TABLES #endif #if 1 /* set tables for the last decryption round */ # define LAST_DEC_ROUND FOUR_TABLES #elif 0 # define LAST_DEC_ROUND ONE_TABLE #else # define LAST_DEC_ROUND NO_TABLES #endif /* The decryption key schedule can be speeded up with tables in the same way that the round functions can. Include or exclude the following defines to set this requirement. */ #if 1 # define KEY_SCHED FOUR_TABLES #elif 0 # define KEY_SCHED ONE_TABLE #else # define KEY_SCHED NO_TABLES #endif /* ---- END OF USER CONFIGURED OPTIONS ---- */ /* VIA ACE support is only available for VC++ and GCC */ #if !defined( _MSC_VER ) && !defined( __GNUC__ ) # if defined( ASSUME_VIA_ACE_PRESENT ) # undef ASSUME_VIA_ACE_PRESENT # endif # if defined( USE_VIA_ACE_IF_PRESENT ) # undef USE_VIA_ACE_IF_PRESENT # endif #endif #if defined( ASSUME_VIA_ACE_PRESENT ) && !defined( USE_VIA_ACE_IF_PRESENT ) # define USE_VIA_ACE_IF_PRESENT #endif #if defined( USE_VIA_ACE_IF_PRESENT ) && !defined ( AES_REV_DKS ) # define AES_REV_DKS #endif /* Assembler support requires the use of platform byte order */ #if ( defined( ASM_X86_V1C ) || defined( ASM_X86_V2C ) || defined( ASM_AMD64_C ) ) \ && (ALGORITHM_BYTE_ORDER != PLATFORM_BYTE_ORDER) # undef ALGORITHM_BYTE_ORDER # define ALGORITHM_BYTE_ORDER PLATFORM_BYTE_ORDER #endif /* In this implementation the columns of the state array are each held in 32-bit words. The state array can be held in various ways: in an array of words, in a number of individual word variables or in a number of processor registers. The following define maps a variable name x and a column number c to the way the state array variable is to be held. The first define below maps the state into an array x[c] whereas the second form maps the state into a number of individual variables x0, x1, etc. Another form could map individual state colums to machine register names. */ #if defined( ARRAYS ) # define s(x,c) x[c] #else # define s(x,c) x##c #endif /* This implementation provides subroutines for encryption, decryption and for setting the three key lengths (separately) for encryption and decryption. Since not all functions are needed, masks are set up here to determine which will be implemented in C */ #if !defined( AES_ENCRYPT ) # define EFUNCS_IN_C 0 #elif defined( ASSUME_VIA_ACE_PRESENT ) || defined( ASM_X86_V1C ) \ || defined( ASM_X86_V2C ) || defined( ASM_AMD64_C ) # define EFUNCS_IN_C ENC_KEYING_IN_C #elif !defined( ASM_X86_V2 ) # define EFUNCS_IN_C ( ENCRYPTION_IN_C | ENC_KEYING_IN_C ) #else # define EFUNCS_IN_C 0 #endif #if !defined( AES_DECRYPT ) # define DFUNCS_IN_C 0 #elif defined( ASSUME_VIA_ACE_PRESENT ) || defined( ASM_X86_V1C ) \ || defined( ASM_X86_V2C ) || defined( ASM_AMD64_C ) # define DFUNCS_IN_C DEC_KEYING_IN_C #elif !defined( ASM_X86_V2 ) # define DFUNCS_IN_C ( DECRYPTION_IN_C | DEC_KEYING_IN_C ) #else # define DFUNCS_IN_C 0 #endif #define FUNCS_IN_C ( EFUNCS_IN_C | DFUNCS_IN_C ) /* END OF CONFIGURATION OPTIONS */ #define RC_LENGTH (5 * (AES_BLOCK_SIZE / 4 - 2)) /* Disable or report errors on some combinations of options */ #if ENC_ROUND == NO_TABLES && LAST_ENC_ROUND != NO_TABLES # undef LAST_ENC_ROUND # define LAST_ENC_ROUND NO_TABLES #elif ENC_ROUND == ONE_TABLE && LAST_ENC_ROUND == FOUR_TABLES # undef LAST_ENC_ROUND # define LAST_ENC_ROUND ONE_TABLE #endif #if ENC_ROUND == NO_TABLES && ENC_UNROLL != NONE # undef ENC_UNROLL # define ENC_UNROLL NONE #endif #if DEC_ROUND == NO_TABLES && LAST_DEC_ROUND != NO_TABLES # undef LAST_DEC_ROUND # define LAST_DEC_ROUND NO_TABLES #elif DEC_ROUND == ONE_TABLE && LAST_DEC_ROUND == FOUR_TABLES # undef LAST_DEC_ROUND # define LAST_DEC_ROUND ONE_TABLE #endif #if DEC_ROUND == NO_TABLES && DEC_UNROLL != NONE # undef DEC_UNROLL # define DEC_UNROLL NONE #endif #if defined( bswap32 ) # define aes_sw32 bswap32 #elif defined( bswap_32 ) # define aes_sw32 bswap_32 #else # define brot(x,n) (((uint_32t)(x) << n) | ((uint_32t)(x) >> (32 - n))) # define aes_sw32(x) ((brot((x),8) & 0x00ff00ff) | (brot((x),24) & 0xff00ff00)) #endif /* upr(x,n): rotates bytes within words by n positions, moving bytes to higher index positions with wrap around into low positions ups(x,n): moves bytes by n positions to higher index positions in words but without wrap around bval(x,n): extracts a byte from a word WARNING: The definitions given here are intended only for use with unsigned variables and with shift counts that are compile time constants */ #if ( ALGORITHM_BYTE_ORDER == IS_LITTLE_ENDIAN ) # define upr(x,n) (((uint_32t)(x) << (8 * (n))) | ((uint_32t)(x) >> (32 - 8 * (n)))) # define ups(x,n) ((uint_32t) (x) << (8 * (n))) # define bval(x,n) to_byte((x) >> (8 * (n))) # define bytes2word(b0, b1, b2, b3) \ (((uint_32t)(b3) << 24) | ((uint_32t)(b2) << 16) | ((uint_32t)(b1) << 8) | (b0)) #endif #if ( ALGORITHM_BYTE_ORDER == IS_BIG_ENDIAN ) # define upr(x,n) (((uint_32t)(x) >> (8 * (n))) | ((uint_32t)(x) << (32 - 8 * (n)))) # define ups(x,n) ((uint_32t) (x) >> (8 * (n))) # define bval(x,n) to_byte((x) >> (24 - 8 * (n))) # define bytes2word(b0, b1, b2, b3) \ (((uint_32t)(b0) << 24) | ((uint_32t)(b1) << 16) | ((uint_32t)(b2) << 8) | (b3)) #endif #if defined( SAFE_IO ) # define word_in(x,c) bytes2word(((const uint_8t*)(x)+4*c)[0], ((const uint_8t*)(x)+4*c)[1], \ ((const uint_8t*)(x)+4*c)[2], ((const uint_8t*)(x)+4*c)[3]) # define word_out(x,c,v) { ((uint_8t*)(x)+4*c)[0] = bval(v,0); ((uint_8t*)(x)+4*c)[1] = bval(v,1); \ ((uint_8t*)(x)+4*c)[2] = bval(v,2); ((uint_8t*)(x)+4*c)[3] = bval(v,3); } #elif ( ALGORITHM_BYTE_ORDER == PLATFORM_BYTE_ORDER ) # define word_in(x,c) (*((uint_32t*)(x)+(c))) # define word_out(x,c,v) (*((uint_32t*)(x)+(c)) = (v)) #else # define word_in(x,c) aes_sw32(*((uint_32t*)(x)+(c))) # define word_out(x,c,v) (*((uint_32t*)(x)+(c)) = aes_sw32(v)) #endif /* the finite field modular polynomial and elements */ #define WPOLY 0x011b #define BPOLY 0x1b /* multiply four bytes in GF(2^8) by 'x' {02} in parallel */ #define m1 0x80808080 #define m2 0x7f7f7f7f #define gf_mulx(x) ((((x) & m2) << 1) ^ ((((x) & m1) >> 7) * BPOLY)) /* The following defines provide alternative definitions of gf_mulx that might give improved performance if a fast 32-bit multiply is not available. Note that a temporary variable u needs to be defined where gf_mulx is used. #define gf_mulx(x) (u = (x) & m1, u |= (u >> 1), ((x) & m2) << 1) ^ ((u >> 3) | (u >> 6)) #define m4 (0x01010101 * BPOLY) #define gf_mulx(x) (u = (x) & m1, ((x) & m2) << 1) ^ ((u - (u >> 7)) & m4) */ /* Work out which tables are needed for the different options */ #if defined( ASM_X86_V1C ) # if defined( ENC_ROUND ) # undef ENC_ROUND # endif # define ENC_ROUND FOUR_TABLES # if defined( LAST_ENC_ROUND ) # undef LAST_ENC_ROUND # endif # define LAST_ENC_ROUND FOUR_TABLES # if defined( DEC_ROUND ) # undef DEC_ROUND # endif # define DEC_ROUND FOUR_TABLES # if defined( LAST_DEC_ROUND ) # undef LAST_DEC_ROUND # endif # define LAST_DEC_ROUND FOUR_TABLES # if defined( KEY_SCHED ) # undef KEY_SCHED # define KEY_SCHED FOUR_TABLES # endif #endif #if ( FUNCS_IN_C & ENCRYPTION_IN_C ) || defined( ASM_X86_V1C ) # if ENC_ROUND == ONE_TABLE # define FT1_SET # elif ENC_ROUND == FOUR_TABLES # define FT4_SET # else # define SBX_SET # endif # if LAST_ENC_ROUND == ONE_TABLE # define FL1_SET # elif LAST_ENC_ROUND == FOUR_TABLES # define FL4_SET # elif !defined( SBX_SET ) # define SBX_SET # endif #endif #if ( FUNCS_IN_C & DECRYPTION_IN_C ) || defined( ASM_X86_V1C ) # if DEC_ROUND == ONE_TABLE # define IT1_SET # elif DEC_ROUND == FOUR_TABLES # define IT4_SET # else # define ISB_SET # endif # if LAST_DEC_ROUND == ONE_TABLE # define IL1_SET # elif LAST_DEC_ROUND == FOUR_TABLES # define IL4_SET # elif !defined(ISB_SET) # define ISB_SET # endif #endif #if !(defined( REDUCE_CODE_SIZE ) && (defined( ASM_X86_V2 ) || defined( ASM_X86_V2C ))) # if ((FUNCS_IN_C & ENC_KEYING_IN_C) || (FUNCS_IN_C & DEC_KEYING_IN_C)) # if KEY_SCHED == ONE_TABLE # if !defined( FL1_SET ) && !defined( FL4_SET ) # define LS1_SET # endif # elif KEY_SCHED == FOUR_TABLES # if !defined( FL4_SET ) # define LS4_SET # endif # elif !defined( SBX_SET ) # define SBX_SET # endif # endif # if (FUNCS_IN_C & DEC_KEYING_IN_C) # if KEY_SCHED == ONE_TABLE # define IM1_SET # elif KEY_SCHED == FOUR_TABLES # define IM4_SET # elif !defined( SBX_SET ) # define SBX_SET # endif # endif #endif /* generic definitions of Rijndael macros that use tables */ #define no_table(x,box,vf,rf,c) bytes2word( \ box[bval(vf(x,0,c),rf(0,c))], \ box[bval(vf(x,1,c),rf(1,c))], \ box[bval(vf(x,2,c),rf(2,c))], \ box[bval(vf(x,3,c),rf(3,c))]) #define one_table(x,op,tab,vf,rf,c) \ ( tab[bval(vf(x,0,c),rf(0,c))] \ ^ op(tab[bval(vf(x,1,c),rf(1,c))],1) \ ^ op(tab[bval(vf(x,2,c),rf(2,c))],2) \ ^ op(tab[bval(vf(x,3,c),rf(3,c))],3)) #define four_tables(x,tab,vf,rf,c) \ ( tab[0][bval(vf(x,0,c),rf(0,c))] \ ^ tab[1][bval(vf(x,1,c),rf(1,c))] \ ^ tab[2][bval(vf(x,2,c),rf(2,c))] \ ^ tab[3][bval(vf(x,3,c),rf(3,c))]) #define vf1(x,r,c) (x) #define rf1(r,c) (r) #define rf2(r,c) ((8+r-c)&3) /* perform forward and inverse column mix operation on four bytes in long word x in */ /* parallel. NOTE: x must be a simple variable, NOT an expression in these macros. */ #if !(defined( REDUCE_CODE_SIZE ) && (defined( ASM_X86_V2 ) || defined( ASM_X86_V2C ))) #if defined( FM4_SET ) /* not currently used */ # define fwd_mcol(x) four_tables(x,t_use(f,m),vf1,rf1,0) #elif defined( FM1_SET ) /* not currently used */ # define fwd_mcol(x) one_table(x,upr,t_use(f,m),vf1,rf1,0) #else # define dec_fmvars uint_32t g2 # define fwd_mcol(x) (g2 = gf_mulx(x), g2 ^ upr((x) ^ g2, 3) ^ upr((x), 2) ^ upr((x), 1)) #endif #if defined( IM4_SET ) # define inv_mcol(x) four_tables(x,t_use(i,m),vf1,rf1,0) #elif defined( IM1_SET ) # define inv_mcol(x) one_table(x,upr,t_use(i,m),vf1,rf1,0) #else # define dec_imvars uint_32t g2, g4, g9 # define inv_mcol(x) (g2 = gf_mulx(x), g4 = gf_mulx(g2), g9 = (x) ^ gf_mulx(g4), g4 ^= g9, \ (x) ^ g2 ^ g4 ^ upr(g2 ^ g9, 3) ^ upr(g4, 2) ^ upr(g9, 1)) #endif #if defined( FL4_SET ) # define ls_box(x,c) four_tables(x,t_use(f,l),vf1,rf2,c) #elif defined( LS4_SET ) # define ls_box(x,c) four_tables(x,t_use(l,s),vf1,rf2,c) #elif defined( FL1_SET ) # define ls_box(x,c) one_table(x,upr,t_use(f,l),vf1,rf2,c) #elif defined( LS1_SET ) # define ls_box(x,c) one_table(x,upr,t_use(l,s),vf1,rf2,c) #else # define ls_box(x,c) no_table(x,t_use(s,box),vf1,rf2,c) #endif #endif #if defined( ASM_X86_V1C ) && defined( AES_DECRYPT ) && !defined( ISB_SET ) # define ISB_SET #endif #endif keepassx-0.4.3/src/crypto/yarrow.h0000664000175000017500000001350010766023475016157 0ustar felixfelix/*************************************************************************** * The yarrow pseudo-randomness genrator * * extracted from nettle, the low-level cryptographics library * * * * Copyright (C) 2007 Tarek Saidi * * Copyright (C) 2001 Niels Müler * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef NETTLE_YARROW_COMPAT_H_INCLUDED #define NETTLE_YARROW_COMPAT_H_INCLUDED #include "aes.h" #include "sha256.h" /* Name mangling */ #define yarrow256_init nettle_yarrow256_init #define yarrow256_seed nettle_yarrow256_seed #define yarrow256_update nettle_yarrow256_update #define yarrow256_random nettle_yarrow256_random #define yarrow256_is_seeded nettle_yarrow256_is_seeded #define yarrow256_needed_sources nettle_yarrow256_needed_sources #define yarrow256_force_reseed nettle_yarrow256_force_reseed #define yarrow_key_event_init nettle_yarrow_key_event_init #define yarrow_key_event_estimate nettle_yarrow_key_event_estimate enum yarrow_pool_id { YARROW_FAST = 0, YARROW_SLOW = 1 }; struct yarrow_source { /* Indexed by yarrow_pool_id */ quint32 estimate[2]; /* The pool next sample should go to. */ enum yarrow_pool_id next; }; #define YARROW256_SEED_FILE_SIZE (2 * AES_BLOCK_SIZE) /* Yarrow-256, based on SHA-256 and AES-256 */ struct yarrow256_ctx { /* Indexed by yarrow_pool_id */ sha256_context pools[2]; quint8 seed_file[YARROW256_SEED_FILE_SIZE]; int seeded; /* The current key and counter block */ aes_encrypt_ctx key; quint8 counter[AES_BLOCK_SIZE]; /* The entropy sources */ unsigned nsources; struct yarrow_source *sources; }; void yarrow256_init(struct yarrow256_ctx *ctx, unsigned nsources, struct yarrow_source *sources); void yarrow256_seed(struct yarrow256_ctx *ctx, unsigned length, const quint8 *seed_file); /* Returns 1 on reseed */ int yarrow256_update(struct yarrow256_ctx *ctx, unsigned source, unsigned entropy, unsigned length, const quint8 *data); void yarrow256_random(struct yarrow256_ctx *ctx, unsigned length, quint8 *dst); int yarrow256_is_seeded(struct yarrow256_ctx *ctx); unsigned yarrow256_needed_sources(struct yarrow256_ctx *ctx); void yarrow256_force_reseed(struct yarrow256_ctx *ctx); /* Key event estimator */ #define YARROW_KEY_EVENT_BUFFER 16 struct yarrow_key_event_ctx { /* Counter for initial priming of the state */ unsigned index; unsigned chars[YARROW_KEY_EVENT_BUFFER]; unsigned previous; }; void yarrow_key_event_init(struct yarrow_key_event_ctx *ctx); unsigned yarrow_key_event_estimate(struct yarrow_key_event_ctx *ctx, unsigned key, unsigned time); /* merged code from macros.h: */ /* Reads a 32-bit integer, in network, big-endian, byte order */ #define READ_UINT32(p) \ ( (((quint32) (p)[0]) << 24) \ | (((quint32) (p)[1]) << 16) \ | (((quint32) (p)[2]) << 8) \ | ((quint32) (p)[3])) #define WRITE_UINT32(p, i) \ do { \ (p)[0] = ((i) >> 24) & 0xff; \ (p)[1] = ((i) >> 16) & 0xff; \ (p)[2] = ((i) >> 8) & 0xff; \ (p)[3] = (i) & 0xff; \ } while(0) /* Analogous macros, for 24 and 16 bit numbers */ #define READ_UINT24(p) \ ( (((quint32) (p)[0]) << 16) \ | (((quint32) (p)[1]) << 8) \ | ((quint32) (p)[2])) #define WRITE_UINT24(p, i) \ do { \ (p)[0] = ((i) >> 16) & 0xff; \ (p)[1] = ((i) >> 8) & 0xff; \ (p)[2] = (i) & 0xff; \ } while(0) #define READ_UINT16(p) \ ( (((quint32) (p)[0]) << 8) \ | ((quint32) (p)[1])) #define WRITE_UINT16(p, i) \ do { \ (p)[0] = ((i) >> 8) & 0xff; \ (p)[1] = (i) & 0xff; \ } while(0) /* And the other, little-endian, byteorder */ #define LE_READ_UINT32(p) \ ( (((quint32) (p)[3]) << 24) \ | (((quint32) (p)[2]) << 16) \ | (((quint32) (p)[1]) << 8) \ | ((quint32) (p)[0])) #define LE_WRITE_UINT32(p, i) \ do { \ (p)[3] = ((i) >> 24) & 0xff; \ (p)[2] = ((i) >> 16) & 0xff; \ (p)[1] = ((i) >> 8) & 0xff; \ (p)[0] = (i) & 0xff; \ } while(0) /* Macro to make it easier to loop over several blocks. */ #define FOR_BLOCKS(length, dst, src, blocksize) \ assert( !((length) % (blocksize))); \ for (; (length); ((length) -= (blocksize), \ (dst) += (blocksize), \ (src) += (blocksize)) ) void initYarrow(); void yarrowUpdateWeak(unsigned source, unsigned entropy, unsigned length, const quint8 *data); void yarrowUpdateStrong(unsigned source, unsigned entropy, unsigned length, const quint8 *data); void randomize(void* buffer, unsigned int length); void reseedStrongPool(quint8* buffer1,int l1,quint8* buffer2,int l2); #endif /* NETTLE_YARROW_COMPAT_H_INCLUDED */ keepassx-0.4.3/src/crypto/arcfour.cpp0000664000175000017500000000304411130522144016611 0ustar felixfelix/* Copyright (C) 2003-2008 Dominik Reichl 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 of the License, or (at your option) any later version. 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, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "arcfour.h" void CArcFour::setKey(quint8* key, uint length){ RawKey = key; RawKeyLength = length; } void CArcFour::encrypt(const quint8* src, quint8* dst, uint length){ quint8 S[256]; quint32 w; for(w = 0; w < 256; ++w) S[w] = static_cast(w); // Fill linearly const quint8 btBufDep = static_cast((length & 0xFF) << 1); quint8 i = 0, j = 0, t; quint32 k = 0; for(w = 0; w < 256; ++w) // Key setup { j += S[w] + RawKey[k] + btBufDep; t = S[i]; S[i] = S[j]; S[j] = t; // Swap entries ++k; if(k == RawKeyLength) k = 0; } i = 0; j = 0; for(w = 0; w < length; ++w) // Encrypt PT { ++i; j += S[i]; t = S[i]; S[i] = S[j]; S[j] = t; // Swap entries t = S[i] + S[j]; // Generate random byte dst[w] = src[w] ^ S[t]; // XOR with PT } } keepassx-0.4.3/src/res/0000775000175000017500000000000011344562542013731 5ustar felixfelixkeepassx-0.4.3/src/res/default-detailview-classic.html0000664000175000017500000000206610646450144022017 0ustar felixfelix

Group: %group% Title: %title% Username: %username% Password: %password% URL: %url% Creation: %creation% Last Access: %lastaccess% Last Modification: %lastmod% Expiration: %expire%
Comment:

%comment%

keepassx-0.4.3/src/res/resources.qrc0000664000175000017500000000052411217176700016447 0ustar felixfelix default-detailview.html docs/faq.html docs/features.html docs/index.html docs/installation.html docs/quickstart.html docs/systemreq.html docs/external.png keepassx-0.4.3/src/res/default-detailview.html0000664000175000017500000000374611066676517020421 0ustar felixfelix
%title%
Group: %group% Creation: %creation%
Username: %username% Access: %lastaccess%
Password: %password% Modification: %lastmod%
Attachment: %attachment% Expiration: %expire% [%expire-timeleft%]
URL: %url%
Comment: %comment%
keepassx-0.4.3/src/res/docs/0000775000175000017500000000000011344562542014661 5ustar felixfelixkeepassx-0.4.3/src/res/docs/index.html0000664000175000017500000000424211217176700016654 0ustar felixfelix KeePassX User Guide

KeePassX User Guide

For version 0.4.0.

KeePassX project in short

KeePassX (KPX) is a cross-platform password manager program. It is mainly designed to be used on *nix platforms, such as Linux and Mac OS X.

KeePassX currently uses same the database file format as the KeePass 1.x (Classic) password manager software for Windows. Although a Windows build for KPX exists, it is recommended to use the original KeePass on Windows, as it has more features and is more matured on the platform.

Please note that KeePassX and KeePass are entirely separate projects, maintained by two separate groups of people and consequently, share no common codebase.

Thank you for using KeePassX!

Program installation

See the system requirements and installation procedures for KeePassX. If you are viewing this documentation from already installed KeePassX program, you can safely skip this part.

Quick-start Guide

Master the essential core features of KeePassX in minutes.

Frequently Asked Questions

See answers to the most Frequently Asked Questions.

Contact and Support

If you have further questions or want to make suggestions about the program, please visit KeePassX forum .

keepassx-0.4.3/src/res/docs/features.html0000664000175000017500000000046111217176700017362 0ustar felixfelix KeePassX Features Overview

KeePassX Feature Overview

keepassx-0.4.3/src/res/docs/faq.html0000664000175000017500000000256611217176700016323 0ustar felixfelix KeePassX Frequently Asked Questions

KeePassX Frequently Asked Questions

Q: Is Auto-Type supported on Mac OS X or Windows?

A: No, Auto-Type is currently supported on Linux only.

Q: What password database formats are compatible with KeePassX?

A: KeePassX currently uses the KeePass 1.x (Classic) password database format as the native format. It can also import KeePassX 1.x XML exports, PwManager databases and KWallet XML databases. KeePass 2.x database format is not supported.

Q: Can I open KeePass 2.x password databases with KeePassX?

A: No, KeePassX does not support the KeePass 2.x (.kdbx) password database format currently. However, you can create an export in KeePass 1.x database format (.kdb) from KeePass 2.x, which KeePassX can read (and use as the native password database).

keepassx-0.4.3/src/res/docs/quickstart.html0000664000175000017500000002107011217176700017735 0ustar felixfelix KeePassX Quick-start Guide

KeePassX Quick-start Guide

This guide helps you to manage your passwords efficiently and securely with KeePassX.

Starting up

After starting KeePassX for the first time, you are presented with the main window with no open database file. If you have used KeePassX (or KeePass Classic on Windows) previously, you can open your existing database. Otherwise we begin with creating a new password database.

Creating a new password database

KeePassX stores your password entries into a password database file when the it's not running. To create a new password database, click the "New Database" icon on the program toolbar (it is the first icon from the left on the toolbar).

Second, you need to set the master key for the password database. This key is used to encrypt (ie. lock) the password database so it cannot be read by anybody else but you. The master key can be a password or a key file or both. If you check both, you must provide both the password and the key file to every time you want to unlock the database.

If you decide to use a password, choose and protect it carefully . The password should be strong, ie. long enough (at least 8 characters) and preferably contain lower and uppercase characters, numbers and special characters (e.g. !#?). You should also memorize the password well, because if you forget it, there is no way retrieving it later from the locked database. You will be asked to give the password twice to ensure that there is no typing errors in the password.

The key file can be any file on your computer, e.g. a picture or a text document. You can also create a randomly-generated key file by first selecting the key file check box and clicking "Generate Key File...". You can store the key file for example on a USB memory stick, to keep it with you everywhere.

Adding password entries

After you have created or opened a database, you can add password entries to the database. A password entry essentially consists of a title, user name and password. It may have other entries as well, such as URL (Internet link) and comments. To add a new password entry, select a group from the list on the left first, then click the "Add New Entry" icon on the program toolbar.

In the "New Entry" dialog you can enter the information you want to into respective text boxes. If you are creating a new account to e.g. a web forum, you can use the password generator to generate strong random passwords for you.

Saving the database

If you have added or edited entries in your database, they are not automatically save to the database file by default. You can save the database by clicking the "Save Database" icon.

You may also want to enable "Automatically save database after every change" option from the "Extras" > "Settings..." > "General (2)" page. (On OS X, the page is found from "KeePassX" (Application menu) > "Preferences".)

Opening a database

By default, on next startup, KeePassX opens a "Enter Master Key" dialog for the last used password database. If you wish to open another password database, click "Cancel" and click "Open Database" icon on the program toolbar and select the wanted password database file from the file system. You can, of course, do this at any point when the KeePassX main window is active.

Editing and removing password entries

If you wish to edit a password entry, you can do so by double-clicking on the entry title, or by selecting the entry and then clicking the "View/Edit Entry" icon on the program toolbar.

To delete a password entry, first select the entry and click "Delete Entry" icon on the program toolbar or hit Ctrl-D (Cmd+D on OS X) on the keyboard.

Copying password (and user name) to the clipboard

You can copy the currently selected password by hitting Ctrl-C (Cmd-C on OS X) and user name with Ctrl-B (Cmd-B on OS X) on the keyboard. Then you can hit Ctrl-V (Cmd-V on OS X) to paste the password or username to any program that supports pasting from the clipboard.

Setup Auto-Type (currently Linux only)

Auto-Type is a feature that allows you to e.g. log in to web page by hitting only one key combination. KeePassX does the rest of the typing for you. Auto-Type reads the title of currently active window on your screen and matches it to the configured database entries. If a matching window title is found from the password database, it executes a predefined key sequence (by default your username, TAB, password, ENTER) in the active window. This feature is currently available in the Linux version only.

To enable Auto-Type, first go to "Extras" > "Settings..." > "Advanced" page and set the "Global Auto-Type Shortcut" by clicking the text box and typing the desired keyboard shortcut (e.g. Ctrl-Shift-N). Click "OK" to exit the dialog.

Then, for example, open the web page where you want to be able to log in with Auto-Type. Let's for example open Google.com into Firefox and try to do automated search with Auto-Type. Go to Google.com in Firefox and you'll notice that your window title is now "Google - Mozilla Firefox"

Now, create new password entry, that contains user name "test". Then, click the small "Tools" button at the bottom of the "New Entry" dialog, and select "Auto-Type: Select target window" Select "Google - Mozilla Firefox" from the dropdown menu and click "OK". You should see now a new line in the "Comment:" box, which reads:

Auto-Type-Window: Google - Mozilla Firefox

Now you have associated that window title to this entry.

Finally, let's customize the Auto-Type key sequence to just enter your username and hit ENTER. Click again "Tools" and select "Auto-Type: Customize Sequence". Now there's another new line in the "Comment:" box, which reads:

Auto-Type: {USERNAME}{TAB}{PASSWORD}{ENTER}

Change this line to:

Auto-Type: {USERNAME}{ENTER}

So that it would just type in your username and hit ENTER. Click "OK" to save the entry.

Now, you can test the Auto-Type by returning to the Firefox window and hitting the global Auto-Type keyboard shortcut (e.g. Ctrl-Shift-N) in it. If everything went correctly, KeePassX should now enter "test" in the search box and start the search query by hitting ENTER.

By modifing the Auto-Type key sequence you can tailor Auto-Type to suit almost every web login page you'll enter.

keepassx-0.4.3/src/res/docs/systemreq.html0000664000175000017500000000153611217176700017604 0ustar felixfelix KeePassX System Requirements

KeePassX System Requirements

This guide tells what is required from your system in order to build or run KeePassX.

Requirements

These are the minimum requirements for the KeePassX v0.3.1 and higher for building KeePassX from source.

Build dependencies:

  • Qt library version >= 4.3.
    (required modules: QtCore, QtGui, QtXML.)
  • libXtst

Application bundle:

  • X11 with XRanR, Xinerama and XTest extensions.
  • Glibc 2.4
keepassx-0.4.3/src/res/docs/external.png0000664000175000017500000000024511217176700017206 0ustar felixfelixPNG  IHDR ?PLTEf3̙ffDtRNSKF8IDATW%A@A"OT$xl:rBΞ!/Y5fIENDB`keepassx-0.4.3/src/res/docs/installation.html0000664000175000017500000000270211217176700020245 0ustar felixfelix KeePassX Installation Guide

KeePassX Installation Guide

This guide will help you to install KeePassX.

Installation from binary

Easiest way to use KeePassX is to install from a binary. Ready-built binaries are available for all commonly used Linux distributions from their respective binary package repositories. Binaries for Mac OS X and Windows are available at the project web site .

Installation commands for some Linux distributions:

Ubuntu Linux
sudo apt-get install keepassx

or use Synaptic Package Manager from the System > Administation menu.
Fedora
su -
yum install keepassx

Installation from source

If your distribution doesn't have ready-built binary for KeePassX or you would like to try out latest SVN version of KeePassX, you can try building from source. Instructions can be found at the project web site .

keepassx-0.4.3/src/plugins/0000775000175000017500000000000011344562541014620 5ustar felixfelixkeepassx-0.4.3/src/plugins/interfaces/0000775000175000017500000000000011344562541016743 5ustar felixfelixkeepassx-0.4.3/src/plugins/interfaces/IGnomeInit.h0000664000175000017500000000323110657151622021115 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #ifndef _I_GNOME_INIT_H_ #define _I_GNOME_INIT_H_ class IGnomeInit{ public: virtual ~IGnomeInit(){} virtual bool init(int argc, char** argv)=0; }; Q_DECLARE_INTERFACE(IGnomeInit,"org.KeePassX.GnomeInitInterface/1.0") #endif keepassx-0.4.3/src/plugins/interfaces/IKdeInit.h0000664000175000017500000000324210657151622020555 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #ifndef _I_KDE_INIT_H_ #define _I_KDE_INIT_H_ class IKdeInit{ public: virtual ~IKdeInit(){} virtual QApplication* getMainAppObject(int argc, char** argv)=0; }; Q_DECLARE_INTERFACE(IKdeInit,"org.KeePassX.KdeInitInterface/1.0") #endif keepassx-0.4.3/src/plugins/interfaces/IIconTheme.h0000664000175000017500000000321610651452061021075 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; Version 2 of the license only. * * * * 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #ifndef _I_ICON_THEME_H_ #define _I_ICON_THEME_H_ class IIconTheme{ public: virtual ~IIconTheme(){} virtual QIcon getIcon(const QString& name)=0; }; Q_DECLARE_INTERFACE(IIconTheme,"org.KeePassX.IconThemeInterface/0.2.3") #endif keepassx-0.4.3/src/plugins/interfaces/IFileDialog.h0000664000175000017500000000405610657151622021231 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #ifndef _I_FILE_DIALOG_H_ #define _I_FILE_DIALOG_H_ class IFileDialog{ public: virtual ~IFileDialog(){} virtual QString openExistingFileDialog(QWidget* parent,QString title,QString dir, QStringList Filters,int SelectedFilter)=0; virtual QStringList openExistingFilesDialog(QWidget* parent,QString title,QString dir, QStringList Filters,int SelectedFilter)=0; virtual QString saveFileDialog(QWidget* parent,QString title,QString dir, QStringList Filters,int SelectedFilter, bool ShowOverwriteWarning=true)=0; virtual int getLastFilter()=0; }; Q_DECLARE_INTERFACE(IFileDialog,"org.KeePassX.FileDialogInterface/1.0") #endif keepassx-0.4.3/src/plugins/gnome/0000775000175000017500000000000011344562541015725 5ustar felixfelixkeepassx-0.4.3/src/plugins/gnome/keepassx-gnome.pro0000664000175000017500000000067210532410744021375 0ustar felixfelix INCLUDEPATH += /opt/gnome/include/gtk-2.0 \ /opt/gnome/include/glib-2.0 \ /opt/gnome/include/pango-1.0 \ /opt/gnome/include/atk-1.0 \ /opt/gnome/include/orbit-2.0 \ /usr/include/cairo \ /opt/gnome/lib/glib-2.0/include \ /opt/gnome/lib/gtk-2.0/include TEMPLATE = lib CONFIG += plugin release HEADERS += keepassx-gnome.h SOURCES += keepassx-gnome.cpp MOC_DIR = build/moc OBJECTS_DIR = build/ LIBS+=-L /opt/gnome/lib -lgtk-x11-2.0keepassx-0.4.3/src/plugins/gnome/keepassx-gnome.h0000664000175000017500000000416510755657336021046 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include "../interfaces/IFileDialog.h" #include "../interfaces/IGnomeInit.h" class GnomePlugin:public QObject,public IFileDialog,public IGnomeInit{ Q_OBJECT Q_INTERFACES(IFileDialog); Q_INTERFACES(IGnomeInit); public: virtual QString openExistingFileDialog(QWidget* parent,QString title,QString dir, QStringList Filters); virtual QStringList openExistingFilesDialog(QWidget* parent,QString title,QString dir, QStringList Filters); virtual QString saveFileDialog(QWidget* parent,QString title,QString dir, QStringList Filters,bool ShowOverwriteWarning=true); virtual bool init(int argc, char** argv); private: GtkFileFilter** parseFilterStrings(const QStringList &Filters); }; keepassx-0.4.3/src/plugins/gnome/keepassx-gnome.cpp0000664000175000017500000001227010657151622021361 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "keepassx-gnome.h" #define CSTR(x)(x.toUtf8().data()) Q_EXPORT_PLUGIN2(keepassx_gnome, GnomePlugin) bool GnomePlugin::init(int argc, char** argv){ int t_argc=argc; char** t_argv=argv; return gtk_init_check(&t_argc,&t_argv); } QString GnomePlugin::openExistingFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters){ unsigned int NumFilters=Filters.size(); GtkWidget *FileDlg; QString filename; FileDlg=gtk_file_chooser_dialog_new(CSTR(title),NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(FileDlg),CSTR(dir)); GtkFileFilter** filters=parseFilterStrings(Filters); for(int i=0;idata); FilenameList=FilenameList->next; } g_slist_free(front); } gtk_widget_destroy(FileDlg); return filenames; } QString GnomePlugin::saveFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters,bool OverWriteWarn){ unsigned int NumFilters=Filters.size(); GtkWidget *FileDlg; QString filename; FileDlg=gtk_file_chooser_dialog_new(CSTR(title),NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(FileDlg),CSTR(dir)); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(FileDlg),OverWriteWarn); GtkFileFilter** filters=parseFilterStrings(Filters); for(int i=0;i #include #include #include #include #include #include #include #include #include #include "keepassx-kde.h" #define CSTR(x)(x.toUtf8().data()) QHashIconMap; int LastFilter; Q_EXPORT_PLUGIN2(keepassx_kde, KdePlugin) void createIconMap(){ IconMap["alarmclock"]="alarmclock"; IconMap["appsettings"]="configure"; IconMap["autotype"]="input-keyboard"; IconMap["clock"]="chronometer"; IconMap["clonenetry"]="edit-copy"; IconMap["copypwd"]="kgpg-export-kgpg"; IconMap["copyusername"]="user"; IconMap["dbsearch"]="edit-find"; IconMap["dbsettings"]="configure"; IconMap["delete"]="edit-delete"; IconMap["delete-entry"]="edit-delete"; IconMap["delete-group"]="edit-delete"; IconMap["editentry"]="edit"; IconMap["editgroup"]="edit"; IconMap["exit"]="application-exit"; IconMap["expired"]="flag-red"; IconMap["fileclose"]="dialog-close"; IconMap["filedelete"]="edit-delete"; IconMap["filenew"]="document-new"; IconMap["fileopen"]="document-open"; IconMap["filesave"]="document-save"; IconMap["filesaveas"]="document-save-as"; IconMap["filesaveasdisabled"]="document-save-as"; ///FIXME needs to be grayed to reflect it's status IconMap["generator"]="roll"; IconMap["groupsearch"]="file-find"; IconMap["help"]="help-contents"; IconMap["key"]="password"; IconMap["manual"]="help-contents"; IconMap["newentry"]="kgpg-key3-kpgp"; IconMap["newgroup"]="folder"; IconMap["ok"]="ok"; IconMap["openurl"]="network"; IconMap["search"]="edit-find"; } QString convertFilters(const QStringList& qtfilters){ /* Qt Filter Syntax: StringList: "DescrA (*.ext1 *.ext2 *.ext3)", "DescrB (*.ext4)" KDE Filter Syntax: Single String: "*.ext1 *.ext2 *.ext3|DescrA\n*ext4|DescrB" */ QString kdefilters; for(int i=0;isetCurrentFilter(convertFilters(QStringList()<setCurrentFilter(convertFilters(QStringList()<setCurrentFilter(convertFilters(QStringList()<( new KpKApplication() ); #else return dynamic_cast( new KApplication() ); #endif } QIcon KdePlugin::getIcon(const QString& name){ KIconLoader loader; QPixmap pxm=loader.loadIcon(IconMap.value(name),KIconLoader::Desktop,0,KIconLoader::DefaultState,QStringList(),NULL,true); if(pxm.isNull())return QIcon(); QIcon icon(pxm); return icon; } keepassx-0.4.3/src/plugins/kde/keepassx-kde.h0000664000175000017500000000443110755657336020136 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include "../interfaces/IFileDialog.h" #include "../interfaces/IKdeInit.h" #include "../interfaces/IIconTheme.h" class KdePlugin:public QObject,public IFileDialog,public IKdeInit,public IIconTheme{ Q_OBJECT Q_INTERFACES(IFileDialog); Q_INTERFACES(IKdeInit); Q_INTERFACES(IIconTheme); public: virtual QString openExistingFileDialog(QWidget* parent,QString title,QString dir, QStringList Filters, int SelectedFilter); virtual QStringList openExistingFilesDialog(QWidget* parent,QString title,QString dir, QStringList Filters, int SelectedFilter); virtual QString saveFileDialog(QWidget* parent,QString title,QString dir, QStringList Filters, int SelectedFilter, bool ShowOverwriteWarning=true); virtual int getLastFilter(){return 0;} virtual QApplication* getMainAppObject(int argc, char** argv); virtual QIcon getIcon(const QString& name); }; keepassx-0.4.3/src/plugins/kde/KpKApplication.cpp0000664000175000017500000000307210755657336020756 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "KpKApplication.h" #include "Application_X11.h" KpKApplication::KpKApplication() : KApplication(){ } bool KeepassApplication::x11EventFilter(XEvent* event){ if (KeepassApplication::x11KeyEvent(event)) return true; else return KApplication::x11EventFilter(event); } keepassx-0.4.3/src/plugins/kde/keepassx-kde.pro0000664000175000017500000000060110755657336020502 0ustar felixfelixisEmpty(KDEDIR){ KDEDIR=/usr } INCLUDEPATH += $$(KDEDIR)/include TEMPLATE = lib CONFIG += plugin release HEADERS += keepassx-kde.h SOURCES += keepassx-kde.cpp contains(DEFINES,GLOBAL_AUTOTYPE) { HEADERS += KpKApplication.h SOURCES += KpKApplication.cpp } MOC_DIR = ../../../build/moc OBJECTS_DIR = ../../../build TARGET = ../../../lib/keepassx-kde LIBS+=-L$$KDEDIR/lib -lkio -lkdecorekeepassx-0.4.3/src/plugins/kde/KpKApplication.h0000664000175000017500000000301410755657336020417 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef KP_KAPPLICATION_H #define KP_KAPPLICATION_H #include class KpKApplication : public KApplication { Q_OBJECT public: KpKApplication(); bool x11EventFilter(XEvent* event); }; #endif // KP_KAPPLICATION_H keepassx-0.4.3/src/apg/0000775000175000017500000000000011344562542013707 5ustar felixfelixkeepassx-0.4.3/src/apg/convert.c0000664000175000017500000002347211044656216015542 0ustar felixfelix/* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ #include #include #include #include "random.h" #include "randpass.h" #include "convert.h" /* ** GLOBALS */ /* small letters */ char let[26] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'w', 'z' }; /* capital letters */ char clet[26] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'W', 'Z' }; /* ** FUNCTIONS */ /* ** decapitalize() - This routine replaces all capital letters ** to small letters in the word: ** INPUT: ** char * - word. ** OUTPUT: ** none. ** NOTES: ** none. */ void decapitalize (char *word) { int i = 0; /* counter */ int j = 0; /* counter */ int str_len = strlen(word); for(j = 0; j < str_len; j++) for(i=0; i < 26; i++) if(word[j] == clet[i]) word[j] = let[i]; } #ifndef APGBFM /* ** capitalize() - This routine designed to modify sullable like this: ** adel ----> Adel ** dot ----> Dot ** etc. ** INPUT: ** char * - syllable. ** OUTPUT: ** none. ** NOTES: ** none. */ void capitalize (char *syllable) { char tmp = 0x00; int i = 0; if ( randint(2) == TRUE) { (void)memcpy((void *)&tmp, (void *)syllable, sizeof(tmp)); for(i=0; i < 26; i++) if ( let[i] == tmp ) if (is_restricted_symbol(clet[i]) != TRUE) (void)memcpy ((void *)syllable, (void *)&clet[i], 1); } } /* ** numerize() - This routine designed to modify single-letter ** syllable like this: ** a ----> 1 or 2 or 3 etc. ** u ----> 1 or 2 or 3 etc. ** etc. ** INPUT: ** char * - single-letter syllable ** OUTPUT: ** none. ** NOTES: ** none. */ void numerize (char *syllable) { char *tmp; if ( (tmp = (char *)calloc(1, 4)) == NULL) perror("calloc"); if ( strlen (syllable) == 1 ) { (void) gen_rand_symbol(tmp, S_NB); (void)memcpy ((void *)syllable, (void *)tmp, 1); } free ((void *)tmp); } /* ** specialize() - This routine designed to modify single-letter syllable ** like this: ** a ----> # or $ or % etc. ** u ----> # or $ or % etc. ** etc. ** INPUT: ** char * - single-letter syllable. ** OUTPUT: ** none. ** NOTES: ** none. */ void specialize (char *syllable) { char *tmp; if ( (tmp = (char *)calloc(1, 4)) == NULL) perror("calloc"); if ( strlen (syllable) == 1 ) { (void) gen_rand_symbol(tmp, S_SS); (void)memcpy ((void *)syllable, (void *)tmp, 1); } free ((void *)tmp); } /* ** symb2name - convert symbol to it's name ** INPUT: ** char * - one symbol syllable ** OUTPUT: ** none. ** NOTES: ** none. */ void symb2name(char * syllable, char * h_syllable) { struct ssymb_names { char symbol; char *name; }; static struct ssymb_names ssn[42] = { {'1',"ONE"}, {'2',"TWO"}, {'3',"THREE"}, {'4',"FOUR"}, {'5',"FIVE"}, {'6',"SIX"}, {'7',"SEVEN"}, {'8',"EIGHT"}, {'9',"NINE"}, {'0',"ZERO"}, {33, "EXCLAMATION_POINT"}, {34, "QUOTATION_MARK"}, {35, "CROSSHATCH"}, {36, "DOLLAR_SIGN"}, {37, "PERCENT_SIGN"}, {38, "AMPERSAND"}, {39, "APOSTROPHE"}, {40, "LEFT_PARENTHESIS"}, {41, "RIGHT_PARENTHESIS"}, {42, "ASTERISK"}, {43, "PLUS_SIGN"}, {44, "COMMA"}, {45, "HYPHEN"}, {46, "PERIOD"}, {47, "SLASH"}, {58, "COLON"}, {59, "SEMICOLON"}, {60, "LESS_THAN"}, {61, "EQUAL_SIGN"}, {62, "GREATER_THAN"}, {63, "QUESTION_MARK"}, {64, "AT_SIGN"}, {91, "LEFT_BRACKET"}, {92, "BACKSLASH"}, {93, "RIGHT_BRACKET"}, {94, "CIRCUMFLEX"}, {95, "UNDERSCORE"}, {96, "GRAVE"}, {123, "LEFT_BRACE"}, {124, "VERTICAL_BAR"}, {125, "RIGHT_BRACE"}, {126, "TILDE"} }; int i = 0; int flag = FALSE; if (strlen(syllable) == 1) { for (i = 0; i < 42; i++) { if(*syllable == ssn[i].symbol) { (void)memcpy((void*)h_syllable, (void*)ssn[i].name, strlen(ssn[i].name)); flag = TRUE; } } if (flag != TRUE) (void)memcpy((void*)h_syllable, (void*)syllable, strlen(syllable)); } } /* ** spell_word - spell the word ** INPUT: ** char * - pointer to the word ** char * - pointer to the spelled word ** OUTPUT: ** char * - pointer to the spelled word ** NULL - something is wrong ** NOTES: ** You should free() memory pointed by spelled_word after each use of spell_word */ char * spell_word(char * word, char * spelled_word) { struct char_spell { char symbol; char *name; }; static struct char_spell cs[94] = { {'1',"ONE" }, {'2',"TWO" }, {'3',"THREE" }, {'4',"FOUR" }, {'5',"FIVE" }, {'6',"SIX" }, {'7',"SEVEN" }, {'8',"EIGHT" }, {'9',"NINE" }, {'0',"ZERO" }, {'A', "Alfa" }, {'B', "Bravo" }, {'C', "Charlie" }, {'D', "Delta" }, {'E', "Echo" }, {'F', "Foxtrot" }, {'G', "Golf" }, {'H', "Hotel" }, {'I', "India" }, {'J', "Juliett" }, {'K', "Kilo" }, {'L', "Lima" }, {'M', "Mike" }, {'N', "November" }, {'O', "Oscar" }, {'P', "Papa" }, {'Q', "Quebec" }, {'R', "Romeo" }, {'S', "Sierra" }, {'T', "Tango" }, {'U', "Uniform" }, {'V', "Victor" }, {'W', "Whiskey" }, {'X', "X_ray" }, {'Y', "Yankee" }, {'Z', "Zulu" }, {'a', "alfa" }, {'b', "bravo" }, {'c', "charlie" }, {'d', "delta" }, {'e', "echo" }, {'f', "foxtrot" }, {'g', "golf" }, {'h', "hotel" }, {'i', "india" }, {'j', "juliett" }, {'k', "kilo" }, {'l', "lima" }, {'m', "mike" }, {'n', "november" }, {'o', "oscar" }, {'p', "papa" }, {'q', "quebec" }, {'r', "romeo" }, {'s', "sierra" }, {'t', "tango" }, {'u', "uniform" }, {'v', "victor" }, {'w', "whiskey" }, {'x', "x_ray" }, {'y', "yankee" }, {'z', "zulu" }, {33, "EXCLAMATION_POINT"}, {34, "QUOTATION_MARK" }, {35, "CROSSHATCH" }, {36, "DOLLAR_SIGN" }, {37, "PERCENT_SIGN" }, {38, "AMPERSAND" }, {39, "APOSTROPHE" }, {40, "LEFT_PARENTHESIS" }, {41, "RIGHT_PARENTHESIS"}, {42, "ASTERISK" }, {43, "PLUS_SIGN" }, {44, "COMMA" }, {45, "HYPHEN" }, {46, "PERIOD" }, {47, "SLASH" }, {58, "COLON" }, {59, "SEMICOLON" }, {60, "LESS_THAN" }, {61, "EQUAL_SIGN" }, {62, "GREATER_THAN" }, {63, "QUESTION_MARK" }, {64, "AT_SIGN" }, {91, "LEFT_BRACKET" }, {92, "BACKSLASH" }, {93, "RIGHT_BRACKET" }, {94, "CIRCUMFLEX" }, {95, "UNDERSCORE" }, {96, "GRAVE" }, {123, "LEFT_BRACE" }, {124, "VERTICAL_BAR" }, {125, "RIGHT_BRACE" }, {126, "TILDE" } }; int s_length = 0; int i = 0; int j = 0; int word_len = strlen(word); char * tmp_ptr; char hyphen = '-'; char zero = 0x00; /* Count the length of the spelled word */ for (i=0; i <= word_len; i++) for (j=0; j < 94; j++) if (word[i] == cs[j].symbol) { s_length = s_length + strlen(cs[j].name) + 1; continue; } /* Allocate memory for spelled word */ if ( (spelled_word = (char *)calloc(1, (size_t)s_length)) == NULL) return(NULL); /* Construct spelled word */ tmp_ptr = spelled_word; for (i=0; i < word_len; i++) for (j=0; j < 94; j++) if (word[i] == cs[j].symbol) { (void) memcpy((void *)tmp_ptr, (void *)cs[j].name, strlen(cs[j].name)); tmp_ptr = tmp_ptr + strlen(cs[j].name); /* Place the hyphen after each symbol */ (void) memcpy((void *)(tmp_ptr), (void *)&hyphen, 1); tmp_ptr = tmp_ptr + 1; continue; } /* Remove hyphen at the end of the word */ tmp_ptr = tmp_ptr - 1; (void) memcpy((void *)(tmp_ptr), (void *)&zero, 1); return (spelled_word); } #endif /* APGBFM */ keepassx-0.4.3/src/apg/pronpass.c0000664000175000017500000023313411321651457015725 0ustar felixfelix/* ** This module uses code from the NIST implementation of FIPS-181, ** but the algorythm is CHANGED and I think that I CAN ** copyright it. See copiright notes below. */ /* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ #include #include #include "random.h" #include "pronpass.h" #include "randpass.h" #include "convert.h" struct unit { char unit_code[5]; USHORT flags; }; static struct unit rules[] = { {"a", VOWEL}, {"b", NO_SPECIAL_RULE}, {"c", NO_SPECIAL_RULE}, {"d", NO_SPECIAL_RULE}, {"e", NO_FINAL_SPLIT | VOWEL}, {"f", NO_SPECIAL_RULE}, {"g", NO_SPECIAL_RULE}, {"h", NO_SPECIAL_RULE}, {"i", VOWEL}, {"j", NO_SPECIAL_RULE}, {"k", NO_SPECIAL_RULE}, {"l", NO_SPECIAL_RULE}, {"m", NO_SPECIAL_RULE}, {"n", NO_SPECIAL_RULE}, {"o", VOWEL}, {"p", NO_SPECIAL_RULE}, {"r", NO_SPECIAL_RULE}, {"s", NO_SPECIAL_RULE}, {"t", NO_SPECIAL_RULE}, {"u", VOWEL}, {"v", NO_SPECIAL_RULE}, {"w", NO_SPECIAL_RULE}, {"x", NOT_BEGIN_SYLLABLE}, {"y", ALTERNATE_VOWEL | VOWEL}, {"z", NO_SPECIAL_RULE}, {"ch", NO_SPECIAL_RULE}, {"gh", NO_SPECIAL_RULE}, {"ph", NO_SPECIAL_RULE}, {"rh", NO_SPECIAL_RULE}, {"sh", NO_SPECIAL_RULE}, {"th", NO_SPECIAL_RULE}, {"wh", NO_SPECIAL_RULE}, {"qu", NO_SPECIAL_RULE}, {"ck", NOT_BEGIN_SYLLABLE} }; static int digram[][RULE_SIZE] = { {/* aa */ ILLEGAL_PAIR, /* ab */ ANY_COMBINATION, /* ac */ ANY_COMBINATION, /* ad */ ANY_COMBINATION, /* ae */ ILLEGAL_PAIR, /* af */ ANY_COMBINATION, /* ag */ ANY_COMBINATION, /* ah */ NOT_BEGIN | BREAK | NOT_END, /* ai */ ANY_COMBINATION, /* aj */ ANY_COMBINATION, /* ak */ ANY_COMBINATION, /* al */ ANY_COMBINATION, /* am */ ANY_COMBINATION, /* an */ ANY_COMBINATION, /* ao */ ILLEGAL_PAIR, /* ap */ ANY_COMBINATION, /* ar */ ANY_COMBINATION, /* as */ ANY_COMBINATION, /* at */ ANY_COMBINATION, /* au */ ANY_COMBINATION, /* av */ ANY_COMBINATION, /* aw */ ANY_COMBINATION, /* ax */ ANY_COMBINATION, /* ay */ ANY_COMBINATION, /* az */ ANY_COMBINATION, /* ach */ ANY_COMBINATION, /* agh */ ILLEGAL_PAIR, /* aph */ ANY_COMBINATION, /* arh */ ILLEGAL_PAIR, /* ash */ ANY_COMBINATION, /* ath */ ANY_COMBINATION, /* awh */ ILLEGAL_PAIR, /* aqu */ BREAK | NOT_END, /* ack */ ANY_COMBINATION}, {/* ba */ ANY_COMBINATION, /* bb */ NOT_BEGIN | BREAK | NOT_END, /* bc */ NOT_BEGIN | BREAK | NOT_END, /* bd */ NOT_BEGIN | BREAK | NOT_END, /* be */ ANY_COMBINATION, /* bf */ NOT_BEGIN | BREAK | NOT_END, /* bg */ NOT_BEGIN | BREAK | NOT_END, /* bh */ NOT_BEGIN | BREAK | NOT_END, /* bi */ ANY_COMBINATION, /* bj */ NOT_BEGIN | BREAK | NOT_END, /* bk */ NOT_BEGIN | BREAK | NOT_END, /* bl */ BEGIN | SUFFIX | NOT_END, /* bm */ NOT_BEGIN | BREAK | NOT_END, /* bn */ NOT_BEGIN | BREAK | NOT_END, /* bo */ ANY_COMBINATION, /* bp */ NOT_BEGIN | BREAK | NOT_END, /* br */ BEGIN | END, /* bs */ NOT_BEGIN, /* bt */ NOT_BEGIN | BREAK | NOT_END, /* bu */ ANY_COMBINATION, /* bv */ NOT_BEGIN | BREAK | NOT_END, /* bw */ NOT_BEGIN | BREAK | NOT_END, /* bx */ ILLEGAL_PAIR, /* by */ ANY_COMBINATION, /* bz */ NOT_BEGIN | BREAK | NOT_END, /* bch */ NOT_BEGIN | BREAK | NOT_END, /* bgh */ ILLEGAL_PAIR, /* bph */ NOT_BEGIN | BREAK | NOT_END, /* brh */ ILLEGAL_PAIR, /* bsh */ NOT_BEGIN | BREAK | NOT_END, /* bth */ NOT_BEGIN | BREAK | NOT_END, /* bwh */ ILLEGAL_PAIR, /* bqu */ NOT_BEGIN | BREAK | NOT_END, /* bck */ ILLEGAL_PAIR }, {/* ca */ ANY_COMBINATION, /* cb */ NOT_BEGIN | BREAK | NOT_END, /* cc */ NOT_BEGIN | BREAK | NOT_END, /* cd */ NOT_BEGIN | BREAK | NOT_END, /* ce */ ANY_COMBINATION, /* cf */ NOT_BEGIN | BREAK | NOT_END, /* cg */ NOT_BEGIN | BREAK | NOT_END, /* ch */ NOT_BEGIN | BREAK | NOT_END, /* ci */ ANY_COMBINATION, /* cj */ NOT_BEGIN | BREAK | NOT_END, /* ck */ NOT_BEGIN | BREAK | NOT_END, /* cl */ SUFFIX | NOT_END, /* cm */ NOT_BEGIN | BREAK | NOT_END, /* cn */ NOT_BEGIN | BREAK | NOT_END, /* co */ ANY_COMBINATION, /* cp */ NOT_BEGIN | BREAK | NOT_END, /* cr */ NOT_END, /* cs */ NOT_BEGIN | END, /* ct */ NOT_BEGIN | PREFIX, /* cu */ ANY_COMBINATION, /* cv */ NOT_BEGIN | BREAK | NOT_END, /* cw */ NOT_BEGIN | BREAK | NOT_END, /* cx */ ILLEGAL_PAIR, /* cy */ ANY_COMBINATION, /* cz */ NOT_BEGIN | BREAK | NOT_END, /* cch */ ILLEGAL_PAIR, /* cgh */ ILLEGAL_PAIR, /* cph */ NOT_BEGIN | BREAK | NOT_END, /* crh */ ILLEGAL_PAIR, /* csh */ NOT_BEGIN | BREAK | NOT_END, /* cth */ NOT_BEGIN | BREAK | NOT_END, /* cwh */ ILLEGAL_PAIR, /* cqu */ NOT_BEGIN | SUFFIX | NOT_END, /* cck */ ILLEGAL_PAIR}, {/* da */ ANY_COMBINATION, /* db */ NOT_BEGIN | BREAK | NOT_END, /* dc */ NOT_BEGIN | BREAK | NOT_END, /* dd */ NOT_BEGIN, /* de */ ANY_COMBINATION, /* df */ NOT_BEGIN | BREAK | NOT_END, /* dg */ NOT_BEGIN | BREAK | NOT_END, /* dh */ NOT_BEGIN | BREAK | NOT_END, /* di */ ANY_COMBINATION, /* dj */ NOT_BEGIN | BREAK | NOT_END, /* dk */ NOT_BEGIN | BREAK | NOT_END, /* dl */ NOT_BEGIN | BREAK | NOT_END, /* dm */ NOT_BEGIN | BREAK | NOT_END, /* dn */ NOT_BEGIN | BREAK | NOT_END, /* do */ ANY_COMBINATION, /* dp */ NOT_BEGIN | BREAK | NOT_END, /* dr */ BEGIN | NOT_END, /* ds */ NOT_BEGIN | END, /* dt */ NOT_BEGIN | BREAK | NOT_END, /* du */ ANY_COMBINATION, /* dv */ NOT_BEGIN | BREAK | NOT_END, /* dw */ NOT_BEGIN | BREAK | NOT_END, /* dx */ ILLEGAL_PAIR, /* dy */ ANY_COMBINATION, /* dz */ NOT_BEGIN | BREAK | NOT_END, /* dch */ NOT_BEGIN | BREAK | NOT_END, /* dgh */ NOT_BEGIN | BREAK | NOT_END, /* dph */ NOT_BEGIN | BREAK | NOT_END, /* drh */ ILLEGAL_PAIR, /* dsh */ NOT_BEGIN | NOT_END, /* dth */ NOT_BEGIN | PREFIX, /* dwh */ ILLEGAL_PAIR, /* dqu */ NOT_BEGIN | BREAK | NOT_END, /* dck */ ILLEGAL_PAIR }, {/* ea */ ANY_COMBINATION, /* eb */ ANY_COMBINATION, /* ec */ ANY_COMBINATION, /* ed */ ANY_COMBINATION, /* ee */ ANY_COMBINATION, /* ef */ ANY_COMBINATION, /* eg */ ANY_COMBINATION, /* eh */ NOT_BEGIN | BREAK | NOT_END, /* ei */ NOT_END, /* ej */ ANY_COMBINATION, /* ek */ ANY_COMBINATION, /* el */ ANY_COMBINATION, /* em */ ANY_COMBINATION, /* en */ ANY_COMBINATION, /* eo */ BREAK, /* ep */ ANY_COMBINATION, /* er */ ANY_COMBINATION, /* es */ ANY_COMBINATION, /* et */ ANY_COMBINATION, /* eu */ ANY_COMBINATION, /* ev */ ANY_COMBINATION, /* ew */ ANY_COMBINATION, /* ex */ ANY_COMBINATION, /* ey */ ANY_COMBINATION, /* ez */ ANY_COMBINATION, /* ech */ ANY_COMBINATION, /* egh */ NOT_BEGIN | BREAK | NOT_END, /* eph */ ANY_COMBINATION, /* erh */ ILLEGAL_PAIR, /* esh */ ANY_COMBINATION, /* eth */ ANY_COMBINATION, /* ewh */ ILLEGAL_PAIR, /* equ */ BREAK | NOT_END, /* eck */ ANY_COMBINATION }, {/* fa */ ANY_COMBINATION, /* fb */ NOT_BEGIN | BREAK | NOT_END, /* fc */ NOT_BEGIN | BREAK | NOT_END, /* fd */ NOT_BEGIN | BREAK | NOT_END, /* fe */ ANY_COMBINATION, /* ff */ NOT_BEGIN, /* fg */ NOT_BEGIN | BREAK | NOT_END, /* fh */ NOT_BEGIN | BREAK | NOT_END, /* fi */ ANY_COMBINATION, /* fj */ NOT_BEGIN | BREAK | NOT_END, /* fk */ NOT_BEGIN | BREAK | NOT_END, /* fl */ BEGIN | SUFFIX | NOT_END, /* fm */ NOT_BEGIN | BREAK | NOT_END, /* fn */ NOT_BEGIN | BREAK | NOT_END, /* fo */ ANY_COMBINATION, /* fp */ NOT_BEGIN | BREAK | NOT_END, /* fr */ BEGIN | NOT_END, /* fs */ NOT_BEGIN, /* ft */ NOT_BEGIN, /* fu */ ANY_COMBINATION, /* fv */ NOT_BEGIN | BREAK | NOT_END, /* fw */ NOT_BEGIN | BREAK | NOT_END, /* fx */ ILLEGAL_PAIR, /* fy */ NOT_BEGIN, /* fz */ NOT_BEGIN | BREAK | NOT_END, /* fch */ NOT_BEGIN | BREAK | NOT_END, /* fgh */ NOT_BEGIN | BREAK | NOT_END, /* fph */ NOT_BEGIN | BREAK | NOT_END, /* frh */ ILLEGAL_PAIR, /* fsh */ NOT_BEGIN | BREAK | NOT_END, /* fth */ NOT_BEGIN | BREAK | NOT_END, /* fwh */ ILLEGAL_PAIR, /* fqu */ NOT_BEGIN | BREAK | NOT_END, /* fck */ ILLEGAL_PAIR }, {/* ga */ ANY_COMBINATION, /* gb */ NOT_BEGIN | BREAK | NOT_END, /* gc */ NOT_BEGIN | BREAK | NOT_END, /* gd */ NOT_BEGIN | BREAK | NOT_END, /* ge */ ANY_COMBINATION, /* gf */ NOT_BEGIN | BREAK | NOT_END, /* gg */ NOT_BEGIN, /* gh */ NOT_BEGIN | BREAK | NOT_END, /* gi */ ANY_COMBINATION, /* gj */ NOT_BEGIN | BREAK | NOT_END, /* gk */ ILLEGAL_PAIR, /* gl */ BEGIN | SUFFIX | NOT_END, /* gm */ NOT_BEGIN | BREAK | NOT_END, /* gn */ NOT_BEGIN | BREAK | NOT_END, /* go */ ANY_COMBINATION, /* gp */ NOT_BEGIN | BREAK | NOT_END, /* gr */ BEGIN | NOT_END, /* gs */ NOT_BEGIN | END, /* gt */ NOT_BEGIN | BREAK | NOT_END, /* gu */ ANY_COMBINATION, /* gv */ NOT_BEGIN | BREAK | NOT_END, /* gw */ NOT_BEGIN | BREAK | NOT_END, /* gx */ ILLEGAL_PAIR, /* gy */ NOT_BEGIN, /* gz */ NOT_BEGIN | BREAK | NOT_END, /* gch */ NOT_BEGIN | BREAK | NOT_END, /* ggh */ ILLEGAL_PAIR, /* gph */ NOT_BEGIN | BREAK | NOT_END, /* grh */ ILLEGAL_PAIR, /* gsh */ NOT_BEGIN, /* gth */ NOT_BEGIN, /* gwh */ ILLEGAL_PAIR, /* gqu */ NOT_BEGIN | BREAK | NOT_END, /* gck */ ILLEGAL_PAIR }, {/* ha */ ANY_COMBINATION, /* hb */ NOT_BEGIN | BREAK | NOT_END, /* hc */ NOT_BEGIN | BREAK | NOT_END, /* hd */ NOT_BEGIN | BREAK | NOT_END, /* he */ ANY_COMBINATION, /* hf */ NOT_BEGIN | BREAK | NOT_END, /* hg */ NOT_BEGIN | BREAK | NOT_END, /* hh */ ILLEGAL_PAIR, /* hi */ ANY_COMBINATION, /* hj */ NOT_BEGIN | BREAK | NOT_END, /* hk */ NOT_BEGIN | BREAK | NOT_END, /* hl */ NOT_BEGIN | BREAK | NOT_END, /* hm */ NOT_BEGIN | BREAK | NOT_END, /* hn */ NOT_BEGIN | BREAK | NOT_END, /* ho */ ANY_COMBINATION, /* hp */ NOT_BEGIN | BREAK | NOT_END, /* hr */ NOT_BEGIN | BREAK | NOT_END, /* hs */ NOT_BEGIN | BREAK | NOT_END, /* ht */ NOT_BEGIN | BREAK | NOT_END, /* hu */ ANY_COMBINATION, /* hv */ NOT_BEGIN | BREAK | NOT_END, /* hw */ NOT_BEGIN | BREAK | NOT_END, /* hx */ ILLEGAL_PAIR, /* hy */ ANY_COMBINATION, /* hz */ NOT_BEGIN | BREAK | NOT_END, /* hch */ NOT_BEGIN | BREAK | NOT_END, /* hgh */ NOT_BEGIN | BREAK | NOT_END, /* hph */ NOT_BEGIN | BREAK | NOT_END, /* hrh */ ILLEGAL_PAIR, /* hsh */ NOT_BEGIN | BREAK | NOT_END, /* hth */ NOT_BEGIN | BREAK | NOT_END, /* hwh */ ILLEGAL_PAIR, /* hqu */ NOT_BEGIN | BREAK | NOT_END, /* hck */ ILLEGAL_PAIR }, {/* ia */ ANY_COMBINATION, /* ib */ ANY_COMBINATION, /* ic */ ANY_COMBINATION, /* id */ ANY_COMBINATION, /* ie */ NOT_BEGIN, /* if */ ANY_COMBINATION, /* ig */ ANY_COMBINATION, /* ih */ NOT_BEGIN | BREAK | NOT_END, /* ii */ ILLEGAL_PAIR, /* ij */ ANY_COMBINATION, /* ik */ ANY_COMBINATION, /* il */ ANY_COMBINATION, /* im */ ANY_COMBINATION, /* in */ ANY_COMBINATION, /* io */ BREAK, /* ip */ ANY_COMBINATION, /* ir */ ANY_COMBINATION, /* is */ ANY_COMBINATION, /* it */ ANY_COMBINATION, /* iu */ NOT_BEGIN | BREAK | NOT_END, /* iv */ ANY_COMBINATION, /* iw */ NOT_BEGIN | BREAK | NOT_END, /* ix */ ANY_COMBINATION, /* iy */ NOT_BEGIN | BREAK | NOT_END, /* iz */ ANY_COMBINATION, /* ich */ ANY_COMBINATION, /* igh */ NOT_BEGIN, /* iph */ ANY_COMBINATION, /* irh */ ILLEGAL_PAIR, /* ish */ ANY_COMBINATION, /* ith */ ANY_COMBINATION, /* iwh */ ILLEGAL_PAIR, /* iqu */ BREAK | NOT_END, /* ick */ ANY_COMBINATION }, {/* ja */ ANY_COMBINATION, /* jb */ NOT_BEGIN | BREAK | NOT_END, /* jc */ NOT_BEGIN | BREAK | NOT_END, /* jd */ NOT_BEGIN | BREAK | NOT_END, /* je */ ANY_COMBINATION, /* jf */ NOT_BEGIN | BREAK | NOT_END, /* jg */ ILLEGAL_PAIR, /* jh */ NOT_BEGIN | BREAK | NOT_END, /* ji */ ANY_COMBINATION, /* jj */ ILLEGAL_PAIR, /* jk */ NOT_BEGIN | BREAK | NOT_END, /* jl */ NOT_BEGIN | BREAK | NOT_END, /* jm */ NOT_BEGIN | BREAK | NOT_END, /* jn */ NOT_BEGIN | BREAK | NOT_END, /* jo */ ANY_COMBINATION, /* jp */ NOT_BEGIN | BREAK | NOT_END, /* jr */ NOT_BEGIN | BREAK | NOT_END, /* js */ NOT_BEGIN | BREAK | NOT_END, /* jt */ NOT_BEGIN | BREAK | NOT_END, /* ju */ ANY_COMBINATION, /* jv */ NOT_BEGIN | BREAK | NOT_END, /* jw */ NOT_BEGIN | BREAK | NOT_END, /* jx */ ILLEGAL_PAIR, /* jy */ NOT_BEGIN, /* jz */ NOT_BEGIN | BREAK | NOT_END, /* jch */ NOT_BEGIN | BREAK | NOT_END, /* jgh */ NOT_BEGIN | BREAK | NOT_END, /* jph */ NOT_BEGIN | BREAK | NOT_END, /* jrh */ ILLEGAL_PAIR, /* jsh */ NOT_BEGIN | BREAK | NOT_END, /* jth */ NOT_BEGIN | BREAK | NOT_END, /* jwh */ ILLEGAL_PAIR, /* jqu */ NOT_BEGIN | BREAK | NOT_END, /* jck */ ILLEGAL_PAIR }, {/* ka */ ANY_COMBINATION, /* kb */ NOT_BEGIN | BREAK | NOT_END, /* kc */ NOT_BEGIN | BREAK | NOT_END, /* kd */ NOT_BEGIN | BREAK | NOT_END, /* ke */ ANY_COMBINATION, /* kf */ NOT_BEGIN | BREAK | NOT_END, /* kg */ NOT_BEGIN | BREAK | NOT_END, /* kh */ NOT_BEGIN | BREAK | NOT_END, /* ki */ ANY_COMBINATION, /* kj */ NOT_BEGIN | BREAK | NOT_END, /* kk */ NOT_BEGIN | BREAK | NOT_END, /* kl */ SUFFIX | NOT_END, /* km */ NOT_BEGIN | BREAK | NOT_END, /* kn */ BEGIN | SUFFIX | NOT_END, /* ko */ ANY_COMBINATION, /* kp */ NOT_BEGIN | BREAK | NOT_END, /* kr */ SUFFIX | NOT_END, /* ks */ NOT_BEGIN | END, /* kt */ NOT_BEGIN | BREAK | NOT_END, /* ku */ ANY_COMBINATION, /* kv */ NOT_BEGIN | BREAK | NOT_END, /* kw */ NOT_BEGIN | BREAK | NOT_END, /* kx */ ILLEGAL_PAIR, /* ky */ NOT_BEGIN, /* kz */ NOT_BEGIN | BREAK | NOT_END, /* kch */ NOT_BEGIN | BREAK | NOT_END, /* kgh */ NOT_BEGIN | BREAK | NOT_END, /* kph */ NOT_BEGIN | PREFIX, /* krh */ ILLEGAL_PAIR, /* ksh */ NOT_BEGIN, /* kth */ NOT_BEGIN | BREAK | NOT_END, /* kwh */ ILLEGAL_PAIR, /* kqu */ NOT_BEGIN | BREAK | NOT_END, /* kck */ ILLEGAL_PAIR }, {/* la */ ANY_COMBINATION, /* lb */ NOT_BEGIN | PREFIX, /* lc */ NOT_BEGIN | BREAK | NOT_END, /* ld */ NOT_BEGIN | PREFIX, /* le */ ANY_COMBINATION, /* lf */ NOT_BEGIN | PREFIX, /* lg */ NOT_BEGIN | PREFIX, /* lh */ NOT_BEGIN | BREAK | NOT_END, /* li */ ANY_COMBINATION, /* lj */ NOT_BEGIN | PREFIX, /* lk */ NOT_BEGIN | PREFIX, /* ll */ NOT_BEGIN | PREFIX, /* lm */ NOT_BEGIN | PREFIX, /* ln */ NOT_BEGIN | BREAK | NOT_END, /* lo */ ANY_COMBINATION, /* lp */ NOT_BEGIN | PREFIX, /* lr */ NOT_BEGIN | BREAK | NOT_END, /* ls */ NOT_BEGIN, /* lt */ NOT_BEGIN | PREFIX, /* lu */ ANY_COMBINATION, /* lv */ NOT_BEGIN | PREFIX, /* lw */ NOT_BEGIN | BREAK | NOT_END, /* lx */ ILLEGAL_PAIR, /* ly */ ANY_COMBINATION, /* lz */ NOT_BEGIN | BREAK | NOT_END, /* lch */ NOT_BEGIN | PREFIX, /* lgh */ NOT_BEGIN | BREAK | NOT_END, /* lph */ NOT_BEGIN | PREFIX, /* lrh */ ILLEGAL_PAIR, /* lsh */ NOT_BEGIN | PREFIX, /* lth */ NOT_BEGIN | PREFIX, /* lwh */ ILLEGAL_PAIR, /* lqu */ NOT_BEGIN | BREAK | NOT_END, /* lck */ ILLEGAL_PAIR }, {/* ma */ ANY_COMBINATION, /* mb */ NOT_BEGIN | BREAK | NOT_END, /* mc */ NOT_BEGIN | BREAK | NOT_END, /* md */ NOT_BEGIN | BREAK | NOT_END, /* me */ ANY_COMBINATION, /* mf */ NOT_BEGIN | BREAK | NOT_END, /* mg */ NOT_BEGIN | BREAK | NOT_END, /* mh */ NOT_BEGIN | BREAK | NOT_END, /* mi */ ANY_COMBINATION, /* mj */ NOT_BEGIN | BREAK | NOT_END, /* mk */ NOT_BEGIN | BREAK | NOT_END, /* ml */ NOT_BEGIN | BREAK | NOT_END, /* mm */ NOT_BEGIN, /* mn */ NOT_BEGIN | BREAK | NOT_END, /* mo */ ANY_COMBINATION, /* mp */ NOT_BEGIN, /* mr */ NOT_BEGIN | BREAK | NOT_END, /* ms */ NOT_BEGIN, /* mt */ NOT_BEGIN, /* mu */ ANY_COMBINATION, /* mv */ NOT_BEGIN | BREAK | NOT_END, /* mw */ NOT_BEGIN | BREAK | NOT_END, /* mx */ ILLEGAL_PAIR, /* my */ ANY_COMBINATION, /* mz */ NOT_BEGIN | BREAK | NOT_END, /* mch */ NOT_BEGIN | PREFIX, /* mgh */ NOT_BEGIN | BREAK | NOT_END, /* mph */ NOT_BEGIN, /* mrh */ ILLEGAL_PAIR, /* msh */ NOT_BEGIN, /* mth */ NOT_BEGIN, /* mwh */ ILLEGAL_PAIR, /* mqu */ NOT_BEGIN | BREAK | NOT_END, /* mck */ ILLEGAL_PAIR }, {/* na */ ANY_COMBINATION, /* nb */ NOT_BEGIN | BREAK | NOT_END, /* nc */ NOT_BEGIN | BREAK | NOT_END, /* nd */ NOT_BEGIN, /* ne */ ANY_COMBINATION, /* nf */ NOT_BEGIN | BREAK | NOT_END, /* ng */ NOT_BEGIN | PREFIX, /* nh */ NOT_BEGIN | BREAK | NOT_END, /* ni */ ANY_COMBINATION, /* nj */ NOT_BEGIN | BREAK | NOT_END, /* nk */ NOT_BEGIN | PREFIX, /* nl */ NOT_BEGIN | BREAK | NOT_END, /* nm */ NOT_BEGIN | BREAK | NOT_END, /* nn */ NOT_BEGIN, /* no */ ANY_COMBINATION, /* np */ NOT_BEGIN | BREAK | NOT_END, /* nr */ NOT_BEGIN | BREAK | NOT_END, /* ns */ NOT_BEGIN, /* nt */ NOT_BEGIN, /* nu */ ANY_COMBINATION, /* nv */ NOT_BEGIN | BREAK | NOT_END, /* nw */ NOT_BEGIN | BREAK | NOT_END, /* nx */ ILLEGAL_PAIR, /* ny */ NOT_BEGIN, /* nz */ NOT_BEGIN | BREAK | NOT_END, /* nch */ NOT_BEGIN | PREFIX, /* ngh */ NOT_BEGIN | BREAK | NOT_END, /* nph */ NOT_BEGIN | PREFIX, /* nrh */ ILLEGAL_PAIR, /* nsh */ NOT_BEGIN, /* nth */ NOT_BEGIN, /* nwh */ ILLEGAL_PAIR, /* nqu */ NOT_BEGIN | BREAK | NOT_END, /* nck */ NOT_BEGIN | PREFIX }, {/* oa */ ANY_COMBINATION, /* ob */ ANY_COMBINATION, /* oc */ ANY_COMBINATION, /* od */ ANY_COMBINATION, /* oe */ ILLEGAL_PAIR, /* of */ ANY_COMBINATION, /* og */ ANY_COMBINATION, /* oh */ NOT_BEGIN | BREAK | NOT_END, /* oi */ ANY_COMBINATION, /* oj */ ANY_COMBINATION, /* ok */ ANY_COMBINATION, /* ol */ ANY_COMBINATION, /* om */ ANY_COMBINATION, /* on */ ANY_COMBINATION, /* oo */ ANY_COMBINATION, /* op */ ANY_COMBINATION, /* or */ ANY_COMBINATION, /* os */ ANY_COMBINATION, /* ot */ ANY_COMBINATION, /* ou */ ANY_COMBINATION, /* ov */ ANY_COMBINATION, /* ow */ ANY_COMBINATION, /* ox */ ANY_COMBINATION, /* oy */ ANY_COMBINATION, /* oz */ ANY_COMBINATION, /* och */ ANY_COMBINATION, /* ogh */ NOT_BEGIN, /* oph */ ANY_COMBINATION, /* orh */ ILLEGAL_PAIR, /* osh */ ANY_COMBINATION, /* oth */ ANY_COMBINATION, /* owh */ ILLEGAL_PAIR, /* oqu */ BREAK | NOT_END, /* ock */ ANY_COMBINATION }, {/* pa */ ANY_COMBINATION, /* pb */ NOT_BEGIN | BREAK | NOT_END, /* pc */ NOT_BEGIN | BREAK | NOT_END, /* pd */ NOT_BEGIN | BREAK | NOT_END, /* pe */ ANY_COMBINATION, /* pf */ NOT_BEGIN | BREAK | NOT_END, /* pg */ NOT_BEGIN | BREAK | NOT_END, /* ph */ NOT_BEGIN | BREAK | NOT_END, /* pi */ ANY_COMBINATION, /* pj */ NOT_BEGIN | BREAK | NOT_END, /* pk */ NOT_BEGIN | BREAK | NOT_END, /* pl */ SUFFIX | NOT_END, /* pm */ NOT_BEGIN | BREAK | NOT_END, /* pn */ NOT_BEGIN | BREAK | NOT_END, /* po */ ANY_COMBINATION, /* pp */ NOT_BEGIN | PREFIX, /* pr */ NOT_END, /* ps */ NOT_BEGIN | END, /* pt */ NOT_BEGIN | END, /* pu */ NOT_BEGIN | END, /* pv */ NOT_BEGIN | BREAK | NOT_END, /* pw */ NOT_BEGIN | BREAK | NOT_END, /* px */ ILLEGAL_PAIR, /* py */ ANY_COMBINATION, /* pz */ NOT_BEGIN | BREAK | NOT_END, /* pch */ NOT_BEGIN | BREAK | NOT_END, /* pgh */ NOT_BEGIN | BREAK | NOT_END, /* pph */ NOT_BEGIN | BREAK | NOT_END, /* prh */ ILLEGAL_PAIR, /* psh */ NOT_BEGIN | BREAK | NOT_END, /* pth */ NOT_BEGIN | BREAK | NOT_END, /* pwh */ ILLEGAL_PAIR, /* pqu */ NOT_BEGIN | BREAK | NOT_END, /* pck */ ILLEGAL_PAIR }, {/* ra */ ANY_COMBINATION, /* rb */ NOT_BEGIN | PREFIX, /* rc */ NOT_BEGIN | PREFIX, /* rd */ NOT_BEGIN | PREFIX, /* re */ ANY_COMBINATION, /* rf */ NOT_BEGIN | PREFIX, /* rg */ NOT_BEGIN | PREFIX, /* rh */ NOT_BEGIN | BREAK | NOT_END, /* ri */ ANY_COMBINATION, /* rj */ NOT_BEGIN | PREFIX, /* rk */ NOT_BEGIN | PREFIX, /* rl */ NOT_BEGIN | PREFIX, /* rm */ NOT_BEGIN | PREFIX, /* rn */ NOT_BEGIN | PREFIX, /* ro */ ANY_COMBINATION, /* rp */ NOT_BEGIN | PREFIX, /* rr */ NOT_BEGIN | PREFIX, /* rs */ NOT_BEGIN | PREFIX, /* rt */ NOT_BEGIN | PREFIX, /* ru */ ANY_COMBINATION, /* rv */ NOT_BEGIN | PREFIX, /* rw */ NOT_BEGIN | BREAK | NOT_END, /* rx */ ILLEGAL_PAIR, /* ry */ ANY_COMBINATION, /* rz */ NOT_BEGIN | PREFIX, /* rch */ NOT_BEGIN | PREFIX, /* rgh */ NOT_BEGIN | BREAK | NOT_END, /* rph */ NOT_BEGIN | PREFIX, /* rrh */ ILLEGAL_PAIR, /* rsh */ NOT_BEGIN | PREFIX, /* rth */ NOT_BEGIN | PREFIX, /* rwh */ ILLEGAL_PAIR, /* rqu */ NOT_BEGIN | PREFIX | NOT_END, /* rck */ NOT_BEGIN | PREFIX }, {/* sa */ ANY_COMBINATION, /* sb */ NOT_BEGIN | BREAK | NOT_END, /* sc */ NOT_END, /* sd */ NOT_BEGIN | BREAK | NOT_END, /* se */ ANY_COMBINATION, /* sf */ NOT_BEGIN | BREAK | NOT_END, /* sg */ NOT_BEGIN | BREAK | NOT_END, /* sh */ NOT_BEGIN | BREAK | NOT_END, /* si */ ANY_COMBINATION, /* sj */ NOT_BEGIN | BREAK | NOT_END, /* sk */ ANY_COMBINATION, /* sl */ BEGIN | SUFFIX | NOT_END, /* sm */ SUFFIX | NOT_END, /* sn */ PREFIX | SUFFIX | NOT_END, /* so */ ANY_COMBINATION, /* sp */ ANY_COMBINATION, /* sr */ NOT_BEGIN | NOT_END, /* ss */ NOT_BEGIN | PREFIX, /* st */ ANY_COMBINATION, /* su */ ANY_COMBINATION, /* sv */ NOT_BEGIN | BREAK | NOT_END, /* sw */ BEGIN | SUFFIX | NOT_END, /* sx */ ILLEGAL_PAIR, /* sy */ ANY_COMBINATION, /* sz */ NOT_BEGIN | BREAK | NOT_END, /* sch */ BEGIN | SUFFIX | NOT_END, /* sgh */ NOT_BEGIN | BREAK | NOT_END, /* sph */ NOT_BEGIN | BREAK | NOT_END, /* srh */ ILLEGAL_PAIR, /* ssh */ NOT_BEGIN | BREAK | NOT_END, /* sth */ NOT_BEGIN | BREAK | NOT_END, /* swh */ ILLEGAL_PAIR, /* squ */ SUFFIX | NOT_END, /* sck */ NOT_BEGIN }, {/* ta */ ANY_COMBINATION, /* tb */ NOT_BEGIN | BREAK | NOT_END, /* tc */ NOT_BEGIN | BREAK | NOT_END, /* td */ NOT_BEGIN | BREAK | NOT_END, /* te */ ANY_COMBINATION, /* tf */ NOT_BEGIN | BREAK | NOT_END, /* tg */ NOT_BEGIN | BREAK | NOT_END, /* th */ NOT_BEGIN | BREAK | NOT_END, /* ti */ ANY_COMBINATION, /* tj */ NOT_BEGIN | BREAK | NOT_END, /* tk */ NOT_BEGIN | BREAK | NOT_END, /* tl */ NOT_BEGIN | BREAK | NOT_END, /* tm */ NOT_BEGIN | BREAK | NOT_END, /* tn */ NOT_BEGIN | BREAK | NOT_END, /* to */ ANY_COMBINATION, /* tp */ NOT_BEGIN | BREAK | NOT_END, /* tr */ NOT_END, /* ts */ NOT_BEGIN | END, /* tt */ NOT_BEGIN | PREFIX, /* tu */ ANY_COMBINATION, /* tv */ NOT_BEGIN | BREAK | NOT_END, /* tw */ BEGIN | SUFFIX | NOT_END, /* tx */ ILLEGAL_PAIR, /* ty */ ANY_COMBINATION, /* tz */ NOT_BEGIN | BREAK | NOT_END, /* tch */ NOT_BEGIN, /* tgh */ NOT_BEGIN | BREAK | NOT_END, /* tph */ NOT_BEGIN | END, /* trh */ ILLEGAL_PAIR, /* tsh */ NOT_BEGIN | END, /* tth */ NOT_BEGIN | BREAK | NOT_END, /* twh */ ILLEGAL_PAIR, /* tqu */ NOT_BEGIN | BREAK | NOT_END, /* tck */ ILLEGAL_PAIR }, {/* ua */ NOT_BEGIN | BREAK | NOT_END, /* ub */ ANY_COMBINATION, /* uc */ ANY_COMBINATION, /* ud */ ANY_COMBINATION, /* ue */ NOT_BEGIN, /* uf */ ANY_COMBINATION, /* ug */ ANY_COMBINATION, /* uh */ NOT_BEGIN | BREAK | NOT_END, /* ui */ NOT_BEGIN | BREAK | NOT_END, /* uj */ ANY_COMBINATION, /* uk */ ANY_COMBINATION, /* ul */ ANY_COMBINATION, /* um */ ANY_COMBINATION, /* un */ ANY_COMBINATION, /* uo */ NOT_BEGIN | BREAK, /* up */ ANY_COMBINATION, /* ur */ ANY_COMBINATION, /* us */ ANY_COMBINATION, /* ut */ ANY_COMBINATION, /* uu */ ILLEGAL_PAIR, /* uv */ ANY_COMBINATION, /* uw */ NOT_BEGIN | BREAK | NOT_END, /* ux */ ANY_COMBINATION, /* uy */ NOT_BEGIN | BREAK | NOT_END, /* uz */ ANY_COMBINATION, /* uch */ ANY_COMBINATION, /* ugh */ NOT_BEGIN | PREFIX, /* uph */ ANY_COMBINATION, /* urh */ ILLEGAL_PAIR, /* ush */ ANY_COMBINATION, /* uth */ ANY_COMBINATION, /* uwh */ ILLEGAL_PAIR, /* uqu */ BREAK | NOT_END, /* uck */ ANY_COMBINATION }, {/* va */ ANY_COMBINATION, /* vb */ NOT_BEGIN | BREAK | NOT_END, /* vc */ NOT_BEGIN | BREAK | NOT_END, /* vd */ NOT_BEGIN | BREAK | NOT_END, /* ve */ ANY_COMBINATION, /* vf */ NOT_BEGIN | BREAK | NOT_END, /* vg */ NOT_BEGIN | BREAK | NOT_END, /* vh */ NOT_BEGIN | BREAK | NOT_END, /* vi */ ANY_COMBINATION, /* vj */ NOT_BEGIN | BREAK | NOT_END, /* vk */ NOT_BEGIN | BREAK | NOT_END, /* vl */ NOT_BEGIN | BREAK | NOT_END, /* vm */ NOT_BEGIN | BREAK | NOT_END, /* vn */ NOT_BEGIN | BREAK | NOT_END, /* vo */ ANY_COMBINATION, /* vp */ NOT_BEGIN | BREAK | NOT_END, /* vr */ NOT_BEGIN | BREAK | NOT_END, /* vs */ NOT_BEGIN | BREAK | NOT_END, /* vt */ NOT_BEGIN | BREAK | NOT_END, /* vu */ ANY_COMBINATION, /* vv */ NOT_BEGIN | BREAK | NOT_END, /* vw */ NOT_BEGIN | BREAK | NOT_END, /* vx */ ILLEGAL_PAIR, /* vy */ NOT_BEGIN, /* vz */ NOT_BEGIN | BREAK | NOT_END, /* vch */ NOT_BEGIN | BREAK | NOT_END, /* vgh */ NOT_BEGIN | BREAK | NOT_END, /* vph */ NOT_BEGIN | BREAK | NOT_END, /* vrh */ ILLEGAL_PAIR, /* vsh */ NOT_BEGIN | BREAK | NOT_END, /* vth */ NOT_BEGIN | BREAK | NOT_END, /* vwh */ ILLEGAL_PAIR, /* vqu */ NOT_BEGIN | BREAK | NOT_END, /* vck */ ILLEGAL_PAIR }, {/* wa */ ANY_COMBINATION, /* wb */ NOT_BEGIN | PREFIX, /* wc */ NOT_BEGIN | BREAK | NOT_END, /* wd */ NOT_BEGIN | PREFIX | END, /* we */ ANY_COMBINATION, /* wf */ NOT_BEGIN | PREFIX, /* wg */ NOT_BEGIN | PREFIX | END, /* wh */ NOT_BEGIN | BREAK | NOT_END, /* wi */ ANY_COMBINATION, /* wj */ NOT_BEGIN | BREAK | NOT_END, /* wk */ NOT_BEGIN | PREFIX, /* wl */ NOT_BEGIN | PREFIX | SUFFIX, /* wm */ NOT_BEGIN | PREFIX, /* wn */ NOT_BEGIN | PREFIX, /* wo */ ANY_COMBINATION, /* wp */ NOT_BEGIN | PREFIX, /* wr */ BEGIN | SUFFIX | NOT_END, /* ws */ NOT_BEGIN | PREFIX, /* wt */ NOT_BEGIN | PREFIX, /* wu */ ANY_COMBINATION, /* wv */ NOT_BEGIN | PREFIX, /* ww */ NOT_BEGIN | BREAK | NOT_END, /* wx */ NOT_BEGIN | PREFIX, /* wy */ ANY_COMBINATION, /* wz */ NOT_BEGIN | PREFIX, /* wch */ NOT_BEGIN, /* wgh */ NOT_BEGIN | BREAK | NOT_END, /* wph */ NOT_BEGIN, /* wrh */ ILLEGAL_PAIR, /* wsh */ NOT_BEGIN, /* wth */ NOT_BEGIN, /* wwh */ ILLEGAL_PAIR, /* wqu */ NOT_BEGIN | BREAK | NOT_END, /* wck */ NOT_BEGIN }, {/* xa */ NOT_BEGIN, /* xb */ NOT_BEGIN | BREAK | NOT_END, /* xc */ NOT_BEGIN | BREAK | NOT_END, /* xd */ NOT_BEGIN | BREAK | NOT_END, /* xe */ NOT_BEGIN, /* xf */ NOT_BEGIN | BREAK | NOT_END, /* xg */ NOT_BEGIN | BREAK | NOT_END, /* xh */ NOT_BEGIN | BREAK | NOT_END, /* xi */ NOT_BEGIN, /* xj */ NOT_BEGIN | BREAK | NOT_END, /* xk */ NOT_BEGIN | BREAK | NOT_END, /* xl */ NOT_BEGIN | BREAK | NOT_END, /* xm */ NOT_BEGIN | BREAK | NOT_END, /* xn */ NOT_BEGIN | BREAK | NOT_END, /* xo */ NOT_BEGIN, /* xp */ NOT_BEGIN | BREAK | NOT_END, /* xr */ NOT_BEGIN | BREAK | NOT_END, /* xs */ NOT_BEGIN | BREAK | NOT_END, /* xt */ NOT_BEGIN | BREAK | NOT_END, /* xu */ NOT_BEGIN, /* xv */ NOT_BEGIN | BREAK | NOT_END, /* xw */ NOT_BEGIN | BREAK | NOT_END, /* xx */ ILLEGAL_PAIR, /* xy */ NOT_BEGIN, /* xz */ NOT_BEGIN | BREAK | NOT_END, /* xch */ NOT_BEGIN | BREAK | NOT_END, /* xgh */ NOT_BEGIN | BREAK | NOT_END, /* xph */ NOT_BEGIN | BREAK | NOT_END, /* xrh */ ILLEGAL_PAIR, /* xsh */ NOT_BEGIN | BREAK | NOT_END, /* xth */ NOT_BEGIN | BREAK | NOT_END, /* xwh */ ILLEGAL_PAIR, /* xqu */ NOT_BEGIN | BREAK | NOT_END, /* xck */ ILLEGAL_PAIR }, {/* ya */ ANY_COMBINATION, /* yb */ NOT_BEGIN, /* yc */ NOT_BEGIN | NOT_END, /* yd */ NOT_BEGIN, /* ye */ ANY_COMBINATION, /* yf */ NOT_BEGIN | NOT_END, /* yg */ NOT_BEGIN, /* yh */ NOT_BEGIN | BREAK | NOT_END, /* yi */ BEGIN | NOT_END, /* yj */ NOT_BEGIN | NOT_END, /* yk */ NOT_BEGIN, /* yl */ NOT_BEGIN | NOT_END, /* ym */ NOT_BEGIN, /* yn */ NOT_BEGIN, /* yo */ ANY_COMBINATION, /* yp */ NOT_BEGIN, /* yr */ NOT_BEGIN | BREAK | NOT_END, /* ys */ NOT_BEGIN, /* yt */ NOT_BEGIN, /* yu */ ANY_COMBINATION, /* yv */ NOT_BEGIN | NOT_END, /* yw */ NOT_BEGIN | BREAK | NOT_END, /* yx */ NOT_BEGIN, /* yy */ ILLEGAL_PAIR, /* yz */ NOT_BEGIN, /* ych */ NOT_BEGIN | BREAK | NOT_END, /* ygh */ NOT_BEGIN | BREAK | NOT_END, /* yph */ NOT_BEGIN | BREAK | NOT_END, /* yrh */ ILLEGAL_PAIR, /* ysh */ NOT_BEGIN | BREAK | NOT_END, /* yth */ NOT_BEGIN | BREAK | NOT_END, /* ywh */ ILLEGAL_PAIR, /* yqu */ NOT_BEGIN | BREAK | NOT_END, /* yck */ ILLEGAL_PAIR }, {/* za */ ANY_COMBINATION, /* zb */ NOT_BEGIN | BREAK | NOT_END, /* zc */ NOT_BEGIN | BREAK | NOT_END, /* zd */ NOT_BEGIN | BREAK | NOT_END, /* ze */ ANY_COMBINATION, /* zf */ NOT_BEGIN | BREAK | NOT_END, /* zg */ NOT_BEGIN | BREAK | NOT_END, /* zh */ NOT_BEGIN | BREAK | NOT_END, /* zi */ ANY_COMBINATION, /* zj */ NOT_BEGIN | BREAK | NOT_END, /* zk */ NOT_BEGIN | BREAK | NOT_END, /* zl */ NOT_BEGIN | BREAK | NOT_END, /* zm */ NOT_BEGIN | BREAK | NOT_END, /* zn */ NOT_BEGIN | BREAK | NOT_END, /* zo */ ANY_COMBINATION, /* zp */ NOT_BEGIN | BREAK | NOT_END, /* zr */ NOT_BEGIN | NOT_END, /* zs */ NOT_BEGIN | BREAK | NOT_END, /* zt */ NOT_BEGIN, /* zu */ ANY_COMBINATION, /* zv */ NOT_BEGIN | BREAK | NOT_END, /* zw */ SUFFIX | NOT_END, /* zx */ ILLEGAL_PAIR, /* zy */ ANY_COMBINATION, /* zz */ NOT_BEGIN, /* zch */ NOT_BEGIN | BREAK | NOT_END, /* zgh */ NOT_BEGIN | BREAK | NOT_END, /* zph */ NOT_BEGIN | BREAK | NOT_END, /* zrh */ ILLEGAL_PAIR, /* zsh */ NOT_BEGIN | BREAK | NOT_END, /* zth */ NOT_BEGIN | BREAK | NOT_END, /* zwh */ ILLEGAL_PAIR, /* zqu */ NOT_BEGIN | BREAK | NOT_END, /* zck */ ILLEGAL_PAIR }, {/* cha */ ANY_COMBINATION, /* chb */ NOT_BEGIN | BREAK | NOT_END, /* chc */ NOT_BEGIN | BREAK | NOT_END, /* chd */ NOT_BEGIN | BREAK | NOT_END, /* che */ ANY_COMBINATION, /* chf */ NOT_BEGIN | BREAK | NOT_END, /* chg */ NOT_BEGIN | BREAK | NOT_END, /* chh */ NOT_BEGIN | BREAK | NOT_END, /* chi */ ANY_COMBINATION, /* chj */ NOT_BEGIN | BREAK | NOT_END, /* chk */ NOT_BEGIN | BREAK | NOT_END, /* chl */ NOT_BEGIN | BREAK | NOT_END, /* chm */ NOT_BEGIN | BREAK | NOT_END, /* chn */ NOT_BEGIN | BREAK | NOT_END, /* cho */ ANY_COMBINATION, /* chp */ NOT_BEGIN | BREAK | NOT_END, /* chr */ NOT_END, /* chs */ NOT_BEGIN | BREAK | NOT_END, /* cht */ NOT_BEGIN | BREAK | NOT_END, /* chu */ ANY_COMBINATION, /* chv */ NOT_BEGIN | BREAK | NOT_END, /* chw */ NOT_BEGIN | NOT_END, /* chx */ ILLEGAL_PAIR, /* chy */ ANY_COMBINATION, /* chz */ NOT_BEGIN | BREAK | NOT_END, /* chch */ ILLEGAL_PAIR, /* chgh */ NOT_BEGIN | BREAK | NOT_END, /* chph */ NOT_BEGIN | BREAK | NOT_END, /* chrh */ ILLEGAL_PAIR, /* chsh */ NOT_BEGIN | BREAK | NOT_END, /* chth */ NOT_BEGIN | BREAK | NOT_END, /* chwh */ ILLEGAL_PAIR, /* chqu */ NOT_BEGIN | BREAK | NOT_END, /* chck */ ILLEGAL_PAIR }, {/* gha */ ANY_COMBINATION, /* ghb */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghc */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghd */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghe */ ANY_COMBINATION, /* ghf */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghg */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghh */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghi */ BEGIN | NOT_END, /* ghj */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghk */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghl */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghm */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghn */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* gho */ BEGIN | NOT_END, /* ghp */ NOT_BEGIN | BREAK | NOT_END, /* ghr */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghs */ NOT_BEGIN | PREFIX, /* ght */ NOT_BEGIN | PREFIX, /* ghu */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghv */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghw */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghx */ ILLEGAL_PAIR, /* ghy */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghz */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghch */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghgh */ ILLEGAL_PAIR, /* ghph */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghrh */ ILLEGAL_PAIR, /* ghsh */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghth */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghwh */ ILLEGAL_PAIR, /* ghqu */ NOT_BEGIN | BREAK | PREFIX | NOT_END, /* ghck */ ILLEGAL_PAIR }, {/* pha */ ANY_COMBINATION, /* phb */ NOT_BEGIN | BREAK | NOT_END, /* phc */ NOT_BEGIN | BREAK | NOT_END, /* phd */ NOT_BEGIN | BREAK | NOT_END, /* phe */ ANY_COMBINATION, /* phf */ NOT_BEGIN | BREAK | NOT_END, /* phg */ NOT_BEGIN | BREAK | NOT_END, /* phh */ NOT_BEGIN | BREAK | NOT_END, /* phi */ ANY_COMBINATION, /* phj */ NOT_BEGIN | BREAK | NOT_END, /* phk */ NOT_BEGIN | BREAK | NOT_END, /* phl */ BEGIN | SUFFIX | NOT_END, /* phm */ NOT_BEGIN | BREAK | NOT_END, /* phn */ NOT_BEGIN | BREAK | NOT_END, /* pho */ ANY_COMBINATION, /* php */ NOT_BEGIN | BREAK | NOT_END, /* phr */ NOT_END, /* phs */ NOT_BEGIN, /* pht */ NOT_BEGIN, /* phu */ ANY_COMBINATION, /* phv */ NOT_BEGIN | NOT_END, /* phw */ NOT_BEGIN | NOT_END, /* phx */ ILLEGAL_PAIR, /* phy */ NOT_BEGIN, /* phz */ NOT_BEGIN | BREAK | NOT_END, /* phch */ NOT_BEGIN | BREAK | NOT_END, /* phgh */ NOT_BEGIN | BREAK | NOT_END, /* phph */ ILLEGAL_PAIR, /* phrh */ ILLEGAL_PAIR, /* phsh */ NOT_BEGIN | BREAK | NOT_END, /* phth */ NOT_BEGIN | BREAK | NOT_END, /* phwh */ ILLEGAL_PAIR, /* phqu */ NOT_BEGIN | BREAK | NOT_END, /* phck */ ILLEGAL_PAIR }, {/* rha */ BEGIN | NOT_END, /* rhb */ ILLEGAL_PAIR, /* rhc */ ILLEGAL_PAIR, /* rhd */ ILLEGAL_PAIR, /* rhe */ BEGIN | NOT_END, /* rhf */ ILLEGAL_PAIR, /* rhg */ ILLEGAL_PAIR, /* rhh */ ILLEGAL_PAIR, /* rhi */ BEGIN | NOT_END, /* rhj */ ILLEGAL_PAIR, /* rhk */ ILLEGAL_PAIR, /* rhl */ ILLEGAL_PAIR, /* rhm */ ILLEGAL_PAIR, /* rhn */ ILLEGAL_PAIR, /* rho */ BEGIN | NOT_END, /* rhp */ ILLEGAL_PAIR, /* rhr */ ILLEGAL_PAIR, /* rhs */ ILLEGAL_PAIR, /* rht */ ILLEGAL_PAIR, /* rhu */ BEGIN | NOT_END, /* rhv */ ILLEGAL_PAIR, /* rhw */ ILLEGAL_PAIR, /* rhx */ ILLEGAL_PAIR, /* rhy */ BEGIN | NOT_END, /* rhz */ ILLEGAL_PAIR, /* rhch */ ILLEGAL_PAIR, /* rhgh */ ILLEGAL_PAIR, /* rhph */ ILLEGAL_PAIR, /* rhrh */ ILLEGAL_PAIR, /* rhsh */ ILLEGAL_PAIR, /* rhth */ ILLEGAL_PAIR, /* rhwh */ ILLEGAL_PAIR, /* rhqu */ ILLEGAL_PAIR, /* rhck */ ILLEGAL_PAIR }, {/* sha */ ANY_COMBINATION, /* shb */ NOT_BEGIN | BREAK | NOT_END, /* shc */ NOT_BEGIN | BREAK | NOT_END, /* shd */ NOT_BEGIN | BREAK | NOT_END, /* she */ ANY_COMBINATION, /* shf */ NOT_BEGIN | BREAK | NOT_END, /* shg */ NOT_BEGIN | BREAK | NOT_END, /* shh */ ILLEGAL_PAIR, /* shi */ ANY_COMBINATION, /* shj */ NOT_BEGIN | BREAK | NOT_END, /* shk */ NOT_BEGIN, /* shl */ BEGIN | SUFFIX | NOT_END, /* shm */ BEGIN | SUFFIX | NOT_END, /* shn */ BEGIN | SUFFIX | NOT_END, /* sho */ ANY_COMBINATION, /* shp */ NOT_BEGIN, /* shr */ BEGIN | SUFFIX | NOT_END, /* shs */ NOT_BEGIN | BREAK | NOT_END, /* sht */ SUFFIX, /* shu */ ANY_COMBINATION, /* shv */ NOT_BEGIN | BREAK | NOT_END, /* shw */ SUFFIX | NOT_END, /* shx */ ILLEGAL_PAIR, /* shy */ ANY_COMBINATION, /* shz */ NOT_BEGIN | BREAK | NOT_END, /* shch */ NOT_BEGIN | BREAK | NOT_END, /* shgh */ NOT_BEGIN | BREAK | NOT_END, /* shph */ NOT_BEGIN | BREAK | NOT_END, /* shrh */ ILLEGAL_PAIR, /* shsh */ ILLEGAL_PAIR, /* shth */ NOT_BEGIN | BREAK | NOT_END, /* shwh */ ILLEGAL_PAIR, /* shqu */ NOT_BEGIN | BREAK | NOT_END, /* shck */ ILLEGAL_PAIR }, {/* tha */ ANY_COMBINATION, /* thb */ NOT_BEGIN | BREAK | NOT_END, /* thc */ NOT_BEGIN | BREAK | NOT_END, /* thd */ NOT_BEGIN | BREAK | NOT_END, /* the */ ANY_COMBINATION, /* thf */ NOT_BEGIN | BREAK | NOT_END, /* thg */ NOT_BEGIN | BREAK | NOT_END, /* thh */ NOT_BEGIN | BREAK | NOT_END, /* thi */ ANY_COMBINATION, /* thj */ NOT_BEGIN | BREAK | NOT_END, /* thk */ NOT_BEGIN | BREAK | NOT_END, /* thl */ NOT_BEGIN | BREAK | NOT_END, /* thm */ NOT_BEGIN | BREAK | NOT_END, /* thn */ NOT_BEGIN | BREAK | NOT_END, /* tho */ ANY_COMBINATION, /* thp */ NOT_BEGIN | BREAK | NOT_END, /* thr */ NOT_END, /* ths */ NOT_BEGIN | END, /* tht */ NOT_BEGIN | BREAK | NOT_END, /* thu */ ANY_COMBINATION, /* thv */ NOT_BEGIN | BREAK | NOT_END, /* thw */ SUFFIX | NOT_END, /* thx */ ILLEGAL_PAIR, /* thy */ ANY_COMBINATION, /* thz */ NOT_BEGIN | BREAK | NOT_END, /* thch */ NOT_BEGIN | BREAK | NOT_END, /* thgh */ NOT_BEGIN | BREAK | NOT_END, /* thph */ NOT_BEGIN | BREAK | NOT_END, /* thrh */ ILLEGAL_PAIR, /* thsh */ NOT_BEGIN | BREAK | NOT_END, /* thth */ ILLEGAL_PAIR, /* thwh */ ILLEGAL_PAIR, /* thqu */ NOT_BEGIN | BREAK | NOT_END, /* thck */ ILLEGAL_PAIR }, {/* wha */ BEGIN | NOT_END, /* whb */ ILLEGAL_PAIR, /* whc */ ILLEGAL_PAIR, /* whd */ ILLEGAL_PAIR, /* whe */ BEGIN | NOT_END, /* whf */ ILLEGAL_PAIR, /* whg */ ILLEGAL_PAIR, /* whh */ ILLEGAL_PAIR, /* whi */ BEGIN | NOT_END, /* whj */ ILLEGAL_PAIR, /* whk */ ILLEGAL_PAIR, /* whl */ ILLEGAL_PAIR, /* whm */ ILLEGAL_PAIR, /* whn */ ILLEGAL_PAIR, /* who */ BEGIN | NOT_END, /* whp */ ILLEGAL_PAIR, /* whr */ ILLEGAL_PAIR, /* whs */ ILLEGAL_PAIR, /* wht */ ILLEGAL_PAIR, /* whu */ ILLEGAL_PAIR, /* whv */ ILLEGAL_PAIR, /* whw */ ILLEGAL_PAIR, /* whx */ ILLEGAL_PAIR, /* why */ BEGIN | NOT_END, /* whz */ ILLEGAL_PAIR, /* whch */ ILLEGAL_PAIR, /* whgh */ ILLEGAL_PAIR, /* whph */ ILLEGAL_PAIR, /* whrh */ ILLEGAL_PAIR, /* whsh */ ILLEGAL_PAIR, /* whth */ ILLEGAL_PAIR, /* whwh */ ILLEGAL_PAIR, /* whqu */ ILLEGAL_PAIR, /* whck */ ILLEGAL_PAIR }, {/* qua */ ANY_COMBINATION, /* qub */ ILLEGAL_PAIR, /* quc */ ILLEGAL_PAIR, /* qud */ ILLEGAL_PAIR, /* que */ ANY_COMBINATION, /* quf */ ILLEGAL_PAIR, /* qug */ ILLEGAL_PAIR, /* quh */ ILLEGAL_PAIR, /* qui */ ANY_COMBINATION, /* quj */ ILLEGAL_PAIR, /* quk */ ILLEGAL_PAIR, /* qul */ ILLEGAL_PAIR, /* qum */ ILLEGAL_PAIR, /* qun */ ILLEGAL_PAIR, /* quo */ ANY_COMBINATION, /* qup */ ILLEGAL_PAIR, /* qur */ ILLEGAL_PAIR, /* qus */ ILLEGAL_PAIR, /* qut */ ILLEGAL_PAIR, /* quu */ ILLEGAL_PAIR, /* quv */ ILLEGAL_PAIR, /* quw */ ILLEGAL_PAIR, /* qux */ ILLEGAL_PAIR, /* quy */ ILLEGAL_PAIR, /* quz */ ILLEGAL_PAIR, /* quch */ ILLEGAL_PAIR, /* qugh */ ILLEGAL_PAIR, /* quph */ ILLEGAL_PAIR, /* qurh */ ILLEGAL_PAIR, /* qush */ ILLEGAL_PAIR, /* quth */ ILLEGAL_PAIR, /* quwh */ ILLEGAL_PAIR, /* ququ */ ILLEGAL_PAIR, /* quck */ ILLEGAL_PAIR }, {/* cka */ NOT_BEGIN | BREAK | NOT_END, /* ckb */ NOT_BEGIN | BREAK | NOT_END, /* ckc */ NOT_BEGIN | BREAK | NOT_END, /* ckd */ NOT_BEGIN | BREAK | NOT_END, /* cke */ NOT_BEGIN | BREAK | NOT_END, /* ckf */ NOT_BEGIN | BREAK | NOT_END, /* ckg */ NOT_BEGIN | BREAK | NOT_END, /* ckh */ NOT_BEGIN | BREAK | NOT_END, /* cki */ NOT_BEGIN | BREAK | NOT_END, /* ckj */ NOT_BEGIN | BREAK | NOT_END, /* ckk */ NOT_BEGIN | BREAK | NOT_END, /* ckl */ NOT_BEGIN | BREAK | NOT_END, /* ckm */ NOT_BEGIN | BREAK | NOT_END, /* ckn */ NOT_BEGIN | BREAK | NOT_END, /* cko */ NOT_BEGIN | BREAK | NOT_END, /* ckp */ NOT_BEGIN | BREAK | NOT_END, /* ckr */ NOT_BEGIN | BREAK | NOT_END, /* cks */ NOT_BEGIN, /* ckt */ NOT_BEGIN | BREAK | NOT_END, /* cku */ NOT_BEGIN | BREAK | NOT_END, /* ckv */ NOT_BEGIN | BREAK | NOT_END, /* ckw */ NOT_BEGIN | BREAK | NOT_END, /* ckx */ ILLEGAL_PAIR, /* cky */ NOT_BEGIN, /* ckz */ NOT_BEGIN | BREAK | NOT_END, /* ckch */ NOT_BEGIN | BREAK | NOT_END, /* ckgh */ NOT_BEGIN | BREAK | NOT_END, /* ckph */ NOT_BEGIN | BREAK | NOT_END, /* ckrh */ ILLEGAL_PAIR, /* cksh */ NOT_BEGIN | BREAK | NOT_END, /* ckth */ NOT_BEGIN | BREAK | NOT_END, /* ckwh */ ILLEGAL_PAIR, /* ckqu */ NOT_BEGIN | BREAK | NOT_END, /* ckck */ ILLEGAL_PAIR} }; /* ** gen_pron_pass will generate a Random word and place it in the ** buffer word. Also, the hyphenated word will be placed into ** the buffer hyphenated_word. Both word and hyphenated_word must ** be pre-allocated. The words generated will have sizes between ** minlen and maxlen. If restrict is TRUE, words will not be generated that ** appear as login names or as entries in the on-line dictionary. ** This algorithm was initially worded out by Morrie Gasser in 1975. ** Any changes here are minimal so that as many word combinations ** can be produced as possible (and thus keep the words Random). ** The seed is used on first use of the routine. ** The length of the unhyphenated word is returned, or -1 if there ** were an error (length settings are wrong or dictionary checking ** could not be done. */ int gen_pron_pass (char *word, char *hyphenated_word, USHORT minlen, USHORT maxlen, unsigned int pass_mode) { int pwlen; /* * Check for minlen>maxlen. This is an error. * and a length of 0. */ if (minlen > maxlen || minlen > APG_MAX_PASSWORD_LENGTH || maxlen > APG_MAX_PASSWORD_LENGTH) return (-1); /* * Check for zero length words. This is technically not an error, * so we take the short cut and return a null word and a length of 0. */ if (maxlen == 0) { word[0] = '\0'; hyphenated_word[0] = '\0'; return (0); } /* * Find password. */ pwlen = gen_word (word, hyphenated_word, get_random (minlen, maxlen), pass_mode); return (pwlen); } /* * This is the routine that returns a Random word -- as * yet unchecked against the passwd file or the dictionary. * It collects Random syllables until a predetermined * word length is found. If a retry threshold is reached, * another word is tried. Given that the Random number * generator is uniformly distributed, eventually a word * will be found if the retry limit is adequately large enough. */ int gen_word (char *word, char *hyphenated_word, USHORT pwlen, unsigned int pass_mode) { USHORT word_length; USHORT syllable_length; char *new_syllable; char *syllable_for_hyph; USHORT *syllable_units; USHORT word_size; USHORT word_place; USHORT *word_units; USHORT syllable_size; UINT tries; int ch_flag = FALSE; int dsd = 0; /* * Keep count of retries. */ tries = 0; /* * The length of the word in characters. */ word_length = 0; /* * The length of the word in character units (each of which is one or * two characters long. */ word_size = 0; /* * Initialize the array storing the word units. Since we know the * length of the word, we only need one of that length. This method is * preferable to a static array, since it allows us flexibility in * choosing arbitrarily long word lengths. Since a word can contain one * syllable, we should make syllable_units, the array holding the * analogous units for an individual syllable, the same length. No * explicit rule limits the length of syllables, but digram rules and * heuristics do so indirectly. */ if ( (word_units = (USHORT *) calloc (sizeof (USHORT), pwlen+1))==NULL || (syllable_units = (USHORT *) calloc (sizeof (USHORT), pwlen+1))==NULL || (new_syllable = (char *) calloc (sizeof (USHORT), pwlen+1)) ==NULL || (syllable_for_hyph = (char *) calloc (sizeof(char), 20))==NULL) return(-1); /* * Find syllables until the entire word is constructed. */ while (word_length < pwlen) { /* * Get the syllable and find its length. */ (void) gen_syllable (new_syllable, pwlen - word_length, syllable_units, &syllable_size); syllable_length = strlen (new_syllable); /* * Append the syllable units to the word units. */ for (word_place = 0; word_place <= syllable_size; word_place++) word_units[word_size + word_place] = syllable_units[word_place]; word_size += syllable_size + 1; /* * If the word has been improperly formed, throw out * the syllable. The checks performed here are those * that must be formed on a word basis. The other * tests are performed entirely within the syllable. * Otherwise, append the syllable to the word and * append the syllable to the hyphenated version of * the word. */ if (improper_word (word_units, word_size) || ((word_length == 0) && have_initial_y (syllable_units, syllable_size)) || ((word_length + syllable_length == pwlen) && have_final_split (syllable_units, syllable_size))) word_size -= syllable_size + 1; else { if (word_length == 0) { /* ** Modify syllable for numeric or capital symbols required ** Should be done after word quality check. */ dsd = randint(2); if ( ((pass_mode & S_NB) > 0) && (syllable_length == 1) && dsd == 0) { numerize(new_syllable); ch_flag = TRUE; } if ( ((pass_mode & S_SS) > 0) && (syllable_length == 1) && (dsd == 1)) { specialize(new_syllable); ch_flag = TRUE; } if ( ( (pass_mode & S_CL) > 0) && (ch_flag != TRUE)) capitalize(new_syllable); ch_flag = FALSE; /**/ (void) strcpy (word, new_syllable); if (syllable_length == 1) { symb2name(new_syllable, syllable_for_hyph); (void) strcpy (hyphenated_word, syllable_for_hyph); } else { (void) strcpy (hyphenated_word, new_syllable); } (void)memset ( (void *)new_syllable, 0, (size_t)(pwlen * sizeof(USHORT)+1)); (void)memset ( (void *)syllable_for_hyph, 0, 20); } else { /* ** Modify syllable for numeric or capital symbols required ** Should be done after word quality check. */ dsd = randint(2); if ( ((pass_mode & S_NB) > 0) && (syllable_length == 1) && (dsd == 0)) { numerize(new_syllable); ch_flag = TRUE; } if ( ( (pass_mode & S_SS) > 0) && (syllable_length == 1) && (dsd == 1)) { specialize(new_syllable); ch_flag = TRUE; } if ( ( (pass_mode & S_CL) > 0) && (ch_flag != TRUE)) capitalize(new_syllable); ch_flag = FALSE; /**/ (void) strcat (word, new_syllable); (void) strcat (hyphenated_word, "-"); if (syllable_length == 1) { symb2name(new_syllable, syllable_for_hyph); (void) strcat (hyphenated_word, syllable_for_hyph); } else { (void) strcat (hyphenated_word, new_syllable); } (void)memset ( (void *)new_syllable, 0, (size_t)(pwlen * sizeof(USHORT)+1)); (void)memset ( (void *)syllable_for_hyph, 0, 20); } word_length += syllable_length; } /* * Keep track of the times we have tried to get * syllables. If we have exceeded the threshold, * reinitialize the pwlen and word_size variables, clear * out the word arrays, and start from scratch. */ tries++; if (tries > MAX_RETRIES) { word_length = 0; word_size = 0; tries = 0; (void) strcpy (word, ""); (void) strcpy (hyphenated_word, ""); } } /* * The units arrays and syllable storage are internal to this * routine. Since the caller has no need for them, we * release the space. */ free ((char *) new_syllable); free ((char *) syllable_units); free ((char *) word_units); free ((char *) syllable_for_hyph); return ((int) word_length); } /* * Check that the word does not contain illegal combinations * that may span syllables. Specifically, these are: * 1. An illegal pair of units between syllables. * 2. Three consecutive vowel units. * 3. Three consecutive consonant units. * The checks are made against units (1 or 2 letters), not against * the individual letters, so three consecutive units can have * the length of 6 at most. */ boolean improper_word (USHORT *units, USHORT word_size) { USHORT unit_count; boolean failure; failure = FALSE; for (unit_count = 0; !failure && (unit_count < word_size); unit_count++) { /* * Check for ILLEGAL_PAIR. This should have been caught * for units within a syllable, but in some cases it * would have gone unnoticed for units between syllables * (e.g., when saved_unit's in gen_syllable() were not * used). */ if ((unit_count != 0) && (digram[units[unit_count - 1]][units[unit_count]] & ILLEGAL_PAIR)) failure = TRUE; /* * Check for consecutive vowels or consonants. Because * the initial y of a syllable is treated as a consonant * rather than as a vowel, we exclude y from the first * vowel in the vowel test. The only problem comes when * y ends a syllable and two other vowels start the next, * like fly-oint. Since such words are still * pronounceable, we accept this. */ if (!failure && (unit_count >= 2)) { /* * Vowel check. */ if ((((rules[units[unit_count - 2]].flags & VOWEL) && !(rules[units[unit_count - 2]].flags & ALTERNATE_VOWEL)) && (rules[units[unit_count - 1]].flags & VOWEL) && (rules[units[unit_count]].flags & VOWEL)) || /* * Consonant check. */ (!(rules[units[unit_count - 2]].flags & VOWEL) && !(rules[units[unit_count - 1]].flags & VOWEL) && !(rules[units[unit_count]].flags & VOWEL))) failure = TRUE; } } return (failure); } /* * Treating y as a vowel is sometimes a problem. Some words * get formed that look irregular. One special group is when * y starts a word and is the only vowel in the first syllable. * The word ycl is one example. We discard words like these. */ boolean have_initial_y (USHORT *units, USHORT unit_size) { USHORT unit_count; USHORT vowel_count; USHORT normal_vowel_count; vowel_count = 0; normal_vowel_count = 0; for (unit_count = 0; unit_count <= unit_size; unit_count++) /* * Count vowels. */ if (rules[units[unit_count]].flags & VOWEL) { vowel_count++; /* * Count the vowels that are not: 1. y, 2. at the start of * the word. */ if (!(rules[units[unit_count]].flags & ALTERNATE_VOWEL) || (unit_count != 0)) normal_vowel_count++; } return ((vowel_count <= 1) && (normal_vowel_count == 0)); } /* * Besides the problem with the letter y, there is one with * a silent e at the end of words, like face or nice. We * allow this silent e, but we do not allow it as the only * vowel at the end of the word or syllables like ble will * be generated. */ boolean have_final_split (USHORT *units, USHORT unit_size) { USHORT unit_count; USHORT vowel_count; vowel_count = 0; /* * Count all the vowels in the word. */ for (unit_count = 0; unit_count <= unit_size; unit_count++) if (rules[units[unit_count]].flags & VOWEL) vowel_count++; /* * Return TRUE iff the only vowel was e, found at the end if the * word. */ return ((vowel_count == 1) && (rules[units[unit_size]].flags & NO_FINAL_SPLIT)); } /* * Generate next unit to password, making sure that it follows * these rules: * 1. Each syllable must contain exactly 1 or 2 consecutive * vowels, where y is considered a vowel. * 2. Syllable end is determined as follows: * a. Vowel is generated and previous unit is a * consonant and syllable already has a vowel. In * this case, new syllable is started and already * contains a vowel. * b. A pair determined to be a "break" pair is encountered. * In this case new syllable is started with second unit * of this pair. * c. End of password is encountered. * d. "begin" pair is encountered legally. New syllable is * started with this pair. * e. "end" pair is legally encountered. New syllable has * nothing yet. * 3. Try generating another unit if: * a. third consecutive vowel and not y. * b. "break" pair generated but no vowel yet in current * or previous 2 units are "not_end". * c. "begin" pair generated but no vowel in syllable * preceding begin pair, or both previous 2 pairs are * designated "not_end". * d. "end" pair generated but no vowel in current syllable * or in "end" pair. * e. "not_begin" pair generated but new syllable must * begin (because previous syllable ended as defined in * 2 above). * f. vowel is generated and 2a is satisfied, but no syllable * break is possible in previous 3 pairs. * g. Second and third units of syllable must begin, and * first unit is "alternate_vowel". */ char * gen_syllable (char *syllable, USHORT pwlen, USHORT *units_in_syllable, USHORT *syllable_length) { USHORT unit = 0; SHORT current_unit = 0; USHORT vowel_count = 0; boolean rule_broken; boolean want_vowel; boolean want_another_unit; UINT tries = 0; USHORT last_unit = 0; SHORT length_left = 0; USHORT hold_saved_unit = 0; static USHORT saved_unit; static USHORT saved_pair[2]; /* * This is needed if the saved_unit is tries and the syllable then * discarded because of the retry limit. Since the saved_unit is OK and * fits in nicely with the preceding syllable, we will always use it. */ hold_saved_unit = saved_unit; /* * Loop until valid syllable is found. */ do { /* * Try for a new syllable. Initialize all pertinent * syllable variables. */ tries = 0; saved_unit = hold_saved_unit; (void) strcpy (syllable, ""); vowel_count = 0; current_unit = 0; length_left = (short int) pwlen; want_another_unit = TRUE; /* * This loop finds all the units for the syllable. */ do { want_vowel = FALSE; /* * This loop continues until a valid unit is found for the * current position within the syllable. */ do { /* * If there are saved_unit's from the previous * syllable, use them up first. */ if (saved_unit != 0) { /* * If there were two saved units, the first is * guaranteed (by checks performed in the previous * syllable) to be valid. We ignore the checks * and place it in this syllable manually. */ if (saved_unit == 2) { units_in_syllable[0] = saved_pair[1]; if (rules[saved_pair[1]].flags & VOWEL) vowel_count++; current_unit++; (void) strcpy (syllable, rules[saved_pair[1]].unit_code); length_left -= strlen (syllable); } /* * The unit becomes the last unit checked in the * previous syllable. */ unit = saved_pair[0]; /* * The saved units have been used. Do not try to * reuse them in this syllable (unless this particular * syllable is rejected at which point we start to rebuild * it with these same saved units. */ saved_unit = 0; } else /* * If we don't have to scoff the saved units, * we generate a Random one. If we know it has * to be a vowel, we get one rather than looping * through until one shows up. */ if (want_vowel) unit = random_unit (VOWEL); else unit = random_unit (NO_SPECIAL_RULE); length_left -= (short int) strlen (rules[unit].unit_code); /* * Prevent having a word longer than expected. */ if (length_left < 0) rule_broken = TRUE; else rule_broken = FALSE; /* * First unit of syllable. This is special because the * digram tests require 2 units and we don't have that yet. * Nevertheless, we can perform some checks. */ if (current_unit == 0) { /* * If the shouldn't begin a syllable, don't * use it. */ if (rules[unit].flags & NOT_BEGIN_SYLLABLE) rule_broken = TRUE; else /* * If this is the last unit of a word, * we have a one unit syllable. Since each * syllable must have a vowel, we make sure * the unit is a vowel. Otherwise, we * discard it. */ if (length_left == 0) { if (rules[unit].flags & VOWEL) want_another_unit = FALSE; else rule_broken = TRUE; } } else { /* * There are some digram tests that are * universally true. We test them out. */ /* * Reject ILLEGAL_PAIRS of units. */ if ((ALLOWED (ILLEGAL_PAIR)) || /* * Reject units that will be split between syllables * when the syllable has no vowels in it. */ (ALLOWED (BREAK) && (vowel_count == 0)) || /* * Reject a unit that will end a syllable when no * previous unit was a vowel and neither is this one. */ (ALLOWED (END) && (vowel_count == 0) && !(rules[unit].flags & VOWEL))) rule_broken = TRUE; if (current_unit == 1) { /* * Reject the unit if we are at te starting digram of * a syllable and it does not fit. */ if (ALLOWED (NOT_BEGIN)) rule_broken = TRUE; } else { /* * We are not at the start of a syllable. * Save the previous unit for later tests. */ last_unit = units_in_syllable[current_unit - 1]; /* * Do not allow syllables where the first letter is y * and the next pair can begin a syllable. This may * lead to splits where y is left alone in a syllable. * Also, the combination does not sound to good even * if not split. */ if (((current_unit == 2) && (ALLOWED (BEGIN)) && (rules[units_in_syllable[0]].flags & ALTERNATE_VOWEL)) || /* * If this is the last unit of a word, we should * reject any digram that cannot end a syllable. */ (ALLOWED (NOT_END) && (length_left == 0)) || /* * Reject the unit if the digram it forms wants * to break the syllable, but the resulting * digram that would end the syllable is not * allowed to end a syllable. */ (ALLOWED (BREAK) && (digram[units_in_syllable [current_unit - 2]] [last_unit] & NOT_END)) || /* * Reject the unit if the digram it forms * expects a vowel preceding it and there is * none. */ (ALLOWED (PREFIX) && !(rules[units_in_syllable [current_unit - 2]].flags & VOWEL))) rule_broken = TRUE; /* * The following checks occur when the current unit * is a vowel and we are not looking at a word ending * with an e. */ if (!rule_broken && (rules[unit].flags & VOWEL) && ((length_left > 0) || !(rules[last_unit].flags & NO_FINAL_SPLIT))) { /* * Don't allow 3 consecutive vowels in a * syllable. Although some words formed like this * are OK, like beau, most are not. */ if ((vowel_count > 1) && (rules[last_unit].flags & VOWEL)) rule_broken = TRUE; else /* * Check for the case of * vowels-consonants-vowel, which is only * legal if the last vowel is an e and we are * the end of the word (wich is not * happening here due to a previous check. */ if ((vowel_count != 0) && !(rules[last_unit].flags & VOWEL)) { /* * Try to save the vowel for the next * syllable, but if the syllable left here * is not proper (i.e., the resulting last * digram cannot legally end it), just * discard it and try for another. */ if (digram[units_in_syllable [current_unit - 2]] [last_unit] & NOT_END) rule_broken = TRUE; else { saved_unit = 1; saved_pair[0] = unit; want_another_unit = FALSE; } } } } /* * The unit picked and the digram formed are legal. * We now determine if we can end the syllable. It may, * in some cases, mean the last unit(s) may be deferred to * the next syllable. We also check here to see if the * digram formed expects a vowel to follow. */ if (!rule_broken && want_another_unit) { /* * This word ends in a silent e. */ /******/ if (((vowel_count != 0) && (rules[unit].flags & NO_FINAL_SPLIT) && (length_left == 0) && !(rules[last_unit].flags & VOWEL)) || /* * This syllable ends either because the digram * is an END pair or we would otherwise exceed * the length of the word. */ (ALLOWED (END) || (length_left == 0))) { want_another_unit = FALSE; } else /* * Since we have a vowel in the syllable * already, if the digram calls for the end of the * syllable, we can legally split it off. We also * make sure that we are not at the end of the * dangerous because that syllable may not have * vowels, or it may not be a legal syllable end, * and the retrying mechanism will loop infinitely * with the same digram. */ if ((vowel_count != 0) && (length_left > 0)) { /* * If we must begin a syllable, we do so if * the only vowel in THIS syllable is not part * of the digram we are pushing to the next * syllable. */ if (ALLOWED (BEGIN) && (current_unit > 1) && !((vowel_count == 1) && (rules[last_unit].flags & VOWEL))) { saved_unit = 2; saved_pair[0] = unit; saved_pair[1] = last_unit; want_another_unit = FALSE; } else if (ALLOWED (BREAK)) { saved_unit = 1; saved_pair[0] = unit; want_another_unit = FALSE; } } else if (ALLOWED (SUFFIX)) { want_vowel = TRUE; } } } /********/ tries++; /* * If this unit was illegal, redetermine the amount of * letters left to go in the word. */ if (rule_broken) length_left += (short int) strlen (rules[unit].unit_code); } while (rule_broken && (tries <= MAX_RETRIES)); /* * The unit fit OK. */ if (tries <= MAX_RETRIES) { /* * If the unit were a vowel, count it in. * However, if the unit were a y and appear * at the start of the syllable, treat it * like a constant (so that words like year can * appear and not conflict with the 3 consecutive * vowel rule. */ if ((rules[unit].flags & VOWEL) && ((current_unit > 0) || !(rules[unit].flags & ALTERNATE_VOWEL))) vowel_count++; /* * If a unit or units were to be saved, we must * adjust the syllable formed. Otherwise, we * append the current unit to the syllable. */ switch (saved_unit) { case 0: units_in_syllable[current_unit] = unit; (void) strcat (syllable, rules[unit].unit_code); break; case 1: current_unit--; break; case 2: (void) strcpy (&syllable[strlen (syllable) - strlen (rules[last_unit].unit_code)],""); length_left += (short int) strlen (rules[last_unit].unit_code); current_unit -= 2; break; } } else /* * Whoops! Too many tries. We set rule_broken so we can * loop in the outer loop and try another syllable. */ rule_broken = TRUE; /* * ...and the syllable length grows. */ *syllable_length = current_unit; current_unit++; } while ((tries <= MAX_RETRIES) && want_another_unit); } while (rule_broken || illegal_placement (units_in_syllable, *syllable_length)); return (syllable); } /* * This routine goes through an individual syllable and checks * for illegal combinations of letters that go beyond looking * at digrams. We look at things like 3 consecutive vowels or * consonants, or syllables with consonants between vowels (unless * one of them is the final silent e). */ boolean illegal_placement (USHORT *units, USHORT pwlen) { USHORT vowel_count; USHORT unit_count; boolean failure; vowel_count = 0; failure = FALSE; for (unit_count = 0; !failure && (unit_count <= pwlen); unit_count++) { if (unit_count >= 1) { /* * Don't allow vowels to be split with consonants in * a single syllable. If we find such a combination * (except for the silent e) we have to discard the * syllable). */ if ((!(rules[units[unit_count - 1]].flags & VOWEL) && (rules[units[unit_count]].flags & VOWEL) && !((rules[units[unit_count]].flags & NO_FINAL_SPLIT) && (unit_count == pwlen)) && (vowel_count != 0)) || /* * Perform these checks when we have at least 3 units. */ ((unit_count >= 2) && /* * Disallow 3 consecutive consonants. */ ((!(rules[units[unit_count - 2]].flags & VOWEL) && !(rules[units[unit_count - 1]].flags & VOWEL) && !(rules[units[unit_count]].flags & VOWEL)) || /* * Disallow 3 consecutive vowels, where the first is * not a y. */ (((rules[units[unit_count - 2]].flags & VOWEL) && !((rules[units[0]].flags & ALTERNATE_VOWEL) && (unit_count == 2))) && (rules[units[unit_count - 1]].flags & VOWEL) && (rules[units[unit_count]].flags & VOWEL))))) failure = TRUE; } /* * Count the vowels in the syllable. As mentioned somewhere * above, exclude the initial y of a syllable. Instead, * treat it as a consonant. */ if ((rules[units[unit_count]].flags & VOWEL) && !((rules[units[0]].flags & ALTERNATE_VOWEL) && (unit_count == 0) && (pwlen != 0))) vowel_count++; } return (failure); } /* * This is the standard Random unit generating routine for * gen_syllable(). It does not reference the digrams, but * assumes that it contains 34 units in a particular order. * This routine attempts to return unit indexes with a distribution * approaching that of the distribution of the 34 units in * English. In order to do this, a Random number (supposedly * uniformly distributed) is used to do a table lookup into an * array containing unit indices. There are 211 entries in * the array for the random_unit entry point. The probability * of a particular unit being generated is equal to the * fraction of those 211 entries that contain that unit index. * For example, the letter `a' is unit number 1. Since unit * index 1 appears 10 times in the array, the probability of * selecting an `a' is 10/211. * * Changes may be made to the digram table without affect to this * procedure providing the letter-to-number correspondence of * the units does not change. Likewise, the distribution of the * 34 units may be altered (and the array size may be changed) * in this procedure without affecting the digram table or any other * programs using the Random_word subroutine. */ static USHORT numbers[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 33 }; /* * This structure has a typical English frequency of vowels. * The value of an entry is the vowel position (a=0, e=4, i=8, * o=14, u=19, y=23) in the rules array. The number of times * the value appears is the frequency. Thus, the letter "a" * is assumed to appear 2/12 = 1/6 of the time. This array * may be altered if better data is obtained. The routines that * use vowel_numbers will adjust to the size difference automatically. */ static USHORT vowel_numbers[] = { 0, 0, 4, 4, 4, 8, 8, 14, 14, 19, 19, 23 }; /* * Select a unit (a letter or a consonant group). If a vowel is * expected, use the vowel_numbers array rather than looping through * the numbers array until a vowel is found. */ USHORT random_unit (USHORT type) { USHORT number; /* * Sometimes, we are asked to explicitly get a vowel (i.e., if * a digram pair expects one following it). This is a shortcut * to do that and avoid looping with rejected consonants. */ if (type & VOWEL) number = vowel_numbers[get_random (0, (sizeof (vowel_numbers) / sizeof (USHORT))-1)]; else /* * Get any letter according to the English distribution. */ number = numbers[get_random (0, (sizeof (numbers) / sizeof (USHORT))-1)]; return (number); } /* ** get_random() - ** This routine should return a uniformly distributed Random number between ** minlen and maxlen inclusive. The Electronic Code Book form of CAST is ** used to produce the Random number. The inputs to CAST are the old pass- ** word and a pseudoRandom key generated according to the procedure out- ** lined in Appendix C of ANSI X9.17. ** INPUT: ** USHORT - minimum ** USHORT - maximum ** OUTPUT: ** USHORT - random number ** NOTES: ** none. */ USHORT get_random (USHORT minlen, USHORT maxlen) { USHORT ret = 0; ret = minlen + (USHORT) randint ((int) (maxlen - minlen + 1)); return (ret); } keepassx-0.4.3/src/apg/convert.h0000664000175000017500000000356511044656216015550 0ustar felixfelix/* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ #ifndef APG_CONVERT_H #define APG_CONVERT_H 1 void decapitalize (char *word); #ifndef APGBFM void capitalize (char *syllable); void numerize (char *syllable); void specialize (char *syllable); void symb2name(char * syllable, char * h_syllable); char* spell_word(char * word, char * spelled_word); #endif /* APGBFM */ #endif /* APG_CONVERT_H */ keepassx-0.4.3/src/apg/pronpass.h0000664000175000017500000000654111044656216015732 0ustar felixfelix/* ** This module uses code from the NIST implementation of FIPS-181, ** but the algorythm is CHANGED and I think that I CAN ** copyright it. See copiright notes below. */ /* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ #ifndef APG_PRONPASS_H #define APG_PRONPASS_H 1 #ifndef APG_OWN_TYPES_H #include "owntypes.h" #endif /* APG_OWN_TYPES_H */ //#ifndef APG_RND_H //#include "rnd.h" //#endif /* APG_RND_H */ #define RULE_SIZE (sizeof(rules)/sizeof(struct unit)) #define ALLOWED(flag) (digram[units_in_syllable[current_unit -1]][unit] & (flag)) #define MAX_UNACCEPTABLE 20 #define MAX_RETRIES (4 * (int) pwlen + RULE_SIZE) #define NOT_BEGIN_SYLLABLE 010 #define NO_FINAL_SPLIT 04 #define VOWEL 02 #define ALTERNATE_VOWEL 01 #define NO_SPECIAL_RULE 0 #define BEGIN 0200 #define NOT_BEGIN 0100 #define BREAK 040 #define PREFIX 020 #define ILLEGAL_PAIR 010 #define SUFFIX 04 #define END 02 #define NOT_END 01 #define ANY_COMBINATION 0 #ifdef __cplusplus extern "C" { #endif extern int gen_pron_pass (char *word, char *hyphenated_word, USHORT minlen, USHORT maxlen, unsigned int pass_mode); USHORT random_unit (USHORT type); USHORT get_random (USHORT minlen, USHORT maxlen); boolean have_initial_y (USHORT *units, USHORT unit_size); boolean illegal_placement (USHORT *units, USHORT pwlen); boolean improper_word (USHORT *units, USHORT word_size); boolean have_final_split (USHORT *units, USHORT unit_size); int gen_word (char *word, char *hyphenated_word, USHORT pwlen, unsigned int pass_mode); char *gen_syllable(char *syllable, USHORT pwlen, USHORT *units_in_syllable, USHORT *syllable_length); #ifdef __cplusplus } #endif #endif /* APG_PRONPASS_H */ keepassx-0.4.3/src/apg/smbl.h0000664000175000017500000000551611044656216015023 0ustar felixfelix/* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ #ifndef APG_SMBL_H #define APG_SMBL_H 1 struct sym smbl[94] = { {'a', S_SL}, {'b', S_SL}, {'c', S_SL}, {'d', S_SL}, {'e', S_SL}, {'f', S_SL}, {'g', S_SL}, {'h', S_SL}, {'i', S_SL}, {'j', S_SL}, {'k', S_SL}, {'l', S_SL}, {'m', S_SL}, {'n', S_SL}, {'o', S_SL}, {'p', S_SL}, {'q', S_SL}, {'r', S_SL}, {'s', S_SL}, {'t', S_SL}, {'u', S_SL}, {'v', S_SL}, {'w', S_SL}, {'x', S_SL}, {'y', S_SL}, {'z', S_SL}, {'A', S_CL}, {'B', S_CL}, {'C', S_CL}, {'D', S_CL}, {'E', S_CL}, {'F', S_CL}, {'G', S_CL}, {'H', S_CL}, {'I', S_CL}, {'J', S_CL}, {'K', S_CL}, {'L', S_CL}, {'M', S_CL}, {'N', S_CL}, {'O', S_CL}, {'P', S_CL}, {'Q', S_CL}, {'R', S_CL}, {'S', S_CL}, {'T', S_CL}, {'U', S_CL}, {'V', S_CL}, {'W', S_CL}, {'X', S_CL}, {'Y', S_CL}, {'Z', S_CL}, {'1', S_NB}, {'2', S_NB}, {'3', S_NB}, {'4', S_NB}, {'5', S_NB}, {'6', S_NB}, {'7', S_NB}, {'8', S_NB}, {'9', S_NB}, {'0', S_NB}, {33 , S_SS}, {34 , S_SS}, {35 , S_SS}, {36 , S_SS}, {37 , S_SS}, {38 , S_SS}, {39 , S_SS}, {40 , S_SS}, {41 , S_SS}, {42 , S_SS}, {43 , S_SS}, {44 , S_SS}, {45 , S_SS}, {46 , S_SS}, {47 , S_SS}, {58 , S_SS}, {59 , S_SS}, {60 , S_SS}, {61 , S_SS}, {62 , S_SS}, {63 , S_SS}, {64 , S_SS}, {91 , S_SS}, {92 , S_SS}, {93 , S_SS}, {94 , S_SS}, {95 , S_SS}, {96 , S_SS}, {123, S_SS}, {124, S_SS}, {125, S_SS}, {126, S_SS} }; #endif /* APG_SMBL_H */ keepassx-0.4.3/src/apg/randpass.h0000664000175000017500000000443111044656216015674 0ustar felixfelix/* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ /* ** randpass.h */ #ifndef APG_RANDPASS_H #define APG_RANDPASS_H 1 /*#ifndef APG_RND_H #include "rnd.h" #endif*/ #ifndef APG_OWN_TYPES_H #include "owntypes.h" #endif #define S_NB 0x01 /* Numeric */ #define S_SS 0x02 /* Special */ #define S_CL 0x04 /* Capital */ #define S_SL 0x08 /* Small */ #define S_RS 0x10 /* Restricted Symbol*/ struct sym { char ch; USHORT type; }; #ifdef __cplusplus extern "C" { #endif /* char gen_symbol(unsigned short int symbol_class); */ extern int gen_rand_pass(char* password_string, int minl, int maxl, unsigned int pass_mode); extern int gen_rand_symbol (char *symbol, unsigned int mode); extern int is_restricted_symbol (char symbol); #ifdef __cplusplus } #endif #endif /* RANDPASS_H */ keepassx-0.4.3/src/apg/randpass.c0000664000175000017500000001111011321651457015657 0ustar felixfelix/* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ /* ** randpass.c - Random password generation module of PWGEN program */ #include "random.h" #include "randpass.h" #include "owntypes.h" #include "smbl.h" /* ** gen_rand_pass - generates random password of specified type ** INPUT: ** char * - password string. ** int - minimum password length. ** int - maximum password length. ** unsigned int - password generation mode. ** OUTPUT: ** int - password length or -1 on error. ** NOTES: ** none. */ int gen_rand_pass (char *password_string, int minl, int maxl, unsigned int pass_mode) { int i = 0; int j = 0; int length = 0; char *str_pointer; int random_weight[94]; int max_weight = 0; int max_weight_element_number = 0; if (minl > APG_MAX_PASSWORD_LENGTH || maxl > APG_MAX_PASSWORD_LENGTH || minl < 1 || maxl < 1 || minl > maxl) return (-1); for (i = 0; i <= 93; i++) random_weight[i] = 0; length = minl + randint(maxl-minl+1); str_pointer = password_string; for (i = 0; i < length; i++) { /* Asign random weight in weight array if mode is present*/ for (j = 0; j <= 93 ; j++) if ( ( (pass_mode & smbl[j].type) > 0) && !( (S_RS & smbl[j].type) > 0)) random_weight[j] = 1 + randint(20000); j = 0; /* Find an element with maximum weight */ for (j = 0; j <= 93; j++) if (random_weight[j] > max_weight) { max_weight = random_weight[j]; max_weight_element_number = j; } /* Get password symbol */ *str_pointer = smbl[max_weight_element_number].ch; str_pointer++; max_weight = 0; max_weight_element_number = 0; for (j = 0; j <= 93; j++) random_weight[j] = 0; } *str_pointer = 0; return (length); } /* ** gen_rand_symbol - generates random password of specified type ** INPUT: ** char * - symbol. ** unsigned int - symbol type. ** OUTPUT: ** int - password length or -1 on error. ** NOTES: ** none. */ int gen_rand_symbol (char *symbol, unsigned int mode) { int j = 0; char *str_pointer; int random_weight[94]; int max_weight = 0; int max_weight_element_number = 0; for (j = 0; j <= 93; j++) random_weight[j] = 0; str_pointer = symbol; j = 0; /* Asign random weight in weight array if mode is present*/ for (j = 0; j <= 93 ; j++) if ( ( (mode & smbl[j].type) > 0) && !( (S_RS & smbl[j].type) > 0)) random_weight[j] = 1 + randint(20000); j = 0; /* Find an element with maximum weight */ for (j = 0; j <= 93; j++) if (random_weight[j] > max_weight) { max_weight = random_weight[j]; max_weight_element_number = j; } /* Get password symbol */ *str_pointer = smbl[max_weight_element_number].ch; max_weight = 0; max_weight_element_number = 0; return (0); } /* ** is_restricted_symbol - detcts if symbol is restricted rigt now ** INPUT: ** char - symbol. ** OUTPUT: ** int - 0 - not restricted ** 1 - restricted ** NOTES: ** none. */ int is_restricted_symbol (char symbol) { int j = 0; for (j = 0; j <= 93 ; j++) if (symbol == smbl[j].ch) if ((S_RS & smbl[j].type) > 0) return(1); return(0); } keepassx-0.4.3/src/apg/owntypes.h0000664000175000017500000000360411044656216015752 0ustar felixfelix/* ** Copyright (c) 1999, 2000, 2001, 2002, 2003 ** Adel I. Mirzazhanov. 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.The name of the author may not be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. */ #ifndef APG_OWN_TYPES_H #define APG_OWN_TYPES_H 1 typedef unsigned int UINT; typedef unsigned short USHORT; typedef short int SHORT; typedef int boolean; typedef unsigned long int UINT32; #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #define APG_MAX_PASSWORD_LENGTH 255 #endif /* APG_OWN_TYPES_H */ keepassx-0.4.3/src/translations/0000775000175000017500000000000011344562541015660 5ustar felixfelixkeepassx-0.4.3/src/translations/keepassx-pt_PT.ts0000664000175000017500000023361111342454754021111 0ustar felixfelix AboutDialog Current Translation Tradução Actual None Please replace 'None' with the language of your translation Português Author Autor Information on how to translate KeePassX can be found under: Informação sobre como traduzir o KeePassX pode ser encontrada em: Team Equipa Developer, Project Admin Programador, Gestor do Projecto Developer Programador Web Designer Web Designer Thanks To Agradecimentos a Patches for better MacOS X support Correcções para melhor suporte em MacOX X Main Application Icon Icon Principal da Aplicação Various fixes and improvements Diversas correcções e melhoramentos Error Erro File '%1' could not be found. O ficheiro '%1' não foi encontrado. Make sure that the program is installed correctly. Garanta que o programa foi instalado correctamente. OK OK AboutDlg About Sobre AppName KeePassX AppFunc Um gestor de senhas open/source quer permite guardar e gerir todas as senhas de uma forma simples, eficaz e segura http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 Equipa KeePassX O KeePassX é distribuido sob os termos da licença General Public License (GPL) versão 2. Credits Créditos Translation Tradução License Licença AddBookmarkDlg Add Bookmark Adicionar Favorito Edit Bookmark Editar Favorito KeePass Databases (*.kdb) Bases de Dados do KeePass (*.kdb) All Files (*) Todos os Ficheiros (*) Title: Título: File: Ficheiros: Browse... Navegar... AutoTypeDlg Group Grupo Title Título Username Utilizador Auto-Type Auto-Escrever KeePassX - Auto-Type KeePassX - Auto-Escrever Click on an entry to auto-type it. Clique na entrada para a transformar em auto-escrever. CDbSettingsDlg Settings Configurações AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (omissão) Twofish: 256 Bit Twofish: 256 Bit Warning Aviso Please determine the number of encryption rounds. Por favor indique o número de rondas de cifragem. OK OK Error Erro '%1' is not valid integer value. '%1' não é um valor inteiro válido. The number of encryption rounds have to be greater than 0. O número de rondas de cifragem tem de ser superior a 0. CEditEntryDlg Today Título 1 Week 1 Semana 2 Weeks 2 Semanas 3 Weeks 3 Semanas 1 Month 1 Mês 3 Months 3 Meses 6 Months 6 Meses 1 Year 1 Ano Calendar... Calendário... %1 Bit %1 Bit New Entry Nova Entrada Edit Entry Editar Entrada Warning Aviso Password and password repetition are not equal. Please check your input. A senha e a repetição da senha são diferentes. Por favor verifique os dados introduzidos. OK OK [Untitled Entry] [Entrada sem Título] Add Attachment... Adicionar Anexo... Error Erro Could not open file. Não foi possível abrir o ficheiro. The chosen entry has no attachment or it is empty. A entrada seleccionada não tem nenhum anexo ou está vazia. Save Attachment... Gravar Anexo... Error while writing the file. Erro ao escrever o ficheiro. Delete Attachment? Eliminar o Anexo? You are about to delete the attachment of this entry. Are you sure? Está prestes a eliminar o anexo desta entrada. Tem a certeza? Yes Sim No, Cancel Não, Cancelar CGenPwDialog Password Generator Gerador de Senha %1 Bits %1 Bits CSelectIconDlg Replace... Substituir... Delete Eliminar Add Custom Icon Adicionar Icon Costumizado Pick Escolher Add Icons... Adicionar Icones... Images (%1) Imagens (%1) %1: File could not be loaded. %1: O ficheiro não pode ser carregado. Error Erro An error occured while loading the icon(s): Ocorreu um erro ao carregar o(s) icon(es): An error occured while loading the icon. Ocorreu um erro ao carregar o icon. CSettingsDlg Settings Configurações Select a directory... Escolha um directório... Select an executable... Escolha um executável... System Language Linguagem do Sistema CalendarDialog Calendar Calendário CollectEntropyDlg Entropy Collection Colecção de Entropia Random Number Generator Gerador de Números Aleatórios Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. A coleccionar entropia... Por favor mova o ponteiro do rato e/ou pressione algumas teclas até que a entropia necessária para re-alimentar o gerador de números aleatórios seja coleccionada. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> CustomizeDetailViewDialog Group Grupo Title Título Username Utilizador Password Senha Url Url Comment Comentário Attachment Name Nome do Anexo Creation Date Data de Criação Last Access Date Data do Último Acesso Last Modification Date Data da Última Modificação Expiration Date Data de Validade Time till Expiration Tempo até Expirar Dialog Diálogo Rich Text Editor Editor de Texto Avançado Bold Negrito B B Italic Itálico I I Underlined Sublinhado U U Left-Aligned Alinhado à Esquerda L L Centered Centrado C C Right-Aligned Alinhado à Direita R R Justified Justificado Text Color Cor do Texto Font Size Tamanho da Fonte 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Modelos T T HTML HTML Database Never Nunca DatabaseSettingsDlg Database Settings Configurações da Base de Dados Encryption Cifra Algorithm: Algoritmo: Encryption Rounds: Rondas de Cifragem: Calculate rounds for a 1-second delay on this computer Calcular rondas para 1 segundo de atraso neste computador DetailViewTemplate Group Grupo Title Título Username Utilizador Password Senha URL URL Creation Criação Last Access Último Acesso Last Modification Última Modificação Expiration Validade Comment Comentário EditEntryDialog Edit Entry Editar Entrada Ge&n. Ge&r. Quality: Qualidade: Attachment: Anexo: Title: Título: Username: Utilizador: Comment: Comentário: URL: URL: Group: Grupo: Repeat: Repetir: Password: Senha: Expires: Expira: %1 %1 Never Nunca %1 Bit %1 Bit Icon: Icone: EditGroupDialog Group Properties Propriedades do Grupo Icon: Icone: Title: Título: > > ExpiredEntriesDialog Expired Entries in the Database Entradas Expiradas na Base de Dados Expired Entries Entradas Expiradas Double click on an entry to jump to it. Fazer duplo-clique sobre uma entrada para saltar para lá. Group Grupo Title Título Username Utilizador Expired Expirada Export_KeePassX_Xml XML Files (*.xml) Ficheiros XML (*.xml) All Files (*) Todos os Ficheiros (*) KeePassX XML File Ficheiro XML KeePassX Export_Txt All Files (*) Todos os Ficheiros (*) Text Files (*.txt) Ficheiros de Texto (*.txt) Text File Ficheiro de Texto ExporterBase Export File... Exportar Ficheiro... Export Failed A Exportação Falhou FileErrors No error occurred. Não ocorreu nenhum erro. An error occurred while reading from the file. Ocorreu um erro ao ler do ficheiro. An error occurred while writing to the file. Ocorreu um erro ao escrever para o ficheiro. A fatal error occurred. Ocorreu um erro fatal. An resource error occurred. Ocorreu um erro de recurso. The file could not be opened. Não foi possível abrir o ficheiro. The operation was aborted. A operação foi abortada. A timeout occurred. O tempo de espera expirou. An unspecified error occurred. Ocorreu um erro não especificado. The file could not be removed. Não foi possível remover o ficheiro. The file could not be renamed. Não foi possível mudar o nome ao ficheiro. The position in the file could not be changed. Não foi possível alterar a posição no ficheiro. The file could not be resized. Não foi possível redimensionar o ficheiro. The file could not be accessed. No foi possível aceder ao ficheiro. The file could not be copied. Não foi possível copiar o ficheiro. GenPwDlg Password Generator Gerador de Senhas Random Aleatório Use following character groups: Use o seguinte grupo de caracteres: &Lower Letters &Letras Minúsculas &Underline &Sublinhado &Numbers &Números &White Spaces &Espaços em Branco &Upper Letters &Letras Maiúsculas &Minus &Menos &Special Characters Caracteres &Especiais Exclude look-alike characters Excluir caracteres semelhantes Ensure that password contains characters from every group Garantir que a senha contém caracteres de todos os grupos Pronounceable Pronunciável Lower Letters Letras Minúsculas Upper Letters Letras Maiúsculas Numbers Números Special Characters Caracteres Especiais Custom Personalizado Use the following characters: Use os seguintes caracteres: Options Opções Length: Comprimento: Quality: Qualidade: Enable entropy collection Permitir coleccionar entropia Collect only once per session Coleccionar somente uma vez por sessão New Password: Nova Senha: Generate Gerar HelpDlg Help Contents Conteúdo de Ajuda Previous Page Página Anterior Next Page Página Seguinte First Page Primeira Página Import_KWalletXml XML Files (*.xml) Ficheiro XML (*.xml) All Files (*) Todos os Ficheiros (*) Import Failed A Importação Falhou Invalid XML data (see stdout for details). Dados XML Inválidos (veja o stdout para detalhes). Invalid XML file. Ficheiro XML Inválido. Document does not contain data. O documento não contém dados. Import_KeePassX_Xml KeePass XML Files (*.xml) Ficheiros XML KeePass (*.xml) All Files (*) Todos os Ficheiros (*) Import Failed A Importação Falhou XML parsing error on line %1 column %2: %3 Ocorreu um erro de análise de XML na linha %1 coluna %2 %3 Parsing error: File is no valid KeePassX XML file. Erro de análise: O ficheiro não é um ficheiro XML KeePass válido. Import_PwManager PwManager Files (*.pwm) Ficheiros PwManager (*.pwm) All Files (*) Todos os Ficheiros (*) Import Failed A Importação Falhou File is empty. O ficheiro está vazio. File is no valid PwManager file. O ficheiro não é um ficheiro PwManager válido. Unsupported file version. Versão não suportada do ficheiro. Unsupported hash algorithm. Algoritmo de hash não suportado. Unsupported encryption algorithm. Algoritmo de cifra não suportado. Compressed files are not supported yet. Ficheiros comprimidos ainda não são suportados. Wrong password. Senha errada. File is damaged (hash test failed). O ficheiro está danificado (o teste de hash falhou). Invalid XML data (see stdout for details). Dados XML Inválidos (veja o stdout para detalhes). ImporterBase Import File... Importar Ficheiro... Import Failed A Importação Falhou Kdb3Database Could not open file. Não foi possível abrir o ficheiro. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Tamanho do ficheiro inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Assinatura Errada Unsupported File Version. Versão não Suportada do Ficheiro. Unknown Encryption Algorithm. Algoritmo de Cifra Desconhecido. Unable to initialize the twofish algorithm. Não foi possível inicializar o algoritmo twofish. Unknown encryption algorithm. Algoritmo de cifra desconhecido. Decryption failed. The key is wrong or the file is damaged. A descifragem falhou. A chave está errada ou o ficheiro está danificado. Hash test failed. The key is wrong or the file is damaged. O teste de hash falhou. A chave está errada ou o ficheiro está danificado. Unexpected error: Offset is out of range. Erro inesperado: O offset está fora do intervalo. Invalid group tree. Árvore de grupo inválida. Key file is empty. O ficheiro de chave está vazio. The database must contain at least one group. A base de dados tem de conter pelo menos um grupo. The database has been opened read-only. A base de dados foi aberta só para leitura. Kdb3Database::EntryHandle Bytes Bytes KiB KB MiB MB GiB GB KeepassEntryView Title Título Username Utilizador URL URL Password Senha Comments Comentários Expires Expira Creation Criação Last Change Última Modificação Last Access Último Acesso Attachment Anexo Group Grupo Are you sure you want to delete this entry? Tem a certeza que deseja eliminar esta entrada? Are you sure you want to delete these %1 entries? Tem a certeza que deseja eliminar estas %1 entradas? Delete? Eliminar? Error Erro At least one group must exist before adding an entry. Pelo menos um grupo tem de existir antes de adicionar uma entrada. OK OK KeepassGroupView Search Results Resultados da Procura Delete? Eliminar? Are you sure you want to delete this group, all its child groups and all their entries? Tem a ceretza que deseja eliminar este grupo, todos os seus grupos filho e todas as suas entradas? KeepassMainWindow Show &Toolbar Mostrar &Barra de Ferramentas Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+W Ctrl+W Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+I Ctrl+I Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+V Ctrl+V Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Erro The database file does not exist. O ficheiro de base de dados não existe. Database locked A base de dados está bloqueada The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? A base de dados que está a tentar abrir está bloqueada. Isto significa que ou outra pessoa abriu o ficheiro ou o KeePassX teve algum problema a abrir a base de dados a última vez que foi utilizado. Quer abri-la de qualquer forma? Open read-only Abrir só para leitura Unknown error while loading database. Erro desconhecido ao carregar a base de dados. The following error occured while opening the database: O seguinte erro ocorreu ao carregar a base de dados: Save modified file? Gravar o ficheiro modificado? The current file was modified. Do you want to save the changes? O ficheiro actual foi modificado. Deseja gravar as alterações? Couldn't remove database lock file. Não foi possível remover o ficheiro de bloqueio da base de dados. Open Database... Abrir a Base de Dados... KeePass Databases (*.kdb) Bases de Dados KeePass (*.kdb) All Files (*) Todos os Ficheiros (*) Expired Expirado 1 Month 1 Mês %1 Months %1 Meses 1 Year 1 Ano %1 Years %1 Anos 1 Day 1 Dia %1 Days %1 Dias less than 1 day menos que 1 dia Clone Entry Clonar Entrada Delete Entry Eliminar Entrada Clone Entries Clonar Entradas Delete Entries Eliminar Entradas File could not be saved. Não foi possível gravar o ficheiro. Save Database... Gravar Base de Dados... Couldn't create database lock file. Não foi possível criar o ficheiro de bloqueio da base de dados. Un&lock Workspace Desb&loquear Área de Trabalho &Lock Workspace &Bloquear Área de Trabalho Ready Pronto Loading Database... A Carregar a Base de Dados... Loading Failed O Carregamento Falhou Couldn't create lock file. Opening the database read-only. Não foi possível criar o ficheiro de bloqueio. A abrir a base de dados.só em leitura. new novo locked bloqueado Ctrl+M Main Error Erro File '%1' could not be found. O ficheiro '%1' não foi encontrado. MainWindow KeePassX KeePassX Groups Grupos &Help &Ajuda &File &Ficheiro &Export to... &Exportar para... &Import from... &Importar de... &Bookmarks &Favoritos &Entries &Entradas &View &Vista Toolbar &Icon Size Tamanho dos &Icones da Barra de Ferramentas &Columns &Colunas E&xtras E&xtras &Groups &Grupos &Manage Bookmarks... &Gerir Favoritos... &Open Database... &Abrir Base de Dados... &Close Database &Fechar a Base de Dados &Save Database &Gravar a Base de Dados Save Database &As... Gravar Base de Dados &Como... &Database Settings... Configurações de Base de &Dados... Change &Master Key... Alterar Chave &Mestre... &Lock Workspace &Bloquear Área de Trabalho &Quit &Sair &Add New Subgroup... &Adicionar Novo Sub-Grupo... &Edit Group... &Editar Grupo... &Delete Group &Eliminar Grupo Copy Password &to Clipboard Copiar Senha &para a Área de-Transferência Copy &Username to Clipboard Copiar &Utilizador para a Área de Transferência &Open URL &Abrir URL &Save Attachment As... &Gravar Anexo Como... Add &New Entry... Adicionar &Nova Entrada... &View/Edit Entry... &Ver/Editar Entrada... De&lete Entry E&liminar Entrada &Clone Entry &Clonar Entrada Search &in Database... Procurar &na Base de Dados... Search in this &Group... Procurar neste &Grupo... Show &Entry Details Mostrar Detalhes da &Entrada Hide &Usernames Esconder &Utilizadores Hide &Passwords Esconder &Senhas &Title &Título User&name Utili&zador &URL &URL &Password &Senha &Comment &Comentário E&xpires E&xpira C&reation C&riação &Last Change Última &Modificação Last &Access Última &Acesso A&ttachment A&nexo &Settings... &Configurações... &About... &Sobre... Show &Statusbar Mostrar &Barra de Estado &KeePassX Handbook... Manual do &KeePassX... Hide Esconder &Perform AutoType &Efectuar Tipo-Automático &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Nova Base de Dados... &Password Generator... Gerador de &Senhas... &Group &Grupo Show &Expired Entries... Mostrar Entradas &Expiradas... Recycle Bin... Reciclagem... &Add Bookmark... &Adicionar Favorito... Bookmark &this Database... Marcar &esta Base de Dados como Favorita... Copy URL to Clipboard Copiar o URL para a Área de Transferência Add New Group... Adicionar Novo Grupo... Sort groups Ordenar grupos &Minimize Window ManageBookmarksDlg Manage Bookmarks Gerir Favoritos PasswordDialog Enter Master Key Insira a Chave Mestre Set Master Key Configure a Chave Mestre Change Master Key Altere a Chave Mestre Database Key Chave da Base de Dados Last File Última Ficheiro Select a Key File Escolha um Ficheiro de Chave All Files (*) Todos os Ficheiros (*) Key Files (*.key) Ficheiros de Chave (*.key) Please enter a Password or select a key file. Por favor insira uma Senha ou seleccione um ficheiro de chave. Please enter a Password. Por favor insira uma Senha. Please provide a key file. Por favor indique um ficheiro de chave. %1: No such file or directory. %1 O ficheiro ou directório não existe. The selected key file or directory is not readable. O ficheiro ou directório de chave seleccionado não pode ser lido. The given directory does not contain any key files. O directório indicado não contém nenhum ficheiro de chaves. The given directory contains more then one key files. Please specify the key file directly. O directório indicado contém mais do que um ficheiros de chaves. Por favor indique o ficheiro de chave directamente. %1: File is not readable. %1 Não foi possível ler o ficheiro. Create Key File... Criar Ficheiro de Chave... PasswordDlg Last File Último Ficheiro Enter a Password and/or choose a key file. Insira uma Senha e/ou escolha um ficheiro de chave. Key Chave Password: Senha: Key File: Ficheiro de Chave: &Browse... &Navegar... Generate Key File... Gerar Ficheiro de Chave... Please repeat your password: Por favor repita a sua senha: Back Voltar Passwords are not equal. As senhas não são iguais. SearchDialog Search Procurar Search_Dlg Search... Procurar... Include: Incluir: Pass&words Sen&has A&nhang Não faço ideia do que isto seja.... A&nhang U&RLs U&RLs C&omments C&omentários &Usernames &Utilizadores &Titles &Títulos &Case Sensitive &Sensíveis a Maiúsculas Regular E&xpression E&xpressão Regular Include Subgroups (recursive) Incluir Sub-Grupos (recursivo) Search For: Procurar Por: SelectIconDlg Icon Selection Selecção de Icone SettingsDialog Settings Configurações General (1) Geral (1) General (2) Geral (2) Appearance Aparência Language Linguagem Security Segurança Advanced Avançado Show system tray icon Mostar icone no tabuleiro do sistema Minimize to tray instead of taskbar Minimizar para o tabuleiro em vez de para a barra de tarefas Remember last opened file Lembrar o último ficheiro aberto Remember last key type and location Lembrar o último tipo de chave e localização Start minimized Iniciar minimizado Start locked Iniciar bloqueado Save recent directories of file dialogs Gravar directórios recentes das janelas de navegação Clear History Now Limpar Histórico Agora Always ask before deleting entries or groups Perguntar sempre antes de eliminar entradas ou grupos Save backups of modified entries into the 'Backup' group Gravar salvaguardas de entradas modificadas no grupo 'Backup' Delete backup entries older than: Eliminar entradas de salvaguardas mais velhas do que: days dias Automatically save database on exit and workspace locking Automaticamente gravar a base de dados ao sair e ao bloquear a área de trabalho Automatically save database after every change Automaticamente gravar a base de dados após cada alteração Banner Color Cor do Estandarte Text Color: Cor do texto: Change... Modificar... Color 2: Cor 2: C&hange... Mo&dificar... Color 1: Cor 1: Show window always on top Mostrar janela sempre em cima Alternating Row Colors Cores Alternadas de Colunas Customize Entry Detail View... Personalizar a Vista Detalhada das Entradas... Group tree at start-up: Árvore de grupos no arranque: Restore last state Restaurar o último estado Expand all items Expandir todos os items Do not expand any item Não expandir nenhum item Language: Linguagem: Author: Autor: Show plain text passwords in: Mostar senhas em texto aberto em: Edit Entry Dialog Não tenho a certeza... a verificar no contexto... Editar Janelas das Entradas Database Key Dialog Janela da Chave de Base de Dados Clear clipboard after: Limpar área de transferência após: seconds segundos Lock workspace when minimizing the main window Bloquear área de trabalho quando se minimiza a janela principal Lock database after inactivity of Bloquear a base de dados após inactividade de Custom Browser Command Comando Personalizado de Navegador Browse Navegar Media Root: Raíz de Media: The directory where storage devices like CDs and memory sticks are normally mounted. O directório onde dispositivos de armazenamento como CD's e cartões de memória são normalmente montados. Browse... Navegar... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Active isto se deseja usar os seus favoritos e o último ficheiros aberto independentemente dos seus caminhos absolutos. Isto é especialmente útil quando usa o KeePassX de forma portável e portanto com pontos de montagem diferentes em cada sistema de ficheiros. Save relative paths (bookmarks and last file) Gravar caminhos relativos (favoritos e último ficheiro) Auto-Type Fine Tuning Ajuste Pormenorizado do Auto-Escrever Time between the activation of an auto-type action by the user and the first simulated key stroke. Tempo entre a activação de uma acção de auto-escrever pelo utilizador e a primeira simulação de uma tecla pressionada. ms Não faço ideia.... ms Pre-Gap: Não faço ideia.... Pre-Gap: Key Stroke Delay: Atraso no Pressionar da Tecla: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Atraso entre dois pressionar de teclas simulados. Aumente isto se o Auto-Escrever estiver aleatoriamente a saltar caracteres. Global Auto-Type Shortcut: Atalho Global para o Auto-Escrever: Use entries' title to match the window for Global Auto-Type Usar o título das entradas para emparelhar com a janela para o Auto-Escrever Global You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Pode desactivar diversas funcionalidades do KeePassX aqui de acordo com as suas necessidades de forma a manter o aspecto mais limpo. Bookmarks Favoritos Plug-Ins Extensões None Nenhum Gnome Desktop Integration (Gtk 2.x) Integração com o Ambiente de Janelas Gnome (Gtk 2.x) KDE 4 Desktop Integration Integração com o Ambiente de Janelas KDE4 You need to restart the program before the changes take effect. Precisa de reiniciar o programa para que as alterações tenham efeito. Configure... Configurar... Minimize to tray when clicking the main window's close button ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Insira a sua Senha Password: Senha: TargetWindowDlg Auto-Type: Select Target Window Auto-Escrever: Seleccione a Janela Alvo To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Para especificar a janela alvo, ou seleccione uma janela actualmente aberta da lista, ou insira o título da janela manualmente: Translation $TRANSLATION_AUTHOR Flávio Moringa (Caixa Mágica Software) $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. flavio.moringa@caixamagica.pt $LANGUAGE_NAME Insert your language name in the format: English (United States) Portuguese (Portugal) WorkspaceLockedWidget Form Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">A àrea de trabalho está bloqueada.</span></p></body></html> Unlock Desbloquear Close Database Fechar a Base de Dados keepassx-0.4.3/src/translations/keepassx-sk_SK.ts0000664000175000017500000023205511342454754021076 0ustar felixfelix AboutDialog Current Translation Aktuálny preklad None Please replace 'None' with the language of your translation Žiadny Author Autor Information on how to translate KeePassX can be found under: Informácie ako preložiť KeePassX môžete nájsť na: Team Tím Developer, Project Admin Vývojár, administrátor projektu Developer Vývojár Web Designer Web dizajnér Thanks To Vďaka Patches for better MacOS X support Záplata ohľadom vylepšenia podpory pre MacOS X Main Application Icon Hlavná ikona aplikácie Various fixes and improvements Rôzne opravy a zlepšenia Error Chyba File '%1' could not be found. Súbor '%1' nie je možné nájsť. Make sure that the program is installed correctly. Uistite sa, že program je nainštalovaný správne. OK OK AboutDlg About O AppName Názov aplikácie AppFunc Funkcia aplikácie http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX tím KeePassX je distribuovaný za podmienok licencie General Public License (GPL) verzia 2. Credits Poďakovanie Translation Preklad License Licencia AddBookmarkDlg Add Bookmark Pridať záložku Edit Bookmark Upraviť záložku KeePass Databases (*.kdb) KeePass databázy (*.kdb) All Files (*) Všetky súbory (*) Title: Titulok: File: Súbor: Browse... Prezerať... AutoTypeDlg Group Skupina Title Titulok Username Meno používateľa Auto-Type Auto-vyplňovanie KeePassX - Auto-Type KeePassX - Auto-vyplňovanie Click on an entry to auto-type it. Kliknite na položku na je auto-vyplňovanie. CDbSettingsDlg Settings Nastavenia AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (štandard) Twofish: 256 Bit Twofish: 256 Bit Warning Varovanie Please determine the number of encryption rounds. Určite prosím počet kôl pre šifrovanie. OK OK Error Chyba '%1' is not valid integer value. '%1' nie je platná celočíselná hodnota. The number of encryption rounds have to be greater than 0. Počet kôl šifrovania musí byť väčší než 0. CEditEntryDlg Today Dnes 1 Week 1 týždeň 2 Weeks 2 týždne 3 Weeks 3 týždne 1 Month 1 mesiac 3 Months 3 mesiace 6 Months 6 mesiacov 1 Year 1 rok Calendar... Kalendár... %1 Bit %1 Bit New Entry Nová položka Edit Entry Upraviť položku Warning Varovanie Password and password repetition are not equal. Please check your input. Heslo ako jeho zopakované heslo nie sú rovnaké. Prekontrolujte svoj vstup. OK OK [Untitled Entry] [Nepomenovaná položka] Add Attachment... Pridať prílohu... Error Chyba Could not open file. Nie je možné otvoriť súbor. The chosen entry has no attachment or it is empty. Zvolená položka nemá prílohu alebo je prázdna. Save Attachment... Uložiť prílohu... Error while writing the file. Vyskytla sa chyba pri zapisovaní súboru. Delete Attachment? Zmazať prílohu? You are about to delete the attachment of this entry. Are you sure? Idete zmazať prílohu k tejto položke. Ste si tým istý? Yes Áno No, Cancel Nie, zrušiť CGenPwDialog Password Generator Generátor hesla %1 Bits %1 bitov CSelectIconDlg Replace... Nahradiť... Delete Zmazať Add Custom Icon Pridať vlastnú ikonu Pick Vybrať Add Icons... Pridať ikonu... Images (%1) Obrázky (%1) %1: File could not be loaded. %1: Súbor nie je možné načítať. Error Chyba An error occured while loading the icon(s): Vyskytla sa chyba pri načítaní ikony: An error occured while loading the icon. Vyskytla sa chyba pri načítaní ikony. CSettingsDlg Settings Nastavenia Select a directory... Vyberte priečinok... Select an executable... Vyberte program... System Language Systémový jazyk CalendarDialog Calendar Kalendár CollectEntropyDlg Entropy Collection Zbieranie entropie Random Number Generator Generátor náhodných čísiel Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Zbieram entropiu... Prosím hýbte myšou a/alebo stláčajte klávesy pokiaľ sa nezozbiera dostatok entropie pre generátor náhodných čísiel. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Potrebné množstvo entropie pre generovanie náhodných čísel bolo získané!</span></p></body></html> CustomizeDetailViewDialog Group Skupina Title Titulok Username Meno používateľa Password Heslo Url Url Comment Komentár Attachment Name Názov prílohy Creation Date Dátum vytvorenia Last Access Date Dátum posledného prístupu Last Modification Date Dátum poslednej úpravy Expiration Date Dátum uplynutia platnosti Time till Expiration Čas do vypršania platnosti Dialog Dialóg Rich Text Editor Pokročilý editor Bold Tučné (Bold) B B Italic Sklonené (italic) I I Underlined Podčiarknuté U U Left-Aligned Zarovnané doľava L L Centered Centrované C C Right-Aligned Zarovnané doprava R R Justified Zarovnané do bloku Text Color Farba textu Font Size Veľkosť písma 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Šablóny T Š HTML HTML Database Never Nikdy DatabaseSettingsDlg Database Settings Nastavenia databázy Encryption Šifrovanie Algorithm: Algoritmus: Encryption Rounds: Šifrovacie kolá: Calculate rounds for a 1-second delay on this computer Vypočítať počet kôl pre 1 sekundové trvanie na tomto počítači DetailViewTemplate Group Skupina Title Označenie Username Meno používateľa Password Heslo URL URL Creation Vytvorenie Last Access Posledný prístup Last Modification Posledná úprava Expiration Uplynutie platnosti Comment Komentár EditEntryDialog Edit Entry Upraviť položku Ge&n. Ge&n. Quality: Kvalita: Attachment: Príloha: Title: Označenie: Username: Meno používateľa: Comment: Komentár: URL: URL: Group: Skupina: Repeat: Zopakovať: Password: Heslo: Expires: Uplynutie platnosti: %1 %1 Never Nikdy %1 Bit %1 Bit Icon: Ikona: EditGroupDialog Group Properties Vlastnosti skupiny Icon: Ikona: Title: Označenie: > > ExpiredEntriesDialog Expired Entries in the Database Položky v databáze s uplynutou dobou platnosti Expired Entries Položky s uplynutou dobou platnosti Double click on an entry to jump to it. Dvojklikom sa položka zobrazí. Group Skupina Title Označenie Username Meno používateľa Expired Uplynutá doba platnosti Export_KeePassX_Xml XML Files (*.xml) XML Súbory (*.xml) All Files (*) Všetky súbory (*) KeePassX XML File KeePassX XML súbor Export_Txt All Files (*) Všetky súbory (*) Text Files (*.txt) Textové súbory (*.txt) Text File Textový súbor ExporterBase Export File... Exportovať súbor... Export Failed Export zlyhal FileErrors No error occurred. Nevyskytla sa žiadna chyba. An error occurred while reading from the file. Vyskytla sa chyba pri čítaní zo súboru. An error occurred while writing to the file. Vyskytla sa chyba pri zapisovaní do súboru. A fatal error occurred. Vyskytla sa fatálna chyba. An resource error occurred. Vyskytla sa chyba zdrojov. The file could not be opened. Súbor nie je možné otvoriť. The operation was aborted. Operácia bola prerušená. A timeout occurred. Čas pre operáciu vypršal. An unspecified error occurred. Vyskytla sa nešpecifikovaná chyba. The file could not be removed. Súbor nie je možné presunúť. The file could not be renamed. Súbor nie je možné premenovať. The position in the file could not be changed. Nie je možné zmeniť pozíciu v súbore. The file could not be resized. Veľkosť súbor nie je možné zmeniť. The file could not be accessed. K súboru nie je možné pristupovať. The file could not be copied. Súbor nie je možné skopírovať. GenPwDlg Password Generator Generátor hesla Random Náhodné Use following character groups: Použiť nasledovnú skupinu znakov: &Lower Letters Ma&lé písmená &Underline Podčiarkn&utie &Numbers &Čísla &White Spaces &Biele znaky &Upper Letters &Veľké písmená &Minus &Mínus &Special Characters &Špeciálne znaky Exclude look-alike characters Bez podobných znakov Ensure that password contains characters from every group Heslo musí obsahovať znaky z každej skupiny Pronounceable Vysloviteľné Lower Letters Malé písmená Upper Letters Veľké písmená Numbers Čísla Special Characters Špeciálne znaky Custom Vlastné Use the following characters: Použite nasledovné znaky: Options Voľby Length: Dĺžka: Quality: Kvalita: Enable entropy collection Povoliť zbieranie entropie Collect only once per session Zbierať iba pre jednu reláciu New Password: Nove heslo: Generate Generovať HelpDlg Help Contents Obsah pomocníka Previous Page Predchádzajúca strana Next Page Nasledujúca strana First Page Prvá strana Import_KWalletXml XML Files (*.xml) XML Súbory (*.xml) All Files (*) Všetky súbory (*) Import Failed Import zlyhal Invalid XML data (see stdout for details). Neplatné XML dáta (detaily nájdete v stdout). Invalid XML file. Neplatný XML súbor. Document does not contain data. Dokument neobsahuje dáta. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePassX XML súbory (*.xml) All Files (*) Všetky súbory (*) Import Failed Import zlyhal XML parsing error on line %1 column %2: %3 Chyba pri spracovaní xml na riadku %1 v stĺpci %2: %3 Parsing error: File is no valid KeePassX XML file. Chyba spracovania: Súbor nie je platný KeePassX XML súbor. Import_PwManager PwManager Files (*.pwm) PwManager súbory (*.pwm) All Files (*) Všetky súbory (*) Import Failed Import zlyhal File is empty. Súbor je prázdny. File is no valid PwManager file. Súbor nie je platný PwManager súbor. Unsupported file version. Nepodporovaná verzia súboru. Unsupported hash algorithm. Nepodporovaný hash algoritmus. Unsupported encryption algorithm. Nepodporovaný šifrovací algoritmus. Compressed files are not supported yet. Komprimované súbor ešte nie su podporované. Wrong password. Chybné heslo. File is damaged (hash test failed). Súbor je poškodený (hash test zlyhal). Invalid XML data (see stdout for details). Neplatné XML dáta (detaily nájdete v stdout). ImporterBase Import File... Importovať súbor... Import Failed Import zlyhal Kdb3Database Could not open file. Nie je možné otvoriť súbor. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Neočakávaná veľkosť súboru (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Zlý podpis Unsupported File Version. Nepodporovaná verzia súboru. Unknown Encryption Algorithm. Neznámy šifrovací algoritmus. Unable to initialize the twofish algorithm. Nie je možné inicializovať algoritmus twofish. Unknown encryption algorithm. Neznámy šifrovací algoritmus. Decryption failed. The key is wrong or the file is damaged. Dešifrovanie zlyhalo. Kľúč je zlý, alebo je súbor poškodený. Hash test failed. The key is wrong or the file is damaged. Hash test zlyhal. The key is wrong or the file is damaged. Unexpected error: Offset is out of range. Neočakávaná chyba: Offset je mimo rozsahu. Invalid group tree. Neplatný skupinový strom. Key file is empty. Súbor s kľúčom je prázdny. The database must contain at least one group. Databáza musí obsahovať minimálne jednu skupinu. The database has been opened read-only. Databáza bola otvorená iba v režime na čítanie. Kdb3Database::EntryHandle Bytes Bajty KiB KiB MiB MiB GiB GiB KeepassEntryView Title Označenie Username Meno používateľa URL URL Password Heslo Comments Komentár Expires Uplynutie platnosti Creation Vytvorenie Last Change Posledná zmena Last Access Posledný prístup Attachment Príloha Group Skupina Are you sure you want to delete this entry? Ste si istý, že chcete odstrániť túto položku? Are you sure you want to delete these %1 entries? Ste si istý, že chcete odstrániť tieto %1 položky? Delete? Zmazať? Error Chyba At least one group must exist before adding an entry. Pred vložením položky musí existovať minimálne jedna skupina. OK OK KeepassGroupView Search Results Výsledky hľadania Delete? Zmazať? Are you sure you want to delete this group, all its child groups and all their entries? Ste si istý, že chcete zmazať túto skupinu, všetky jej podskupiny a všetky ich položky? KeepassMainWindow Show &Toolbar Zobraziť panel nás&trojov Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+W Ctrl+W Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+I Ctrl+I Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+V Ctrl+V Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Chyba The database file does not exist. Databázový súbor neexistuje. Database locked Databáza je uzamknutá The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Databáza, ktorú sa pokúšate otvoriť, je uzamknutá. Toto znamená, že buď už ju niekto otvoril, alebo KeePassX pri poslednom spustení spadol. Chcete ju aj tak otvoriť? Open read-only Otvoriť iba na čítanie Unknown error while loading database. Neznámy chyba pri načítavaní databázy. The following error occured while opening the database: Nasledujúca chyba sa vyskytla pri otváraní databázy: Save modified file? Uložiť modifikovaný súbor? The current file was modified. Do you want to save the changes? Aktuálny súbor bol modifikovaný. Prajete si uložiť zmeny? Couldn't remove database lock file. Nie je možné odstrániť uzamknutie databázy. Open Database... Otvoriť databázu... KeePass Databases (*.kdb) KeePass databázy (*.kdb) All Files (*) Všetky súbory (*) Expired Uplynutie doba platnosti 1 Month 1 mesiac %1 Months %1 mesiace/mesiacov 1 Year 1 rok %1 Years %1 roky/rokov 1 Day 1 deň %1 Days %1 dni/dní less than 1 day menej než 1 deň Clone Entry Klonovať položku Delete Entry Zmazať položku Clone Entries Klonovať položky Delete Entries Zmazať položky File could not be saved. Súbor nie je možné uložiť. Save Database... Uložiť databázu... Couldn't create database lock file. Nie je možné uzamknúť databázový súbor. Un&lock Workspace &Odomknúť pracovný priestor &Lock Workspace &Uzamknúť pracovný priestor Ready Pripravený Loading Database... Načítanie databázy... Loading Failed Načítanie zlyhalo Couldn't create lock file. Opening the database read-only. Nie je možné vytvoriť zámok pre súbor. Otváram databázu v režime iba na čítanie. new nový locked uzamknutý Ctrl+M Main Error Chyba File '%1' could not be found. Súbor '%1' nie je možné nájsť. MainWindow KeePassX KeePassX Groups Skupiny &Help &Pomocník &File &Súbor &Export to... &Export do... &Import from... &Import z... &Bookmarks &Záložky &Entries &Vstupy &View Z&obraziť Toolbar &Icon Size Veľkosť &ikon na panely &Columns &Stĺpce E&xtras E&xtra &Groups S&kupiny &Manage Bookmarks... Sp&ravovať záložky... &Open Database... &Otvoriť databázu... &Close Database &Zatvoriť databázu &Save Database &Uložiť databázu Save Database &As... Uložiť databázu &ako... &Database Settings... Nastavenia &databázy... Change &Master Key... Z&meniť hlavný kľúč... &Lock Workspace &Uzamknúť pracovné prostredie &Quit &Koniec &Add New Subgroup... Prid&ať novú podskupinu... &Edit Group... Upraviť s&kupinu... &Delete Group Z&mazať skupinu Copy Password &to Clipboard Skopírovať heslo &do schránky Copy &Username to Clipboard Skopírovať meno po&užívateľa do schránky &Open URL &Otvoriť URL &Save Attachment As... U&ložiť prílohu ako... Add &New Entry... Pridať &novú položku... &View/Edit Entry... Zobraziť/upra&viť položku... De&lete Entry Zmazať po&ložku &Clone Entry &Klonovať položku Search &in Database... Hľadať &v databáze... Search in this &Group... Hľadať v tejto &skupine... Show &Entry Details &Zobraziť detaily položky Hide &Usernames Skryť po&užívateľské mená Hide &Passwords Skryť &heslá &Title &Titulok User&name P&oužívateľ &URL &URL &Password &Heslo &Comment &Komentár E&xpires &Uplynutie platnosti C&reation Vytvo&renie &Last Change Pos&ledná zmena Last &Access Posl&edný prístup A&ttachment Pr&íloha &Settings... Na&stavenia... &About... &O programe... Show &Statusbar Zobraziť &stavový riadok &KeePassX Handbook... &KeePassX príručka... Hide Skryť &Perform AutoType S&pustiť auto-vypĺňanie &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Nová databáza... &Password Generator... Generátor &hesla... &Group S&kupina Show &Expired Entries... Zobraziť položky s vypr&šanou platnosťou... Recycle Bin... Odpadkový kôš... &Add Bookmark... Prid&ať záložku... Bookmark &this Database... Pridať &túto databázu do záložiek... Copy URL to Clipboard Skopírovať URL do schránky Add New Group... Pridať novú skupinu... Sort groups Zoradiť skupiny &Minimize Window ManageBookmarksDlg Manage Bookmarks Správa záložiek PasswordDialog Enter Master Key Vložte hlavný kľúč Set Master Key Nastaviť hlavný kľúč Change Master Key Zmeniť hlavný kľúč Database Key Databázový kľúč Last File Posledný súbor Select a Key File Vyberte súbor s kľúčom All Files (*) Všetky súbory (*) Key Files (*.key) Súbory s kľúčom (*.key) Please enter a Password or select a key file. Prosím, vložte heslo alebo vyberte súbor. Please enter a Password. Prosím, vložte heslo. Please provide a key file. Prosím poskytnite súbor s kľúčom. %1: No such file or directory. %1: Taký súbor alebo priečinok neexistuje. The selected key file or directory is not readable. Zvolený súbor s kľúčom alebo priečinok nie je na čítanie. The given directory does not contain any key files. Daný priečinok neobsahuje súbory s kľúčmi. The given directory contains more then one key files. Please specify the key file directly. Daný priečinok obsahuje viac ako jeden súbor s kľúčom. Prosím vyberte súbor s kľúčom. %1: File is not readable. %1: Súbor nie je možné načítať. Create Key File... Vytvoriť súbor s kľúčom... PasswordDlg Last File Posledný súbor Enter a Password and/or choose a key file. Vložte heslo a/alebo vyberte súbor s kľúčom. Key Kľúč Password: Heslo: Key File: Súbor s kľúčom: &Browse... &Prezerať... Generate Key File... Vygenerovať súbor s kľúčom... Please repeat your password: Zopakujte prosím heslo: Back Späť Passwords are not equal. Heslá nie sú zhodné. SearchDialog Search Hľadanie Search_Dlg Search... Hľadanie... Include: Zahrnúť: Pass&words &Heslá A&nhang A&nhang U&RLs U&RL C&omments K&omentáre &Usernames Meno po&užívateľa &Titles O&značenia &Case Sensitive &Rozlišovať veľkosť písmen Regular E&xpression Regulárny &výraz Include Subgroups (recursive) Vrátane podskupín (rekurzívne) Search For: Hľadať: SelectIconDlg Icon Selection Výber ikony SettingsDialog Settings Nastavenia General (1) Všeobecné (1) General (2) Všeobecné (2) Appearance Vzhľad Language Jazyk Security Bezpečnosť Advanced Pokročilé Show system tray icon Zobraziť ikonu v systémovej oblasti Minimize to tray instead of taskbar Minimalizovať od systémovej oblasti Remember last opened file Pamätať si posledný otvorený súbor Remember last key type and location Pamätať si posledný typ kľúča a umiestnenie Start minimized Spustiť minimalizované Start locked Spustiť uzamknuté Save recent directories of file dialogs Uložiť posledné priečinky súborového dialógu Clear History Now Vymazať históriu - Teraz Always ask before deleting entries or groups Vždy sa pýtať pre zmazaním položiek alebo skupín Save backups of modified entries into the 'Backup' group Uložiť zálohy upravených položiek do skupiny 'Backup' Delete backup entries older than: Zmazať staršie položky ako: days dní Automatically save database on exit and workspace locking Automaticky uložiť databázu pri ukončení a uzamknutí pracovného priestoru Automatically save database after every change Automaticky uložiť databázu pri každej zmene Banner Color Farba banera Text Color: Farba textu: Change... Zmeniť... Color 2: Farba 2: C&hange... &Zmeniť... Color 1: Farba 1: Show window always on top Zobraziť okno vždy navrchu Alternating Row Colors Alternatívne farby riadkov Customize Entry Detail View... Prispôsobiť zobrazenie detailu položky... Group tree at start-up: Strom skupín pri spustení: Restore last state Obnoviť posledný stav Expand all items Rozbaliť všetky položky Do not expand any item Nerozbaliť žiadnu položku Language: Jazyk: Author: Autor: Show plain text passwords in: Zobraziť prosté textové hesla v: Edit Entry Dialog Upraviť položku dialógu Database Key Dialog Dialóg databázového kľúča Clear clipboard after: Vymazať schránku po: seconds sekúnd Lock workspace when minimizing the main window Uzamknúť pracovné prostredie pri minimalizovaní hlavného okna Lock database after inactivity of Uzamknúť databázu po neaktivite Custom Browser Command Príkaz pre vlastný prehliadač Browse Prezerať Media Root: Priečinok médií: The directory where storage devices like CDs and memory sticks are normally mounted. Priečinok, kde sa zvyčajne pripájajú zariadenia ako CD, pamäťové disky. Browse... Prezerať... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Povoliť túto voľbu, ak chcete používať záložky a naposledy otvorený súbor nezávisle na ich absolútnej ceste. Toto je osobitne užitočné, ak používateľ prenosný KeePassX a teda sa menia body pripojenia k súborovému systému. Save relative paths (bookmarks and last file) Uložiť relatívne cesty (záložky a posledný súbor) Auto-Type Fine Tuning Vylaďovanie automatického vkladania Time between the activation of an auto-type action by the user and the first simulated key stroke. Čas medzi aktiváciou auto-vkladania používateľom a prvý simulovaným stlačením klávesu. ms ms Pre-Gap: Aktivačné omeškanie: Key Stroke Delay: Omeškanie stlačenia kláves: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Omeškanie medzi dvoma simulovanými stlačeniami klávesov. Zvýšte ho, ak auto-vkladanie náhodne preskakuje znaky. Global Auto-Type Shortcut: Globálna skratka pre auto-vkladanie: Use entries' title to match the window for Global Auto-Type Použiť zhodu popisu položky s oknom pre globálne auto-vkladanie You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Tu môžete zakázať niektoré vlastnosti KeePassX podľa svojich potrieb, aby ste udržali používateľské rozhranie štíhle. Bookmarks Záložky Plug-Ins Zásuvné moduly None Žiadny Gnome Desktop Integration (Gtk 2.x) Integrácia s Gnome (Gtk 2.x) KDE 4 Desktop Integration Integrácia s KDE 4 You need to restart the program before the changes take effect. Musíte reštartovať program, aby sa zmeny prejavili. Configure... Konfigurovať... Minimize to tray when clicking the main window's close button ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Vložte svoje heslo Password: Heslo: TargetWindowDlg Auto-Type: Select Target Window Auto-vypĺňanie: Vyberte cieľové okno To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Na určenie cieľového okna, buď vyberte aktuálne otvorené otvorené okno zo zoznamu, alebo vložte názov okna manuálne: Translation $TRANSLATION_AUTHOR Zdenko Podobný $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. zdenop@gmail.com $LANGUAGE_NAME Insert your language name in the format: English (United States) Slovensky (Slovak) WorkspaceLockedWidget Form Formulár <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Pracovné prostredie je uzamknuté.</span></p></body></html> Unlock Odomknúť Close Database Zatvoriť databázu keepassx-0.4.3/src/translations/keepassx-ru_RU.ts0000664000175000017500000041106211342454754021115 0ustar felixfelix AboutDialog KeePassX %1 KeePassX %1 <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>Current Translation: Russian</b><br><br> <b>Author:</b> %1<br> <b>Автор:</b> %1<br> $TRANSLATION_AUTHOR Дмитрий Функ $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. dmitry.funk@gmail.com Team Команда разработчиков Developer, Project Admin Разработчик, руководитель проекта Web Designer Web дизайнер geugen@users.berlios.de geugen@users.berlios.de Thanks To Благодарность Patches for better MacOS X support Исправления для улучшения поддержки MacOS X www.outofhanwell.com www.outofhanwell.com Main Application Icon Значок программы Various fixes and improvements Различные исправления и улучшения Error Ошибка File '%1' could not be found. Файл '%1' не найден. Make sure that the program is installed correctly. Убедитесь что программа установлена корректно. OK OK Could not open file '%1' Невозможно открыть файл '%1' http://keepassx.sf.net http://keepassx.sf.net Developer Разработчик Information on how to translate KeePassX can be found under: Информация переводе KeePassX на другие языки находится по адресу: Current Translation Текущий язык None Please replace 'None' with the language of your translation Русский Author Автор AboutDlg About О программе License Лицензия Translation Перевод <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - Cross Platform Password Manager</p></body></html> <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - Кроссплатформенный менеджер паролей</p></body></html> Copyright (C) 2005 - 2006 Tarek Saidi KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2006 Tarek Saidi KeePassX is distributed under the terms of the General Public License (GPL) version 2. Credits Благодарности http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com keepassx@gmail.com AppName AppName AppFunc AppFunc Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX распространяется под лицензией General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Добавить закладку Title: Название: File: Файл: Browse... Обзор... Edit Bookmark Редактировать закладку KeePass Databases (*.kdb) KeePass база паролей (*.kdb) All Files (*) Все файлы (*) AutoType Error Ошибка AutoTypeDlg KeePassX - Auto-Type KeePassX - Автоввод Click on an entry to auto-type it. Нажатие на запись активирует функцию Auto-Type. Group Группа Title Название Username Имя пользователя Cancel Отмена Auto-Type Автоввод CAboutDialog KeePassX %1 KeePassX %1 Error Ошибка File '%1' could not be found. Файл '%1' не найден. Make sure that the program is installed correctly. Убедитесь что программа установлена корректно. OK OK Could not open file '%1' Невозможно открыть файл '%1' <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>Current Translation: Russian</b><br><br> <b>Author:</b> %1<br> <b>Автор:</b> %1<br> $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. dmitry.funk@gmail.com $TRANSLATION_AUTHOR Дмитрий Функ Team Команда разработчиков Developer, Project Admin Разработчик, руководитель проекта Web Designer Web дизайнер geugen@users.berlios.de geugen@users.berlios.de Thanks To Благодарность Patches for better MacOS X support Исправления для улучшения поддержки MacOS X www.outofhanwell.com www.outofhanwell.com Information on how to translate KeePassX can be found under: http://keepassx.sourceforge.net/ Информацию по переводу KeePassX можно найти на: http://keepassx.sourceforge.net/ Main Application Icon Значок программы http://keepassx.sf.net http://keepassx.sf.net CDbSettingsDlg AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 бит (по умолчанию) Twofish: 256 Bit Twofish: 256 бит Warning Внимание Please determine the number of encryption rounds. Пожалуйста определите количество циклов шифрования. OK OK Error Ошибка '%1' is not valid integer value. '%1' не корректное целое значение. The number of encryption rounds have to be greater than 0. Количество циклов шифрования должно быть больше нуля. Settings Настройки CEditEntryDlg Warning Внимание Password and password repetition are not equal. Please check your input. Пароль и повтор пароля не эквивалентны. Проверьте введённые данные. OK OK Save Attachment... Сохранить вложение... Overwrite? Перезаписать? Yes Да No Нет Error Ошибка Could not remove old file. Невозможно удалить старый файл. Could not create new file. Невозможно создать новый файл. Error while writing the file. Ошибка записи в файл. Delete Attachment? Удалить вложение? You are about to delete the attachment of this entry. Are you sure? Вложение будет удалено. Продолжить? No, Cancel Нет, Отмена Edit Entry Изменить запись Could not open file. Невозможно открыть файл. %1 Bit %1 бит Add Attachment... Добавить вложение... The chosen entry has no attachment or it is empty. Выбранная запись не содержит вложения или содержит вложение нулевой длины. Today Сегодня 1 Week 1 неделя 2 Weeks 2 недели 3 Weeks 3 недели 1 Month 1 месяц 3 Months 3 месяца 6 Months 6 месяцев 1 Year 1 год Calendar... Календарь... [Untitled Entry] [безымянная запись] New Entry Новая запись CGenPwDialog Notice Предупреждение You need to enter at least one character Необходимо ввести более одного символа OK OK Error Ошибка Could not open '/dev/random' or '/dev/urandom'. Невозможно открыть '/dev/random' или '/dev/urandom'. Password Generator Генератор паролей %1 Bit %1 бит %1 Bits %1 битов CPasswordDialog OK OK Error Ошибка Please enter a Password. Введите пароль. Please choose a key file. Выберите файл-ключ. Please enter a Password or select a key file. Введите пароль или выберите файл-ключ. Database Key Ключ базы паролей Select a Key File Выбор файл-ключа *.key *.key Warning Внимание Password an password repetition are not equal. Please check your input. Пароль и повтор пароля не эквивалентны. Проверьте введённые данные. Please enter a password or select a key file. Введите пароль или выберите файл-ключ. A file with the name 'pwsafe.key' already exisits in the given directory. Do you want to replace it? Файл с именем 'pwsafe.key' уже существует в данной директории. Заменить его? Yes Да No Нет The exisiting file is not writable. Ошибка записи в существующий файл. A file with the this name already exisits. Do you want to replace it? Файл с таким именем уже существует. Заменить его? The selected key file or directory is not readable. Please check your permissions. Не удалось прочитать выбранный файл-ключ или директорию. Проверьте права доступа. Cancel Отмена CSearchDlg Notice Предупреждение Please enter a search string. Введите строку для поиска. OK OK Search Поиск CSelectIconDlg Delete Удалить Add Icons... Добавить значок... Images (%1) Изображение (%1) %1: File could not be loaded. %1: Файл не может быть загружен. Error Ошибка Replace... Заменить... An error occured while loading the icon(s): %1 Ошибка при загрузке значков: %1 An error occured while loading the icon. Ошибка при загрузке значка. Add Custom Icon Добавить свою иконку Pick Выбрать %1: File could not be loaded. %1: Не удалось загрузить файл. An error occured while loading the icon(s): Ошибка загрузки иконок: CSettingsDlg Settings Настройки Select a directory... Выберите директорию... Select an executable... Выбрать выполняемый файл... System Language Язык системы CalendarDialog Calendar Календарь CollectEntropyDlg Entropy Collection Сбор энтропии Random Number Generator Генерация случайных чисел Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Сбор энтропии... Пожалуйста, двигайте мышку или нажимайте на клавиши до тех пор, пока необходимое количество энтропии будет собрано. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Необходимое количество энтропии для генерации случайных чисел собрано!</span></p></body></html> CustomizeDetailViewDialog Group Группа Title Название Username Имя Password Пароль Url Ссылка Comment Комментарий Attachment Name Имя вложения Creation Date Дата создания Last Access Date Дата последнего доступа Last Modification Date Дата последнего изменения Expiration Date Срок годности Time till Expiration Время до конца срока годности Dialog Диалог Rich Text Editor Редактор текста Bold Жирный B B Italic Курсив I I Underlined Подчёркивание U U Left-Aligned Выровненный влево L L Centered Центрированный C C Right-Aligned Выровненный вправо R R Justified Выровненный Text Color Цвет текста Font Size Размер шрифта 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 13 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Шаблон T T HTML HTML Cancel Отмена Database Never Никогда DatabaseSettingsDlg Database Settings Настройки базы паролей Encryption Шифрование Algorithm: Алгоритм: Encryption Rounds: Циклов шифрования: Calculate rounds for a 1-second delay on this computer Вычисление количества циклов, которые могут быть обработаны за одну секунду на этом компьютере DetailViewTemplate Group Группа Title Название Username Имя Password Пароль URL Ссылка Creation Создание Last Access Последний доступ Last Modification Дата последнего изменения Expiration Срок годности Comment Комментарий EditEntryDialog Edit Entry Изменить запись Username: Имя: Password Repet.: Повтор пароля: Title: Название: URL: Ссылка: Password: Пароль: Quality: Качество: Comment: Комментарий: Expires: Срок годности: Group: Группа: &Cancel &Отмена Alt+C Alt+C %1 %1 Icon: Значок: Ge&n. &Генерация. ... ... O&K O&K Alt+K Alt+K Never Никогда Attachment: Вложение: > > %1 Bit %1 бит Repeat: Повтор пароля: EditGroupDialog Group Properties Параметры группы Title: Название: Icon: Значок: &Cancel &Отмена Alt+C Alt+C O&K O&K Alt+K Alt+K > > ExpiredEntriesDialog Expired Entries Записи с истекшим сроком годности Double click on an entry to jump to it. Двойное нажатие эту запись. Group Группа Title Название Username Имя Expired Срок годности истек Expired Entries in the Database Записи в базе данных с истекшим сроком годности Export_KeePassX_Xml XML Files (*.xml) XML-файлы (*.xml) All Files (*) Все файлы (*) KeePassX XML File KeePassX XML-файл Export_Txt Could not open file (FileError=%1) Невозможно открыть файл (FileError=%1) All Files (*) Все файлы (*) Text Files (*.txt) Текстовые файлы (*.txt) Text File Текстовый файл ExporterBase Export Failed Экспорт завершился неудачно Export File... Файл для экспорта... FileErrors No error occurred. Ошибок не возникло. An error occurred while reading from the file. Ошибка чтения из файла. An error occurred while writing to the file. Ошибка записи в файл. A fatal error occurred. Произошла фатальная ошибка. An resource error occurred. Произошла ошибка ресурсов. The file could not be opened. Невозможно открыть файл. The operation was aborted. Операция была прервана. A timeout occurred. Время ожидания истекло. An unspecified error occurred. Произошла неизвестная ошибка. The file could not be removed. Невозможно удалить файл. The file could not be renamed. Невозможно переименовать файл. The position in the file could not be changed. Позиция в файле не может быть изменена. The file could not be resized. Невозможно изменить размер файла. The file could not be accessed. Нету доступа к файлу. The file could not be copied. Невозможно скопировать файл. GenPwDlg Alt+U Alt+U Alt+N Alt+N Alt+M Alt+M Alt+L Alt+L Password Generator Генератор паролей Accep&t &Принять &Cancel &Отмена Generate Генерировать New Password: Новый пароль: Quality: Качество: Options Опции &Upper Letters &Прописные буквы &Lower Letters &Строчные буквы &Numbers &Цифры &Special Characters &Специальные символы Minus Знак минуса U&nderline По&дчёркивание h&igher ANSI-Characters ANSI-символы &второй половины таблицы Alt+H Alt+H Use &only following characters: &Только следующие символы: Alt+O Alt+O Length: Длина: Use "/dev/rando&m" Использовать "/dev/rando&m" Use follo&wing character groups: Только следующие &группы символов: Alt+W Alt+W White &Spaces &Пробелы Alt+S Alt+S Enable entropy collection Включить механизм сбора энтропии Collect only once per session Сбор только один раз за сессию Random Случайные числа &Underline По&дчёркивание &White Spaces &Пробелы &Minus &Знак минуса Exclude look-alike characters Исключить похожие символы Ensure that password contains characters from every group Пароли должны включать в себя символы из всех групп Pronounceable Удобно произносимые пароли Lower Letters Строчные буквы Upper Letters Прописные буквы Numbers Цифры Special Characters Специальные символы Use following character groups: Использовать следующие группы символов: Custom Свой вариант Use the following characters: Использовать следующие символы: HelpDlg Previous Page Предыдущая страница Next Page Следующая страница First Page В начало Help Contents Содержание Import_KWalletXml XML Files (*.xml) XML-файлы (*.xml) All Files (*) Все файлы (*) Import Failed Импорт завершился неудачно Invalid XML data (see stdout for details). Ошибка в формате данных XML (см. stdout). Invalid XML file. Неверный файл XML. Document does not contain data. Документ не содержит данных. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePassX XML-файл (*.xml) All Files (*) Все файлы (*) Import Failed Импорт завершился неудачно XML parsing error on line %1 column %2: %3 Ошибка в формате данных XML. Строчка %1, столбец %2:%3 Parsing error: File is no valid KeePassX XML file. Ошибка в формате данных: Неправильный KeePassX XML файл. Import_PwManager PwManager Files (*.pwm) Файл PwManager (*.pwm) All Files (*) Все файлы (*) Import Failed Импорт завершился неудачно File is empty. Файл пуст. File is no valid PwManager file. Неправильный PwManager файл. Unsupported file version. Неподдерживаемая версия файла. Unsupported hash algorithm. Неподдерживаемы хэш алгоритм. Unsupported encryption algorithm. Неизвестный алгоритм шифрования. Compressed files are not supported yet. Архивированные файлы, к сожалению, пока не поддерживаются. Wrong password. Неверный пароль. File is damaged (hash test failed). Файл поврежден (неверных хэш-код). Invalid XML data (see stdout for details). Ошибка в формате данных XML (см. stdout). ImporterBase Import File... Файл для импорта... Import Failed Импорт завершился неудачно Kdb3Database Could not open file. Невозможно открыть файл. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Неожиданный размер файла (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Неверная сигнатура Unsupported File Version. Неподдерживаемая версия файла. Unknown Encryption Algorithm. Неизвестный алгоритм шифрования. Unable to initialize the twofish algorithm. Ошибка инициализации алгоритма twofish. Unknown encryption algorithm. Неизвестный алгоритм шифрования. Decryption failed. The key is wrong or the file is damaged. Расшифровка прервана. Ключ неверен или файл повреждён. Hash test failed. The key is wrong or the file is damaged. Неверных хэш-код.Ключ неверен или файл повреждён. Invalid group tree. Ошибка в дереве групп. Key file is empty. Файл пустой. The database must contain at least one group. База паролей должна содержать как минимум одну группу. Could not open file for writing. Невозможно открыть файл для записи. Unexpected error: Offset is out of range. Неожиданная ошибка: индекс вышел за пределы допустимого. Unable to initalize the twofish algorithm. Ошибка инициализации алгоритма twofish. The database has been opened read-only. База паролей открыта в режиме "только чтение". Kdb3Database::EntryHandle Bytes Байт KiB KiB MiB MiB GiB GiB KeepassEntryView Title Название Username Имя URL Ссылка Password Пароль Comments Комментарий Expires Окончание Creation Создание Last Change Последнее изменение Last Access Последний доступ Attachment Вложение %1 items %1 пунктов Delete? Стереть? Group Группа Error Ошибка At least one group must exist before adding an entry. Чтобы можно было дабавить запись должна существовать как минимум одна группа. OK OK Are you sure you want to delete this entry? Запись будет удалена. Продолжить? Are you sure you want to delete these %1 entries? %1 записей будет удалено. Продолжить? KeepassGroupView Search Results Результаты поиска Groups Группы Delete? Стереть? Are you sure you want to delete this group, all its child groups and all their entries? Группа со всеми подгруппами и со всеми содержащимися в них записями будет удалена. Продолжить? KeepassMainWindow Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Ошибка OK OK Save modified file? Сохранить изменения файла? The current file was modified. Do you want to save the changes? Текущий файл был изменён. Хотите сохранить изменения? Yes Да No Нет Cancel Отмена KeePassX - %1 KeePassX - %1 <B>Group: </B>%1 <B>Title: </B>%2 <B>Username: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Password: </B>%5 <B>Creation: </B>%6 <B>Last Change: </B>%7 <B>LastAccess: </B>%8 <B>Expires: </B>%9 <B>Группа: </B>%1 <B>Название: </B>%2 <B>Имя: </B>%3 <B>Ссылка: </B><a href=%4>%4</a> <B>Пароль: </B>%5 <B>Создано: </B>%6 <B>Изменено: </B>%7 <B>Доступ: </B>%8 <B>Окончание: </B>%9 Clone Entry Дублировать запись Delete Entry Удалить запись Clone Entries Дублировать записи Delete Entries Удалить записи File could not be saved. %1 Невозможно сохранить файл. %1 Save Database As... Сохранить базу паролей как... Ready Готов [new] [новый] Open Database... Открыть базу паролей... Loading Database... Загрузка базы паролей... Loading Failed Ошибка загрузки Export To... Экспорт в... Unknown error in Import_PwManager::importFile()() Неизвестная ошибка в Import_PwManager::importFile()() Unknown error in Import_KWalletXml::importFile() Неизвестная ошибка в Import_KWalletXml::importFile() Unknown error in PwDatabase::openDatabase() Неизвестная ошибка в PwDatabase::openDatabase() Ctrl+V Ctrl+V Show Toolbar Отобразить панель инструментов KeePassX KeePassX Unknown error while loading database. Неизвестная ошибка при загруски базы данных. KeePass Databases (*.kdb) KeePass база паролей (*.kdb) All Files (*) Все файлы (*) Save Database... Сохранить базу паролей... 1 Month 1 месяц %1 Months %1 месяца 1 Year 1 год %1 Years %1 лет 1 Day 1 день %1 Days %1 дней less than 1 day меньше, чем один день Locked заблокировано Unlocked разблокированно Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q The database file does not exist. Файл базы паролей не найден. new новый Expired просрочен Un&lock Workspace &Разблокировать главное окно &Lock Workspace &Заблокировать главное окно The following error occured while opening the database: Ошибка при открытии быза паролей: File could not be saved. Не удалось сохранить файл. Show &Toolbar &Отобразить панель инструментов Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked База паролей заблокирована The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? База паролей, которую Вы сейчас пытаетесь открыть, заблокирована. Это происходит если кто-то в данных момент уже открыл базу или KeePassX не был нормально завершен, когда эта база была открыта. Продолжить открытие? The current file was modified. Do you want to save the changes? База паролей была изменена. Сохранить изменения? Couldn't remove database lock file. Не удалось удалить файл блокирования базы паролей. Open read-only Открыть только для чтения Couldn't create lock file. Opening the database read-only. Не удалось создать файл блокирования базы паролей. База паролей будет открыта только для чтения. Information Информация WARNING! Synchronization has not yet been well tested. WARNING! It can cause database corruption. So please BACKUP your databases first! The synchronization proceeds as following: 1 You choose a database to synchronize with the current database 2 The current and the chosen database will be recursively processed - all missing groups and items in one database will be copied to the other and vice versa - all existing groups matched by title will be synchronized (current database has a priority) - all existing items matched by title will be synchronized (according to last modification time) - all groups and items whose title ends with " ВНИМАНИЕ! Синхронизация еще не протестирована в достаточной степени. ВНИМАНИЕ! Синхронизация может повредить одну или обе базы паролей. Пожалуйста, сделайте РЕЗЕРВНЫЕ КОПИИ баз паролей. Принцип работы синхронизации: 1 Вы выбираете другую базу паролей для синхронизации с окрытой базой 2 Обе базы паролей обрабатываются рекурсивно - все существующие только в одной базе группы и записи переписываются в другую - все существующие в обеих базах группы и записи синхронизируются - все группы и записи имя которых заканчивается на "delete.it" стираются из обеех баз паролей Please, open a database first. Для начала откройте пожалуйста базу паролей. Open Database to synchronize with... Выбор базы паролей для синхронизации... Can't synchronize with the own file. База паролей уже открыта. Выберете другую базу паролей нельзя синхронизации. Error saving current file Ошибка сохранения файла The current file was modified and must be saved before synchronization can proceed. Do you want to save the changes? Базу паролей необходимо сохранить перед началом синхронизации. Продолжить? Synchronization complete Синхронизация завершена Synchronization successfully finished. Синхронизация завершена. Groups processed: Групп обработано: Groups created: Групп создано: Groups synchronized: Групп синхронизировано: Groups deleted: Групп стёрто: Entries processed: Записей обработано: Entries created: Записей создано: Entries synchronized: Записей синхронизировано: Entries deleted: Записей стёрто: Unknown error while saving database: Неизвестная ошибка при сохранении базы паролей: The following error occurred while saving the database: Ошибка при сохранении базы паролей: Error: Ошибка: Close failed Ошибка закрытия файла WARNING! Synchronization has not yet been well tested. WARNING! It can cause database corruption. So please BACKUP your databases first! The synchronization proceeds as following: 1 You choose a database to synchronize with the current database 2 The current and the chosen database will be recursively processed - all missing groups and items in one database will be copied to the other and vice versa - all existing groups matched by title will be synchronized (current database has a priority) - all existing items matched by title will be synchronized (according to last modification time) - all groups and items whose title ends with ".deleteit" will be deleted in both databases Please consider: - No conflicts resolving is possible - No stored icons synchronization is implemented yet ВНИМАНИЕ! Синхронизация еще не протестирована в достаточной степени. ВНИМАНИЕ! Синхронизация может повредить одну или обе базы паролей. Пожалуйста, сделайте РЕЗЕРВНЫЕ КОПИИ баз паролей. Принцип работы синхронизации: 1 Вы выбираете другую базу паролей для синхронизации с окрытой базой 2 Обе базы паролей обрабатываются рекурсивно - все существующие только в одной базе группы и записи переписываются в другую - все существующие в обеих базах группы и записи синхронизируются - все группы и записи имя которых заканчивается на "delete.it" стираются из обеех баз паролей Обращаем Ваше внимание на то что: - Распознование конфликтов не поддерживается - Синхронизация сохраненных в базе иконок пока не реализована Couldn't create database lock file. Не удалось создать файл блокирования базы паролей. locked заблокировано Ctrl+M Main Error Ошибка File '%1' could not be found. Файл '%1' не найден. OK OK MainWindow KeePassX KeePassX Columns Столбцы PwManager File (*.pwm) Файл PwManager (*.pwm) KWallet XML-File (*.xml) XML-файл KWallet (*.xml) Add New Group... Добавить новую группу... Edit Group... Изменить группу... Delete Group Удалить группу Copy Password to Clipboard Скопировать &пароль в буфер обмена Copy Username to Clipboard Скопировать имя в буфер обмена Open URL Открыть &ссылку Save Attachment As... Сохранить вложение как... Add New Entry... Добавить новую запись... View/Edit Entry... Просмотр/правка записи... Delete Entry Удалить запись Clone Entry Дублировать запись Search In Database... Поиск в базе паролей... Search in this group... Поиск в текущей группе... Show Toolbar Отобразить панель инструментов Show Entry Details Отобразить данные записи Hide Usernames Скрыть имена Hide Passwords Скрыть пароли Title Название Username Имя URL Ссылка Password Пароль Comment Комментарий Expires Окончание Creation Создание Last Change Последнее изменение Last Access Последний доступ Attachment Вложение Show Statusbar Отобразить панель статуса Plain Text (*.txt) Plain Text (*.txt) Hide Скрыть Perform AutoType Применить автоввод Type Here Ввести сюда Toolbar Icon Size Размер значков панели инструментов 16x16 16x16 22x22 22x22 28x28 28x28 &View &Вид &File &Файл &Import from... &Импортировать из... &Export to... &Экспортировать в... &Edit &Правка E&xtras &Дополнительно &Help &Справка &New Database... Со&здать базу паролей... &Open Database... &Открыть базу паролей... &Close Database &Закрыть базу паролей &Save Database &Сохранить базу паролей Save Database &As... Сохранить базу паролей &как... &Database Settings... Н&астройки базы паролей... Change &Master Key... &Изменить основной пароль... E&xit В&ыход &Settings... &Настройка... &About... &О программе... &KeePassX Handbook... &Руководство "KeePassX"... Recycle Bin... Мусорная корзина... Groups Группы &Lock Workspace &Заблокировать главное окно &Bookmarks &Закладки Toolbar &Icon Size Раз&мер значков панели инструментов &Columns &Столбцы &Manage Bookmarks... &Настроить закладки... &Quit В&ыход &Edit Group... Изменить &группу... &Delete Group У&далить группу Copy Password &to Clipboard Скопировать &пароль в буфер обмена Copy &Username to Clipboard Скопировать &имя в буфер обмена &Open URL Открыть &ссылку &Save Attachment As... &Сохранить вложение как... Add &New Entry... Добавить новую &запись... &View/Edit Entry... &Просмотр/правка записи... De&lete Entry &Удалить запись &Clone Entry &Дублировать запись Search &in Database... По&иск в базе паролей... Search in this &Group... Поиск в текущей г&руппе... Show &Entry Details Отобразить данные &записи Hide &Usernames Скрыть &имена Hide &Passwords Скрыть &пароли &Title &Название User&name Имя &пользователя &URL &Ссылка &Password &Пароль &Comment &Комментарий E&xpires &Окончание срока годности C&reation &Создание &Last Change Последнее &изменение Last &Access Последний &доступ A&ttachment &Вложение Show &Statusbar Отобразить &панель статуса &Perform AutoType Применить &автоввод &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &Password Generator... &Генератор паролей... &Group (search results only) &Группа (поиск в результатах предыдущего поиска) Show &Expired Entries... Показать записи с &истекшим сроком годности... &Add Bookmark... &Добавить закладку... Bookmark &this Database... &Добавить эту базу паролей в закладки... &Add New Subgroup... &Добавить новую подгруппу... Copy URL to Clipboard Скопировать ссылку в буфер обмена &Entries &Записи &Groups &Группы Sort groups Сортировать группы S&ynchronize Database... &Синхронизировать базу паролей... &Group &Группа &Minimize Window ManageBookmarksDlg Manage Bookmarks Настроить закладки PasswordDialog Enter Master Key Введите главный пароль Set Master Key Определение главного пароля Change Master Key Изменение основного пароля Database Key Ключ базы паролей Last File Последний файл Select a Key File Выбор файл-ключа All Files (*) Все файлы (*) Key Files (*.key) Key-файлы (*.key) Please enter a Password or select a key file. Введите пароль или выберите файл-ключ. Please enter a Password. Введите пароль. Please provide a key file. Выберете файл-ключ. %1: No such file or directory. %1: Файл или директория не найдены. The selected key file or directory is not readable. Выбранный файл или директория не доступны. The given directory does not contain any key files. Выбранная директория не содержит файлов-ключей. The given directory contains more then one key files. Please specify the key file directly. Выбранная директория содержит более одного файла-ключа. Пожалуйста, укажите конкретный файл-ключ. %1: File is not readable. %1: Файл не доступен. Create Key File... Создать файл-ключ... PasswordDlg TextLabel ТекстЛабел OK OK ... ... Cancel Отмена Enter a Password and/or choose a key file. Введите пароль и/или выберите файл-ключ. Key Ключ Password: Пароль: Key file or directory: Папка с файл-ключом: &Browse... &Обзор... Alt+B Alt+B Use Password AND Key File Использовать пароль И файл-ключ Exit Выход Password Repet.: Повтор пароля: Last File Последний файл Key File: Файл-ключ: Generate Key File... Создать файл-ключ... Please repeat your password: Введите повторно пароль: Back Назад Passwords are not equal. Пароли не одинаковы. PwDatabase Unknown Error Неизвестная ошибка Wrong Signature Неверная сигнатура Could not open key file. Невозможно открыть файл-ключ. Key file could not be written. Файл-ключ не записываем. Could not open file. Невозможно открыть файл. Could not open file for writing. Невозможно открыть файл для записи. Unsupported File Version. Неподдерживаемая версия файла. Unknown Encryption Algorithm. Неизвестный алгоритм шифрования. Decryption failed. The key is wrong or the file is damaged. Расшифровка прервана. Ключ неверен или файл повреждён. QObject Warning Внимание OK OK File '%1' could not be found. Файл '%1' не найден. File not found. Файл не найден. Could not open file. Невозможно открыть файл. Unsupported file version. Неподдерживаемая версия файла. Unsupported hash algorithm. Неподдерживаемы хэш алгоритм. Unsupported encryption algorithm. Неизвестный алгоритм шифрования. Wrong password. Неверный пароль. File is empty. Файл пуст. Invalid XML file. Неверный файл XML. Document does not contain data. Документ не содержит данных. Error Ошибка Warning: Внимание: Invalid RGB color value. Неверное значение цвета RGB. Never Никогда SearchDialog Search Поиск Search_Dlg Alt+T Alt+T Alt+U Alt+U A&nhang &Вложение Alt+N Alt+N Alt+W Alt+W Alt+C Alt+C Search... Поиск... Search For: Поиск: Regular E&xpression Регулярное &выражение Alt+X Alt+X &Case Sensitive &С учётом регистра Include: Включая: &Titles &Название &Usernames &Имя C&omments Ко&мментарий Alt+O Alt+O U&RLs &Ссылки Alt+R Alt+R Pass&words &Пароли Search Поиск Clo&se &Закрыть Alt+S Alt+S Include Subgroups (recursive) Включая подгруппы (рекурсивно) Attachment Вложение SelectIconDlg Icon Selection Выбор значка Add Custom Icon... Добавить свой значок... Pick Выбрать Cancel Отмена SettingsDialog O&K O&K Alt+K Alt+K Alt+C Alt+C Settings Настройки &Cancel &Отмена Clear clipboard after: Буфер очищать через: Seconds секунд Sh&ow passwords in plain text by default &Отображать пароли в текстовом виде по умолчанию Alt+O Alt+O Appea&rance &Внешний вид Banner Color Цвет банера Text Color: Цвет текста: Change... Изменить... Color 2: Цвет 2: C&hange... &Изменить Alt+H Alt+H Color 1: Цвет 1: Expand group tree when opening a database Раскрывать дерево групп при открытии базы паролей &Other &Другой Browser Command: Команда браузера: Securi&ty Безопасность Alternating Row Colors Переменные цвета столбцов Browse... Обзор... Remember last key type and location Запоминать последний тип и положение ключа Mounting Root: Корень монтирования: Remember last opened file Запоминать последний открытый файл Show system tray icon Показывать иконку в системном треи Minimize to tray when clicking the main window's close button Сворачиваться в системный трей при закрытии главного окна Alt+Ö Alt+O Save recent directories of file dialogs Сохранять последнии выбранные директории диалогов выбора файла Group tree at start-up: Группировка дерева при запуске программы: Restore last state Восстанавливать последнее состояние Expand all items Раскрыть все дерево Do not expand any item Не раскрывать дерево Security Безопасность Edit Entry Dialog Диалоге редактирования записей Plug-Ins Дополнения (Plug-Ins) None ничего Gnome Desktop Integration (Gtk 2.x) Gnome интеграция (Gtk 2.x) KDE 4 Desktop Integration KDE 4 интеграция You need to restart the program before the changes take effect. Изменения вступят в силу после перезагруски программы. Configure... Конфигурация... Advanced Дополнительно Clear History Now Очистить историю прямо сейчас Always ask before deleting entries or groups Переспрашивать перед удалением записей и групп Customize Entry Detail View... Настройта окна детальной информации записи... You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Для упрощения интерфейса пользователя Вы можете здесь отключить некоторые функции KeePassX. Bookmarks Закладки Auto-Type Fine Tuning Настройка функции автоввода Time between the activation of an auto-type action by the user and the first simulated key stroke. Задержка неред началом симуляции нажатия клавишь. ms мс Pre-Gap: Pre-Gap: Key Stroke Delay: Время нажатия клавиши: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Задержка между нажатиями клавишь. The directory where storage devices like CDs and memory sticks are normally mounted. Директория монтировки устройсв (CD, USB накопителей). Media Root: Медиа Root: Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Не использовать абсолютные пути для закладок и последнего открытого файла. Это наиболее удобно при использовании переносной версии KeePassX. Save relative paths (bookmarks and last file) Сохранять относительные пути (для закладок и последнего открытого файла) Minimize to tray instead of taskbar Минимизировать в системный трей Start minimized Минимизировать при загрузке Start locked Блокировать главное окно при запуске Lock workspace when minimizing the main window Блокировать главное окно при минимизации программы Global Auto-Type Shortcut: Глобальная горячая клавиша для автоввода: Custom Browser Command Команда браузера Browse Обзор Automatically save database on exit and workspace locking Автоматически сохранять базу паролей при закрытии программы или блокировки главного окна Show plain text passwords in: Отображать пароли в: Database Key Dialog Диалоге пароля базы seconds секунд Lock database after inactivity of Блокировать базу данных в случае неиспользования компьютера в течении Use entries' title to match the window for Global Auto-Type Использовать названия записей при поиске окна для автоввода General (1) Основные (1) General (2) Основные (2) Appearance Представление Language Язык (Language) Save backups of modified entries into the 'Backup' group При изменении записей сохранять копию в группу 'Backup' Delete backup entries older than: Стирать копии записей через: days дней Automatically save database after every change Автоматически сохранять базу паролей при каждом изменении System Language Язык системы English Английский Language: Язык (Language): Author: Автор: Show window always on top Показывать поверх остальных окон. ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog O&K O&K Alt+K Alt+K Alt+C Alt+C ... ... Enter your Password Введите пароль: Password: Пароль: &Cancel &Отмена StandardDatabase Could not open file. Невозможно открыть файл. Wrong Signature Неверная сигнатура Unsupported File Version. Неподдерживаемая версия файла. Unknown Encryption Algorithm. Неизвестный алгоритм шифрования. Decryption failed. The key is wrong or the file is damaged. Расшифровка прервана. Ключ неверен или файл повреждён. Could not open file for writing. Невозможно открыть файл для записи. TargetWindowDlg Auto-Type: Select Target Window Автоввод: выбирете окно для ввода To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Выберете окно для автоввода из списка или введите имя окна вручную: Translation $TRANSLATION_AUTHOR Дмитрий Функ, Борис Бродский $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. dmitry.funk@gmail.com, Brodsky_Boris@yahoo.com $LANGUAGE_NAME Insert your language name in the format: English (United States) Русский (Россия) TrashCanDialog Title Название Username Имя WorkspaceLockedWidget Form Форма <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Главное окно заблокировано.</span></p></body></html> Unlock Разблокировать Close Database Закрыть базу паролей dbsettingdlg_base Database Settings Н&астройки базы паролей... Encryption Шифрование Algorithm: Алгоритм: ? ? O&K O&K Ctrl+K Ctrl+K &Cancel &Отмена Ctrl+C Ctrl+C keepassx-0.4.3/src/translations/keepassx-tr_TR.ts0000664000175000017500000024016311342454754021115 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: KeePassX uygulamasının nasıl çevrileceğine ilişkin bilgileri burada bulabilirsiniz: Team Takım Developer, Project Admin Geliştirici, Proje Yöneticisi Web Designer Web Tasarımı Developer Geliştirici Thanks To Teşekkürler Patches for better MacOS X support Daha iyi MacOS X desteği için yamalar Main Application Icon Ugulamanın Simgesi Various fixes and improvements Çeşitli hata düzeltmeleri ve geliştirmeler Error Hata File '%1' could not be found. '%1' dosyası bulunamadı. Make sure that the program is installed correctly. Uygulamanın doğru yüklendiğinden emin olun. OK TAMAM Current Translation Şimdiki Çeviri None Please replace 'None' with the language of your translation Hiçbiri Author Serdar Soytetir AboutDlg About Hakkında AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Katkıda Bulunanlar Translation Yerelleştirme License Lisans Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Takımı KeePassX Genel Kamu Lisansı'nın 2. sürümü ile dağıtılmaktadır. AddBookmarkDlg Add Bookmark Yer İmi Ekle Title: Başlık: File: Dosya: Browse... Gözat... Edit Bookmark Yer İmini Düzenle KeePass Databases (*.kdb) KeePassX Veritabanları (*.kdb) All Files (*) Tüm Dosyalar (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - Otomatik-Tip Click on an entry to auto-type it. Bir girdiyi otomatik-tip yapmak için üzerine tıklayın. Group Grup Title Başlık Username Kullanıcı Adı Auto-Type Otomatik-Tip CDbSettingsDlg Settings Ayarlar AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (öntanımlı) Twofish: 256 Bit Twofish: 256 Bit Warning Uyarı Please determine the number of encryption rounds. Lütfen şifrelemenin kaç basamak ile yapılacağını belirtin. OK TAMAM Error Hata '%1' is not valid integer value. '%1' geçerli bir tam sayı değeri değil. The number of encryption rounds have to be greater than 0. Sıfırdan büyük olması gereken ve şifrelemenin kaç basamaklı olacağını belirten sayı. CEditEntryDlg Today Bugün 1 Week 1 Hafta 2 Weeks 1 Hafta 3 Weeks 3 Hafta 1 Month 1 Ay 3 Months 3 Ay 6 Months 6 Ay 1 Year 1 Yıl Calendar... Takvim... %1 Bit %1 Bit Edit Entry Girdiyi Düzenle Warning Uyarı Password and password repetition are not equal. Please check your input. Parola ve parola tekrarı birbirini tutmuyor. Lütfen girdilerinizi kontrol edin. OK TAMAM [Untitled Entry] [Başlıksız Girdi] Add Attachment... Eklenti Ekle... Error Hata Could not open file. Dosya açılamadı. The chosen entry has no attachment or it is empty. Seçilen girdinin eklentisi yok ya da boş. Save Attachment... Eklentiyi kaydet... Error while writing the file. Dosya yazılırken hata. Delete Attachment? Eklenti silinsin mi? You are about to delete the attachment of this entry. Are you sure? Bu girdinin eklentisini silmek üzeresiniz. Emin misiniz? Yes Evet No, Cancel Hayır, İptal Et New Entry Yeni Girdi CGenPwDialog Password Generator Parola Oluşturucu %1 Bits %1 Bit CSelectIconDlg Replace... Değiştir... Delete Sil Add Custom Icon Özel Simge Ekle Pick Al Add Icons... Simge Ekle... Images (%1) Resimler (%1) %1: File could not be loaded. %1: Dosya yüklenemedi. Error Hata An error occured while loading the icon(s): Simgeler yüklenirken bir hata oluştu: An error occured while loading the icon. Simge yüklenirken bir hata oluştu. CSettingsDlg Settings Ayarlar Select a directory... Bir dizin seçin... Select an executable... Bir çalıştırılabilir dosya seçin... System Language Sistem Dili CalendarDialog Calendar Takvim CollectEntropyDlg Random Number Generator Rastgele Sayı Oluşturucu Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Atıl enerji toplanıyor... Rastgele sayı oluşturucudan yeterli atıl enerji toplanırken fareyi oynatın ya da rastgele tuşlara basın. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Rastgele havuzu başarılı bir şekilde yeniden oluşturuldu!</span></p></body></html> Entropy Collection Enerji Toplama CustomizeDetailViewDialog Dialog Pencere Rich Text Editor Zengin Metin Düzenleyici Bold Kalın B K Italic Yatık I Y Underlined Altı çizgili U A Left-Aligned Sola-Dayalı L L Centered Ortalanmış C C Right-Aligned Sağa-Dayalı R R Justified İki Tarafa Dayalı Text Color Metin Rengi Font Size Yazı Tipi Boyutu 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Şablonlar T T HTML HTML Group Grup Title Başlık Username Kullanıcı Adı Password Parola Url Adres Comment Yorum Satırı Yap Attachment Name Eklenti Adı Creation Date Oluşturulma Tarihi Last Access Date Son Erişim Tarihi Last Modification Date Son Değiştirilme Tarihi Expiration Date Süre Dolumu Tarihi Time till Expiration Süre Dolumuna Kalan Süre Database Never Asla DatabaseSettingsDlg Database Settings Veritabanı Ayarları Encryption Şifreleme Algorithm: Algoritma: Encryption Rounds: Şifreleme Basamağı: Calculate rounds for a 1-second delay on this computer DetailViewTemplate Group Grup Title Başlık Username Kullanıcı Adı Password Parola URL Adres Creation Oluşturulma Last Access Son Erişim Last Modification Son Değiştirilme Expiration Süre Dolumu Comment Yorum Satırı Yap EditEntryDialog Edit Entry Girdiyi Düzenle Ge&n. Olu&ştur. Quality: Kalite: Attachment: Eklenti: Title: Başlık: Username: Kullanıcı adı: Comment: Açıklama: %1 %1 URL: Adres: Group: Grup: Password Repet.: Parola (Yeniden): Password: Parola: Expires: Süre Dolumu: Never Asla %1 Bit %1 Bit Icon: Simge: Repeat: EditGroupDialog Group Properties Grup Özellikleri Icon: Simge: Title: Başlık: > > ExpiredEntriesDialog Expired Entries Süresi Dolmuş Girdiler Double click on an entry to jump to it. Bir girdiye geçmek için üzerine çift tıklayın. Group Grup Title Başlık Username Kullanıcı Adı Expired Süresi Dolmuş Expired Entries in the Database Veritabanındaki Dolmuş Girdiler Export_KeePassX_Xml KeePassX XML File KeePassX XML Dosyası XML Files (*.xml) XML Dosyaları (*.xml) All Files (*) Tüm Dosyalar (*) Export_Txt Text File Metin Dosyası All Files (*) Tüm Dosyalar (*) Text Files (*.txt) Metin Dosyaları (*.txt) ExporterBase Export Failed Dışarıya Aktarma İşlemi Başarısız Oldu Export File... Dosyaya Aktar... FileErrors No error occurred. Hiç hata oluşmadı. An error occurred while reading from the file. Dosyadan okunurken bir hata oluştu. An error occurred while writing to the file. Dosyaya yazılırken bir hata oluştu. A fatal error occurred. Sonlandırıcı bir hata oluştu. An resource error occurred. Bir kaynak hatası oluştu. The file could not be opened. Dosya açılamadı. The operation was aborted. İşlem sonlandırıldı. A timeout occurred. Bir zaman aşımı oluştu. An unspecified error occurred. Belirtilmemiş hata oluştu. The file could not be removed. Dosya silinemedi. The file could not be renamed. Dosya yeniden adlandırılamadı. The position in the file could not be changed. Dosyanın içerisindeki konum değiştirilemedi. The file could not be resized. Dosya yeniden boyutlandırılamadı. The file could not be accessed. Dosyaya erişilemedi. The file could not be copied. Dosya kopyalanamadı. GenPwDlg Password Generator Parola Oluşturucu Options Seçenekler Use follo&wing character groups: &Şu karakter gruplarını kullan: Alt+W Alt+W &Lower Letters &Küçük Harfler Alt+L Alt+L Alt+N Alt+N &Numbers Raka&mlar Alt+S Alt+S &Upper Letters &Büyük Harfler Alt+U Alt+U &Special Characters Ö&zel Karakterler Use &only following characters: Sadece bu karak&terleri kullan: Alt+O Alt+O Length: Uzunluk: Quality: Kalite: Enable entropy collection Enerji toplamayı etkinleştir Alt+M Alt+M Collect only once per session Her oturum için bir kere topla New Password: Yeni Parola: Generate Oluştur Random Rastgele &Underline Altı &çizili &White Spaces Beyaz Alanla&r &Minus &Eksi Exclude look-alike characters Buna benzer karakterleri hariç tut Ensure that password contains characters from every group Parolanın her gruptan karakter içerdiğinden emin olun Pronounceable Okunabilir Lower Letters Küçük Harfler Upper Letters Büyük Harfler Numbers Rakamlar Special Characters Özel Karakterler Use following character groups: Custom Use the following characters: HelpDlg Previous Page Next Page First Page Help Contents Import_KWalletXml XML Files (*.xml) XML Dosyaları (*.xml) All Files (*) Tüm Dosyalar (*) Import Failed İçeri Aktarma Başarısız Oldu Invalid XML data (see stdout for details). Geçersiz XML verisi (detaylar için stdout çıktısına bakın). Invalid XML file. Geçersiz XML dosyası. Document does not contain data. Belge veri içermiyor. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePassX XML Dosyaları (*.xml) All Files (*) Tüm Dosyalar (*) Import Failed İçeri Aktarma Başarısız Oldu XML parsing error on line %1 column %2: %3 Satır %1 sütun %2 konumunda XML ayrıştırma hatası: %3 Parsing error: File is no valid KeePassX XML file. Ayrıştırma hatası: Dosya geçerli bir KeePassX XML dosyası değil. Import_PwManager PwManager Files (*.pwm) PwManager Dosyaları (*.pwm) All Files (*) Tüm Dosyalar (*) Import Failed İçeri Aktarma Başarısız Oldu File is empty. Dosya boş. File is no valid PwManager file. Dosya geçerli bir PwManager dosyası değil. Unsupported file version. Desteklenmeyen dosya sürümü. Unsupported hash algorithm. Desteklenmeyen özet algoritması. Unsupported encryption algorithm. Desteklenmeyen şifreleme algoritması. Compressed files are not supported yet. Sıkıştırılmış dosyalar henüz desteklenmiyor. Wrong password. Yanlış parola. File is damaged (hash test failed). Dosya bozulmuş (özet testi başarısız oldu). Invalid XML data (see stdout for details). Geçersiz XML verisi (detaylar için stdout çıktısına bakın). ImporterBase Import File... İçeriye Dosya Aktar... Import Failed İçeri Aktarma Başarısız Oldu Kdb3Database Could not open file. Dosya açılamadı. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Beklenmeyen dosya boyutu (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Yanlış İmza Unsupported File Version. Desteklenmeyen Dosya Sürümü. Unknown Encryption Algorithm. Bilinmeyen Şifreleme Algoritması. Decryption failed. The key is wrong or the file is damaged. Şifre çözme işlemi başarısız. Anahtar yanlış ya da dosya bozuk. Hash test failed. The key is wrong or the file is damaged. Özet kontrolü başarısız. Anahtar yanlış ya da dosya bozulmuş. Unexpected error: Offset is out of range. Beklenmeyen hata: Konum dışı. Invalid group tree. Geçersiz grup ağacı. Key file is empty. Anahtar dosyası boş. The database must contain at least one group. Veritabanı en az bir grup içermelidir. Could not open file for writing. Yazmak için açılamadı. Unable to initalize the twofish algorithm. Twofish algoritması başlatılamadı. Unable to initialize the twofish algorithm. Unknown encryption algorithm. The database has been opened read-only. Kdb3Database::EntryHandle Bytes Bayt KiB KB MiB MB GiB GB KeepassEntryView Delete? Silinsin mi? Error Hata At least one group must exist before adding an entry. Bir girdi eklenmeden önce en az bir grup olmalıdır. OK TAMAM Title Başlık Username Kullanıcı Adı URL Adres Password Parola Comments Yorumlar Expires Süre Dolumu Creation Oluşturulma Last Change Son Değişiklik Last Access Son Erişim Attachment Eklenti Group Grup Are you sure you want to delete this entry? Bu girdiyi silmek istediğinizden emin misiniz? Are you sure you want to delete these %1 entries? Bu %1 girdiyi silmek istediğinizden emin misiniz? KeepassGroupView Search Results Arama Sonuçları Delete? Silinsin mi? Are you sure you want to delete this group, all its child groups and all their entries? Bu grubu silmek istediğinizden emin misiniz, tüm alt gruplar ve girdileri de silinecek? KeepassMainWindow Ready Hazır Locked Kilitli Unlocked Kilidi Açılmış Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Hata The database file does not exist. Veritabanı dosyası yok. Loading Database... Veritabanı Yükleniyor... Loading Failed Yükleme Başarısız Oldu Unknown error while loading database. Veritabanı yüklenirken bilinmeyen bir hata oluştu. The following error occured while opening the database: Veritabanı açılırken şu hata oluştu: Save modified file? Değiştirilmiş dosya kaydeilsin mi? new yeni Open Database... Veritabanı Aç... KeePass Databases (*.kdb) KeePassX Veritabanları (*.kdb) All Files (*) Tüm Dosyalar (*) Expired Süresi Dolmuş 1 Month 1 Ay %1 Months %1 Ay 1 Year 1 Yıl %1 Years %1 Yıl 1 Day 1 Gün %1 Days %1 Gün less than 1 day 1 günden az Clone Entry Girdiyi İkile Delete Entry Girdiyi Sil Clone Entries Girdileri İkile Delete Entries Girdileri Sil File could not be saved. Dosya kaydedilemedi. Save Database... Veritabanını Kaydet... Un&lock Workspace Çalışma A&lanının Kilidini Aç &Lock Workspace Çalışma A&lanını Kilitle Show &Toolbar &Araç Çubuğunu Göster Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Veritabanı kilitli The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Couldn't create database lock file. Veritabanı kilit dosyası oluşturulamadı. The current file was modified. Do you want to save the changes? Geçerli dosya üzerinde değişiklikler yapıldı. Değişiklikleri kaydetmek ister misiniz? Couldn't remove database lock file. Veritabanı kilit dosyası silinemedi. Open read-only Couldn't create lock file. Opening the database read-only. locked Ctrl+M Main Error Hata File '%1' could not be found. '%1' dosyası bulunamadı. OK TAMAM MainWindow KeePassX KeePassX Groups Gruplar &Help &Yardım &File &Dosya &Export to... D&ışarı aktar... &Import from... &İçeri aktar... &Edit &Düzenle &View &Görünüm E&xtras Daha Fa&zlası &Open Database... &Veritabanı Aç... &Close Database Veritabanını &Kapat &Save Database Veritabanını Kayde&t Save Database &As... Veritabanını &Farklı Kaydet... &Database Settings... Veri&tabanı Ayarları... Change &Master Key... Uygulama Anahtarını De&ğiştir... &Lock Workspace Çalışma A&lanını Kilitle &Settings... A&yarlar... &About... H&akkında... &KeePassX Handbook... &KeePassX El Kitabı... Hide Gizle Standard KeePass Single User Database (*.kdb) Standart KeePassX Veritabanı Dosyası (*.kdb) Advanced KeePassX Database (*.kxdb) Gelişmiş KeePassX Veritabanı Dosyası (*.kxdb) Recycle Bin... Çöp Kutusu... &Bookmarks &Yer İmleri Toolbar &Icon Size Araç Çubuğu &Simge Boyutu &Columns &Sütunlar &Manage Bookmarks... &Yer İmlerini Yönet... &Quit &Çık &Edit Group... &Grubu Düzenle... &Delete Group Grubu &Sil Copy Password &to Clipboard Parolayı Panoya &Kopyala Copy &Username to Clipboard Kullanıcı &Adını Panoya Kopyala &Open URL &Adres Aç &Save Attachment As... &Eklentiyi Farklı Kaydet... Add &New Entry... Yeni &Girdi Ekle... &View/Edit Entry... &Girdiyi Göster/Düzenle... De&lete Entry Girdiyi &Sil &Clone Entry Girdiyi &Çoğalt Search &in Database... &Veritabanında Ara... Search in this &Group... &Bu Grup içerisinde Ara... Show &Entry Details &Girdi Ayrıntılarını Göster Hide &Usernames Kullanıcı &Adlarını Gizle Hide &Passwords Parolaları &Gizle &Title &Başlık User&name &Kullanıcı Adı &URL &Adres &Password &Parola &Comment &Açıklama E&xpires &Süre Dolumu C&reation &Oluşturulma &Last Change &Son Değişiklik Last &Access Son &Erişim A&ttachment &Eklenti Show &Statusbar &Durum Çubuğunu Göster &Perform AutoType &Otomatik Tip İyileştirmesi Yap &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Yeni Veritabanı... &Password Generator... Parola &Oluşturucu... &Group (search results only) &Grup (sadece arama sonuçları) Show &Expired Entries... &Süresi Dolmuş Girdileri Göster... &Add Bookmark... &Yer İmi Ekle... Bookmark &this Database... &Bu Veritabanını Yer İmlerine Ekle... &Add New Subgroup... &Yeni Alt Grup Ekle... Copy URL to Clipboard Adresi Panoya Kopyala Add New Group... Yeni Grup Ekle... &Entries &Groups Sort groups &Group &Minimize Window ManageBookmarksDlg Manage Bookmarks Yerimlerini Yönet PasswordDialog Enter Master Key Ana Anahtarı Gir Set Master Key Ana Anahtarı Ayarla Change Master Key Ana Anahtarı Değiştir Database Key Veritabanı Anahtarı Last File Son Dosya Select a Key File Anahtar dosyasını Seç All Files (*) Tüm Dosyalar (*) Key Files (*.key) Key Dosyaları (*.key) Please enter a Password or select a key file. Lütfen gir parola girin ya da anahtar dosyası seçin. Please enter a Password. Lütfen bir parola girin. Please provide a key file. Lütfen bir key dosyası girin. %1: No such file or directory. %1: Böyle bir dosya ya da dizin yok. The selected key file or directory is not readable. Seçilen anahtar dosyası ya da dizin okunabilir değil. The given directory does not contain any key files. Verilen dizin bir anahtar dosyası içermiyor. The given directory contains more then one key files. Please specify the key file directly. Verilen dizin birden fazla anahtar dosyası içeriyor. Lütfen anahtar dosyasını belirtin. %1: File is not readable. %1: Dosya okunabilir değil. Create Key File... Anahtar Dosyası Oluştur... PasswordDlg Last File Son Dosya Enter a Password and/or choose a key file. Bir parola girin ya da bir anahtar dosyası seçin. Key Anahtar Password: Parola: &Browse... &Gözat... Alt+B Alt+B Key File: Anahtar Dosyası: Generate Key File... Anahtar Dosyası Oluştur... Please repeat your password: Lütfen parolanızı tekrar girin: Back Geri Passwords are not equal. Parolalar aynı değil. SearchDialog Search Ara Search_Dlg Search... Ara... Include: İçersin: Pass&words Par&olalar Alt+W Alt+W A&nhang &Ek U&RLs A&dresler Alt+R Alt+R C&omments A&çıklamalar Alt+O Alt+O &Usernames K&ullanıcı Adları Alt+U Alt+U &Titles &Başlıklar Alt+T Alt+T &Case Sensitive Bü&yük Küçük Harflere Duyarlı Alt+C Alt+C Regular E&xpression Düzenli İ&fade Alt+X Alt+X Include Subgroups (recursive) Alt Grupları İçer (özyinelemeli) Search For: Şunu Ara: SelectIconDlg Icon Selection Simge Seçimi SettingsDialog Settings Ayarlar Show system tray icon Sistem çekmecesi simgesini göster Minimize to tray instead of taskbar Görev çubuğu yerine sistem çekmecesine küçült Minimize to tray when clicking the main window's close button Ana pencere kapatıldığında sistem çekmecesine küçült Remember last opened file Son açılan dosyayı hatırla Alt+Ö Alt+Ö Remember last key type and location Son anahtar tipini ve konumunu hatırla Start minimized Küçültülmüş başlat Start locked Kilitlenmiş başlat Save recent directories of file dialogs Dosya pencerelerinin son kullanılan dizinlerini kaydet Clear History Now Geçmişi Şimdi Temizle Always ask before deleting entries or groups Bir grubu ya da girdiyi silerken her zaman sor Banner Color Üst Alan Rengi Text Color: Metin Rengi: Change... Değiştir... Color 2: Renk 2: C&hange... Deği&ştir... Alt+H Alt+H Color 1: Renk 1: Alternating Row Colors Satır Renkleri Farklılaştırılıyor Customize Entry Detail View... Ayrıntılı Girdi Görünümünü Özelleştir... Group tree at start-up: Başlangıçta grup ağacı: Restore last state Son duruma geri dön Expand all items Tüm ögeleri aç Do not expand any item Hiçbir ögeyi açma Security Güvenlik Edit Entry Dialog Girdi Düzenleme Penceresi Alt+O Alt+O Clear clipboard after: Bu süre geçince panoyu temizle: Lock workspace when minimizing the main window Ana pencereyi küçültürken çalışma alanını kilitle You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Bookmarks Yerimleri Plug-Ins Eklentiler None Hiçbiri Gnome Desktop Integration (Gtk 2.x) Gnome Masaüstü Bütünleşmesi (Gtk 2.x) KDE 4 Desktop Integration KDE4 Masaüstü Bütünleşmesi You need to restart the program before the changes take effect. Değişikliklerin etkin olabilmesi için uygulamayı yeniden başlatmanız gerekir. Configure... Yapılandır... Advanced Gelişmiş Auto-Type Fine Tuning Otomatik-Tip İyileştirmesi Time between the activation of an auto-type action by the user and the first simulated key stroke. ms ms Pre-Gap: Pre-Gap: Key Stroke Delay: Anahtar Gecikmesi: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Custom Browser Command Özel Tarayıcı Komutu Browse Gözat Media Root: Ortam Kök Dizini: The directory where storage devices like CDs and memory sticks are normally mounted. CD ve bellek çubukları gibi depolama ortamlarının bağlandığı dizin. Browse... Gözat... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Save relative paths (bookmarks and last file) Değişken yolları kaydet (yer imleri ve son dosyalar) Global Auto-Type Shortcut: Genel Otomatik-Tip Kısayolu: Automatically save database on exit and workspace locking Çıkışta veritabanını otomatik olarak kaydet ve çalışma alanını kilitle Show plain text passwords in: Düz metin parolaları böyle göster: Database Key Dialog Veritabanı Anahtarı Penceresi seconds saniye Lock database after inactivity of Şu kadar etkinlik olmazsa veritabanını kilitle Use entries' title to match the window for Global Auto-Type Genel Otomatik Tip için Pencereleri eşlemek amacıyla girdinin başlığını kullan General (1) Genel (1) General (2) Genel (2) Appearance Görünüm Language Dil Save backups of modified entries into the 'Backup' group Düzenlenen girdileri yedeklemek için 'Backup' grubunu kullan Delete backup entries older than: Bundan eski girdileri sil: days gün Automatically save database after every change Her değişiklikte veritabanını otomatik olarak kaydet System Language Sistem Dili English İngilizce Language: Dil: Author: Yazar: Show window always on top ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Parolanızı Girin Password: Parola: TargetWindowDlg Auto-Type: Select Target Window Otomatik-Tip: Hedef Pencereyi Seçin To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Translation $TRANSLATION_AUTHOR Serdar Soytetir $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. tulliana@gmail.com $LANGUAGE_NAME Insert your language name in the format: English (United States) Türkçe WorkspaceLockedWidget Form Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Çalışma alanı kilitli.</span></p></body></html> Unlock Kilidi Aç Close Database Veritabanını Kapat keepassx-0.4.3/src/translations/keepassx-nb_NO.ts0000664000175000017500000023352711342454754021064 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: Informasjon om hvordan man oversetter KeePassX finnes under: Team Team Developer, Project Admin Utvikler, prosjektadministrator Web Designer Webdesigner Developer Utvikler Thanks To Takk til Patches for better MacOS X support Paycher for bedre MacOS X støtte Main Application Icon Programikon Various fixes and improvements Diverse forbedringer Error Feil File '%1' could not be found. Fil '%1' ble ikke funnet. Make sure that the program is installed correctly. Sikre deg at programmet er riktig installert. OK OK Current Translation Nåværende oversettelse None Please replace 'None' with the language of your translation Ingen Author Forfatter AboutDlg About Om AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Credits Translation Oversettelse License Lisens Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX er distribuert under betingelsene i lisensen: General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Legg til bokmerke Title: Tittel: File: Fil: Browse... Browse... Edit Bookmark Editer bokmerke KeePass Databases (*.kdb) KeePass database (*.kdb) All Files (*) All filer (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - Auto-Inntasting Click on an entry to auto-type it. Klikk på et element for å taste det inn automatisk. Group Gruppe Title Tittel Username Brukernavn Auto-Type Auto-Inntasting CDbSettingsDlg Settings Innstillinger AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (default) Twofish: 256 Bit Twofish: 256 Bit Warning Advarsel Please determine the number of encryption rounds. Velg antall krypteringssykler. OK OK Error Feil '%1' is not valid integer value. '%1' er ikke et gyldig tall. The number of encryption rounds have to be greater than 0. Antall krypteringssykler må være større enn 0. CEditEntryDlg Today I dag 1 Week 1 uke 2 Weeks 2 uker 3 Weeks 3 uker 1 Month 1 måned 3 Months 3 måneder 6 Months 6 måneder 1 Year 1 år Calendar... Kalender... %1 Bit %1 bit Edit Entry Editer element Warning Advarsel Password and password repetition are not equal. Please check your input. Passordene er ikke like. Vennligst kontroller dem. OK OK [Untitled Entry] [ikke navngitt] Add Attachment... Legg til vedlegg... Error Feil Could not open file. Kan ikke åpne fil. The chosen entry has no attachment or it is empty. Det valgte element har ikke vedlegg eller er tomt. Save Attachment... Lagre vedlegg... Error while writing the file. Feil under skriving av fil. Delete Attachment? Slett vedlegg? You are about to delete the attachment of this entry. Are you sure? Du er i ferd med å slette vedlegget for dette elementet. Er du sikker? Yes Ja No, Cancel Nei, avbryt New Entry Nytt element CGenPwDialog Password Generator Passordgenerator %1 Bits %1 bits CSelectIconDlg Replace... Erstatt... Delete Slett Add Custom Icon Legg til eget ikon Pick Velg Add Icons... Legg til ikoner... Images (%1) Bilder (%1) %1: File could not be loaded. %1: Fil kan ikke lastes. Error Feil An error occured while loading the icon(s): Feil under lesing av ikon(er): An error occured while loading the icon. Feil under lesing av ikon. CSettingsDlg Settings Innstillinger Select a directory... Velg en katalog... Select an executable... Velg en eksekverbar fil... System Language Systemspråk CalendarDialog Calendar Kalender CollectEntropyDlg Random Number Generator Tilfeldig nummer-generator Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Samler entropi... Beveg musen eller trykk noen taster på tastaturet til nok entropi er samlet. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Funnet nytt frø for tilfeldig nummer!</span></p></body></html> Entropy Collection Entropisamling CustomizeDetailViewDialog Dialog Dialog Rich Text Editor Rik-tekst-editor Bold Fet B B Italic Kursiv I I Underlined Understreket U U Left-Aligned Ventrejustert L L Centered Sentrert C C Right-Aligned Høyrejustert R R Justified Justified Text Color Tekstfarge Font Size Tekststørrelse 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Maler T T HTML HTML Group Gruppe Title Tittel Username Brukernavn Password Passord Url Url Comment Kommentar Attachment Name Vedlegg Creation Date Opprettelsesdato Last Access Date Sist aksessert Last Modification Date Sist endret Expiration Date Utgåttdato Time till Expiration Tid til utgått Database Never Aldri DatabaseSettingsDlg Database Settings Databaseinstillinger Encryption Kryptering Algorithm: Algortime: Encryption Rounds: Krypteringssykler: Calculate rounds for a 1-second delay on this computer Beregn sykler for et 1-sekunds forsinkelse på denne datamaskin DetailViewTemplate Group Gruppe Title Tittel Username Brukernavn Password Passord URL URL Creation Opprettelse Last Access Sist aksessert Last Modification Sist endret Expiration Utgåttdato Comment Kommentar EditEntryDialog Edit Entry Editer element Ge&n. Ge&n. Quality: Kvalitet: Attachment: Vedlegg: Title: Tittel: Username: Brukernavn: Comment: Kommentar: %1 %1 URL: URL: Group: Gruppe: Password Repet.: Gjenta passord: Password: Passord: Expires: Går ut: Never Aldri %1 Bit %1 bit Icon: Ikon: Repeat: EditGroupDialog Group Properties Gruppeegenskaper Icon: Ikon: Title: Tittel: > > ExpiredEntriesDialog Expired Entries Utgåtte elementer Double click on an entry to jump to it. Dobbelklikk på et element for å gå til det. Group Gruppe Title Tittel Username Brukernavn Expired Utgått Expired Entries in the Database Utgåtte elememter i databasen Export_KeePassX_Xml KeePassX XML File KeePassX XML Fil XML Files (*.xml) XML Filer (*.xml) All Files (*) All filer (*) Export_Txt Text File Text Fil All Files (*) All filer (*) Text Files (*.txt) Text Filer (*.txt) ExporterBase Export Failed Eksport feilet Export File... Export fil... FileErrors No error occurred. Ingen feil. An error occurred while reading from the file. Feil under lesing av fil. An error occurred while writing to the file. Feil under skriving av fil. A fatal error occurred. En alvrolig feil oppsto. An resource error occurred. En ressursfeil oppsto. The file could not be opened. Filen kunne ikke åpnes. The operation was aborted. Handlingen ble avbrutt. A timeout occurred. En tidsavbrytelse oppsto. An unspecified error occurred. En uspesifisert feil oppsto. The file could not be removed. Filen kunne ikke slettes. The file could not be renamed. Ikke mulig å gi filen nytt navn. The position in the file could not be changed. Posisjonen i filen kunne ikke endres. The file could not be resized. Filen kunne ikke endre størrelse. The file could not be accessed. Filen kunne ikke leses. The file could not be copied. Filen kunne ikke kopieres. GenPwDlg Password Generator Passordgenerator Options Valg Use follo&wing character groups: Bruk følgende tegngruppe: Alt+W Alt+W &Lower Letters Små bokstaver Alt+L Alt+L Alt+N Alt+N &Numbers Tall Alt+S Alt+S &Upper Letters Store bokstaver Alt+U Alt+U &Special Characters Spesielle tegn Use &only following characters: Bruk kun følgende tegn: Alt+O Alt+O Length: Lengde: Quality: Kvalitet: Enable entropy collection Muliggjør entropiinnsamling Alt+M Alt+M Collect only once per session Samle inn kun en gang pr sesjon New Password: Nytt passord: Generate Generer Random Tilfeldig &Underline Understrek &White Spaces Skilletegn &Minus Minus Exclude look-alike characters Fjern tegn som ligner Ensure that password contains characters from every group Sikre at passordet inneholder tegn fra alle grupper Pronounceable Mulig å uttale Lower Letters Små bokstaver Upper Letters Store bokstaver Numbers Tall Special Characters Spesielle tegn Use following character groups: Custom Use the following characters: HelpDlg Previous Page Next Page First Page Help Contents Import_KWalletXml XML Files (*.xml) XML Filer (*.xml) All Files (*) All filer (*) Import Failed Import feilet Invalid XML data (see stdout for details). Ugyldig XML data (se stdout for detaljer). Invalid XML file. Ugyldig XML fil. Document does not contain data. Dokumentet inneholder ingen data. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePass XML Filer (*.xml) All Files (*) All filer (*) Import Failed Import feilet XML parsing error on line %1 column %2: %3 XML-parsing feilet på linje %1 kolonne %2 %3 Parsing error: File is no valid KeePassX XML file. Parse-feil: Filen er ikke en gyldig KeePassX XML fil. Import_PwManager PwManager Files (*.pwm) PwManager Filer (*.pwm) All Files (*) All filer (*) Import Failed Import feilet File is empty. Filen er tom. File is no valid PwManager file. Filen er ikke en gyldig PwManager fil. Unsupported file version. Filversjon ikke støttet. Unsupported hash algorithm. Hash-algortimen er ikke støttet. Unsupported encryption algorithm. Krypteringsalgoritmen er ikke støttet. Compressed files are not supported yet. Komprimerte filer er ikke støttet enda. Wrong password. Feil passord. File is damaged (hash test failed). Filen er skadet (hashtesten feilet). Invalid XML data (see stdout for details). Ugyldig XML data (se stdout for detaljer). ImporterBase Import File... Import fil... Import Failed Import feilet Kdb3Database Could not open file. Kunne ikke åpne fil. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Uventet filstørrelse (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Feil signatur Unsupported File Version. Filversjon ikke støttet. Unknown Encryption Algorithm. Ukjent krypteringsalgoritmen. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Decryption failed. The key is wrong or the file is damaged. Dekrypterng feilet. Nøkkelen er feil eller filen skadet. Hash test failed. The key is wrong or the file is damaged. Hashtest feilet. Nøkkelen er feil eller filen skadet. Unexpected error: Offset is out of range. En uspesifisert feil oppsto: Offset er utenfor grensen. Invalid group tree. Ugyldig gruppetre. Key file is empty. Nøkkelfil er tom. The database must contain at least one group. Databasen må inneholde minst en gruppe. Unable to initalize the twofish algorithm. Ikke mulig å inisialisere twofish-algoritmen. The database has been opened read-only. Databsen er åpnet for bare-les. Kdb3Database::EntryHandle Bytes bytes KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? Slett? Error Feil At least one group must exist before adding an entry. Minst en gruppe må finnes før et element opprettes. OK OK Title Tittel Username Brukernavn URL URL Password Passord Comments Kommentarer Expires Går ut Creation Opprettelse Last Change Siste endring Last Access Sist aksessert Attachment Vedlegg Group Gruppe Are you sure you want to delete this entry? Er du sikker på at du vil slette dette elementet? Are you sure you want to delete these %1 entries? Er du sikker på at du vil slette disse %1 elementene? KeepassGroupView Search Results Søkeresultat Delete? Slett? Are you sure you want to delete this group, all its child groups and all their entries? Er du sikker at på at du vil slette denne gruppen, alle undergrupper og alle deres elementer? KeepassMainWindow Ready Klar Locked Låst Unlocked Ulåst Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Feil The database file does not exist. Databasefilen finnes ikke. Loading Database... Laster databasen... Loading Failed Lasting feilet Unknown error while loading database. Ukjent feil i forbindelse med lasting av databasen. The following error occured while opening the database: Følgende feil oppsto når databasen ble forsøkt åpnet: Save modified file? Lagre endret fil? new ny Open Database... Åpne database... KeePass Databases (*.kdb) KeePass database (*.kdb) All Files (*) All filer (*) Expired Utgått 1 Month 1 måned %1 Months %1 måneder 1 Year 1 år %1 Years %1 år 1 Day 1 dag %1 Days %1 dager less than 1 day mindre enn 1 dag Clone Entry Klon element Delete Entry Slett Element Clone Entries Klon elementer Delete Entries Slett elementer File could not be saved. Filen kunne ikke lages. Save Database... Lagre database... Un&lock Workspace Lås opp arbeidsflate &Lock Workspace Lås arbeidsflate Show &Toolbar Vis statslinje Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Database låst The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Databasen du forsøker å åpne er låst. Dette betyr at neon andre bruker den eller at KeePassX kræsjet forrige gang denne databsen ble åpnet. Vil du åpne den allikevel? The current file was modified. Do you want to save the changes? Filen er endret. Vil du lagre endringene? Couldn't remove database lock file. Kan ikke slette låsefilen til databasen. Open read-only Åpne for bare-les Couldn't create lock file. Opening the database read-only. Kanikke lage låsefil. Åpner databsen for bare-les. Couldn't create database lock file. locked Ctrl+M Main Error Feil File '%1' could not be found. Fil '%1' ble ikke funnet. MainWindow KeePassX KeePassX Groups Grupper &Help Hjelp &File Fil &Export to... Export til... &Import from... Import fra... &View View E&xtras Ekstra &Open Database... Åpne database... &Close Database Lukk database &Save Database Lagre database Save Database &As... Lagre database som... &Database Settings... Databaseinnstillinger... Change &Master Key... Endre masternøkkel... &Lock Workspace Lås arbeidsflate &Settings... Innstillinger... &About... Om... &KeePassX Handbook... KeePassX Håndbok... Hide Skjul Recycle Bin... Søppelkasse... &Bookmarks Bokmerker Toolbar &Icon Size Ikonstørrelse på verktøylinjen &Columns Kolonner &Manage Bookmarks... Ordne bokmerker... &Quit Avslutt &Edit Group... Editer gruppe... &Delete Group Slett gruppe Copy Password &to Clipboard Kopier passord til utklippstavlen Copy &Username to Clipboard Kopier brukernavn til utklippstavlen &Open URL Åpne URL &Save Attachment As... Lagre vedlegg som... Add &New Entry... Legg til nytt element... &View/Edit Entry... Se på/editer element... De&lete Entry Slett element &Clone Entry Klon element Search &in Database... Søk i database... Search in this &Group... Søk i denne gruppen... Show &Entry Details Se på elementdetaljer Hide &Usernames Skjul brukernavn Hide &Passwords Skjul passord &Title Tittel User&name Brukernavn &URL URL &Password Passord &Comment Kommentar E&xpires Går ut C&reation Opprettet &Last Change Siste endring Last &Access Sist aksessert A&ttachment Vedlegg Show &Statusbar Vis statslinje &Perform AutoType Utfør auto-inntasting &16x16 16x16 &22x22 22x22 2&8x28 28x28 &New Database... New database... &Password Generator... Passordgenerator... &Group (search results only) Gruppe (kun søkeresultat) Show &Expired Entries... Vis utgåtte elementer... &Add Bookmark... Legg til bokmerke... Bookmark &this Database... Legg til bokmerke for denne databasen... &Add New Subgroup... Legg til ny undergruppe... Copy URL to Clipboard Kopier URL til utklippstavle Add New Group... Legg til ny gruppe... &Entries Elementer &Groups Grupper Sort groups Sorter grupper &Group &Minimize Window ManageBookmarksDlg Manage Bookmarks Ordne bokmerker PasswordDialog Enter Master Key Skriv inn masternøkkel Set Master Key Sett masternøkkel Change Master Key Endre masternøkkel Database Key Databasenøkkel Last File Siste fil Select a Key File Velg en nøkkelfil All Files (*) All filer (*) Key Files (*.key) Nøkkelfiler (*.key) Please enter a Password or select a key file. Legg inn passord eller velg en nøkkelfil. Please enter a Password. Legg inn passord. Please provide a key file. Finn nøkkelfil. %1: No such file or directory. %1: Fil eller katalog ikke funnet. The selected key file or directory is not readable. Nøkkelfilen eller katalogen er ikke lesbar. The given directory does not contain any key files. Katalogen inneholder ingen nøkkelfiler. The given directory contains more then one key files. Please specify the key file directly. Katalogen inneholder mer enn en nøkkelfil. Spesifiser filen. %1: File is not readable. %1: Filen er ikke lesbar. Create Key File... Lag nøkkelfil... PasswordDlg Last File Siste fil Enter a Password and/or choose a key file. Legg inn passord og/eller velg nøkkelfil. Key Nøkkel Password: Passord: &Browse... Browse... Alt+B Alt+B Key File: Nøkkelfil: Generate Key File... Generer nøkkelfil... Please repeat your password: Gjenta passord: Back Tilbake Passwords are not equal. Passordene er ikke like. SearchDialog Search Søk Search_Dlg Search... Søk... Include: Inkluder: Pass&words Passord Alt+W Alt+W A&nhang A&nhang Alt+N Alt+N U&RLs URLer Alt+R Alt+R C&omments Kommentarer Alt+O Alt+O &Usernames Brukernavn Alt+U Alt+U &Titles Tittler Alt+T Alt+T &Case Sensitive Case Sensitive Alt+C Alt+C Regular E&xpression Regulært uttrykk Alt+X Alt+X Include Subgroups (recursive) Inkluder undergrupper (rekursivt) Search For: Søk etter: SelectIconDlg Icon Selection Ikonvalg SettingsDialog Settings Innstillinger Show system tray icon Show system tray icon Minimize to tray instead of taskbar Minimize to tray instead of taskbar Minimize to tray when clicking the main window's close button Minimize to tray when clicking the main window's close button Remember last opened file Husk sist åpnet fil Alt+Ö Alt+Ö Remember last key type and location Husk forrige nøkkeltype og plassering Start minimized Start minimert Start locked Start låst Save recent directories of file dialogs Save recent directories of file dialogs Clear History Now Slett historikk nå Always ask before deleting entries or groups Spør alltid før sletting av grupper eller elementer Banner Color Bannerfarge Text Color: tekstfarge: Change... Endre... Color 2: Farge 2: C&hange... Endre... Alt+H Alt+H Color 1: Farge 1: Alternating Row Colors Alternerende radfarger Customize Entry Detail View... Tilpass elementdetaljer-viewet... Group tree at start-up: Gruppetre ved oppstart: Restore last state Gjenopprett siste tilstand Expand all items Ekspander alle elementer Do not expand any item Ikke ekspander elementer Security Sikkerhet Edit Entry Dialog Editer Element dialog Alt+O Alt+O Clear clipboard after: Slett utklippstavle etter: Lock workspace when minimizing the main window Lås arbeidsflaten når programmet minimeres You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Du kan slå av funksjonalitet i KeePassX her for å få et rent brukergrensesnitt. Bookmarks Bokmerker Plug-Ins Plugins None Ingen Gnome Desktop Integration (Gtk 2.x) Gnome Desktop-integrasjon (Gtk 2.x) KDE 4 Desktop Integration KDE 4 Desktop-integrasjon You need to restart the program before the changes take effect. Du må starte programmet på nytt for å se endringene. Configure... Konfiguerer... Advanced Avansert Auto-Type Fine Tuning Auto-inntasting fintuning Time between the activation of an auto-type action by the user and the first simulated key stroke. Tid mellom aktivering av auto-inntasting-handling av brukeren og frste simulrte tasting. ms ms Pre-Gap: Pre-Gap: Key Stroke Delay: Tasteforsinkelse: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Forsinkelse mellom to simulerte taster. Øk dene hvis auto-inntasting hopper over tegn. Custom Browser Command Egen nettleserkommando Browse Browse Media Root: Media Root: The directory where storage devices like CDs and memory sticks are normally mounted. Katalogen hvor CDer og minnebrikker vanligvis er montert. Browse... Browse... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Velg denne hvis du ønsker å bruke dine bokmerker og siste filer uavhengig av deres absolutte stier. Dette er nyttig når man bruker KeePassX portabelt og dermed har forskjellige 'mount-points' i filsystemet. Save relative paths (bookmarks and last file) Lagre relavtive stier (bokmerker og siste fil) Global Auto-Type Shortcut: Globalt auto-innstasting hurtigvalg: Automatically save database on exit and workspace locking Automaitsk lagre databasen ved avslutning eller låsing Show plain text passwords in: Vis klarttekst passord i: Database Key Dialog Databasenøkkel-dialog seconds sukunder Lock database after inactivity of Lås databasen etter inaktivtet Use entries' title to match the window for Global Auto-Type Bruk elementers tittel for å matche vinduet for global auto-inntasting General (1) Generelt (1) General (2) Generelt (2) Appearance Utseende Language Språk Save backups of modified entries into the 'Backup' group Lagre backups av endrede elementer i 'Backup' gruppen Delete backup entries older than: Slett backupelementer eldre enn: days dager Automatically save database after every change Automaitsk lagre databasen etter hver endring Language: Språk: Author: Forfatter: Show window always on top ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Legg inn passord Password: Passord: TargetWindowDlg Auto-Type: Select Target Window Auto-inntasting: Velg målvindu To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: For å velge et målvindu, enten velg et åpent vindy fra drop-down-listen eller skriv inn vindustittelen manuelt: Translation $TRANSLATION_AUTHOR Fredrik Rødland $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. translate [aaaatttt] rodland.no - http://rodland.no $LANGUAGE_NAME Insert your language name in the format: English (United States) Norwegian bokmål (Norway) WorkspaceLockedWidget Form Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Arbeidsflatebn er låst.</span></p></body></html> Unlock Lås opp Close Database Lukk database keepassx-0.4.3/src/translations/keepassx-it_IT.ts0000664000175000017500000025316611342454754021102 0ustar felixfelix AboutDialog $TRANSLATION_AUTHOR Diego Pierotto $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. ita.translations@tiscali.it Information on how to translate KeePassX can be found under: Informazioni su come tradurre KeePassX si possono trovare qui: Team Gruppo Developer, Project Admin Sviluppatore, Amministratore progetto Web Designer Disegnatore Web Developer Sviluppatore Thanks To Ringraziamenti Patches for better MacOS X support Patches per migliorie a MacOS X Main Application Icon Icona applicazione principale Various fixes and improvements Alcune correzioni e migliorie Error Errore File '%1' could not be found. Impossibile trovare il file '%1'. Make sure that the program is installed correctly. Assicurati che il programma sia installato correttamente. OK OK Current Translation Traduzione attuale None Please replace 'None' with the language of your translation Italiano Author Autore AboutDlg About Informazioni su AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Crediti Translation Traduzione License Licenza Copyright (C) 2005 - 2008 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2008 KeePassX Team KeePassX è distribuito sotto i termini della General Public License (GPL) versione 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2008 KeePassX Team KeePassX è distribuito sotto i termini della General Public License (GPL) versione 2. {2005 ?} {2009 ?} {2.?} Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX è distribuito sotto i termini della General Public License (GPL) versione 2. AddBookmarkDlg Add Bookmark Aggiungi ai Segnalibri Title: Titolo: File: File: Browse... Sfoglia... Edit Bookmark Modifica i Segnalibri KeePass Databases (*.kdb) Database KeePass (*.kdb) All Files (*) Tutti i files (*) AutoType More than one 'Auto-Type:' key sequence found. Allowed is only one per entry. Trovate più di una sequenza chiave di 'Auto Digitazione:'. E' permessa solo una per voce. Syntax Error in Auto-Type sequence near character %1 Found '{' without closing '}' Errore sintassi nella sequenza Auto Digitazione vicina al carattere %1 Trovati '{' senza chiusura '}' Auto-Type string contains invalid characters La stringa di Auto Digitazione contiene caratteri non validi AutoTypeDlg KeePassX - Auto-Type KeePassX - Auto Digitazione Click on an entry to auto-type it. Clicca su una voce per Auto digitarlo. Group Gruppo Title Titolo Username Nome utente Auto-Type Auto Digitazione CDbSettingsDlg Settings Impostazioni AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (predefinito) Twofish: 256 Bit Twofish: 256 Bit Warning Attenzione Please determine the number of encryption rounds. Determina il numero di passaggi di cifratura. OK OK Error Errore '%1' is not valid integer value. '%1' non è un valore integer valido. The number of encryption rounds have to be greater than 0. Il numero di passaggi di cifratura deve essere maggiore di 0. CEditEntryDlg Today Oggi 1 Week 1 Settimana 2 Weeks 2 Settimane 3 Weeks 3 Settimane 1 Month 1 Mese 3 Months 3 Mesi 6 Months 6 Mesi 1 Year 1 Anno Calendar... Calendario... %1 Bit %1 Bit Edit Entry Modifica voce Warning Attenzione Password and password repetition are not equal. Please check your input. La password e la conferma password non sono uguali. Verifica i valori inseriti. OK OK [Untitled Entry] [Voce senza titolo] Add Attachment... Aggiungi allegato... Error Errore Could not open file. Impossibile aprire il file. The chosen entry has no attachment or it is empty. La voce scelta non ha allegati oppure è vuota. Save Attachment... Salva allegato... Error while writing the file. Errore durante la scrittura del file. Delete Attachment? Eliminare allegato? You are about to delete the attachment of this entry. Are you sure? Stai per eliminare l'allegato di questa voce. Sei sicuro? Yes No, Cancel No, Annulla New Entry Nuova voce CGenPwDialog Password Generator Generatore di password Notice Avviso You need to enter at least one character Devi inserire almeno un carattere OK OK %1 Bits %1 Bits CSelectIconDlg Replace... Sostituisci... Delete Elimina Add Custom Icon Aggiungi icona personalizzata Pick Seleziona Add Icons... Aggiungi icone... Images (%1) Immagini (%1) %1: File could not be loaded. %1: Impossibile caricare il file. Error Errore An error occured while loading the icon(s): Errore durante il caricamento dell'icona(e): An error occured while loading the icon. Errore durante il caricamento dell'icona. CSettingsDlg Settings Impostazioni Select a directory... Seleziona una directory... Select an executable... Seleziona un eseguibile... System Language Lingua di sistema CalendarDialog Calendar Calendario CollectEntropyDlg Random Number Generator Generatore numero casuale Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Impostazione entropia... Sposta il mouse e/o premi alcuni tasti finché ci sia sufficiente entropia affinché il generatore imposti un numero casuale. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Insieme casuale generato correttamente!</span></p></body></html> Entropy Collection Accumulazione entropia CustomizeDetailViewDialog Dialog Finestra di dialogo Rich Text Editor Editor Rich Text Bold Grassetto B G Italic Corsivo I C Underlined Sottolineato U S Left-Aligned Allineato a sinistra L S Centered Centrato C C Right-Aligned Allineato a destra R D Justified Giustificato Text Color Colore testo Font Size Dimensione carattere 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Modelli T M HTML HTML Group Gruppo Title Titolo Username Nome utente Password Password Url Url Comment Commento Attachment Name Nome allegato Creation Date Data creazione Last Access Date Data ultimo accesso Last Modification Date Data ultima modifica Expiration Date Data scadenza Time till Expiration Tempo fino alla scadenza Database Never Mai DatabaseSettingsDlg Database Settings Impostazioni Database Encryption Cifratura Algorithm: Algoritmo: Encryption Rounds: Passaggi di cifratura: Calculate rounds for a 1-second delay on this computer Calcola passaggi con ritardo di un secondo su questo computer DetailViewTemplate Group Gruppo Title Titolo Username Nome utente Password Password URL URL Creation Creazione Last Access Ultimo accesso Last Modification Ultima modifica Expiration Scadenza Comment Commento EditEntryDialog Edit Entry Modifica voce Ge&n. Ge&n. Quality: Qualità: Attachment: Allegato: Title: Titolo: Username: Nome utente: Comment: Commento: %1 %1 URL: URL: Group: Gruppo: Password Repet.: Ripetizione password: Password: Password: Expires: Scade: Never Mai %1 Bit %1 Bit Icon: Icona: Repeat: Ripeti: EditGroupDialog Group Properties Proprietà gruppo Icon: Icona: Title: Titolo: > > ExpiredEntriesDialog Expired Entries Voce scaduta Double click on an entry to jump to it. Doppio click sulla voce per aprirla. Group Gruppo Title Titolo Username Nome utente Expired Scaduta Expired Entries in the Database Voci scadute nel Database Export_KeePassX_Xml KeePassX XML File File XML KeePassX XML Files (*.xml) Files XML (*.xml) All Files (*) Tutti i files (*) Export_Txt Text File File di testo All Files (*) Tutti i files (*) Text Files (*.txt) File di testo (*.txt) ExporterBase Import File... Importa file... Export Failed Esportazione fallita Export File... Esporta file... FileErrors No error occurred. Non si è verificato alcun errore. An error occurred while reading from the file. Si è verificato un errore durante la lettura del file. An error occurred while writing to the file. Si è verificato un errore durante la scrittura del file. A fatal error occurred. Si è verificato un errore fatale. An resource error occurred. Si è verificato un errore di risorsa. The file could not be opened. Impossibile aprire il file. The operation was aborted. L'operazione è stata terminata. A timeout occurred. Si è verificata una scadenza. An unspecified error occurred. Si è verificato un errore non specificato. The file could not be removed. Impossibile rimuovere il file. The file could not be renamed. Impossibile rinominare il file. The position in the file could not be changed. La posizione nel file non può essere modificata. The file could not be resized. Impossibile ridimensionare il file. The file could not be accessed. Impossibile accedere al file. The file could not be copied. Impossibile copiare il file. GenPwDlg Password Generator Generatore di password Options Opzioni Use follo&wing character groups: Utilizza i se&guenti gruppi di carattere: Alt+W Alt+G &Lower Letters Lettere M&inuscole Alt+L Alt+I U&nderline So&ttolineato Alt+N Alt+T &Numbers &Numeri White &Spaces &Spazi vuoti Alt+S Alt+S &Upper Letters Lettere M&aiuscole Alt+U Alt+A Minus Meno &Special Characters Caratteri &Speciali Use &only following characters: Utilizza s&olo i seguenti caratteri: Alt+O Alt+O Length: Lunghezza: Quality: Qualità: Enable entropy collection Abilita accumulazione entropia Alt+M Alt+M Collect only once per session Imposta solo una volta per sessione New Password: Nuova password: Generate Genera Random Casuale &Underline &Sottolinea &White Spaces S&pazi bianchi &Minus &Meno Exclude look-alike characters Escludi caratteri identici Ensure that password contains characters from every group Assicurati che la password contenga caratteri di ogni gruppo Pronounceable Pronunciabile Lower Letters Lettere minuscole Upper Letters Lettere maiuscole Numbers Numeri Special Characters Caratteri speciali Use following character groups: Utilizza i seguenti gruppi di carattere: Custom Personalizza Use the following characters: Utilizza i seguenti caratteri: HelpDlg Previous Page Pagina precedente Next Page Pagina successiva First Page Prima pagina Help Contents Contenuti guida Import_KWalletXml XML Files (*.xml) Files XML (*.xml) All Files (*) Tutti i files (*) Import Failed Importazione fallita Invalid XML data (see stdout for details). Dati XML non validi (vedi stdout per dettagli). Invalid XML file. File XML non valido. Document does not contain data. Il documento non contiene dati. Import_KeePassX_Xml KeePass XML Files (*.xml) File XML KeePass (*.xml) All Files (*) Tutti i files (*) Import Failed Importazione fallita XML parsing error on line %1 column %2: %3 Errore analisi XML nella riga %1 colonna %2: %3 Parsing error: File is no valid KeePassX XML file. Errore analisi: Il file non è un valido file XML di KeePassX. Import_PwManager PwManager Files (*.pwm) Files PwManager (*.pwm) All Files (*) Tutti i files (*) Import Failed Importazione fallita File is empty. Il fIle è vuoto. File is no valid PwManager file. Il file non è un valido file PwManager. Unsupported file version. Versione file non supportata. Unsupported hash algorithm. Algoritmo di hash non supportato. Unsupported encryption algorithm. Algoritmo di cifratura non supportato. Compressed files are not supported yet. I file compressi non sono ancora supportati. Wrong password. Password errata. File is damaged (hash test failed). Il file è danneggiato (prova di hash fallita). Invalid XML data (see stdout for details). Dati XML non validi (vedi stdout per dettagli). ImporterBase Import File... Importa file... Import Failed Importazione fallita Kdb3Database Could not open file. Impossibile aprire il file. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Dimensione file inattesa (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Firma errata Unsupported File Version. Versione file non supportata. Unknown Encryption Algorithm. Algoritmo di cifratura sconosciuto. Unable to initialize the twofish algorithm. Impossibile inizializzare l'algoritmo twofish. Unknown encryption algorithm. Algoritmo di cifratura sconosciuto. Decryption failed. The key is wrong or the file is damaged. Decifratura fallita. La chiave è errata oppure il file è danneggiato. Hash test failed. The key is wrong or the file is damaged. Prova di hash fallita. La chiave è errata oppure il file è danneggiato. Unexpected error: Offset is out of range. Errore inatteso: La posizione è fuori campo. Invalid group tree. Albero del gruppo non valido. Key file is empty. Il fIle chiave è vuoto. The database must contain at least one group. Il database deve contenere almeno un gruppo. Could not open file for writing. Impossibile aprire il file per la scrittura. Unable to initalize the twofish algorithm. Impossibile inizializzare l'algoritmo twofish. The database has been opened read-only. Il database è stato aperto in sola lettura. Kdb3Database::EntryHandle Bytes Bytes KiB KB MiB MB GiB GB KeepassEntryView Delete? Eliminare? Error Errore At least one group must exist before adding an entry. Deve esistere almeno un gruppo prima di aggiungere una voce. OK OK Title Titolo Username Nome utente URL URL Password Password Comments Commenti Expires Scade Creation Creazione Last Change Ultima modifica Last Access Ultimo accesso Attachment Allegato Group Gruppo Are you sure you want to delete this entry? Sei sicuro di voler eliminare questa voce? Are you sure you want to delete these %1 entries? Sei sicuro di voler eliminare queste %1 voci? KeepassGroupView Search Results Risultati della ricerca Delete? Eliminare? Are you sure you want to delete this group, all it's child groups and all their entries? Sei sicuro di voler eliminare questo gruppo, tutti i suoi sottogruppi e le loro voci? Are you sure you want to delete this group, all its child groups and all their entries? Sei sicuro di voler eliminare questo gruppo, tutti i suoi sottogruppi e le loro voci? KeepassMainWindow Ready Pronto Locked Bloccato Unlocked Sbloccato Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Errore The database file does not exist. Il file di database non esiste. Loading Database... Caricamento Database... Loading Failed Caricamento fallito Unknown error while loading database. Errore sconosciuto durante il caricamento del database. The following error occured while opening the database: Si è verificato il seguente errore durante l'apertura del database: Save modified file? Salvare il file modificato? The current file was modified. Do you want to save the changes? Il file attuale è stato modificato. Vuoi salvare le modifiche? new nuovo Open Database... Apri Database... KeePass Databases (*.kdb) Database KeePass (*.kdb) All Files (*) Tutti i files (*) Expired Scaduta 1 Month 1 Mese %1 Months %1 Mesi 1 Year 1 Anno %1 Years %1 Anni 1 Day 1 Giorno %1 Days %1 Giorni less than 1 day meno di 1 giorno Clone Entry Duplica voce Delete Entry Elimina voce Clone Entries Duplica voci Delete Entries Elimina voci File could not be saved. Impossibile salvare il file. Save Database... Salva Database... Un&lock Workspace Sb&locca l'area di lavoro &Lock Workspace &Blocca l'area di lavoro Show &Toolbar Mostra barra degli &strumenti Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Database bloccato The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Il database che stai tentando di aprire è bloccato. Questo significa che qualcun altro ha aperto il file o che KeePassX si è bloccato l'ultima volta che si è aperto il database. Vuoi comunque aprirlo? The current file was modified. Do you want to save the changes? Il file attuale è stato modificato. Vuoi salvare le modifiche? Couldn't remove database lock file. Impossibile rimuovere il file di blocco del database. Open read-only Apri in sola lettura Couldn't create lock file. Opening the database read-only. Impossibile creare il file di blocco. Apertura del database in sola lettura. Couldn't create database lock file. Impossibile creare il file di blocco del database. locked bloccato Ctrl+M Main Error Errore File '%1' could not be found. Impossibile trovare il file '%1'. OK OK MainWindow KeePassX KeePassX Groups Gruppi &Help &Guida &File &File &Export to... Esp&orta in... &Import from... Im&porta da... &Edit &Modifica &View &Visualizza E&xtras &Utilità &Open Database... &Apri Database... &Close Database &Chiudi Database &Save Database &Salva Database Save Database &As... Save Database &come... &Database Settings... Impostazioni &Database... Change &Master Key... Cambia la chiave &principale... &Lock Workspace &Blocca l'area di lavoro &Settings... &Impostazioni... &About... &Informazioni su... &KeePassX Handbook... Manuale &KeePassX... Hide Nascondi Standard KeePass Single User Database (*.kdb) Database KeePass standard a singolo utente (*.kdb) Advanced KeePassX Database (*.kxdb) Database KeePassX avanzato (*.kxdb) Recycle Bin... Cestino... &Bookmarks &Segnalibri Toolbar &Icon Size Dimensione &icona barra degli strumenti &Columns &Colonne &Manage Bookmarks... Gestisci i Se&gnalibri... &Quit E&sci &Add New Group... &Aggiungi nuovo gruppo... &Edit Group... Modi&fica gruppo... &Delete Group Elimina &gruppo Copy Password &to Clipboard Copia la password negli &Appunti Copy &Username to Clipboard Copia il nome &utente negli Appunti &Open URL &Apri URL &Save Attachment As... &Salva allegato come... Add &New Entry... Aggiungi &nuova voce... &View/Edit Entry... &Visualizza/Modifica voce... De&lete Entry E&limina voce &Clone Entry &Duplica voce Search &in Database... Cerca &nel Database... Search in this &Group... Cerca in questo &gruppo... Show &Entry Details Mostra d&ettagli voce Hide &Usernames Nascondi nomi &utente Hide &Passwords Nascondi &password &Title &Titolo User&name &Nome utente &URL &URL &Password &Password &Comment &Commento E&xpires &Scade C&reation C&reazione &Last Change U&ltima modifica Last &Access Ultimo &accesso A&ttachment Allega&to Show &Statusbar Mostra la barra di &stato &Perform AutoType Esegui Auto &Digitazione &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Nuovo Database... &Password Generator... Generatore di &password... &Group (search results only) &Gruppo (ricerca solo di risultati) Show &Expired Entries... Mostra voci scadut&e... &Add Bookmark... &Aggiungi ai Segnalibri... Bookmark &this Database... Imposta il Database come &Segnalibro... &Add New Subgroup... &Aggiungi nuovo sottogruppo... Copy URL to Clipboard Copia URL negli Appunti Add New Group... Aggiungi nuovo gruppo... &Entries &Voci &Groups &Gruppi Sort groups Ordina gruppi &Group &Gruppo &Minimize Window ManageBookmarksDlg Manage Bookmarks Gestisci Segnalibri PasswordDialog Enter Master Key Inserisci la chiave principale Set Master Key Imposta la chiave principale Change Master Key Cambia chiave principale Database Key Chiave Database Last File Ultimo file Select a Key File Seleziona un file chiave All Files (*) Tutti i files (*) Key Files (*.key) File chiave (*.key) Please enter a Password or select a key file. Inserisci una password o seleziona un file chiave. Please enter a Password. Insersci una password. Please provide a key file. Fornisci un file chiave. %1: No such file or directory. %1: Nessun file o directory. The selected key file or directory is not readable. Il file chiave o la directory selezionata non è leggibile. The given directory does not contain any key files. La directory selezionata non contiene alcun file chiave. The given directory contains more then one key files. Please specify the key file directly. La directory selezionata contiene più di un file chiave. Specifica il file chiave direttamente. %1: File is not readable. %1: Il file non è leggibile. Create Key File... Crea un file chiave... PasswordDlg Last File Ultimo file Enter a Password and/or choose a key file. Inserisci la password e/o seleziona il file chiave. Key Chiave Password: Password: &Browse... &Sfoglia... Alt+B Alt+S Key File: File chiave: Generate Key File... Genera file chiave... Please repeat your password: Ripeti la password: Back Indietro Passwords are not equal. Le password non corrispondono. QObject Could not locate library file. Impossibile trovare il file di libreria. SearchDialog Search Cerca Search_Dlg Search... Cerca... Include: Includi: Pass&words Pass&words Alt+W Alt+W A&nhang A&nhang Alt+N Alt+N U&RLs U&RL Alt+R Alt+R C&omments C&ommenti Alt+O Alt+O &Usernames Nomi &Utente Alt+U Alt+U &Titles &Titoli Alt+T Alt+T &Case Sensitive &Case Sensitive Alt+C Alt+C Regular E&xpression &Espressione regolare Alt+X Alt+E Include Subgroups (recursive) Includi sottogruppi (ricorsivo) Search For: Cerca per: SelectIconDlg Icon Selection Selezione icona SettingsDialog Settings Impostazioni The integration plugins provide features like usage of the native file dialogs and message boxes of the particular desktop environments. L'integrazione dei plugins fornisce caratteristiche come l'uso di file di finestre di dialogo nativi e caselle messaggi degli ambienti desktop particolari. General Generale Show system tray icon Mostra icona nella barra di sistema Minimize to tray instead of taskbar Riduci a icona nella barra di sistema anzichè nella barra delle applicazioni Minimize to tray when clicking the main window's close button Riduci alla barra di sistema al click del pulsante chiudi della finestra principale Remember last opened file Ricorda l'ultimo file aperto Alt+Ö Alt+Ö Remember last key type and location Ricorda l'ultima chiave digitata e la posizione Start minimized Avvia ridotto a icona Start locked Avvia bloccato Save recent directories of file dialogs Salva directory recenti dei file di dialoghi Clear History Now Pulisci ora la cronologia Always ask before deleting entries or groups Chiedi sempre prima di eliminare voci o gruppi Appea&rance Asp&etto Banner Color Colore banner Text Color: Colore testo: Change... Cambia... Color 2: Colore 2: C&hange... Ca&mbia... Alt+H Alt+M Color 1: Colore 1: Alternating Row Colors Colore alternativo delle righe Customize Entry Detail View... Personalizza la voce Visualizza dettagli... Group tree at start-up: Albero del gruppo all'avvio: Restore last state Ripristina ultimo stato Expand all items Espandi tutti i valori Do not expand any item Non espandere alcun valore Security Sicurezza Edit Entry Dialog Modifica finestra di dialogo della voce Alt+O Alt+O Clear clipboard after: Pulisci gli Appunti dopo: Lock workspace when minimizing the main window Blocca l'area di lavoro quando riduci a icona la finestra principale Features Caratteristiche You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Qui puoi disabilitare alcune caratteristiche di KeePassX a seconda delle tue necessità in modo da mantenere snella l'interfaccia utente. Bookmarks Segnalibri Desktop Integration Integrazione con il Desktop Plug-Ins Plug-Ins None Nessuno Gnome Desktop Integration (Gtk 2.x) Integrazione con il Desktop di Gnome (Gtk 2.x) KDE 4 Desktop Integration Integrazione con il Desktop di KDE 4 You need to restart the program before the changes take effect. Devi riavviare il programma per rendere effettivi i cambiamenti. Configure... Configura... Advanced Avanzate Auto-Type Fine Tuning Regola in modo fine l'Auto Digitazione Time between the activation of an auto-type action by the user and the first simulated key stroke. Tempo tra l'attivazione di un'azione da parte dell'utente di Auto Digitazione e la pressione della prima chiave simulata. ms ms Pre-Gap: Differenza precedente: Key Stroke Delay: Ritardo pressione tasti: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Ritardo tra due pressioni dei tasti simulati. Aumentalo se l'Auto Digitazione salta casualmente i caratteri. Custom Browser Command Personalizza il comando Sfoglia Browse Sfoglia Media Root: Radice dei media: The directory where storage devices like CDs and memory sticks are normally mounted. La directory dove le periferiche di salvataggio come CD e chiavette USB vengono montate di solito. Browse... Sfoglia... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Abilita questo se vuoi usare i segnalibri e l'ultimo file aperto indipendentemente dai loro percorsi assoluti. Questo è utile specialmente quando si usa KeePassX in modo portatile e perciò i punti di mount cambiano nel file system. Save relative paths (bookmarks and last file) Salva i percorsi relativi (segnalibri e ultimo file) Global Auto-Type Shortcut: Collegamento Auto Digitazione globale: Automatically save database on exit and workspace locking Salva automaticamente il database all'uscita e blocca l'area di lavoro Show plain text passwords in: Mostra password in chiaro in: Database Key Dialog Finestra chiave database seconds secondi Lock database after inactivity of Blocca il database dopo inattività di Use entries' title to match the window for Global Auto-Type Utilizza i titoli della voce per far corrispondere la finestra di Auto Digitazione Globale General (1) Generale (1) General (2) Generale (2) Appearance Aspetto Language Lingua Save backups of modified entries into the 'Backup' group Salva backup delle voci modificate nel gruppo 'Backup' Delete backup entries older than: Elimina le voci di backup più vecchie di: days giorni Automatically save database after every change Salva automaticamente il database dopo ogni modifica Language: Lingua: Author: Autore: Show window always on top Mostra finestra sempre in primo piano ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Inserisci la Password Password: Password: TargetWindowDlg Auto-Type: Select Target Window Auto Digitazione: seleziona la finestra da usare To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Per specificare la finestra da usare, o selezioni una finestra attualmente aperta dal menu a tendina, oppure inserisci il titolo della finestra manualmente: Translation $TRANSLATION_AUTHOR Diego Pierotto $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. ita.translations@tiscali.it $LANGUAGE_NAME Insert your language name in the format: English (United States) Italiano (Italia) WorkspaceLockedWidget Form Casella <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">L'area di lavoro è bloccata.</span></p></body></html> Unlock Sblocca Close Database Chiudi Database keepassx-0.4.3/src/translations/keepassx-nl_NL.ts0000664000175000017500000023463011342454754021067 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: U kunt informatie over het vertalen van KeePassX vinden op: Team Team Developer, Project Admin Ontwikkelaar, Projectleider Web Designer Web-ontwerper Developer Ontwikkelaar Thanks To Met dank aan Patches for better MacOS X support Patches voor ondersteuning van MacOS X Main Application Icon Pictogram van de toepassing Various fixes and improvements Verscheidene verbeteringen Error Fout File '%1' could not be found. Kan bestand '%1' niet vinden. Make sure that the program is installed correctly. Controleer of de toepassing op de juiste wijze geïnstalleerd is. OK OK Current Translation Huidige vertaling None Please replace 'None' with the language of your translation Nederlands Author Auteur AboutDlg About Over KeePassX AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Bijdragen Translation Vertaling License Licentie Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX wordt uitgegeven onder de voorwaarden van de General Public License (GPL), versie 2. AddBookmarkDlg Add Bookmark Favoriet toevoegen Title: Titel: File: Bestand: Browse... Bladeren... Edit Bookmark Favoriet wijzigen KeePass Databases (*.kdb) KeePass-databases (*.kdb) All Files (*) Alle bestanden (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - Automatisch-invullen Click on an entry to auto-type it. Klik op een item om dit automatisch in te vullen. Group Groep Title Titel Username Gebruikersnaam Auto-Type Automatich invullen CDbSettingsDlg Settings Instellingen AES(Rijndael): 256 Bit (default) AES (Rijndael), 256 bits (standaard) Twofish: 256 Bit Twofish, 256 bits Warning Waarschuwing Please determine the number of encryption rounds. Stel het aantal versleutelingsiteraties in. OK OK Error Fout '%1' is not valid integer value. '%1' is geen geheel getal. The number of encryption rounds have to be greater than 0. Het aantal versleutelingsiteraties dient groter dan 0 te zijn. CEditEntryDlg Today Vandaag 1 Week 1 week 2 Weeks 2 weken 3 Weeks 3 weken 1 Month 1 maand 3 Months 3 maanden 6 Months 6 maanden 1 Year 1 jaar Calendar... Kalender... %1 Bit %1 Bits Edit Entry Item wijzigen Warning Waarschuwing Password and password repetition are not equal. Please check your input. Het ingevoerde wachtwoord komt niet overeen met het bevestigde wachtwoord. Controleer uw invoer. OK OK [Untitled Entry] [Naamloos] Add Attachment... Bijlage toevoegen... Error Fout Could not open file. Kan bestand niet openen. The chosen entry has no attachment or it is empty. Het gekozen item heeft geen of een lege bijlage. Save Attachment... Bijlage opslaan... Error while writing the file. Fout bij het schrijven van het bestand. Delete Attachment? Bijlage verwijderen? You are about to delete the attachment of this entry. Are you sure? Weet u zeker dat u de bijlage bij dit item wilt verwijderen? Yes Ja No, Cancel Nee, annuleren New Entry Nieuw item CGenPwDialog Password Generator Wachtwoordgenerator %1 Bits %1 Bits CSelectIconDlg Replace... Vervangen... Delete Verwijderen Add Custom Icon Nieuw pictogram toevoegen Pick Selecteren Add Icons... Pictogrammen toevoegen... Images (%1) Afbeeldingen (%1) %1: File could not be loaded. %1: Bestand kan niet worden geladen. Error Fout An error occured while loading the icon(s): Er is een fout opgetreden bij het laden van het pictogram: An error occured while loading the icon. Er is een fout opgetreden bij het laden van het pictogram. CSettingsDlg Settings Voorkeuren Select a directory... Kies een map... Select an executable... Kies een uitvoerbaar bestand... System Language Taal volgens systeeminstellingen CalendarDialog Calendar Kalender CollectEntropyDlg Random Number Generator Toevalsgenerator Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Entropie wordt gegenereerd.. Verplaats de cursor van de muis en/of sla enkele toetsen op het toetsenbord aan totdat voldoende entropie is gegenereerd voor het initialiseren van de toevalsgenerator. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Er is voldoende entropie gegenereerd voor het initiëren van de toevalsgenerator.</span></p></body></html> Entropy Collection CustomizeDetailViewDialog Dialog Venster Rich Text Editor Tekstveld met opmaak (Rich Text) Bold Vet B B Italic Cursief I I Underlined Onderstreept U U Left-Aligned Links uitgelijnd L L Centered Gecentreerd C C Right-Aligned Rechts uitgelijnd R R Justified Uitgevuld Text Color Tekstkleur Font Size Lettergrootte 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Sjablonen T T HTML HTML Group Groep Title Titel Username Gebruikersnaam Password Wachtwoord Url Url Comment Notities Attachment Name Naam bijlage Creation Date Aanmaakdatum Last Access Date Laatst bekeken Last Modification Date Laatst gewijzigd Expiration Date Vervaldatum Time till Expiration Resterende tijd Database Never Nooit DatabaseSettingsDlg Database Settings Database-instellingen Encryption Versleuteling Algorithm: Algoritme: Encryption Rounds: Versleutelingsiteraties: Calculate rounds for a 1-second delay on this computer Het aantal iteraties voor een vertraging van 1 seconde op deze computer berekenen DetailViewTemplate Group Groep Title Titel Username Gebruikersnaam Password Wachtwoord URL Url Creation Aanmaakdatum Last Access Laatst bekeken Last Modification Laatst gewijzigd Expiration Vervaldatum Comment Notities EditEntryDialog Edit Entry Item wijzigen Ge&n. Ge&n. Quality: Veiligheidsniveau: Attachment: Bijlage: Title: Titel: Username: Gebruikersnaam: Comment: Notities: %1 %1 URL: Url: Group: Groep: Password Repet.: Nogmaals: Password: Wachtwoord: Expires: Vervaldatum: Never Nooit %1 Bit %1 Bits Icon: Pictogram: Repeat: Nogmaals: EditGroupDialog Group Properties Eigenschappen van groep Icon: Pictogram: Title: Titel: > > ExpiredEntriesDialog Expired Entries Vervallen items Double click on an entry to jump to it. Dubbelklik op een item om het te selecteren. Group Groep Title Titel Username Gebruikersnaam Expired Vervallen Expired Entries in the Database Vervallen items in de database Export_KeePassX_Xml KeePassX XML File KeePassX XML-bestand XML Files (*.xml) XML-bestanden (*.xml) All Files (*) Alle bestanden (*) Export_Txt Text File Tekstbestand All Files (*) Alle bestanden (*) Text Files (*.txt) Tekstbestanden (*.txt) ExporterBase Export Failed Export mislukt Export File... Bestand exporteren... FileErrors No error occurred. Er is geen fout opgetreden. An error occurred while reading from the file. Er is een fout opgetreden bij het lezen van het bestand. An error occurred while writing to the file. Er is een fout opgetreden bij het schrijven naar het bestand. A fatal error occurred. Er is een onherstelbare fout opgetreden. An resource error occurred. Er is een bronfout opgetreden. The file could not be opened. Kan het bestand niet openen. The operation was aborted. De bewerking is mislukt. A timeout occurred. Er is een time-out opgetreden. An unspecified error occurred. Er is een onbekende fout opgetreden. The file could not be removed. Kan het bestand niet verwijderen. The file could not be renamed. Kan het bestand niet hernoemen. The position in the file could not be changed. Kan de positie in het bestand niet wijzigen. The file could not be resized. Kan de grootte van het bestand niet wijzigen. The file could not be accessed. De toegang tot het bestand is geweigerd. The file could not be copied. Kan het bestand niet kopiëren. GenPwDlg Password Generator Wachtwoordgenerator Options Opties Use follo&wing character groups: Gebruik de &volgende tekensets: &Lower Letters K&leine letters &Numbers &Cijfers &Upper Letters &Hoofdletters &Special Characters &Speciale tekens Use &only following characters: Gebruik alleen de v&olgende tekens: Length: Lengte: Quality: Veiligheid: Enable entropy collection Entropie genereren inschakelen Collect only once per session Slechts eenmaal per sessie genereren New Password: Nieuw wachtwoord: Generate Genereren Random Willekeurig &Underline Li&ggend streepje (underscore) &White Spaces S&paties &Minus &Minteken (-) Exclude look-alike characters Wachtwoorden met op elkaar lijkende tekens voorkomen Ensure that password contains characters from every group Wachtwoorden met tekens uit alle geselecteerde tekensets genereren Pronounceable Uitspreekbaar Lower Letters Kleine letters Upper Letters Hoofdletters Numbers Cijfers Special Characters Speciale tekens Use following character groups: Gebruik de volgende tekensets: Custom Op maat Use the following characters: Gebruik de volgende tekens: HelpDlg Previous Page Vorige Next Page Volgende First Page Voorblad Help Contents Inhoudsopgave Import_KWalletXml XML Files (*.xml) XML-bestanden (*.xml) All Files (*) Alle bestanden (*) Import Failed Import mislukt Invalid XML data (see stdout for details). Ongeldige XML-gegevens (zie details in stdout). Invalid XML file. Ongeldig XML-bestand. Document does not contain data. Het bestand bevat geen gegevens. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePass XML-bestanden (*.xml) All Files (*) Alle bestanden (*) Import Failed Import mislukt XML parsing error on line %1 column %2: %3 XML-interpretatiefout op regel %1, kolom %2: %3 Parsing error: File is no valid KeePassX XML file. Leesfout: het bestand is geen geldig KeePassX XML-bestand. Import_PwManager PwManager Files (*.pwm) PwManager-bestanden (*.pwm) All Files (*) Alle bestanden (*) Import Failed Import mislukt File is empty. Het bestand is leeg. File is no valid PwManager file. Het bestand is geen geldig PwManager-bestand. Unsupported file version. Deze bestandsversie wordt niet ondersteund. Unsupported hash algorithm. Het hash-algoritme wordt niet ondersteund. Unsupported encryption algorithm. Het versleutelingsalgoritme wordt niet ondersteund. Compressed files are not supported yet. Gecomprimeerde bestanden worden niet ondersteund. Wrong password. Wachtwoord onjuist. File is damaged (hash test failed). Het bestand is beschadigd (hash-test mislukt). Invalid XML data (see stdout for details). Ongeldige XML-gegevens (zie details in stdout). ImporterBase Import File... Bestand importeren... Import Failed Import mislukt Kdb3Database Could not open file. Kan bestand niet openen. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Onverwachte bestandsgrootte (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Onjuiste ondertekening Unsupported File Version. Niet-ondersteunde bestandsversie. Unknown Encryption Algorithm. Onbekend versleutelingsalgoritme. Decryption failed. The key is wrong or the file is damaged. Ontcijfering mislukt. De sleutel in onjuist of het bestand is beschadigd. Hash test failed. The key is wrong or the file is damaged. Hash-test mislukt. De sleutel is onjuist of het bestand is beschadigd. Unexpected error: Offset is out of range. "Sleuteloffset" gesuggereerd in keepasx.forums. Onverwachte fout: Sleuteloffset is buiten bereik. Invalid group tree. Ongeldige groepenstructuur. Key file is empty. Het sleutelbestand is leeg. The database must contain at least one group. De database moet ten minste één groep bevatten. Unable to initalize the twofish algorithm. Kan het Twofish-algoritme niet starten. The database has been opened read-only. De database is geopend in alleen-lezen-modus. Unable to initialize the twofish algorithm. Kan het Twofish-algoritme niet starten. Unknown encryption algorithm. Onbekend versleutelingsalgoritme. Kdb3Database::EntryHandle Bytes Bytes KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? Verwijderen? Error Fout At least one group must exist before adding an entry. Er moet ten minste één groep bestaan voordat er een nieuw item wordt aangemaakt. OK OK Title Titel Username Gebruikersnaam URL Url Password Wachtwoord Comments Notities Expires Vervaldatum Creation Aangemaakt Last Change Laatste wijziging Last Access Laatst bekeken Attachment Bijlage Group Groep Are you sure you want to delete this entry? Weet u zeker dat u dit item wilt verwijderen? Are you sure you want to delete these %1 entries? Weet u zeker dat u de geselecteerde %1 items wilt verwijderen? KeepassGroupView Search Results Zoekresultaten Delete? Verwijderen? Are you sure you want to delete this group, all its child groups and all their entries? Weet u zeker dat u deze groep inclusief subgroepen en items wilt verwijderen? KeepassMainWindow Ready Gereed Locked Vergrendeld Unlocked Ontgrendeld Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Fout The database file does not exist. Het databasebestand bestaat niet. Loading Database... Database wordt geladen... Loading Failed Laden mislukt Unknown error while loading database. Er is een onbekende fout opgetreden bij het laden van de database. The following error occured while opening the database: De volgende fout is opgetreden bij het laden van de database: Save modified file? Wilt u het gewijzigde bestand opslaan? new nieuw Open Database... Database openen... KeePass Databases (*.kdb) KeePass-databases (*.kdb) All Files (*) Alle bestanden (*) Expired Vervallen 1 Month 1 maand %1 Months %1 maanden 1 Year 1 jaar %1 Years %1 jaren 1 Day 1 dag %1 Days %1 dagen less than 1 day minder dan 1 dag Clone Entry Item dupliceren Delete Entry Item verwijderen Clone Entries Items dupliceren Delete Entries Items verwijderen File could not be saved. Kan het bestand niet opslaan. Save Database... Database opslaan... Un&lock Workspace Werkblad ontgrende&len &Lock Workspace Werkblad vergrende&len Show &Toolbar &Werkbalk inschakelen Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Database vergrendeld The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? De database die u probeert te openen is vergrendeld. Dit betekent dat iemand anders het bestand heeft geopend of dat KeePassX is gecrasht toen het bestand voor het laatst is geopend. Wilt u de database toch openen? The current file was modified. Do you want to save the changes? Het huidige bestand is gewijzigd. Wilt u de wijzigingen opslaan? Couldn't remove database lock file. Het vergrendelingsbestand van de database kon niet worden verwijderd. Open read-only In alleen-lezen-modus openen Couldn't create lock file. Opening the database read-only. Kan het vergrendelingsbestand van de database niet aanmaken. De database wordt in alleen-lezen-modus geopend. Couldn't create database lock file. Kan het vergrendelingsbestand van de database niet aanmaken. locked vergrendeld Ctrl+M Main Error Fout File '%1' could not be found. Kan bestand '%1' niet vinden. MainWindow KeePassX KeePassX Groups Groepen &Help &Help &File &Bestand &Export to... &Exporteren... &Import from... &Importeren... &View Beel&d E&xtras E&xtra &Open Database... Database &openen... &Close Database Database slui&ten &Save Database Database op&slaan Save Database &As... Database opslaan &als... &Database Settings... &Database-instellingen... Change &Master Key... &Hoofdwachtwoord wijzigen... &Lock Workspace Werkblad vergrende&len &Settings... &Voorkeuren... &About... &Over KeePassX... &KeePassX Handbook... Handleiding &KeePassX... Hide Verbergen Recycle Bin... Prullenbak... &Bookmarks &Favorieten Toolbar &Icon Size Grootte werkbalkp&ictogrammen &Columns &Kolommen &Manage Bookmarks... &Favorieten beheren... &Quit A&fsluiten &Edit Group... Gro&ep wijzigen... &Delete Group Groep verwij&deren Copy Password &to Clipboard Wach&twoord naar Klembord kopiëren Copy &Username to Clipboard Gebr&uikersnaam naar Klembord kopiëren &Open URL Url &openen &Save Attachment As... Bijlage op&slaan als... Add &New Entry... &Nieuw item aanmaken... &View/Edit Entry... Item bekijken/&wijzigen... De&lete Entry Item &verwijderen &Clone Entry Item dupli&ceren Search &in Database... &In de database zoeken... Search in this &Group... In de geselecteerde &groep zoeken... Show &Entry Details D&etailweergave van items inschakelen Hide &Usernames Gebr&uikersnamen verbergen Hide &Passwords Wachtwoo&rden verbergen &Title &Titel User&name Gebruikers&naam &URL &Url &Password &Wachtwoord &Comment &Notities E&xpires &Vervaldatum C&reation Aanmaak&datum &Last Change &Laatst gewijzigd Last &Access L&aatst bekeken A&ttachment &Bijlage Show &Statusbar &Statusbalk inschakelen &Perform AutoType Automatisc&h invullen &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Nieuwe database... &Password Generator... &Wachtwoordgenerator... &Group (search results only) &Groep (alleen zoekresultaten) Show &Expired Entries... V&ervallen items tonen... &Add Bookmark... F&avoriet toevoegen... Bookmark &this Database... Da&tabase aan Favorieten toevoegen... &Add New Subgroup... Subgroep &aanmaken... Copy URL to Clipboard Url naar Klembord kopiëren Add New Group... Nieuwe groep... &Entries It&ems &Groups &Groepen Sort groups Groepen sorteren &Group &Groep &Minimize Window ManageBookmarksDlg Manage Bookmarks Favorieten beheren PasswordDialog Enter Master Key Voer een hoofdwachtwoord in Set Master Key Stel een hoofdwachtwoord in Change Master Key Hoofdwachtwoord wijzigen Database Key Databasewachtwoord Last File Laatste bestand Select a Key File Selecteer een sleutelbestand All Files (*) Alle bestanden (*) Key Files (*.key) Sleutelbestanden (*.key) Please enter a Password or select a key file. Voer een wachtwoord in of selecteer een sleutelbestand. Please enter a Password. Voer een wachtwoord in. Please provide a key file. Selecteer een sleutelbestand. %1: No such file or directory. %1: Bestand of map niet gevonden. The selected key file or directory is not readable. Kan het geselecteerde sleutelbestand of de map niet lezen. The given directory does not contain any key files. Er zijn geen sleutelbestanden in de geselecteerde map gevonden. The given directory contains more then one key files. Please specify the key file directly. Er zijn meerdere sleutelbestanden in deze map gevonden. Selecteer het juiste bestand. %1: File is not readable. %1: Kan het bestand niet lezen. Create Key File... Sleutelbestand aanmaken... PasswordDlg Last File Laatste bestand Enter a Password and/or choose a key file. Voer een wachtwoord in en/of selecteer een sleutelbestand. Key Sleutel Password: Wachtwoord: &Browse... &Bladeren... Key File: Sleutelbestand: Generate Key File... Sleutelbestand genereren... Please repeat your password: Voer het wachtwoord nogmaals in: Back Terug Passwords are not equal. De wachtwoorden zijn niet identiek. SearchDialog Search Zoeken Search_Dlg Search... Zoeken... Include: Zoeken in: Pass&words &Wachtwoorden A&nhang Bijlage&n U&RLs U&rls C&omments N&otities &Usernames Gebr&uikersnamen &Titles &Titels &Case Sensitive &Hoofdlettergevoelig Regular E&xpression RegExp (Reguliere E&xpressie) Include Subgroups (recursive) Ook in onderliggende groepen zoeken Search For: Zoekterm: SelectIconDlg Icon Selection Pictogram selecteren SettingsDialog Settings Voorkeuren Show system tray icon Pictogram in systeemvak tonen Minimize to tray instead of taskbar Minimaliseren naar systeemvak in plaats van naar taakbalk Minimize to tray when clicking the main window's close button Minimaliseren naar systeemvak wanneer het venster wordt gesloten Remember last opened file Laatst geopende bestand onthouden Remember last key type and location Laatst gebruikte sleuteltype en -locatie onthouden Start minimized Geminimaliseerd opstarten Start locked Vergrendeld opstarten Save recent directories of file dialogs Laatst geopende mappen onthouden Clear History Now Geschiedenis wissen Always ask before deleting entries or groups Altijd om bevestiging vragen bij verwijderen van items/groepen Banner Color Kleuren van titelbalk Text Color: Tekstkleur: Change... Kiezen... Color 2: Kleur 2: C&hange... &Kiezen... Color 1: Kleur 1: Alternating Row Colors Wisselende achtergrondkleur voor rijen gebruiken Customize Entry Detail View... Detailweergave van items aanpassen... Group tree at start-up: Weergave van groepen bij opstarten: Restore last state Zoals bij afsluiten Expand all items Alle groepen weergeven Do not expand any item Alleen hoofdgroepen tonen Security Beveiliging Edit Entry Dialog Venster "Item wijzigen" Clear clipboard after: Klembord wissen na: Lock workspace when minimizing the main window Werkblad vergrendelen wanneer het venster geminimaliseerd wordt You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. U kunt hier naar wens onderdelen van KeePassX uitschakelen om de toepassing een minimalistischer uiterlijk te geven. Bookmarks Favorieten Plug-Ins Plug-ins None Geen Gnome Desktop Integration (Gtk 2.x) Integratie met Gnome Desktop (Gtk 2.x) KDE 4 Desktop Integration Integratie met KDE4 Desktop You need to restart the program before the changes take effect. De wijzigingen worden pas van kracht wanneer u het programma opnieuw opstart. Configure... Instellen... Advanced Geavanceerd Auto-Type Fine Tuning Instellingen voor Automatisch Invullen Time between the activation of an auto-type action by the user and the first simulated key stroke. Tijd tussen het starten van de opdracht Automatisch Invullen en de eerste gesimuleerde toetsaanslag. ms ms Pre-Gap: Wachttijd: Key Stroke Delay: Vertraging toetsaanslagen: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Vertraging tussen twee gesimuleerde toetsaanslagen. U kunt deze waarde verhogen wanneer Automatisch Invullen soms tekens overslaat. Custom Browser Command Aangepaste browser-opdrachtregel Browse Bladeren Media Root: Map voor media: The directory where storage devices like CDs and memory sticks are normally mounted. De map waar opslagmedia zoals cd's en geheugenkaarten normaliter gekoppeld zijn. Browse... Bladeren... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Gebruik deze optie wanneer u uw favorieten en het laatst geopende bestand wilt gebruiken onafhankelijk van hun absolute pad. Dit is vooral handig wanneer KeePassX op draagbare media is geïnstalleerd waarvan het pad automatisch wordt bepaald bij aansluiting op een pc. Save relative paths (bookmarks and last file) Relatieve paden opslaan (favorieten en laatst geopend bestand) Global Auto-Type Shortcut: Globale snelkoppeling voor Automatisch Invullen: Automatically save database on exit and workspace locking Database automatisch opslaan bij werkbladvergrendeling en bij afsluiten Show plain text passwords in: Wachtwoorden leesbaar tonen in: Database Key Dialog Venster "Databasesleutel" seconds seconden Lock database after inactivity of Database vergrendelen als er geen activiteit is gedurende Use entries' title to match the window for Global Auto-Type Kies het venster voor Automatisch Invullen op basis van de titel van het item General (1) Algemeen (1) General (2) Algemeen (2) Appearance Beeld Language Taal Save backups of modified entries into the 'Backup' group Back-ups van gewijzigde items in de groep 'Backup' opslaan Delete backup entries older than: Back-up items verwijderen na: days dagen Automatically save database after every change Database automatisch opslaan na elke wijziging Language: Taal: Author: Vertaler: Show window always on top Venster altijd op de voorgrond weergeven ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr Alt (Rechts) Win Win SimplePasswordDialog Enter your Password Voer uw wachtwoord in Password: Wachtwoord: TargetWindowDlg Auto-Type: Select Target Window Automatisch invullen: selecteer het doelvenster To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Om een doelvenster te selecteren, kiest u een van de momenteel geopende vensters in het uitklapmenu of voert u de naam van het venster handmatig in: Translation $TRANSLATION_AUTHOR Sipke $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. sipke5r@hotmail.com $LANGUAGE_NAME Insert your language name in the format: English (United States) Nederlands (Nederland) WorkspaceLockedWidget Form Formulier <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Het Werkblad is vergrendeld.</span></p></body></html> Unlock Ontgrendelen Close Database Database sluiten keepassx-0.4.3/src/translations/keepassx-hu_HU.ts0000664000175000017500000023537111342454754021100 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: Információ a KeePassX fordításáról itt található: Team Csapat Developer, Project Admin Fejlesztő, Projekt Adminisztrátor Web Designer Web Designer Developer Fejlesztő Thanks To Köszönet Patches for better MacOS X support Javítások a MacOS X jobb támogatottságához Main Application Icon Fő alkalmazás ikon Various fixes and improvements Különféle javítások és fejlesztések Error Hiba File '%1' could not be found. A '%1' fájl nem található. Make sure that the program is installed correctly. Bizonyosodjon meg róla, hogy a program helyesen lett telepítve. OK OK Current Translation Jelenlegi fordítás None Please replace 'None' with the language of your translation Hungarian Author Szerző AboutDlg About Névjegy AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Szerzők Translation Fordítás License Licenc Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Könyvjelző hozzáadása Title: Cím: File: Fájl: Browse... Böngészés... Edit Bookmark Könyvjelző szerkesztése KeePass Databases (*.kdb) KeePass adatbázisok (*.kdb) All Files (*) Minden fájl (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - Auto-Gépelés Click on an entry to auto-type it. Kattintson egy bejegyzésre az auto-gépeléshez. Group Csoport Title Cím Username Felhasználónév Auto-Type Auto-Gépelés CDbSettingsDlg Settings Beállítások AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (alapértelmezett) Twofish: 256 Bit Twofish: 256 Bit Warning Figyelmeztetés Please determine the number of encryption rounds. Kérem határozza meg a titkosítási menetek számát. OK OK Error Hiba '%1' is not valid integer value. '%1' nem egy érvényes egész szám érték. The number of encryption rounds have to be greater than 0. A titkosítási menetek száma nagyobb kell, hogy legyen mint 0. CEditEntryDlg Today Ma 1 Week 1 hét 2 Weeks 2 hét 3 Weeks 3 hét 1 Month 1 hónap 3 Months 3 hónap 6 Months 6 hónap 1 Year 1 év Calendar... Naptár... %1 Bit %1 bit Edit Entry Bejegyzés szerkesztése Warning Figyelmeztetés Password and password repetition are not equal. Please check your input. A jelszó és az ismételt jelszó nem ugyanaz. Kérem ellenőrizze a beírt értékeket. OK OK [Untitled Entry] [Cím nélküli bejegyzés] Add Attachment... Csatolmány hozzáadása... Error Hiba Could not open file. Nem sikerült megnyitni a fájlt. The chosen entry has no attachment or it is empty. A kiválasztott bejegyzéshez nincs csatolmány vagy üres. Save Attachment... Csatolmány mentése... Error while writing the file. Hiba a fájl írása közben. Delete Attachment? Csatolmány törlése? You are about to delete the attachment of this entry. Are you sure? Ezzel törölni fogja ezen bejegyzés csatolmányát. Biztos benne? Yes Igen No, Cancel Nem, Mégsem New Entry Új bejegyzés CGenPwDialog Password Generator Jelszó generátor %1 Bits %1 bit CSelectIconDlg Replace... Csere... Delete Törlés Add Custom Icon Egyedi ikon hozzáadása Pick Választ Add Icons... Ikonok hozzáadása... Images (%1) Képek (%1) %1: File could not be loaded. %1: A fájlt nem sikerült betölteni. Error Hiba An error occured while loading the icon(s): Hiba történt az ikon(ok) betöltése során: An error occured while loading the icon. Hiba történt az ikon betöltése során. CSettingsDlg Settings Beállítások Select a directory... Könyvtár kiválasztása... Select an executable... Végrehajtható állomány kiválasztása... System Language Rendszer nyelv CalendarDialog Calendar Naptár CollectEntropyDlg Random Number Generator Véletlenszám generátor Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Entrópia gyűjtése... Kérem mozgassa az egeret és/vagy nyomjon le néhány gombot amíg elegendő entrópia gyűlik össze a véletlenszám generátor kezdőértékének újra állításához. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">A véletlenszám generátor kezdőértéke sikeresen újra lett állítva!</span></p></body></html> Entropy Collection Entrópia gyűjtés CustomizeDetailViewDialog Dialog Dialógus Rich Text Editor Rich Text szerkesztő Bold Félkövér B B Italic Dőlt I I Underlined Aláhúzott U U Left-Aligned Balra rendezett L L Centered Középre rendezett C C Right-Aligned Jobbra rendezett R R Justified Sorkizárt Text Color Szöveg szín Font Size Betűméret 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Sablon T T HTML HTML Group Csoport Title Cím Username Felhasználónév Password Jelszó Url Url Comment Megjegyzés Attachment Name Csatolmány neve Creation Date Létrehozás dátuma Last Access Date Utolsó hozzférés dátuma Last Modification Date Utolsó módosítás dátuma Expiration Date Lejárat dátuma Time till Expiration Idő a lejáratig Database Never Soha DatabaseSettingsDlg Database Settings Adatbázis beállítások Encryption Titkosítás Algorithm: Algoritmus: Encryption Rounds: Titkosítási menetek: Calculate rounds for a 1-second delay on this computer Menetek számolása ezen a számítógépen egy 1 másodperces késleltetésig DetailViewTemplate Group Csoport Title Cím Username Felhasználónév Password Jelszó URL URL Creation Létrehozás Last Access Utolsó hozzáférés Last Modification Utolsó módosítás Expiration Lejárat Comment Megjegyzés EditEntryDialog Edit Entry Bejegyzés szerkesztése Ge&n. Ge&n. Quality: Minőség: Attachment: Csatolmány: Title: Cím: Username: Felhasználónév: Comment: Megjegyzés: %1 %1 URL: URL: Group: Csoport: Password Repet.: Jelszó ism.: Password: Jelszó: Expires: Lejár: Never Soha %1 Bit %1 bit Icon: Ikon: Repeat: EditGroupDialog Group Properties Csoport tulajdonságai Icon: Ikon: Title: Cím: > > ExpiredEntriesDialog Expired Entries Lejárt bejegyzések Double click on an entry to jump to it. Kattintson duplán a bejegyzésre ugráshoz. Group Csoport Title Cím Username Felhasználónév Expired Lejárt Expired Entries in the Database Lejárt bejegyzések az adatbázisban Export_KeePassX_Xml KeePassX XML File KeePassX XML fájl XML Files (*.xml) XML fájlok (*.xml) All Files (*) Minden fájl (*) Export_Txt Text File Szöveg fájl All Files (*) Minden fájl (*) Text Files (*.txt) Szöveg fájlok (*.txt) ExporterBase Export Failed Sikertelen exportálás Export File... Fájl exportálása... FileErrors No error occurred. Nem történt hiba. An error occurred while reading from the file. Hiba történt a fájlból való olvasás során. An error occurred while writing to the file. Hiba történt a fájlba való írás során. A fatal error occurred. Végzetes hiba történt. An resource error occurred. Egy erőforrás hiba történt. The file could not be opened. A fájlt nem sikerült megnyitni. The operation was aborted. A művelet meg lett szakítva. A timeout occurred. Időtúllépés történt. An unspecified error occurred. Meghatározatlan hiba történt. The file could not be removed. A fájlt nem sikerült eltávolítani. The file could not be renamed. A fájlt nem sikerült átnevezni. The position in the file could not be changed. Nem sikerült a fájlbeli pozíciót módosítani. The file could not be resized. Nem sikerült a fájlt átméretezni. The file could not be accessed. Nem sikerült hozzáférni a fájlhoz. The file could not be copied. Nem sikerült a fájlt másolni. GenPwDlg Password Generator Jelszó generátor Options Lehetőségek Use follo&wing character groups: Használja a &következő karakter csoportokat: &Lower Letters &Kis betűk &Numbers &Számok &Upper Letters &Nagy betűk &Special Characters S&peciális karakterek Use &only following characters: &Csak az alábbi karaktereket használja: Length: Hossz: Quality: Minőség: Enable entropy collection Entrópia gyűjtés engedélyezése Collect only once per session Csak egyszer gyűjtsön munkamenetenként New Password: Új jelszó: Generate Generálás Random Véletlen &Underline &Aláhúz &White Spaces Sz&óközök &Minus &Minusz Exclude look-alike characters Hasonló karakterek kizárása Ensure that password contains characters from every group Gondoskodjon róla, hogy a jelszó tartalmaz karaktereket mindegyik csoportból Pronounceable KIejthető Lower Letters Kis betűk Upper Letters Nagy betűk Numbers Számok Special Characters Speciális karakterek Use following character groups: Custom Use the following characters: HelpDlg Previous Page Next Page First Page Help Contents Import_KWalletXml XML Files (*.xml) XML fájlok (*.xml) All Files (*) Minden fájl (*) Import Failed Sikertelen importálás Invalid XML data (see stdout for details). Érvénytelen XML adat (nézze meg az stdout-ot a részletekért). Invalid XML file. Érvénytelen XML fájl. Document does not contain data. A dokumentum nem tartalmaz adatot. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePassX XML fájlok (*.xml) All Files (*) Minden fájl (*) Import Failed Sikertelen importálás XML parsing error on line %1 column %2: %3 XML elemzési hiba a %1. sor %2. oszloban: %3 Parsing error: File is no valid KeePassX XML file. Elemzési hiba: A fájl nem érvényes KeePassX XML fájl. Import_PwManager PwManager Files (*.pwm) PwManager fájlok (*.pwm) All Files (*) Minden fájl (*) Import Failed Sikertelen importálás File is empty. A fájl üres. File is no valid PwManager file. A fájl nem érvényes PwManager fájl. Unsupported file version. Nem támogatott fájl verzió. Unsupported hash algorithm. Nem támogatott hash algoritmus. Unsupported encryption algorithm. Nem támogatott titkosítási algoritmus. Compressed files are not supported yet. A tömörített fájlok jelenleg nem támogatottak. Wrong password. Hibás jelszó. File is damaged (hash test failed). A fájl sérült (a hash teszt hibát mutatott). Invalid XML data (see stdout for details). Érvénytelen XML adat (nézze meg az stdout-ot a részletekért). ImporterBase Import File... Fájl importálása... Import Failed Sikertelen importálás Kdb3Database Could not open file. Nem sikerült megnyitni a fájlt. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Váratlan fájl méret (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Hibás aláírás Unsupported File Version. Nem támogatott fájl verzió. Unknown Encryption Algorithm. Ismeretlen titkosítási algoritmus. Decryption failed. The key is wrong or the file is damaged. Sikertelen visszafejtés. A kulcs rossz vagy a fájl sérült. Hash test failed. The key is wrong or the file is damaged. A hash teszt hibát mutatott. A kulcs rossz vagy a fájl sérült. Unexpected error: Offset is out of range. Váratlan hiba: Az eltolás a fájlon túl esik. Invalid group tree. Érvénytelen csoport fa. Key file is empty. A fájl üres. The database must contain at least one group. Az adatbázisban legalább egy csoportnak kell lennie. Unable to initalize the twofish algorithm. Nem sikerült inicializálni a twofish algoritmust. The database has been opened read-only. Az adatbázis csak olvasható módban került megnyitásra. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Kdb3Database::EntryHandle Bytes Bájt KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? Törlés? Error Hiba At least one group must exist before adding an entry. Legalább egy csoportnak léteznie kell bejegyzés hozzáadása előtt. OK OK Title Cím Username Felhasználónév URL URL Password Jelszó Comments Megjegyzések Expires Lejár Creation Létrehozás Last Change Utolsó módosítás Last Access Utolsó hozzáférés Attachment Csatolmány Group Csoport Are you sure you want to delete this entry? Biztos benne, hogy törölni akarja ezt a bejegyzést? Are you sure you want to delete these %1 entries? Biztos benne, hogy törölni akarja ezen bejegyzéseket: %1? KeepassGroupView Search Results Keresési eredmények Delete? Törlés? Are you sure you want to delete this group, all its child groups and all their entries? Biztos benne, hogy törölni akarja ezt a csoportot, minden gyermek csoportját és azok minden bejegyzését? KeepassMainWindow Ready Kész Locked Zárolva Unlocked Nyitva Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Hiba The database file does not exist. Az adatbázis fájl nem létezik. Loading Database... Adatbázis betöltése... Loading Failed Sikertelen betöltés Unknown error while loading database. Ismeretlen hiba betöltés közben. The following error occured while opening the database: A következő hiba történt betöltés közben: Save modified file? Módosított fájl mentése? new új Open Database... Adatbázis megnyitása... KeePass Databases (*.kdb) KeePass adatbázisok (*.kdb) All Files (*) Minden fájl (*) Expired Lejárt 1 Month 1 hónap %1 Months %1 hónap 1 Year 1 év %1 Years %1 év 1 Day 1 nap %1 Days %1 nap less than 1 day kevesebb mint 1 nap Clone Entry Bejegyzés bezárása Delete Entry Bejegyzés törlése Clone Entries Bejegyzések bezárása Delete Entries Bejegyzések törlése File could not be saved. A fájlt nem sikerült menteni. Save Database... Adatbázis mentése... Un&lock Workspace Munkaterü&let nyitása &Lock Workspace Munkaterület záro&lása Show &Toolbar Eszköz&tár mutatása Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Adatbázis zárolva The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Az adatbázis, melyet meg akar nyitni zárolva van. Ez azt jelenti, hogy vagy valaki megnyitott a fájlt, vagy a KeePassX összeomlott amikor legutóbb megnyitotta az adatbázist. Mindenképp meg akarja nyitni? The current file was modified. Do you want to save the changes? A jelenlegi fájl módosult. El akarja menteni a változásokat? Couldn't remove database lock file. Nem sikerült az adatbázis zároló fájlt eltávolítani. Open read-only Megnyitás csak olvasható módban Couldn't create lock file. Opening the database read-only. Nem sikerült létrehozni a zároló fájlt. Adatbázis megnyitása csak olvasható módban. Couldn't create database lock file. locked Ctrl+M Main Error Hiba File '%1' could not be found. A '%1' fájl nem található. MainWindow KeePassX KeePassX Groups Csoportok &Help &Segítség &File &Fájl &Export to... &Exportálás... &Import from... &Importálás... &View &Nézet E&xtras E&xtrák &Open Database... Adatbázis &megnyitása... &Close Database Adatbázis &bezárása &Save Database Adatbázis menté&se Save Database &As... &Adatbázis mentése másként... &Database Settings... A&datbázis beállítások... Change &Master Key... &Mester jelszó megváltoztatása... &Lock Workspace Munkaterület záro&lása &Settings... Beállítá&sok... &About... &Névjegy... &KeePassX Handbook... &KeePassX kézikönyv... Hide Elrejtés Recycle Bin... Kuka... &Bookmarks &Könyvjelzők Toolbar &Icon Size Eszközpanel &ikon mérete &Columns &Oszlopok &Manage Bookmarks... Könyvjelzők s&zerkesztése... &Quit &Kilépés &Edit Group... Csoport sz&erkesztése... &Delete Group Csoport &törlése Copy Password &to Clipboard Jelszó más&olása a vágólapra Copy &Username to Clipboard Felhasz&nálónév másolása a vágólapra &Open URL URL &megnyitása &Save Attachment As... C&satolmány mentése másként... Add &New Entry... &Új bejegyzés hozzáadása... &View/Edit Entry... Bejegyzés megn&ézése/szerkesztése... De&lete Entry Bejegyzés tör&lése &Clone Entry Bejegyzés &klónozása Search &in Database... Keresés az adatbáz&isban... Search in this &Group... Keresés ebben a &csoportban... Show &Entry Details B&ejegyzés részleteinek mutatása Hide &Usernames Felhasz&nálónevek elrejtése Hide &Passwords &Jelszavak elrejtése &Title &Cím User&name Felhasz&nálónév &URL &URL &Password &Jelszó &Comment &Megjegyzés E&xpires &Lejár C&reation Lét&rehozás &Last Change Uto&lsó módosítás Last &Access Utolsó hozz&áférés A&ttachment Csa&tolmány Show &Statusbar Állapot&sor mutatása &Perform AutoType Auto-Gépelés &végrehatjása &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Új adatbázis... &Password Generator... &Jelszó generátor... &Group (search results only) &Csoport (csak keresési eredmény) Show &Expired Entries... L&ejárt bejegyzések mutatása... &Add Bookmark... Könyvjelző hozzá&adása... Bookmark &this Database... Ada&tbázis hozzáadása a könyvjelzőkhöz... &Add New Subgroup... Új gyermek csoport hozzá&adása... Copy URL to Clipboard URL másolása a vágólapra Add New Group... Új csoport hozzáadása... &Entries B&ejegyzések &Groups &Csoportok Sort groups Csoportok rendezése &Group &Minimize Window ManageBookmarksDlg Manage Bookmarks Könyvjelzők szerkesztése PasswordDialog Enter Master Key Mester jelszó beírása Set Master Key Mester jelszó beállítása Change Master Key Mester jelszó megváltoztatása Database Key Adatbázis kulcs Last File Utolsó fájl Select a Key File Kulcsfájl kiválasztása All Files (*) Minden fájl (*) Key Files (*.key) Kulcs fájlok (*.key) Please enter a Password or select a key file. Kérem írjon be egy jelszó vagy válasszon egy kulcs fájlt. Please enter a Password. Kérem írjon be egy jelszót. Please provide a key file. Kérem adjon meg egy kulcs fájlt. %1: No such file or directory. %1: Nincs ilyen fájl vagy könyvtár. The selected key file or directory is not readable. A kiválasztott fájl vagy könyvtár nem olvasható. The given directory does not contain any key files. A megadott könyvtár nem tartalmaz kulcs fájlokat. The given directory contains more then one key files. Please specify the key file directly. A megadott könyvtár több mint egy kulcs fájlt tartalmaz. Kérem határozza meg a kulcs fájlt pontosan. %1: File is not readable. %1: A fájl nem olvasható. Create Key File... Kulcs fájl létrehozása... PasswordDlg Last File Utolsó fájl Enter a Password and/or choose a key file. Írjon be egy jelszó és/vagy válasszon egy kulcs fájlt. Key Kulcs Password: Jelszó: &Browse... &Böngészés... Key File: Kulcs fájl: Generate Key File... Kulcs fájl generálása... Please repeat your password: Kérem ismételje meg a jelszót: Back Vissza Passwords are not equal. A jelszavak nem egyeznek meg. SearchDialog Search Keresés Search_Dlg Search... Keresés... Include: bevesz: Pass&words &Jelszavak A&nhang A&nhang U&RLs U&RL-ek C&omments &Megjegyzések &Usernames &Felhasználónevek &Titles &Címek &Case Sensitive Kis/nagy betű &érzékeny Regular E&xpression Regulási &kifejezés Include Subgroups (recursive) Gyermek csoportok bevétele (rekurzív) Search For: Keresés: SelectIconDlg Icon Selection Ikon kiválasztás SettingsDialog Settings Beállítások Show system tray icon Rendszer tálcaikon mutatása Minimize to tray instead of taskbar Minimalizálás a rendszertálcára a panel helyett Minimize to tray when clicking the main window's close button Minimalizálás a rendszertálcára amikor a főablak bezáródik Remember last opened file Emlékezzen az utoljára nyitott fájlra Remember last key type and location Emlékezzen az utolsó kulcs típusra és helyre Start minimized Indítás minimalizálva Start locked Indítás zárolva Save recent directories of file dialogs Emékezzen a legutóbb használt könyvtárakra a fájl dialógus ablakokban Clear History Now Előzmények törlése most Always ask before deleting entries or groups Mindig kérdezzen bejegyzések vagy csoportok törlése előtt Banner Color Banner szín Text Color: Szöveg szín: Change... Változtatás... Color 2: Szín 2: C&hange... &Változtatás... Color 1: Szín 1: Alternating Row Colors Váltakozó sor színek Customize Entry Detail View... Bejegyzés részletes nézetének testreszabása... Group tree at start-up: Csoport fa indításkor: Restore last state Utolsó állapot visszatöltése Expand all items Minden elem kibontása Do not expand any item Ne bontson ki egy elemet se Security Biztonság Edit Entry Dialog Bejegyzés szerkesztése dialógus Clear clipboard after: Vágólap törlése ezután: Lock workspace when minimizing the main window Munkaterület zárolása a főablak minimalizálásakor You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Itt sok funkciót kikapcsolhat, hogy a KeePassX felhasználói interfészét tisztán tarthassa. Bookmarks Könyvjelzők Plug-Ins Beépülők None Semelyik Gnome Desktop Integration (Gtk 2.x) Gnome Desktop Integration (Gtk 2.x) KDE 4 Desktop Integration KDE 4 Desktop Integration You need to restart the program before the changes take effect. Újra kell indítani a programot, mielőtt a változtatások érvénybe lépnének. Configure... Beállítás... Advanced Szakértő Auto-Type Fine Tuning Autó-Gépelés finom hangolása Time between the activation of an auto-type action by the user and the first simulated key stroke. Az autó-gépelés végrehajtása és az első szimulált gomb leütés között eltelt idő. ms ms Pre-Gap: Pre-Gap: Key Stroke Delay: Gomb leütés késleltetése: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Két szimulált gomb leütés közötti késleltetés. Növelje, ha az Autó-Gépelés véletlenszűen kihagy karaktereket. Custom Browser Command Egyedi böngésző parancs Browse Böngészés Media Root: Média gyökér: The directory where storage devices like CDs and memory sticks are normally mounted. Az a könyvtár ahova normál esetben a tároló eszközök, mint például a CD-k és pendrive-ok, csatolódnak. Browse... Böngészés... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Engedélyezze ezt, ha a könyvjelzőit használni kívánja, és az utoljára megnyitott fájl független az abszolút útvonalaktól. Ez különösen akkor hasznos, amikor a KeePassX-et hordozhatóként használjuk, és emiatt változnak a csatlakozási pontok a fájlrendszerben. Save relative paths (bookmarks and last file) Relatív útvonalakat mentsen (könyvjelzők és utolsó fájl) Global Auto-Type Shortcut: Globális Auto-Gépelés gyorsbillentyűje: Automatically save database on exit and workspace locking Automatikusan mentse az adatbázist kilépéskor és a munkaterület zárolásakor Show plain text passwords in: Mutasson egyszerű szöveges jelszavakat itt: Database Key Dialog Adatbázis kulcs dialógus seconds másodperc Lock database after inactivity of Zárolja az adatbázis ennyi inaktivitás után Use entries' title to match the window for Global Auto-Type Használja a bejegyzések címeit az ablak kereséshez a globális Auto-Gépelésnél General (1) Általános (1) General (2) Általános (2) Appearance Megjelenés Language Nyelv Save backups of modified entries into the 'Backup' group Mentse el a módosított bejegyzések biztonsági mentéseit a 'Backup' csoportba Delete backup entries older than: Törölje az ennél régebbi bejegyzéseket: days nap Automatically save database after every change Automatikusan mentse az adatbázis minden módosítás után Language: Nyelv: Author: Szerző: Show window always on top ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Írja be a jelszavát Password: Jelszó: TargetWindowDlg Auto-Type: Select Target Window Auto-Gépelés: Válassza ki a cél ablakot To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: A cél ablak megadásához vagy válaszzon egy létező jelenleg nyitott ablakot a legördülő listából, vagy írja be az ablak címét kézzel: Translation $TRANSLATION_AUTHOR Avramucz Péter $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. http://muczy.hu $LANGUAGE_NAME Insert your language name in the format: English (United States) Hungarian (Hungary) WorkspaceLockedWidget Form Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">A munkaterület zárolva van.</span></p></body></html> Unlock Nyitás Close Database Adatbázis bezárása keepassx-0.4.3/src/translations/qt_tr.ts0000664000175000017500000052203211342454455017367 0ustar felixfelix AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> Revert back to device '%1' Phonon:: Notifications Music Video Communication Games Accessibility Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. A required codec is missing. You need to install the following codec(s) to play this content: %0 Could not open media source. Invalid source type. Could not locate media source. Could not open audio device. The device is already in use. Could not decode media source. Phonon::VolumeSlider Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Q3Accel %1, %2 not defined %1, %2 tanımlanmamış Ambiguous %1 not handled Belirsiz %1 yürütülemedi Q3DataTable True Doğru False Yanlış Insert Ekle Update Güncelle Delete Sil Q3FileDialog Copy or Move a File Bir Dosya Kopyala ya da Taşı Read: %1 Oku: %1 Write: %1 Yaz: %1 Cancel İptal All Files (*) Tüm Dosyalar (*) Name İsim Size Boyut Type Tip Date Tarih Attributes Nitelikler &OK &TAMAM Look &in: Ko&num: File &name: Dosya &adı: File &type: Dosya &tipi: Back Geri One directory up Bir dizin yukarı Create New Folder Yeni Dizin Oluştur List View Liste Görünümü Detail View Ayrıntılı Görünüm Preview File Info Dosya Bilgisini Önizle Preview File Contents Dosya İçeriğini Önizle Read-write Oku-yaz Read-only Salt-okunur Write-only Sadece-yaz Inaccessible Erişilemez Symlink to File Dosyaya sembolik bağlantı Symlink to Directory Dizine sembolik bağlantı Symlink to Special Özel konuma sembolik bağlantı File Dosya Dir Dizin Special Özel Open Save As Farklı Kaydet &Open &Aç &Save &Kaydet &Rename &Yeniden Adlandır &Delete &Sil R&eload Y&eniden Yükle Sort by &Name İs&me Göre Sırala Sort by &Size B&oyuta Göre Sırala Sort by &Date Ta&rihe Göre Sırala &Unsorted &Sıralanmamış Sort Sırala Show &hidden files Gizli &dosyaları göster the file dosya the directory dizin the symlink sembolik bağlantı Delete %1 %1 konumunu sil <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>%1 "%2" ögesini silmek istediğinizden emin misiniz?</qt> &Yes &Evet &No &Hayır New Folder 1 Yeni Dizin 1 New Folder Yeni Dizin New Folder %1 Yeni Dizin %1 Find Directory Dizin Bul Directories Dizinler Directory: Dizin: Error Hata %1 File not found. Check path and filename. %1 Dosya bulunamadı. Yolu ve dosya adını kontrol edin. Q3LocalFs Could not read directory %1 Dizin okunamadı %1 Could not create directory %1 Dizin oluşturulamadı %1 Could not remove file or directory %1 Dizin silinemedi %1 Could not rename %1 to %2 Yeniden adlandırılamadı %1 %2 Could not open %1 Açılamadı %1 Could not write %1 Yazılamadı %1 Q3MainWindow Line up Diz Customize... Özelleştir... Q3NetworkProtocol Operation stopped by the user İşlem kullanıcı tarafından durduruldu Q3ProgressDialog Cancel İptal Q3TabDialog OK TAMAM Apply Uygula Help Yardım Defaults Öntanımlılar Cancel İptal Q3TextEdit &Undo &Geri Al &Redo &Yinele Cu&t K&es &Copy &Kopyala &Paste &Yapıştır Clear Temizle Select All Tümünü Seç Q3TitleBar System Sistem Restore up Yukarı geri yükle Minimize Küçült Restore down Aşağı geri yükle Maximize Büyüt Close Kapat Contains commands to manipulate the window Pencereyi durumunu değiştirmek için gereken komutları içerir Puts a minimized back to normal Küçültülmüş bir pencereyi önceki haline getirir Moves the window out of the way Pencereyi taşır Puts a maximized window back to normal Büyütülmüş bir pencereyi önceki haline getirir Makes the window full screen Pencereyi tam ekran yapar Closes the window Pencereyi kapatır Displays the name of the window and contains controls to manipulate it Pencerenin adını gösterir ve pencereyi değiştirebilecek kontrolleri içerir Q3ToolBar More... Daha Fazlası... Q3UrlOperator The protocol `%1' is not supported `%1' protokolü desteklenmiyor The protocol `%1' does not support listing directories `%1' protokolü dizin listelemeyi desteklemiyor The protocol `%1' does not support creating new directories `%1' protokolü yeni dizin oluşturmayı desteklemiyor The protocol `%1' does not support removing files or directories `%1' protokolü dosya veya dizinleri silmeyi desteklemiyor The protocol `%1' does not support renaming files or directories `%1' protokolü dosya veya dizinleri yeniden adlandırmayı desteklemiyor The protocol `%1' does not support getting files `%1' protokolü dosyaları almayı desteklemiyor The protocol `%1' does not support putting files `%1' protokolü dosya koymayı desteklemiyor The protocol `%1' does not support copying or moving files or directories `%1' protokolü dosya veya dizinleri kopyalamyı ya da taşımayı desteklemiyor (unknown) (bilinmeyen) Q3Wizard &Cancel &İptal < &Back < &Geri &Next > &İleri > &Finish &Bitir &Help &Yardım QAbstractSocket Host not found Makine bulunamadı Connection refused Bağlantı reddedildi Socket operation timed out Soket işleminde zamanaşımı oluştu Socket is not connected Soket bağlı değil QAbstractSpinBox &Step up Bir düzey &yukarı Step &down Bir düzey &aşağı &Select All &Tümünü Seç QApplication Activate Etkinleştir Executable '%1' requires Qt %2, found Qt %3. '%1' çalıştırılabilir dosyası Qt %2 gerektiriyor, sistemde Qt %3 bulundu. Incompatible Qt Library Error Uyumsuz Qt Kütüphanesi Hatası QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Uygulamanın ana penceresini etkinleştirir QCheckBox Uncheck İşaretleme Check Kontrol Et Toggle Değiştir QColorDialog Hu&e: T&on: &Sat: &Doygunluk: &Val: &Değer: &Red: &Kırmızı: &Green: &Yeşil: Bl&ue: Ma&vi: A&lpha channel: A&lfa kanalı: &Basic colors &Temel renkler &Custom colors &Özel renkler &Add to Custom Colors Ö&zel Renkler Ekle Select color Renk seç QComboBox Open False Yanlış True Doğru Close Kapat QCoreApplication %1: permission denied QSystemSemaphore %1: already exists QSystemSemaphore %1: doesn't exists QSystemSemaphore %1: out of resources QSystemSemaphore %1: unknown error %2 QSystemSemaphore %1: key is empty QSystemSemaphore %1: unable to make key QSystemSemaphore %1: ftok failed QSystemSemaphore QDB2Driver Unable to connect Bağlanılamadı Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback transaction İşlem (transaction) geri alınamadı Unable to set autocommit Otomatik uygulama ayarlanamadı QDB2Result Unable to execute statement İfade çalıştırılamadı Unable to prepare statement İfade hazırlanamadı Unable to bind variable Değişken atanamadı Unable to fetch record %1 %1 kaydı getirilemedi Unable to fetch next Sonraki getirilemedi Unable to fetch first Öncelikle birinci getirilemedi QDateTimeEdit AM ÖÖ am öö PM ÖS pm ös QDial QDial QDial SpeedoMeter Hız Ölçer SliderHandle Kaydırma Çubuğu Tutucu QDialog What's This? Bu nedir? Done Tamam QDialogButtonBox OK TAMAM Save Kaydet Open Cancel İptal Close Kapat Apply Uygula Reset Sıfırla Help Yardım Don't Save Kaydetme Discard Vazgeç &Yes &Evet Yes to &All &Tümüne Evet &No &Hayır N&o to All Tümüne &Hayır Save All Tümünü Kaydet Abort İptal Retry Yeniden Dene Ignore Yoksay Restore Defaults Öntanımlılara Dön Close without Saving Kaydetmeden Kapat &OK &TAMAM QDirModel Name İsim Size Boyut Kind Match OS X Finder Tip Type All other platforms Tip Date Modified Değiştirilme Tarihi QDockWidget Close Kapat Dock Gömülü Float Float QDoubleSpinBox More Daha Fazla Less Daha Az QErrorMessage Debug Message: Hata Ayıklama İletisi: Warning: Uyarı: Fatal Error: Ölümcül Hata: &Show this message again &Bu iletiyi tekrar göster &OK &TAMAM QFileDialog All Files (*) Tüm Dosyalar (*) Directories Dizinler &Open &Aç &Save &Kaydet Open %1 already exists. Do you want to replace it? %1 zaten var. Üzerine yazmak ister misiniz? %1 File not found. Please verify the correct file name was given. %1 Dosya bulunamadı. Lütfen verilen ismin doğruluğunu kontrol edin. My Computer Bilgisayarım &Rename &Yeniden Adlandır &Delete &Sil Show &hidden files Gizli &dosyaları göster Back Geri Parent Directory Üst Dizin List View Liste Görünümü Detail View Ayrıntılı Görünüm Files of type: Dosya türü: Directory: Dizin: %1 Directory not found. Please verify the correct directory name was given. %1 Dizin bulunamadı. Lütfen verilen ismin doğruluğunu kontrol edin. '%1' is write protected. Do you want to delete it anyway? '%1' yazma korumalı. Yine de silmek istiyor musunuz? Are sure you want to delete '%1'? '%1' konumunu silmek istediğinizden emin misiniz? Could not delete directory. Dizin silinemedi. Save As Farklı Kaydet Drive Disk Sürücüsü File Dosya Unknown Bilinmeyen Find Directory Dizin Bul Show Göster Forward İleri New Folder Yeni Dizin &New Folder &Yeni Dizin &Choose Se&ç Remove Sil File &name: Dosya &adı: Look in: Konum: Create New Folder Yeni Dizin Oluştur QFileSystemModel Invalid filename Geçersiz dosya adı <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. Name İsim Size Boyut Kind Match OS X Finder Tip Type All other platforms Tip Date Modified Değiştirilme Tarihi My Computer Bilgisayarım Computer Kök Dizini %1 TB %1 TB %1 GB %1 GB %1 MB %1 MB %1 KB %1 KB %1 bytes %1 bayt QFontDatabase Normal Bold Demi Bold Black Demi Light Italic Oblique Any Latin Greek Cyrillic Armenian Hebrew Arabic Syriac Thaana Devanagari Bengali Gurmukhi Gujarati Oriya Tamil Telugu Kannada Malayalam Sinhala Thai Lao Tibetan Myanmar Georgian Khmer Simplified Chinese Traditional Chinese Japanese Korean Vietnamese Symbol Ogham Runic QFontDialog &Font &Yazıtipi Font st&yle Yazıtipi B&içemi &Size &Boyut Effects Efektler Stri&keout &Üzeriçizili &Underline &Altıçizili Sample Örnek Wr&iting System Ya&zma Sistemi Select Font Yazıtipi Seç QFtp Not connected Bağlı değil Host %1 not found %1 makinesi bulunamadı Connection refused to host %1 %1 makinesine bağlantı reddedildi Connected to host %1 %1 makinesine bağlanıldı Connection refused for data connection Veri bağlantısı için bağlantı reddedildi Unknown error Bilinmeyen hata Connecting to host failed: %1 Makineye bağlantı reddedildi: %1 Login failed: %1 Giriş başarısız: %1 Listing directory failed: %1 Dizin listeleme işlemi başarısız oldu: %1 Changing directory failed: %1 Dizin değiştirme işlemi başarısız oldu: %1 Downloading file failed: %1 Dosya indirme işlemi başarısız oldu: %1 Uploading file failed: %1 Dosya gönderme işlemi başarısız oldu: %1 Removing file failed: %1 Dosya silme işlemi başarısız oldu: %1 Creating directory failed: %1 Dizin oluşturma işlemi başarısız oldu: %1 Removing directory failed: %1 Dizin silme işlemi başarısız oldu: %1 Connection closed Bağlantı kapatıldı Host %1 found %1 makinesi bulundu Connection to %1 closed %1 makinesine yapılan bağlantı kapatıldı Host found Makine bulundu Connected to host Makineye bağlanıldı QHostInfo Unknown error Bilinmeyen hata QHostInfoAgent Host not found Makine bulunamadı Unknown address type Bilinmeyen adres tipi Unknown error Bilinmeyen hata QHttp Unknown error Bilinmeyen hata Request aborted İstek iptal edildi No server set to connect to Bağlanılacak sunucu ayarlanmamış Wrong content length Yanlış içerik uzunluğu Server closed connection unexpectedly Sunucu bağlantıyı beklenmedik şekilde kapattı Connection refused Bağlantı reddedildi Host %1 not found %1 makinesi bulunamadı HTTP request failed HTTP isteği başarısız oldu Invalid HTTP response header Geçersiz HTTP yanıt başlığı Invalid HTTP chunked body Geçersiz HTTP yığın gövdesi Host %1 found %1 makinesi bulundu Connected to host %1 %1 makinesine bağlanıldı Connection to %1 closed %1 makinesine yapılan bağlantı kapatıldı Host found Makine bulundu Connected to host Makineye bağlanıldı Connection closed Bağlantı kapatıldı Proxy authentication required Vekil sunucu kimlik doğrulaması gerektiriyor Authentication required Kimlik doğrulaması gerekiyor HTTPS connection requested but SSL support not compiled in Connection refused (or timed out) Proxy requires authentication Host requires authentication Data corrupted Unknown protocol specified SSL handshake failed QHttpSocketEngine Authentication required Kimlik doğrulaması gerekiyor QIBaseDriver Error opening database Veritabanı açılırken hata oluştu Could not start transaction İşlem (transaction) başlatılamadı Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback transaction İşlem (transaction) geri alınamadı QIBaseResult Unable to create BLOB BLOB oluşturulamadı Unable to write BLOB BLOB yazılamadı Unable to open BLOB BLOB açılamadı Unable to read BLOB BLOB okunamadı Could not find array Dizi (array) bulunamadı Could not get array data Dizi (array) verisi alınamadı Could not get query info Sorgu bilgisi alınamadı Could not start transaction İşlem (transaction) başlatılamadı Unable to commit transaction İşlem (transaction) yapılamadı Could not allocate statement İfade yerleştirilemedi Could not prepare statement İfade hazırlanamadı Could not describe input statement Girdi ifadesi tanımlanamadı Could not describe statement İfade tanımlanamadı Unable to close statement İfade kapatılamadı Unable to execute query Sorgu yapılamadı Could not fetch next item Sonraki öge getirilemedi Could not get statement info İfade bilgisi alınamadı QIODevice Permission denied İzin verilmedi Too many open files Çok fazla açık dosya No such file or directory Böyle bir dosya ya da dizin yok No space left on device Disk sürücüde yer kalmadı Unknown error Bilinmeyen hata QInputContext XIM XIM XIM input method XIM girdi metodu Windows input method Windows girdi metodu Mac OS X input method Mac OS X girdi metodu QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: %1 (%2) yüklenemedi QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: %1 (%2) kaldırılamadı QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Symbol "%1" %2 (%3) içerisinde tanımlanmamış Could not mmap '%1': %2 mmap başarısız '%1': %2 Plugin verification data mismatch in '%1' '%1' içerisindeki eklenti doğrulama verisi uyuşmuyor Could not unmap '%1': %2 unmap başarısız '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] '%1' eklentisi uyumsuz Qt kütüphanesi kullanıyor. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" '%1' eklentisi uyumsuz bir Qt kitaplığı kullanıyor. Beklenen inşa anahtarı "%2", alınan "%3" Unknown error Bilinmeyen hata The shared library was not found. Ortak kütüphane bulunamadı. The file '%1' is not a valid Qt plugin. '%1' geçerli bir Qt eklentisi değil. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) '%1' eklentisi uyumsuz Qt kütüphanesi kullanıyor. (Hata ayıklama ve uygulama kütüphaneleri karışık olamaz.) QLineEdit &Undo &Geri Al &Redo &Yinele Cu&t K&es &Copy &Kopyala &Paste &Yapıştır Delete Sil Select All Tümünü Seç QLocalServer %1: Name error %1: Permission denied %1: Address in use %1: Unknown error %2 QLocalSocket %1: Connection refused %1: Remote closed %1: Invalid name %1: Socket access error %1: Socket resource error %1: Socket operation timed out %1: Datagram too large %1: Connection error %1: The socket operation is not supported %1: Unknown error %2 QMYSQLDriver Unable to open database ' Veritabanı açılamadı ' Unable to connect Bağlanılamadı Unable to begin transaction İşleme (transaction) başlanamadı Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback transaction İşlem (transaction) geri alınamadı QMYSQLResult Unable to fetch data Veri getirilemedi Unable to execute query Sorgu yapılamadı Unable to store result Sonuç kaydedilemedi Unable to prepare statement İfade hazırlanamadı Unable to reset statement İfade sıfırlanamadı Unable to bind value Değer atanamadı Unable to execute statement İfade çalıştırılamadı Unable to bind outvalues Otomatik değerler atanamadı Unable to store statement results İfade sonuçları kaydedilemedi Unable to execute next query Unable to store next result QMdiArea (Untitled) QMdiSubWindow %1 - [%2] %1 - [%2] Close Kapat Minimize Küçült Restore Down Aşağıya Geri Yükle &Restore &Geri Yükle &Move &Taşı &Size &Boyut Mi&nimize &Küçült Ma&ximize B&üyüt Stay on &Top &Herzaman Üstte &Close &Kapat - [%1] Maximize Büyüt Unshade Shade Restore Help Yardım Menu Menü QMenu Close Kapat Open Execute Çalıştır QMessageBox Help Yardım OK TAMAM About Qt Qt Hakkında <p>This program uses Qt version %1.</p> <p>Bu uygulama Qt %1 sürümü kullanmaktadır.</p> Show Details... Ayrıntıları Göster... Hide Details... Ayrıntıları Gizle... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> QMultiInputContext Select IM Çoklu Girdi Seç QMultiInputContextPlugin Multiple input method switcher Çoklu girdi metodu seçici Multiple input method switcher that uses the context menu of the text widgets Çoklu girdi metodu seçici metin parçacıkları genel menüsünü kullanır QNativeSocketEngine The remote host closed the connection Uzak makine bağlantıyı kapattı Network operation timed out Ağ işleminde zamanaşımı Out of resources Yetersiz kaynak Unsupported socket operation Desteklenmeyen soket işlemi Protocol type not supported Protokol tipi desteklenmiyor Invalid socket descriptor Geçersiz soket tanımlayıcı Network unreachable Ağ erişilemez durumda Permission denied İzin verilmedi Connection timed out Bağlantıda zamanaşımı Connection refused Bağlantı reddedildi The bound address is already in use Bağlanılacak adres zaten kullanılıyor The address is not available Adres erişilebilir değil The address is protected Adres korumalı Unable to send a message Bir ileti gönderilemedi Unable to receive a message Bir ileti alınamadı Unable to write Yazılamadı Network error Ağ hatası Another socket is already listening on the same port Aynı port üzerinde zaten başka bir soket dinleniyor Unable to initialize non-blocking socket Tıkanmasız soket başlatılamadı Unable to initialize broadcast socket Yayın soketi başlatılamadı Attempt to use IPv6 socket on a platform with no IPv6 support IPv6 desteği olmayan bir platformda IPv6 soketi kullanılmaya çalışıldı Host unreachable Makine erişilemez durumda Datagram was too large to send Veri paketi göndermek için çok büyük Operation on non-socket Soketsiz işlem Unknown error Bilinmeyen hata The proxy type is invalid for this operation QNetworkAccessFileBackend Request for opening non-local file %1 Error opening %1: %2 Write error writing to %1: %2 Cannot open %1: Path is a directory Read error reading from %1: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Logging in to %1 failed: authentication required Error while downloading %1: %2 Error while uploading %1: %2 QNetworkReply Error downloading %1 - server replied: %2 Protocol "%1" is unknown QNetworkReplyImpl Operation canceled QOCIDriver Unable to logon Girilemedi Unable to initialize QOCIDriver Başlatılamadı Unable to begin transaction İşleme (transaction) başlanamadı Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback transaction İşlem (transaction) geri alınamadı QOCIResult Unable to bind column for batch execute Toplu çalıştırma için sütun atanamadı Unable to execute batch statement Toplu ifade çalıştırılamadı Unable to goto next Sonrakine gidilemedi Unable to alloc statement İfade yerleştirilemedi Unable to prepare statement İfade hazırlanamadı Unable to bind value Değer atanamadı Unable to execute select statement Select ifadesi çalıştırılamadı Unable to execute statement İfade çalıştırılamadı QODBCDriver Unable to connect Bağlanılamadı Unable to connect - Driver doesn't support all needed functionality Bağlanılamadı - Sürücü gereken işlevleri desteklemiyor Unable to disable autocommit Otomatik uygulama pasifleştirilemedi Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback transaction İşlem (transaction) geri alınamadı Unable to enable autocommit Otomatik uygulama etkinleştirilemedi QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: 'SQL_CURSOR_STATIC' sorgu niteliği olarak ayarlanamadı. Lütfen ODBC sürücü yapılandırmanızı kontrol edin Unable to execute statement İfade çalıştırılamadı Unable to fetch next Sonraki getirilemedi Unable to prepare statement İfade hazırlanamadı Unable to bind variable Değişken atanamadı Unable to fetch last Unable to fetch Unable to fetch first Öncelikle birinci getirilemedi Unable to fetch previous QObject Operation not supported on %1 Invalid URI: %1 Write error writing to %1: %2 Read error reading from %1: %2 Socket error on %1: %2 Remote host closed the connection prematurely on %1 Protocol error: packet of size 0 received QPPDOptionsModel Name İsim Value Değer QPSQLDriver Unable to connect Bağlanılamadı Could not begin transaction İşleme (transaction) başlanamadı Could not commit transaction İşlem (transaction) yapılamadı Could not rollback transaction İşlem (transaction) geri alınamadı Unable to subscribe Unable to unsubscribe QPSQLResult Unable to create query Sorgu oluşturulamadı Unable to prepare statement İfade hazırlanamadı QPageSetupWidget Centimeters (cm) Millimeters (mm) Inches (in) Points (pt) Form Paper Page size: Sayfa boyutu: Width: Height: Paper source: Sayfa kaynağı: Orientation Portrait Dikey Landscape Yatay Reverse landscape Reverse portrait Margins top margin left margin right margin bottom margin QPluginLoader Unknown error Bilinmeyen hata The plugin was not loaded. Eklenti yüklenmedi. QPrintDialog locally connected yerel olarak bağlı Aliases: %1 Takma adlar: %1 unknown Unbekannt Print To File ... Dosyaya Yazdır... File %1 is not writable. Please choose a different file name. %1 dosyası yazılabilir değil. Lütfen başka bir dosya adı seçin. %1 already exists. Do you want to overwrite it? %1 zaten var. Üzerine yazmak ister misiniz? %1 is a directory. Please choose a different file name. %1 bir dizin. Lütfen başka bir dosya adı seçin. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Ledger Legal Letter Tabloid US Common #10 Envelope Custom &Options >> &Print &Options << Print to File (PDF) Print to File (Postscript) Local file Write %1 file QPrintPreviewDialog Page Setup Print Preview Next page Previous page First page Last page Fit width Fit page Zoom in Zoom out Portrait Dikey Landscape Yatay Show single page Show facing pages Show overview of all pages Print Yazdır Page setup Close Kapat QPrintPropertiesWidget Form Page Advanced QPrintSettingsOutput Form Copies Kopya Print range Yazdırma oranı Print all Tümünü yazdır Pages from Bu sayfadan to bu sayfaya Selection Seçim Output Settings Copies: Collate Harmanla Reverse Options Seçenekler Color Mode Color Grayscale Duplex Printing None Long side Short side QPrintWidget Form Printer Yazıcı &Name: P&roperties Location: Preview Type: Output &file: ... QProgressDialog Cancel İptal QPushButton Open QRadioButton Check Kontrol Et QRegExp no error occurred hata yok disabled feature used pasifleştirilmiş özellik kullanıldı bad char class syntax kötü karakter sınıfı söz dizimi bad lookahead syntax ileriye dönük kötü söz dizimi bad repetition syntax kötü tekrarlama söz dizimi invalid octal value geçersiz sekizlik değer missing left delim unexpected end beklenmeyen bitiş met internal limit iç limite ulaşıldı QSQLite2Driver Error to open database Veritabanı açma hatası Unable to begin transaction İşleme (transaction) başlanamadı Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback Transaction İşlem (transaction) geri alınamadı QSQLite2Result Unable to fetch results Sonuçlar eşlenemedi Unable to execute statement İfade çalıştırılamadı QSQLiteDriver Error opening database Veritabanı açılırken hata oluştu Error closing database Veritabanı kapatma hatası Unable to begin transaction İşleme (transaction) başlanamadı Unable to commit transaction İşlem (transaction) yapılamadı Unable to rollback transaction İşlem (transaction) geri alınamadı QSQLiteResult Unable to fetch row Satır getirilemedi Unable to execute statement İfade çalıştırılamadı Unable to reset statement İfade sıfırlanamadı Unable to bind parameters Parametreler atanamadı Parameter count mismatch Parametre sayısı tutmuyor No query QScrollBar Scroll here Buraya kaydır Left edge Sol gölge Top En Yukarı Right edge Sağ gölge Bottom En Aşağı Page left Sayfa sola Page up Sayfa yukarı Page right Sayfa sağa Page down Sayfa aşağı Scroll left Sola kaydır Scroll up Yukarı kaydır Scroll right Sağa kaydır Scroll down Aşağı kaydır Line up Diz Position Konum Line down Satır aşağı QSharedMemory %1: unable to set key on lock %1: create size is less then 0 %1: unable to lock %1: unable to unlock %1: permission denied %1: already exists %1: doesn't exists %1: out of resources %1: unknown error %2 %1: key is empty %1: unix key file doesn't exists %1: ftok failed %1: unable to make key %1: system-imposed size restrictions %1: not attached QShortcut Space Space Esc Esc Tab Tab Backtab Backtab Backspace Backspace Return Return Enter Enter Ins Ins Del Del Pause Pause Print Yazdır SysReq SysReq Home Başlangıç End Bitir Left Sol Up Yukarı Right Sağ Down Aşağı PgUp PgUp PgDown PgDown CapsLock CapsLock NumLock NumLock ScrollLock ScrollLock Menu Menü Help Yardım Back Geri Forward İleri Stop Dur Refresh Yenile Volume Down Sesi Yükselt Volume Mute Sesi Kapat Volume Up Sesi Alçalt Bass Boost Bası Güçlendir Bass Up Bası Yükselt Bass Down Bası Alçalt Treble Up Tizi Yükselt Treble Down Tizi Alçalt Media Play Çokluortam Çal Media Stop Çokluortam Dur Media Previous Çokluortam Önceki Media Next Çokluortam Sonraki Media Record Çokluortam Kaydet Favorites Yer İmleri Search Ara Standby Bekleme Kipine Geç Open URL Adres Aç Launch Mail E-posta Uygulamasını Aç Launch Media Çokluortam Aç Launch (0) Çalıştır (0) Launch (1) Çalıştır (1) Launch (2) Çalıştır (2) Launch (3) Çalıştır (3) Launch (4) Çalıştır (4) Launch (5) Çalıştır (5) Launch (6) Çalıştır (6) Launch (7) Çalıştır (7) Launch (8) Çalıştır (8) Launch (9) Çalıştır (9) Launch (A) Çalıştır (A) Launch (B) Çalıştır (B) Launch (C) Çalıştır (C) Launch (D) Çalıştır (D) Launch (E) Çalıştır (E) Launch (F) Çalıştır (F) Print Screen Ekran Görüntüsü Al Page Up Sayfa Yukarı Page Down Sayfa Aşağı Caps Lock Caps Lock Num Lock Num Lock Number Lock Number Lock Scroll Lock Scroll Lock Insert Ekle Delete Sil Escape Escape System Request Sistem İsteği Select Seç Yes Evet No Hayır Context1 Bağlam1 Context2 Bağlam2 Context3 Bağlam3 Context4 Bağlam4 Call Ara Hangup Flip Çevir Ctrl Shift Alt Meta Meta + + F%1 F%1 Home Page Web Sayfası QSlider Page left Sayfa sola Page up Sayfa yukarı Position Konum Page right Sayfa sağa Page down Sayfa aşağı QSocks5SocketEngine Socks5 timeout error connecting to socks server Socks sunucusuna bağlanırken Socks5 zamanaşımı hatası Network operation timed out Ağ işleminde zamanaşımı QSpinBox More Daha Fazla Less Daha Az QSql Delete Sil Delete this record? Bu kayıt silinsin mi? Yes Evet No Hayır Insert Ekle Update Güncelle Save edits? Kaydedilsin mi? Cancel İptal Confirm Doğrula Cancel your edits? Değişiklikleriniz iptal edilsin mi? QSslSocket Unable to write data: %1 Veri yazılamadı: %1 Error while reading: %1 Okuma hatası: %1 Error during SSL handshake: %1 SSL tokalaşması sırasında hata: %1 Error creating SSL context (%1) SSL bağlamı oluşturulurken hata (%1) Invalid or empty cipher list (%1) Geçersiz ya da boş edinme listesi (%1) Error creating SSL session, %1 SSL oturumu oluşturma hatası, %1 Error creating SSL session: %1 SSL oturumu oluşturma hatası: %1 Cannot provide a certificate with no key, %1 Anahtar olmadan bir sertifika sağlanamaz, %1 Error loading local certificate, %1 Yerel sertifika yüklenirken hata, %1 Error loading private key, %1 Yerel gizli anahtar yüklenirken hata, %1 Private key does not certificate public key, %1 QTDSDriver Unable to open connection Bağlantı açılamadı Unable to use database Veritabanı kullanılamadı QTabBar Scroll Left Sola Kaydır Scroll Right Sağa Kaydır QTextControl &Undo &Geri Al &Redo &Yinele Cu&t K&es &Copy &Kopyala Copy &Link Location Bağlantı Konumunu Kopya&la &Paste &Yapıştır Delete Sil Select All Tümünü Seç QToolButton Press Bas Open QUdpSocket This platform does not support IPv6 Bu platform IPv6 desteklemiyor QUndoGroup Undo Geri Al Redo Yinele QUndoModel <empty> <boş> QUndoStack Undo Geri Al Redo Yinele QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Soldan-sağa yap RLM Right-to-left mark RLM Sağdan-sola yap ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWSP Zero width space LRE Start of left-to-right embedding LRE Soldan-sağa gömülü yap RLE Start of right-to-left embedding RLE Sağdan-sola gömülü yap LRO Start of left-to-right override RLO Start of right-to-left override PDF Pop directional formatting Insert Unicode control character Unicode kontrol karakteri ekle QWebFrame Request cancelled Request blocked Cannot show URL Frame load interruped by policy change Cannot show mimetype File does not exist QWebPage Bad HTTP request Submit default label for Submit buttons in forms on web pages Submit Submit (input element) alt text for <input> elements with no alt, title, or value Reset default label for Reset buttons in forms on web pages Sıfırla This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Choose File title for file button used in HTML forms No file selected text to display in file button used in HTML forms when no file is selected Open in New Window Open in New Window context menu item Save Link... Download Linked File context menu item Copy Link Copy Link context menu item Open Image Open Image in New Window context menu item Save Image Download Image context menu item Copy Image Copy Link context menu item Open Frame Open Frame in New Window context menu item Copy Copy context menu item Go Back Back context menu item Geri Git Go Forward Forward context menu item Stop Stop context menu item Dur Reload Reload context menu item Cut Cut context menu item Paste Paste context menu item No Guesses Found No Guesses Found context menu item Ignore Ignore Spelling context menu item Yoksay Add To Dictionary Learn Spelling context menu item Search The Web Search The Web context menu item Look Up In Dictionary Look Up in Dictionary context menu item Open Link Open Link context menu item Ignore Ignore Grammar context menu item Yoksay Spelling Spelling and Grammar context sub-menu item Show Spelling and Grammar menu item title Hide Spelling and Grammar menu item title Check Spelling Check spelling context menu item Check Spelling While Typing Check spelling while typing context menu item Check Grammar With Spelling Check grammar with spelling context menu item Fonts Font context sub-menu item Bold Bold context menu item Italic Italic context menu item Underline Underline context menu item Outline Outline context menu item Direction Writing direction context sub-menu item Default Default writing direction context menu item LTR Left to Right context menu item RTL Right to Left context menu item Inspect Inspect Element context menu item No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Clear recent searches menu item in Recent Searches menu that empties menu's contents Unknown Unknown filesize FTP directory listing item Bilinmeyen %1 (%2x%3 pixels) Title string for images Web Inspector - %2 QWhatsThisAction What's This? Bu nedir? QWidget * * QWizard Go Back Geri Git Continue Devam Et Commit Gönder Done Tamam Quit Çık Help Yardım < &Back < &Geri &Finish &Bitir Cancel İptal &Help &Yardım &Next &Next > &İleri > QWorkspace &Restore &Geri Yükle &Move &Taşı &Size &Boyut Mi&nimize &Küçült Ma&ximize B&üyüt &Close &Kapat Stay on &Top &Herzaman Üstte Sh&ade G&ölgele %1 - [%2] %1 - [%2] Minimize Küçült Restore Down Aşağıya Geri Yükle Close Kapat &Unshade Gölgele&me QXml no error occurred hata yok error triggered by consumer hata tüketici tarafından tetiklendi unexpected end of file beklenmeyen dosya sonu more than one document type definition birden fazla belge tipi tanımlaması error occurred while parsing element Öge ayrıştırılırken hata oluştu tag mismatch etiket uyumsuzluğu error occurred while parsing content İçerik ayrıştırılırken hata oluştu unexpected character beklenmeyen karakter invalid name for processing instruction işleme komutu için geçersiz isim version expected while reading the XML declaration XML bildirimi okunurken sürüm beklenir wrong value for standalone declaration bağımsız bildirim için hatalı değer encoding declaration or standalone declaration expected while reading the XML declaration XML bildirimi okunurken kodlama bildirmi ya da bağımsız bildirim beklenir standalone declaration expected while reading the XML declaration XML bildirimi okunurken bağımsız bildirim beklenir error occurred while parsing document type definition Belge tipi tanımlaması ayrıştırılırken hata oluştu letter is expected harf beklenir error occurred while parsing comment yorum ayrıştırılırken hata oluştu error occurred while parsing reference Referans ayrıştırılırken hata oluştu internal general entity reference not allowed in DTD DTD içerisinde genel iç varlık referansılarına (entity) izin verilmez external parsed general entity reference not allowed in attribute value Nitelik değeri içerisinde ayrıştırılmış genel dış varlık referansılarına (entity) izin verilmez external parsed general entity reference not allowed in DTD DTD içerisinde ayrıştırılmış genel dış varlık referansılarına (entity) izin verilmez unparsed entity reference in wrong context hatalı yerde ayrıştırılmamış varlık referansı (entity) recursive entities özyinelemeli varlık referansları (entity) error in the text declaration of an external entity dış varlık referansının (entity) metin bildiriminde hata QXmlStream Extra content at end of document. Belge sonunda fazladan içerik var. Invalid entity value. Geçersiz varlık referansı (entity) değeri. Invalid XML character. Geçersiz XML karakteri. Sequence ']]>' not allowed in content. İçerik içerisinde ']]>' dizisine izin verilmez. Namespace prefix '%1' not declared İsimlendirme öneki '%1' bildirilmedi Attribute redefined. Nitelik yeniden tanımlandı. Unexpected character '%1' in public id literal. Açık kimlik bilgisinde beklenmeyen '%1' karakteri. Invalid XML version string. Geçersiz XML sürüm ifadesi. Unsupported XML version. Desteklenmeyen XML sürümü. %1 is an invalid encoding name. %1 geçersiz bir kodlama adıdır. Encoding %1 is unsupported %1 kodlaması desteklenmiyor Standalone accepts only yes or no. Bağımsız sadece evet ya da hayır kabul eder. Invalid attribute in XML declaration. XML bildiriminde geçersiz nitelik. Premature end of document. Tamamlanmamış belge sonu. Invalid document. Geçersiz belge. Expected Beklenen , but got ' , alınan ' Unexpected ' Beklenmeyen ' Expected character data. Beklenen karakter verisi. Recursive entity detected. Özyinelemeli varlık referansı (entity) bulundu. Start tag expected. Başlama etiketi beklenir. XML declaration not at start of document. XML bildirimi belgenin başlangıcında değil. NDATA in parameter entity declaration. Varlık referansı (entity) bildirimi parametresinde NDATA. %1 is an invalid processing instruction name. %1 geçersiz bir işleme komutu adı. Invalid processing instruction name. Geçersiz bir işleme komutu adı. Illegal namespace declaration. Geçersiz isimlendirme bildirimi. Invalid XML name. Geçersiz XML adı. Opening and ending tag mismatch. Açma etiketi ile kapatma etiketi uyuşmuyor. Reference to unparsed entity '%1'. '%1' ayrıştırılmamış varlık referansına (entity) referans. Entity '%1' not declared. Varlık referansı (entity) '%1' bildirilmemiş. Reference to external entity '%1' in attribute value. '%1' dış varlık referansının (entity) nitelik değerine referans. Invalid character reference. Geçersiz karakter referansı. Encountered incorrectly encoded content. Doğru şekilde kodlanmamış içeriğe rastlandı. The standalone pseudo attribute must appear after the encoding. Bağımsız yalancı nitelik kodlamadan sonra belirmelidir. %1 is an invalid PUBLIC identifier. %1 geçerisiz bir PUBLIC tanımlayıcı. QtXmlPatterns An %1-attribute with value %2 has already been declared. An %1-attribute must have a valid %2 as value, which %3 isn't. Network timeout. Element %1 can't be serialized because it appears outside the document element. Attribute %1 can't be serialized because it appears at the top level. Year %1 is invalid because it begins with %2. Day %1 is outside the range %2..%3. Month %1 is outside the range %2..%3. Overflow: Can't represent date %1. Day %1 is invalid for month %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Time %1:%2:%3.%4 is invalid. Overflow: Date can't be represented. At least one component must be present. At least one time component must appear after the %1-delimiter. No operand in an integer division, %1, can be %2. The first operand in an integer division, %1, cannot be infinity (%2). The second operand in a division, %1, cannot be zero (%2). %1 is not a valid value of type %2. When casting to %1 from %2, the source value cannot be %3. Integer division (%1) by zero (%2) is undefined. Division (%1) by zero (%2) is undefined. Modulus division (%1) by zero (%2) is undefined. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. A value of type %1 cannot have an Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. %1 is not valid as a value of type %2. Operator %1 cannot be used on type %2. Operator %1 cannot be used on atomic values of type %2 and %3. The namespace URI in the name for a computed attribute cannot be %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Type error in cast, expected %1, received %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. No casting is possible with %1 as the target type. It is not possible to cast from %1 to %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. It's not possible to cast the value %1 of type %2 to %3 Failure when casting from %1 to %2: %3 A comment cannot contain %1 A comment cannot end with a %1. No comparisons can be done involving the type %1. Operator %1 is not available between atomic values of type %2 and %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. A library module cannot be evaluated directly. It must be imported from a main module. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A positional predicate must evaluate to a single numeric value. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The data of a processing instruction cannot contain the string %1 No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 %1 is an invalid %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 requires at least %n argument(s). %2 is therefore invalid. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. %1 is not a valid XML 1.0 character. The first argument to %1 cannot be of type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. %1 was called. %1 must be followed by %2 or %3, not at the end of the replacement string. In the replacement string, %1 must be followed by at least one digit when not escaped. In the replacement string, %1 can only be used to escape itself or %2, not %3 %1 matches newline characters %1 and %2 match the start and end of a line. Matches are case insensitive Whitespace characters are removed, except when they appear in character classes %1 is an invalid regular expression pattern: %2 %1 is an invalid flag for regular expressions. Valid flags are: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. It will not be possible to retrieve %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The default collection is undefined %1 cannot be retrieved The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. %1 is not a whole number of minutes. Required cardinality is %1; got cardinality %2. The item %1 did not match the required type %2. %1 is an unknown schema type. Only one %1 declaration can occur in the query prolog. The initialization of variable %1 depends on itself No variable by name %1 exists The variable %1 is unused Version %1 is not supported. The supported XQuery version is 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. No function with signature %1 is available A default namespace declaration must occur before function, variable, and option declarations. Namespace declarations must occur before function, variable, and option declarations. Module imports must occur before function, variable, and option declarations. It is not possible to redeclare prefix %1. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Prefix %1 is already declared in the prolog. The name of an option must have a prefix. There is no default namespace for options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The target namespace of a %1 cannot be empty. The module import feature is not supported A variable by name %1 has already been declared in the prolog. No value is available for the external variable by name %1. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 A function already exists with the signature %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external An argument by name %1 has already been declared. Every argument name must be unique. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. None of the pragma expressions are supported. Therefore, a fallback expression must be present The %1-axis is unsupported in XQuery %1 is not a valid numeric literal. No function by name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. %1 is an invalid namespace URI. It is not possible to bind to the prefix %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Two namespace declaration attributes have the same name: %1. The namespace URI must be a constant and cannot use enclosed expressions. An attribute by name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. The name %1 does not refer to any schema type. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. The name of an extension expression must be in a namespace. empty zero or one exactly one one or more zero or more Required type is %1, but %2 was found. Promoting %1 to %2 may cause loss of precision. The focus is undefined. It's not possible to add attributes after any other kind of node. An attribute by name %1 has already been created. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. VolumeSlider Muted Volume: %1% WebCore::PlatformScrollbar Scroll here Buraya kaydır Left edge Sol gölge Top En Yukarı Right edge Sağ gölge Bottom En Aşağı Page left Sayfa sola Page up Sayfa yukarı Page right Sayfa sağa Page down Sayfa aşağı Scroll left Sola kaydır Scroll up Yukarı kaydır Scroll right Sağa kaydır Scroll down Aşağı kaydır keepassx-0.4.3/src/translations/qt_nl.ts0000664000175000017500000054675411342454455017374 0ustar felixfelix AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Het apparaat <b>%1</b> , dat geluid afspeelt, werkt niet.<br/>In plaats daarvan wordt <b>%2</b> gebruikt.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Stappen over op het geluidsafspeel apparaat <b>%1</b><br/>deze is net beschikbaar gekomen en verdient de voorkeur.</html> Revert back to device '%1' Terugkeren naar apparaat '%1' Phonon:: Notifications mededeling Music Muziek Video Video Communication communicatie Games Spelletjes Accessibility Toegankelijkheid Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Waarschuwing: Het pakker "gstreamer0.10 plugins" is niet goed geïnstalleerd. Sommige video mogelijkheden zijn gedeactiveerd. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Waarschuwing: De "GStreamer plugins" blijken niet geïnstalleerd. Alle audio en video ondersteuning is gedeactiveerd Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. Kan het afspelen niet starten. Controleer de installatie van "Gstreamer" en zorg ervoor dat de "libgstreamer plugins basis is geïnstalleer. A required codec is missing. You need to install the following codec(s) to play this content: %0 Een noodzakelijke codec mist. U moet de volgende codec installeren om deze inhoud af te spelen: %0 De noodzakelijke codecs missen. U moet de volgende codecs installeren om deze inhoud af te spelen: %0 Could not open media source. Kan de media bron niet openen. Invalid source type. Bron type ongeldig. Could not locate media source. Kan de media bron niet vinden. Could not open audio device. The device is already in use. Kan het audio apparaat niet openen. Het apparaat wordt al gebruikt. Could not decode media source. Kan de media bron niet decoderen. Phonon::VolumeSlider Volume: %1% Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Gebruik deze schuif om het geluid aan te passen. De meest linkse positie is 0%, de meest rechtse positie is %1% Q3Accel %1, %2 not defined %1, %2 niet gedefinieerd Ambiguous %1 not handled Dubbelzinnig %1 niet uitgevoerd Q3DataTable True Waar False Onwaar Insert Invoegen Update Bijwerken Delete Verwijderen Q3FileDialog Copy or Move a File Bestand kopiëren of verplaatsen Read: %1 Lees: %1 Write: %1 Schrijven: %1 Cancel Annuleren All Files (*) Alle bestanden (*) Name Naam Size Formaat Type Soort Date Datum Attributes Attribuut &OK &OK Look &in: &Kijk bij: File &name: Bestands&naam: File &type: &Soort bestands: Back Terug One directory up Een map omhoog Create New Folder Maak een nieuwe map aan List View Lijst weergave Detail View Detail weergave Preview File Info Voorbeeldweergave bestandsinformatie Preview File Contents Voorbeeldweergave bestandsinhoud Read-write Lezen/schrijven Read-only Alleen lezen Write-only Alleen schrijven Inaccessible niet toegankelijk Symlink to File Snelkoppeling naar het bestand Symlink to Directory Snelkoppeling naar de map Symlink to Special Snelkoppeling naar iets speciaals File Bestand Dir Map Special Speciaal Open Open Save As Opslaan als &Open &Openen &Save Op&slaan &Rename &Hernoemen &Delete &Verwijderen R&eload &Opnieuw laden Sort by &Name Op &Naam sorteren Sort by &Size size kan ook zijn omvang Op grootte &sorteren Sort by &Date Op &datum sorteren &Unsorted &Ongesorteerd Sort Sorteren Show &hidden files Verbo&rgen bestanden tonen the file Het bestand the directory De map the symlink De snelkoppeling Delete %1 %1 verwijderen <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Weet u zeker dat u %1 "%2" wilt verwijderen?</qt> &Yes &Ja &No &Nee New Folder 1 Nieuwe map 1 New Folder Nieuwe map New Folder %1 Nieuwe map %1 Find Directory Zoek een map Directories Mappen Directory: Map: Error Fout %1 File not found. Check path and filename. %1 Bestand niet gevonden. Controleer pad en bestandsnaam. Q3LocalFs Could not read directory %1 Kan de map niet lezen %1 Could not create directory %1 Kan de map niet aanmaken %1 Could not remove file or directory %1 Kan het bestand of de map niet verwijderen %1 Could not rename %1 to %2 Kan: %1 niet hernoemen naar %2 Could not open %1 Kan: %1 niet openen Could not write %1 Kan niet schrijven: %1 Q3MainWindow Line up Rangschikken Customize... Aanpassen... Q3NetworkProtocol Operation stopped by the user Actie gestopd door de gebruiker Q3ProgressDialog Cancel Annuleren Q3TabDialog OK Ok Apply Toepassen Help Help Defaults Standaards Cancel Annuleren Q3TextEdit &Undo &Ongedaan maken &Redo Op&nieuw Cu&t K&nippen &Copy &Kopiëren &Paste &Plakken Clear Wissen Select All Alles selecteren Q3TitleBar System Systeem Restore up Omhoog terugzetten Minimize Minimaliseren Restore down Omlaag terugzetten Maximize Maximaliseren Close Sluiten Contains commands to manipulate the window Bevat opdrachten om het venster te bewerken Puts a minimized back to normal Zet geminimaliseerd terug naar normaal Moves the window out of the way Verplaatst het venster uit de weg Puts a maximized window back to normal Zet gemaximaliseerd terug naar normaal Makes the window full screen Maak het venster beeldvullend Closes the window Sluit het venster Displays the name of the window and contains controls to manipulate it Geeft de naam van venster weer en bevat knoppen om deze te bewerken Q3ToolBar More... Meer... Q3UrlOperator The protocol `%1' is not supported Het protocol `%1' wordt niet ondersteund The protocol `%1' does not support listing directories Het protocol `%1' ondersteund geen opname in een lijst van mappen The protocol `%1' does not support creating new directories Het protocol `%1' ondersteund niet het aanmaken van nieuwe mappen The protocol `%1' does not support removing files or directories Het protocol `%1' ondersteund niet het verwijderen van bestanden of mappen The protocol `%1' does not support renaming files or directories Het protocol `%1' ondersteund niet het herbenoemen van bestanden of mappen The protocol `%1' does not support getting files Het protocol `%1' ondersteund niet het ophalen van bestanden The protocol `%1' does not support putting files Het protocol `%1' ondersteund niet het wegzetten van bestanden The protocol `%1' does not support copying or moving files or directories Het protocol `%1' ondersteund niet het kopiëren van bestanden of mappen (unknown) (onbekend) Q3Wizard &Cancel &Annuleren < &Back < &Terug &Next > &Volgende > &Finish &Klaar &Help &Help QAbstractSocket Host not found Gastheer niet gevonden Connection refused Verbinding geweigerd Socket operation timed out Tijdslimiet verstreken voor de actie op de socket Socket is not connected Socket is niet verbonden QAbstractSpinBox &Step up nakijken &ophogen?? Step &down Nakijken &Afnemen?? &Select All Alles &selecteren QApplication QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Executable '%1' requires Qt %2, found Qt %3. Programma '%1' vereist Qt %2; maar Qt %3 gevonden. Incompatible Qt Library Error Qt bibliotheek is niet compatibel Activate Activeren Activates the program's main window Activeert het hoofd venster van het programma QCheckBox Uncheck Uitgummen Check Afvinken Toggle Omschakelen QColorDialog Hu&e: &Tint: &Sat: &Verzadiging: &Val: &Helderheid: &Red: &Rood: &Green: &Groen: Bl&ue: Bla&uw: A&lpha channel: A&lpha kanaal: &Basic colors &Basis kleuren &Custom colors &Aangepaste kleuren &Add to Custom Colors &Toevoegen aan aangepaste kleuren Select color Selecteer een kleur QComboBox Open Openen False Onwaar True Waar Close Sluiten QCoreApplication %1: permission denied QSystemSemaphore %1: geen toestemming %1: already exists QSystemSemaphore %1: bestaat al %1: doesn't exists QSystemSemaphore %1: bestaat niet %1: out of resources QSystemSemaphore %1: geen hulpbronnen meer %1: unknown error %2 QSystemSemaphore %1: onbekende fout %2 %1: key is empty QSystemSemaphore %1:Ongeldige sleutel (leeg) %1: unable to make key QSystemSemaphore %1: Kan geen sleutel aanmaken %1: ftok failed QSystemSemaphore %1: ftok vaalt QDB2Driver Unable to connect Kan geen verbinding maken Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback transaction Kan de transactie niet terugdraaien Unable to set autocommit Kan het automatisch bevestigen niet instellen QDB2Result Unable to execute statement Kan de instructie niet uitvoeren Unable to prepare statement Kan de instructie niet voorbereiden Unable to bind variable Kan geen variabele binden Unable to fetch record %1 Kan het record %1 niet ophalen Unable to fetch next Kan de volgende niet ophalen Unable to fetch first Kan de eerste niet ophalen QDateTimeEdit AM VM am NM PM NM pm nm QDial QDial QDial SpeedoMeter Tachometer SliderHandle Schuifhandel QDialog What's This? Wat is dit? Done Klaar QDialogButtonBox OK Ok Save Opslaan Open Openen Cancel Annuleren Close Sluiten Apply Toepassen Reset Terugzetten Help Help Don't Save Niet opslaan Discard Verwerpen &Yes &Ja Yes to &All Ja, &alles &No &Nee N&o to All Nee voor &alles Save All Alles opslaan Abort Afbreken Retry Nogmaals Ignore Negeren Restore Defaults Standaards terugplaatsen Close without Saving Sluiten zonder op te slaan &OK &OK QDirModel Name Naam Size Omvang Kind Match OS X Finder Aard Type All other platforms Type Date Modified Datum gewijzigd QDockWidget Close Sluiten Dock Koppelen Float Drijven QDoubleSpinBox More Meer Less Minder QErrorMessage &Show this message again &Geef dit bericht opnieuw weer &OK &OK Debug Message: Test bericht: Warning: Waarschuwing: Fatal Error: Fatale fout: QFileDialog All Files (*) Alle bestanden (*) Back Terug List View Lijst weergave Detail View Detail weergave File Bestand Open Openen Save As Opslaan als &Open &Openen &Save &Opslaan &Rename &Hernoemen &Delete &Verwijderen Show &hidden files &Geef verborgen bestanden weer New Folder Nieuwe map Find Directory Zoek een map Directories Mappen Directory: Map: %1 already exists. Do you want to replace it? %1 Bestaat al. Wilt u deze vervangen? %1 File not found. Please verify the correct file name was given. %1 Bestand niet gevonden. Controleer of de juiste bestandnaam is opgegeven. My Computer Mijn computer Parent Directory Bovenliggende map Files of type: Bestanden van het type: %1 Directory not found. Please verify the correct directory name was given. %1 Map niet gevonden. Controleer of de juiste naam van de map is opgegeven. '%1' is write protected. Do you want to delete it anyway? '%1' is beschermd tegen overschrijven. Wilt u het toch verwijderen? Are sure you want to delete '%1'? Weet u zeker dat u %1 wilt verwijderen? Could not delete directory. Kan de map niet verwijderen. Drive Station Unknown Onbekend Show Weergeven Forward Vooruit &New Folder &Nieuwe map &Choose &Kiezen Remove Verwijder File &name: Bestands&naam: Look in: Kijk bij: Create New Folder Maak een nieuwe map aan QFileSystemModel %1 TB %1 TB %1 GB %1 GB %1 MB %1 MB %1 KB %1 KB %1 bytes %1 bytes Invalid filename Ongeldige bestandsnaam <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>De naam "%1" kan niet worden gebruikt.</b><p>Geef een andere naam op met minder tekens of zonder leestekens. Name Naam Size Omvang Kind Match OS X Finder Aard Type All other platforms Type Date Modified Datum gewijzigd My Computer Mijn computer Computer Computer QFontDatabase Normal Normaal Bold Vet Demi Bold half vet Black Zwart Demi Half Light licht Italic Cursief Oblique Schuin Any Alle Latin Latijns Greek Grieks Cyrillic Cyrillisch Armenian Armekaans Hebrew Hebreews Arabic Arabisch Syriac Syrisch Thaana Thaana Devanagari Devanagari Bengali Bengaals Gurmukhi Gurmukhi Gujarati Gujarati Oriya Oriya Tamil Tamil Telugu Telugu Kannada Kannada Malayalam Malayalam Sinhala Sinhala Thai Thais Lao Lao Tibetan Tibetaans Myanmar Myanmar Georgian Georgisch Khmer Khmer Simplified Chinese Eenvoudig Chinees Traditional Chinese Traditioneel Chinees Japanese Japans Korean Koreaans Vietnamese Vietnamees Symbol Symbool Ogham Ogham Runic Runen QFontDialog &Font &Lettertype Font st&yle &Soort lettertype &Size &Omvang Effects Effecten Stri&keout Door&halen &Underline &Onderstrepen Sample Voorbeeld Select Font Selecteer lettertype Wr&iting System &Schrijfsysteem QFtp Host %1 found Gastheer %1 gevonden Host found Gastheer gevonden Connected to host %1 Verbonden met de gastheer %1 Connected to host Verbonden met de gastheer Connection to %1 closed Verbinding met %1 afgesloten Connection closed Verbinding afgesloten Host %1 not found Gastheer %1 niet gevonden Connection refused to host %1 Verbinding met %1 geweigerd Unknown error Onbekende fout Connecting to host failed: %1 Verbinding met gastheer mislukt: %1 Login failed: %1 Aanmelding mislukt: %1 Listing directory failed: %1 Weergeven van de mappen is mislukt: %1 Changing directory failed: %1 veranderen van map is misluktl: %1 Downloading file failed: %1 Downloaden van bestand is mislukt: %1 Uploading file failed: %1 Uploaden van bestand is mislukt: %1 Removing file failed: %1 Verwijderen van bestand is mislukt: %1 Creating directory failed: %1 Aanmaken van map is mislukt: %1 Removing directory failed: %1 Verwijderen van map is mislukt: %1 Not connected Geen verbinding Connection refused for data connection Verbinding voor gegevens verbinding geweigerd QHostInfo Unknown error Onbekende fout QHostInfoAgent Host not found gastheer niet gevonden Unknown address type Onbekend soort adres Unknown error Onbekende fout QHttp Connection refused Verbinding geweigerd Host %1 not found Gastheer %1 niet gevonden Wrong content length Lengte van de inhoud is verkeerd HTTP request failed HTTP verzoek is mislukt Host %1 found Gastheer %1 gevonden Host found Gastheer gevonden Connected to host %1 Verbonden met de gastheer %1 Connected to host Verbonden met de gastheer Connection to %1 closed Verbinding met %1 afgesloten Connection closed Verbinding afgesloten Unknown error Onbekende fout Request aborted verzoek afgebroken No server set to connect to Geen server aangewezen om mee te verbinden Server closed connection unexpectedly Server heeft de verbinding onverwacht verbroken Invalid HTTP response header Ongeldige HTTP antwoord (header) Invalid HTTP chunked body Ongeldige HTTP gebroken body Proxy authentication required Proxy authentcatie vereist Authentication required Authenticatie vereist Proxy requires authentication De proxy vereist authenticatie Host requires authentication De gastheer vereist authenticatie Data corrupted gegevens zijn onbetrouwbaar SSL handshake failed SSL handdruk is mislukt Unknown protocol specified Onbekend protocol gespecificeerd Connection refused (or timed out) Verbinding geweigerd (tijdslimiet verstreken) HTTPS connection requested but SSL support not compiled in HTTPS verginding vereist maar SSL ondersteuning niet opgenomen QHttpSocketEngine Authentication required Authenticatie vereist QIBaseDriver Error opening database Kan de database niet openen Could not start transaction Kan de transactie niet starten Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback transaction Kan de transactie niet terugdraaien QIBaseResult Unable to create BLOB Kan geen BLOB aanmaken Unable to write BLOB Kan geen BLOB wegschrijven Unable to open BLOB Kan geen BLOB openen Unable to read BLOB Kan geen BLOB lezen Could not find array Kan geen array vinden Could not get array data Kan geen array gegevens ophalen Could not get query info Kan geen array informatie ophalen Could not start transaction Kan de transactie niet starten Unable to commit transaction Kan de transactie niet bevestigen Could not allocate statement Kan de instructie niet toewijzen Could not prepare statement Kan de instructie niet voorbereiden Could not describe input statement Kan de invoer instructie niet beschrijven Could not describe statement Kan de instructie niet beschrijven Unable to close statement Kan de instructie niet afsluiten Unable to execute query Kan de zoekvraag niet uitvoeren Could not fetch next item Kan het volgende item niet ophalen Could not get statement info Kan geen informatie over de instructie krijgen QIODevice Permission denied Geen toestemming Too many open files Te veel bestanden open No such file or directory Bestand of map bestaat niet No space left on device Geen ruimte meer op het apparaat Unknown error Onbekende fout QInputContext XIM XIM XIM input method XIM invoer methode Windows input method Windows invoer methode Mac OS X input method Mac OS X invoer methode QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: %1 kan niet worden geladen (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: %1 kan niet worden ontladen (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Het symbool "%1" is niet in %2 gedefinieerd (%3) Could not mmap '%1': %2 wat is mmap Kan '%1': %2 niet mmappen?? Plugin verification data mismatch in '%1' Plugin controle gegevens komen niet overeen in '%1 Could not unmap '%1': %2 wat is unmap kan '%1': %2 niet unmappen?? The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Plugin '%1' gebruikt een QT biblitheek, (%2.%3.%4) [%5], die niet compatibel is The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Plugin '%1' gebruikt een QT biblitheek die niet compatibel is. Verwacht bouw sleutel "%2" maar kreeg "%3" Unknown error Onbekende fout The shared library was not found. De dynamische bibliotheek is niet gevonden. The file '%1' is not a valid Qt plugin. Bestand '%1' is geen geldige Qt plugin. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Plugin '%1' gebruikt een QT bibliotheek die niet compatibel is. (kan geen test en productie biblitheek doorelkaar gebruiken.) QLineEdit Select All Alles selecteren &Undo &Ongedaan maken &Redo Op&nieuw Cu&t K&nippen &Copy &Kopiëren &Paste &Plakken Delete Verwijderen QLocalServer %1: Name error %1: Fout in de naam %1: Permission denied %1: geen toestemming %1: Address in use %1: Adres in gebruik %1: Unknown error %2 %1: Onbekende fout %2 QLocalSocket %1: Connection refused %1: Verbinding geweigerd %1: Remote closed %1: De verbinding vanuit andere kant afgesloten %1: Invalid name %1: Ongeldige naam %1: Socket access error %1:fout in de toegang naar de socket %1: Socket resource error %1:fout in de toegang naar de bron van de socket %1: Socket operation timed out %1: Tijdslimiet verstreken voor de socket actie %1: Datagram too large %1: Het datagram is te groot %1: Connection error %1: Fout in de verbinding %1: The socket operation is not supported %1: Deze socket actie wordt niet ondersteund %1: Unknown error %2 %1: Onbekende fout %2 QMYSQLDriver Unable to open database ' Kan de database niet openen ' Unable to connect Kan geen verbinding maken Unable to begin transaction Kan niet beginnen met de transactie Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback transaction Kan de transactie niet terugdraaien QMYSQLResult Unable to fetch data Kan de gegevens niet ophalen Unable to execute query Kan de zoekvraag niet uitvoeren Unable to store result Kan het resultaat niet opslaan Unable to prepare statement Kan de opdracht niet voorbereiden Unable to reset statement Kan de opdracht niet terugzetten Unable to bind value Kan geen waarde binden Unable to execute statement Kan de opdracht niet uitvoeren Unable to bind outvalues Kan geen overwaarde binden Unable to store statement results Kan het resultaat van de opdracht niet opslaan Unable to execute next query Kan de volgende zoekvraag niet uitvoeren Unable to store next result Kan het volgene resultaat niet opslaan QMdiArea (Untitled) (Zonder titel) QMdiSubWindow %1 - [%2] %1 - [%2] Close Sluiten Minimize Minimaliseren Restore Down Omlaag terugzetten &Restore &Terugzetten &Move &Verplaatsen &Size &Omvang Mi&nimize Mi&nimaliseren Ma&ximize Ma&ximaliseren Stay on &Top Op de &Voorgrond blijven &Close Sl&uiten Maximize Maximaliseren Unshade Arcering opheffen Shade Arceren Restore Terugzetten Help Help Menu Menu - [%1] - [%1] QMenu Close Sluiten Open Openen Execute Uitvoeren QMessageBox OK OK About Qt Info over Qt Help Help <p>This program uses Qt version %1.</p> <p>Dit programma gebruikt Qt versie %1.</p> Show Details... Details weergeven... Hide Details... Details verbergen... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <p>Dit programma gebruikt Qt Open Source editie versie %1.</p><p>Qt Open Source editie is bedoeld voor het ontwikkelen van Open Source applicaties. U heeft een commerciële Qt license nodig voor het ontwikkelen van proprietary (closed source) applicaties.</p><p>Kijk bij <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> voor een overzicht van Qt licenties.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> <h3>Info over Qt</h3>%1<p>Qt is een C++ gereedschapskist voor applicatie ontwikkeling over platformen heen.</p><p>Qt levert één enkele bron overdraagbaarheid met MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux en alle belangrijke commerciële Unix variantenn. Qt is ook beschikbaar voor ingebouw apparaten zoals Qt voor inbouw Linux en Qt voor Windows CE.</p><p>Qt is een Nokia product. Kijk bij <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> voor meer informatie.</p> QMultiInputContext Select IM wat is IM Selecteer IM QMultiInputContextPlugin Multiple input method switcher Schakelaar tussen invoer methodes Multiple input method switcher that uses the context menu of the text widgets Schakelaar tussen invoer methodes die gebruik maakt van het context menu of de tekst widgets QNativeSocketEngine The remote host closed the connection De gastheer op afstand heeft de verbinding verbroken Network operation timed out Tijdslimiet van de netwerk operatie is verlopen Out of resources Geen hulpbronnen meer Unsupported socket operation Niet ondersteunde socket operatie Protocol type not supported Soort protocol niet ondersteund Invalid socket descriptor Wat is een descriptor Ongeldige socket deskriptor Network unreachable Netwerk is niet te bereiken Permission denied Geen toestemming Connection timed out Verbinding heeft de tijdslimiet overschreden Connection refused Verbinding geweigerd The bound address is already in use Het opgegeven adres is al in gebruik The address is not available Het adres is niet beschikbaar The address is protected Het adres is beschermd Unable to send a message Kan het bericht niet verzenden Unable to receive a message Kan het bericht niet ontvangen Unable to write Kan niet wegschrijven Network error Netwerk fout Another socket is already listening on the same port Eenn andere socket luisterd al op dezelfde poort Unable to initialize non-blocking socket Kan het, niet blokkerende, socket niet initialiseren Unable to initialize broadcast socket Kan het, rondstrooiende , socket niet initialiseren Attempt to use IPv6 socket on a platform with no IPv6 support Probeert IPv socket te gebruiken op een platform die IPv6 niet ondersteund Host unreachable Gastheer niet te bereiken Datagram was too large to send Datagram is te groot om te verzenden Operation on non-socket Operatie op een niet-socket Unknown error Onbekende fout The proxy type is invalid for this operation De operatie is niet geldig voor dit soort proxy QNetworkAccessFileBackend Request for opening non-local file %1 Verzoek om bestand %1 te openen, dat niet locaal staat Error opening %1: %2 Openen van %1: %2 gaat fout Write error writing to %1: %2 Schrijf fout bij het schrijven naar %1: %2 Cannot open %1: Path is a directory Kan %1 niet openen: Het pad is map Read error reading from %1: %2 Lees fout bij het lezen van %1: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Kan %1 niet openen: is een map Logging in to %1 failed: authentication required Logboek bij houden in %1 is mislukt: authenticatie is nodig Error while downloading %1: %2 Fout tijdens het downloaden%1: %2 Error while uploading %1: %2 Fout tijdens het uploaden%1: %2 QNetworkReply Error downloading %1 - server replied: %2 Fout tijdens het downloaden%1 - server antwoorde: %2 Protocol "%1" is unknown Protocol "%1" is onbekend QNetworkReplyImpl Operation canceled Operatie geanulleerd QOCIDriver Unable to logon Kan u niet aanmelden Unable to initialize QOCIDriver Kan niet initialiseren Unable to begin transaction Kan niet beginnen met de transactie Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback transaction Kan de transactie niet terugdraaien QOCIResult Unable to bind column for batch execute Kan de kolom niet binden voor een batch uitvoering Unable to execute batch statement Kan de batch instructie niet uitvoeren Unable to goto next Kan niet naar de volgende gaan Unable to alloc statement Kan de instructie niet toewijzen Unable to prepare statement Kan de instructie niet voorbereiden Unable to bind value Kan geen waarde binden Unable to execute select statement Kan de "select" instructie niet uitvoeren Unable to execute statement Kan de instructie niet uitvoeren QODBCDriver Unable to connect Kan geen verbinding maken Unable to connect - Driver doesn't support all needed functionality Kan geen verbinding maken - Stuurprogramma ondersteund niet alle benodigde functionaliteit Unable to disable autocommit Kan het automatisch bevestigen niet deactiveren Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback transaction Kan de transactie niet terugdraaien Unable to enable autocommit Kan het automatisch bevestigen niet activeren QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::terugzetten: 'SQL_CURSOR_STATIC' kan niet als een attribuut van instructie meegeven. controleer de configuratie van het ODBC stuurprogramma Unable to execute statement Kan de instructie niet uitvoeren Unable to fetch next Kan de volgende niet ophalen Unable to prepare statement Kan de instructie niet voorbereiden Unable to bind variable Kan geen variabele binden Unable to fetch last Kan de laatste niet ophalen Unable to fetch Kan niets ophalen Unable to fetch first Kan de eerste niet ophalen Unable to fetch previous Kan de vorige niet ophalen QObject Operation not supported on %1 Operatie op %1 niet ondersteund Invalid URI: %1 Ongeldige URI: %1 Write error writing to %1: %2 Schrijf fout bij het schrijven naar %1: %2 Read error reading from %1: %2 Lees fout bij het lezen van %1: %2 Socket error on %1: %2 Socket fout op %1: %2 Remote host closed the connection prematurely on %1 De gastheer op afstand heeft de verbinding voortijdig verbroken op %1 Protocol error: packet of size 0 received Protocol fout:Een leeg gegevenspakket ontvangen QPPDOptionsModel Name Naam Value Waarde QPSQLDriver Unable to connect Kan geen verbinding maken Could not begin transaction Kan de transactie niet starten Could not commit transaction Kan de transactie niet bevestigen Could not rollback transaction Kan de transactie niet terugdraaien Unable to subscribe Inschrijven niet mogelijk Unable to unsubscribe Uitschrijven niet mogelijk QPSQLResult Unable to create query Kan geen zoekvraag aanmaken Unable to prepare statement Kan de instructie niet voorbereiden QPageSetupWidget Centimeters (cm) Centimeters (cm) Millimeters (mm) Millimeter (mm) Inches (in) Inches (in) Points (pt) Punten (pt) Form Formulier Paper Papier Page size: Papierformaat: Width: Breedte: Height: Hoogte: Paper source: Papierlade: Orientation Ligging Portrait Staand Landscape Liggend Reverse landscape Liggend omgekeerd Reverse portrait Staand omgekeerd Margins Marges top margin Bovenmarge left margin Linkermarge right margin Rechtermarge bottom margin ondermarge QPluginLoader Unknown error Onbekende fout The plugin was not loaded. De plugin was niet geladen. QPrintDialog locally connected Locaal verbonden Aliases: %1 Alias: %1 unknown onbekend Print To File ... Afdrukken naar een bestand ... File %1 is not writable. Please choose a different file name. Het bestand %1 kan niet worden beschreven. Kies een andere bestandsnaam. %1 already exists. Do you want to overwrite it? %1 bestaat al. Wilt u deze overschrijven? %1 is a directory. Please choose a different file name. %1 is een map. Kies een andere bestandsnaam. A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 A9 A9 B0 B0 B1 B1 B2 B2 B3 B3 B4 B4 B5 B5 B6 B6 B7 B7 B8 B8 B9 B9 B10 B10 C5E C5E DLE DLE Executive Executive Folio Folio Ledger Ledger Legal Legal Letter Letter Tabloid Tabloid US Common #10 Envelope US Common #10 Envelope Custom Aangepast &Options >> &Opties >> &Options << &Opties << Print to File (PDF) Afdrukken naar een bestand (PDF) Print to File (Postscript) Afdrukken naar een bestand (Postscript) Local file Locaal bestand Write %1 file Schrijf %1 bestand &Print &Printen QPrintPreviewDialog Print Preview Print voorbeeld Next page Volgende pagina Previous page Vorige pagina First page Eerste pagina Last page Laatste pagina Fit width Breedte aanpassen Fit page Pagina aanpassen Zoom in Inzoomen Zoom out Uitzoomen Portrait Staand Landscape Liggend Show single page Geeft een enkele pagina weer Show facing pages Geef gespiegelde pagina's weer Show overview of all pages Geef een overzicht met alle pagina's Print Print Page setup Pagina instelling Close Sluiten Page Setup Pagina instelling QPrintPropertiesWidget Form Formulier Page Pagina Advanced Geavanceerd QPrintSettingsOutput Form of Vorm Formulier Copies Kopieën Print range Print bereik Print all Alles printen Pages from Vanaf pagina to tot Selection Selectie Output Settings Uitvoer instellingen Copies: Kopieën: Collate Sorteren Reverse Omgedraaid Options Opties Color Mode Kleur modus Color Kleur Grayscale Grijswaarden Duplex Printing Dubbelzijdig printen None Geen Long side Lange zijde Short side Korte zijde QPrintWidget Form Formulier Printer Printer &Name: &Naam: P&roperties &Eigenschappen Location: Locatie: Preview Voorbeeld Type: Type: Output &file: Uitvoer&bestand: ... ... QProgressDialog Cancel Annuleren QPushButton Open Openen QRadioButton Check Controleer QRegExp no error occurred Geen fout opgetreden disabled feature used Gedeactiveerde optie gebruikt bad char class syntax Verkeerd teken in zinsbouw klasse bad lookahead syntax Verkeerde zinsbouw voor vooruitkijken bad repetition syntax Verkeerde zinsbouw herhalingen invalid octal value Ongeldige octale waarde missing left delim Mist linker begrenzing unexpected end Onverwacht einde met internal limit Interne limiet bereikt QSQLite2Driver Error to open database Kan de database niet openen Unable to begin transaction Kan de transactie niet beginnen Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback Transaction Kan de transactie niet terugdraaien QSQLite2Result Unable to fetch results Kan het resultaat niet ophalen Unable to execute statement Kan de instructie niet uitvoeren QSQLiteDriver Error opening database Kan de database niet openen Error closing database Kan de database niet sluiten Unable to begin transaction Kan niet beginnen met de transactie Unable to commit transaction Kan de transactie niet bevestigen Unable to rollback transaction Kan de transactie niet terugdraaien QSQLiteResult Unable to fetch row Kan de rij niet ophalen Unable to execute statement Kan de instructie niet uitvoeren Unable to reset statement Kan de opdracht niet terugzetten Unable to bind parameters Kan geen parameters binden Parameter count mismatch Het aantal parameters klopt niet No query Geen zoekopdracht QScrollBar Scroll here Hier scrollen Left edge Linker rand Top boven Right edge Rechter rand Bottom Onder Page left Een pagina naar links Page up Een pagina omhoog Page right Een pagina naar rechts Page down Een pagina naar beneden Scroll left Naar links scrollen Scroll up Naar boven scrollen Scroll right Naar rechts scrollen Scroll down Naar onder scrollen Line up Rangschikken Position Positie Line down Lijn onder?? QSharedMemory %1: create size is less then 0 %1: aanmaakgrote is kleiner dan 0 %1: unable to lock %1: kan niet sluiten %1: unable to unlock %1: kan niet openen %1: permission denied %1: geen toestemming %1: already exists %1: bestaat al %1: doesn't exists %1: bestaat niet %1: out of resources %1: geen hulpbronnen meer %1: unknown error %2 %1: onbekende fout %2 %1: key is empty %1: sleutel is leeg %1: unix key file doesn't exists %1: het unix sleutelbestand bestaat niet %1: ftok failed %1: ftok aanroep mislukt %1: unable to make key %1: kan geen sleutel aanmaken %1: system-imposed size restrictions %1: door systeem afgedwongen limiet op de omvang %1: not attached %1: niet gekoppeld %1: unable to set key on lock %1: kan geen sleutel op het slot zetten QShortcut Space Spatie Esc Esc Tab Tab Backtab Tab terug Backspace Backspace Return Return Enter Enter Ins Ins Del Del Pause Pause Print Print SysReq SysReq Home Home End End Left Links Up Omhoog Right Rechts Down Naar beneden PgUp PgUp PgDown PgDown CapsLock CapsLock NumLock NumLock ScrollLock ScrollLock Menu Menu Help Help Back Terug Forward Vooruit Stop Stoppen Refresh Verversen Volume Down Volume <- Volume Mute Volume uit Volume Up Volume -> Bass Boost Bass boost Bass Up Bass -> Bass Down Bass <- Treble Up toon hoogte -> Treble Down toon hoogte <- Media Play Afspelen Media Stop Stoppen Media Previous Vorige Media Next Volgende Media Record Opnemen Favorites Favorieten Search Zoeken Standby Stand-by Open URL Open URL Launch Mail Start mail Launch Media Start media speler Launch (0) Start (0) Launch (1) Start (1) Launch (2) Start (2) Launch (3) Start (3) Launch (4) Start (4) Launch (5) Start (5) Launch (6) Start (6) Launch (7) Start (7) Launch (8) Start (8) Launch (9) Start (9) Launch (A) Start (A) Launch (B) Start (B) Launch (C) Start (C) Launch (D) Start (D) Launch (E) Start (E) Launch (F) Start (F) Print Screen Druk het scherm af Page Up Page Up Page Down Page Down Caps Lock Caps Lock Num Lock Num Lock Number Lock Number Lock Scroll Lock Scroll Lock Insert Insert Delete Delete Escape Escape System Request System Request Select selecteren Yes Ja No Nee Context1 Context1 Context2 Context2 Context3 Context3 Context4 Kontext4 Call Aanroep Hangup Ophangen Flip Omdraaien Ctrl Ctrl Shift Shift Alt Alt Meta Meta + + F%1 F%1 Home Page Startpagina QSlider Page left Een pagina naar links Page up Een pagina omhoog Position Positie Page right Een pagina naar rechts Page down Een pagina naar beneden QSocks5SocketEngine Socks5 timeout error connecting to socks server Socks5 tijdslimiet verlopen tijdens verdinging zoeken met de socks server Network operation timed out Tijdslimiet verlopen bij de netwerk operatie QSpinBox More Meer Less Minder QSql Delete Verwijderen Delete this record? Dit record verwijderen? Yes Ja No Nee Insert Invoegen Update Bijwerken Save edits? Wijzigingen opslaan? Cancel Annuleren Confirm Bevestigen Cancel your edits? Wijzigingen annuleren? QSslSocket Unable to write data: %1 Kan de gegevens niet wegschrijven: %1 Error while reading: %1 Fout bij het lezen van: %1 Error during SSL handshake: %1 Fout tijdens de SSL uitwisseling: %1 Error creating SSL context (%1) Fout bij het aanmaken van de SSL context (%1) Invalid or empty cipher list (%1) Ongeldige of lege sleutellijst (%1) Error creating SSL session, %1 Fout bij het aanmaken van de SSL sessie, %1 Error creating SSL session: %1 Fout bij het aanmaken van de SSL sessie: %1 Cannot provide a certificate with no key, %1 Kan geen certificaat leveren zonder sleutel, %1 Error loading local certificate, %1 Fout bij het laden van het locale certificaat, %1 Error loading private key, %1 Fout bij het laden van de prive sleutel, %1 Private key does not certificate public key, %1 Prive sleutel certificeerd geen publieke sleutel, %1 QTDSDriver Unable to open connection Kan de verbinding niet openen ' Unable to use database Kan de database niet gebruiken QTabBar Scroll Left Naar links scrollen Scroll Right Naar rechts scrollen QTextControl &Undo &Ongedaan maken &Redo Op&nieuw Cu&t &Knippen &Copy &Kopiëren Copy &Link Location Kopiëer &link en locatie &Paste &Plakken Delete Verwijderen Select All Alles selecteren QToolButton Press Druk op Open Openen QUdpSocket This platform does not support IPv6 Dit platform ondersteund geen IPv6 QUndoGroup Undo Ongedaan maken Redo Opnieuw QUndoModel <empty> <leeg> QUndoStack Undo Ongedaan maken Redo Opnieuw QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Links-naar-rechts markering RLM Right-to-left mark RLM Rechts-naar-links markering ZWJ Zero width joiner nog vertalen ZWJ Koppelaar zonder breedte ZWNJ Zero width non-joiner nog vertalen ZWNJ Niet-koppelaar zonder breedte ZWSP Zero width space nog vertalen ZWSP Spatie zonder breedte LRE Start of left-to-right embedding LRE Start van links-naar-rechts imbedding RLE Start of right-to-left embedding RLE Start van rechts-naar-links imbedding LRO Start of left-to-right override LRO Start van links-naar-rechts tenietdoen RLO Start of right-to-left override RLO Start van rechts-naar-links tenietdoen PDF Pop directional formatting nog vertalen PDF Pop richtingsformattering Insert Unicode control character Voeg een unicode controle teken toe QWebFrame Request cancelled Verzoek geannuleerd Request blocked verzoek geblokkeerd Cannot show URL Der URL kann nicht angezeigt werden Frame load interruped by policy change Laden van het frame onderbroken door een wijziging in het beleid Cannot show mimetype Kan het mime type niet weergeven File does not exist Bestand bestaat niet QWebPage Submit default label for Submit buttons in forms on web pages Voorleggen Submit Submit (input element) alt text for <input> elements with no alt, title, or value Voorleggen Reset default label for Reset buttons in forms on web pages Terugzetten Choose File title for file button used in HTML forms Kies bestand No file selected text to display in file button used in HTML forms when no file is selected Geen bestand geselecteerd Open in New Window Open in New Window context menu item Openen in een nieuw venster Save Link... Download Linked File context menu item Link opslaan... Copy Link Copy Link context menu item Kopiëer link Open Image Open Image in New Window context menu item Plaatje openen Save Image Download Image context menu item Plaatje opslaan Copy Image Copy Link context menu item Kopiëer plaatje Open Frame Open Frame in New Window context menu item Frame openen Copy Copy context menu item Kopiëren Go Back Back context menu item Ga terug Go Forward Forward context menu item Ga vooruit Stop Stop context menu item Stop Reload Reload context menu item Opnieuw laden Cut Cut context menu item Knippen Paste Paste context menu item Plakken No Guesses Found No Guesses Found context menu item Geen schatting gevonden Ignore Ignore Spelling context menu item Negeren Add To Dictionary Learn Spelling context menu item Aan de map toevoegen Search The Web Search The Web context menu item Doorzoek het Web Look Up In Dictionary Look Up in Dictionary context menu item In het woordenboek opzoeken Open Link Open Link context menu item Link openen Ignore Ignore Grammar context menu item Negeren Spelling Spelling and Grammar context sub-menu item Spelling Show Spelling and Grammar menu item title Geef spelling en gramatica weer Hide Spelling and Grammar menu item title Verberg spelling en gramatica Check Spelling Check spelling context menu item Controleer spelling Check Spelling While Typing Check spelling while typing context menu item Controleer spelling tijdens het typen Check Grammar With Spelling Check grammar with spelling context menu item Controleer gramatica met de spelling Fonts Font context sub-menu item Lettertypen Bold Bold context menu item Vet Italic Italic context menu item Cursief Underline Underline context menu item Onderstrepen Outline Outline context menu item Outline Direction Writing direction context sub-menu item Richting Default Default writing direction context menu item Standaard LTR Left to Right context menu item Van links naar rechts RTL Right to Left context menu item Van rechts naar links Inspect Inspect Element context menu item Inspecteren No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Geen recente zoekvragen Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Recente zoekvragen Clear recent searches menu item in Recent Searches menu that empties menu's contents Recente zoekvragen opruimen Unknown Unknown filesize FTP directory listing item Onbekend Web Inspector - %2 Web Inspecteur - %2 %1 (%2x%3 pixels) Title string for images %1 (%2x%3 pixels) Bad HTTP request Ongeldig HTTP verzoek This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Deze index is te doorzoeken.Geef trefwoorden op: QWhatsThisAction What's This? Wat is dit? QWidget * * QWizard Cancel Annuleren Help Help < &Back < &Terug &Finish &Klaar &Help &Help Go Back Vorige Continue Doorgaan Commit Anwenden Done Klaar Quit Beenden &Next &Volgende &Next > &Volgende > QWorkspace &Restore &Terugzetten &Move &Verplaatsen &Size &Omvang Mi&nimize Mi&nimaliseren Ma&ximize Ma&ximaliseren &Close &Sluiten Stay on &Top Op de &Voorgrond blijven Minimize Minimaliseren Restore Down nog vertalen Restore Down Close Sluiten Sh&ade Sh&ade %1 - [%2] %1 - [%2] &Unshade &Unshade QXml no error occurred Geen fout opgetreden error triggered by consumer Fout door de consument veroorzaakt unexpected end of file Onverwachts einde van het bestand more than one document type definition Meerdere definities van het soort document error occurred while parsing element Fout bij het ontleden van het element tag mismatch Verkeerde combinatie met labels error occurred while parsing content Fout opgetreden bij het ontleden van de inhoud unexpected character Onverwacht teken invalid name for processing instruction Ongeldige naam voor procesinstructie version expected while reading the XML declaration Versie verwacht bij het lezen een XML declaratie wrong value for standalone declaration Verkeerde waarde voor een op zichzelf staande declaratie error occurred while parsing document type definition fout opgetreden bij het ontleden van het document type definitie letter is expected Een letter wordt verwacht error occurred while parsing comment Fout opgetreden bij het ontleden van het commentaar error occurred while parsing reference Fout bij het ontleden van de referentie internal general entity reference not allowed in DTD in een DTD is geen interne algemene entity referentie toegestaan external parsed general entity reference not allowed in attribute value in een attribuut waarde is geen externe entiteit referentie toegestaan external parsed general entity reference not allowed in DTD in een DTD is geen externe algemene entity referentie toegestaan unparsed entity reference in wrong context Niet ontlede entiteit referentie in de verkeerde context recursive entities recursive entiteit error in the text declaration of an external entity Fout in de tekst declaratie van een externe entiteit encoding declaration or standalone declaration expected while reading the XML declaration Bij het lezen van de XML declaratie wordt een coderende declaratie of op zichzelf staande declaratie verwacht standalone declaration expected while reading the XML declaration op zichzelf staande declaratie verwacht bij het lezen een XML declaratie QXmlStream Extra content at end of document. Extra inhoud aan het einde van het document. Invalid entity value. Ongeldige waarde entiteit. Invalid XML character. Ongeldig XML teken. Sequence ']]>' not allowed in content. De volgorde ']]>' is niet toegestaan in de inhoud. Namespace prefix '%1' not declared De naamruimte voorvoegsel '%1' is niet declareerd Attribute redefined. Attribuut opnieuw gedefinieerd. Unexpected character '%1' in public id literal. Literal? '%1' wordt niet verwacht in een publieke id literal. Invalid XML version string. Ongeldige XML versie opgave. Unsupported XML version. Deze XML versie wordt niet ondersteund. %1 is an invalid encoding name. %1 is een ongeldige coderingsnaam. Encoding %1 is unsupported Coderen van %1 wordt niet ondersteund Standalone accepts only yes or no. Op zichzelf staand accepteerd alleen ja of nee. Invalid attribute in XML declaration. Ongeldig attribuut in de XML declaratie. Premature end of document. Voortijdig einde van het document. Invalid document. Ongeldig document. Expected Verwacht , but got ' , maar kreeg ' Unexpected ' Onverwacht ' Expected character data. Verwacht een teken als gegeven. Recursive entity detected. Een recursive entiteit ontdekt. Start tag expected. Start tag verwacht. XML declaration not at start of document. De XML declaratie staat niet aan heb begin van het document. NDATA in parameter entity declaration. NDATA in de parameter entiteit declaratie. %1 is an invalid processing instruction name. %1 is ongeldige naam voor een proces instructie. Invalid processing instruction name. Ongeldige naam voor een proces instructie. Illegal namespace declaration. Ongeldige naamruimte declaratie. Invalid XML name. Ongeldige XML naam. Opening and ending tag mismatch. Opening en afsluit tag komen niet overeen. Reference to unparsed entity '%1'. Referentie naar niet ontlede entiteit '%1'. Entity '%1' not declared. Entieit '%1' is niet gedeclareerd. Reference to external entity '%1' in attribute value. Verwijzing naar externe entiteit '%1' in de attribuut waarde. Invalid character reference. Ongeldige verwijzing naar een teken. Encountered incorrectly encoded content. Niet correct gecodeerde inhoud ontdekt. The standalone pseudo attribute must appear after the encoding. Het op zichzelf staande pseudo attribuut moet na de codering volgen. %1 is an invalid PUBLIC identifier. %1 is een ongeldige PUBLIEKE id. QtXmlPatterns At least one component must be present. Tenminste één component moet aanwezig zijn. No operand in an integer division, %1, can be %2. Geen operand bij deling %1, van gehele getallen, kan een %2 zijin. %1 is not a valid value of type %2. %1 is een ongeldige waarde van het soort %2. When casting to %1 from %2, the source value cannot be %3. Bij het overgaan van %1 uit %2 kan %3 geen brond zijn. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Een effectieve boolsche waarde kan niet worden berekend voor een serrie die meer dan twee zeer kleine waarden bevat. Operator %1 is not available between atomic values of type %2 and %3. Operator %1 is niet beschikbaar voor zeer kleine waarden van het soort %2 en %3. It is not possible to cast from %1 to %2. Het is niet mogelijk om %1 over te laten gaan vanuit %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. Overgaan naar %1 is niet mogelijk omdat dit een abstracte soort is en kan daarom nooit geconcretiseerd worden. It's not possible to cast the value %1 of type %2 to %3 Het is niet mogelijk om de waarde %1 van soort %2 over te laten gaan naar %3 Failure when casting from %1 to %2: %3 De overgang van %1 naar %2 is mislukt: %3 No comparisons can be done involving the type %1. Met soort %1 zijn geen vergelijkingen uit te voeren. The data of a processing instruction cannot contain the string %1 De gegevens van een proces instructie kunnen niet de reeks %1 bevatten %1 is an invalid %2 %1 is ongeldig %2 %1 is not a valid XML 1.0 character. %1 is een ongeldig XML 1.0 teken. The first argument to %1 cannot be of type %2. Het eerste argument van %1 kan niet van het soort %2 zijn. %1 was called. %1 was aangeroepen. In the replacement string, %1 must be followed by at least one digit when not escaped. In de vervangende reeks moet %1 gevolgd worden door tenminste één cijfer als deze niet door een escape teken wordt gedekt. In the replacement string, %1 can only be used to escape itself or %2, not %3 In de vervangende reeks kan %1 alleen worden gebruikt om zichzelf in te dekken of %2 maar niet %3 %1 matches newline characters %1 komt overeen met tekens voor nieuwe regels Matches are case insensitive Overeenkomsten zijn niet hoofdletter gevoelig %1 is an invalid regular expression pattern: %2 %1 is een ongeldige reguliere expressie patroon: %2 It will not be possible to retrieve %1. het is niet mogelijk om %1 terug te halen. The default collection is undefined De standaard verzameling is niet gedefinieerd %1 cannot be retrieved %1 kan niet terug gehaald worden The item %1 did not match the required type %2. Het item %1 komt niet overeen met het vereiste soort %2. %1 is an unknown schema type. %1 is een onbekend soort schema. Only one %1 declaration can occur in the query prolog. Maar één %1 declaratie kan voorkomen in de inleiding van een zoekvraag. The initialization of variable %1 depends on itself De initialisering van variabele %1 hangt van zichzelf af The variable %1 is unused De variabele %1 wordt niet gebruikt Version %1 is not supported. The supported XQuery version is 1.0. Versie %1 wordt niet ondersteund. De ondersteunde Xquery versie is 1.0. No function with signature %1 is available Geen functie beschikbaar met handtekening %1 It is not possible to redeclare prefix %1. Het is niet mogelijk om voorvoegsel %1 opnieuw te declareren. Prefix %1 is already declared in the prolog. Voorvoegsel %1 is al gedeclareerd in de inleiding. The name of an option must have a prefix. There is no default namespace for options. De naam van een optie moet een voorvoegsel hebben. Er bestaat geen standaard naamruimte voor opties. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. De import kenmerken, voor het schema, wordt niet ondersteund en daarom kunnen declaraties %1 niet voorkomen. The target namespace of a %1 cannot be empty. De doel naamruimte van een %1 kan niet leeg zijn. The module import feature is not supported Het kenmerk "import module" wordt niet ondersteund A variable by name %1 has already been declared in the prolog. Een variabele met de naam %1 is al gedeclareerd in de inleiding. No value is available for the external variable by name %1. Voor de externe variabele met de naam %1 is geen waarde beschikbaar. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 De naamruimte van een zelf gedefinieerde functie, in een biblitheek module, moet overeenkomen met de module naamruimte. Met andere woorden: het moet %1 zijn in plaats van %2 A function already exists with the signature %1. Een functie met handtekening %1 bestaat al. No external functions are supported. All supported functions can be used directly, without first declaring them as external Externe funkties worden niet ondersteund. Alle ondersteunde functies kunnen direct worden gebruikt zonder deze als extern te declareren An argument by name %1 has already been declared. Every argument name must be unique. Een argument met de naam %1 is al gedeclareerd. Elke naam van een argument moet uniek zijn. The %1-axis is unsupported in XQuery De %1 as wordt niet ondersteund in een XQuery No variable by name %1 exists Een variabele met naam %1 betaat niet No function by name %1 is available. Een functie met naam %1 is niet beschikbaar. The namespace URI cannot be the empty string when binding to a prefix, %1. De naamruimte URI kan niet een lege reeks zijn als deze gebonden wordt aan voorvoegsel %1. %1 is an invalid namespace URI. %1 is een ongeldige naamruimte URI. It is not possible to bind to the prefix %1 Het is niet mogelijk om voorvoegsel %1 opnieuw te binden Two namespace declaration attributes have the same name: %1. Twee attributen voor een naamruimte declaratie hebben dezelfde naam: %1. The namespace URI must be a constant and cannot use enclosed expressions. Een naamruimte URI moet een constante zijn en kan geen ingesloten expressie zijn. An attribute by name %1 has already appeared on this element. Een attribuut met de naam %1 is al voorgekomen op dit element. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 is geen geldige naam voor een proces instructie. Daarom zal deze naam test nooit werken. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 valt niet in het bereik van de attribuut declaraties. Let op: het kenmerk "schema import" wordt niet ondersteund. empty leeg zero or one nul of één exactly one precies één one or more één of meer zero or more nul of meer The focus is undefined. De focus in niet gedefinieerd. An attribute by name %1 has already been created. Een attribuut met de naam %1 is al aangemaakt. Network timeout. Tijdslimiet van het netwerk is verlopen. Element %1 can't be serialized because it appears outside the document element. Element %1 kan niet geserialiseerd worden omdat buiten het document element voorkomt. Year %1 is invalid because it begins with %2. Jaar %1 is ongeldig omdat het begint met %2. Day %1 is outside the range %2..%3. Dag %1 valt buiten de reeks %2..%3. Month %1 is outside the range %2..%3. De maand %1 valt buiten de reeks %2..%3. Overflow: Can't represent date %1. Kan datum %1 niet weergeven (loopt over). Day %1 is invalid for month %2. Dag %1 is ongeldig voor maand %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; 24 uurs tijd:%1:%2.%3 zijn ongeldig. Het uur is 24 maar de minuten, seconden en milliseconden zijn niet allemaal 0. Time %1:%2:%3.%4 is invalid. Tijd %1:%2:%3.%4 is ongeldig. Overflow: Date can't be represented. Kan de datum niet weergeven (loopt over). At least one time component must appear after the %1-delimiter. Tenminste één tijd component moet voorkomen na de %1 begrenzer. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Delen van een waarde van het soort %1 door %2 (geen getal) is niet toegestaan. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Delen van een waarde van het soort %1 door %2 of %3 (plus of min nul) is niet toegestaan. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Vermenigvuldigen van een waarde van het soort %1 met %2 of %3 (plus of min oneindig) is niet toegestaan. A value of type %1 cannot have an Effective Boolean Value. En waarde van het soort %1 kan geen effectieve booleanse waarde hebben. Value %1 of type %2 exceeds maximum (%3). Waarde %1 van het soort %2 overschreidt het maximum (%3). Value %1 of type %2 is below minimum (%3). Waarde %1 van het soort %2 overschreidt het minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. Een waarde van het soort %1 moet een even aantal getallen bevatten. De waarde %2 heeft dat niet. %1 is not valid as a value of type %2. %1 is niet geldig als een waarde van het soort %2. Operator %1 cannot be used on type %2. Operator %1 kan niet worden gebruikt bij soort %2. Operator %1 cannot be used on atomic values of type %2 and %3. Operator %1 kan niet gebruikt worden op zeer kleine waarden van de soorent %2 en %3. The namespace URI in the name for a computed attribute cannot be %1. De naamruimte URI inde naam voor berekende attribuut kan geen %1 zijn. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. De naam voor een berekend attribuut kan niet de naamruimte URI %1 hebben met de locale naam %2. Type error in cast, expected %1, received %2. Foute in het soort bij de overgang, verwacht %1 maar %2 ontvangen. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. Bij het overgaan van %1 of soorten daaraan afgeleidt, moet de bronwaarde van hetzelfde soort zijn of moet het een literal reeks zijn. Soort %2 is niet toegestaan. A comment cannot contain %1 Een commentaar kan geen %1 bevatten A comment cannot end with a %1. Een commentaar kan niet op %1 eindigen. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. Een attribuut node kan geen kind zijn van een document node. Daarom is het attribuut %1 niet op zijn plaats. A library module cannot be evaluated directly. It must be imported from a main module. Een bibliotheek module kan niet direct geëvalueerd worden. Deze moet via een hoofd module geïmporteerd worden. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. Een waarde van het soort %1 kan geen gezegde zijn. Een gezegde moet of een numerieke soort of een effectieve booleanse waarde soort hebben. A positional predicate must evaluate to a single numeric value. Een positioneel gezegde moet evalueren naar een enkele numerieke waarde. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 is geen geldige doelnaam in een proces instructie. Deze moet %2 waarde zijn, bijvoorbeeld %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. De laatste stap in een pad moet of nodes of zeer kleine waarden bevatten. En combinatie van de twee kan niet. No namespace binding exists for the prefix %1 Een naamruimte binding bestaat niet voor het voorvoegsel %1 No namespace binding exists for the prefix %1 in %2 Een naamruimte binding bestaat niet voor het voorvoegsel %1 in %2 The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. Het eerste argument van %1 kan niet van het soort %2 zijn. Het moet numeriek, xs:jaarMaandDuur of xs:dagTijdDuur, zijn. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Het eerste argument van %1 kan niet van het soort %2 zijn. Het moet van het soort %3, %4 of %5 zijn. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Het tweede argument van %1 kan niet van het soort %2 zijn. Het moet van het soort %3, %4 of %5 zijn. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. Hebben beide waarden zone uitlopers, dan moeten ze dezelfde zone uitloper hebben. %1 en %2 zijn niet hetzelfde. %1 must be followed by %2 or %3, not at the end of the replacement string. %1 moet gevolgd worden door %2 of %3; maar niet aan het einde van een vervangende reeks. %1 and %2 match the start and end of a line. %1 en %2 komen aan het begin en het einde van de regel overeen. Whitespace characters are removed, except when they appear in character classes Witruimte tekens zijn verplaatst, behalve wanneer deze voorkomen in teken klassen %1 is an invalid flag for regular expressions. Valid flags are: %1 is een ongeldige vlag voor een reguliere expressie. Geldige vlaggen zijn: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Is het eerste argument lege volgorde of een reeks met lengte nul (geen naamruimte), dan kan geen voorvoegsel worden gespecificeerd. Voorvoegsel %1 is gespecificeerd. The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). De normalisatie vorm %1 wordt niet ondersteund. De ondersteunde vormen zijn %2, %3, %4, %5 ,en "geen", dus de lege reeks (geen normalisatie). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Een zone uitloper moet binnen de reeks %1..%2 (inklusief) vallen. %3 valt buiten het bereik. Required cardinality is %1; got cardinality %2. Het vereiste hoofdtelwoord is %1 maar kreeg %2. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. De codering %1 is ongeldig. Deze mag alleen latijnse tekens bevatten, geen witruimte en moet overeenkomen met de reguliere expressie %2. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Alleen voorvoegsel %1 kan gedeclareerd worden om te binden met naamruimte %2. Standaard is deze al gebonden met voorvoegsel %1. The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. De naamruimte %1 is gereserveerd. Daarom kunnen eigen gedefineerde functies niet worden gebruikt. Probeer het voorgedefinieerde voorvoegsel %2) deze bestaat voor dit soort gevallen. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. De naam van de variabele, gebonden in een "for" expressie moet verschillen van de positionele variabele. Daarom botsen de twee variabelen genaamd %1. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. Het kenmerk "schema validatie" wordt niet ondersteund. Daarom mogen %1 expressies niet worden gebruikt. None of the pragma expressions are supported. Therefore, a fallback expression must be present Geen van de pragmatische expressies worden ondersteund. Daarom moet een terugval expressie aanwezig zijn %1 is not a valid numeric literal. %1 is geen geldige numerike literal. Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Naamruimte %1 kan alleen gebonden worden aan %2 (en is in elk geval voorgedeclareerd). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Voorvoegsel %1 kan alleen gebonden worden aan %2 (en is in elk geval voorgedeclareerd). A direct element constructor is not well-formed. %1 is ended with %2. Een directe element constructor is niet goed gevormeerd. %1 eindigt met %2. The name %1 does not refer to any schema type. De naam %1 heeft verwijst niet naar enig soort schema. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is een complex soort. Overgaan naar een complex soort is niet mogelijk. Hoewel overgaan van zeer kleine soorten zoals %2 werkt. %1 is not an atomic type. Casting is only possible to atomic types. %1 is geen zeer kleine soort. Overgaan is alleen mogeijk naar zeer kleine soorten. The name of an extension expression must be in a namespace. De naam van een aanvullende expressie moet in de naamruimte aanwezig zijn. Required type is %1, but %2 was found. Het vereiste soort is %1 maar %2 is gevonden. Promoting %1 to %2 may cause loss of precision. Het opwaarderen van %1 maar %2 kan verlies van de nauwkeurigheid veroorzaken. It's not possible to add attributes after any other kind of node. Het is niet mogelijk om attributen toe te voegen na enig ander soort node. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Alleen de Unicode codepunt samenwerking wordt ondersteund (%1). %2 wordt niet ondersteund. An %1-attribute with value %2 has already been declared. Een %1 attribuut met de waarde %2 is al gedeclareerd. An %1-attribute must have a valid %2 as value, which %3 isn't. Een %1 attribuut moest een geldige %2 als waarde hebben en dat is niet %3. The first operand in an integer division, %1, cannot be infinity (%2). De eerste operand in een deling met gehele getallen, %1, kan niet oneindig zijn (%2). The second operand in a division, %1, cannot be zero (%2). De tweede operand in een deling, %1 kan niet null zijn (%2). Integer division (%1) by zero (%2) is undefined. De deling met gehele getallen (%1) door nul (%2) is niet gedefinieerd. Division (%1) by zero (%2) is undefined. De deling (%1) door nul (%2) is niet gedefinieerd. Modulus division (%1) by zero (%2) is undefined. De modulo deling (%1) door nul (%2) is niet gedefinieerd. No casting is possible with %1 as the target type. Een overgang is niet mogelijk met %1 als doel soort. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. De doelnaam, in een proces instructie, kan geen %1 zijn, in enige combinatie van hoofd- of kleine letters. Daarom is %2 ongeldig. %1 takes at most %n argument(s). %2 is therefore invalid. %1 heeft ten hoogste %n argument(en). %2 is daarom ongeldig. %1 heeft ten hoogste %n argument(en). %2 is daarom ongeldig. %1 requires at least %n argument(s). %2 is therefore invalid. %1 vereist tenminste %n argument(en) %2 is daarom ongeldig. %1 vereist tenminste %n argument(en) %2 is daarom ongeldig. The root node of the second argument to function %1 must be a document node. %2 is not a document node. De wortel node van het tweede argument voor functie %1 moet een document node zijn. %2 is geen document node. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) De naamruimte for een eige gedefinieerde functie kan niet leeg zijn (probeer een voorgedefinieerd voorvoegsel %1 die voor dit soort zaken bestaat) A default namespace declaration must occur before function, variable, and option declarations. Een standaard naamruimte declaratie moet bestaan voor een functie, variabele en optie declaraties. Namespace declarations must occur before function, variable, and option declarations. Naamruimte declaaraties moet voorkomen voor functie, variabele en optie declaraties. Module imports must occur before function, variable, and option declarations. Module import moet voorkomen voor functie, variabele en optie declaraties. %1 is not a whole number of minutes. %1 is geen geheel getal voor minuten. Attribute %1 can't be serialized because it appears at the top level. Attribuut %1 kan niet geserialiseerd worden omdat deze op het hoogste niveau voortkomt. VolumeSlider Muted Gedemp Volume: %1% Volume: %1% WebCore::PlatformScrollbar Scroll here Hier scrollen Left edge Linker rand Top boven Right edge Rechter rand Bottom Onder Page left Een pagina naar links Page up Een pagina omhoog Page right Een pagina naar rechts Page down Een pagina naar beneden Scroll left Naar links scrollen Scroll up Naar boven scrollen Scroll right Naar rechts scrollen Scroll down Naar onder scrollen keepassx-0.4.3/src/translations/keepassx-de_DE.ts0000664000175000017500000036422511342454754021031 0ustar felixfelix AboutDialog Team Team Developer, Project Admin Entwickler und Projektadministrator Web Designer Web-Designer Thanks To Dank an Patches for better MacOS X support Verbesserung der MacOS-X-Unterstützung Main Application Icon Hauptanwendungssymbol Various fixes and improvements Verschiedene Fehlerkorrekturen und Erweiterungen Error Fehler File '%1' could not be found. Die Datei '%1' kann nicht gefunden werden. Make sure that the program is installed correctly. Stellen Sie sicher, dass das Programm korrekt installiert ist. OK OK Information on how to translate KeePassX can be found under: Informationen wie Sie KeePassX übersetzen können, finden Sie unter: Developer Entwickler Current Translation Aktuelle Übersetzung None Please replace 'None' with the language of your translation Deutsch Author Autor AboutDlg About Über License Lizenz Translation Übersetzung Credits Mitwirkende http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com AppName AppFunc Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX-Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Lesezeichen hinzufügen Title: Titel: File: Datei: Browse... Durchsuchen ... Edit Bookmark Lesezeichen bearbeiten KeePass Databases (*.kdb) KeePass-Datenbanken (*.kdb) All Files (*) Alle Dateien (*) AutoTypeDlg KeePassX - Auto-Type KeePassX Auto-Type Click on an entry to auto-type it. Klicken Sie auf einen Eintrag, um diesen mit Auto-Type auszuführen. Group Gruppe Title Titel Username Benutzername Auto-Type Auto-Type CDbSettingsDlg AES(Rijndael): 256 Bit (default) AES (Rijndael): 256 Bit (Standard) Twofish: 256 Bit Twofish: 256 Bit Warning Warnung Please determine the number of encryption rounds. Bitte geben Sie die Zahl der Verschlüsselungsrunden an. OK OK Error Fehler '%1' is not valid integer value. '%1' ist kein gültiger Ganzzahlwert. The number of encryption rounds have to be greater than 0. Die Anzahl an Verschlüsselungsrunden muss größer als Null sein. Settings Einstellungen CEditEntryDlg Warning Warnung Password and password repetition are not equal. Please check your input. Das Passwort und die Passwortwiederholung stimmen nicht überein. Bitte überprüfen Sie Ihre Eingabe. OK OK Save Attachment... Anhang speichern... Yes Ja Error Fehler Error while writing the file. Beim Schreiben der Datei ist ein Fehler aufgetreten. Delete Attachment? Anhang löschen? You are about to delete the attachment of this entry. Are you sure? Sind Sie sicher, dass Sie den Anhang dieses Eintrags löschen wollen? No, Cancel Nein, abbrechen Edit Entry Eintrag bearbeiten Could not open file. Die Datei kann nicht geöffnet werden. %1 Bit %1 Bit Add Attachment... Anhang hinzufügen... The chosen entry has no attachment or it is empty. Der ausgewählte Eintrag hat keinen Anhang oder der Anhang ist leer. Today Heute 1 Week 1 Woche 2 Weeks 2 Wochen 3 Weeks 3 Wochen 1 Month 1 Monat 3 Months 3 Monate 6 Months 6 Monate 1 Year 1 Jahr Calendar... Kalender... [Untitled Entry] [Neuer Eintrag] New Entry Neuer Eintrag CGenPwDialog Password Generator Passwortgenerator %1 Bits %1 Bits CSelectIconDlg Delete Löschen Add Icons... Symbole hinzufügen... Images (%1) Symbole (%1) Error Fehler Replace... Ersetzen ... An error occured while loading the icon. Beim Laden des Symbols ist ein Fehler aufgetreten. Add Custom Icon Symbole hinzufügen Pick Auswählen %1: File could not be loaded. Die Datei '%1' kann nicht geöffnet werden. An error occured while loading the icon(s): Beim Laden der Symbole ist ein Fehler aufgetreten: CSettingsDlg Settings Einstellungen Select a directory... Wählen Sie ein Verzeichnis aus... Select an executable... Ausführbare Datei auswählen... System Language Systemsprache CalendarDialog Calendar Kalender CollectEntropyDlg Entropy Collection Entropiesammlung Random Number Generator Zufallszahlengenerator Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Entropie wird gesammelt ... Bitte bewegen Sie die Maus und/oder drücken Sie einige Tasten bis genügend Entropie gesammelt wurde, damit der Zufallszahlengenerator gefüllt werden kann. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">(new line)p, li { white-space: pre-wrap; }(new line)</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">(new line)<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Zufallsdatenfeld erfolgreich gefüllt!</span></p></body></html> CustomizeDetailViewDialog Group Gruppe Title Titel Username Benutzername Password Passwort Url URL Comment Kommentar Attachment Name Anhangsdateiname Creation Date Erstellungsdatum Last Access Date Datum des letzten Zugriffs Last Modification Date Datum der letzten Änderung Expiration Date Ablaufdatum Time till Expiration Zeit bis zum Ablauf Dialog Dialog Rich Text Editor Rich-Text-Editor Bold Fett B B Italic Kursiv I I Underlined Unterstrichen U U Left-Aligned Linksbündig L L Centered Zentriert C C Right-Aligned Rechtsbündig R R Justified Blocksatz Text Color Textfarbe Font Size Schriftgröße 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Vorlagen T T HTML HTML Database Never Nie DatabaseSettingsDlg Database Settings Datenbankeinstellungen Encryption Verschlüsselung Algorithm: Algorithmus: Encryption Rounds: Verschlüsselungsrunden: Calculate rounds for a 1-second delay on this computer Runden für eine 1-sekündige Verzögerung auf diesem Computer berechnen DetailViewTemplate Group Gruppe Title Titel Username Benutzername Password Passwort URL URL Creation Erstellt am Last Access Letzter Zugriff Last Modification Letzte Änderung Expiration Ablauf Comment Kommentar EditEntryDialog Edit Entry Eintrag bearbeiten Username: Benutzername: Password Repet.: Passowort (Wdh.): Title: Titel: URL: URL: Repeat: Wdh.: Password: Passwort: Quality: Qualität: Comment: Kommentar: Expires: Läuft ab: Group: Gruppe: %1 %1 Icon: Symbol: Ge&n. Ge&n. Never Nie Attachment: Anhang: %1 Bit %1 Bit EditGroupDialog Group Properties Gruppen-Eigenschaften Title: Titel: Icon: Symbol: > > ExpiredEntriesDialog Expired Entries Abgelaufene Einträge Double click on an entry to jump to it. Klicken Sie doppelt auf einen Eintrag, um zu diesem zu springen. Group Guppe Title Titel Username Benutzername Expired Abgelaufen Expired Entries in the Database Abgelaufene Einträge in der Datenbank Export_KeePassX_Xml XML Files (*.xml) XML-Dateien (*.xml) All Files (*) alle Dateien (*) KeePassX XML File KeePassX XML-Datei Export_Txt All Files (*) Alle Dateien (*) Text Files (*.txt) Textdateien (*.txt) Text File Textdatei ExporterBase Export Failed Export fehlgeschlagen Export File... Datei exportieren... FileErrors No error occurred. Es ist kein Fehler aufgetreten. An error occurred while reading from the file. Es ist ein Fehler beim lesen der Datei aufgetreten. An error occurred while writing to the file. Es ist ein Fehler beim schreiben der Datei aufgetreten. A fatal error occurred. Ein schwerwiegender Fehler ist aufgetreten. An resource error occurred. Ein Resourcenfehler ist aufgetreten. The file could not be opened. Die Datei kann nicht geöffnet werden. The operation was aborted. Die Aktion ist abgebrochen worden. A timeout occurred. Eine Zeitüberschreitung ist aufgetreten. An unspecified error occurred. Ein unspezifizierter Fehler ist aufgetreten. The file could not be removed. Die Datei kannte nicht gelöscht werden. The file could not be renamed. Die Datei kann nicht umbenannt werden. The position in the file could not be changed. Die Position in der Datei kann nicht geändert werden. The file could not be resized. Die Größe der Datei kann nicht geändert werden. The file could not be accessed. Der Zugriff auf die Datei ist fehlgeschlagen. The file could not be copied. Die Datei kann nicht kopiert werden. GenPwDlg Password Generator Passwortgenerator Custom Speziell Use the following characters: Benutze folgende Zeichen: Generate Erzeugen New Password: Neues Passwort: Quality: Qualität: Options Optionen &Upper Letters &Großbuchstaben &Lower Letters &Kleinbuchstaben &Numbers &Zahlen &Special Characters &Sonderzeichen Use &only following characters: &Nur folgende Zeichen benutzen: Length: Länge: Use follo&wing character groups: &Folgende Zeichengruppen nutzen: Enable entropy collection Entropie-Sammlung aktivieren Collect only once per session Nur einmal pro Sitzung sammeln Random Zufall Use following character groups: Benutze folgende Zeichengruppen: &Underline &Unterstrich &White Spaces &Leerzeichen &Minus &Minus Exclude look-alike characters Ähnlich aussehende Zeichen ausschließen Ensure that password contains characters from every group Sicherstellen, dass das Passwort Zeichen von jeder Gruppe enthält Pronounceable Aussprechbar Lower Letters Kleinbuchstaben Upper Letters Großbuchstaben Numbers Nummern Special Characters Sonderzeichen HelpDlg Help Contents Handbuch Previous Page Vorherige Seite Next Page Nächste Seite First Page Erste Seite Import_KWalletXml XML Files (*.xml) XML-Dateien (*.xml) All Files (*) Alle Dateien (*) Import Failed Import fehlgeschlagen Invalid XML data (see stdout for details). Ungültige XML-Daten (siehe stdout für Details). Invalid XML file. Die Datei ist keine gültige XML-Datei. Document does not contain data. Die Datei enthält keine Daten. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePass-XML-Datei (*.xml) All Files (*) Alle Dateien (*) Import Failed Import fehlgeschlagen XML parsing error on line %1 column %2: %3 Es ist ein Fehler beim Verarbeiten der XML-Datei in der Zeile %1, Spalte %2 aufgetreten: %3 Parsing error: File is no valid KeePassX XML file. Verarbeitungsfehler: Die Datei ist keine gültige KeePassX XML-Datei. Import_PwManager PwManager Files (*.pwm) PwManager-Dateien (*.pwm) All Files (*) Alle Dateien (*) Import Failed Import fehlgeschlagen File is empty. Die Datei hat keinen Inhalt. File is no valid PwManager file. Die Datei ist keine gültige PwManager-Datei. Unsupported file version. Die Version der Datei wird nicht unterstützt. Unsupported hash algorithm. Der von der Datei verwendete Hash-Algorithmus wird nicht unterstützt. Unsupported encryption algorithm. Der von der Datei verwendete Verschlüsselungsalgorithmus wird nicht unterstützt. Compressed files are not supported yet. Komprimierte Dateien werden noch nicht unterstützt. Wrong password. Das eingegebene Passwort ist falsch. File is damaged (hash test failed). Die Datei ist beschädigt (der Hash-Test ist fehlgeschlagen). Invalid XML data (see stdout for details). Ungültige XML-Daten (siehe stdout für Details). ImporterBase Import File... Datei importieren... Import Failed Import fehlgeschlagen Kdb3Database Could not open file. Die Datei kann nicht geöffnet werden. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Unerwartete Dateigröße (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Falsche Signatur Unsupported File Version. Nicht unterstützte Dateiversion. Unknown Encryption Algorithm. Unbekannter bzw. nicht unterstüzter Verschlüsselungsalgorithmus. Unable to initialize the twofish algorithm. Der Twofish-Algorithmus kann nicht initialisiert werden. Unknown encryption algorithm. Unbekannter Verschlüsslungsalgorithmus. Decryption failed. The key is wrong or the file is damaged. Die Entschlüsselung ist fehlgeschlagen. Der Schlüssel ist falsch oder die Datei ist beschädigt. Hash test failed. The key is wrong or the file is damaged. Der Hash-Test ist fehlgeschlagen. Der Schlüssel ist falsch oder die Datei ist beschädigt. Invalid group tree. Ungültiger Gruppenbaum. Key file is empty. Die Schlüsseldatei hat keinen Inhalt. The database must contain at least one group. Die Datenbank muss mindestens eine Gruppe enthalten. Unexpected error: Offset is out of range. Unerwarteter Fehler: Offset ist auserhalb der Reichweite. Unable to initalize the twofish algorithm. Der Twofish-Algorithmus kann nicht initialisiert werden. The database has been opened read-only. Die Datenbank ist schreibgeschützt geöffnet worden. Kdb3Database::EntryHandle Bytes Bytes KiB KiB MiB MiB GiB GiB KeepassEntryView Title Titel Username Benutzername URL URL Password Passwort Comments Kommentar Expires Läuft ab Creation Erstellt am Last Change Modification -> Change Letzte Änderung Last Access Letzter Zugriff Attachment Anhang Delete? Einträge löschen? Group Gruppe Error Fehler At least one group must exist before adding an entry. Es muss mindestens eine Gruppe existieren, bevor ein Eintrag hinzugefügt werden kann. OK OK Are you sure you want to delete this entry? Sind Sie sicher, dass Sie diesen Eintrag löschen wollen? Are you sure you want to delete these %1 entries? Sind Sie sicher, dass Sie diese %1 Einträge löschen wollen? KeepassGroupView Search Results Suchergebnisse Delete? Gruppe löschen? Are you sure you want to delete this group, all its child groups and all their entries? Sind Sie sicher, dass Sie diese Gruppe mitsamt ihren Untergruppen und Einträgen löschen wollen? KeepassMainWindow Ctrl+O Strg+O Ctrl+S Strg+S Ctrl+G Strg+G Ctrl+C Strg+C Ctrl+B Strg+B Ctrl+U Strg+U Ctrl+Y Strg+Y Ctrl+E Strg+E Ctrl+D Strg+D Ctrl+K Strg+K Ctrl+F Strg+F Ctrl+M locked gesperrt Ctrl+W Strg+W Shift+Ctrl+S Umschalt+Strg+S Shift+Ctrl+F Umschalt+Strg+F Error Fehler Save modified file? Bearbeitete Datei speichern? Clone Entry Eintrag duplizieren Delete Entry Eintrag löschen Clone Entries Einträge duplizieren Delete Entries Einträge löschen Couldn't create database lock file. Konnten die Sperrdatei für die Datenbank nicht erstellen. Ready Bereit Open Database... Datenbank öffnen... Loading Database... Datenbank laden... Loading Failed Laden fehlgeschlagen Ctrl+V Strg+V Unknown error while loading database. Beim laden der Datenbank ist ein unbekannter Fehler aufgetreten. KeePass Databases (*.kdb) KeePass-Datenbank (*.kdb) All Files (*) Alle Dateien (*) Save Database... Datenbank speichern... 1 Month 1 Monat %1 Months %1 Monate 1 Year 1 Jahr %1 Years %1 Jahre 1 Day 1 Tag %1 Days %1 Tage less than 1 day weniger als einem Tag Locked Gesperrt Unlocked Entsperrt Ctrl+L Strg+L Ctrl+Q Strg+Q The database file does not exist. Die Datenbankdatei existiert nicht. new neu Expired Abgelaufen Un&lock Workspace Arbeits&bereich entsperren &Lock Workspace &Arbeitsbereich sperren The following error occured while opening the database: Der folgende Fehler ist beim öffnen der Datenbank aufgetreten: File could not be saved. Die Datei kann nicht gespeichert werden. Show &Toolbar &Werkzeugleiste anzeigen Ctrl+N Strg+N Ctrl+P Strg+P Ctrl+X Strg+X Ctrl+I Strg+I Database locked Datenbank gesperrt The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Die Datenbank, die Sie zu öffnen versuchen, ist gesperrt. Das bedeutet, dass jemand anders die Datei geöffnet hat oder KeePassX das letzte mal abgestürtzt ist, als die Datenbank geöffnet war. Wollen Sie die Datenbank trotzdem öffnen? The current file was modified. Do you want to save the changes? Die aktuelle Datei wurde geändert. Möchten Sie die Änderungen speichern? Couldn't remove database lock file. Konnte Datenbaksperrdatei nicht entfernen. Open read-only Schreibgeschützt öffnen Couldn't create lock file. Opening the database read-only. Es kann keine Sperrdatei erstellt werden. Die Datenbank wird schreibgeschützt geöffnet. Main Error Fehler File '%1' could not be found. Die Datei '%1' kann nicht gefunden werden. MainWindow KeePassX KeePassX Add New Group... Neue Gruppe hinzufügen ... Hide Ausblenden &View &Ansicht &File &Datei &Import from... &Importieren aus... &Export to... &Exportieren nach... E&xtras E&xtras &Help &Hilfe &New Database... &Neue Datenbank ... &Open Database... Da&tenbank öffnen ... &Close Database Datenbank s&chließen &Save Database Datenbank &speichern Save Database &As... D&atenbank speichern unter ... &Database Settings... &Datenbankeinstellungen ... Change &Master Key... Hau&ptschlüssel ändern ... &Settings... Ein&stellungen ... &About... Ü&ber ... &KeePassX Handbook... &Handbuch zu KeePassX... &Group &Gruppe Recycle Bin... Mülleimer ... Groups Gruppen &Lock Workspace A&rbeitsbereich sperren &Bookmarks &Lesezeichen Toolbar &Icon Size S&ymbolgröße &Columns S&palten &Manage Bookmarks... Lesezeichen &verwalten ... &Quit &Beenden &Edit Group... Gruppe b&earbeiten ... &Delete Group Gruppe &löschen Copy Password &to Clipboard Pass&wort in die Zwischenablage kopieren Copy &Username to Clipboard &Benutzernamen in die Zwischenablage kopieren &Open URL U&RL öffnen &Save Attachment As... Anhang &speichern unter ... Add &New Entry... &Neuen Eintrag hinzufügen ... &View/Edit Entry... Eintrag anzeigen/&bearbeiten ... De&lete Entry Eintrag &löschen &Clone Entry Eintrag &duplizieren Search &in Database... In &Datenbank suchen ... Search in this &Group... In dieser &Gruppe suchen ... Show &Entry Details &Eintragsdetails anzeigen Hide &Usernames Ben&utzernamen verstecken Hide &Passwords Pass&wörter verstecken &Title &Titel User&name Ben&utzername &URL U&RL &Password Pass&wort &Comment &Kommentar E&xpires &Läuft ab C&reation &Erstellt am &Last Change Change -> Modification Letzte Ä&nderung Last &Access Letzter &Zugriff A&ttachment &Anhang Show &Statusbar &Statusleiste anzeigen &Perform AutoType &Auto-Type ausführen &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &Password Generator... Pass&wortgenerator ... &Minimize Window &Group (search results only) &Gruppe (nur bei Suchergebnissen) Show &Expired Entries... Abgelaufene &Einträge anzeigen ... &Add Bookmark... Lesezeichen &hinzufügen ... Bookmark &this Database... Lesezeichen &für diese Datenbank anlegen ... &Add New Subgroup... Neue &Untergruppe hinzufügen ... Copy URL to Clipboard URL in die Zwischenablage kopieren &Entries &Einträge &Groups &Gruppen Sort groups Gruppen sortieren ManageBookmarksDlg Manage Bookmarks Lesezeichen verwalten PasswordDialog Enter Master Key Hauptschlüssel eingeben Set Master Key Hauptschlüssel festlegen Change Master Key Hauptschlüssel ändern Database Key Datenbankschlüssel Last File Zuletzt geöffnete Datei Select a Key File Schlüsseldatei wählen All Files (*) Alle Dateien (*) Key Files (*.key) Schlüsseldateien (*.key) Please enter a Password or select a key file. Bitte geben Sie ein Passwort ein oder wählen Sie eine Schlüsseldatei aus. Please enter a Password. Bitte geben Sie ein Passwort ein. Please provide a key file. Bitte wählen Sie eine Schlüsseldatei aus. %1: No such file or directory. %1: Datei oder Verzeichnis nicht gefunden. The selected key file or directory is not readable. Die ausgewählte Schlüsseldatei oder -Verzeichnis kann nicht gelesen werden. The given directory does not contain any key files. Das angegebene Verzeichnis enthält keine Schlüsseldateien. The given directory contains more then one key files. Please specify the key file directly. Das angegebene Verzeichnis enthält mehr als eine Schlüsseldatei. Bitte wählen Sie die Schlüsseldatei direkt aus. %1: File is not readable. %1: Die Datei ist nicht lesbar. Create Key File... Schlüsseldatei erzeugen ... PasswordDlg Enter a Password and/or choose a key file. Geben Sie ein Passwort ein und/oder wählen Sie eine Schlüsseldatei aus. Key Schlüssel Password: Passwort: &Browse... &Durchsuchen ... Last File Zuletzt geöffnete Datei Key File: Schlüsseldatei: Generate Key File... Schlüsseldatei erzeugen ... Please repeat your password: Geben Sie das Passwort erneut ein: Back Zurück Passwords are not equal. Die Passwörter sind nicht identisch. SearchDialog Search Suche Search_Dlg A&nhang &Anhang Search... Suche... Search For: Suchen nach: Regular E&xpression R&egulärer Ausdruck &Case Sensitive &Groß- und Kleinschreibung beachten Include: In die Suche einbeziehen: &Titles &Titel &Usernames &Benutzernamen C&omments &Kommentare U&RLs U&RLs Pass&words Pass&wörter Include Subgroups (recursive) Untergruppen einbeziehen (rekursiv) SelectIconDlg Icon Selection Symbolauswahl SettingsDialog Settings Einstellungen Clear clipboard after: Zwischenablage leeren nach: Banner Color Bannerfarbe Text Color: Textfarbe: Change... Ändern ... Color 2: Farbe 2: C&hange... Ä&ndern ... Color 1: Farbe 1: Alternating Row Colors Abwechselnde Zeilenfarben Browse... Durchsuchen ... Remember last key type and location Art und Ort des Schlüssels der letzten Datenbank merken Remember last opened file Zuletzt geöffnete Datei merken Show system tray icon Symbol im Systemabschnitt der Kontrollleiste anzeigen Minimize to tray when clicking the main window's close button In den Systemabschnitt senden, wenn der Schließen-Knopf betätigt wird Save recent directories of file dialogs Verzeichnisse der zuletzt geöffneten Dateien merken Group tree at start-up: Gruppen-Baumansicht nach dem starten: Restore last state Letzten Zustand wiederherstellen Expand all items Alle Gruppen aufklappen Do not expand any item Gruppen eingeklappt halten Security Sicherheit Edit Entry Dialog Dialog zum Bearbeiten von Einträgen Plug-Ins Plugins None nichts Gnome Desktop Integration (Gtk 2.x) GNOME, GTK GNOME-Oberflächenintegration (GTK 2.x) KDE 4 Desktop Integration KDE-4-Oberflächenintegration You need to restart the program before the changes take effect. Sie müssen das Programm neu starten, damit die Änderungen wirksam werden. Configure... Einrichten ... Advanced Fortgeschritten Clear History Now Verlauf löschen Always ask before deleting entries or groups Frage immer vor dem löschen von Einträgen und Gruppen Customize Entry Detail View... Ansicht der Eintragdetails anpassen ... You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Sie können hier Funktionen von KeePassX nach Ihren Wünschen deaktivieren, um das Erscheinungsbild gering zu halten. Bookmarks Lesezeichen Auto-Type Fine Tuning Auto-Type-Details Time between the activation of an auto-type action by the user and the first simulated key stroke. Zeit zwischen der Aktivierung einer Auto-Type-Aktion durch den Benutzer bis zum ersten simulierten Tastenanschlag. ms ms Pre-Gap: Pause vor erstem Tastenanschlag: Key Stroke Delay: Pause nach jedem Tastenanschlag: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Verzögerung zwischen zwei simulierten Tasteneingaben. Erhöhen Sie dies, wenn Auto-Type unregelmäßig Zeichen auslässt. The directory where storage devices like CDs and memory sticks are normally mounted. Das Verzeichnis, in dem normalerweise Speichermedien (Festplatten, CDs, DVDs, USB-Sticks) eingehängt werden. Media Root: Hauptmedienverzeichnis: Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Aktivieren Sie diese Option, wenn Sie Ihre Lesezeichen und die zuletzt geöffnete Datei unabhänig von deren absoluten Pfaden verwenden wollen. Dies ist besonders sinnvoll, wenn Sie KeePassX flexibel einsetzen und sich dadurch die Einhängepunkte im Dateisystem ändern. Save relative paths (bookmarks and last file) Relative Pfade speichern (Lesezeichen und zuletzt geöffnete Datei) Minimize to tray instead of taskbar In den Systemabschnitt der Kontrolleiste anstatt zur Fensterleiste minimieren Start minimized KeepassX minimiert starten Start locked Mit gesperrtem Arbeitsbereich starten Lock workspace when minimizing the main window Arbeisbereich sperren wenn das Hauptfenster minimiert wird Global Auto-Type Shortcut: Globaler Auto-Type-Kurzbefehl: Custom Browser Command Benutzerdefinierter Web-Browser Browse Durchsuchen Automatically save database on exit and workspace locking Datenbank beim Beenden und Sperren des Arbeitsbereiches automatisch speichern Show plain text passwords in: Passwörter im Klartext anzeigen: Database Key Dialog Datenbankschlüssel-Dialog seconds Sekunden Lock database after inactivity of Datenbank bei Inaktivität sperren nach Use entries' title to match the window for Global Auto-Type Vergleiche den Titel der Einträge mit Fenter für globales Auto-Type General (1) Allgemein (1) General (2) Allgemein (2) Appearance Erscheinungsbild Language Sprache Save backups of modified entries into the 'Backup' group Sicherheitskopien der bearbeiteten Einträge in der Gruppe „Backup“ speichern Delete backup entries older than: Sicherheitskopien der Einträge löschen, die älter sind als: days Tage Automatically save database after every change Datenbank automatisch nach jeder Änderung speichern Show window always on top Halte das Fenster immer im Vordergrund Language: Sprache: Author: Autor: ShortcutWidget Ctrl Strg Shift Umschalt Alt Alt AltGr AltGr Win Meta? Win SimplePasswordDialog Enter your Password Geben Sie Ihr Passwort ein Password: Passwort: TargetWindowDlg Auto-Type: Select Target Window Auto-Type: Zielfenster auswählen To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Um das Zielfenster auszuwählen, wählen Sie entweder ein bereits geöffnetes Fenster aus der Auswählliste, oder geben Sie den Fenstertitel manuell ein: Translation $TRANSLATION_AUTHOR Panagiotis Papadopoulos $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. pano_90@gmx.net $LANGUAGE_NAME Insert your language name in the format: English (United States) Deutsch (Deutschland) WorkspaceLockedWidget Form Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Der Arbeitsbereich ist gesperrt.</span></p></body></html> Unlock Entsperren Close Database Datenbank schließen keepassx-0.4.3/src/translations/qt_hu.ts0000664000175000017500000052511211342454455017360 0ustar felixfelix AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>A hangeszköz <b>%1</b> most nem használható.<br/>Visszaállás erre: <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> Revert back to device '%1' Phonon:: Notifications Figyelmeztetések Music Zene Video Videó Communication Társalgás Games Játékok Accessibility Kisegítő lehetőségek Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Figyelmeztetés: Úgy tűnik, a gstreamer0.10-plugins-good nincs telepítve. Néhány videóval kapcsolatos lehetőség le lesz tiltva. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Figyelmeztetés: Úgy tűnik nincs semmilyen GStreamer plugin telepítve. Minden hang és videótámogatás le lesz tiltva Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. A lejátszás elindítása sikertelen. Kérem, ellenőrizze, hogy a libgstreamer-plugins-base telepített-e, és a gstreamer beállításai megfelelők-e. A required codec is missing. You need to install the following codec(s) to play this content: %0 Hiányzik egy kodek a lejátszáshoz. Kérem telepítse a következő kodek(eket): %0 Could not open media source. A médiaforrás megnyitása sikertelen. Invalid source type. Érvénytelen forrás. Could not locate media source. A médiaforrás nem található. Could not open audio device. The device is already in use. A hangeszköz megnyitása sikertelen, mert valami már használja. Could not decode media source. A médiaforrás dekódolása sikertelen. Phonon::VolumeSlider Volume: %1% Hangerő: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% A csúszka segítségével állíthatja be a hangerőt. A bal szélső pozíció 0%-ot, a jobb szélső %1%-ot jelent Q3Accel %1, %2 not defined %1, %2 nincs definiálva Ambiguous %1 not handled A nem egyértelmű %1 nem lesz kezelve Q3DataTable True Igaz False Hamis Insert Beszúrás Update Frissítés Delete Törlés Q3FileDialog Copy or Move a File Fájl másolása vagy áthelyezése Read: %1 Olvasás: %1 Write: %1 Írás: %1 Cancel Mégsem All Files (*) Minden fájl (*) Name Név Size Méret Type Típus Date Dátum Attributes Attribútumok &OK &OK Look &in: Keresés &itt: File &name: Fájl &neve: File &type: Fájl &típusa: Back Vissza One directory up Egy szinttel feljebb Create New Folder Új könyvtár létrehozása List View Lista nézet Detail View Részletes nézet Preview File Info Fájlinformációk előnézete Preview File Contents Fájltartalom előnézete Read-write Írható-olvasható Read-only Csak olvasható Write-only Csak írható Inaccessible Nem elérhető Symlink to File Szimbolikus link a fájlra Symlink to Directory Szimbolikus link a könyvtárra Symlink to Special Szimbolikus link a speciális fájlra File Fájl Dir Könyvtár Special Speciális fájl Open Megnyitás Save As Mentés másként &Open &Megnyitás &Save Menté&s &Rename Át&nevezés &Delete &Törlés R&eload B&etöltés újra Sort by &Name Rendezés &név szerint Sort by &Size Rendezés &méret szerint Sort by &Date Rendezés &dátum szerint &Unsorted Nin&cs rendezés Sort Rendezés Show &hidden files &Rejtett fájlok megjelenítése the file a fájl the directory a könyvtár the symlink a szimbolikus link Delete %1 %1 törlése <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Biztosan törlöd ezt: %1 "%2"?</qt> &Yes &Igen &No &Nem New Folder 1 Új könyvtár 1 New Folder Új könyvtár New Folder %1 Új könyvtár %1 Find Directory Keresés a könyvtárban Directories Könyvtárak Directory: Könyvtár: Error Hiba %1 File not found. Check path and filename. %1 A fájl nem található. Ellenőrizze a fájl nevét és elérési útját. Q3LocalFs Could not read directory %1 A könyvtár nem olvasható: %1 Could not create directory %1 A könyvtár nem hozható létre: %1 Could not remove file or directory %1 A fájl vagy könyvtár nem törölhető: %1 Could not rename %1 to %2 Nem nevezhető át %1 erre: %2 Could not open %1 Nem nyitható meg: %1 Could not write %1 Nem írható: %1 Q3MainWindow Line up Igazítás Customize... Testreszabás... Q3NetworkProtocol Operation stopped by the user A műveletet a felhasználó megszakította Q3ProgressDialog Cancel Mégsem Q3TabDialog OK OK Apply Alkalmaz Help Segítség Defaults Alapértelmezések Cancel Mégsem Q3TextEdit &Undo &Visszavonás &Redo Új&ra Cu&t &Kivágás &Copy &Másolás &Paste &Beillesztés Clear Törlés Select All Összes kijelölése Q3TitleBar System Rendszer Restore up Visszaállítás Minimize Minimalizálás Restore down Előző méret Maximize Teljes méret Close Bezárás Contains commands to manipulate the window Parancsokat tartalmaz az ablak kezeléséhez Puts a minimized back to normal A kis méretű ablakot normál méretűre állítja vissza Moves the window out of the way Elmozgatja az ablakot az útból Puts a maximized window back to normal A teljes méretű ablakot normál méretűre állítja vissza Makes the window full screen Az ablakot teljes képernyő méretűre növeli Closes the window Bezárja az ablakot Displays the name of the window and contains controls to manipulate it Megjeleníti az ablak nevét, és kezelőket a megváltoztatásukhoz Q3ToolBar More... Továbbiak... Q3UrlOperator The protocol `%1' is not supported A(z) `%1' protokoll nem támogatott The protocol `%1' does not support listing directories A(z) `%1' protokoll nem támogatja a könyvtárak tartalmának listázását The protocol `%1' does not support creating new directories A(z) `%1' protokoll nem támogatja könyvtárak létrehozását The protocol `%1' does not support removing files or directories A(z) '%1' protokoll nem támogatja a fájlok vagy könyvtárak törlését The protocol `%1' does not support renaming files or directories A(z) '%1' protokoll nem támogatja a fájlok vagy könyvtárak átnevezését The protocol `%1' does not support getting files A(z) '%1' protokoll nem támogatja a fájlok letöltését The protocol `%1' does not support putting files A(z) '%1' protokoll nem támogatja a fájlok feltöltését The protocol `%1' does not support copying or moving files or directories A(z) '%1' protokoll nem támogatja a fájlok vagy könyvtárak másolását vagy áthelyezését (unknown) (ismeretlen) Q3Wizard &Cancel &Mégsem < &Back < &Vissza &Next > &Következő > &Finish &Befejezés &Help &Súgó QAbstractSocket Host not found A kiszolgáló nem található Connection refused A kapcsolat elutasítva Socket operation timed out Socket művelet időtúllépés Socket is not connected A socket nem kapcsolódott QAbstractSpinBox &Step up Lépés &felfelé Step &down Lépés &lefelé &Select All Lépés &lefelé QApplication Activate Aktiválás Executable '%1' requires Qt %2, found Qt %3. '%1' program Qt %2-t igényel (Qt %3 van telepítve). Incompatible Qt Library Error Hiba: inkompatíbilis Qt függvénykönyvtár QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Aktívvá teszi a program főablakát QCheckBox Uncheck Kijelölés megszüntetése Check Kijelölés Toggle Váltás QColorDialog Hu&e: Á&rnyalat: &Sat: &Telítettség: &Val: &Fényerő: &Red: &Vörös: &Green: &Zöld: Bl&ue: &Kék: A&lpha channel: A&lfa csatorna: &Basic colors Ala&p színek &Custom colors &Saját színek &Add to Custom Colors Hozzá&adás a saját színekhez Select color Szín kiválasztása QComboBox Open Megnyitás False Hamis True Igaz Close Bezárás QCoreApplication %1: permission denied QSystemSemaphore %1: hozzáférés megtagadva %1: already exists QSystemSemaphore %1: már létezik %1: doesn't exists QSystemSemaphore %1: már létezik %1: out of resources QSystemSemaphore %1: az erőforrások elfogytak %1: unknown error %2 QSystemSemaphore %1: ismeretlen hiba %2 %1: key is empty QSystemSemaphore %1: a kulcs hiányzik %1: unable to make key QSystemSemaphore %1: a kulcs elkészítése sikertelen %1: ftok failed QSystemSemaphore %1: ftok hibát adott vissza QDB2Driver Unable to connect Nem sikerült kapcsolódni Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback transaction A tranzakció nem görgethető vissza Unable to set autocommit Az automatikus véglegesítés nem állítható be QDB2Result Unable to execute statement A művelet nem hajtható végre Unable to prepare statement A művelet előkészítése nem lehetséges Unable to bind variable A változó nem rögzíthető Unable to fetch record %1 A(z) %1. rekord nem olvasható ki Unable to fetch next A következő rekord nem olvasható ki Unable to fetch first Az első rekord nem érhető el QDateTimeEdit AM DE am de PM DU pm du QDial QDial SpeedoMeter SliderHandle QDialog What's This? Mi ez? Done Kész QDialogButtonBox OK OK Save Mentés Open Megnyitás Cancel Mégsem Close Bezárás Apply Alkalmaz Reset Törlés Help Segítség Don't Save Nincs mentés Discard Elvetés &Yes &Igen Yes to &All &Mindent elfogad &No &Nem N&o to All Mindent &kihagy Save All Mindet menti Abort Megszakítás Retry Újra Ignore Kihagyás Restore Defaults Alapértelmezések visszaállítása Close without Saving Bezárás mentés nélkül &OK &OK QDirModel Name Név Size Méret Kind Match OS X Finder Típus Type All other platforms Típus Date Modified Módosítás dátuma QDockWidget Close Bezárás Dock Dokkolt Float Lebegő QDoubleSpinBox More Több Less Kevesebb QErrorMessage Debug Message: Debug üzenet: Warning: Figyelmeztetés: Fatal Error: Végzetes hiba: &Show this message again Üzenet megjelenítése i&smét &OK &OK QFileDialog All Files (*) Minden fájl (*) Directories Könyvtárak &Open &Megnyitás &Save Menté&s Open Megnyitás %1 already exists. Do you want to replace it? %1 már létezik. Lecseréli? %1 File not found. Please verify the correct file name was given. %1 A fájl nem található. Ellenőrizze, hogy jól adta-e meg a fájl nevét. My Computer Számítógép &Rename Át&nevezés &Delete &Törlés Show &hidden files &Rejtett fájlok megjelenítése Back Vissza Parent Directory Szülőkönyvtár List View Lista nézet Detail View Részletes nézet Files of type: Fájlok típusa: Directory: Könyvtár: %1 Directory not found. Please verify the correct directory name was given. %1 A könyvtár nem található. Ellenőrizd, hogy jól adta-e meg a könyvtár nevét. '%1' is write protected. Do you want to delete it anyway? '%1' írásvédett. Biztosan törlöd? Are sure you want to delete '%1'? Biztosan törlöd '%1'-t? Could not delete directory. A könyvtár nem törölhető. Save As Mentés másként Drive Meghajtó File Fájl Unknown Ismeretlen Find Directory Keresés a könyvtárban Show Megjelenítés Forward Előre New Folder Új könyvtár &New Folder Ú&j könyvtár &Choose &Kiválasztás Remove Törlés File &name: Fájl &neve: Look in: Keresés itt: Create New Folder Új könyvtár létrehozása QFileSystemModel Invalid filename Érvénytelen fájlnév <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. Name Név Size Méret Kind Match OS X Finder Kind Type All other platforms Típus Date Modified Módosítás dátuma My Computer Számítógép Computer Számítógép %1 TB %1 TB %1 GB %1 GB %1 MB %1 MB %1 KB %1 KB %1 bytes %1 bájt QFontDatabase Normal Normál Bold Kövér Demi Bold Félkövér Black Fekete Demi Fél Light Világos Italic Dőlt Oblique Ferde Any Bármelyik Latin Latin Greek Görög Cyrillic Cirill Armenian Örmény Hebrew Héber Arabic Arab Syriac Szír Thaana Thaana Devanagari Dévangári Bengali Bengáli Gurmukhi Gurmukhi Gujarati Gujarati Oriya Oriya Tamil Tamil Telugu Telugu Kannada Kannada Malayalam Maláj Sinhala Sinhala Thai Thai Lao Lao Tibetan Tibeti Myanmar Miannmari Georgian Gergely Khmer Khmer Simplified Chinese Egyszerűsített kínai Traditional Chinese Hagyományos kínai Japanese Japán Korean Koreai Vietnamese Vietnám Symbol Szimbolum Ogham Ogham Runic Rúna QFontDialog &Font &Betűtípus Font st&yle Betűtípu&s stílusa &Size &Méret Effects Hatások Stri&keout Á&thúzott &Underline &Aláhúzott Sample Minta Wr&iting System Í&rásmód Select Font Betűtípus kiválasztása QFtp Not connected Nincs kapcsolat Host %1 not found %1 kiszolgáló nem található Connection refused to host %1 A kapcsolódás %1 kiszolgálóhoz elutasítva Connected to host %1 Kapcsolódva %1 kiszolgálóhoz Connection refused for data connection Az adatkapcsolat elutasítva Unknown error Ismeretlen hiba Connecting to host failed: %1 A kapcsolódás a kiszolgálóhoz nem sikerült: %1 Login failed: %1 A bejelentkezés nem sikerült: %1 Listing directory failed: %1 A könyvtár listázása nem sikerült: %1 Changing directory failed: %1 A könyvtárváltás nem sikerült: %1 Downloading file failed: %1 A fájl letöltése nem sikerült: %1 Uploading file failed: %1 A fájl feltöltése nem sikerült: %1 Removing file failed: %1 A fájl törlése nem sikerült: %1 Creating directory failed: %1 A fájl törlése nem sikerült: %1 Removing directory failed: %1 A könyvtár törlése nem sikerült: %1 Connection closed A kapcsolat bezárult Host %1 found %1 kiszolgálót megtaláltam Connection to %1 closed A kapcsolat %1 kiszolgálóval bezárult Host found A kiszolgálót megtaláltam Connected to host Kapcsolódva a kiszolgálóhoz QHostInfo Unknown error Ismeretlen hiba QHostInfoAgent Host not found A kiszolgáló nem található Unknown address type Ismeretlen címtípus Unknown error Ismeretlen hiba QHttp Unknown error Ismeretlen hiba Request aborted A kérés megszakítva No server set to connect to Nincs szerver megadva Wrong content length Rossz tartalomhossz Server closed connection unexpectedly A szerver váratlanul bezárta a kapcsolatot Connection refused A kapcsolat elutasítva Host %1 not found %1 kiszolgáló nem található HTTP request failed A HTTP kérés nem sikerült Invalid HTTP response header Érvénytelen HTTP válasz-fejléc Invalid HTTP chunked body Érvénytelen HTTP törzsrészlet Host %1 found %1 kiszolgálót megtaláltam Connected to host %1 Kapcsolódva %1 kiszolgálóhoz Connection to %1 closed A kapcsolat %1 kiszolgálóval bezárult Host found A kiszolgálót megtaláltam Connected to host Kapcsolódva a kiszolgálóhoz Connection closed A kapcsolat bezárult Proxy authentication required A proxy azonosítást követel Authentication required Azonosítás szükséges HTTPS connection requested but SSL support not compiled in HTTPS kapcsolat kiépítése szükséges, de nincs SSL támogatás Connection refused (or timed out) A kapcsolat elutasítva (vagy időtúllépés történt) Proxy requires authentication A proxy azonosítást követel Host requires authentication A gép azonosítást követel Data corrupted Az adatok megsérültek Unknown protocol specified Ismeretlen protokoll SSL handshake failed Az SSL kézfogás sikertelen volt QHttpSocketEngine Authentication required Azonosítás szükséges QIBaseDriver Error opening database Adatbázis megnyitási hiba Could not start transaction A tranzakció nem indítható Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback transaction A tranzakció nem görgethető vissza QIBaseResult Unable to create BLOB A BLOB nem hozható létre Unable to write BLOB A BLOB nem írható Unable to open BLOB A BLOB nem nyitható meg Unable to read BLOB A BLOB nem olvasható Could not find array A tömb nem található Could not get array data A tömbbeli adatok nem érhetők el Could not get query info A lekérdezés-információ nem érhető el Could not start transaction A tranzakció nem indítható Unable to commit transaction A tranzakció nem véglegesíthető Could not allocate statement A művelet helyfoglalása sikertelen Could not prepare statement A művelet előkészítése sikertelen Could not describe input statement A bemeneti művelet leírása sikertelen Could not describe statement A művelet leírása sikertelen Unable to close statement A művelet lezárása sikertelen Unable to execute query A művelet nem hajtható végre Could not fetch next item A következő adat nem olvasható ki Could not get statement info A következő művelet információi nem érhetők el QIODevice Permission denied Hozzáférés megtagadva Too many open files Túl sok fájl van nyitva No such file or directory Nincs ilyen fájl vagy könyvtár No space left on device Nincs több hely az eszközön Unknown error Ismeretlen hiba QInputContext XIM XIM XIM input method XIM beviteli mód Windows input method Windows beviteli mód Mac OS X input method Mac OS X beviteli mód QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: %1 nem tölthető be (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::load_sys: %1 nem távolítható el (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::load_sys: "%1" szimbólum nem definiált ebben: %2 (%3) Could not mmap '%1': %2 Nem sikerült mmap-olni a(z) '%1'-t: %2 Plugin verification data mismatch in '%1' Plugin ellenőrző adat eltérés: '%1' Could not unmap '%1': %2 Nem sikerült unmap-olni a(z) '%1'-t: %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] A(z) '%1' plugin inkompatíbilis Qt függvénykönyvtárat használ. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" A(z) '%1' plugin inkompatíbilis Qt függvénykönyvtárat használ. A várt build kucs "%2", a kapott "%3" Unknown error Ismeretlen hiba The shared library was not found. Az osztott függvénykönyvtár nem található. The file '%1' is not a valid Qt plugin. A(z) '%1' fájl nem érvényes Qt plugin. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) A(z) '%1' plugin inkompatíbilis Qt könyvtárat használ. (A debug és a release könyvtárak nem keverhetők.) QLineEdit &Undo &Visszavonás &Redo Új&ra Cu&t &Kivágás &Copy &Másolás &Paste &Beillesztés Delete Törlés Select All Összes kijelölése QLocalServer %1: Name error %1: Hibás név %1: Permission denied %1: hozzáférés megtagadva %1: Address in use %1: A cím már használatban van %1: Unknown error %2 %1: ismeretlen hiba %2 QLocalSocket %1: Connection refused %1: A kapcsolat elutasítva %1: Remote closed %1: A kapcsolat elutasítva %1: Invalid name %1: A kapcsolat elutasítva %1: Socket access error %1: Socket elérési hiba %1: Socket resource error %1: Socket erőforrás probléma %1: Socket operation timed out %1: Időtúllépés a socketen %1: Datagram too large %1: A csomag túl nagy %1: Connection error %1: Kapcsolódási hiba %1: The socket operation is not supported %1: A kívánt socket művelet nem támogatott %1: Unknown error %2 %1: A kívánt socket művelet nem támogatott QMYSQLDriver Unable to open database ' Az adatbázis nem nyitható meg: ' Unable to connect Nem sikerült kapcsolódni Unable to begin transaction A tranzakció nem indítható Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback transaction A tranzakció nem görgethető vissza QMYSQLResult Unable to fetch data Az adat nem olvasható ki Unable to execute query A lekérdezés nem hajtható végre Unable to store result Az eredmény nem tárolható Unable to prepare statement A művelet előkészítése nem lehetséges Unable to reset statement A művelet visszaállítása nem lehetséges Unable to bind value A változó kötése sikertelen Unable to execute statement A művelet nem hajtható végre Unable to bind outvalues A kimenő érték kötése sikertelen Unable to store statement results A művelet eredményének tárolása sikertelen Unable to execute next query A következő lekérdezés nem hajtható végre Unable to store next result A következő eredmény nem tárolható QMdiArea (Untitled) (Névtelen) QMdiSubWindow %1 - [%2] %1 - [%2] Close Bezárás Minimize Kis méret Restore Down Előző méret &Restore &Visszaállítás &Move Á&thelyezés &Size &Méret Mi&nimize &Kis méret Ma&ximize Te&ljes méret Stay on &Top Mindig leg&felül &Close &Bezárás - [%1] - [%1] Maximize Teljes méret Unshade Legördítés Shade Felgördítés Restore Visszaállítás Help Súgó Menu Menü QMenu Close Bezárás Open Megnyitás Execute Végrehajtás QMessageBox Help Súgó OK OK About Qt A Qt névjegye <p>This program uses Qt version %1.</p> <p>A program a Qt %1 verzióját használja.</p> Show Details... Részletek megjelenítése... Hide Details... Részletek elrejtése... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <p>A program a Qt Open Source Edition %1 verziót használja.</p><p>A Qt Open Source Edition az Open Source (nyílt forrású) alkalmazások fejlesztéséhez készült. Zárt forrású alkalmazások fejlesztéséhez a kereskedelmi Qt licenszre van szükség.</p><p>A Qt licenszeléséről további információ a <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> oldalon található.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> QMultiInputContext Select IM Beviteli mód kiválasztása QMultiInputContextPlugin Multiple input method switcher Beviteli mód választó Multiple input method switcher that uses the context menu of the text widgets A szöveg elemeken megjelenítendő felbukkanó beviteli mód választó QNativeSocketEngine The remote host closed the connection A távoli kiszolgáló bezárta a kapcsolatot Network operation timed out Időtúllépés hálózati művelet során Out of resources Az erőforrások elfogytak Unsupported socket operation Nem támogatott socket művelet Protocol type not supported Nem támogatott protokoll Invalid socket descriptor Érvénytelen socket leíró Network unreachable A hálózat nem érhető el Permission denied Hozzáférés megtagadva Connection timed out A kapcsolat várakozási ideje lejárt Connection refused A kapcsolat elutasítva The bound address is already in use A lefoglalandó cím használatban van The address is not available A cím nem elérhető The address is protected A cím védett Unable to send a message Nem küldhető üzenet Unable to receive a message Nem fogadható üzenet Unable to write Nem írható Network error Hálózati hiba Another socket is already listening on the same port Egy másik socket már figyel ezen a porton Unable to initialize non-blocking socket A nem-blokkolo socket előkészítése sikertelen Unable to initialize broadcast socket A broadcast socket előkészítése sikertelen Attempt to use IPv6 socket on a platform with no IPv6 support IPv6 socket használatának kísérlete IPv6 támogatás nélküli platformon Host unreachable A kiszolgáló nem érhető el Datagram was too large to send A csomag mérete miatt nem küldhető el Operation on non-socket A csomag mérete miatt nem küldhető el Unknown error Ismeretlen hiba The proxy type is invalid for this operation A proxy típusa nem megfelelő a művelethez QNetworkAccessFileBackend Request for opening non-local file %1 Nem helyi fájl megnyitásának kísérlete: %1 Error opening %1: %2 Hiba a(z) %1 megnyitásakor: %2 Write error writing to %1: %2 Hiba a(z) %1 kiírásakor: %2 Cannot open %1: Path is a directory Sikertelen megnyitás: %1 egy könyvtár Read error reading from %1: %2 Hiba a(z) %1 olvasása közben: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Sikertelen megnyitás: %1 egy könyvtár Logging in to %1 failed: authentication required A bejelentkezés sikertelen ide: %1, hitelesítés szükséges Error while downloading %1: %2 Hiba a(z) %1 letöltésekor: %2 Error while uploading %1: %2 Hiba a(z) %1 feltöltésekor: %2 QNetworkReply Error downloading %1 - server replied: %2 Hiba %1 letöltésekor - a szerver válasza: %2 Protocol "%1" is unknown Ismeretlen protokoll: "%1" QNetworkReplyImpl Operation canceled A művelet megszakítva QOCIDriver Unable to logon A bejelentkezés nem lehetséges Unable to initialize QOCIDriver Az inicializálás nem lehetséges Unable to begin transaction A tranzakció nem indítható Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback transaction A tranzakció nem véglegesíthető QOCIResult Unable to bind column for batch execute Az oszlop kötegelt végrehajtáshoz kötése sikertelen Unable to execute batch statement A kötegelt utasítások végrehajtása sikertelen Unable to goto next Nem lehet a következőre lépni Unable to alloc statement Az utasítás lefoglalása sikertelen Unable to prepare statement Az utasítás előkészítése sikertelen Unable to bind value A változó kötése sikertelen Unable to execute select statement Unable to execute statement Az utasítás nem végrehajtható QODBCDriver Unable to connect Nem sikerült kapcsolódni Unable to connect - Driver doesn't support all needed functionality Unable to disable autocommit Az automatikus véglegesítés nem tiltható le Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback transaction A tranzakció nem görgethető vissza Unable to enable autocommit Az automatikus véglegesítés nem engedélyezhető QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Nem lehet a 'SQL_CURSOR_STATIC' attribútumot beállítani a parancson. Ellenőrizd az ODBC driver beállítását Unable to execute statement A parancs nem hajtható végre Unable to fetch next A következő nem olvasható ki Unable to prepare statement A parancs előkészítése nem lehetséges Unable to bind variable A változó nem rögzíthető Unable to fetch last Az utolsó eredmény nem érhető el Unable to fetch Az eredmény nem elérhető Unable to fetch first Az első eredmény nem érhető el Unable to fetch previous Az előző eredmény nem érhető el QObject Operation not supported on %1 A művelett nem támogatott a(z) %1-n Invalid URI: %1 Érvénytelen cím: %1 Write error writing to %1: %2 Hiba a(z) %1 kiírásakor: %2 Read error reading from %1: %2 Hiba a(z) %1 olvasása közben: %2 Socket error on %1: %2 Socket hiba a(z) %1-n: %2 Remote host closed the connection prematurely on %1 A(z) %1 gép idő előtt megszakította a kapcsolatot Protocol error: packet of size 0 received Protokoll hiba: 0 méretű csomag érkezett QPPDOptionsModel Name Név Value Érték QPSQLDriver Unable to connect Nem sikerült kapcsolódni Could not begin transaction A tranzakció nem indítható Could not commit transaction A tranzakció nem véglegesíthető Could not rollback transaction A tranzakció nem görgethető vissza Unable to subscribe A feliratkozás sikertelen Unable to unsubscribe A leiratkozás sikertelen QPSQLResult Unable to create query A lekérdezés nem készíthető el Unable to prepare statement A parancs előkészítése nem lehetséges QPageSetupWidget Centimeters (cm) Centiméter (cm) Millimeters (mm) Milliméter (mm) Inches (in) Inch (in) Points (pt) Pont (pt) Form Formátum Paper Papír Page size: Papírméret: Width: Szélesség: Height: Magasság: Paper source: Papírforrás: Orientation Orientáció Portrait Álló Landscape Fekvő Reverse landscape Fordított fekvő Reverse portrait Fordított álló Margins Margók top margin felső margó left margin bal margó right margin jobb margó bottom margin alsó margó QPluginLoader Unknown error Ismeretlen hiba The plugin was not loaded. A plugin nem lett betöltve. QPrintDialog locally connected helyben csatlakoztatva Aliases: %1 Álnevek: %1 unknown ismeretlen Print To File ... Nyomtatás fájlba... File %1 is not writable. Please choose a different file name. %1 fájl nem írható. Válassz másik fájlnevet. %1 already exists. Do you want to overwrite it? %1 már létezik. Felülírod? %1 is a directory. Please choose a different file name. %1 egy könyvtár. Válassz másik fájlnevet. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Fólió Ledger Legal Letter Levél Tabloid US Common #10 Envelope US általános #10-es boríték Custom Egyéni &Options >> &Opciók >> &Print &Nyomtatás &Options << &Opciók << Print to File (PDF) Nyomtatás fájlba (PDF) Print to File (Postscript) Nyomtatás fájlba (PostScript) Local file Helyi fájl Write %1 file írás %1 fájlba QPrintPreviewDialog Page Setup Oldalbeállítás Print Preview Nyomtatási kép Next page Következő oldal Previous page Előző oldal First page Első oldal Last page Utolsó oldal Fit width Szélesség igazítása Fit page Oldal igazítása Zoom in Nagyítás Zoom out Kicsinyítés Portrait Álló Landscape Fekvő Show single page Egy oldalas megjelenítés Show facing pages Kétoldalas megjelenítés Show overview of all pages Az összes oldal megjelenítése Print Nyomtatás Page setup Oldalbeállítás Close Bezárás QPrintPropertiesWidget Form Page Lap Advanced Egyebek QPrintSettingsOutput Form Copies Másolatok Print range Nyomtatási tartomány Print all Összes nyomtatása Pages from Kezőoldal to utolsó oldal Selection Kijelölés Output Settings Kimenet beállítása Copies: Másolat: Collate Egyeztetés Reverse Fordított Options Opciók Color Mode Színmód Color Szín Grayscale Szürkeárnyalatos Duplex Printing Duplex nyomtatás None Nincs Long side Hosszabb oldal Short side Rövidebb oldal QPrintWidget Form Printer Nyomtató &Name: &Név: P&roperties Tula&jdonságok Location: Hely: Preview Előnézet Type: Típus: Output &file: Kimeneti &fájl: ... ... QProgressDialog Cancel Mégsem QPushButton Open Megnyitás QRadioButton Check Kijelölés QRegExp no error occurred nem történt hiba disabled feature used letiltott lehetőség használata bad char class syntax rossz karakterosztály-szintaxis bad lookahead syntax rossz lookahead-szintaxis bad repetition syntax rossz ismétlés-szintaxis invalid octal value érvénytelen oktális érték missing left delim hiányzó baloldali határoló unexpected end váratlan befejezés met internal limit belső korlát elérve QSQLite2Driver Error to open database Adatbázis megnyitási hiba Unable to begin transaction A tranzakció nem indítható Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback Transaction A tranzakció nem görgethető vissza QSQLite2Result Unable to fetch results Az eredmények nem olvashatók ki Unable to execute statement A parancs nem hajtható végre QSQLiteDriver Error opening database Adatbázis megnyitási hiba Error closing database Adatbázis bezárási hiba Unable to begin transaction A tranzakció nem indítható Unable to commit transaction A tranzakció nem véglegesíthető Unable to rollback transaction A tranzakció nem görgethető vissza QSQLiteResult Unable to fetch row A sor nem olvasható ki Unable to execute statement A parancs nem hajtható végre Unable to reset statement A parancs nem vonható vissza Unable to bind parameters A paraméterek kötése sikertelen Parameter count mismatch A paraméterek száma nem megfelelő No query Üres lekérdezés QScrollBar Scroll here Görgetés itt Left edge Bal szélen Top Fent Right edge Jobb szélen Bottom Lent Page left Egy oldalt balra Page up Oldal felfelé Page right Oldal jobbra Page down Oldal lefelé Scroll left Görgetés balra Scroll up Görgetés felfelé Scroll right Görgetés jobbra Scroll down Görgetés lefelé Line up Sor felfelé Position Helyzet Line down Sor lefelé QSharedMemory %1: unable to set key on lock %1:zárolási kulcs beállítása sikertelen %1: create size is less then 0 %1: a megadott méret kissebb mint 0 %1: unable to lock %1: a zárolás sikertelen %1: unable to unlock %1: a feloldás sikertelen %1: permission denied %1: hozzáférés megtagadva %1: already exists %1: már létezik %1: doesn't exists %1: nem található %1: out of resources %1: az erőforrások elfogytak %1: unknown error %2 %1: ismeretlen hiba %2 %1: key is empty %1: a kulcs hiányzik %1: unix key file doesn't exists %1: az unix kulcsfájl hiányzik %1: ftok failed %1: ftok hibát adott vissza %1: unable to make key %1: a kulcs elkészítése sikertelen %1: system-imposed size restrictions %1: a rendszer méretkorlátokat állított fel %1: not attached %1: nem lesz csatolva QShortcut Space Szóköz Esc Tab Backtab Backspace Return Enter Ins Del Pause Szünet Print Nyomtatás SysReq Home End Left Balra Up Fel Right Jobbra Down Le PgUp PgDown CapsLock NumLock ScrollLock Menu Menü Help Segítség Back Vissza Forward Előre Stop Stop Refresh Frissítés Volume Down Hangerő csökkentése Volume Mute Némítás Volume Up Hangerő növelése Bass Boost Mély hang kiemelése Bass Up Mély hang növelése Bass Down Mély hang csökkentése Treble Up Magas hang növelése Treble Down Magas hang csökkentése Media Play Média lejátszása Media Stop Média leállítása Media Previous Előző média Media Next Következő média Media Record Média felvétel Favorites Kedvencek Search Keresés Standby Standby Open URL URL megynyitása Launch Mail Levelezőprogram indítása Launch Media Médialejátszó indítása Launch (0) (0) indítása Launch (1) (1) indítása Launch (2) (2) indítása Launch (3) (3) indítása Launch (4) (4) indítása Launch (5) (5) indítása Launch (6) (6) indítása Launch (7) (7) indítása Launch (8) (7) indítása Launch (9) (9) indítása Launch (A) (A) indítása Launch (B) (B) indítása Launch (C) (C) indítása Launch (D) (D) indítása Launch (E) (E) indítása Launch (F) (F) indítása Print Screen Page Up Page Down Caps Lock Num Lock Number Lock Scroll Lock Insert Delete Escape System Request Select Kiválasztás Yes Igen No Nem Context1 Kontextus1 Context2 Kontextus2 Context3 Kontextus3 Context4 Kontextus4 Call Hívás Hangup Hívás vége Flip Csere Ctrl Shift Alt Meta + F%1 Home Page Kezdőoldal QSlider Page left Egy oldalt balra Page up Egy oldalt fel Position Helyzet Page right Egy oldalt jobbra Page down Egy oldalt le QSocks5SocketEngine Socks5 timeout error connecting to socks server Időtúllépés a socks szerverhez kapcsolódáskor Network operation timed out Időtúllépés hálózati művelet során QSpinBox More Több Less Kevesebb QSql Delete Törlés Delete this record? Rekord törlése? Yes Igen No Nem Insert Beszúrás Update Frissítés Save edits? Módosítások mentése? Cancel Mégsem Confirm Megerősítés Cancel your edits? Módosítások elvetése? QSslSocket Unable to write data: %1 Az adat nem írható: %1 Error while reading: %1 Olvasási hiba: %1 Error during SSL handshake: %1 SSL kézfogás hiba: %1 Error creating SSL context (%1) Az SSL kontextus létrehozása sikertelen (%1) Invalid or empty cipher list (%1) Érvénytelen vagy üres a titkosítók listája (%1) Error creating SSL session, %1 Hiba az SSL munkamenet létrehozásakor, %1 Error creating SSL session: %1 Hiba az SSL munkamenet létrehozásakor: %1 Cannot provide a certificate with no key, %1 Kulcs nélkül nem állítható ki tanusítvány, %1 Error loading local certificate, %1 Hiba a helyi tanúsítvány betöltése közben, %1 Error loading private key, %1 Hiba a titkos kulcs betöltése közben, %1 Private key does not certificate public key, %1 QTDSDriver Unable to open connection A kapcsolat nem nyitható meg Unable to use database Az adatbázis nem használható QTabBar Scroll Left Görgetés balra Scroll Right Görgetés jobbra QTextControl &Undo &Visszavonás &Redo Új&ra Cu&t &Kivágás &Copy &Másolás Copy &Link Location &Link helyének másolása &Paste &Beillesztés Delete Törlés Select All Összes kijelölése QToolButton Press Nyomd meg Open Megnyitás QUdpSocket This platform does not support IPv6 A platform nem támogatja az IPv6-ot QUndoGroup Undo Visszavonás Redo Újra QUndoModel <empty> <üres> QUndoStack Undo Visszavonás Redo Újra QUnicodeControlCharacterMenu LRM Left-to-right mark LRM (Balról jobbra jel) RLM Right-to-left mark LRM (Jobbról balra jel) ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWSP Zero width space LRE Start of left-to-right embedding RLE Start of right-to-left embedding LRO Start of left-to-right override RLO Start of right-to-left override PDF Pop directional formatting Insert Unicode control character Unicode vezérlőkarakter beszúrása QWebFrame Request cancelled A kérés megszakítva Request blocked A kérést blokkolták Cannot show URL A cím nem megjeleníthető Frame load interruped by policy change A keret betöltése szabályváltoztatás miatt megszakadt Cannot show mimetype Nem megjeleníthető fájltípus File does not exist A fájl nem létezik QWebPage Bad HTTP request Hibás HTTP kérés Submit default label for Submit buttons in forms on web pages Küldés Submit Submit (input element) alt text for <input> elements with no alt, title, or value Küldés Reset default label for Reset buttons in forms on web pages Törlés This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Ez egy kereshető index. Írja be a keresendő szavakat: Choose File title for file button used in HTML forms Fájl tallózása No file selected text to display in file button used in HTML forms when no file is selected Nincs fájl kiválaszva Open in New Window Open in New Window context menu item Megnyitás új ablakban Save Link... Download Linked File context menu item Link célpontjának mentése... Copy Link Copy Link context menu item Link címének másolása Open Image Open Image in New Window context menu item Kép megnyitása Save Image Download Image context menu item Kép mentése Copy Image Copy Link context menu item Kép másolása Open Frame Open Frame in New Window context menu item Keret megnyitása új ablakban Copy Copy context menu item Másolás Go Back Back context menu item Vissza Go Forward Forward context menu item Előre Stop Stop context menu item Stop Reload Reload context menu item Frissítés Cut Cut context menu item Kivágás Paste Paste context menu item Beillesztés No Guesses Found No Guesses Found context menu item Nincs találat Ignore Ignore Spelling context menu item Kihagyás Add To Dictionary Learn Spelling context menu item Hozzáadás a szótárhoz Search The Web Search The Web context menu item Keresés a weben Look Up In Dictionary Look Up in Dictionary context menu item Keresés a szótárban Open Link Open Link context menu item Link megnyitása Ignore Ignore Grammar context menu item Kihagyás Spelling Spelling and Grammar context sub-menu item Nyelvi eszközök Show Spelling and Grammar menu item title Nyelvi eszközök megjelenítése Hide Spelling and Grammar menu item title Nyelvi eszközök elrejtése Check Spelling Check spelling context menu item Nyelvhelyesség ellenőrzése Check Spelling While Typing Check spelling while typing context menu item Nyelvhelyesség ellenőrzése gépeléskor Check Grammar With Spelling Check grammar with spelling context menu item Nyelvtan ellenőrzése Fonts Font context sub-menu item Nyelvtan ellenőrzése Bold Bold context menu item Félkövér Italic Italic context menu item Dőlt Underline Underline context menu item Aláhúzott Outline Outline context menu item Áthúzott Direction Writing direction context sub-menu item Irány Default Default writing direction context menu item Alapértelmezett LTR Left to Right context menu item Balról jobbra RTL Right to Left context menu item Jobbról balra Inspect Inspect Element context menu item Elemzés No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Nincs keresési előzmény Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Keresési előzmények Clear recent searches menu item in Recent Searches menu that empties menu's contents Keresési előzmények ürítése Unknown Unknown filesize FTP directory listing item Ismeretlen %1 (%2x%3 pixels) Title string for images %1 (%2x%3 képpont) Web Inspector - %2 Web elemző - %2 QWhatsThisAction What's This? Mi ez? QWidget * * QWizard Go Back Visszalépés Continue Folytatás Commit Véglegesítés Done Kész Quit Kilépés Help Segítség < &Back < &Vissza &Finish &Befejezés Cancel Mégsem &Help &Súgó &Next &Következő &Next > &Következő > QWorkspace &Restore &Visszaállítás &Move Á&thelyezés &Size &Méret Mi&nimize &Kis méret Ma&ximize Te&ljes méret &Close &Bezárás Stay on &Top Mindig leg&felül Sh&ade &Felgördítés %1 - [%2] %1 - [%2] Minimize Kis méret Restore Down Előző méret Close Bezárás &Unshade &Legördítés QXml no error occurred nem történt hiba error triggered by consumer unexpected end of file váratlan fájlvég more than one document type definition több dokumentumtípus definíció error occurred while parsing element hiba az elem értelmezésénél tag mismatch eltérő tag hiba error occurred while parsing content hiba a tartalom értelmezésénél unexpected character váratlan karakter invalid name for processing instruction érvénytelen név parancs feldolgozásakor version expected while reading the XML declaration az XML deklaráció nem tartalmaz verzióinformációt wrong value for standalone declaration érvénytelen érték önálló deklarációban encoding declaration or standalone declaration expected while reading the XML declaration az XML deklarációból hiányzik a kódolási információ vagy egy önálló deklaráció standalone declaration expected while reading the XML declaration az XML deklarációból hiányzik az önálló deklaráció error occurred while parsing document type definition hiba a dokumentumtípus definíció értelmezésénél letter is expected a várt elem betű error occurred while parsing comment hiba a komment értelmezésénél error occurred while parsing reference hiba a hivatkozás értelmezésénél internal general entity reference not allowed in DTD A DTD-ben nincs megengedve belső általános entitás használata external parsed general entity reference not allowed in attribute value external parsed general entity reference not allowed in DTD unparsed entity reference in wrong context nem értelmezett entitás referencia egy rossz kontextusban recursive entities rekurzív entitások error in the text declaration of an external entity rekurzív entitások QXmlStream Extra content at end of document. Nem várt tartalom a dokumentum végén. Invalid entity value. Érvénytelen entitás érték. Invalid XML character. Érvénytelen XML karakter. Sequence ']]>' not allowed in content. ']]>' szekvencia nem megengedett a tartalomban. Namespace prefix '%1' not declared A(z) '%1' névtér előtag nincs deklarálva Attribute redefined. Az attributum újra lett definiálva. Unexpected character '%1' in public id literal. Váratlan '%1' karakter a publikus id-ben. Invalid XML version string. Érvénytelen XML verzió string. Unsupported XML version. Nem támogatott XML verzió. %1 is an invalid encoding name. %1 nem egy érvényes kódolás. Encoding %1 is unsupported %1 kódolás nem támogatott Standalone accepts only yes or no. Csak igen vagy nem lehet az értéke. Invalid attribute in XML declaration. Érvénytelen attribútum az XML deklarációban. Premature end of document. A dokumentum hirtelen véget ért. Invalid document. Érvénytelen dokumentum. Expected Amit vártam: , but got ' , de ezt kaptam: ' Unexpected ' Váratlan ' Expected character data. Karakteres adat szükséges. Recursive entity detected. Rekurzív entitást találtam. Start tag expected. Kezdő tag szükséges. XML declaration not at start of document. Az XML deklaráció nem a dokumentum elején kezdődik. NDATA in parameter entity declaration. NDATA a paraméter-entitás deklarációjában. %1 is an invalid processing instruction name. %1 nem érvényes feldolgozói utasítás. Invalid processing instruction name. Érvénytelen feldolgozói utasítás. Illegal namespace declaration. Érvénytelen névtér deklaráció. Invalid XML name. Érvénytelen XML név. Opening and ending tag mismatch. A nyitó és a záró tag nem egyezik. Reference to unparsed entity '%1'. Hivatkozás egy nem értelmezett entitásra: '%1'. Entity '%1' not declared. '%1' entitás nincs deklarálva. Reference to external entity '%1' in attribute value. Invalid character reference. Encountered incorrectly encoded content. The standalone pseudo attribute must appear after the encoding. %1 is an invalid PUBLIC identifier. %1 egy érvénytelen publikus azonosító. QtXmlPatterns An %1-attribute with value %2 has already been declared. An %1-attribute must have a valid %2 as value, which %3 isn't. Network timeout. Element %1 can't be serialized because it appears outside the document element. Attribute %1 can't be serialized because it appears at the top level. Year %1 is invalid because it begins with %2. Day %1 is outside the range %2..%3. Month %1 is outside the range %2..%3. Overflow: Can't represent date %1. Day %1 is invalid for month %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Time %1:%2:%3.%4 is invalid. Overflow: Date can't be represented. At least one component must be present. At least one time component must appear after the %1-delimiter. No operand in an integer division, %1, can be %2. The first operand in an integer division, %1, cannot be infinity (%2). The second operand in a division, %1, cannot be zero (%2). %1 is not a valid value of type %2. When casting to %1 from %2, the source value cannot be %3. Integer division (%1) by zero (%2) is undefined. Division (%1) by zero (%2) is undefined. Modulus division (%1) by zero (%2) is undefined. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. A value of type %1 cannot have an Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. %1 is not valid as a value of type %2. Operator %1 cannot be used on type %2. Operator %1 cannot be used on atomic values of type %2 and %3. The namespace URI in the name for a computed attribute cannot be %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Type error in cast, expected %1, received %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. No casting is possible with %1 as the target type. It is not possible to cast from %1 to %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. It's not possible to cast the value %1 of type %2 to %3 Failure when casting from %1 to %2: %3 A comment cannot contain %1 A comment cannot end with a %1. No comparisons can be done involving the type %1. Operator %1 is not available between atomic values of type %2 and %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. A library module cannot be evaluated directly. It must be imported from a main module. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A positional predicate must evaluate to a single numeric value. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The data of a processing instruction cannot contain the string %1 No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 %1 is an invalid %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 requires at least %n argument(s). %2 is therefore invalid. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. %1 is not a valid XML 1.0 character. The first argument to %1 cannot be of type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. %1 was called. %1 must be followed by %2 or %3, not at the end of the replacement string. In the replacement string, %1 must be followed by at least one digit when not escaped. In the replacement string, %1 can only be used to escape itself or %2, not %3 %1 matches newline characters %1 and %2 match the start and end of a line. Matches are case insensitive Whitespace characters are removed, except when they appear in character classes %1 is an invalid regular expression pattern: %2 %1 is an invalid flag for regular expressions. Valid flags are: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. It will not be possible to retrieve %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The default collection is undefined %1 cannot be retrieved The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. %1 is not a whole number of minutes. Required cardinality is %1; got cardinality %2. The item %1 did not match the required type %2. %1 is an unknown schema type. Only one %1 declaration can occur in the query prolog. The initialization of variable %1 depends on itself No variable by name %1 exists The variable %1 is unused Version %1 is not supported. The supported XQuery version is 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. No function with signature %1 is available A default namespace declaration must occur before function, variable, and option declarations. Namespace declarations must occur before function, variable, and option declarations. Module imports must occur before function, variable, and option declarations. It is not possible to redeclare prefix %1. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Prefix %1 is already declared in the prolog. The name of an option must have a prefix. There is no default namespace for options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The target namespace of a %1 cannot be empty. The module import feature is not supported A variable by name %1 has already been declared in the prolog. No value is available for the external variable by name %1. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 A function already exists with the signature %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external An argument by name %1 has already been declared. Every argument name must be unique. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. None of the pragma expressions are supported. Therefore, a fallback expression must be present The %1-axis is unsupported in XQuery %1 is not a valid numeric literal. No function by name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. %1 is an invalid namespace URI. It is not possible to bind to the prefix %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Two namespace declaration attributes have the same name: %1. The namespace URI must be a constant and cannot use enclosed expressions. An attribute by name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. The name %1 does not refer to any schema type. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. The name of an extension expression must be in a namespace. empty zero or one exactly one one or more zero or more Required type is %1, but %2 was found. Promoting %1 to %2 may cause loss of precision. The focus is undefined. It's not possible to add attributes after any other kind of node. An attribute by name %1 has already been created. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. VolumeSlider Muted Elnémítva Volume: %1% Hangerő: %1% WebCore::PlatformScrollbar Scroll here Görgetés ide Left edge Bal szélre Top Felülre Right edge Jobb szélre Bottom Alulra Page left Egy oldalt balra Page up Egy oldalt fel Page right Egy oldalt jobbra Page down Egy oldalt le Scroll left Görgetés balra Scroll up Görgetés felfelé Scroll right Görgetés jobbra Scroll down Görgetés lefelé keepassx-0.4.3/src/translations/keepassx-gl_ES.ts0000664000175000017500000025205011342454754021052 0ustar felixfelix AboutDialog Author Autor Current Translation Tradución actual Developer Desenvolvedor Developer, Project Admin Developer, Project Admin Error Erro File '%1' could not be found. Non se achou o ficheiro '%1' . Information on how to translate KeePassX can be found under: Pode atopar información de como traducir KeePassX en: Main Application Icon Icona da aplicación principal Make sure that the program is installed correctly. Asegúrese de que o programa está instalado axeitadamente. None Please replace 'None' with the language of your translation Nada OK Aceptar Patches for better MacOS X support Parches para mellor soporte MacOS X Team Equipo Thanks To Agradecementos $TRANSLATION_AUTHOR damufo $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. proxecto@trasno.net Various fixes and improvements Varios arranxos e melloras Web Designer Deseñador web AboutDlg About Acerca de AppFunc AppFunc AppName AppName Copyright (C) 2005 - 2008 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2008 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Credits Créditos http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com License Licenza Translation Tradución Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2008 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. {2005 ?} {2009 ?} {2.?} Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Engadir Marcador All Files (*) Todos os ficheiros (*) Browse... Navegador... Edit Bookmark Modificar marcador File: Ficheiro: KeePass Databases (*.kdb) Base de datos KeePass (*.kdb) Title: Título: AutoType Auto-Type string contains invalid characters A cadea de tipo automatico contén caracteres non permitidos More than one 'Auto-Type:' key sequence found. Allowed is only one per entry. Mais que unha 'Auto-Type:' key sequence found. Permitida só unha por entrada. Syntax Error in Auto-Type sequence near character %1 Found '{' without closing '}' Erro de sintaxe no tipo automatico perto da secuencia de caracteres %1 Atopado '{' sen fechar '}' AutoTypeDlg Auto-Type Tipo automático Click on an entry to auto-type it. Prema nunha entrada de tipo automático. Group Grupo KeePassX - Auto-Type KeePassX - Tipo - Automático Title Título Username Nome de usuario CDbSettingsDlg '%1' is not valid integer value. '%1' non é un valor enteiro válido. AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (default) Error Erro OK Aceptar Please determine the number of encryption rounds. Por favor, defina o número de voltas de cifrado. Settings Preferencias The number of encryption rounds have to be greater than 0. O número de voltas de cifrado debe ser maior que 0. Twofish: 256 Bit Twofish: 256 Bit Warning Advertencia CEditEntryDlg %1 Bit %1 Bit 1 Month 1 mes 1 Week 1 semana 1 Year 1 ano 2 Weeks 2 semanas 3 Months 3 meses 3 Weeks 3 semanas 6 Months 6 meses Add Attachment... Engadir anexo... Calendar... Calendario... Could not open file. Non se puido abrir o ficheiro. Delete Attachment? Eliminar o anexo? Edit Entry Modificar entrada Error Erro Error while writing the file. Erro ao escribir o ficheiro. New Entry Nova entrada No, Cancel Non, Cancelar OK Acepar Password and password repetition are not equal. Please check your input. Os contrasinais non coinciden. Comprobe que os inseriu axeitadamente. Save Attachment... Gardar anexo... The chosen entry has no attachment or it is empty. A entrada elixida non ten anexo ou está baleira. Today Hoxe [Untitled Entry] [Entrada sen título] Warning Advertencia Yes Si You are about to delete the attachment of this entry. Are you sure? Está a punto de eliminar o adjunto desta entrada. ¿Está seguro? CGenPwDialog %1 Bits %1 Bits Notice Notificación OK Aceptar Password Generator Xerador de contrasinais You need to enter at least one character Introduza polo menos un caracter CSelectIconDlg %1: File could not be loaded. %1: O ficheiro non puido ser cargado. Add Custom Icon Engadir icona personalizada Add Icons... Engadir iconas... An error occured while loading the icon. Ocorreu un erro mentres cargaba a icona. An error occured while loading the icon(s): Produciuse un erro mentres cargaba a/s icona/s: Delete Eliminar Error Erro Images (%1) Imaxes (%1) Pick Escolla Replace... Substituír... CSettingsDlg Select a directory... Seleccione un cartafol... Select an executable... Seleccione un executabel... Settings Preferencias System Language CalendarDialog Calendar Calendario CollectEntropyDlg Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Colección desordenada... Por favor mova o rato e/ou prema algunha tecla mentres se recolle a suficiente información polo xerador de números aleatorios. Entropy Collection Colección desordenada <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Obtívose correctamente unha combinación aleatoria nova!</span></p></body></html> Random Number Generator Xerador de números ao chou CustomizeDetailViewDialog 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 6 6 7 7 78 78 8 8 9 9 Attachment Name Nome do anexo B G Bold Grosa C N Centered Centrado Comment Comentario Creation Date Data de creación Dialog Diálogo Expiration Date Data de expiración Font Size Tamaño da letra Group Grupo HTML HTML I C Italic Cursiva Justified Xustificado L E Last Access Date Data do último acceso Last Modification Date Data da última modificación Left-Aligned Aliñado á esquerda Password Contrasinal R D Rich Text Editor Procesador de texto enriquecido Right-Aligned Aliñado á dereita T M Templates Temas Text Color Cor de texto Time till Expiration Tempo até expirar Title Título U S Underlined Subliñada Url URL Username Nome de usuario Database Never Nunca DatabaseSettingsDlg Algorithm: Algoritmo: Calculate rounds for a 1-second delay on this computer Calcular voltas para un segundo de retraso nesta computadora Database Settings Preferencias da base de datos Encryption Cifrado Encryption Rounds: Voltas de cifrado: DetailViewTemplate Comment Comentario Creation Creación Expiration Expiración Group Grupo Last Access Último acceso Last Modification Última modificación Password Contrasinal Title Título URL URL Username Nome de usuario EditEntryDialog %1 %1 %1 Bit %1 Bit Attachment: Anexo: Comment: Comentario: Edit Entry Modificar entrada Expires: Expira: Ge&n. Xe&r. Group: Grupo: Repeat: Icon: Icona: Never Nunca Password: Contrasinal: Password Repet.: Contrasinal (repetir): Quality: Calidade: Title: Título: URL: URL: Username: Usuario: EditGroupDialog > > Group Properties Propiedades do grupo Icon: Icona: Title: Título: ExpiredEntriesDialog Double click on an entry to jump to it. Doble clic nunha entrada para desprazarse á mesma. Expired Expirou Expired Entries Entradas expiradas Expired Entries in the Database Entradas que expiraron na base de datos Group Grupo Title Título Username Nome de usuario Export_KeePassX_Xml All Files (*) Todos os ficheiros (*) KeePassX XML File Ficheiro XML KeePassX XML Files (*.xml) XML Files (*.xml) Export_Txt All Files (*) Todos os ficheiros (*) Text File Ficheiro de texto Text Files (*.txt) Texto plano (*.txt) ExporterBase Export Failed Fallou ao exportar Import File... Importar ficheiro... Export File... FileErrors A fatal error occurred. Ocorreu un erro fatal. An error occurred while reading from the file. Ocorreu un erro mentres se lía o ficheiro. An error occurred while writing to the file. Ocorreu un erro mentres se escribía no ficheiro. An resource error occurred. Ocorreu un erro no recurso. An unspecified error occurred. Ocorreu un erro inesperado. A timeout occurred. Produciuse un excedido de tempo. No error occurred. Non se produciu erro. The file could not be accessed. Non foi posible acceder ao ficheiro. The file could not be copied. Non foi posibel copiar o ficheiro. The file could not be opened. Non foi posibel abrir o ficheiro. The file could not be removed. Non foi posibel eliminar o ficheiro. The file could not be renamed. Non foi posibel renomear o ficheiro. The file could not be resized. Non foi posibel mudar o tamaño ao ficheiro. The operation was aborted. Abortouse a operación. The position in the file could not be changed. Non foi posibel mudar a posición no ficheiro. GenPwDlg Alt+L Alt+L Alt+M Alt+M Alt+N Alt+N Alt+O Alt+O Alt+S Alt+S Alt+U Alt+U Alt+W Alt+G Collect only once per session Recoller unha vez por sesión Enable entropy collection Permitir a recollida de entropía Custom Use the following characters: Generate Xerar Length: Lonxitude: &Lower Letters Minúscu&las Minus Guión New Password: Novo contrasinal: &Numbers &Números Options Opcións Password Generator Xerador de contrasinais Quality: Calidade: &Special Characters Caracteres e&speciais U&nderline S&ubliñado &Upper Letters Maiúsc&ulas Use follo&wing character groups: Usar os seguintes &grupos de caracteres: Use &only following characters: Usar &só os seguintes caracteres: White &Spaces E&spazos Random Use following character groups: &Underline &White Spaces &Minus Exclude look-alike characters Ensure that password contains characters from every group Pronounceable Lower Letters Upper Letters Numbers Special Characters HelpDlg Help Contents Previous Page Next Page First Page Import_KWalletXml All Files (*) Todos os ficheiros (*) Document does not contain data. O documento non contien datos. Import Failed Fallou o importado Invalid XML data (see stdout for details). Os datos XML non son válidos (ver stdout para máis detalles). Invalid XML file. Ficheiro XML non válido. XML Files (*.xml) XML Files (*.xml) Import_KeePassX_Xml All Files (*) Todos os ficheiros (*) Import Failed Fallou o importado KeePass XML Files (*.xml) icheiro XML KeePassX (*.xml) Parsing error: File is no valid KeePassX XML file. Erro na sintaxe: non é un ficheiro KeePassX XML válido. XML parsing error on line %1 column %2: %3 Errode sintaxe na liña %1 columna %2: %3 Import_PwManager All Files (*) Todos os ficheiros (*) Compressed files are not supported yet. Os ficheiros comprimidos aínda non están soportados. File is damaged (hash test failed). O ficheiro está danado (a comprobación da firma fallou). File is empty. Ficheiro baleiro. File is no valid PwManager file. Non é un ficheiro PwManager válido. Import Failed Fallou o importado Invalid XML data (see stdout for details). Os datos XML non son válidos (ver stdout para máis detalles). PwManager Files (*.pwm) PwManager Files (*.pwm) Unsupported encryption algorithm. Non se soporta o algoritmo de cifrado. Unsupported file version. Non se soporta a versión do ficheiro. Unsupported hash algorithm. Non se soporta o algoritmo da firma. Wrong password. Contrasinal incorrecto. ImporterBase Import Failed Fallou o importado Import File... Importar ficheiro... Kdb3Database Could not open file. Non foi posibel abrir o ficheiro. Could not open file for writing. Non foi posibel abrir o ficheiro para escribir. Decryption failed. The key is wrong or the file is damaged. Fallo ao descifrar. A chave é incorrecta ou está danada. Hash test failed. The key is wrong or the file is damaged. Fallou a comprobación da firma. A chave é incorrecta ou está danada. Invalid group tree. O grupo da árbore non é valido. Key file is empty. O ficheiro chave está baleiro. The database must contain at least one group. A base de datos ten que ter polo menos un grupo. Unexpected error: Offset is out of range. Erro inesperado: Desprazamento fora de rango. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Tamaño de ficheiro inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) Unknown Encryption Algorithm. Descoñecese o algoritmo de cifrado. Unsupported File Version. Non se soporta a versión do ficheiro. Wrong Signature Sinatura incorrecta The database has been opened read-only. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Kdb3Database::EntryHandle Bytes Bytes GiB GB KiB KB MiB MB KeepassEntryView Are you sure you want to delete these %1 entries? Seguro que quere borrar estas %1 entradas? Are you sure you want to delete this entry? Seguro que quere borrar esta entrada? At least one group must exist before adding an entry. Ten que haber polo menos un grupo antes de engadir unha entrada. Attachment Anexo Comments Comentarios Creation Creación Delete? Borrar? Error Erro Expires Expira Group Grupo Last Access Último acceso Last Change Última modificación OK Aceptar Password Contrasinal Title Título URL URL Username Nome de usuario KeepassGroupView Are you sure you want to delete this group, all it's child groups and all their entries? Está seguro que quere borrar este grupo, todos os seus subgrupos e súas entradas? Delete? Borrar? Search Results Resultados da procura Are you sure you want to delete this group, all its child groups and all their entries? KeepassMainWindow 1 Day 1 día %1 Days %1 días 1 Month 1 mes %1 Months %1 meses 1 Year 1 ano %1 Years %1 anos All Files (*) Todos os ficheiros (*) Clone Entries Clonar entradas Clone Entry Clonar entrada Ctrl+B Ctrl+B Ctrl+C Ctrl+C Ctrl+D Ctrl+D Ctrl+E Ctrl+E Ctrl+F Ctrl+F Ctrl+G Ctrl+G Ctrl+K Ctrl+A Ctrl+L Ctrl+L Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+P Ctrl+P Ctrl+Q Ctrl+Q Ctrl+S Ctrl+S Ctrl+U Ctrl+U Ctrl+V Ctrl+V Ctrl+W Ctrl+W Ctrl+X Ctrl+X Ctrl+Y Ctrl+Y Delete Entries Borrar entradas Delete Entry Borrar entrada Error Erro Expired Expirado File could not be saved. Non foi posibel gardar o ficheiro. KeePass Databases (*.kdb) Base de datos KeePass (*.kdb) less than 1 day menos dun día Couldn't create database lock file. Loading Database... Cargando ficheiro de claves... Loading Failed A carga fallou locked Locked Bloqueado &Lock Workspace B&loquear espazo de traballo new novo/a Open Database... Abrir ficheiro de claves... Ready Listo Save Database... Gardar base de datos... Save modified file? ¿Gardar o ficheiro modificado? Shift+Ctrl+F Shift+Ctrl+F Shift+Ctrl+S Shift+Ctrl+S Show &Toolbar Amosar barra de ferramen&tas The current file was modified. Do you want to save the changes? O actual ficheiro foi modificado. Quere gardar os trocos? The database file does not exist. O ficheiro da base de datos non existe. The following error occured while opening the database: Produciuse o seguinte erro abrindo a base de datos: Unknown error while loading database. Erro descoñecido cargando a base de datos. Unlocked Desbloqueado Un&lock Workspace Desb&loquear espazo de traballo Ctrl+I Database locked The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? The current file was modified. Do you want to save the changes? Couldn't remove database lock file. Open read-only Couldn't create lock file. Opening the database read-only. Ctrl+M Main Error Erro File '%1' could not be found. Non foi posibel atopar o ficheiro '%1'. OK Aceptar MainWindow &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &About... &Acerca de... &Add Bookmark... Eng&adir marcador... Add &New Entry... Engadir &nova entrada... &Add New Group... Eng&adir novo grupo... Advanced KeePassX Database (*.kxdb) Base de datos KeePassX avanzada (*.kxdb) A&ttachment A&nexo &Bookmarks &Marcadores Bookmark &this Database... Base de da&tos a marcadores... Change &Master Key... Trocar o contrasinal &mestre... &Clone Entry &Clonar entrada &Close Database Fechar ficheiro de &claves &Columns &Columnas &Comment &Comentario Copy Password &to Clipboard Copiar o con&trasinal no portarretallos Copy &Username to Clipboard Copiar o nome de &usuario no portarretallos C&reation C&reación &Database Settings... &Preferencias do ficheiro de claves... De&lete Entry &Borrar entrada &Delete Group B&orrar Grupo &Edit &Modificar &Edit Group... &Modificar grupo... E&xpires E&xpira &Export to... &Exportar a... E&xtras E&xtras &File &Ficheiro Groups Grupos &Group (search results only) &Grupo (só resultados da procura) &Help &Axuda Hide Agochar Hide &Passwords Agochar &contrasinais Hide &Usernames Agochar nomes de &usuario &Import from... &Importar de... KeePassX KeePassX &KeePassX Handbook... &KeePassX Handbook... Last &Access Último &acceso &Last Change U&ltima variación &Lock Workspace B&loquear espazo de traballo &Manage Bookmarks... &Xestionar marcadores... &New Database... &Nova base de datos... &Open Database... &Abrir ficheiro de claves... &Open URL &Abrir URL &Password &Contrasinal &Password Generator... &Xerador de contrasinais... &Perform AutoType &Facer tipo automático &Quit &Sair &Group Recycle Bin... Lixo... &Save Attachment As... Gardar &anexo como... &Save Database Gardar ba&se de datos Save Database &As... G&ardar base de datos como... Search &in Database... Procurar &na base de datos... Search in this &Group... Procurar neste &grupo... &Settings... Preferencia&s... Show &Entry Details Amosar detalles da &entrada Show &Expired Entries... Amosar &entradas expiradas... Show &Statusbar Amosar barra de e&stado Standard KeePass Single User Database (*.kdb) Base de datos KeePassX estándar de usuario único (*.kdb) &Title &Título Toolbar &Icon Size Tamaño das &iconas da barra de ferramentas &URL &URL User&name &Nome de usuario &View &Ver &View/Edit Entry... &Ver/modificar entrada... &Add New Subgroup... Copy URL to Clipboard Add New Group... &Entries &Groups Sort groups &Minimize Window ManageBookmarksDlg Manage Bookmarks Xestionar marcadores PasswordDialog %1: File is not readable. %1: O ficheiro non puido ser lido. %1: No such file or directory. %1: Non se atopa o ficheiro ou directorio. All Files (*) Todos os ficheiros (*) Change Master Key Trocar chave mestra Create Key File... Crear ficheiro chave... Database Key Chave da base de datos Enter Master Key Introduza a chave mestra Key Files (*.key) Ficheiros chave (*.key) Last File Último ficheiro Please enter a Password. Introduza un contrasinal. Please enter a Password or select a key file. Introduza un contrasinal ou seleccione un ficheiro chave. Please provide a key file. Forneza un ficheiro chave. Select a Key File Seleccione un ficheiro chave Set Master Key Estableza a chave mestra The given directory contains more then one key files. Please specify the key file directly. O cartafol contén máis dun ficheiro de claves. Especifique un ficheiro de claves directamente. The given directory does not contain any key files. O cartafol fornecido non contén ningún ficheiro chave. The selected key file or directory is not readable. Non foi posibel ler o ficheiro ou directorio chave seleccionado. PasswordDlg Alt+B Alt+B Back Atrás &Browse... &Navegar... Enter a Password and/or choose a key file. Introduza un contrasinal e/ou seleccione un ficheiro de clave. Generate Key File... Xerar ficheiro chave... Key Chave Key File: Ficheiro chave: Last File Último ficheiro Password: Contrasinal: Passwords are not equal. Os contrasinais non concordan. Please repeat your password: Repita o contrasinal: QObject Could not locate library file. Non foi posibel localizar o ficheiro biblioteca. SearchDialog Search Procurar Search_Dlg Alt+C Alt+C Alt+N Alt+N Alt+O Alt+O Alt+R Alt+R Alt+T Alt+T Alt+U Alt+U Alt+W Alt+W Alt+X Alt+X A&nhang &Apéndice &Case Sensitive Distinguir &maiúsculas e minúsculas C&omments C&omentarios Include: Incluir: Include Subgroups (recursive) Incluir subgrupos (recursivo) Pass&words &Contrasinais Regular E&xpression E&xpresión regular Search... Procurar... Search For: Procurar: &Titles &Títulos U&RLs U&RLs &Usernames &Usuarios SelectIconDlg Icon Selection Selección de icona SettingsDialog Advanced Avanzado Alternating Row Colors Alternar cores de columna Alt+H Alt+H Alt+O Alt+O Alt+Ö Alt+O Always ask before deleting entries or groups Preguntar sempre antes de borrar entradas ou grupos Appea&rance Apa&riencia Automatically save database on exit and workspace locking Gardar automáticamente a base de datos ao saír e ao bloquear o espazo de traballo Auto-Type Fine Tuning Axuste fino de tipo automático Banner Color Cor de cartel Bookmarks Marcadores Browse Examinar Browse... Examinar... C&hange... Troca&r... Change... Trocar... Clear clipboard after: Borrar portarretallos despois de: Clear History Now Limpar agora o histórico Color 1: Cor 1: Color 2: Cor 2: Configure... Configurar... Custom Browser Command Comando personalizado do navegador Customize Entry Detail View... Personalizar visualización do detalle da entrada... Database Key Dialog Diálogo da chave da base de datos Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Prazo entre a simulación de dúas voltas de chave. Incrementar isto se o tipo automatico salta caracteres ao chou. Desktop Integration Integración do escritorio Do not expand any item Non expandir ningún item Edit Entry Dialog Modificar diálogo de entrada Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Active isto se quere usar seus marcadores e o ultimo ficheiro aberto, independentemente do camiño absoluto. Isto é especialmente util cando usa KeePassX de xeito portatil e por tanto hai variacións no punto de montaxe. Expand all items Expandir todos os items Features Características General Xeral Global Auto-Type Shortcut: Atallo global do tipo automatico: Gnome Desktop Integration (Gtk 2.x) Integración co escritorio Gnome (Gtk 2.x) Group tree at start-up: Grupo de árbores no arranque: KDE 4 Desktop Integration Integración do escritorio KDE 4 Key Stroke Delay: Tempo de volta de chave: Lock database after inactivity of Bloquear base de datos despois dunha inactividade de Lock workspace when minimizing the main window Bloquear espazo de traballo ao minimizar a fiestra principal Media Root: Medios da raiz: Minimize to tray instead of taskbar Minimizar ao área de notificación no canto da barra de tarefas Minimize to tray when clicking the main window's close button Minimizar ao área de notificación ao premer no botón de pechar da fiestra principal ms ms None Nada Plug-Ins Engadidos Pre-Gap: Volta inicial: Remember last key type and location Recordar último tipo de clave e localización Remember last opened file Lembrar o último ficheiro aberto Restore last state Restaurar ao último estado Save recent directories of file dialogs Gardar os cartafoles recentes dos cadros de diálogo de ficheiro Save relative paths (bookmarks and last file) Gardar camiños relativos (marcadores e ultimo ficheiro) seconds segundos Security Seguranza Settings Preferencias Show plain text passwords in: Amosar contrasinais en texto plano en: Show system tray icon Amosar unha icona no área de notificación Start locked Comezar bloqueado Start minimized Comezar minimizado Text Color: Cor de texto: The directory where storage devices like CDs and memory sticks are normally mounted. O cartafol onde normalmente se montan os dispositivos de almacenamento como CDs e tarxetas de memoria. The integration plugins provide features like usage of the native file dialogs and message boxes of the particular desktop environments. A integración de engadidos provee funcionalidades coma o uso dos cadros de diálogo nativos e caixas de mensaxe especificas do entorno do escritorio. Time between the activation of an auto-type action by the user and the first simulated key stroke. Tempo entre a activación dun tipo automático de acción feita polo usuario e a primeira volta de chave. Use entries' title to match the window for Global Auto-Type Usar entradas do título á altura da fiestra para tipos automáticos globais You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Pode desactivar varias características de KeePassX aquí, de acordo coas súas necesidades coa fin de manter a interface do usuario limpa. You need to restart the program before the changes take effect. Precisa reiniciar o programa para que teñan efecto as modificacións. General (1) General (2) Appearance Language Save backups of modified entries into the 'Backup' group Delete backup entries older than: days Automatically save database after every change Show window always on top Language: Author: ShortcutWidget Alt Alt AltGr AltGr Ctrl Ctrl Shift Shift Win Win SimplePasswordDialog Enter your Password Introduza seu contrasinal Password: Contrasinal: TargetWindowDlg Auto-Type: Select Target Window To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Translation $TRANSLATION_AUTHOR damufo $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. proxecto@trasno.net $LANGUAGE_NAME Insert your language name in the format: English (United States) WorkspaceLockedWidget Close Database Fechar base de datos Form Formulario <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">O espazo de traballo está bloqueado.</span></p></body></html> Unlock Desbloquear keepassx-0.4.3/src/translations/qt_gl_ES.ts0000664000175000017500000055007211342454455017740 0ustar felixfelix AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>O dispositivo de reprodución de audio <b>%1</b> non funciona.<br/>Volvendo a <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Cambiando ao dispositivo de reprodución de audio <b>%1</b><br/>que agora está dispoñíbel e ten máis prioridade.</html> Revert back to device '%1' Volver ao dispositivo '%1' Phonon:: Notifications Notificacións Music Música Video Vídeo Communication Comunicación Games Xogos Accessibility Accesibilidade Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Aviso: Semella que non ten instalado o paquete gstreamer0.10-plugins-good. Algunhas características de vído desactiváronse. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Aviso: Semella que non ten instalados os plugins básicos do GStreamer. Toda a compatibilidade de audio e vídeo desactivouse Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. Non foi posíbel iniciar a reprodución. Comprobe a súa instalación de Gstreamer e asegúrese de que ten instalado o paquete libgstreamer-plugins-base. A required codec is missing. You need to install the following codec(s) to play this content: %0 Falta un códec requirido. Necesita instalar o(s) seguinte(s) códec(s) para reproducir este contido: %0 Could not open media source. Non foi posíbel abrir o medio de orixe. Invalid source type. Tipo de orixe non válido. Could not locate media source. Non foi posíbel localizar o medio de orixe. Could not open audio device. The device is already in use. Non foi posíbel abrir o dispositivo de audio. O dispositivo xa se está usando. Could not decode media source. Non foi posíbel descodificar o medio de orixe. Phonon::VolumeSlider Volume: %1% Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Emprega este control desprazábel para axustar o volume. A posición máis a esquerda é 0%, a máis a dereita é %1% Q3Accel %1, %2 not defined %1, %2 sen definir Ambiguous %1 not handled %1 ambiguo non xestionado Q3DataTable True Verdadeiro False Falso Insert Inserir Update Actualizar Delete Borrar Q3FileDialog Copy or Move a File Copiar ou mover un ficheiro Read: %1 Ler: %1 Write: %1 Escribir: %1 Cancel Cancelar All Files (*) Todos os ficheiros (*) Name Nome Size Tamaño Type Tipo Date Data Attributes Atributos (*) &OK &Aceptar Look &in: Exam&inar: File &name: &Nome do ficheiro: File &type: &Tipo do ficheiro: Back Volver One directory up Subir un cartafol Create New Folder Crear un novo cartafol List View Visualización da lista Detail View Visualización detallada Preview File Info Previsualizar a información do ficheiro Preview File Contents Previsualizar o contido do ficheiro Read-write Lectura-escribir Read-only Só de lectura Write-only Só de escritura Inaccessible Inaccesíbel Symlink to File Ligazón simbólica a ficheiro Symlink to Directory Ligazón simbólica a cartafol Symlink to Special Ligazón simbólica especial File Ficheiro Dir Cartafol Special Especial Open Abrir Save As Gardar como &Open &Abrir &Save &Gardar &Rename &Renomear &Delete &Borrar R&eload R&ecargar Sort by &Name Ordenar por &nome Sort by &Size Ordenar por &tamaño Sort by &Date Ordenar por &data &Unsorted Sen or&denar Sort Ordenar Show &hidden files Mostrar os fic&heiros ocultos the file o ficheiro the directory o cartafol the symlink o enlace simbólico Delete %1 Borrar %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Está seguro de que desexa borrar %1 "%2"?</qt> &Yes &Si &No &Non New Folder 1 Novo cartafol 1 New Folder Novo cartafol New Folder %1 Novo cartafol %1 Find Directory Atopar cartafol Directories Cartafoles Directory: Cartafol: Error Erro %1 File not found. Check path and filename. %1 Non se atopou o ficheiro. Comprobar o camiño e o nome do ficheiro. Q3LocalFs Could not read directory %1 Non foi posíbel ler o cartafol %1 Could not create directory %1 Non foi posíbel crear o cartafol %1 Could not remove file or directory %1 Non foi posíbel eliminar o ficheiro ou o cartafol %1 Could not rename %1 to %2 Non foi posíbel renomear %1 a %2 Could not open %1 Non foi posíbel abrir %1 Could not write %1 Non foi posíbel escribir %1 Q3MainWindow Line up Liña arriba Customize... Personalizar... Q3NetworkProtocol Operation stopped by the user Operación detida polo usuario Q3ProgressDialog Cancel Cancelar Q3TabDialog OK Aceptar Apply Aplicar Help Axuda Defaults Predefinidos Cancel Cancelar Q3TextEdit &Undo D&esfacer &Redo &Refacer Cu&t Cor&tar &Copy &Copiar &Paste &Pegar Clear Limpar Select All Seleccionar todo Q3TitleBar System Sistema Restore up Restaurar maximizado Minimize Minimizar Restore down Restaurar minimizado Maximize Maximizar Close Pechar Contains commands to manipulate the window Contén ordes para manipular a xanela Puts a minimized back to normal Devolve a xanela minimizada ao estado normal Moves the window out of the way Bota a un lado a xanela Puts a maximized window back to normal Devolve a xanela maximizada ao estado normal Makes the window full screen Pór a xanela a pantalla completa Closes the window Pecha a xanela Displays the name of the window and contains controls to manipulate it Mostra o nome da xanela e contén controis para manipulala Q3ToolBar More... Máis... Q3UrlOperator The protocol `%1' is not supported O protocolo `%1' non se permite The protocol `%1' does not support listing directories O protocolo `%1' non permite listar os cartafoles The protocol `%1' does not support creating new directories O protocolo `%1' non permite crear novos cartafoles The protocol `%1' does not support removing files or directories O protocolo `%1' non permite eliminar novos ficheiros ou cartafoles The protocol `%1' does not support renaming files or directories O protocolo `%1' non permite renomear ficheiros ou cartafoles The protocol `%1' does not support getting files O protocolo `%1' non permite a obtención de ficheiros The protocol `%1' does not support putting files O protocolo `%1' non permite o envío de ficheiros The protocol `%1' does not support copying or moving files or directories O protocolo `%1' non permite copiar ou mover ficheiros ou cartafoles (unknown) (descoñecido) Q3Wizard &Cancel &Cancelar < &Back < Vo&lver &Next > Segui&nte> &Finish &Finalizar &Help A&xuda QAbstractSocket Host not found Non se atopou o servidor Connection refused Conexión rexeitada Socket operation timed out A operación do sócket esgotou o tempo-límite Socket is not connected O sócket non está conectado QAbstractSpinBox &Step up &Aumentar Step &down &Reducir &Select All &Seleccionar todo QApplication Activate Activar Executable '%1' requires Qt %2, found Qt %3. O executábel '%1' require Qt %2, atopouse Qt %3. Incompatible Qt Library Error Erro por incompatibilidade da biblioteca Qt QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Activa a xanela principal do programa QCheckBox Uncheck Desmarcar Check Marcar Toggle Alternar QColorDialog Hu&e: Mat&iz: &Sat: &Saturación: &Val: &Brillo: &Red: Ve&rmello: &Green: &Verde: Bl&ue: Az&ul: A&lpha channel: Can&le alfa: &Basic colors Cores &básicas &Custom colors &Cores personalizadas &Add to Custom Colors Eng&adir ás cores personalizadas Select color Seleccionar a cor QComboBox Open Abrir False Falso True Verdadeiro Close Pechar QCoreApplication %1: permission denied QSystemSemaphore %1: permiso denegado %1: already exists QSystemSemaphore %1: xa existe %1: doesn't exists QSystemSemaphore %1: non existe %1: out of resources QSystemSemaphore %1: esgotáronse os recursos %1: unknown error %2 QSystemSemaphore %1: erro descoñecido %2 %1: key is empty QSystemSemaphore %1: chave baleira %1: unable to make key QSystemSemaphore %1: foi imposíbel crear a chave %1: ftok failed QSystemSemaphore %1: fallou ftok QDB2Driver Unable to connect Resultou imposíbel conectar Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback transaction Resultou imposíbel reverter a transacción Unable to set autocommit Resultou imposíbel estabelecer a autoremisión QDB2Result Unable to execute statement Resultou imposíbel executar a instrución Unable to prepare statement Resultou imposíbel preparar a instrución Unable to bind variable Resultou imposíbel asociar a variábel Unable to fetch record %1 Resultou imposíbel obter o rexistro %1 Unable to fetch next Resultou imposíbel obter o seguinte Unable to fetch first Resultou imposíbel obter o primeiro QDateTimeEdit AM AM am am PM PM pm pm QDial QDial QDial SpeedoMeter Velocímetro SliderHandle Asa da barra deslizante QDialog What's This? Que é isto? Done Feito QDialogButtonBox OK Aceptar Save Gardar Open Abrir Cancel Cancelar Close Pechar Apply Aplicar Reset Restabelecer Help Axuda Don't Save Non gardar Discard Descartar &Yes &Si Yes to &All Si &a todo &No &Non N&o to All N&on a todo Save All Gardar todo Abort Interromper Retry Tentar de novo Ignore Ignorar Restore Defaults Restabelecer predefinidas Close without Saving Pechar sen gardar &OK &Aceptar QDirModel Name Nome Size Tamaño Kind Match OS X Finder Clase Type All other platforms Tipo Date Modified Data de modificación QDockWidget Close Pechar Dock Ancorar Float Flotante QDoubleSpinBox More Máis Less Menos QErrorMessage Debug Message: Mensaxes de depuración: Warning: Aviso: Fatal Error: Erro moi grave: &Show this message again Mo&strar esta mensaxe outra vez &OK &Aceptar QFileDialog All Files (*) Todos os ficheiros (*) Directories Cartafoles &Open &Abrir &Save &Gardar Open Abrir %1 already exists. Do you want to replace it? %1 xa existe. Quere substituílo? %1 File not found. Please verify the correct file name was given. %1 Non se atopou o ficheiro. Verifique que o nome do ficheiro dado é correcto. My Computer Meu computador &Rename &Renomear &Delete &Borrar Show &hidden files Mostrar os fic&heiros ocultos Back Volver Parent Directory Cartafol pai List View Visualización da lista Detail View Visualización detallada Files of type: Ficheiros de tipo: Directory: Cartafol: %1 Directory not found. Please verify the correct directory name was given. %1 Non se atopou o cartafol. Verifique que o nome do cartafol dado é correcto. '%1' is write protected. Do you want to delete it anyway? '%1' está protexido contra escritura. Aínda así quere eliminalo? Are sure you want to delete '%1'? Está seguro de que quere borrar '%1'? Could not delete directory. Non foi posíbel eliminar o cartafol. Save As Gardar como Drive Unidade File Ficheiro Unknown Descoñecido Find Directory Atopar cartafol Show Mostrar Forward Seguinte New Folder Novo cartafol &New Folder &Novo cartafol &Choose Es&coller Remove Eliminar File &name: &Nome do ficheiro: Look in: Examinar: Create New Folder Crear un novo cartafol QFileSystemModel Invalid filename O nome do ficheiro non é válido <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Non é posíbel empregar o nome "%1".</b><p>Tente empregar outro nome, con menos caracteres ou sen signos de puntuación. Name Nome Size Tamaño Kind Match OS X Finder Clase Type All other platforms Tipo Date Modified Data de modificación My Computer Meu computador Computer Computador %1 TB %1 TB %1 GB %1 GB %1 MB %1 MB %1 KB %1 KB %1 bytes %1 bytes QFontDatabase Normal Normal Bold Negra Demi Bold Seminegra Black Negro Demi Semi Light Claro Italic Cursiva Oblique Oblicua Any Calquera Latin Latín Greek Grego Cyrillic Cirílico Armenian Armenio Hebrew Hebreo Arabic Árabe Syriac Sirio Thaana Thaana Devanagari Devanagari Bengali Bengalí Gurmukhi Gurmukhi Gujarati Guxarati Oriya Oriya Tamil Tamil Telugu Telugu Kannada Kannada Malayalam Malaialam Sinhala Sinhala Thai Tailandés Lao Laosiano Tibetan Tibetano Myanmar Myanmar Georgian Xeorxiano Khmer Khmer Simplified Chinese Chinés simplificado Traditional Chinese Chinés tradicional Japanese Xaponés Korean Coreano Vietnamese Vietnamita Symbol Símbolo Ogham Ogham Runic Rúnico QFontDialog &Font &Tipo de letra Font st&yle Esti&lo do tipo de letra &Size &Tamaño Effects Efectos Stri&keout Riscad&o &Underline S&ubliñado Sample Mostra Wr&iting System Sistema de escr&itura Select Font Seleccionar tipo de letra QFtp Not connected Sen conectar Host %1 not found Non se atopou o equipo %1 Connection refused to host %1 O equipo %1 rexeitou a conexión Connected to host %1 Conectado ao equipo %1 Connection refused for data connection Conexión para datos rexeitada Unknown error Produciuse un erro descoñecido Connecting to host failed: %1 Produciuse un fallo ao conectar ao equipo: %1 Login failed: %1 Produciuse un fallo no inicio de sesión: %1 Listing directory failed: %1 Produciuse un fallo ao listar o cartafol: %1 Changing directory failed: %1 Produciuse un fallo ao cambiar o cartafol: %1 Downloading file failed: %1 Produciuse un fallo ao descargar o ficheiro: %1 Uploading file failed: %1 Produciuse un fallo ao subir o ficheiro: %1 Removing file failed: %1 Produciuse un fallo ao eliminar o ficheiro: %1 Creating directory failed: %1 Produciuse un fallo ao crear o cartafol: %1 Removing directory failed: %1 Produciuse un fallo ao eliminar o cartafol: %1 Connection closed Conexión pechada Host %1 found Atopouse o equipo %1 Connection to %1 closed Pechouse a conexión a %1 Host found Atopouse o equipo Connected to host Conectado ao equipo QHostInfo Unknown error Produciuse un erro descoñecido QHostInfoAgent Host not found Non se atopou o servidor Unknown address type Tipo de enderezo descoñecido Unknown error Produciuse un erro descoñecido QHttp Unknown error Produciuse un erro descoñecido Request aborted Solicitude interrompida No server set to connect to Non ten ningún servidor ao que conectar configurado Wrong content length Tamaño de contido incorrecto Server closed connection unexpectedly O servidor pechou a conexión inesperadamente Connection refused Conexión rexeitada Host %1 not found Non se atopou o equipo %1 HTTP request failed Ocorreu un fallo na petición HTTP Invalid HTTP response header A cabeceira de resposta HTTP non é válida Invalid HTTP chunked body O corpo HTTP recortado non é válido Host %1 found Atopouse o equipo %1 Connected to host %1 Conectado ao equipo %1 Connection to %1 closed Pechouse a conexión a %1 Host found Atopouse o equipo Connected to host Conectado ao equipo Connection closed Conexión pechada Proxy authentication required O proxy require autenticación Authentication required Autenticación requirida Connection refused (or timed out) Conexión rexeitada (ou excedeu o tempo de espera) Proxy requires authentication O proxy require autenticación Host requires authentication O anfitrión require autenticación Data corrupted Os datos están corrompidos Unknown protocol specified Protocolo descoñecido especificado SSL handshake failed Fallou na negociación SSL HTTPS connection requested but SSL support not compiled in Requiriuse conexión HTTPS pero a compatibilidade SSL non foi compilada QHttpSocketEngine Authentication required Autenticación requirida QIBaseDriver Error opening database Erro ao abrir a base de datos Could not start transaction Non foi posíbel comezar a transacción Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback transaction Resultou imposíbel reverter a transacción QIBaseResult Unable to create BLOB Resultou imposíbel crear o BLOB Unable to write BLOB Resultou imposíbel escribir o BLOB Unable to open BLOB Resultou imposíbel abrir o BLOB Unable to read BLOB Resultou imposíbel ler o BLOB Could not find array Non foi posíbel encontrar o array Could not get array data Non foi posíbel obter o array de datos Could not get query info Non foi posíbel obter a información da consulta Could not start transaction Non foi posíbel comezar a transacción Unable to commit transaction Resultou imposíbel remitir a transacción Could not allocate statement Non foi posíbel asignar a instrución Could not prepare statement Non foi posíbel preparar a instrución Could not describe input statement Non foi posíbel describir a instrución de entrada Could not describe statement Non foi posíbel describir a instrución Unable to close statement Resultou imposíbel pechar a instrución Unable to execute query Resultou imposíbel executar a consulta Could not fetch next item Non foi posíbel obter o elemento seguinte Could not get statement info Non foi posíbel obter a información da instrución QIODevice Permission denied Permiso denegado Too many open files Hai demasiados ficheiros abertos No such file or directory Non existe tal ficheiro ou directorio No space left on device Non hai espazo libre no dispositivo Unknown error Produciuse un erro descoñecido QInputContext XIM XIM XIM input method Método de entrada XIM Windows input method Método de entrada de Windows Mac OS X input method Método de entrada de Mac OS X QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: Non é posíbel cargar %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::load_sys: Non é posíbel descargar %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Símbolo "%1" non definido en %2 (%3) Could not mmap '%1': %2 Non foi posíbel aplicar mmap '%1': %2 Plugin verification data mismatch in '%1' A verificación dos datos do plugin non coinciden en '%1' Could not unmap '%1': %2 Non foi posíbel aplicar unmap '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] O plugin '%1' emprega unha biblioteca Qt non compatíbel. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" O plugin '%1' emprega unha biblioteca Qt non compatíbel. Esperábase a chave de compilación "%2", no seu lugar obtívose "%3" Unknown error Produciuse un erro descoñecido The shared library was not found. A biblioteca compartida non se encontrou. The file '%1' is not a valid Qt plugin. O ficheiro '%1' non é un plugin de Qt válido. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) O plugin '%1' emprega unha biblioteca Qt non compatíbel. (Non é posíbel combinar bibliotecas de depuración e finais.) QLineEdit &Undo D&esfacer &Redo &Refacer Cu&t Cor&tar &Copy &Copiar &Paste &Pegar Delete Borrar Select All Seleccionar todo QLocalServer %1: Name error %1: Erro de nome %1: Permission denied %1: Permiso denegado %1: Address in use %1: Enderezo en uso %1: Unknown error %2 %1: Erro descoñecido %2 QLocalSocket %1: Connection refused %1: Conexión rexeitada %1: Remote closed %1: Pechado remotamente %1: Invalid name %1: Nome non válido %1: Socket access error %1: Erro de acceso ao sócket %1: Socket resource error %1: Erro de recursos de sócket %1: Socket operation timed out %1: A operación do sócket esgotou o tempo límite %1: Datagram too large %1: Datagram demasiado grande %1: Connection error %1: Erro de conexión %1: The socket operation is not supported %1: Non se permite a operación no sócket %1: Unknown error %2 %1: Erro descoñecido %2 QMYSQLDriver Unable to open database ' Resultou imposíbel abrir a base de datos ' Unable to connect Resultou imposíbel conectar Unable to begin transaction Resultou imposíbel comezar a transacción Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback transaction Resultou imposíbel reverter a transacción QMYSQLResult Unable to fetch data Resultou imposíbel obter os datos Unable to execute query Resultou imposíbel executar a consulta Unable to store result Resultou imposíbel almacenar o resultado Unable to prepare statement Resultou imposíbel preparar a instrución Unable to reset statement Resultou imposíbel reiniciar a instrución Unable to bind value Resultou imposíbel asociar o valor Unable to execute statement Resultou imposíbel executar a instrución Unable to bind outvalues Resultou imposíbel resolver os valores sobrepasados Unable to store statement results Resultou imposíbel almacenar os resultados da instrución Unable to execute next query Resultou imposíbel executar a seguinte consulta Unable to store next result Resultou imposíbel almacenar o seguinte resultado QMdiArea (Untitled) (Sen título) QMdiSubWindow %1 - [%2] %1 - [%2] Close Pechar Minimize Minimizar Restore Down Restaurar minimizado &Restore &Restaurar &Move &Mover &Size &Tamaño Mi&nimize Mi&nimizar Ma&ximize Ma&ximizar Stay on &Top Permanecer en pri&meiro plano &Close &Cerrar - [%1] - [%1] Maximize Maximizar Unshade Desensombrecer Shade Ensombrecer Restore Restaurar Help Axuda Menu Menú QMenu Close Pechar Open Abrir Execute Executar QMessageBox Help Axuda OK Aceptar About Qt Sobre Qt <p>This program uses Qt version %1.</p> <p>Este programa emprega Qt versión %1.</p> Show Details... Mostrar os detalles... Hide Details... Ocultar os detalles... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <p>Este programa emprega a versión %1 de Qt Open Source Edition.</p><p>Qt Open Source Edition está destinada ao desenvolvemento de aplicativos de código aberto. Precisa unha licenza comercial de Qt para o desenvolvemento de aplicativos privativos (código fonte pechado).</p><p>Consulte <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> para unha visión xeral do licenciamento de Qt.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> <h3>Sobre Qt</h3>%1<p>Qt é un toolkit de C++ para o desenvolvemento de aplicativos multiplataforma.</p><p>Qt proporciona portabilidade de código único entre MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, e todas as principais variantes comerciais de Unix. Qt tamén está dispoñíbel para dispositivos incrustados como Qt for Embedded Linux e Qt for Windows CE.</p><p>Qt é un produto de Nokia. Consulte <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> para máis información.</p> QMultiInputContext Select IM Seleccionar IM QMultiInputContextPlugin Multiple input method switcher Selector de métodos de entrada múltipla Multiple input method switcher that uses the context menu of the text widgets Selector entre métodos de entrada que usa o menú contextual dos widgets de texto QNativeSocketEngine The remote host closed the connection O equipo remoto pechou a conexión Network operation timed out Excedeuse o tempo de espera na operación de rede Out of resources Esgotáronse os recursos Unsupported socket operation Operación de sócket non se permite Protocol type not supported O tipo de protocolo non se permite Invalid socket descriptor O descritor de sócket non é válido Network unreachable Rede non atinxíbel Permission denied Permiso denegado Connection timed out Excedeuse o tempo de espera na conexión Connection refused Conexión rexeitada The bound address is already in use O enderezo vinculado xa está en uso The address is not available O enderezo non está dispoñíbel The address is protected O enderezo está protexido Unable to send a message Resultou imposíbel enviar a mensaxe Unable to receive a message Resultou imposíbel recibir a mensaxe Unable to write Imposíbel escribir Network error Erro da rede Another socket is already listening on the same port Outro sócket xa está escoitando no mesmo porto Unable to initialize non-blocking socket Resultou imposíbel inicializar o sócket non bloqueante Unable to initialize broadcast socket Resultou imposíbel inicializar o sócket bloqueante Attempt to use IPv6 socket on a platform with no IPv6 support Tentouse empregar un sócket IPv6 sobre unha plataforma que non admite IPv6 Host unreachable Equipo non atinxíbel Datagram was too large to send O datagrama é grande de máis para ser enviado Operation on non-socket Operación de non sócket Unknown error Produciuse un erro descoñecido The proxy type is invalid for this operation O tipo de proxy non é válido para esta operación QNetworkAccessFileBackend Request for opening non-local file %1 Requirimento para abrir o ficheiro non local %1 Error opening %1: %2 Erro ao abrir %1: %2 Write error writing to %1: %2 Erro ao escribir a %1: %2 Cannot open %1: Path is a directory Non é posíbel abrir %1: O camiño é un cartafol Read error reading from %1: %2 Erro ao ler de %1: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Non é posíbel abrir %1: é un cartafol Logging in to %1 failed: authentication required Produciuse un fallo ao iniciar sesión en %1: autenticación requirida Error while downloading %1: %2 Erro ao descargar %1: %2 Error while uploading %1: %2 Erro ao subir %1: %2 QNetworkReply Error downloading %1 - server replied: %2 Erro ao descargar %1 - o servidor respondeu: %2 Protocol "%1" is unknown Descoñécese o protocolo "%1" QNetworkReplyImpl Operation canceled Operación cancelada QOCIDriver Unable to logon Foi imposíbel iniciar sesión Unable to initialize QOCIDriver Foi imposíbel inicializar Unable to begin transaction Resultou imposíbel comezar a transacción Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback transaction Resultou imposíbel reverter a transacción QOCIResult Unable to bind column for batch execute Foi imposíbel ligar a columna para a execución en lote Unable to execute batch statement Resultou imposíbel executar a instrución en lote Unable to goto next Resultou imposíbel ir ao seguinte Unable to alloc statement Resultou imposíbel asignar a instrución Unable to prepare statement Resultou imposíbel preparar a instrución Unable to bind value Resultou imposíbel asociar o valor Unable to execute select statement Resultou imposíbel executar a instrución seleccionada Unable to execute statement Resultou imposíbel executar a instrución QODBCDriver Unable to connect Resultou imposíbel conectar Unable to connect - Driver doesn't support all needed functionality Resultou imposíbel conectar - O controlador non permite todas as funcionalidades requiridas Unable to disable autocommit Resultou imposíbel desactivar a autoremisión Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback transaction Resultou imposíbel reverter a transacción Unable to enable autocommit Resultou imposíbel activar a autoremisión QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Resultou imposíbel establecer 'SQL_CURSOR_STATIC' como un atributo da declaración. Comprobe a configuración do seu controlador ODBC Unable to execute statement Resultou imposíbel executar a instrución Unable to fetch next Resultou imposíbel obter o seguinte Unable to prepare statement Resultou imposíbel preparar a instrución Unable to bind variable Resultou imposíbel asociar a variábel Unable to fetch last Resultou imposíbel obter o último Unable to fetch Resultou imposíbel obter Unable to fetch first Resultou imposíbel obter o primeiro Unable to fetch previous Resultou imposíbel obter o anterior QObject Operation not supported on %1 Non se permite a operación en %1 Invalid URI: %1 URI non válido: %1 Write error writing to %1: %2 Erro ao escribir a %1: %2 Read error reading from %1: %2 Erro ao ler de %1: %2 Socket error on %1: %2 Erro do sócket en %1: %2 Remote host closed the connection prematurely on %1 O equipo remoto pechou a conexión prematuramente en %1 Protocol error: packet of size 0 received Erro de protocolo: recibiuse paquete de tamaño cero QPPDOptionsModel Name Nome Value Valor QPSQLDriver Unable to connect Resultou imposíbel conectar Could not begin transaction Non foi posíbel iniciar a transacción Could not commit transaction Non foi posíbel actualizar a transacción Could not rollback transaction Non foi posíbel reverter a transacción Unable to subscribe Foi imposíbel subscribirse Unable to unsubscribe Foi imposíbel anular a subscrición QPSQLResult Unable to create query Resultou imposíbel crear a consulta Unable to prepare statement Resultou imposíbel preparar a instrución QPageSetupWidget Centimeters (cm) Centímetros (cm) Millimeters (mm) Milímetros (mm) Inches (in) Polgadas (in) Points (pt) Puntos (pt) Form Formulario Paper Papel Page size: Tamaño de páxina: Width: Largura: Height: Altura: Paper source: Orixe do papel: Orientation Orientación Portrait Vertical Landscape Horizontal Reverse landscape Horizontal invertido Reverse portrait Vertical invertido Margins Marxes top margin marxe superior left margin marxe esquerda right margin marxe dereita bottom margin marxe inferior QPluginLoader Unknown error Produciuse un erro descoñecido The plugin was not loaded. O plugin non foi cargado. QPrintDialog locally connected conectado localmente Aliases: %1 Alias: %1 unknown descoñecido Print To File ... Imprimir a un ficheiro... File %1 is not writable. Please choose a different file name. O ficheiro %1 non dispón de permisos de escritura. Seleccione un nome de ficheiro diferente. %1 already exists. Do you want to overwrite it? %1 xa existe. Quere sobrescribilo? %1 is a directory. Please choose a different file name. %1 é un cartafol. Seleccione un nome de ficheiro diferente. A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 A9 A9 B0 B0 B1 B1 B2 B2 B3 B3 B4 B4 B5 B5 B6 B6 B7 B7 B8 B8 B9 B9 B10 B10 C5E C5E DLE DLE Executive Executivo Folio Folio Ledger Libro maior Legal Legal Letter Carta Tabloid Tabloide US Common #10 Envelope US Common #10 Envelope Custom Personalizado &Options >> &Opcións >> &Print Im&primir &Options << &Opcións << Print to File (PDF) Imprimir a un ficheiro (PDF) Print to File (Postscript) Imprimir a un ficheiro (Postscript) Local file Ficheiro local Write %1 file Escribe o ficheiro %1 QPrintPreviewDialog Page Setup Configuración de páxina Print Preview Previsualización da impresión Next page Seguinte páxina Previous page Páxina anterior First page Primeira páxina Last page Última páxina Fit width Axustarse á largura Fit page Axustar á páxina Zoom in Ampliar Zoom out Reducir Portrait Vertical Landscape Horizontal Show single page Mostrar unha soa páxina Show facing pages Mostrar páxinas opostas Show overview of all pages Mostrar a visión xeral de todas as páxinas Print Imprimir Page setup Configuración de páxina Close Pechar QPrintPropertiesWidget Form Formulario Page Páxina Advanced Avanzado QPrintSettingsOutput Form Formulario Copies Copias Print range Intervalo de impresión Print all Imprimir todo Pages from Desde a páxina to a Selection Selección Output Settings Configuracións de saída Copies: Copias: Collate Ordenar Reverse Inverter Options Opcións Color Mode Modo de cor Color Cor Grayscale Escala de cincentos Duplex Printing Impresión polas dúas caras None Ningún Long side Lado longo Short side Lado curto QPrintWidget Form Formulario Printer Impresora &Name: &Nome: P&roperties P&ropiedades Location: Localización: Preview Previsualización Type: Tipo: Output &file: &Ficheiro de saída: ... ... QProgressDialog Cancel Cancelar QPushButton Open Abrir QRadioButton Check Marcar QRegExp no error occurred non ocorreu ningún erro disabled feature used empregase unha característica desactivada bad char class syntax sintaxe incorrecta para a clase char bad lookahead syntax sintaxe incorrecta para a busca cara diante bad repetition syntax sintaxe incorrecta para a repetición invalid octal value valor octal non válido missing left delim falta o delimitador esquerdo unexpected end final inesperado met internal limit acadouse un límite interno QSQLite2Driver Error to open database Erro ao abrir a base de datos Unable to begin transaction Resultou imposíbel comezar a transacción Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback Transaction Foi imposíbel reverter a transacción QSQLite2Result Unable to fetch results Resultou imposíbel obter os resultados Unable to execute statement Resultou imposíbel executar a instrución QSQLiteDriver Error opening database Erro ao abrir a base de datos Error closing database Erro ao pechar a base de datos Unable to begin transaction Resultou imposíbel comezar a transacción Unable to commit transaction Resultou imposíbel remitir a transacción Unable to rollback transaction Resultou imposíbel reverter a transacción QSQLiteResult Unable to fetch row Resultou imposíbel obter a fila Unable to execute statement Resultou imposíbel executar a instrución Unable to reset statement Resultou imposíbel reiniciar a instrución Unable to bind parameters Resultou imposíbel asociar os parámetros Parameter count mismatch O número de parámetros non coincide No query Sen consultas QScrollBar Scroll here Desprazar cara a aquí Left edge Bordo esquerdo Top Superior Right edge Bordo dereito Bottom Inferior Page left Páxina á esquerda Page up Retroceder páxina Page right Páxina á dereita Page down Avanzar páxina Scroll left Desprazar cara á esquerda Scroll up Desprazar arriba Scroll right Desprazar cara á dereita Scroll down Desprazar abaixo Line up Liña arriba Position Posición Line down Liña abaixo QSharedMemory %1: unable to set key on lock %1: foi imposíbel establecer a chave de bloqueo %1: create size is less then 0 %1: o tamaño de creación é menor que 0 %1: unable to lock %1: foi imposíbel bloquear %1: unable to unlock %1: foi imposíbel desbloquear %1: permission denied %1: permiso denegado %1: already exists %1: xa existe %1: doesn't exists %1: non existe %1: out of resources %1: esgotáronse os recursos %1: unknown error %2 %1: erro descoñecido %2 %1: key is empty %1: chave baleira %1: unix key file doesn't exists %1: o ficheiro de chaves unix non existe %1: ftok failed %1: fallou ftok %1: unable to make key %1: foi imposíbel crear a chave %1: system-imposed size restrictions %1: restricións de tamaño impostas polo sistema %1: not attached %1: sen conectar QShortcut Space Espazo Esc Esc Tab Tab Backtab Tab atrás Backspace Retroceso Return Intro Enter Intro Ins Ins Del Supr Pause Deter Print Imprimir SysReq Pet sis Home Inicio End Fin Left Esquerda Up Arriba Right Dereita Down Abaixo PgUp RePáx PgDown AvPáx CapsLock Bloq maiús NumLock Bloq núm ScrollLock Bloq despr Menu Menú Help Axuda Back Volver Forward Seguinte Stop Parar Refresh Actualizar Volume Down Baixar o volume Volume Mute Sen volume Volume Up Subir o volume Bass Boost Potenciador de graves Bass Up Subir os graves Bass Down Baixar os graves Treble Up Subir os agudos Treble Down Baixar os agudos Media Play Reproducir multimedia Media Stop Deter multimedia Media Previous Media anterior Media Next Seguinte media Media Record Gravar multimedia Favorites Preferidos Search Buscar Standby En espera Open URL Abrir URL Launch Mail Lanzar correo Launch Media Lanzar multimedia Launch (0) Lanzar (0) Launch (1) Lanzar (1) Launch (2) Lanzar (2) Launch (3) Lanzar (3) Launch (4) Lanzar (4) Launch (5) Lanzar (5) Launch (6) Lanzar (6) Launch (7) Lanzar (7) Launch (8) Lanzar (8) Launch (9) Lanzar (9) Launch (A) Lanzar (A) Launch (B) Lanzar (B) Launch (C) Lanzar (C) Launch (D) Lanzar (D) Launch (E) Lanzar (E) Launch (F) Lanzar (F) Print Screen Imprimir pantalla Page Up Páxina anterior Page Down Páxina posterior Caps Lock Bloqueo maiúsculas Num Lock Bloqueo núm Number Lock Bloqueo numérico Scroll Lock Bloqueo de desprazamento Insert Inserir Delete Borrar Escape Escape System Request Petición do sistema Select Seleccionar Yes Si No Non Context1 Contexto1 Context2 Contexto2 Context3 Contexto3 Context4 Contexto4 Call Chamar Hangup Colgar a conexión Flip Voltear Ctrl Ctrl Shift Maiús Alt Alt Meta Meta + + F%1 F%1 Home Page Páxina de inicio QSlider Page left Páxina á esquerda Page up Retroceder páxina Position Posición Page right Páxina á dereita Page down Avanzar páxina QSocks5SocketEngine Socks5 timeout error connecting to socks server Erro de tempo de conexión excedido Socks5 ao conectar co servidor socks Network operation timed out Excedeuse o tempo de espera na operación de rede QSpinBox More Máis Less Menos QSql Delete Borrar Delete this record? Quere eliminar este rexistro? Yes Si No Non Insert Inserir Update Actualizar Save edits? Gardar edicións? Cancel Cancelar Confirm Confirmar Cancel your edits? Quere cancelar as súas edicións? QSslSocket Unable to write data: %1 Foi imposíbel escribir o dato: %1 Error while reading: %1 Produciuse un erro ao ler: %1 Error during SSL handshake: %1 Produciuse un erro durante a negociación SSL: %1 Error creating SSL context (%1) Erro ao crear o contexto SSL (%1) Invalid or empty cipher list (%1) Lista de cifrado baleira ou non válida (%1) Error creating SSL session, %1 Produciuse un erro ao crear a sesión SSL, %1 Error creating SSL session: %1 Produciuse un erro ao crear a sesión SSL: %1 Cannot provide a certificate with no key, %1 Resultou imposíbel proporcionar un certificado sen chave, %1 Error loading local certificate, %1 Erro ao cargar o certificado local, %1 Error loading private key, %1 Erro ao cargar a chave privada, %1 Private key does not certificate public key, %1 A chave privada non certifica a chave pública, %1 QTDSDriver Unable to open connection Foi imposíbel abrir a conexión Unable to use database Resultou imposíbel empregar a base de datos QTabBar Scroll Left Desprazar cara á esquerda Scroll Right Desprazar cara á dereita QTextControl &Undo D&esfacer &Redo &Refacer Cu&t Cor&tar &Copy &Copiar Copy &Link Location Copiar &localización da ligazón &Paste &Pegar Delete Borrar Select All Seleccionar todo QToolButton Press Premer Open Abrir QUdpSocket This platform does not support IPv6 Esta plataforma non permite IPv6 QUndoGroup Undo Desfacer Redo Refacer QUndoModel <empty> <baleiro> QUndoStack Undo Desfacer Redo Refacer QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Marca de esquerda-a-dereita RLM Right-to-left mark RLM Marca de dereita-a-esquerda ZWJ Zero width joiner ZWJ Ensamblaxe de largura cero ZWNJ Zero width non-joiner ZWNJ Desensamblaxe de largura cero ZWSP Zero width space ZWSP Espazo de largura cero LRE Start of left-to-right embedding LRE Inicio de incorporación de esquerda-a-dereita RLE Start of right-to-left embedding RLE Inicio de incorporación de dereita-a-esquerda LRO Start of left-to-right override LRO Inicio de sobreposición de esquerda-a-dereita RLO Start of right-to-left override RLO Inicio de sobreposición de dereita-a-esquerda PDF Pop directional formatting PDF Mostrar formatado direccional Insert Unicode control character Inserir un carácter de control Unicode QWebFrame Request cancelled Pedido cancelado Request blocked Pedido bloqueado Cannot show URL Non é posíbel mostrar o URL Frame load interruped by policy change A carga do cadro foi interrompida por un cambio de política Cannot show mimetype Non é posíbel mostrar o mimetype File does not exist O ficheiro non existe QWebPage Bad HTTP request Solicitude HTTP non valida Submit default label for Submit buttons in forms on web pages Enviar Submit Submit (input element) alt text for <input> elements with no alt, title, or value Enviar Reset default label for Reset buttons in forms on web pages Restabelecer This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Este índice permite buscas. Introduza palabras chave para buscar: Choose File title for file button used in HTML forms Elixir ficheiro No file selected text to display in file button used in HTML forms when no file is selected Non se seleccionou ningún ficheiro Open in New Window Open in New Window context menu item Abrir nunha nova xanela Save Link... Download Linked File context menu item Gardar ligazón... Copy Link Copy Link context menu item Copiar ligazón Open Image Open Image in New Window context menu item Abrir imaxe Save Image Download Image context menu item Gardar imaxe Copy Image Copy Link context menu item Copiar imaxe Open Frame Open Frame in New Window context menu item Abrir marco Copy Copy context menu item Copiar Go Back Back context menu item Volver Go Forward Forward context menu item Adiante Stop Stop context menu item Parar Reload Reload context menu item Recargar Cut Cut context menu item Cortar Paste Paste context menu item Pegar No Guesses Found No Guesses Found context menu item Non se encontrou ningún convidado Ignore Ignore Spelling context menu item Ignorar Add To Dictionary Learn Spelling context menu item Engadir ao dicionario Search The Web Search The Web context menu item Buscar na web Look Up In Dictionary Look Up in Dictionary context menu item Buscar no dicionario Open Link Open Link context menu item Abrir ligazón Ignore Ignore Grammar context menu item Ignorar Spelling Spelling and Grammar context sub-menu item Ortografía Show Spelling and Grammar menu item title Mostrar ortografía e gramática Hide Spelling and Grammar menu item title Ocultar ortografía e gramática Check Spelling Check spelling context menu item Comprobación ortográfica Check Spelling While Typing Check spelling while typing context menu item Comprobar a ortografía mentres se escribe Check Grammar With Spelling Check grammar with spelling context menu item Comprobar gramática con ortografía Fonts Font context sub-menu item Tipos de letra Bold Bold context menu item Negra Italic Italic context menu item Cursiva Underline Underline context menu item Subliñado Outline Outline context menu item Contorno Direction Writing direction context sub-menu item Dirección Default Default writing direction context menu item Predefinido LTR Left to Right context menu item LTR RTL Right to Left context menu item RTL Inspect Inspect Element context menu item Inspeccionar No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Sen buscas recentes Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Buscas recentes Clear recent searches menu item in Recent Searches menu that empties menu's contents Limpar buscar recentes Unknown Unknown filesize FTP directory listing item Descoñecido %1 (%2x%3 pixels) Title string for images %1 (%2x%3 pixels) Web Inspector - %2 Inspector web - %2 QWhatsThisAction What's This? Que é isto? QWidget * * QWizard Go Back Volver Continue Continuar Commit Actualizar Done Feito Quit Saír Help Axuda < &Back < Vo&lver &Finish &Finalizar Cancel Cancelar &Help A&xuda &Next Segui&nte &Next > Segui&nte> QWorkspace &Restore &Restaurar &Move &Mover &Size &Tamaño Mi&nimize Mi&nimizar Ma&ximize Ma&ximizar &Close &Cerrar Stay on &Top Permanecer en pri&meiro plano Sh&ade Sombr&a %1 - [%2] %1 - [%2] Minimize Minimizar Restore Down Restaurar minimizado Close Pechar &Unshade Desensom&brecer QXml no error occurred non ocorreu ningún erro error triggered by consumer erro disparado polo consumidor unexpected end of file fin de ficheiro non esperado more than one document type definition máis dunha definición de tipo de documento error occurred while parsing element ocorreu un erro ao analizar o elemento tag mismatch a etiqueta non coincide error occurred while parsing content ocorreu un erro ao analizar o contido unexpected character carácter inesperado invalid name for processing instruction o nome non é válido para o procesado da instrución version expected while reading the XML declaration versión esperada ao ler a declaración XML wrong value for standalone declaration valor incorrecto para a declaración autónoma encoding declaration or standalone declaration expected while reading the XML declaration esperábase unha declaración de codificación ou declaración autónoma ao ler a declaración XML standalone declaration expected while reading the XML declaration esperábase unha declaración autónoma ao ler a declaración XML error occurred while parsing document type definition ocorreu un erro ao analizar a definición do tipo de documento letter is expected esperábase unha letra error occurred while parsing comment ocorreu un erro ao analizar o comentario error occurred while parsing reference ocorreu un erro ao analizar a referencia internal general entity reference not allowed in DTD non se permiten as referencias a entidades xerais internas na DTD external parsed general entity reference not allowed in attribute value non se permiten referencias a unha entidade xeral externa procesada no valor do atributo external parsed general entity reference not allowed in DTD non se permiten referencias a unha entidade xeral externa procesada no DTD unparsed entity reference in wrong context referencia a entidade non procesada nun contexto incorrecto recursive entities entidades recursivas error in the text declaration of an external entity erro na declaración de texto da entidade externa QXmlStream Extra content at end of document. Contido adicional na fin do documento. Invalid entity value. O valor da entidade non é válido. Invalid XML character. O carácter XML non é válido. Sequence ']]>' not allowed in content. Non se permite a secuencia ']]>' no contido. Namespace prefix '%1' not declared O prefixo no espazo de nomes '%1' non foi declarado Attribute redefined. Atributo definido de novo. Unexpected character '%1' in public id literal. Carácter '%1' non esperado no id do literal público. Invalid XML version string. A cadea de versión XML non é válida. Unsupported XML version. A versión de XML non é compatíbel. %1 is an invalid encoding name. O nome de codificación %1 non é válido. Encoding %1 is unsupported Non se permite a codificación %1 Standalone accepts only yes or no. Autónomo acepta si ou non. Invalid attribute in XML declaration. O atributo non é válido na declaración XML. Premature end of document. Final prematuro do documento. Invalid document. O documento non é válido. Expected Esperado , but got ' , mais obtívose ' Unexpected ' Inesperado ' Expected character data. Esperábanse datos de carácter. Recursive entity detected. Detectouse unha entidade recursiva. Start tag expected. Esperábase o inicio dunha etiqueta. XML declaration not at start of document. Falta a declaración XML ao inicio do documento. NDATA in parameter entity declaration. NDATA no parámetro de declaración da entidade. %1 is an invalid processing instruction name. Non é válido %1 como nome de instrución de procesamento. Invalid processing instruction name. Non é válido o nome da instrución de procesamento. Illegal namespace declaration. A declaración de espazo de nomes non é válida. Invalid XML name. O nome XML non é válido. Opening and ending tag mismatch. As etiquetas de apertura e cerramento non coinciden. Reference to unparsed entity '%1'. A referencia á entidade '%1' non foi procesada. Entity '%1' not declared. A entidade '%1' non foi declarada. Reference to external entity '%1' in attribute value. Referencia a entidade externa '%1' no valor do atributo. Invalid character reference. A referencia do carácter non é válida. Encountered incorrectly encoded content. Encontrouse contido codificado incorrectamente. The standalone pseudo attribute must appear after the encoding. O seudo-atributo autónomo debe aparecer antes da codificación. %1 is an invalid PUBLIC identifier. O identificador PUBLIC %1 non é válido. QtXmlPatterns An %1-attribute with value %2 has already been declared. Un atributo %1 con valor %2 xa foi declarado. An %1-attribute must have a valid %2 as value, which %3 isn't. Un atributo %1 debe ter un %2 válido como valor, e %3 non o é. Network timeout. Tempo de espera da rede. Element %1 can't be serialized because it appears outside the document element. O elemento %1 non é posíbel serializalo porque aparece fora do elemento do documento. Year %1 is invalid because it begins with %2. O ano %1 non é válido porque comeza con %2. Day %1 is outside the range %2..%3. O día %1 está fora do rango %2..%3. Month %1 is outside the range %2..%3. O mes %1 está fora do rango %2..%3. Overflow: Can't represent date %1. Desbordamento: Non é posíbel representar a data %1. Day %1 is invalid for month %2. O día %1 non é válido para o mes %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; A hora 24:%1:%2.%3 non é válida. A hora está correctamente en 24 horas pero minutos, segundos e milisegundos non están totalmente a 0; Time %1:%2:%3.%4 is invalid. A hora %1:%2:%3.%4 non é válida. Overflow: Date can't be represented. Desbordamento: a hora non se pode representar. At least one component must be present. Polo menos un compoñente debe estar presente. At least one time component must appear after the %1-delimiter. Polo menos un compoñente da hora debe aparecer despois do delimitador %1. No operand in an integer division, %1, can be %2. Non hai operando nunha división enteira %1, pode ser %2. The first operand in an integer division, %1, cannot be infinity (%2). O primeiro operando nunha división enteira, %1, non pode ser infinito (%2). The second operand in a division, %1, cannot be zero (%2). O segundo operando nunha división, %1, non pode ser cero (%2). %1 is not a valid value of type %2. %1 non é un valor válido do tipo %2. When casting to %1 from %2, the source value cannot be %3. Ao converter a %1 desde %2, o valor de orixe non pode ser %3. Integer division (%1) by zero (%2) is undefined. A división enteira (%1) por cero (%2) non está definida. Division (%1) by zero (%2) is undefined. A división (%1) por cero (%2) non está definida. Modulus division (%1) by zero (%2) is undefined. A división de módulo (%1) por cero (%2) non está definida. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Non se permite dividir un valor do tipo %1 por %2 (non é un número). Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Non se permite dividir un valor do tipo %1 por %2 ou %3 (máis ou menos cero). Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Non se permite a multiplicación dun valor do tipo %1 por %2 ou %3 (máis ou menos infinito). A value of type %1 cannot have an Effective Boolean Value. Un valor do tipo %1 non pode ter un valor efectivo booleano. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. O valor efectivo booleano non se pode calcular para unha secuencia que conteña dous ou máis valores atómicos. Value %1 of type %2 exceeds maximum (%3). O valor %1 do tipo %2 excede o máximo (%3). Value %1 of type %2 is below minimum (%3). O valor %1 do tipo %2 está por debaixo do mínimo (%3). A value of type %1 must contain an even number of digits. The value %2 does not. Un valor de tipo %1 debe conter un certo número de díxitos. O valor %2 non existe. %1 is not valid as a value of type %2. %1 non é válido como un valor do tipo %2. Operator %1 cannot be used on type %2. O operador %1 non se pode empregar co tipo %2. Operator %1 cannot be used on atomic values of type %2 and %3. O operador %1 non se pode empregar en valores atómicos do tipo %2 e %3. The namespace URI in the name for a computed attribute cannot be %1. O URI do espazo de nomes no nome para un atributo computado non pode ser %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. O nome dun atributo computado non pode ter o URI do espazo de nomes %1 co nome local %2. Type error in cast, expected %1, received %2. Produciuse un erro de tipo na conversión, esperábase %1, recibiuse %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. Ao converter a %1 ou tipos derivados del, o valor de orixe debe ser do mesmo tipo, ou debe ser unha cadea literal. Non se permite o tipo %2. No casting is possible with %1 as the target type. Non é posíbel a conversión a %1 como tipo de destino. It is not possible to cast from %1 to %2. Non é posíbel converter de %1 a %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. Non é posíbel converter a %1 porque é un tipo abstracto, e polo tanto nunca será instanciado. It's not possible to cast the value %1 of type %2 to %3 Non é posíbel converter o valor %1 do tipo %2 a %3 Failure when casting from %1 to %2: %3 Produciuse un fallo ao converter de %1 a %2: %3 A comment cannot contain %1 Un comentario non pode conter %1 A comment cannot end with a %1. Un comentario non pode terminar cun %1. No comparisons can be done involving the type %1. Non se poden facer comparativas co tipo %1. Operator %1 is not available between atomic values of type %2 and %3. O operador %1 non está dispoñíbel entre valores atómicos do tipo %2 e %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. Un nodo atributo non pode ser un fillo dun documento nodo. En calquera caso, o atributo %1 está fóra de lugar. A library module cannot be evaluated directly. It must be imported from a main module. Un módulo de biblioteca non se pode avaliar directamente. Débese importar desde un módulo principal. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. Un valor do tipo %1 non pode ser un predicado. Un predicado debe ter ben sexa un tipo numérico ben sexa un tipo de valor booleano efectivo. A positional predicate must evaluate to a single numeric value. Un predicado posicional debe dar como resultado un único valor numérico. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. O nome de destino nunha instrución de procesamento non pode ter %1 ningunha combinación de maiúsculas e minúsculas. Polo tanto, %2 non é válido. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 non é un nome de destino válido nunha instrución de procesamento Debe ser un valor %2, i. e. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. O último paso nun camiño debe conter ben sexa nodos ben sexa valores atómicos. Non pode ser unha mestura entre os dous. The data of a processing instruction cannot contain the string %1 Os datos dunha instrución de procesamento non poden conter a cadea %1 No namespace binding exists for the prefix %1 Non existe combinación no espazo de nomes co prefixo %1 No namespace binding exists for the prefix %1 in %2 Non existe combinación do espazo de nomes co prefixo %1 en %2 %1 is an invalid %2 %1 non é un %2 válido %1 takes at most %n argument(s). %2 is therefore invalid. %1 recibe como máximo %n argumento(s). Polo tanto, %2 non é válido. %1 requires at least %n argument(s). %2 is therefore invalid. %1 require como mínimo %n argumento(s). Polo tanto, %2 non é válido. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. O primeiro argumento para %1 non pode ser do tipo %2. Debe ser un tipo numérico, xs:yearMonthDuration ou xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. O primeiro argumento para %1 non pode ser do tipo %2. Debe ser do tipo %3, %4 ou %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. O segundo argumento para %1 non pode ser do tipo %2. Debe ser do tipo %3, %4 ou %5. %1 is not a valid XML 1.0 character. %1 non é un carácter XML 1.0 válido. The first argument to %1 cannot be of type %2. O primeiro argumento para %1 non pode ser do tipo %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. Se ambos valores teñen zonas de desprazamento, deben ter a mesma zona de desprazamento. %1 e %2 non son o mesmo. %1 was called. %1 foi chamado. %1 must be followed by %2 or %3, not at the end of the replacement string. %2 ou %3 deben seguir a %1, e non ao final a cadea de substitución. In the replacement string, %1 must be followed by at least one digit when not escaped. Na cadea de substitución, %1 debe ir seguindo cando menos por un díxito cando non escapado. In the replacement string, %1 can only be used to escape itself or %2, not %3 Na cadea de substitución, %1 só pode ser usado para escaparse a si mesmo ou a %2, non a %3 %1 matches newline characters %1 coincide cos caracteres de nova liña %1 and %2 match the start and end of a line. %1 e %2 coinciden co inicio e o fin dunha liña. Matches are case insensitive As coincidencias non distinguen maiúsculas de minúsculas Whitespace characters are removed, except when they appear in character classes Os caracteres de espazo en branco elimínanse, excepto cando aparecen en clases de caracteres %1 is an invalid regular expression pattern: %2 %1 non é un patrón de expresión regular válido: %2 %1 is an invalid flag for regular expressions. Valid flags are: %1 non é unha marca válida para expresións regulares. As marcas válidas son: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Se o primeiro argumento é unha secuencia baleira ou unha cadea de lonxitude cero (sen espazo de nomes), non se pode especificar un prefixo. Especificouse o prefixo %1. It will not be possible to retrieve %1. Non será posíbel recuperar %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. O nodo raíz do segundo argumento da función %1 debe ser un nodo documento. %2 non é un nodo documento. The default collection is undefined A colección predeterminada non está definida %1 cannot be retrieved Non é posíbel recuperar %1 The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). Non se permite a forma de normalización %1. Permítense as formas %2, %3, %4 e %5 ou ningunha. Por exemplo a cadea baleira (sen normalización). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Unha zona de desprazamento debe estar no intervalo %1..%2, incluídos. %3 está fóra do intervalo. %1 is not a whole number of minutes. %1 non é un número completo de minutos. Required cardinality is %1; got cardinality %2. A cardinalidade requirida é %1, pero obtívose a cardinalidade %2. The item %1 did not match the required type %2. O elemento %1 non coincide co tipo %2 requirido. %1 is an unknown schema type. %1 é un tipo de esquema descoñecido. Only one %1 declaration can occur in the query prolog. Só unha declaración %1 pode darse no prólogo da consulta. The initialization of variable %1 depends on itself A inicialización da variábel %1 depende de si mesma No variable by name %1 exists Non existe ningunha variábel co nome %1 The variable %1 is unused A variábel %1 está sen empregar Version %1 is not supported. The supported XQuery version is 1.0. Non se admite a versión %1. Admítese a versión 1.0 de XQuery. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. A codificación %1 non é válida. Só debe conter caracteres latinos, non debe conter espazos en branco e debe coincidir coa expresión regular %2. No function with signature %1 is available Non está dispoñíbel ningunha función coa sinatura %1 A default namespace declaration must occur before function, variable, and option declarations. Unha declaración predefinida de espazo de nomes debe ir antes que as declaracións de funcións, variábeis e opcións. Namespace declarations must occur before function, variable, and option declarations. As declaracións de espazo de nomes deben ir antes que as declaracións de funcións, variábeis e opcións. Module imports must occur before function, variable, and option declarations. A importación de módulos ir antes que a declaración de funcións, variábeis e opcións. It is not possible to redeclare prefix %1. Non é posíbel volver a declarar o prefixo %1. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Só o prefixo %1 pode declararse para asociarse ao espazo de nomes %2. De forma predefinida, xa se vincula ao prefixo %1. Prefix %1 is already declared in the prolog. O prefixo %1 xa está declarado no prólogo. The name of an option must have a prefix. There is no default namespace for options. O nome dunha opción debe ter un prefixo. Non hai un espazo de nomes predefinido para as opcións. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. Non se permite a característica importación de esquemas, e polo tanto as declaracións do tipo %1 non poden ocorrer. The target namespace of a %1 cannot be empty. O espazo de nomes de destino dun %1 non pode ser baleiro. The module import feature is not supported Non se permite a característica de importación de módulos A variable by name %1 has already been declared in the prolog. Unha variábel de nome %1 xa foi declarada no prólogo. No value is available for the external variable by name %1. Ningún valor está dispoñíbel para a variábel externa de nome %1. The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. O espazo de nomes %1 está reservado; polo tanto as funcións definidas polo usuario non poden empregalo. Tente empregar o prefixo predefinido %2 que existe para estes casos. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 O espazo de nomes dunha función definida polo usuario nunha módulo de biblioteca debe ser equivalente ao espazo de nomes dun módulo. Noutras palabras, debería ser %1 en ve de %2 A function already exists with the signature %1. Xa existe unha función coa sinatura %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external Non se permiten funcións externas. Todas as funcións admitidas pódense empregar directamente se declaralas primeiro como externas An argument by name %1 has already been declared. Every argument name must be unique. Un argumento de nome %1 xa foi declarado. Cada nome de argumento debe ser único. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. O nome dunha variábel asociada a unha expresión for debe ser diferente da variábel posicional. Polo tanto, dúas variábeis chamadas %1 chocan. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. Non se permite a característica de validación de esquemas. Polo tanto, non se poden usar as expresións %1. None of the pragma expressions are supported. Therefore, a fallback expression must be present Non se permite ningunha das expresións de tipo pragma. Polo tanto, unha expresión de modo de emerxencia debe estar presente The %1-axis is unsupported in XQuery Non se permite o eixo %1 en XQuery %1 is not a valid numeric literal. %1 non é un literal numérico válido. No function by name %1 is available. Non está dispoñíbel ningunha función de nome %1. The namespace URI cannot be the empty string when binding to a prefix, %1. O URI do espazo de nomes non pode ser a cadea baleira cando se asocia a un prefixo, %1. %1 is an invalid namespace URI. %1 non é un URI de espazo de nomes válido. It is not possible to bind to the prefix %1 Non é posíbel asociar co prefixo %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). O espazo de nomes %1 só pode ser vinculado a %2 (e, en calquera caso, declárase previamente). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). O prefixo %1 só pode ser vinculado a %2 (e, en calquera caso declárase previamente). Two namespace declaration attributes have the same name: %1. Dous atributos de declaración de espazos de nomes teñen o mesmo nome: %1. The namespace URI must be a constant and cannot use enclosed expressions. O URI do espazo de nomes debe ser unha constante e non pode encerrar expresións. An attribute by name %1 has already appeared on this element. Un atributo para o nome %1 xa apareceu neste elemento. A direct element constructor is not well-formed. %1 is ended with %2. Un construtor dun elemento directo non está ben formado. %1 finaliza con %2. The name %1 does not refer to any schema type. O espazo de nomes %1 non ten referencia a ningún tipo de esquema. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 non é un tipo complexo. A conversión a tipos complexos non é posíbel. Porén, a conversión de tipos atómicos como %2 funciona. %1 is not an atomic type. Casting is only possible to atomic types. %1 non é un tipo atómico. Só e posíbel converter a tipos atómicos. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 non é un nome válido para unha instrución de procesamento. Polo tanto esta proba do nome nunca coincidirá. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 non está no ámbito de declaracións do atributo. Nota que non se permite a característica de importación de esquemas. The name of an extension expression must be in a namespace. O nome dunha expresión de extensión debe estar contido nun espazo de nomes. empty baleiro zero or one cero ou un exactly one exactamente un one or more un ou máis zero or more cero ou máis Required type is %1, but %2 was found. Requiriuse o tipo %1, pero encontrouse %2. Promoting %1 to %2 may cause loss of precision. A subida %1 a %2 pode causar perda de precisión. The focus is undefined. O foco non está definido. It's not possible to add attributes after any other kind of node. Non é posíbel engadir atributos despois de calquera outro tipo de nodo. An attribute by name %1 has already been created. Un atributo co nome %1 xa foi creado. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Só se permite o Unicode Codepoint Collation(%1). Non se permite %2. Attribute %1 can't be serialized because it appears at the top level. O atributo %1 non pode ser serializado porque aparece no nivel máis alto. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) O espazo de nomes para unha función definida polo usuario non pode estar baleira (tente usar o prefixo predefinido %1 que existe precisamente para casos coma este) VolumeSlider Muted Sen son Volume: %1% Volume: %1% WebCore::PlatformScrollbar Scroll here Desprazar cara a aquí Left edge Bordo esquerdo Top Superior Right edge Bordo dereito Bottom Inferior Page left Páxina á esquerda Page up Retroceder páxina Page right Páxina á dereita Page down Avanzar páxina Scroll left Desprazar cara á esquerda Scroll up Desprazar arriba Scroll right Desprazar cara á dereita Scroll down Desprazar abaixo keepassx-0.4.3/src/translations/keepassx-cs_CZ.ts0000664000175000017500000050750411342454754021071 0ustar felixfelix AboutDialog KeePassX %1 KeePassX %1 <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>Aktuální překlad: český</b><br><br> <b>Author:</b> %1<br> <b>Autor:</b> %1<br> $TRANSLATION_AUTHOR Marek Straka $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. marek@straka.info (<a href="http://marek.straka.info">marek.straka.info</a>) Team Vývojová skupina Tarek Saidi Tarek Saidi Developer, Project Admin Vývojář, vedoucí projektu tariq@users.berlios.de tariq@users.berlios.de Eugen Gorschenin Eugen Gorschenin Web Designer Webový designér geugen@users.berlios.de geugen@users.berlios.de Thanks To Poděkování Matthias Miller Matthias Miller Patches for better MacOS X support Patches pro lepší MacOS X podporu www.outofhanwell.com www.outofhanwell.com James Nicholls James Nicholls Main Application Icon Hlavní ikonka aplikace Various fixes and improvements Error Chyba File '%1' could not be found. Soubor '%1' nemohl být nalezen. Make sure that the program is installed correctly. Ujistěte se, že program je správně nainstalován. OK OK Could not open file '%1' Nelze otevřít soubor '%1' The following error occured: %1 Vyskytl se následující problém: %1 http://keepassx.sf.net http://keepassx.sf.net Developer Information on how to translate KeePassX can be found under: Current Translation None Please replace 'None' with the language of your translation Author AboutDlg About O aplikaci License Licence Translation Překlad <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - Cross Platform Password Manager</p></body></html> <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - multiplatformní správce hesel</p></body></html> Copyright (C) 2005 - 2006 Tarek Saidi KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2006 Tarek Saidi KeePassX je šířen pod podmínkami General Public License (GPL) verze 2. Credits Poděkování http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com AppName AppFunc Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX je šířen pod podmínkami General Public License (GPL) verze 2. AddBookmarkDlg Add Bookmark Title: Název: File: Browse... Projít... Edit Bookmark KeePass Databases (*.kdb) All Files (*) AutoType More than one 'Auto-Type:' key sequence found. Allowed is only one per entry. Nalezena více než jedna 'Auto-Type:' klíčová sekvence Je dovolena pouze jedna na každý záznam. Syntax Error in Auto-Type sequence near character %1 Found '{' without closing '}' Chyba syntaxe v Auto-Type sekvenci poblíž znaku %1 Nalezeno '{' bez uzavření '}' Error Chyba AutoTypeDlg KeePassX - Auto-Type Click on an entry to auto-type it. Group Title Název Username Cancel Zrušit Auto-Type CAboutDialog KeePassX %1 KeePassX %1 Error Chyba File '%1' could not be found. Soubor '%1' nemohl být nalezen. Make sure that the program is installed correctly. Ujistěte se, že program je správně nainstalován. OK OK Could not open file '%1' Nelze otevřít soubor '%1' The following error occured: %1 Vyskytl se následující problém: %1 <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>Aktuální překlad: český</b><br><br> <b>Author:</b> %1<br> <b>Autor:</b> %1<br> $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. marek@straka.info (<a href="http://marek.straka.info">marek.straka.info</a>) Matthias Miller Matthias Miller Eugen Gorschenin Eugen Gorschenin $TRANSLATION_AUTHOR Marek Straka Team Vývojová skupina Tarek Saidi Tarek Saidi Developer, Project Admin Vývojář, vedoucí projektu tariq@users.berlios.de tariq@users.berlios.de Web Designer Webový designér geugen@users.berlios.de geugen@users.berlios.de Thanks To Poděkování Patches for better MacOS X support Patches pro lepší MacOS X podporu www.outofhanwell.com www.outofhanwell.com Information on how to translate KeePassX can be found under: http://keepassx.sourceforge.net/ Informace o tom jak přeložit KeePassX lze nalézt zde: http://keepassx.sourceforge.net/ James Nicholls James Nicholls Main Application Icon Hlavní ikonka aplikace http://keepassx.sf.net http://keepassx.sf.net CDbSettingsDlg AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bitů (standartní) Twofish: 256 Bit Twofish: 256 Bitů Warning Varování Please determine the number of encryption rounds. Prosím zadejte počet šifrovacích kol. OK OK Error Chyba '%1' is not valid integer value. '%1' není platná integer hodnota. The number of encryption rounds have to be greater than 0. Počet kol zašifrování musí být větší než 0. Settings Nastavení CEditEntryDlg Warning Upozornění Password and password repetition are not equal. Please check your input. Heslo a opakované heslo nejsou stejné Prosím zkontrolujte zadané údaje. OK OK Save Attachment... Uložit přílohu... Overwrite? Přepsat? A file with this name already exists. Do you want to replace it? Soubor s tímto jménem již existuje. Chcete ho přepsat? Yes Ano No Ne Error Chyba Could not remove old file. Nelze odstranit starý soubor. Could not create new file. Nelze vytvořit nový soubor. Error while writing the file. Chyba při zápisu souboru. Delete Attachment? Smazat přílohu? You are about to delete the attachment of this entry. Are you sure? Chystáte se smazat přílohu tohoto záznamu. Jste si tím jistí? No, Cancel Ne, zrušit Edit Entry Upravit záznam Could not open file. Nelze otevřít soubor. %1 Bit %1 bitů Add Attachment... Připojit přílohu... The chosen entry has no attachment or it is empty. Today 1 Week 2 Weeks 3 Weeks 1 Month 3 Months 6 Months 1 Year Calendar... [Untitled Entry] New Entry CGenPwDialog Notice Poznámka You need to enter at least one character Je nutné vložit minimálně jeden znak OK OK Error Chyba Could not open '/dev/random' or '/dev/urandom'. Nelze otevřít '/dev/random' nebo '/dev/urandom'. Password Generator Generátor hesla %1 Bit %1 bitů %1 Bits CPasswordDialog OK OK Error Chyba Please enter a Password. Vložte prosím heslo. Please choose a key file. Vyberte prosím soubor s klíčem. Please enter a Password or select a key file. Vložte prosím heslo nebo vyberte soubor s klíčem. Database Key Klíč k databázi Select a Key File Vyberte soubor s klíčem *.key *.key Unexpected Error: File does not exist. Neočekávaná chyba: Soubor neexistuje. The selected key file or directory does not exist. Vybraný soubor s klíčem nebo adresář neexistuje. The given directory does not contain any key files. Daný adresář neobsahuje žádné soubory s klíči. The given directory contains more then one key file. Please specify the key file directly. Daný adresář obsahuje více než jeden klíč. Zadejte prosím klíč přímo. The key file found in the given directory is not readable. Please check your permissions. Nalezený soubor s klíčem v zadaném adresáři nelze přečíst. Zkontrolujte prosím parametry souboru. Key file could not be found. Soubor s klíčem nemohl být nalezen. Key file is not readable. Please check your permissions. Soubor s klíčem nelze přečíst. Zkontrolujte prosím parametry souboru. Warning Upozornění Password an password repetition are not equal. Please check your input. Heslo a opakované heslo nejsou stejné. Zkontrolujte zadané údaje. Please enter a password or select a key file. Prosím vložte heslo nebo vyberte soubor s klíčem. A file with the name 'pwsafe.key' already exisits in the given directory. Do you want to replace it? Soubor se jménem 'pwsafe.key' již v zadaném adresáři existuje. Chcete ho přepsat? Yes Ano No Ne The exisiting file is not writable. Existující soubor není zapisovatelný. A file with the this name already exisits. Do you want to replace it? Soubor s tímto jménem již existuje. Chcete ho zaměnit? The selected key file or directory is not readable. Please check your permissions. Vybraný soubor s klíčem nebo adresář nelze otevřít. Prosím zkontrolujte jeho parametry. Cancel Zrušit CSearchDlg Notice Poznámka Please enter a search string. Prosím vložte hledaný řetězec. OK OK Search Vyhledat CSelectIconDlg Delete Smazat Add Icons... Přidat ikonky... Images (%1) Obrázky (%1) %1: File could not be loaded. %1: Soubor nemohl být otevřen. Error Chyba Replace... Zaměnit... An error occured while loading the icon(s): %1 Vyskytla se chyba během otevírání ikonky (ikonek): %1 An error occured while loading the icon. Během otevírání ikonky se vyskytla chyba. Add Custom Icon Pick Vybrat %1: File could not be loaded. An error occured while loading the icon(s): CSettingsDlg Settings Nastavení Select a directory... Výběr adresáře... Select an executable... System Language CalendarDialog Calendar CollectEntropyDlg Entropy Collection Random Number Generator Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> CustomizeDetailViewDialog Group Title Název Username Password Heslo Url Comment Komentář Attachment Name Creation Date Last Access Date Last Modification Date Expiration Date Time till Expiration Dialog Rich Text Editor Bold B Italic I Underlined U Left-Aligned L Centered C Right-Aligned R Justified Text Color Font Size 6 7 8 9 10 11 12 14 16 18 20 22 24 26 28 36 42 78 Templates T HTML Cancel Zrušit Database Never Nikdy DatabaseSettingsDlg Database Settings Nastavení databáze Encryption Zašifrování Algorithm: Algoritmus: Encryption Rounds: Počet kol zašifrování: Calculate rounds for a 1-second delay on this computer DetailViewTemplate Group Title Název Username Password Heslo URL URL Creation Vytvoření Last Access Poslední přístup Last Modification Expiration Comment Komentář EditEntryDialog Edit Entry Úprava záznamu Username: Uživatel: Password Repet.: Zopakování hesla: Title: Název: URL: URL: Repeat: Password: Heslo: Quality: Úroveň zajištění: Comment: Komentář: Expires: Platnost vyprší: Group: Skupina: &Cancel &zrušit Alt+C Alt+C %1 %1 Icon: Ikonka: Ge&n. Ge&n. ... ... O&K O&K Alt+K Alt+K Never Nikdy Attachment: Příloha: > > %1 Bit %1 bitů EditGroupDialog Group Properties Vlastnosti skupiny Title: Název: Icon: Ikonka: &Cancel &zrušit Alt+C Alt+C O&K O&K Alt+K Alt+K > > ExpiredEntriesDialog Expired Entries Double click on an entry to jump to it. Group Title Název Username Expired Expired Entries in the Database Export_KeePassX_Xml XML Files (*.xml) All Files (*) KeePassX XML File Export_Txt Could not open file (FileError=%1) Nelze otevřít soubor (FileError=%1) All Files (*) Text Files (*.txt) Text File ExporterBase Export Failed Export File... FileErrors No error occurred. An error occurred while reading from the file. An error occurred while writing to the file. A fatal error occurred. An resource error occurred. The file could not be opened. The operation was aborted. A timeout occurred. An unspecified error occurred. The file could not be removed. The file could not be renamed. The position in the file could not be changed. The file could not be resized. The file could not be accessed. The file could not be copied. GenPwDlg Alt+U Alt+U Alt+N Alt+N Alt+M Alt+M Alt+L Alt+L Password Generator Generátor hesla Accep&t Převzí&t &Cancel &zrušit Generate Vygenerovat New Password: Nové heslo: Custom Use the following characters: Quality: Kvalita: Options Volby &Upper Letters &Velká písmena &Lower Letters &Malá písmena &Numbers Čís&la &Special Characters &Zvláštní znaky Minus Minus U&nderline Po&dtržítko h&igher ANSI-Characters &Speciální ANSI znaky Alt+H Alt+H Use &only following characters: Používat &jen následující znaky: Alt+O Alt+O Length: Délka: Use "/dev/rando&m" Použít "/dev/rando&m" Use follo&wing character groups: Použít následující &skupiny znaků: Alt+W Alt+W White &Spaces Me&zery Alt+S Alt+S Enable entropy collection Collect only once per session Random Use following character groups: &Underline &White Spaces &Minus Exclude look-alike characters Ensure that password contains characters from every group Pronounceable Lower Letters Upper Letters Numbers Special Characters HelpDlg Help Contents Previous Page Next Page First Page Import_KWalletXml XML Files (*.xml) All Files (*) Import Failed Invalid XML data (see stdout for details). Neplatná XML data (viz stdout pro podrobnosti). Invalid XML file. Neplatný XML soubor. Document does not contain data. Dokument neobsahuje žádná data. Import_KeePassX_Xml KeePass XML Files (*.xml) All Files (*) Import Failed XML parsing error on line %1 column %2: %3 Parsing error: File is no valid KeePassX XML file. Import_PwManager PwManager Files (*.pwm) All Files (*) Import Failed File is empty. Soubor je prázdný. File is no valid PwManager file. Soubor není ve formátu PwManager. Unsupported file version. Nepodporovaná verze souboru. Unsupported hash algorithm. Nepodporovaný hash algoritmus. Unsupported encryption algorithm. Nepodporovaný šifrovací algoritmus. Compressed files are not supported yet. Zkompresované soubory nejsou ještě podporovány. Wrong password. Chybné heslo. File is damaged (hash test failed). Soubor je poškozen (hast test selhall). Invalid XML data (see stdout for details). Neplatná XML data (viz stdout pro podrobnosti). ImporterBase Import File... Import Failed Kdb3Database Could not open file. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Neočekávaná velikost souboru (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Chybný podpis Unsupported File Version. Nepodporovaná verze souboru. Unknown Encryption Algorithm. Neznámý algoritmus zašifrování. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Decryption failed. The key is wrong or the file is damaged. Rozšifrování se nepodařilo. Buď je nesprávný klíč nebo je soubor poškozen. Hash test failed. The key is wrong or the file is damaged. Hash test selhal. Klíč je chybný nebo je soubor poškozen. Unexpected error: Offset is out of range. [G1] Neočekávaná chyba: Offset je mimo rozsah. [G1] Unexpected error: Offset is out of range. [G2] Neočekávaná chyba: Offset je mimo rozsah. [G2] Unexpected error: Offset is out of range. [E1] Neočekávaná chyba: Offset je mimo rozsah. [E1] Unexpected error: Offset is out of range. [E2] Neočekávaná chyba: Offset je mimo rozsah. [E2] Unexpected error: Offset is out of range. [E3] Neočekávaná chyba: Offset je mimo rozsah. [E3] Invalid group tree. Key file is empty. The database must contain at least one group. Could not open file for writing. Nebylo možné otevřít soubor pro zápis. Unexpected error: Offset is out of range. The database has been opened read-only. Kdb3Database::EntryHandle Bytes KiB MiB GiB KeepassEntryView Title Název Username Uživatelské jméno URL URL Password Heslo Comments Komentáře Expires Vyprší Creation Vytvoření Last Change Poslední změna Last Access Poslední přístup Attachment Příloha %1 items %1 položky Delete? Group Error Chyba At least one group must exist before adding an entry. OK OK Are you sure you want to delete this entry? Are you sure you want to delete these %1 entries? KeepassGroupView Search Results Výsledky hledání Groups Skupiny Delete? Are you sure you want to delete this group, all its child groups and all their entries? KeepassMainWindow Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+M locked Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Chyba The following error occured while opening the database: %1 Při otevírání databáze se objevila následující chyba: %1 OK OK Save modified file? Uložit změněný soubor? The current file was modified. Do you want to save the changes? Aktuální soubor byl změněn. Mají být změny uloženy? Yes Ano No Ne Cancel Zrušit KeePassX - %1 KeePassX - %1 <B>Group: </B>%1 <B>Title: </B>%2 <B>Username: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Password: </B>%5 <B>Creation: </B>%6 <B>Last Change: </B>%7 <B>LastAccess: </B>%8 <B>Expires: </B>%9 <B>Skupina: </B>%1 <B>Název: </B>%2 <B>Uživ. jméno: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Heslo: </B>%5 <B>Vytvořeno: </B>%6 <B>Poslední změna: </B>%7 <B>Poslední přístup: </B>%8 <B>Vyprší: </B>%9 Clone Entry Naklonovat záznam Delete Entry Smazat záznam Clone Entries Naklonovat záznamy Delete Entries Smazat záznamy File could not be saved. %1 Soubor nemohl být uložen. %1 Save Database As... Uložit databázi jako ... Ready Připraveno [new] [nový] Open Database... Otevřít databázi ... Loading Database... Otevírání databáze ... Loading Failed Otevření selhalo Could not create key file. The following error occured: %1 Nebylo možné vytvořit klíčový soubor. Vyskytla se následující chyba: %1 Export To... Vyexportovat do ... KeePassX [new] KeePassX [new] Unknown error in Import_PwManager::importFile()() Neznámá chyba v Import_PwManager::importFile()() Unknown error in Import_KWalletXml::importFile() Neznámaá chyba v Import_KWalletXml::importFile() Unknown error in PwDatabase::openDatabase() Neznámá chyba v PwDatabase::openDatabase() Ctrl+V Ctrl+V Show Toolbar Panel nástrojů KeePassX KeePassX Unknown error while loading database. KeePass Databases (*.kdb) All Files (*) Save Database... 1 Month %1 Months 1 Year %1 Years 1 Day %1 Days less than 1 day Ctrl+L Ctrl+Q The database file does not exist. Couldn't create database lock file. new Expired Un&lock Workspace &Lock Workspace The following error occured while opening the database: File could not be saved. Show &Toolbar Ctrl+P Ctrl+X Ctrl+I Database locked The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? The current file was modified. Do you want to save the changes? Couldn't remove database lock file. Open read-only Couldn't create lock file. Opening the database read-only. Main Error Chyba File '%1' could not be found. Soubor '%1' nemohl být nalezen. OK OK MainWindow KeePassX KeePassX Columns Sloupečky PwManager File (*.pwm) PwManager souboru (*.pwm) KWallet XML-File (*.xml) KWallet XML-souboru (*.xml) Add New Group... Přidat novou skupinu... Edit Group... Upravit skupinu... Delete Group Smazat skupinu Copy Password to Clipboard Zkopírovat heslo do schránky Copy Username to Clipboard Zkopírovat uživatelské jméno do schránky Open URL Otevřít URL Save Attachment As... Uložit přílohu jako... Add New Entry... Přidat novou položku... View/Edit Entry... Zobrazit/upravit položku... Delete Entry Smazat položku Clone Entry Naklonovat položku Search In Database... Vyhledat v databázi... Search in this group... Vyhledat v této skupině... Show Toolbar Panel nástrojů Show Entry Details Detaily položky Hide Usernames Skrýt uživatelská jména Hide Passwords Skrýt hesla Title Název Username Uživatel URL URL Password Heslo Comment Komentář Expires Platnost Creation Vytvoření Last Change Poslední změna Last Access Poslední přístup Attachment Příloha Show Statusbar Stavový řádek Plain Text (*.txt) Jednoduchého textu (*.txt) Hide Skrýt Perform AutoType Provádět autodoplňování Type Here Psát zde Toolbar Icon Size Velikost ikonek na panelu nástrojů 16x16 16x16 22x22 22x22 28x28 28x28 &View &Zobrazit &File &Soubor &Import from... &Importovat z ... &Export to... &Exportovat do ... &Edit &Upravit E&xtras &Doplňky &Help &Nápověda &New Database... Nová &databáze... &Open Database... &Otevřít databázi... &Close Database Za&vřít databázi &Save Database Uloži&t databázi Save Database &As... Uložit databázi &jako... &Database Settings... Nastavení data&báze... Change &Master Key... Změnit &master klíč... E&xit Uk&ončit &Settings... N&astavení... &About... O a&plikaci... &KeePassX Handbook... &KeePassX příručka... &Group Recycle Bin... Groups Skupiny &Lock Workspace &Bookmarks Toolbar &Icon Size &Columns &Manage Bookmarks... &Quit &Edit Group... &Delete Group Copy Password &to Clipboard Copy &Username to Clipboard &Open URL &Save Attachment As... Add &New Entry... &View/Edit Entry... De&lete Entry &Clone Entry Search &in Database... Search in this &Group... Show &Entry Details Hide &Usernames Hide &Passwords &Title User&name &URL &Password &Comment E&xpires C&reation &Last Change Last &Access A&ttachment Show &Statusbar &Perform AutoType &16x16 &22x22 2&8x28 28x28 {2&8x?} &Password Generator... Show &Expired Entries... &Add Bookmark... Bookmark &this Database... &Minimize Window &Add New Subgroup... Copy URL to Clipboard &Entries &Groups Sort groups ManageBookmarksDlg Manage Bookmarks PasswordDialog Enter Master Key Set Master Key Change Master Key Database Key Klíč k databázi Last File Select a Key File Vyberte soubor s klíčem All Files (*) Key Files (*.key) Please enter a Password or select a key file. Vložte prosím heslo nebo vyberte soubor s klíčem. Please enter a Password. Vložte prosím heslo. Please provide a key file. %1: No such file or directory. The selected key file or directory is not readable. The given directory does not contain any key files. Daný adresář neobsahuje žádné soubory s klíči. The given directory contains more then one key files. Please specify the key file directly. %1: File is not readable. Create Key File... PasswordDlg TextLabel Textová nálepka OK OK ... ... Cancel Zrušit Enter a Password and/or choose a key file. Vložit heslo nebo vybrat soubor s klíčem. Key Klíč Password: Heslo: Key file or directory: Soubor s klíčem nebo adresář: &Browse... &Projít... Alt+B Alt+B Use Password AND Key File Použít heslo současně se souborem s klíčem Exit Ukončit Password Repet.: Zopakování hesla: Last File Key File: Generate Key File... Please repeat your password: Back Passwords are not equal. PwDatabase Unknown Error Neznámá chyba Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Neočekávaná velikost souboru (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Chybný podpis AES-Init Failed AES-Init selhal Unexpected error: Offset is out of range. [G1] Neočekávaná chyba: Offset je mimo rozsah. [G1] Unexpected error: Offset is out of range. [G2] Neočekávaná chyba: Offset je mimo rozsah. [G2] Unexpected error: Offset is out of range. [E1] Neočekávaná chyba: Offset je mimo rozsah. [E1] Unexpected error: Offset is out of range. [E2] Neočekávaná chyba: Offset je mimo rozsah. [E2] Unexpected error: Offset is out of range. [E3] Neočekávaná chyba: Offset je mimo rozsah. [E3] Hash test failed. The key is wrong or the file is damaged. Hash test selhal. Klíč je chybný nebo je soubor poškozen. Could not open key file. Nebylo možné otevřít soubor s klíčem. Key file could not be written. Soubor s klíčem nemohl být uložen. Could not open file. Nebylo možné otevřít soubor. Could not open file for writing. Nebylo možné otevřít soubor pro zápis. Unsupported File Version. Nepodporovaná verze souboru. Unknown Encryption Algorithm. Neznámý algoritmus zašifrování. Decryption failed. The key is wrong or the file is damaged. Rozšifrování se nepodařilo. Buď je nesprávný klíč nebo je soubor poškozen. QObject Warning Upozornění Could not save configuration file. Make sure you have write access to '~/.keepass'. Nebylo možné uložit konfigurační soubor, Ujistěte se, že je možný přístup do '~/.keepass'. OK OK File '%1' could not be found. Soubor '%1' nemohl být nalezen. File not found. Soubor nenalezen. Could not open file. Nebylo možné otevřít soubor. File is no valid PwManager file. Soubor není ve formátu PwManager. Unsupported file version. Nepodporovaná verze souboru. Unsupported hash algorithm. Nepodporovaný hash algoritmus. Unsupported encryption algorithm. Nepodporovaný šifrovací algoritmus. Compressed files are not supported yet. Zkompresované soubory nejsou ještě podporovány. Wrong password. Chybné heslo. File is damaged (hash test failed). Soubor je poškozen (hast test selhall). Invalid XML data (see stdout for details). Neplatná XML data (viz stdout pro podrobnosti). File is empty. Soubor je prázdný. Invalid XML file (see stdout for details). Neplatný XML soubor (viz stdout pro detaily). Invalid XML file. Neplatný XML soubor. Document does not contain data. Dokument neobsahuje žádná data. Error Chyba Warning: Upozornění: Invalid RGB color value. Neplatná RGB hodnota barvy. Never Nikdy SearchDialog Search Search_Dlg Alt+T Alt+T Alt+U Alt+U A&nhang Přílo&ha Alt+N Alt+N Alt+W Alt+W Alt+C Alt+C Search... Hledat... Search For: Vyhledat: Regular E&xpression Regulární &výraz Alt+X Alt+X &Case Sensitive S &ohledem na velikost písmene Include: Vložit: &Titles &Názvy &Usernames Uživatelská &jména C&omments Ko&mentáře Alt+O Alt+O U&RLs U&RLs Alt+R Alt+R Pass&words He&sla Search Hledat Clo&se U&zavřít Alt+S Alt+S Include Subgroups (recursive) Vložit podskupiny (rekurzívně) SelectIconDlg Icon Selection Výběr ikonky Add Custom Icon... Přidat vlastní ikonku... Pick Vybrat Cancel Zrušit SettingsDialog Alt+Ö Alt+Ö O&K O&K Alt+K Alt+K Alt+C Alt+C Settings Nastavení &Cancel &Zrušit Clear clipboard after: Smazat schránku po: Seconds Sekundách Sh&ow passwords in plain text by default Zobrazovat &hesla vždy jako obyčejný text Alt+O Alt+O Appea&rance Zo&brazení Banner Color Barva banneru Text Color: Barva textu: Change... Změnit... Color 2: Barva 2: C&hange... Z&měnit... Alt+H Alt+H Color 1: Barva 1: Expand group tree when opening a database Při otevření databáze rozvinout skupiny ve stromové struktuře &Other &Ostatní Browser Command: Příkaz pro prohlížeč: Securi&ty &Bezpečnost Alternating Row Colors Střídavě barevné podklady řádků Browse... Projít... Remember last key type and location Zapamatovat naposledy napsaný klíč a umístění Mounting Root: Mountovat jako Root: Remember last opened file Zapamatovat naposledy otevřený soubor Show system tray icon Save recent directories of file dialogs Group tree at start-up: Restore last state Expand all items Do not expand any item Security Edit Entry Dialog Plug-Ins None Gnome Desktop Integration (Gtk 2.x) KDE 4 Desktop Integration You need to restart the program before the changes take effect. Configure... Advanced Clear History Now Always ask before deleting entries or groups Customize Entry Detail View... You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Bookmarks Auto-Type Fine Tuning Time between the activation of an auto-type action by the user and the first simulated key stroke. ms Pre-Gap: Key Stroke Delay: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. The directory where storage devices like CDs and memory sticks are normally mounted. Media Root: Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Save relative paths (bookmarks and last file) Minimize to tray instead of taskbar Start minimized Start locked Lock workspace when minimizing the main window Global Auto-Type Shortcut: Custom Browser Command Browse Automatically save database on exit and workspace locking Show plain text passwords in: Database Key Dialog seconds Lock database after inactivity of Use entries' title to match the window for Global Auto-Type General (1) General (2) Appearance Language Minimize to tray when clicking the main window's close button Save backups of modified entries into the 'Backup' group Delete backup entries older than: days Automatically save database after every change Show window always on top Language: Author: ShortcutWidget Ctrl Shift Alt AltGr Win SimplePasswordDialog O&K O&K Alt+K Alt+K Alt+C Alt+C ... ... Enter your Password Vložit heslo Password: Heslo: &Cancel &Zrušit StandardDatabase Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Neočekávaná velikost souboru (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Chybný podpis Unsupported File Version. Nepodporovaná verze souboru. Unknown Encryption Algorithm. Neznámý algoritmus zašifrování. Decryption failed. The key is wrong or the file is damaged. Rozšifrování se nepodařilo. Buď je nesprávný klíč nebo je soubor poškozen. Hash test failed. The key is wrong or the file is damaged. Hash test selhal. Klíč je chybný nebo je soubor poškozen. Unexpected error: Offset is out of range. [G1] Neočekávaná chyba: Offset je mimo rozsah. [G1] Unexpected error: Offset is out of range. [G2] Neočekávaná chyba: Offset je mimo rozsah. [G2] Unexpected error: Offset is out of range. [E1] Neočekávaná chyba: Offset je mimo rozsah. [E1] Unexpected error: Offset is out of range. [E2] Neočekávaná chyba: Offset je mimo rozsah. [E2] Unexpected error: Offset is out of range. [E3] Neočekávaná chyba: Offset je mimo rozsah. [E3] Could not open file for writing. Nebylo možné otevřít soubor pro zápis. TargetWindowDlg Auto-Type: Select Target Window To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Translation $TRANSLATION_AUTHOR Marek Straka $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. marek@straka.info (<a href="http://marek.straka.info">marek.straka.info</a>) $LANGUAGE_NAME Insert your language name in the format: English (United States) TrashCanDialog Title Název WorkspaceLockedWidget Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> Unlock Close Database dbsettingdlg_base Database Settings Nastavení databáze Encryption Zašifrování Algorithm: Algoritmus: ? ? Encryption Rounds: Počet kol zašifrování: O&K O&K Ctrl+K Ctrl+K &Cancel &Zrušit Ctrl+C Ctrl+C keepassx-0.4.3/src/translations/keepassx-zh_CN.ts0000664000175000017500000022772111342454754021071 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: 有关如何翻译 KeePassX 的资料请参考: Team 团队 Developer, Project Admin 开发者、项目管理员 Web Designer 网站设计师 Developer 开发者 Thanks To 感谢 Patches for better MacOS X support 提高 MacOS X 兼容性的补丁 Main Application Icon 主应用程序图标 Various fixes and improvements 各种各样的补丁和改进 Error 发生错误 File '%1' could not be found. 文件 '%1' 未找到。 Make sure that the program is installed correctly. 请确定此程序安装的完整性。 OK OK Current Translation 当前翻译 None Please replace 'None' with the language of your translation 简体中文 Author 译者 AboutDlg About 关于 AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits 赞扬 Translation 翻译 License 许可条款 Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. (C) 2005-2009 KeePassX 团队。保留所有权。 KeePassX 在 GPL 第二版许可下发布。 AddBookmarkDlg Add Bookmark 添加书签 Title: 标题: File: 文件: Browse... 浏览... Edit Bookmark 编辑书签 KeePass Databases (*.kdb) KeePass 数据库 (*.kdb) All Files (*) 所有文件 (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - 自动填写 Click on an entry to auto-type it. 请选择要自动填写的项目。 Group Title 标题 Username 用户名 Auto-Type 自动填写 CDbSettingsDlg Settings 设置 AES(Rijndael): 256 Bit (default) 高级加密标准(Rijndael): 256 位 (默认) Twofish: 256 Bit 双鱼算法: 256 位 Warning 警告 Please determine the number of encryption rounds. 请设定加密次数。 OK OK Error 发生错误 '%1' is not valid integer value. '%1'不是有效的整数值。 The number of encryption rounds have to be greater than 0. 加密次数必需多于 0。 CEditEntryDlg Today 今天 1 Week 一周 2 Weeks 两周 3 Weeks 三周 1 Month 一个月 3 Months 三个月 6 Months 六个月 1 Year 一年 Calendar... 日历... %1 Bit %1 位 Edit Entry 编辑项目 Warning 警告 Password and password repetition are not equal. Please check your input. 输入的两个密码不一致。 请核对一下。 OK OK [Untitled Entry] [无标题项目] Add Attachment... 添加附件... Error 发生错误 Could not open file. 无法打开文件。 The chosen entry has no attachment or it is empty. 所选项目没有附件或是空的。 Save Attachment... 保存附件... Error while writing the file. 写入文件时发生错误。 Delete Attachment? 是否删除附件? You are about to delete the attachment of this entry. Are you sure? 你将删除此项目的附件。 是否要继续? Yes 确定 No, Cancel 否,取消 New Entry 新项目 CGenPwDialog Password Generator 密码设立工具 %1 Bits %1 位 CSelectIconDlg Replace... 取代... Delete 删除 Add Custom Icon 添加自定义图标 Pick 确定 Add Icons... 添加图标... Images (%1) 图像 (%1) %1: File could not be loaded. 文件 '%1' 不能加载。 Error 发生错误 An error occured while loading the icon(s): 加载图标时发生错误: An error occured while loading the icon. 加载图标时发生错误。 CSettingsDlg Settings 设置 Select a directory... 选择目录... Select an executable... 请选择可执行文件... System Language 系统语言 CalendarDialog Calendar 日历 CollectEntropyDlg Random Number Generator 随机数发生器 Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. 正在收集随机信息... 请随便移动鼠标或按键,直到随机信息足够于生成随机数。 <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">生成了随机池!</span></p></body></html> Entropy Collection 收集随机信息 CustomizeDetailViewDialog Dialog 对话 Rich Text Editor 文本编辑器 Bold 粗体 B B Italic 斜体 I I Underlined 下划线 U U Left-Aligned 左对齐 L L Centered 居中 C C Right-Aligned 右对齐 R R Justified 左右对齐 Text Color 字符颜色 Font Size 字体大小 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates 模板 T HTML HTML Group Title 标题 Username 用户名 Password 密码 Url 网址 Comment 备注 Attachment Name 附件名称 Creation Date 创建日期 Last Access Date 上次访问日期 Last Modification Date 上次修改日期 Expiration Date 失效日期 Time till Expiration 到失效期的剩余时间 Database Never 永不 DatabaseSettingsDlg Database Settings 数据库设置 Encryption 加密 Algorithm: 算法: Encryption Rounds: 加密次数: Calculate rounds for a 1-second delay on this computer 测试本台电脑延时一秒钟所需的加密次数 DetailViewTemplate Group Title 标题 Username 用户名 Password 密码 URL 网址 Creation 创建日期 Last Access 上次访问 Last Modification 上次修改 Expiration 失效日期 Comment 备注 EditEntryDialog Edit Entry 编辑项目 Ge&n. 设立(&N) Quality: 质量: Attachment: 附件: Title: 标题: Username: 用户名: Comment: 备注: %1 %1 URL: 网址: Group: 组: Password Repet.: 重输密码: Password: 密码: Expires: 失效日期: Never 永不 %1 Bit %1 位 Icon: 图标: Repeat: EditGroupDialog Group Properties 组属性 Icon: 图标: Title: 标题: > > ExpiredEntriesDialog Expired Entries 已失效项目 Double click on an entry to jump to it. 双击打开项目。 Group Title 标题 Username 用户名 Expired 已失效 Expired Entries in the Database 数据库中已失效项目 Export_KeePassX_Xml KeePassX XML File KeePassX XML 文件 XML Files (*.xml) XML 文件 (*.xml) All Files (*) 所有文件 (*) Export_Txt Text File 文本文件 All Files (*) 所有文件 (*) Text Files (*.txt) 文本文件 (*.txt) ExporterBase Export Failed 输出失败 Export File... 输出文件... FileErrors No error occurred. 未发生错误。 An error occurred while reading from the file. 读取文件时发生错误。 An error occurred while writing to the file. 写入文件时发生错误。 A fatal error occurred. 发生致命错误。 An resource error occurred. 发生资源错误。 The file could not be opened. 无法打开文件。 The operation was aborted. 已终止操作。 A timeout occurred. 发生超时。 An unspecified error occurred. 发生未指明错误。 The file could not be removed. 无法删除文件。 The file could not be renamed. 无法重命名文件。 The position in the file could not be changed. 无法改变其在文件里的位置。 The file could not be resized. 无法改变文件的大小。 The file could not be accessed. 无法读取文件。 The file could not be copied. 无法复制文件。 GenPwDlg Password Generator 密码发生器 Options 设置 Use follo&wing character groups: 使用以下字符组(&W): &Lower Letters 小写字母(&L) &Numbers 数字(&N) &Upper Letters 大写字母(&U) &Special Characters 特殊字符(&S) Use &only following characters: 仅使用以下字符(&O): Length: 长度: Quality: 质量: Enable entropy collection 使用收集随机信息功能 Collect only once per session 每个会话仅收集一次随机信息 New Password: 新的密码: Generate 设立 Random 随机 &Underline 下划线(&U) &White Spaces 空格(&W) &Minus 负号(&M) Exclude look-alike characters 拒绝表面相似的字符 Ensure that password contains characters from every group 密码必需要包含所有字符组的字符 Pronounceable 可发音的 Lower Letters 小写字母 Upper Letters 大写字母 Numbers 数字 Special Characters 特殊字符 Use following character groups: Custom Use the following characters: HelpDlg Previous Page Next Page First Page Help Contents Import_KWalletXml XML Files (*.xml) XML 文件 (*.xml) All Files (*) 所有文件 (*) Import Failed 导入失败 Invalid XML data (see stdout for details). 无效的 XML 数据(详情请见 stdout)。 Invalid XML file. 无效的 XML 文件。 Document does not contain data. 文档是空的。 Import_KeePassX_Xml KeePass XML Files (*.xml) KeePass XML 文件 (*.xml) All Files (*) 所有文件 (*) Import Failed 导入失败 XML parsing error on line %1 column %2: %3 在第 %1 行第 %2 列的 XML 剖析错误: %3 Parsing error: File is no valid KeePassX XML file. 剖析错误: 文件不是有效的 KeePassX XML 文件。 Import_PwManager PwManager Files (*.pwm) PwManager 文件 (*.pwm) All Files (*) 所有文件 (*) Import Failed 导入失败 File is empty. 文件是空的。 File is no valid PwManager file. 文件不是有效的 PwManager 文件。 Unsupported file version. 不支持此文件版本。 Unsupported hash algorithm. 不支持的哈希算法。 Unsupported encryption algorithm. 不支持的加密算法。 Compressed files are not supported yet. 尚不支持压缩文件。 Wrong password. 密码不正确。 File is damaged (hash test failed). 该文件已损失 (哈希测试失败)。 Invalid XML data (see stdout for details). 无效的 XML 数据(详情请见 stdout)。 ImporterBase Import File... 导入文件... Import Failed 导入失败 Kdb3Database Could not open file. 无法打开文件。 Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) 意外文件大小 (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature 签名不正确 Unsupported File Version. 不支持此文件版本。 Unknown Encryption Algorithm. 未知的加密算法。 Decryption failed. The key is wrong or the file is damaged. 解密失败。 密钥不正确或文件已损失。 Hash test failed. The key is wrong or the file is damaged. 哈希测试失败。 密钥不正确或文件已损失。 Unexpected error: Offset is out of range. 意外错误: 偏移量在范围之外。 Invalid group tree. 无效的主树。 Key file is empty. 密钥是空的。 The database must contain at least one group. 数据库至少得包含一个组。 Unable to initalize the twofish algorithm. 无法初始化双鱼算法。 The database has been opened read-only. 数据库以只读方式打开。 Unable to initialize the twofish algorithm. Unknown encryption algorithm. Kdb3Database::EntryHandle Bytes 字节 KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? 是否要删除? Error 发生错误 At least one group must exist before adding an entry. 在新建项目之前,先需建立一个组。 OK OK Title 标题 Username 用户名 URL 网址 Password 密码 Comments 备注 Expires 失效日期 Creation 创建日期 Last Change 上次修改 Last Access 上次访问 Attachment 附件 Group Are you sure you want to delete this entry? 你是否肯定要删除该项目? Are you sure you want to delete these %1 entries? 你是否肯定要删除这 %1 个项目? KeepassGroupView Search Results 搜寻结果 Delete? 是否要删除? Are you sure you want to delete this group, all its child groups and all their entries? 你是否确定要删除该组、其全部子组以及所属的全部项目? KeepassMainWindow Ready 准备就绪 Locked 锁定 Unlocked 未锁定 Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Error 发生错误 The database file does not exist. 数据库文件不存在。 Loading Database... 正在加载数据库... Loading Failed 加载失败 Unknown error while loading database. 加载数据库时发生了未知错误。 The following error occured while opening the database: 在打开数据库时发生了下述错误: Save modified file? 是否保存修改过的文件? new Open Database... 打开数据库... KeePass Databases (*.kdb) KeePass 数据库 (*.kdb) All Files (*) 所有文件 (*) Expired 已失效 1 Month 一个月 %1 Months %1 个月 1 Year 一年 %1 Years %1 年 1 Day 一天 %1 Days %1 天 less than 1 day 不到一天 Clone Entry 复制该项目 Delete Entry 删除该项目 Clone Entries 复制这些项目 Delete Entries 删除这些项目 File could not be saved. 不能保存文件。 Save Database... 保存数据库... Un&lock Workspace 解出锁定工作区(&L) &Lock Workspace 锁住工作区(&L) Show &Toolbar 显示工具栏(&T) Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked 数据库锁定 The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? 该数据库已锁定。 这或者是因为别人正开着数据库,或者是因为 KeepassX 上次打开数据库时崩溃了。 你是否还想继续打开? The current file was modified. Do you want to save the changes? 当前文件已被更改。 你是否要保存? Couldn't remove database lock file. 无法删除数据库锁定文件。 Open read-only 以只读方式打开 Couldn't create lock file. Opening the database read-only. 无法创建锁定文件。以只读方式打开数据库。 Couldn't create database lock file. locked Ctrl+M Main Error 发生错误 File '%1' could not be found. 文件 '%1' 未找到。 MainWindow KeePassX KeePassX Groups &Help 帮助(&H) &File 文件(&F) &Export to... 输出成(&E)... &Import from... 导入(&I)... &View 查看(&V) E&xtras 额外项目(&E) &Open Database... 打开数据库(&O)... &Close Database 关闭数据库(&C) &Save Database 保存数据库(&S) Save Database &As... 数据库另存为(&A)... &Database Settings... 数据库设置(&D)... Change &Master Key... 修改主密钥(&M)... &Lock Workspace 锁住工作区(&L) &Settings... 设置(&S)... &About... 关于(&A)... &KeePassX Handbook... KeePassX 指南(&K)... Hide 隐藏 Recycle Bin... 垃圾桶... &Bookmarks 书签(&B) Toolbar &Icon Size 工具栏及图标大小(&I) &Columns 列(&C) &Manage Bookmarks... 管理书签(&M)... &Quit 退出(&Q) &Edit Group... 编辑组(&E)... &Delete Group 删除组(&D) Copy Password &to Clipboard 将密码复制到剪贴板(&T) Copy &Username to Clipboard 将用户名复制到剪贴板(&T) &Open URL 打开网址(&O) &Save Attachment As... 数据库另存为(&S)... Add &New Entry... 新建项目(&N)... &View/Edit Entry... 查看或编辑该项目(&V)... De&lete Entry 删除该项目(&L) &Clone Entry 复制该项目(&C) Search &in Database... 在数据库里搜寻(&I)... Search in this &Group... 在该组里搜寻(&G)... Show &Entry Details 显示项目详情(&E) Hide &Usernames 隐藏用户名(&U) Hide &Passwords 隐藏密码(&P) &Title 标题(&T) User&name 用户名(&N) &URL 网址(&U) &Password 密码(&P) &Comment 备注(&C) E&xpires 失效日期(&E) C&reation 创建日期(&R) &Last Change 上次修改(&L) Last &Access 上次访问(&A) A&ttachment 附件(&T) Show &Statusbar 显示状态栏(&S) &Perform AutoType 进行自动填写(&P) &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... 新建数据库(&N)... &Password Generator... 密码设立工具(&P)... &Group (search results only) 组(&G) (仅在搜寻结果中) Show &Expired Entries... 显示已失效的项目(&E)... &Add Bookmark... 添加书签(&A)... Bookmark &this Database... 将该数据库加为书签(&T)... &Add New Subgroup... 新建子组(&A)... Copy URL to Clipboard 将网址复制到剪贴板 Add New Group... 新建组... &Entries 项目(&E) &Groups 组(&G) Sort groups 对组进行排序 &Group &Minimize Window ManageBookmarksDlg Manage Bookmarks 管理书签 PasswordDialog Enter Master Key 输入主密钥 Set Master Key 设定主密钥 Change Master Key 修改主密码 Database Key 数据库密钥 Last File 上一个密钥 Select a Key File 选择密钥 All Files (*) 所有文件 (*) Key Files (*.key) 密钥文件 (*.key) Please enter a Password or select a key file. 请输入一个密码或选择密钥。 Please enter a Password. 请输入一个密码。 Please provide a key file. 请提供一个密钥。 %1: No such file or directory. %1: 此文件或目录不存在。 The selected key file or directory is not readable. 不能读取此密钥或所在目录。 The given directory does not contain any key files. 所选目录不含有任何密钥。 The given directory contains more then one key files. Please specify the key file directly. 所选目录含有多个密钥 请指定具体密钥。 %1: File is not readable. %1: 不能读取此文件。 Create Key File... 创建密钥... PasswordDlg Last File 上一个密钥 Enter a Password and/or choose a key file. 请输入你的密码与(或)选择密钥。 Key 密钥 Password: 密码: &Browse... 浏览(&B)... Key File: 密钥: Generate Key File... 创造密钥... Please repeat your password: 请重新输入密码: Back 返回 Passwords are not equal. 两个密码不一致。 SearchDialog Search 搜寻 Search_Dlg Search... 搜寻... Include: 包括: Pass&words 密码(&W) A&nhang 附录(&A) U&RLs 网址(&R) C&omments 备注(&O) &Usernames 用户名(&U) &Titles 标题(&T) &Case Sensitive 匹配大小写(&C) Regular E&xpression 正则表达式(&X) Include Subgroups (recursive) 包括子组 (递归) Search For: 搜寻什么: SelectIconDlg Icon Selection 选择图标 SettingsDialog Settings 设置 Show system tray icon 显示通知图标 Minimize to tray instead of taskbar 窗口最小化到系统托盘而不是到任务栏 Minimize to tray when clicking the main window's close button 点击主窗口的关闭按钮时,最小化到系统托盘 Remember last opened file 记住上次打开的数据库 Remember last key type and location 记住上次密钥的类型及其位置 Start minimized 启动时最小化 Start locked 启动时锁定窗口 Save recent directories of file dialogs 记住文件对话框里所打开过的目录 Clear History Now 立即清除记录 Always ask before deleting entries or groups 删除项目或者组时总需确认 Banner Color 横幅颜色 Text Color: 字符颜色: Change... 更改... Color 2: 第二个颜色: C&hange... 更改(&H)... Color 1: 第一个颜色: Alternating Row Colors 相间行列颜色 Customize Entry Detail View... 自定义项目详情格式... Group tree at start-up: 启动时的主树: Restore last state 恢复上次会话的状态 Expand all items 展开所有项目 Do not expand any item 不要展开项目 Security 安全 Edit Entry Dialog 编辑项目对话框 Clear clipboard after: 保留剪贴板内容的期限: Lock workspace when minimizing the main window 最小化主窗口时锁定工作区 You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. 为了保持用户界面的轻量易用,你可以根据你的需求在此禁用 KeePassX 的一些功能。 Bookmarks 书签 Plug-Ins 插件 None Gnome Desktop Integration (Gtk 2.x) GNOME 桌面环境整合 (Gtk 2.x) KDE 4 Desktop Integration KDE 4 桌面环境整合 You need to restart the program before the changes take effect. 你需要重启此程序,所进行的更改才能见效。 Configure... 配置... Advanced 高级 Auto-Type Fine Tuning 自动填写微调 Time between the activation of an auto-type action by the user and the first simulated key stroke. 用户进行自动填写动作与第一个模拟按键的间隔时间。 ms ms Pre-Gap: 前置间隙: Key Stroke Delay: 按键间隔: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. 两个模拟按键之间的间隔时间。如果进行自动填写时出现跳过字符的情况,可以提高此值。 Custom Browser Command 自定义浏览器命令 Browse 浏览 Media Root: 媒体根目录: The directory where storage devices like CDs and memory sticks are normally mounted. 像光盘、U盘等存储设备的挂载目标目录。 Browse... 浏览... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. 若你不想你的书签和上次打开的文件依赖于其绝对路径,可以启用此功能。这可便于那些在路上使用 KeePassX,有不断改变挂载点的用户。 Save relative paths (bookmarks and last file) 记住相对路径 (书签和上次打开的数据库) Global Auto-Type Shortcut: 通用的自动填写快捷键: Automatically save database on exit and workspace locking 锁定工作区或者退出时,自动保存数据库 Show plain text passwords in: 在哪里显示纯文本密码: Database Key Dialog 数据库密钥对话框 seconds 秒钟 Lock database after inactivity of 电脑闲置时自动锁定数据库期限 Use entries' title to match the window for Global Auto-Type 按照项目的标题来与自动填写的目标窗口进行匹配 General (1) 主要 (1) General (2) 主要 (2) Appearance 外观 Language 语言 Save backups of modified entries into the 'Backup' group 将已修改项目的备份保存到'备份'组 Delete backup entries older than: 保留备份的期限: days Automatically save database after every change 每次更改后,自动保存数据库 Language: 语言: Author: 译者: Show window always on top ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password 请输入你的密码 Password: 密码: TargetWindowDlg Auto-Type: Select Target Window 自动填写: 请选择目标窗口 To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: 要想指定目标窗口,你或者可以在下拉式列表框中选择,或者可以手动输入窗口的标题: Translation $TRANSLATION_AUTHOR Jonathan Lumb $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. jonolumb@gmail.com $LANGUAGE_NAME Insert your language name in the format: English (United States) 简体中文 (Mainland China) WorkspaceLockedWidget Form 表格 <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">工作区已锁定。</span></p></body></html> Unlock 解出锁定 Close Database 关闭数据库 keepassx-0.4.3/src/translations/keepassx-es_ES.ts0000664000175000017500000036724611342454754021075 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: La información sobre cómo traducir KeePassX se puede encontrar en: Team Equipo Developer, Project Admin Desarrollador, Administrador del Proyecto Web Designer Diseñador Web Developer Desarrollador Thanks To Agradecimientos Patches for better MacOS X support Parches para un soporte en MacOS X mejorado Main Application Icon Icono de la Aplicación Principal Various fixes and improvements Varias correcciones y improvisaciones Error Error File '%1' could not be found. El archivo '%1' no puede ser encontrado. Make sure that the program is installed correctly. Asegúrate de que el programa esté correctamente instalado. OK OK Current Translation Traducción Actual None Please replace 'None' with the language of your translation Spanish - Spain - Castellano - España Author Cross - http://genlinux.wordpress.com AboutDlg About Acerca de AppName Nombre de Aplicación AppFunc Función de Aplicación http://keepassx.sourceforge.net keepassx@gmail.com Credits Créditos Translation Traducción License Licencia Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyrigh (C) 2005 - 2009 KeePassX Team KeePassX está distribuido con la licencia de General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Añadir marcador Title: Título: File: Fichero: Browse... Navega... Edit Bookmark Editar marcador KeePass Databases (*.kdb) Bases de datos KeePass (*.kbd) All Files (*) Todos los ficheros (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - Auto-Escribir Click on an entry to auto-type it. Haz click en una entrada para auto-escribirla. Group Grupo Title Título Username Nombre de usuario Auto-Type Auto-Escribir CDbSettingsDlg Settings Ajustes AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (por defecto) Twofish: 256 Bit Twofish: 256 Bit Warning Avíso Please determine the number of encryption rounds. Por favor, determina el número de rondas de encriptación. OK OK Error Error '%1' is not valid integer value. '%1' no es un valor íntegro The number of encryption rounds have to be greater than 0. El número de rondas de encriptación tiene que ser mayor de 0. CEditEntryDlg Today Hoy 1 Week 1 Semana 2 Weeks 2 Semanas 3 Weeks 3 Semanas 1 Month 1 Mes 3 Months 3 Meses 6 Months 6 Meses 1 Year 1 Año Calendar... Calendario... %1 Bit %1 Bit Edit Entry Editar entrada Warning Aviso Password and password repetition are not equal. Please check your input. La contraseña y la contraseña repetida no son iguales Por favor, comprueba que las hayas escrito correctamente OK OK [Untitled Entry] [Entrada sin título] Add Attachment... Añadir Adjunto... Error Error Could not open file. No se ha podido abrir el fichero. The chosen entry has no attachment or it is empty. La entrada seleccionada no tiene adjuntos o está vacia. Save Attachment... Guardar adjunto.... Error while writing the file. Error mientras se escribía en el fichero. Delete Attachment? Borrar adjunto? You are about to delete the attachment of this entry. Are you sure? Estás a punto de borrar el adjunto de esta entrada. ¿Estás seguro? Yes Si No, Cancel No, cancelar. New Entry Nueva Entrada CGenPwDialog Password Generator Generador de Contraseñas %1 Bits %1 Bits CSelectIconDlg Replace... Reemplazar... Delete Borrar Add Custom Icon Añadir un icono personalizado Pick Seleccionar Add Icons... Añadir iconos... Images (%1) Imágenes (%1) %1: File could not be loaded. %1: El fichero no puede ser cargado. Error Error An error occured while loading the icon(s): Ha ocurrido un error mientras se cargaban los iconos: An error occured while loading the icon. Ha ocurrido un error mientras se cargaba el icono. CSettingsDlg Settings Ajustes Select a directory... Selecciona un directorio... Select an executable... Selecciona un ejecutable... System Language Idioma del sistema CalendarDialog Calendar Calendario CollectEntropyDlg Random Number Generator Generador de Números Aleatorios Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Recolectando entropía... Por favor, mueve el ratón y/o presiona teclas hasta que haya suficiente entropía para recoger de el generador de números aleatorios. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Se terminó de generar!</span></p></body></html> Entropy Collection Colección de Entropía CustomizeDetailViewDialog Dialog Diálogo Rich Text Editor Editor de Texto Rico Bold Negrita B B Italic Cursiva I I Underlined Subrayado U U Left-Aligned Aliniado a la Izquierda L L Centered Centrado C C Right-Aligned Aliniado a la Derecha R R Justified Justificado Text Color Texto de Color Font Size Tamaño de la fuente 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Plantillas T T HTML HTML Group Grupo Title Título Username Nombre de usuario Password Contraseña Url URL Comment Comentario Attachment Name Nombre del adjunto Creation Date Fecha de creación Last Access Date Fecha del Último Acceso Last Modification Date Fecha de última modificación Expiration Date Fecha de expiración Time till Expiration Tiempo hasta que expire Database Never Nunca DatabaseSettingsDlg Database Settings Parámetro de la base de datos Encryption Encriptacion Algorithm: Algoritmo: Encryption Rounds: Rondas de Encriptación: Calculate rounds for a 1-second delay on this computer Calcular rondas para 1 segundo de parón en este equipo. DetailViewTemplate Group Grupo Title Título Username Nombre de Usuario Password Contraseña URL URL Creation Creación Last Access Último Acceso Last Modification Última modificación Expiration Expiración Comment Comentario EditEntryDialog Edit Entry Editar Entrada Ge&n. Ge&n Quality: Calidad: Attachment: Adjunto: Title: Título: Username: Nombre de Usuario: Comment: Comentario: Repeat: %1 %1 URL: URL: Group: Grupo: Password Repet.: Repetir Contraseña: Password: Contraseña: Expires: Expira: Never Nunca %1 Bit %1 Bit Icon: Icóno: EditGroupDialog Group Properties Propiedades del Grupo Icon: Icóno. Title: Título: > > ExpiredEntriesDialog Expired Entries Entradas Expiradas Double click on an entry to jump to it. Doble click en una entrada para saltar a ella. Group Grupo Title Título Username Nombre de usuario Expired Expirado Expired Entries in the Database Entradas Expiradas en la Base de Datos Export_KeePassX_Xml KeePassX XML File Fichero KeePassX XML XML Files (*.xml) Ficheros XML (*.xml) All Files (*) Todos los archivos (*) Export_Txt Text File Fichero de Texto All Files (*) Todos los Ficheros (*) Text Files (*.txt) Ficheros de Texto (*.txt) ExporterBase Export Failed Exportar fallidos Export File... Exportar fichero... FileErrors No error occurred. No ha ocurrido ningún error. An error occurred while reading from the file. Ha ocurrido un error mientras se leía desde el fichero. An error occurred while writing to the file. Ha ocurrido un error mientras se escribía en el fichero. A fatal error occurred. Ha ocurrido un error fatal. An resource error occurred. Ha ocurrido un error desde los recursos. The file could not be opened. El fichero no ha podido ser abierto. The operation was aborted. La operación ha sido abortada. A timeout occurred. Se ha alcanzado el tiempo máximo de espera. An unspecified error occurred. Ha ocurrido un error sin especificar. The file could not be removed. El fichero no ha podido ser borrado. The file could not be renamed. El fichero no ha podido ser renombrado. The position in the file could not be changed. La posición en el fichero no ha podido ser cambiada. The file could not be resized. No se ha podido modificar el tamaño del fichero. The file could not be accessed. No se ha podido acceder al fichero. The file could not be copied. El fichero no ha podido ser copiado. GenPwDlg Password Generator Generador de Contraseñas Custom Use the following characters: Options Opciones Use follo&wing character groups: Usar los siguientes grupos de carácteres: Alt+W ALT+W &Lower Letters &Letras minúscula Alt+L ALT+L Alt+N ALT+N &Numbers &Números Alt+S ALT+S &Upper Letters &Letras mayúsculas Alt+U ALT+U &Special Characters &Carácteres Especiales Use &only following characters: Usar &sólo los siguientes carácteres: Alt+O ALT+O Length: Longitud: Quality: Calidad: Enable entropy collection Activar recolección entrópica Alt+M ALT+M Collect only once per session Recolectar una vez por sesión New Password: Nueva Contraseña: Generate Generar Random Al azar Use following character groups: &Underline &Subrayado &White Spaces &Espacios en Blanco &Minus &Menos Exclude look-alike characters Excluir carácteres que se parezcan Ensure that password contains characters from every group Asegurarse que la contraseña contenga carácteres de todos los grupos Pronounceable Pronunciable Lower Letters Letras minúsculas Upper Letters Letras mayúsculas Numbers Números Special Characters Carácteres Especiales HelpDlg Help Contents Previous Page Next Page First Page Import_KWalletXml XML Files (*.xml) Ficheros XML (*.xml) All Files (*) Todos los ficheros (*) Import Failed Fallo al Importar Invalid XML data (see stdout for details). Datos XML Inválidos (Véase el stdout para detalles). Invalid XML file. Archivo XML Inválido. Document does not contain data. El documento no contiene datos. Import_KeePassX_Xml KeePass XML Files (*.xml) Archivos de KeePass XML (*.xml) All Files (*) Todos los ficheros (*) Import Failed Fallo al importar XML parsing error on line %1 column %2: %3 Error en el interprete de XML en la línea %1 columna %2: %3 Parsing error: File is no valid KeePassX XML file. Error en al interpretar: El fichero no es un fichero KeePassX XML válido. Import_PwManager PwManager Files (*.pwm) Archivos de PwManager (*.pwm) All Files (*) Todos los archivos (*) Import Failed Fallo al importar File is empty. El archivo está vacio. File is no valid PwManager file. El archivo no es un archivo de PwManager válido. Unsupported file version. La versión del archivo no tiene soporte. Unsupported hash algorithm. Algoritmo de hash sin soporte. Unsupported encryption algorithm. Algoritmo de encriptación sin soporte. Compressed files are not supported yet. La compresión de archivos no está soportada todavía. Wrong password. Contraseña Incorrecta. File is damaged (hash test failed). El archivo está dañado (fallo al testear hash). Invalid XML data (see stdout for details). Datos XML Inválidos (Véase stdout para detalles). ImporterBase Import File... Importar un archivo... Import Failed Fallo al importar Kdb3Database Could not open file. No se ha podido abrir el archivo. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Tamaño de archivo inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Fallo en la firma Unsupported File Version. Versión del archivo sin soporte. Unknown Encryption Algorithm. Algoritmo de encriptación desconocido. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Decryption failed. The key is wrong or the file is damaged. Desencriptación fallida. La clave es erronea ó el archivo está dañado. Hash test failed. The key is wrong or the file is damaged. Fallo en la prueba de hash. La clave es erronea ó el fichero está dañado. Unexpected error: Offset is out of range. Error inesperado: El OffSet está fuera de rango. Invalid group tree. Arbol de grupo inválido. Key file is empty. El archivo de claves está vacio. The database must contain at least one group. La base de datos debe contener al menos un grupo. Unable to initalize the twofish algorithm. Imposible iniciar el algoritmo de twofish. The database has been opened read-only. La base de datos ha sido abierta en modo sólo lectura. Kdb3Database::EntryHandle Bytes Bytes KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? Borrar? Error Error At least one group must exist before adding an entry. Al menos un grupo debe existir antes de añadir una nueva entrada. OK OK Title Título Username Nombre de usuario URL URL Password Contraseña Comments Comentarios Expires Expira Creation Creación Last Change Última modificación Last Access Último Acceso Attachment Adjunto Group Grupo Are you sure you want to delete this entry? ¿Estás seguro de que deseas borrar esta entrada? Are you sure you want to delete these %1 entries? ¿Estás seguro de que quieres borrar estas %1 entradas? KeepassGroupView Search Results Resultados de búsqueda Delete? ¿Borrar? Are you sure you want to delete this group, all its child groups and all their entries? ¿Estás seguro de que quieres borrar este grupo y todos sus sub-grupos y todas las entradas? KeepassMainWindow Ready Lísto Locked Bloqueado Unlocked Desbloqueado Ctrl+O CTRL+O Ctrl+S CTRL+S Ctrl+L CTRL+L Ctrl+Q CTRL+Q Ctrl+G CTRL+G Ctrl+C CTRL+C Ctrl+B CTRL+B Ctrl+U CTRL+U Ctrl+Y CTRL+Y Ctrl+E CTRL+E Ctrl+D CTRL+D Ctrl+K CTRL+K Ctrl+F CTRL+F Ctrl+V CTRL+V Ctrl+W CTRL+W Shift+Ctrl+S SHIFT+CTRL+S Shift+Ctrl+F SHIFT+CTRL+F Error Error The database file does not exist. El archivo de la base de datos no existe. Loading Database... Cargando la base de datos... Loading Failed Fallo al cargar Unknown error while loading database. Error desconocido mientras se cargaba la base de datos The following error occured while opening the database: El siguiente error ha ocurrido mientras se abría la base de datos: Save modified file? ¿Guardar el archivo modificado? new Nuevo Open Database... Abrir base de datos... Ctrl+M KeePass Databases (*.kdb) Bases de Datos de KeePass (*.kdb) All Files (*) Todos los archivos (*) Expired Expirado 1 Month 1 Mes %1 Months %1 Meses 1 Year 1 Año %1 Years %1 Años 1 Day 1 Día %1 Days %1 Días less than 1 day Menos de un día Clone Entry Entrada Duplicada Delete Entry Borrar Entrada Clone Entries Entradas duplicadas Delete Entries Borrar Entradas File could not be saved. El archivo no ha podido ser guardado. Save Database... Guardar la base de datos... Couldn't create database lock file. Un&lock Workspace Desbloquear el área de trabajo &Lock Workspace &Bloquear el área de trabajo locked Show &Toolbar Mostrar &Barra de herramientas Ctrl+N CTRL+N Ctrl+P CTRL+P Ctrl+X CTRL+X Ctrl+I CTRL+I Database locked Base de datos bloqueada The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? La base de datos que estás intentando abrir está bloqueada. Esto significa que alguien ha abierto este archivo ó que KeePassX falló la última vez que abrió la base de datos. ¿Quieres abrirlo aún así? The current file was modified. Do you want to save the changes? El actual archivo ha sido modificado. ¿Quieres guardar los cambios? Couldn't remove database lock file. No se ha podido eliminar el bloqueo del archivo. Open read-only Abrir en modo Sólo Lectura Couldn't create lock file. Opening the database read-only. No se ha podido crear el archivo de bloqueo. Abriendo la base de datos en modo sólo lectura. Main Error Error File '%1' could not be found. El archivo '%1' no ha podido ser encontrado. MainWindow KeePassX KeePassX Groups Grupos &Help &Ayuda &File &Fichero &Export to... &Exportar a... &Import from... &Importar desde... &View &Ver E&xtras E&xtras &Open Database... &Abrir Base de Datos.. &Close Database &Cerrar Base de Datos &Save Database &Guardar Base de Datos Save Database &As... Guardar Base de Datos c&omo... &Database Settings... A&justes de la Base de Datos... Change &Master Key... Cambiar la contraseña &Maestra... &Lock Workspace &Bloquear el área de trabajo &Settings... Aj&ustes... &About... Ac&erca de... &KeePassX Handbook... &Libro de mano de KeePassX Hide Ocultar &Group Recycle Bin... Papelera... &Bookmarks &Marcadores Toolbar &Icon Size Tamaño de &iconos &Columns Co&lumnas &Manage Bookmarks... Maneja&r Marcadores &Quit &Salir &Edit Group... &Editar Grupo... &Delete Group &Borrar Grupo Copy Password &to Clipboard Copiar contraseña al por&tapapeles Copy &Username to Clipboard Copiar el &Nombre de usuario al portapapeles &Open URL &Abrir URL &Save Attachment As... &Guardar Adjunto como... Add &New Entry... Añadir &Nueva Entrada &View/Edit Entry... &Ver/Editar entrada... De&lete Entry Bo&rrar Entrada &Clone Entry Clo&nar Entrada Search &in Database... Buscar &en la Base de Datos... Search in this &Group... Buscar en este &Grupo... Show &Entry Details Mostrar Detalles de la &Entrada Hide &Usernames Ocultar &Nombres de Usuario Hide &Passwords Ocultar &Contraseñas &Title &Título User&name Nombre de &Usuario &URL &URL &Password &Contraseña &Comment &Comentario E&xpires &Expira C&reation &Creación &Last Change &Último Cambio Last &Access Último &Acceso A&ttachment A&djunto Show &Statusbar Mostrar &Barra de Estado &Perform AutoType &Realizar Auto-Escritura &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Nueva Base de Datos &Password Generator... &Generador de Contraseñas... &Minimize Window &Group (search results only) &Grupo (Resultados de la búsqueda sólamente) Show &Expired Entries... Mostrar &Entradas expiradas... &Add Bookmark... &Añadir Marcador... Bookmark &this Database... Marcar &ésta Base de Datos... &Add New Subgroup... &Añadir Nuevo Subgrupo... Copy URL to Clipboard Copiar URL desde el portapapeles Add New Group... Añadir un nuevo grupo... &Entries &Entradas &Groups &Grupos Sort groups Acortar grupos ManageBookmarksDlg Manage Bookmarks Gestionar Marcadores PasswordDialog Enter Master Key Escribe la Contraseña Maestra Set Master Key Ajustar la contraseña Maestra Change Master Key Cambiar la Contraseña Maestra Database Key Contraseña de la Base de Datos Last File Último archivo Select a Key File Seleccionar un archivo de llave All Files (*) Todos los Archivos (*) Key Files (*.key) Archivos Llave (*.key) Please enter a Password or select a key file. Por favor introduce una contraseña ó selecciona un archivo de llave. Please enter a Password. Por favor, escribe una contraseña. Please provide a key file. Por favor, selecciona una llave de archivo. %1: No such file or directory. %1: No existe el fichero ó el directorio. The selected key file or directory is not readable. El archivo llave seleccionado ó el directorio no son legibles. The given directory does not contain any key files. El directorio seleccionado no contiene ningún archivo llave. The given directory contains more then one key files. Please specify the key file directly. El directorio seleccionado contiene más de un archivo llave. Por favor, especifica cuál es el archivo directamente. %1: File is not readable. %1: El archivo no es legible. Create Key File... Crear un archivo llave... PasswordDlg Last File Último Archivo Enter a Password and/or choose a key file. Escribe una contraseña y/o selecciona un archivo llave. Key Clave Password: Contraseña: &Browse... &Navegar... Alt+B ALT+B Key File: Archivo Llave: Generate Key File... Generar Archivo Llave... Please repeat your password: Por favor, repite tu contraseña: Back Atrás Passwords are not equal. Las contraseñas no son iguales. SearchDialog Search Buscar Search_Dlg Search... Buscar... Include: Incluir: Pass&words Contras&eñas Alt+W ALT+W A&nhang Col&gado Alt+N ALT+N U&RLs U&RLs Alt+R ALT+R C&omments C&omentarios Alt+O ALT+O &Usernames &Nombres de Usuario Alt+U ALT+U &Titles &Títulos Alt+T ALT+T &Case Sensitive &Sensible a las mayúsculas y minúsculas Alt+C ALT+C Regular E&xpression E&xpresión Regular Alt+X ALT+X Include Subgroups (recursive) Incluir sub-grupos (recursivo) Search For: Buscar para: SelectIconDlg Icon Selection Selección de icono SettingsDialog Settings Ajustes Show system tray icon Mostrar icono de sistema Minimize to tray instead of taskbar Minimizar al icono de sistema en vez de a la barra de tareas Minimize to tray when clicking the main window's close button Minimizar al icono de sistema cuando se hace click en el botón de cerrar de la ventana principal Remember last opened file Recordar último archivo abierto Alt+Ö ALT+Ö Remember last key type and location Recordar último típo de clave y la localización Start minimized Iniciar minimizado Start locked Iniciar bloqueado Save recent directories of file dialogs Guardar los directorios recientes de los diálogos de archivos Clear History Now Borrar Historial Ahora Always ask before deleting entries or groups Siempre preguntar antes de borrar entradas ó grupos Banner Color Color del banner Text Color: Color del Texto: Change... Cambiar... Color 2: Color 2: C&hange... C&ambiar... Alt+H ALT+H Color 1: Color 1: Alternating Row Colors Alternar la tabla de Colores Customize Entry Detail View... Personalizar Visualización de detalles de la entrada Group tree at start-up: Árbol de grupos al inicio: Restore last state Restaurar último estado Expand all items Expandir todos los objetos Do not expand any item No expandir ningún objeto Security Seguridad Edit Entry Dialog Diálogo de Edición de Entrada Alt+O ALT+O Clear clipboard after: Limpiar el portapapeles despues: Lock workspace when minimizing the main window Bloquear el área de trabajo cuando se minimize la ventana principal You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Tú puedes desactivar varias funcionalidades de KeePassX aquí de acuerdo con tus necesidades para mantener tu apariencia mínima. Bookmarks Marcadores Plug-Ins Añadidos None Ninguno Gnome Desktop Integration (Gtk 2.x) Integración del Escritorio GNOME (GTK 2.x) KDE 4 Desktop Integration Integración del Escritorio KDE 4 You need to restart the program before the changes take effect. Necesitas reiniciar el programa para que los cambios surtan efecto. Configure... Configurar... Advanced Avanzado Auto-Type Fine Tuning Mejoras Auto-Escritura Time between the activation of an auto-type action by the user and the first simulated key stroke. Tiempo desde la activación de Auto-Escritura por el usuario hasta la primera tecla simulatada. ms ms Pre-Gap: Pre-Vacio: Key Stroke Delay: Lapso Primera Pulsación: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Lapso entre dos presiones simuladas. Aumentar en caso de que Auto-Escritura esté aleatoriamente saltándose carácteres. Custom Browser Command Comando de Navegador Personalizado Browse Navegar Media Root: Directorio Maestro: The directory where storage devices like CDs and memory sticks are normally mounted. El directorio en el cuál los medios como los CD's y los lapiceros USB son montados. Browse... Navegar... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Activa esta opción si quieres usar tus marcadones y el último archivo abierto independientemente de sus rutas completas. Esto es útil cuando estás usando KeePassX Portable y hay cambios en los puntos de montaje en el sistema de archivos. Save relative paths (bookmarks and last file) Guardar rutas relativas (Marcadores y último archivo) Global Auto-Type Shortcut: Acceso rápido Global a Auto-Escritura: Automatically save database on exit and workspace locking Automáticamente guardar la base de datos al salir y al bloquear el área de trabajo Show plain text passwords in: Mostrar contraseñas en texto plano en: Database Key Dialog Diálogo de la clave de la Base de Datos seconds Segundos Lock database after inactivity of Bloquear la base de datos en un periodo de inactividad de Use entries' title to match the window for Global Auto-Type Usar títulos de entradas para que coincidan con la ventana para Auto-Escritura General (1) General (1) General (2) General (2) Appearance Apariencia Language Lenguaje Save backups of modified entries into the 'Backup' group Guardar copias de seguridad de las entradas modificadas en el grupo 'Copias de Seguridad' Delete backup entries older than: Borrar entradas de copias de seguridad más antigüas de: days Días Automatically save database after every change Guardar automáticamente la base de datos despues de cualquier cambio Show window always on top Language: Lenguaje: Author: Autor: ShortcutWidget Ctrl CTRL Shift SHIFT Alt ALT AltGr ALTGR Win Win SimplePasswordDialog Enter your Password Introduce tu contraseña Password: Contraseña: TargetWindowDlg Auto-Type: Select Target Window Auto-Escritura: Selecciona la Ventaa To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Para especificar la ventana a elegir, selecciona una ya abierta expandiendo la lista ó introduce el título de la venta manualmente: Translation $TRANSLATION_AUTHOR Cross $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. http://genlinux.wordpress.com $LANGUAGE_NAME Insert your language name in the format: English (United States) Spanish (Spain) WorkspaceLockedWidget Form Forma <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> Unlock Desbloquear Close Database Cerrar Base de Datos keepassx-0.4.3/src/translations/qt_it.ts0000664000175000017500000052063311342454455017363 0ustar felixfelix AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> Revert back to device '%1' Ripristino del dispositivo '%1' Phonon:: Notifications Notifiche Music Musica Video Video Communication Comunicazione Games Giochi Accessibility Accessibilità Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. A required codec is missing. You need to install the following codec(s) to play this content: %0 Could not open media source. Invalid source type. Tipo di sorgente non valido. Could not locate media source. Could not open audio device. The device is already in use. Could not decode media source. Phonon::VolumeSlider Volume: %1% Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Utilizza questo cursore per regolare il volume. La posizione all'estrema sinistra è 0%, a destra è %1% Q3Accel %1, %2 not defined %1, %2 non definito Ambiguous %1 not handled Ambiguità di %1 non gestita Q3DataTable True Vero False Falso Insert Inserisci Update Aggiorna Delete Elimina Q3FileDialog Copy or Move a File Copia o sposta un file Read: %1 Lettura: %1 Write: %1 Scrittua: %1 Cancel Annulla All Files (*) Tutti i file (*) Name Nome Size Dimensione Type Tipo Date Data Attributes Attributi &OK &OK Look &in: Cerca &in: File &name: &Nome file: File &type: &Tipo file: Back Indietro One directory up Livello superiore Create New Folder Crea una nuova cartella List View Vista a elenco Detail View Vista dettagliata Preview File Info Preview File Contents Read-write Lettura-scrittura Read-only Sola lettura Write-only Sola scrittura Inaccessible Inaccessibile Symlink to File Collegamento simbolico a un file Symlink to Directory Collegamento simbolico a una cartella Symlink to Special File Dir Cartella Special Speciale Open Apri Save As Salva come &Open &Apri &Save &Salva &Rename &Rinomina &Delete &Elimina R&eload Ri&carica Sort by &Name Ordina per &nome Sort by &Size Ordina per dimen&sione Sort by &Date Ordina per &data &Unsorted &Non ordinati Sort Ordina Show &hidden files Mos&tra file nascosti the file il file the directory la cartella the symlink il collegamento simbolico Delete %1 Elimina %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Sei sicuro di voler eliminare %1 "%2"?</qt> &Yes &Sì &No &No New Folder 1 Nuova cartella 1 New Folder Nuova cartella New Folder %1 Nuova cartella %1 Find Directory Trova cartella Directories Cartelle Directory: Cartella: Error Errore %1 File not found. Check path and filename. %1 File non trovato. Controlla il percorso e il nome del file. Q3LocalFs Could not read directory %1 Impossibile leggere la cartella %1 Could not create directory %1 Impossibile creare la cartella %1 Could not remove file or directory %1 Impossibile rimuovere il file o la cartella %1 Could not rename %1 to %2 Impossibile rinominare %1 in %2 Could not open %1 Impossibile aprire %1 Could not write %1 Impossibile scrivere %1 Q3MainWindow Line up Customize... Personalizza... Q3NetworkProtocol Operation stopped by the user Operazione fermata dall'utente Q3ProgressDialog Cancel Annulla Q3TabDialog OK Apply Applica Help Aiuto Defaults Predefiniti Cancel Annulla Q3TextEdit &Undo A&nnulla &Redo &Rifai Cu&t &Taglia &Copy &Copia &Paste &Incolla Clear Pulisci Select All Seleziona tutto Q3TitleBar System Sistema Restore up Ripristina Minimize Minimizza Restore down Minimizza Maximize Massimizza Close Chiudi Contains commands to manipulate the window Contiene comandi per manipolare la finestra Puts a minimized back to normal Moves the window out of the way Puts a maximized window back to normal Makes the window full screen Closes the window Chiude la finestra Displays the name of the window and contains controls to manipulate it Visualizza il nome della finestra e contiene i controlli per manipolarla Q3ToolBar More... Altro... Q3UrlOperator The protocol `%1' is not supported Il protocollo «%1» non è supportato The protocol `%1' does not support listing directories Il protocollo «%1» non supporta l'elencazione delle cartelle The protocol `%1' does not support creating new directories Il protocollo «%1» non supporta la creazione di nuove cartelle The protocol `%1' does not support removing files or directories Il protocollo «%1» non supporta la rimozione di file o cartelle The protocol `%1' does not support renaming files or directories Il protocollo «%1» non supporta la rinomina di file o cartelle The protocol `%1' does not support getting files Il protocollo «%1» non supporta la ricezione di file The protocol `%1' does not support putting files Il protocollo «%1» non supporta l'invio di file The protocol `%1' does not support copying or moving files or directories Il protocollo «%1» non supporta la copia o lo spostamento di file o cartelle (unknown) (sconosciuto) Q3Wizard &Cancel A&nnulla < &Back < &Indietro &Next > &Avanti > &Finish &Fine &Help Ai&uto QAbstractSocket Host not found Host non trovato Connection refused Connessione rifiutata Socket operation timed out Operazione di socket scaduta Socket is not connected Il socket non è connesso QAbstractSpinBox &Step up Step &down &Select All &Seleziona tutto QApplication Activate Attiva Executable '%1' requires Qt %2, found Qt %3. L'eseguibile «%1» richiede Qt %2, trovate Qt %3. Incompatible Qt Library Error Errore di libreria Qt incompatibile QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Attiva la finestra principale del programma QCheckBox Uncheck Deseleziona Check Seleziona Toggle Commuta QColorDialog Hu&e: T&on: &Sat: &Sat: &Val: &Val: &Red: &Rosso: &Green: &Verde: Bl&ue: Bl&u: A&lpha channel: Canale a&lpha: &Basic colors Colori di &base &Custom colors &Colori personalizzati &Add to Custom Colors &Aggiungi ai colori personalizzati Select color Seleziona colore QComboBox Open Apri False Falso True Vero Close Chiudi QCoreApplication %1: permission denied QSystemSemaphore %1: permesso negato %1: already exists QSystemSemaphore %1: esiste già %1: doesn't exists QSystemSemaphore %1: non esiste %1: out of resources QSystemSemaphore %1: risorse insufficienti %1: unknown error %2 QSystemSemaphore %1: errore sconosciuto %2 %1: key is empty QSystemSemaphore %1: la chiave è vuota %1: unable to make key QSystemSemaphore %1: impossibile creare la chiave %1: ftok failed QSystemSemaphore %1: ftok non riuscito QDB2Driver Unable to connect Impossibile connettersi Unable to commit transaction Impossibile applicare la transazione Unable to rollback transaction Impossibile effettuare il rollback della transazione Unable to set autocommit Impossibile impostare l'autocommit QDB2Result Unable to execute statement Impossibile eseguire l'istruzione Unable to prepare statement Impossible preparare l'istruzione Unable to bind variable Impossibile associare la variabile Unable to fetch record %1 Impossibile ottenere il record %1 Unable to fetch next Impossibile recuperare il prossimo Unable to fetch first Impossibile recuperare il primo QDateTimeEdit AM am PM pm QDial QDial SpeedoMeter SpeedoMeter SliderHandle SliderHandle QDialog What's This? Cos'è? Done Completato QDialogButtonBox OK Save Salva Open Apri Cancel Annulla Close Chiudi Apply Applica Reset Ripristina Help Aiuto Don't Save Non salvare Discard Scarta &Yes &Sì Yes to &All Sì &a tutti &No &No N&o to All N&o a tutti Save All Salva tutto Abort Interrompi Retry Riprova Ignore Ignora Restore Defaults Ripristina valori predefiniti Close without Saving Chiudi senza salvare &OK &OK QDirModel Name Nome Size Dimensione Kind Match OS X Finder Specie Type All other platforms Tipo Date Modified Data di modifica QDockWidget Close Chiudi Dock Aggancia Float Mobile QDoubleSpinBox More Più Less Meno QErrorMessage Debug Message: Messaggio di debug: Warning: Avviso: Fatal Error: Errore grave: &Show this message again Mo&stra ancora questo messaggio &OK QFileDialog All Files (*) Tutti i file (*) Directories Cartelle &Open &Apri &Save &Salva Open Apri %1 already exists. Do you want to replace it? %1 già esiste. Vuoi sostituirlo? %1 File not found. Please verify the correct file name was given. %1 File non trovato. Verifica che sia stato fornito il nome file corretto. My Computer Risorse del computer &Rename &Rinomina &Delete &Elimina Show &hidden files Mos&tra file nascosti Back Indietro Parent Directory Cartella genitrice List View Vista a elenco Detail View Vista dettagliata Files of type: File di tipo: Directory: Cartella: %1 Directory not found. Please verify the correct directory name was given. %1 Cartella non trovata. Verifica che sia stato fornito il nome corretto della cartella. '%1' is write protected. Do you want to delete it anyway? «%1» è protetto da scrittua. Vuoi eliminarlo comunque? Are sure you want to delete '%1'? Sei sicuro di voler eliminare '%1'? Could not delete directory. Impossibile eliminare la cartella. Save As Salva come Drive Disco File Unknown Sconosciuto Find Directory Trova cartella Show Mostra Forward Avanti New Folder Nuova cartella &New Folder &Nuova cartella &Choose S&cegli Remove Rimuovi File &name: &Nome file: Look in: Cerca in: Create New Folder Crea nuova cartella QFileSystemModel Invalid filename Nome file non valido <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Il nome "%1" non può essere utilizzato.</b><p>Prova a utilizzare un altro nome, con meno caratteri e nessun segno di punteggiatura. Name Nome Size Dimensione Kind Match OS X Finder Specie Type All other platforms Tipo Date Modified Data di modifica My Computer Risorse del computer Computer %1 TB %1 TB %1 GB %1 GB %1 MB %1 MB %1 KB %1 KB %1 bytes %1 byte QFontDatabase Normal Normale Bold Grassetto Demi Bold Demi grassetto Black Demi Light Italic Corsivo Oblique Obliquo Any Qualunque Latin Latino Greek Greco Cyrillic Cirillico Armenian Armeno Hebrew Ebreo Arabic Arabo Syriac Siriano Thaana Devanagari Bengali Bengalese Gurmukhi Gujarati Oriya Tamil Telugu Kannada Malayalam Sinhala Thai Thai Lao Tibetan Tibetano Myanmar Georgian Georgiano Khmer Simplified Chinese Cinese semplificato Traditional Chinese Cinese tradizionale Japanese Giapponese Korean Coreano Vietnamese Vietnamita Symbol Simbolo Ogham Runic Runico QFontDialog &Font &Carattere Font st&yle S&tile del carattere &Size Dimen&sione Effects Effetti Stri&keout S&barrato &Underline S&ottolineato Sample Esempio Wr&iting System S&istema di scrittua Select Font Seleziona carattere QFtp Not connected Non connesso Host %1 not found Host %1 non trovato Connection refused to host %1 Connessione all'host %1 rifiutata Connected to host %1 Connessione all'host %1 Connection refused for data connection Connessione rifiutata per la connessione dati Unknown error Errore sconosciuto Connecting to host failed: %1 Connessione all'host non riuscita: %1 Login failed: %1 Accesso non riuscito: %1 Listing directory failed: %1 Elencazione della cartella non riuscita: %1 Changing directory failed: %1 Cambiamento cartella non riuscito: %1 Downloading file failed: %1 Scaricamento file non riuscito: %1 Uploading file failed: %1 Invio file non riuscito: %1 Removing file failed: %1 Rimozione file non riuscita: %1 Creating directory failed: %1 Creazione cartella non riuscita: %1 Removing directory failed: %1 Rimozione cartella non riuscita: %1 Connection closed Connessione chiusa Host %1 found Trovato l'host %1 Connection to %1 closed Connessione a %1 chiusa Host found Host trovato Connected to host Connessione all'host QHostInfo Unknown error Errore sconosciuto QHostInfoAgent Host not found Host non trovato Unknown address type Tipo di indirizzo sconosciuto Unknown error Errore sconosciuto QHttp Unknown error Errore sconosciuto Request aborted Richiesta interrotta No server set to connect to Nessun server impostato per la connessione Wrong content length Lunghezza del contenuto non corretta Server closed connection unexpectedly Il server ha terminato inaspettatamente la connessione Connection refused Connessione rifiutata Host %1 not found Host %1 non trovato HTTP request failed Richiesta HTTP non riuscita Invalid HTTP response header Intestazione della risposta HTTP non valida Invalid HTTP chunked body ContenutoHTTP spezzettato non valido Host %1 found Host %1 trovato Connected to host %1 Connessione all'host %1 Connection to %1 closed Connessione a %1 chiusa Host found Host trovato Connected to host Connessione all'host Connection closed Connessione chiusa Proxy authentication required Richiesta autenticazione proxy Authentication required Autenticazione richiesta HTTPS connection requested but SSL support not compiled in Richiesta una connessione HTTPS, ma il supporto SSL non è stato compilato Connection refused (or timed out) Connessione rifiutata (o tempo scaduto) Proxy requires authentication Il proxy richiede l'autenticazione Host requires authentication L'host richiede l'autenticazione Data corrupted Dati danneggiati Unknown protocol specified Protocollo specificato sconosciuto SSL handshake failed Negoziazione SSL non riuscita QHttpSocketEngine Authentication required Autenticazione richiesta QIBaseDriver Error opening database Errore di apertura del database Could not start transaction Impossibile avviare la transazione Unable to commit transaction Impossibile applicare la transazione Unable to rollback transaction Impossibile effettuare il rollback della transazione QIBaseResult Unable to create BLOB Impossibile creare BLOB Unable to write BLOB Impossibile scrivere BLOB Unable to open BLOB Impossibile aprire BLOB Unable to read BLOB Impossibile leggere BLOB Could not find array Impossibile trovare il vettore Could not get array data Impossibile ottenere il vettore di dati Could not get query info Could not start transaction Impossibile iniziare la transazione Unable to commit transaction Could not allocate statement Could not prepare statement Impossibile preparare l'istruzione Could not describe input statement Could not describe statement Impossibile descrivere l'istruzione Unable to close statement Impossibile chiudere l'istruzione Unable to execute query Impossibile eseguire la query Could not fetch next item Impossibile recuperare il prossimo elemento Could not get statement info QIODevice Permission denied Permesso negato Too many open files Troppi file aperti No such file or directory Nessun file o cartella No space left on device Non è rimasto spazio sul dispositivo Unknown error Errore sconosciuto QInputContext XIM XIM input method Metodo di inserimento XIM Windows input method Metodo di inserimento Windows Mac OS X input method Metodo di inserimento Mac OS X QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: Impossibile caricare %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: Impossibile rimuovere %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Simbolo "%1" non definito in %2 (%3) Could not mmap '%1': %2 Plugin verification data mismatch in '%1' Mancata corrispondenza dei dati di verifica dell'estensione in '%1' Could not unmap '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Il plugin '%1' utilizza librerie QT non compatibili. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Unknown error Errore sconosciuto The shared library was not found. La libreria condivisa non è stata trovata. The file '%1' is not a valid Qt plugin. Il file «%1» non è un'estensione Qt valida. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) L'estensione «%1» utilizza una libreria Qt incompatibile. (Non è possibile mischiare librerie di debug e di rilascio.) QLineEdit &Undo A&nnulla &Redo &Rifai Cu&t &Taglia &Copy &Copia &Paste &Incolla Delete Elimina Select All Seleziona tutto QLocalServer %1: Name error %1: Errore nel nome %1: Permission denied %1: Permesso negato %1: Address in use %1: Indirizzo in uso %1: Unknown error %2 %1: Errore sconosciuto %2 QLocalSocket %1: Connection refused %1: Connessione rifiutata %1: Remote closed %1: Invalid name %1: Nome non valido %1: Socket access error %1: Errore di accesso al socket %1: Socket resource error %1: Socket operation timed out %1: Datagram too large %1: Datagramma troppo grande %1: Connection error %1: Errore di connessione %1: The socket operation is not supported %1: Unknown error %2 %1: Errore sconosciuto %2 QMYSQLDriver Unable to open database ' Impossibile aprire il database ' Unable to connect Impossibile connettersi Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Impossibile effettuare il commit della transazione Unable to rollback transaction Impossibile effettuare il rollback della transazione QMYSQLResult Unable to fetch data Impossibile ottenere i dati Unable to execute query Impossibile eseguire la query Unable to store result Impossibile memorizzare i risultati Unable to prepare statement Impossibile preparare l'istruzione Unable to reset statement Impossibile ripristinare l'istruzione Unable to bind value Impossibile associare il valore Unable to execute statement Impossibile eseguire l'istruzione Unable to bind outvalues Unable to store statement results Unable to execute next query Impossibile eseguire la query successiva Unable to store next result QMdiArea (Untitled) (Senza titolo) QMdiSubWindow %1 - [%2] %1 - [%2] Close Chiudi Minimize Minizza Restore Down Ripristina in basso &Restore &Ripristina &Move S&posta &Size Dimen&sione Mi&nimize Mi&nimizza Ma&ximize Massimi&zza Stay on &Top Sempre in &primo piano &Close &Chiudi - [%1] - [%1] Maximize Massimizza Unshade Shade Restore Help Aiuto Menu Menu QMenu Close Chiudi Open Apri Execute Esegui QMessageBox Help Aiuto OK About Qt Informazioni su Qt <p>This program uses Qt version %1.</p> <p>Questo programma utilizza la versione %1 di Qt.</p> Show Details... Mostra dettagli... Hide Details... Nascondi dettagli... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <p>Questo programma utilizza la versione Qt Open Source Edition %1.</p><p>Qt Open Source Edition è destinata allo sviluppo di applicazioni Open Source. Per lo sviluppo di applicazioni proprietarie (sorgente chiuso) è necessario disporre di una licenza Qt commerciale.</p><p>Vedere <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> per una panoramica del sistema di licenze Qt.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> QMultiInputContext Select IM Seleziona IM QMultiInputContextPlugin Multiple input method switcher Multiple input method switcher that uses the context menu of the text widgets QNativeSocketEngine The remote host closed the connection L'host remoto ha terminato la connessione Network operation timed out Operazione di rete fuori tempo massimo Out of resources Risorse insufficienti Unsupported socket operation Operazione su socket non supportata Protocol type not supported Tipo di protocollo non supportato Invalid socket descriptor Descrittore di socket non valido Network unreachable Rete non raggiungibile Permission denied Permesso negato Connection timed out Connessione fuori tempo massimo Connection refused Connessione rifiutata The bound address is already in use L'indirizzo associato è già utilizzato The address is not available L'indirizzo non è disponibile The address is protected L'indirizzo è protetto Unable to send a message Impossibile inviare un messaggio Unable to receive a message Impossibile ricevere un messaggio Unable to write Impossibile scrivere Network error Errore di rete Another socket is already listening on the same port Un altro socket è già in ascolto sulla stessa porta Unable to initialize non-blocking socket Unable to initialize broadcast socket Attempt to use IPv6 socket on a platform with no IPv6 support Host unreachable Host non raggiungibile Datagram was too large to send Datagramma troppo grande per l'invio Operation on non-socket Unknown error Errore sconosciuto The proxy type is invalid for this operation QNetworkAccessFileBackend Request for opening non-local file %1 Richiesta di apertura del file non locale %1 Error opening %1: %2 Errore in fase di apertura di %1: %2 Write error writing to %1: %2 Errore in fase di scrittura di %1: %2 Cannot open %1: Path is a directory Impossibile aprire %1: il percorso è una cartella Read error reading from %1: %2 Errore di lettura da %1: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Impossibile aprire %1: è una cartella Logging in to %1 failed: authentication required Error while downloading %1: %2 Error while uploading %1: %2 QNetworkReply Error downloading %1 - server replied: %2 Errore durante lo scaricamento di %1 - il server ha risposto: %2 Protocol "%1" is unknown Il protocollo "%1" è sconosciuto QNetworkReplyImpl Operation canceled Operazione annullata QOCIDriver Unable to logon Impossibile accedere Unable to initialize QOCIDriver Impossibile inizializzare Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Unable to rollback transaction Impossibile effettuare il rollback della transazione QOCIResult Unable to bind column for batch execute Unable to execute batch statement Unable to goto next Unable to alloc statement Unable to prepare statement Impossible preparare l'istruzione Unable to bind value Impossibile associare il valore Unable to execute select statement Impossibile eseguire l'istruzione di selezione Unable to execute statement Impossibile eseguire l'istruzione QODBCDriver Unable to connect Impossibile connettersi Unable to connect - Driver doesn't support all needed functionality Impossibile connettersi - Il driver non supporta tutte le funzionalità richieste Unable to disable autocommit Impossibile disabilitare l'autocommit Unable to commit transaction Impossibile effettuare il commit della transazione Unable to rollback transaction Impossibile effettuare il rollback della transazione Unable to enable autocommit Impossibile abilitare l'autocommit QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Impossibile impostare 'SQL_CURSOR_STATIC' come attributo dell'istruzione. Controlla la configurazione del driver ODBC Unable to execute statement Impossibile eseguire l'istruzione Unable to fetch next Impossibile recuperare il prossimo Unable to prepare statement Impossibile preparare l'istruzione Unable to bind variable Impossibile associare la variabile Unable to fetch last Unable to fetch Unable to fetch first Impossibile recuperare il primo Unable to fetch previous QObject Operation not supported on %1 Operazione non supportata su %1 Invalid URI: %1 URI non valido: %1 Write error writing to %1: %2 Errore di scrittura su %1: %2 Read error reading from %1: %2 Errore di lettura da %1: %2 Socket error on %1: %2 Remote host closed the connection prematurely on %1 Protocol error: packet of size 0 received QPPDOptionsModel Name Nome Value Valore QPSQLDriver Unable to connect Impossibile connettersi Could not begin transaction Impossibile iniziare la transazione Could not commit transaction Impossibile appliare l'istruzione Could not rollback transaction Impossibile effettuare il rollback della transazione Unable to subscribe Unable to unsubscribe QPSQLResult Unable to create query Impossibile creare query Unable to prepare statement QPageSetupWidget Centimeters (cm) Millimeters (mm) Inches (in) Points (pt) Form Paper Page size: Dimensioni pagina: Width: Height: Paper source: Origine carta: Orientation Portrait Verticale Landscape Orizzontale Reverse landscape Reverse portrait Margins top margin left margin right margin bottom margin QPluginLoader Unknown error Errore sconosciuto The plugin was not loaded. L'estensione non è stata caricata. QPrintDialog locally connected connessa localmente Aliases: %1 Alias: %1 unknown sconosciuto Print To File ... Stampa su file... File %1 is not writable. Please choose a different file name. Il file %1 non è scrivibile. Scegli un nome file diverso. %1 already exists. Do you want to overwrite it? %1 esiste già. Vuoi sovrascriverlo? %1 is a directory. Please choose a different file name. %1 è una cartella. Scegli un nome diverso. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Ledger Legal Letter Lettera Tabloid US Common #10 Envelope Custom Personalizzato &Options >> &Opzioni >> &Print Stam&pa &Options << &Opzioni << Print to File (PDF) Stampa su file (PDF) Print to File (Postscript) Stampa su file (Postscript) Local file File locale Write %1 file QPrintPreviewDialog Page Setup Print Preview Next page Previous page First page Last page Fit width Fit page Zoom in Zoom out Portrait Verticale Landscape Orizzontale Show single page Mostra pagina singola Show facing pages Mostra pagine Show overview of all pages Mostra l'anteprima di tutte le pagine Print Stampa Page setup Impostazioni pagina Close Chiudi QPrintPropertiesWidget Form Modulo Page Pagina Advanced Avanzate QPrintSettingsOutput Form Modulo Copies Copie Print range Intervallo di stampa Print all Stampa tutto Pages from Pagine da to a Selection Selezione Output Settings Impostazioni d'uscita Copies: Copie: Collate Fascicola Reverse Inversa Options Opzioni Color Mode Modalità colore Color Colore Grayscale Scala di grigio Duplex Printing Stampa fronte/retro None Nessuna Long side Lato lungo Short side Lato corto QPrintWidget Form Modulo Printer Stampante &Name: &Nome: P&roperties P&roprietà Location: Posizione: Preview Anteprima Type: Tipo: Output &file: &File di uscita: ... ... QProgressDialog Cancel Annulla QPushButton Open Apri QRadioButton Check Seleziona QRegExp no error occurred non si è verificato alcun errore disabled feature used bad char class syntax bad lookahead syntax bad repetition syntax invalid octal value valore ottale non valido missing left delim delimitatore sinistro mancante unexpected end fine inattesa met internal limit QSQLite2Driver Error to open database Errore in fase di apertura del database Unable to begin transaction Impossibile inizare la transazione Unable to commit transaction Impossibile applicare l'istruzione Unable to rollback Transaction Impossibile effettuare il rollback della transazione QSQLite2Result Unable to fetch results Impossibile ottenere risultati Unable to execute statement Impossibile eseguire l'istruzione QSQLiteDriver Error opening database Errore in fase di apertura del database Error closing database Errore in fase di chiusura del database Unable to begin transaction Impossibile iniziare la transazione Unable to commit transaction Impossibile applicare l'istruzione Unable to rollback transaction Impossibile effettuare il rollback della transazione QSQLiteResult Unable to fetch row Impossibile ottenere la riga Unable to execute statement Impossibile eseguire l'istruzione Unable to reset statement Impossibile ripristinare l'istruzione Unable to bind parameters Impossibile associare i parametri Parameter count mismatch Il numero dei parametri non corrisponde No query QScrollBar Scroll here Scorri qui Left edge Bordo sinistro Top In alto Right edge Bordo destro Bottom In basso Page left Pagina sinistra Page up Pagina su Page right Pagina destra Page down Pagina giù Scroll left Scorrimento a sinistra Scroll up Scorrimento in alto Scroll right Scorrimento a destra Scroll down Scorrimento in basso Line up Position Posizione Line down QSharedMemory %1: unable to set key on lock %1: create size is less then 0 %1: unable to lock %1: unable to unlock %1: permission denied %1: already exists %1: doesn't exists %1: out of resources %1: unknown error %2 %1: key is empty %1: unix key file doesn't exists %1: ftok failed %1: unable to make key %1: system-imposed size restrictions %1: not attached QShortcut Space Spazio Esc Tab Backtab Backspace Return Invio Enter Invio Ins Del Canc Pause Pausa Print Stamp SysReq R sist Home Home End Fine Left Sinistra Up Su Right Destra Down Giù PgUp PagSu PgDown PagGiù CapsLock BlocMaiusc NumLock BlocNum ScrollLock BlocScorr Menu Help Aiuto Back Indietro Forward Avanti Stop Ferma Refresh Aggiorna Volume Down Riduci volume Volume Mute Silenzia volume Volume Up Aumenta volume Bass Boost Bass Up Bass Down Treble Up Treble Down Media Play Media Stop Media Previous Media Next Media Record Favorites Preferiti Search Cerca Standby Open URL Apri URL Launch Mail Launch Media Launch (0) Launch (1) Launch (2) Launch (3) Launch (4) Launch (5) Launch (6) Launch (7) Launch (8) Launch (9) Launch (A) Launch (B) Launch (C) Launch (D) Launch (E) Launch (F) Print Screen Stampa schermo Page Up Pag Su Page Down Pag Giù Caps Lock Bloc Maiusc Num Lock Bllocc Num Number Lock Blocco tast numerico Scroll Lock Bloc Scorr Insert Ins Delete Canc Escape Esc System Request R sist Select Seleziona Yes No Context1 Contesto1 Context2 Contesto2 Context3 Contesto3 Context4 Contesto4 Call Chiama Hangup Riaggancia Flip Ctrl Shift Maiusc Alt Meta + F%1 F%1 Home Page Pagina iniziale QSlider Page left Pagina sinistra Page up Pagina su Position Posizione Page right Pagina destra Page down Pagina giù QSocks5SocketEngine Socks5 timeout error connecting to socks server Connessione al server Socks5 fuori tempo massimo Network operation timed out Operazione di rete fuori tempo massimo QSpinBox More Più Less Meno QSql Delete Elimina Delete this record? Eliminare questa registrazione? Yes No Insert Inserisci Update Aggiorna Save edits? Salvare le modifiche? Cancel Annulla Confirm Conferma Cancel your edits? Annullare le modifiche? QSslSocket Unable to write data: %1 Impossibile scrivere i dati: %1 Error while reading: %1 Errore in fase di lettura: %1 Error during SSL handshake: %1 Errore durante l'handshake SSL: %1 Error creating SSL context (%1) Errore in fase di creazione del contesto SSL (%1) Invalid or empty cipher list (%1) Lista di cifratura non valida o vuota (%1) Error creating SSL session, %1 Errore durante la creazione della sessione SSL, %1 Error creating SSL session: %1 Errore durante la creazione della sessione SSL: %1 Cannot provide a certificate with no key, %1 Impossibile fornire un certificato senza chiave, %1 Error loading local certificate, %1 Errore di caricamento del certificato locale, %1 Error loading private key, %1 Errore di caricamento della chiave privata, %1 Private key does not certificate public key, %1 La chiave privata non certifica la chiave pubblica, %1 QTDSDriver Unable to open connection Impossibile aprire la connessione Unable to use database Impossibile utilizzare il database QTabBar Scroll Left Scorrimento a sinistra Scroll Right Scorrimento a destra QTextControl &Undo A&nnulla &Redo &Rifai Cu&t &Taglia &Copy &Copia Copy &Link Location Copia posizione del co&llegamento &Paste &Incolla Delete Elimina Select All Seleziona tutto QToolButton Press Premi Open Apri QUdpSocket This platform does not support IPv6 Questa piattaforma non supporta IPv6 QUndoGroup Undo Annulla Redo Rifai QUndoModel <empty> <vuoto> QUndoStack Undo Annulla Redo Rifai QUnicodeControlCharacterMenu LRM Left-to-right mark RLM Right-to-left mark ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWSP Zero width space LRE Start of left-to-right embedding RLE Start of right-to-left embedding LRO Start of left-to-right override RLO Start of right-to-left override PDF Pop directional formatting Insert Unicode control character QWebFrame Request cancelled Richiesta annullata Request blocked Richiest bloccata Cannot show URL Impossibile visualizzare l'URL Frame load interruped by policy change Caricamento frame interrotto da un cambiamento di regole Cannot show mimetype Impossibile visualizzare il tipo mime File does not exist Il file non esiste QWebPage Bad HTTP request Richiesta HTTP non valida Submit default label for Submit buttons in forms on web pages Invia Submit Submit (input element) alt text for <input> elements with no alt, title, or value Invia Reset default label for Reset buttons in forms on web pages Ripristina This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Questo è l'indice ricercabile. Digita la parola chiave di ricerca: Choose File title for file button used in HTML forms Scegli file No file selected text to display in file button used in HTML forms when no file is selected Nessun file selezionato Open in New Window Open in New Window context menu item Apri in una nuova finestra Save Link... Download Linked File context menu item Salva collegamento... Copy Link Copy Link context menu item Copia collegamento Open Image Open Image in New Window context menu item Apri immagine Save Image Download Image context menu item Salva immagine Copy Image Copy Link context menu item Copia immagine Open Frame Open Frame in New Window context menu item Copy Copy context menu item Copia Go Back Back context menu item Indietro Go Forward Forward context menu item Avanti Stop Stop context menu item Ferma Reload Reload context menu item Ricarica Cut Cut context menu item Taglia Paste Paste context menu item Incolla No Guesses Found No Guesses Found context menu item Ignore Ignore Spelling context menu item Ignora Add To Dictionary Learn Spelling context menu item Aggiungi al dizionario Search The Web Search The Web context menu item Cerca nel Web Look Up In Dictionary Look Up in Dictionary context menu item Open Link Open Link context menu item Apri collegamento Ignore Ignore Grammar context menu item Ignora Spelling Spelling and Grammar context sub-menu item Show Spelling and Grammar menu item title Hide Spelling and Grammar menu item title Check Spelling Check spelling context menu item Controlla ortografia Check Spelling While Typing Check spelling while typing context menu item Controlla l'ortografia durante la digitazione Check Grammar With Spelling Check grammar with spelling context menu item Fonts Font context sub-menu item Caratteri Bold Bold context menu item Grassetto Italic Italic context menu item Corsivo Underline Underline context menu item Sottolineato Outline Outline context menu item Direction Writing direction context sub-menu item Direzione Default Default writing direction context menu item Predefinita LTR Left to Right context menu item RTL Right to Left context menu item Inspect Inspect Element context menu item No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Ricerche recenti Clear recent searches menu item in Recent Searches menu that empties menu's contents Unknown Unknown filesize FTP directory listing item Sconosciuta %1 (%2x%3 pixels) Title string for images %1 (%2x%3 pixel) Web Inspector - %2 Analizzatore web - %2 QWhatsThisAction What's This? Cos'è? QWidget * QWizard Go Back Indietro Continue Continua Commit Applica Done Completato Quit Esci Help Aiuto < &Back < &Indietro &Finish &Fine Cancel Annulla &Help Ai&uto &Next Ava&nti &Next > Ava&nti > QWorkspace &Restore &Ripristina &Move &Sposta &Size &Dimensioni Mi&nimize Mi&nimizza Ma&ximize Ma&ssimizza &Close &Chiudi Stay on &Top Sempre in &primo piano Sh&ade &Arrotola %1 - [%2] %1 - [%2] Minimize Minimizza Restore Down Ripristina in basso Close Chiudi &Unshade &Srotola QXml no error occurred non si è verificato alcun errore error triggered by consumer unexpected end of file fine file inattesa more than one document type definition più di una definizione del tipo di documento error occurred while parsing element riscontrato errore durante l'analisi dell'elemento tag mismatch tag non corrispondente error occurred while parsing content riscontrato errore durante l'analisi del contenuto unexpected character carattere inatteso invalid name for processing instruction nome dell'istruzione di elaborazione non valido version expected while reading the XML declaration wrong value for standalone declaration encoding declaration or standalone declaration expected while reading the XML declaration standalone declaration expected while reading the XML declaration error occurred while parsing document type definition riscontrato errore durante l'analisi della definizione del tipo di documento letter is expected error occurred while parsing comment riscontrato errore durante l'analisi del commento error occurred while parsing reference riscontrato errore durante l'analisi dei riferimenti internal general entity reference not allowed in DTD external parsed general entity reference not allowed in attribute value external parsed general entity reference not allowed in DTD unparsed entity reference in wrong context recursive entities entità ricorsive error in the text declaration of an external entity errore nella dichiarazione di testo di un'entità esterna QXmlStream Extra content at end of document. Contenuto aggiuntivo alla fine del documento. Invalid entity value. Valore dell'entità non valido. Invalid XML character. Carattere XML non valido. Sequence ']]>' not allowed in content. Sequenza ']]>' non consentita nel contenuto. Namespace prefix '%1' not declared Prefisso di spazio dei nomi '%1' non dichiarato Attribute redefined. Attributo ridefinito. Unexpected character '%1' in public id literal. Invalid XML version string. Stringa di versione XML non valida. Unsupported XML version. Versione XML non supportata. %1 is an invalid encoding name. %1 è un nome di codifica non valido. Encoding %1 is unsupported La codifica %1 non è supportata Standalone accepts only yes or no. Invalid attribute in XML declaration. Attributo non valido nella dichiarazione XML. Premature end of document. Fine imprevista del documento. Invalid document. Documento non valido. Expected Atteso , but got ' , ma ricevuto ' Unexpected ' Inatteso ' Expected character data. Recursive entity detected. Rilevata entità ricorsiva. Start tag expected. Atteso tag iniziale. XML declaration not at start of document. La dichiarazione XML non è all'inizio del documento. NDATA in parameter entity declaration. %1 is an invalid processing instruction name. Invalid processing instruction name. Illegal namespace declaration. Invalid XML name. Nome XML non valido. Opening and ending tag mismatch. Reference to unparsed entity '%1'. Entity '%1' not declared. Entità '%1' non dichiarata. Reference to external entity '%1' in attribute value. Invalid character reference. Encountered incorrectly encoded content. Riscontrato contenuto non codificato correttamente. The standalone pseudo attribute must appear after the encoding. %1 is an invalid PUBLIC identifier. %1 è un identificatore PUBLIC non valido. QtXmlPatterns An %1-attribute with value %2 has already been declared. An %1-attribute must have a valid %2 as value, which %3 isn't. Network timeout. Element %1 can't be serialized because it appears outside the document element. Attribute %1 can't be serialized because it appears at the top level. Year %1 is invalid because it begins with %2. Day %1 is outside the range %2..%3. Month %1 is outside the range %2..%3. Overflow: Can't represent date %1. Day %1 is invalid for month %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Time %1:%2:%3.%4 is invalid. Overflow: Date can't be represented. At least one component must be present. At least one time component must appear after the %1-delimiter. No operand in an integer division, %1, can be %2. The first operand in an integer division, %1, cannot be infinity (%2). The second operand in a division, %1, cannot be zero (%2). %1 is not a valid value of type %2. When casting to %1 from %2, the source value cannot be %3. Integer division (%1) by zero (%2) is undefined. Division (%1) by zero (%2) is undefined. Modulus division (%1) by zero (%2) is undefined. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. A value of type %1 cannot have an Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. %1 is not valid as a value of type %2. Operator %1 cannot be used on type %2. Operator %1 cannot be used on atomic values of type %2 and %3. The namespace URI in the name for a computed attribute cannot be %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Type error in cast, expected %1, received %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. No casting is possible with %1 as the target type. It is not possible to cast from %1 to %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. It's not possible to cast the value %1 of type %2 to %3 Failure when casting from %1 to %2: %3 A comment cannot contain %1 Un commento non può contenere %1 A comment cannot end with a %1. Un commentio non può terminare con un %1. No comparisons can be done involving the type %1. Operator %1 is not available between atomic values of type %2 and %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. A library module cannot be evaluated directly. It must be imported from a main module. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A positional predicate must evaluate to a single numeric value. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The data of a processing instruction cannot contain the string %1 No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 %1 is an invalid %2 %1 è un %2 non valido %1 takes at most %n argument(s). %2 is therefore invalid. %1 requires at least %n argument(s). %2 is therefore invalid. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. %1 is not a valid XML 1.0 character. The first argument to %1 cannot be of type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. %1 was called. %1 must be followed by %2 or %3, not at the end of the replacement string. In the replacement string, %1 must be followed by at least one digit when not escaped. In the replacement string, %1 can only be used to escape itself or %2, not %3 %1 matches newline characters %1 and %2 match the start and end of a line. Matches are case insensitive Whitespace characters are removed, except when they appear in character classes %1 is an invalid regular expression pattern: %2 %1 is an invalid flag for regular expressions. Valid flags are: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. It will not be possible to retrieve %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The default collection is undefined %1 cannot be retrieved The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. %1 is not a whole number of minutes. Required cardinality is %1; got cardinality %2. The item %1 did not match the required type %2. %1 is an unknown schema type. Only one %1 declaration can occur in the query prolog. The initialization of variable %1 depends on itself No variable by name %1 exists The variable %1 is unused La variabile %1 è inutilizzata Version %1 is not supported. The supported XQuery version is 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. No function with signature %1 is available A default namespace declaration must occur before function, variable, and option declarations. Namespace declarations must occur before function, variable, and option declarations. Module imports must occur before function, variable, and option declarations. It is not possible to redeclare prefix %1. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Prefix %1 is already declared in the prolog. The name of an option must have a prefix. There is no default namespace for options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The target namespace of a %1 cannot be empty. The module import feature is not supported A variable by name %1 has already been declared in the prolog. No value is available for the external variable by name %1. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 A function already exists with the signature %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external An argument by name %1 has already been declared. Every argument name must be unique. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. None of the pragma expressions are supported. Therefore, a fallback expression must be present The %1-axis is unsupported in XQuery %1 is not a valid numeric literal. No function by name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. %1 is an invalid namespace URI. It is not possible to bind to the prefix %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Two namespace declaration attributes have the same name: %1. The namespace URI must be a constant and cannot use enclosed expressions. An attribute by name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. The name %1 does not refer to any schema type. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. The name of an extension expression must be in a namespace. empty vuoto zero or one zero o uno exactly one esattamente uno one or more uno o più zero or more zero o più Required type is %1, but %2 was found. Promoting %1 to %2 may cause loss of precision. The focus is undefined. It's not possible to add attributes after any other kind of node. An attribute by name %1 has already been created. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. VolumeSlider Muted Silenziato Volume: %1% Volume: %1% WebCore::PlatformScrollbar Scroll here Scorri qui Left edge Bordo sinistro Top In alto Right edge Bordo destro Bottom In basso Page left Pagina sinistra Page up Pagina su Page right Pagina destra Page down Pagina giù Scroll left Scorrimento a sinistra Scroll up Scorrimento in alto Scroll right Scorrimento a destra Scroll down Scorrimento in basso keepassx-0.4.3/src/translations/qt_sr.ts0000664000175000017500000055015311342454455017373 0ustar felixfelix PPDOptionsModel Name Име Value Вредност Q3Accel %1, %2 not defined %1, %2 није дефинисано Ambiguous %1 not handled Нејасан %1 није подржано Q3DataTable True Да False Не Insert Убаци Update Ажурирај Delete Избриши Q3FileDialog Copy or Move a File Копирај или Премести датотеку Read: %1 Чита: %1 Write: %1 Пише: %1 Cancel Поништи All Files (*) Све датотеке (*) Name Име Size Величина Type Тип Date Датум Attributes Атрибути &OK &У реду Look &in: Тражи &у: File &name: &Име датотеке: File &type: &Тип датотеке: Back Назад One directory up Једна фасцикла горе Create New Folder Креирај нову фасциклу List View Лсита Detail View Детаљно Preview File Info Преглед инфо датотеке Preview File Contents Преглед садржај датотеке Read-write Чита-пише Read-only Само читљиво Write-only Само писљиво Inaccessible Недоступно Symlink to File Symlink на датотеку Symlink to Directory Symlink на фасциклу Symlink to Special Symlink на специјално File Датотека Dir Фасц Special Специјално Open Отвори Save As Сачувај као &Open &Отвори &Save &сачувај &Rename &Преименуј &Delete &Избриши R&eload П&оново учитај Sort by &Name Сортиј па &Име Sort by &Size Сортиј по &величини Sort by &Date Сортирај по &датум &Unsorted &Не сортирано Sort Сортирај Show &hidden files Покажи сакривене датотеке the file датотека the directory фсацикла the symlink symlink Delete %1 Избриши %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Стварно желите да обришете %1 "%2"?</qt> &Yes &Да &No &Не New Folder 1 Нова фасцикла 1 New Folder Нова фасцикла New Folder %1 Нова фасцикла %1 Find Directory Наћи фасциклу Directories Фасцикле Directory: Фасцикла: Error Грешка %1 File not found. Check path and filename. %1Ненађена датотека.Проверити путању и име датотеке. All Files (*.*) Све датотеке (*.*) Open Отвори Select a Directory Одабрати фасциклу Q3LocalFs Could not read directory %1 Неуспешно читање фасцикле %1 Could not create directory %1 Неуспешна креација фасцикле %1 Could not remove file or directory %1 Неуспешно брисање датотеке или фасцикле %1 Could not rename %1 to %2 Неуспешно преименовање %1 у %2 Could not open %1 Неуспешно отварање %1 Could not write %1 Неуспешно писање %1 Q3MainWindow Line up Линија горе Customize... Прилагоди... Q3NetworkProtocol Operation stopped by the user Рад зауставио корисник Q3ProgressDialog Cancel Поништи Q3TabDialog OK У реду Apply Примени Help Помоћ Defaults Стандардно Cancel Поништи Q3TextEdit &Undo &Врати &Redo &Понови Cu&t &Исеци &Copy &Копирај &Paste П&рилепи Clear Избриши Select All Одабрери све Q3TitleBar System Систем Restore up Врати горе Minimize Минимизуј Restore down Врати доле Maximize Максимизирај Close Затвори Contains commands to manipulate the window Садржава команде за рад са прозорима Puts a minimized back to normal Врати минимизирано на нормално Moves the window out of the way Премести прозор вам вида Puts a maximized window back to normal Врати максимизиран прозор на нормално Makes the window full screen Постави прозор у пуном екрану Closes the window Затвара прозор Displays the name of the window and contains controls to manipulate it Показује име прозора и контроле за његово руковање Q3ToolBar More... Више... Q3UrlOperator The protocol `%1' is not supported Протокол '%1' није подржан The protocol `%1' does not support listing directories Протокол '%1' не подржава листовање фасцикла The protocol `%1' does not support creating new directories Протокол '%1' не подржава креацију нових фасцикла The protocol `%1' does not support removing files or directories Протокол '%1' не подржава брисање датотека или фасцикла The protocol `%1' does not support renaming files or directories Протокол '%1' не подржава преименовање The protocol `%1' does not support getting files Протокол '%1' не подржава преузимање датотеке The protocol `%1' does not support putting files Протокол '%1' не подржава слање датотеке The protocol `%1' does not support copying or moving files or directories Протокол '%1' не подржавакопирање или премештање (unknown) (непознато) Q3Wizard &Cancel &Поништи < &Back < &Назад &Next > &Даље > &Finish &Заврши &Help Помо&ћ QAbstractSocket Host not found Хост није нађен Connection refused Прикључак одбијен Socket operation timed out Тајм аут сокета Socket is not connected Сокет није привезан QAbstractSpinBox &Step up &На горе Step &down На &доле &Select All &Одабрати све QApplication Activate Активирај Executable '%1' requires Qt %2, found Qt %3. Извршној датотеци '%1' је потребно Qt %2, нађено Qt %3. Incompatible Qt Library Error грешка некомпатибилне библиотеке Qt QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR Activates the program's main window Активира главни прозор програма QAxSelect Select ActiveX Control одабрати ActiveX контрол OK У реду &Cancel &Поништи COM &Object: COM &Објекат: QCheckBox Uncheck Скини одабир Check Одабери Toggle Преокрени QColorDialog Hu&e: Hu&e: &Sat: &Sat: &Val: &Val: &Red: Црвено: &Green: Зелено: Bl&ue: Плаво: A&lpha channel: A&lpha channel: &Basic colors Класичне боје &Custom colors Прилагођене боје &Define Custom Colors >> Дефинирати боје >> OK У реду Cancel Поништи &Add to Custom Colors Додај на прилагођене боје Select color Одабрати боју QComboBox Open Отвори False Не True Да Close Затвори QDB2Driver Unable to connect Неуспешно привезивање Unable to commit transaction Неуспешна потврда транзакције Unable to rollback transaction Неуспешно врачање транзакције Unable to set autocommit Неуспешно постављање ауто потврде QDB2Result Unable to execute statement Unable to execute statement Unable to prepare statement Unable to prepare statement Unable to bind variable Unable to bind variable Unable to fetch record %1 Unable to fetch record %1 Unable to fetch next Unable to fetch next Unable to fetch first Unable to fetch first QDateTimeEdit AM AM am am PM PM pm pm QDial QDial QDial SpeedoMeter SpeedoMeter SliderHandle SliderHandle QDialog What's This? Шта је ово? QDialogButtonBox OK У реду Save Сачувај Open Отвори Cancel Поништи Close Затвори Apply Примени Reset Рисет Help Помоћ Don't Save Не сачувај Discard Одбаци &Yes &Да Yes to &All Да за &све &No &Не N&o to All Н&е за све Save All Сачувај све Abort Поништи Retry Понови Ignore Игнориши Restore Defaults Врати иницијално Close without Saving Затвори без сачувавања QDirModel Name Име Size Величина Kind Match OS X Finder Врста Type All other platforms Тип Date Modified Датум промене QDockWidget Close Затвори Dock Фиксно Float Померљиво QDoubleSpinBox More Више Less Мање QErrorMessage Debug Message: Поруке дабага: Warning: Пажња: Fatal Error: Фатална грешка: &Show this message again Опет покажи ову поруку &OK &У реду QFileDialog All Files (*) Све датотеке (*) Directories Фасцикле &Open &Отвори &Save &Сачувај Open Отвори %1 already exists. Do you want to replace it? %1 већ постоји. Да ли желите да га препишете? %1 File not found. Please verify the correct file name was given. %1 Датотека није нађена. Молимо да проверите дато име. My Computer Мој рачунар &Rename &Преименуј &Delete &Избриши Show &hidden files Покажи сакривене датотеке Back Назад Parent Directory Родитељска фасцикла List View Листа Detail View Детаљно Files of type: Датотеке типа: Directory: Фасцикла: File not found. Please verify the correct file name was given %1 Датотека није нађена. Молимо да проверите дато име. %1 Directory not found. Please verify the correct directory name was given. %1 Фасцикла није нађена. Молимо да проверите дато име. '%1' is write protected. Do you want to delete it anyway? '%1' за само читљиво. Да ли желите да ипак обришете? Are sure you want to delete '%1'? Стварно желите да обришете '%1'? Could not delete directory. Не може да се избрише фасцикла. All Files (*.*) Све датотеке (*.*) Save As Сачувај као Drive Драјв File Датотека Unknown непознато Find Directory Наћи фасциклу Show Покажи Forward Напред New Folder нова фасцикла &New Folder Нова фасцикла &Choose Одабрати Remove Уклони File &name: &Име датотеке: Look in: Тражи у: Create New Folder Креирај нову фасциклу QFileSystemModel Invalid filename Погрешно име <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Име "%1" не може да се употреби.</b><p>Пробати неко друго име, са мање карактера или без интерпункције. Name Име Size Величина Kind Match OS X Finder Врста Type All other platforms Тип Date Modified Датум промене My Computer Мој рачунар Computer Рачунар %1 TB %1 ТБ %1 GB %1 ГБ %1 MB %1 МБ %1 KB %1 КБ %1 bytes %1 бајтова QFontDialog &Font Фонт Font st&yle Стил фонта &Size Величина Effects Ефекти Stri&keout Прецртано &Underline Подвучено Sample Пример Wr&iting System Писање система Select Font Одабрати фонт QFtp Not connected Није привезано Host %1 not found Хост %1 ненађен Connection refused to host %1 Прикључак одбијен на хост %1 Connected to host %1 Прикачено на хост %1 Connection refused for data connection Прикључак одбијен за везе података Unknown error Непозната грешка Connecting to host failed: %1 Прикључак на хост погрешан: %1 Login failed: %1 Погрешна пријава: %1 Listing directory failed: %1 Листовање фасцикле погрешно: %1 Changing directory failed: %1 Погрешна промена фасцикле: %1 Downloading file failed: %1 Погрешно преузимање датотеке: %1 Uploading file failed: %1 Погрешно слање датотеке: %1 Removing file failed: %1 Погрешан уклон датотеке: %1 Creating directory failed: %1 Погрешна креација фасцикле: %1 Removing directory failed: %1 Погрешан уклон фасцикле: %1 Connection closed Веза затворена Host %1 found Хост %1 ненађен Connection to %1 closed Веза на %1 затворена Host found Хост нађен Connected to host Прикачено на хост QHostInfo Unknown error Непозната грешка QHostInfoAgent Host not found Хост није нађен Unknown address type Непознат тип адресе Unknown error Непозната грешка QHttp Unknown error Непозната грешка Request aborted Тражење заустављено No server set to connect to Без сервера подешен за везу на Wrong content length Погрешна дужина садржаја Server closed connection unexpectedly Сервер неочекивано затворио везу Connection refused Прикључак одбијен Host %1 not found Хост %1 ненађен HTTP request failed HTTP тражење погрешно Invalid HTTP response header Неважан HTTP одговор Invalid HTTP chunked body Invalid HTTP chunked body Host %1 found Хост %1 ненађен Connected to host %1 Прикачено на хост %1 Connection to %1 closed Веза на %1 затворена Host found Хост нађен Connected to host Прикачено на хост Connection closed Веза затворена Proxy authentication required Потребна аутентификација проксија Authentication required Потребна аутентификација QHttpSocketEngine Authentication required Потребна аутентификација QIBaseDriver Error opening database Грешка отварања базе Could not start transaction Не може да се покрене извођење Unable to commit transaction Не може да се преда извођење Unable to rollback transaction Не може да се врати извођење QIBaseResult Unable to create BLOB Не може да се креира BLOB Unable to write BLOB Не може да се пише BLOB Unable to open BLOB Не може да се отвори BLOB Unable to read BLOB Не може да се чита BLOB Could not find array Не може да се нае област Could not get array data Не може да се узму податци областа Could not get query info Не може да се узму инфо о питању Could not start transaction Не може да се покрене извођење Unable to commit transaction Неуспешна потврда транзакције Could not allocate statement Не може да се обезбеди статус Could not prepare statement Не може да се припреми статус Could not describe input statement Не може да се опише унос статуса Could not describe statement Не може да се опише статус Unable to close statement Не може да се затвори статус Unable to execute query Не може да се покрене тражење Could not fetch next item Не може да се донесе следећа ставка Could not get statement info Не може да се узму инфо статуса QIODevice Permission denied Одобрење одбијено Too many open files Много отворених датотека No such file or directory Нема те датотеке или фасцикле No space left on device Нема довољно простора Unknown error Непозната грешка QInputContext XIM XIM XIM input method Метода уноса XIM Windows input method Метода уноса Windows Mac OS X input method Метода уноса Mac OS X QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::load_sys: Cannot load %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) Could not mmap '%1': %2 Could not mmap '%1': %2 Plugin verification data mismatch in '%1' Plugin verification data mismatch in '%1' Could not unmap '%1': %2 Could not unmap '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Unknown error Непозната грешка The shared library was not found. The shared library was not found. The file '%1' is not a valid Qt plugin. The file '%1' is not a valid Qt plugin. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) QLineEdit &Undo &Врати &Redo &Понови Cu&t &Исеци &Copy &Копирај &Paste П&рилепи Delete Избриши Select All Одабери све QMYSQLDriver Unable to open database ' Не може да се отвори база ' Unable to connect Неуспешно привезивање Unable to begin transaction Неуспешан почетак транзакције Unable to commit transaction Неуспешна потврда транзакције Unable to rollback transaction Неуспешно врачање транзакције QMYSQLResult Unable to fetch data Unable to fetch data Unable to execute query Не може да се покрене питање Unable to store result Не може да се сачува резултат Unable to prepare statement Не може да се припреми статус Unable to reset statement Не може да се рисетује статус Unable to bind value Unable to bind value Unable to execute statement Не може да се покрене статус Unable to bind outvalues Unable to bind outvalues Unable to store statement results Не може да се сачува резултате статуса QMdiSubWindow %1 - [%2] %1 - [%2] Close Затвори Minimize Минимизуј Restore Down Врати доле &Restore Врати &Move Премести &Size Величина Mi&nimize Минимизуј Ma&ximize Максимизирај Stay on &Top Увек испред &Close Затвори QMenu Close Затвори Open Отвори Execute Покрени QMenuBar About О... Config Подеси Preference Поставка Options Опције Setting Параметар Setup Сетап Quit Затвори Exit Излаз About %1 О %1 About Qt О Qt Preferences Поставке Quit %1 Затвори %1 QMessageBox Help Помоћ OK У реду About Qt О Qt <p>This program uses Qt version %1.</p> <p>Програм користи Qt верзију %1.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.</p><p>Qt is a Trolltech product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.</p><p>Qt is a Trolltech product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> Show Details... Покажи детаље... Hide Details... Сакри детаље... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> QMultiInputContext Select IM Одабери IM QMultiInputContextPlugin Multiple input method switcher Пребацивач метода више уноса Multiple input method switcher that uses the context menu of the text widgets Пребацивач метода више уноса који користи контекстуелни мени од текст widgets QNativeSocketEngine The remote host closed the connection Удаљен хост је затворио везу Network operation timed out Тајм аут мрежног рада Out of resources Ван ресурса Unsupported socket operation Неподржан рад сокета Protocol type not supported Неподржан тип протокола Invalid socket descriptor Погрешан опис сокета Network unreachable Мрежа недоступна Permission denied Одобрење одбијено Connection timed out Тајм аут прикључка Connection refused Прикључак одбијен The bound address is already in use Адреса је већ у току The address is not available Адреса недоступна The address is protected Адреса је заштићена Unable to send a message Не може да се пошање порука Unable to receive a message Не може да се прими порука Unable to write Не може да се пише Network error Грешка мреже Another socket is already listening on the same port Други сокет веч слушај тај порт Unable to initialize non-blocking socket Не може де се иницијализује не-блокиран сокет Unable to initialize broadcast socket Unable to initialize broadcast socket Attempt to use IPv6 socket on a platform with no IPv6 support Проба употребе IPv6 сокета на платформи без IPv6 подршке Host unreachable Хост недоступан Datagram was too large to send Datagram was too large to send Operation on non-socket Operation on non-socket Unknown error Непозната грешка QOCIDriver Unable to logon Не може да се пријави Unable to initialize QOCIDriver Не може да се иницијализује QOCIResult Unable to bind column for batch execute Unable to bind column for batch execute Unable to execute batch statement Не може да се покрене бач статус Unable to goto next Не може да се оде на даље Unable to alloc statement Unable to alloc statement Unable to prepare statement Unable to prepare statement Unable to bind value Unable to bind value Unable to execute select statement Unable to execute select statement Unable to execute statement Unable to execute statement QODBCDriver Unable to connect Неуспешно привезивање Unable to connect - Driver doesn't support all needed functionality Неуспешно привезивање - Драјвер не подржава све потребне функције Unable to disable autocommit Unable to disable autocommit Unable to commit transaction Неуспешна потврда транзакције Unable to rollback transaction Неуспешно врачање транзакције Unable to enable autocommit Unable to enable autocommit QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration Unable to execute statement Не може да се покрене статус Unable to fetch next Unable to fetch next Unable to prepare statement Не може да се припреми статус Unable to bind variable Unable to bind variable QObject Home Куча QPSQLDriver Unable to connect Неуспешно привезивање Could not begin transaction Не може да се покрене трансакција Could not commit transaction Не може да се потврди транзакција Could not rollback transaction Не може да се врати транзакција QPSQLResult Unable to create query Не може да се креира тражење QPluginLoader Unknown error Непозната грешка The plugin was not loaded. Додатак није учитан. QPrintDialog locally connected Локална веза Aliases: %1 Псеудоними: %1 unknown непознато Portrait Portrait Landscape Landscape A0 (841 x 1189 mm) A0 (841 x 1189 mm) A1 (594 x 841 mm) A1 (594 x 841 mm) A2 (420 x 594 mm) A2 (420 x 594 mm) A3 (297 x 420 mm) A3 (297 x 420 mm) A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm, 8.26 x 11.7 inches) A5 (148 x 210 mm) A5 (148 x 210 mm) A6 (105 x 148 mm) A6 (105 x 148 mm) A7 (74 x 105 mm) A7 (74 x 105 mm) A8 (52 x 74 mm) A8 (52 x 74 mm) A9 (37 x 52 mm) A9 (37 x 52 mm) B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) B1 (707 x 1000 mm) B1 (707 x 1000 mm) B2 (500 x 707 mm) B2 (500 x 707 mm) B3 (353 x 500 mm) B3 (353 x 500 mm) B4 (250 x 353 mm) B4 (250 x 353 mm) B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm, 6.93 x 9.84 inches) B6 (125 x 176 mm) B6 (125 x 176 mm) B7 (88 x 125 mm) B7 (88 x 125 mm) B8 (62 x 88 mm) B8 (62 x 88 mm) B9 (44 x 62 mm) B9 (44 x 62 mm) B10 (31 x 44 mm) B10 (31 x 44 mm) C5E (163 x 229 mm) C5E (163 x 229 mm) DLE (110 x 220 mm) DLE (110 x 220 mm) Executive (7.5 x 10 inches, 191 x 254 mm) Executive (7.5 x 10 inches, 191 x 254 mm) Folio (210 x 330 mm) Folio (210 x 330 mm) Ledger (432 x 279 mm) Ledger (432 x 279 mm) Legal (8.5 x 14 inches, 216 x 356 mm) Legal (8.5 x 14 inches, 216 x 356 mm) Letter (8.5 x 11 inches, 216 x 279 mm) Letter (8.5 x 11 inches, 216 x 279 mm) Tabloid (279 x 432 mm) Tabloid (279 x 432 mm) US Common #10 Envelope (105 x 241 mm) US Common #10 Envelope (105 x 241 mm) OK У реду Cancel Поништи Page size: Величина листа: Orientation: Оријентација: Paper source: Извор листа: Print Штампај File Датотека Printer Штампач Print To File ... Штампај у датотеци... Print dialog Дијалог штампања Paper format Формат листа Size: Величина: Properties Својства Printer info: Инфо штампача: Browse Тражи Print to file Штампај у датотеци Print range Опсег штампања Print all Штампај све Pages from Листови од to до Selection Одабир Copies Копија Number of copies: Број копија: Collate Collate Print last page first Штачпај прво задњи лист Other Остало Print in color if available У боји ако доступно Double side printing Штампа на обе стране File %1 is not writable. Please choose a different file name. Датотека %1 није доступна. Одабрати ново име. %1 already exists. Do you want to overwrite it? %1 већ постоји. Да ли желите да га препишете? File exists Датотека постоји <qt>Do you want to overwrite it?</qt> <qt>Да ли желите да препишете?</qt> Print selection Одабир штампања %1 is a directory. Please choose a different file name. %1 је фасцикла. Одабрати друго име датотеке. QPrintPropertiesDialog PPD Properties PPD својства Save Сачувај OK У реду QProgressDialog Cancel Поништи QPushButton Open Отвори QRadioButton Check Одабери QRegExp no error occurred без грешке disabled feature used disabled feature used bad char class syntax bad char class syntax bad lookahead syntax bad lookahead syntax bad repetition syntax bad repetition syntax invalid octal value invalid octal value missing left delim фали леви одвајач unexpected end неочекиван крај met internal limit интерно ограничење QSQLite2Driver Error to open database Грешка отварања базе Unable to begin transaction Неуспешно покретање страсакције Unable to commit transaction Unable to commit transaction Unable to rollback Transaction Неуспешно врачање трансакције QSQLite2Result Unable to fetch results Unable to fetch results Unable to execute statement Не може да се покрене статус QSQLiteDriver Error opening database Грешка отварања базе Error closing database Грешка затварања базе Unable to begin transaction Неуспешан почетак транзакције Unable to commit transaction Неуспешна потврда транзакције Unable to roll back transaction Неуспешно врачање транзакције QSQLiteResult Unable to fetch row Unable to fetch row Unable to execute statement Не може да се покрене статус Unable to reset statement Не може да се рисетује статус Unable to bind parameters Unable to bind variable Parameter count mismatch Parameter count mismatch QScrollBar Scroll here Scroll here Left edge Лева ивица Top Прво Right edge Десна ивица Bottom Доле Page left Леви лист Page up Лист горе Page right Лист десно Page down Лист доле Scroll left Scroll left Scroll up Scroll up Scroll right Scroll right Scroll down Scroll down Line up Линија горе Position Сештај Line down Линија доле QShortcut Space Space Esc Esc Tab Tab Backtab Backtab Backspace Backspace Return Return Enter Enter Ins Ins Del Del Pause Pause Print Print SysReq SysReq Home Home End End Left Left Up Up Right Right Down Down PgUp PgUp PgDown PgDown CapsLock CapsLock NumLock NumLock ScrollLock ScrollLock Menu Мени Help Помоћ Back Назад Forward Даље Stop Стоп Refresh Обнови Volume Down Volume Down Volume Mute Volume Mute Volume Up Volume Up Bass Boost Bass Boost Bass Up Bass Up Bass Down Bass Down Treble Up Treble Up Treble Down Treble Down Media Play Media Play Media Stop Media Stop Media Previous Media Previous Media Next Media Next Media Record Media Record Favorites Favorites Search Search Standby Standby Open URL Open URL Launch Mail Launch Mail Launch Media Launch Media Launch (0) Launch (0) Launch (1) Launch (1) Launch (2) Launch (2) Launch (3) Launch (3) Launch (4) Launch (4) Launch (5) Launch (5) Launch (6) Launch (6) Launch (7) Launch (7) Launch (8) Launch (8) Launch (9) Launch (9) Launch (A) Launch (A) Launch (B) Launch (B) Launch (C) Launch (C) Launch (D) Launch (D) Launch (E) Launch (E) Launch (F) Launch (F) Print Screen Print Screen Page Up Page Up Page Down Page Down Caps Lock Caps Lock Num Lock Num Lock Number Lock Number Lock Scroll Lock Scroll Lock Insert Insert Delete Delete Escape Escape System Request System Request Select Select Yes Да No Не Context1 Context1 Context2 Context2 Context3 Context3 Context4 Context4 Call Call Hangup Hangup Flip Flip Ctrl Ctrl Shift Shift Alt Alt Meta Meta + + F%1 F%1 Home Page Home Page QSlider Page left Лист лево Page up Лист горе Position Смештај Page right Лист десно Page down Лист доле QSocks5SocketEngine Socks5 timeout error connecting to socks server Socks5 timeout error connecting to socks server QSpinBox More Више Less Мање QSql Delete Избриши Delete this record? Избрисати ову ставку? Yes Да No Не Insert Убаци Update Ажурирај Save edits? Сачувај промене? Cancel Поништи Confirm Потврди Cancel your edits? Одбаци промене? QSslSocket Unable to write data: %1 Unable to write data: %1 Error while reading: %1 Error while reading: %1 Error during SSL handshake: %1 Error during SSL handshake: %1 Error creating SSL context (%1) Error creating SSL context (%1) Invalid or empty cipher list (%1) Invalid or empty cipher list (%1) Error creating SSL session, %1 Error creating SSL session, %1 Error creating SSL session: %1 Error creating SSL session: %1 Cannot provide a certificate with no key, %1 Cannot provide a certificate with no key, %1 Error loading local certificate, %1 Error loading local certificate, %1 Error loading private key, %1 Error loading private key, %1 Private key do not certificate public key, %1 Private key do not certificate public key, %1 QTDSDriver Unable to open connection Не може да се отвори база Unable to use database Не може да се користи база QTabBar Scroll Left Scroll Left Scroll Right Scroll Right QTcpServer Socket operation unsupported Socket operation unsupported QTextControl &Undo &Врати &Redo &Понови Cu&t &Исеци &Copy &Копирај Copy &Link Location Копирај смештај линка &Paste П&рилепи Delete Избриши Select All Одабери све QToolButton Press Стисни Open Отвори QUdpSocket This platform does not support IPv6 Ова платформа не подржава IPv6 QUndoGroup Undo &Врати Redo &Понови QUndoModel <empty> <празно> QUndoStack Undo Врати Redo Помони QUnicodeControlCharacterMenu LRM Left-to-right mark LRM Left-to-right mark RLM Right-to-left mark RLM Right-to-left mark ZWJ Zero width joiner ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWNJ Zero width non-joiner ZWSP Zero width space ZWSP Zero width space LRE Start of left-to-right embedding LRE Start of left-to-right embedding RLE Start of right-to-left embedding RLE Start of right-to-left embedding LRO Start of left-to-right override LRO Start of left-to-right override RLO Start of right-to-left override RLO Start of right-to-left override PDF Pop directional formatting PDF Pop directional formatting Insert Unicode control character Insert Unicode control character QWhatsThisAction What's This? Шта је ово? QWidget * * QWizard Go Back Иди назад Continue Настави Commit Commit Done Урађено Quit Излаз Help Помоћ < &Back < &Назад &Finish &Заврши Cancel Поништи &Help Помоћ QWorkspace &Restore Врати &Move Премести &Size Величина Mi&nimize Минимизуј Ma&ximize Максимизирај &Close Затвори Stay on &Top Увек испред Sh&ade Sh&ade %1 - [%2] %1 - [%2] Minimize Минимизуј Restore Down Врати доле Close Затвори &Unshade &Unshade QXml no error occurred no error occurred error triggered by consumer error triggered by consumer unexpected end of file unexpected end of file more than one document type definition more than one document type definition error occurred while parsing element error occurred while parsing element tag mismatch tag mismatch error occurred while parsing content error occurred while parsing content unexpected character unexpected character invalid name for processing instruction invalid name for processing instruction version expected while reading the XML declaration version expected while reading the XML declaration wrong value for standalone declaration wrong value for standalone declaration encoding declaration or standalone declaration expected while reading the XML declaration encoding declaration or standalone declaration expected while reading the XML declaration standalone declaration expected while reading the XML declaration standalone declaration expected while reading the XML declaration error occurred while parsing document type definition error occurred while parsing document type definition letter is expected letter is expected error occurred while parsing comment error occurred while parsing comment error occurred while parsing reference error occurred while parsing reference internal general entity reference not allowed in DTD internal general entity reference not allowed in DTD external parsed general entity reference not allowed in attribute value external parsed general entity reference not allowed in attribute value external parsed general entity reference not allowed in DTD external parsed general entity reference not allowed in DTD unparsed entity reference in wrong context unparsed entity reference in wrong context recursive entities recursive entities error in the text declaration of an external entity error in the text declaration of an external entity QXmlStream Extra content at end of document. Extra content at end of document. Invalid entity value. Invalid entity value. Invalid XML character. Invalid XML character. Sequence ']]>' not allowed in content. Sequence ']]>' not allowed in content. Namespace prefix '%1' not declared Namespace prefix '%1' not declared Attribute redefined. Attribute redefined. Unexpected character '%1' in public id literal. Unexpected character '%1' in public id literal. Invalid XML version string. Invalid XML version string. Unsupported XML version. Unsupported XML version. %1 is an invalid encoding name. %1 is an invalid encoding name. Encoding %1 is unsupported Encoding %1 is unsupported Invalid XML encoding name. Invalid XML encoding name. Standalone accepts only yes or no. Standalone accepts only yes or no. Invalid attribute in XML declaration. Invalid attribute in XML declaration. Premature end of document. Premature end of document. Invalid document. Invalid document. Expected Expected , but got ' , but got ' Unexpected ' Unexpected ' Expected character data. Expected character data. Recursive entity detected. Recursive entity detected. Start tag expected. Start tag expected. XML declaration not at start of document. XML declaration not at start of document. NDATA in parameter entity declaration. NDATA in parameter entity declaration. %1 is an invalid processing instruction name. %1 is an invalid processing instruction name. Invalid processing instruction name. Invalid processing instruction name. Illegal namespace declaration. Illegal namespace declaration. Invalid XML name. Invalid XML name. Opening and ending tag mismatch. Opening and ending tag mismatch. Reference to unparsed entity '%1'. Reference to unparsed entity '%1'. Entity '%1' not declared. Entity '%1' not declared. Reference to external entity '%1' in attribute value. Reference to external entity '%1' in attribute value. Invalid character reference. Invalid character reference. Encountered incorrectly encoded content. Encountered incorrectly encoded content. The standalone pseudo attribute must appear after the encoding. The standalone pseudo attribute must appear after the encoding. %1 is an invalid PUBLIC identifier. %1 is an invalid PUBLIC identifier. keepassx-0.4.3/src/translations/qt_fi.ts0000664000175000017500000051652411342454455017351 0ustar felixfelix AudioOutput <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> Revert back to device '%1' Phonon:: Notifications Music Video Communication Games Accessibility Phonon::Gstreamer::Backend Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Phonon::Gstreamer::MediaObject Cannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed. A required codec is missing. You need to install the following codec(s) to play this content: %0 Could not open media source. Invalid source type. Could not locate media source. Could not open audio device. The device is already in use. Could not decode media source. Phonon::VolumeSlider Volume: %1% Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Q3Accel %1, %2 not defined %1, %2 ei määritelty Ambiguous %1 not handled Q3DataTable True Tosi False Epätosi Insert Lisää Update Päivitä Delete Poista Q3FileDialog Copy or Move a File Kopioi tai siirrä tiedosto Read: %1 Lue: %1 Write: %1 Kirjoita: %1 Cancel Peru All Files (*) Kaikki tiedostot (*) Name Nimi Size Koko Type Tyyppi Date Päiväys Attributes Attribuutit &OK &OK Look &in: Etsi &kohteista: File &name: Tiedosto&nimi: File &type: Tiedosto&tyyppi: Back Takaisin One directory up Yksin kansio ylös Create New Folder Luo uusi kansio List View Listanäkymä Detail View Yksityiskohtanäkymä Preview File Info Esikatsele tiedoston tietoja Preview File Contents Esikatsele tiedoston sisältöä Read-write Luku-kirjoitus Read-only Vain luku Write-only Vain kirjoitus Inaccessible Ei oikeuksia Symlink to File Symbolinen linkki tiedostoon Symlink to Directory Symbolinen linkki kansioon Symlink to Special Symbolinen linkki erikoistiedostoon File Tiedosto Dir Kansio Special Erikoistiedosto Open Avaa Save As Tallenna nimellä &Open &Avaa &Save &Tallenna &Rename Nimeä &uudestaan &Delete &Poista R&eload Lataa uud&estaan Sort by &Name Järjestä &nimen mukaan Sort by &Size Järjestä &koon mukaan Sort by &Date Järjestä &päiväyksen mukaan &Unsorted Ei &järjestetty Sort Järjestä Show &hidden files Näytä &piilotetut tiedostot the file tiedosto the directory kansio the symlink symbolinen linkki Delete %1 Poista %1 <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Haluatko varmasti poistaa %1 "%2"?</qt> &Yes &Kyllä &No &Ei New Folder 1 Uusi kansio 1 New Folder Uusi kansio New Folder %1 Uusi kansio %1 Find Directory Etsi kansio Directories Kansiot Directory: Kansio: Error Virhe %1 File not found. Check path and filename. %1 tiedostoa ei ole olemassa. Tarkista polku ja tiedostonimi. Q3LocalFs Could not read directory %1 Kansiota %1 ei voitu lukea Could not create directory %1 Kansiota %1 ei voitu luoda Could not remove file or directory %1 Tiedostoa tai kansiota %1 ei voitu poistaa Could not rename %1 to %2 Kohdetta %1 ei voitu nimetä uudestaan nimelle %2 Could not open %1 %1 ei voitu avata Could not write %1 %1 ei voitu kirjoittaa Q3MainWindow Line up Rivi ylös Customize... Q3NetworkProtocol Operation stopped by the user Käyttäjä keskeytti toiminnon Q3ProgressDialog Cancel Peru Q3TabDialog OK OK Apply Toteuta Help Ohje Defaults Oletus Cancel Peru Q3TextEdit &Undo &Peru &Redo &Tee uudestaan Cu&t &Leikkaa &Copy &Kopioi &Paste L&iiitä Clear Tyhjennä Select All Valitse kaikki Q3TitleBar System Järjestelmä Restore up Minimize Pienennä Restore down Maximize Suurenna Close Sulje Contains commands to manipulate the window Sisältää ikkunan muokkaukseen liittyviä komentoja Puts a minimized back to normal Palauttaa pienennetyn ikkunan Moves the window out of the way Siirtää ikkunan pois tieltä Puts a maximized window back to normal Palauttaa suurennetun ikkunan Makes the window full screen Näytä ikkuna kokoruututilassa Closes the window Sulkee ikkunan Displays the name of the window and contains controls to manipulate it Näyttää ikkunan nimen ja sisältää ohjaimia ikkunan käsittelyyn Q3ToolBar More... Lisää... Q3UrlOperator The protocol `%1' is not supported protokolla "%1" ei ole tuettu The protocol `%1' does not support listing directories Protokolla "%1" ei tue kansiolistauksia The protocol `%1' does not support creating new directories Protokolla "%1" ei tue kansioiden luontia The protocol `%1' does not support removing files or directories Protokolla "%1" ei tue tiedostojen tai kansioiden poistoa The protocol `%1' does not support renaming files or directories Protokolla "%1" eitue tiedostojen tai kansioiden uudelleennimeämistä The protocol `%1' does not support getting files Protokolla "%1" ei tue tiedostojen noutoa The protocol `%1' does not support putting files Protokolla "%1" ei tue tiedostojen lisäystä The protocol `%1' does not support copying or moving files or directories Protokolla "%1" ei tue tiedostojen tai kansioiden kopiointia tai siirtoa (unknown) (tuntematon) Q3Wizard &Cancel &Peru < &Back < &Takaisin &Next > &Seuraava > &Finish &Valmis &Help O&hje QAbstractSocket Host not found Isäntää ei löytynyt Connection refused Yhteys estettiin Socket operation timed out Pistekeoperaation aikakatkaisu Socket is not connected Pistoke ei ole yhdistetty QAbstractSpinBox &Step up Step &down &Select All QApplication Activate Executable '%1' requires Qt %2, found Qt %3. Incompatible Qt Library Error QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. Activates the program's main window QCheckBox Uncheck Check Toggle QColorDialog Hu&e: &Sat: &Val: &Red: &Punainen: &Green: &Vihreä: Bl&ue: &Sininen: A&lpha channel: A&lphakanava: &Basic colors &Perusvärit &Custom colors &Omat värit &Add to Custom Colors &Lisää omiin väreihin Select color Valitse väri QComboBox Open Avaa False Epätosi True Tosi Close Sulje QCoreApplication %1: permission denied QSystemSemaphore %1: already exists QSystemSemaphore %1: doesn't exists QSystemSemaphore %1: out of resources QSystemSemaphore %1: unknown error %2 QSystemSemaphore %1: key is empty QSystemSemaphore %1: unable to make key QSystemSemaphore %1: ftok failed QSystemSemaphore QDB2Driver Unable to connect Yhteyttä ei saatu Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback transaction Unable to set autocommit QDB2Result Unable to execute statement Unable to prepare statement Unable to bind variable Unable to fetch record %1 Unable to fetch next Unable to fetch first QDateTimeEdit AM am PM pm QDial QDial SpeedoMeter SliderHandle QDialog What's This? Mikä tämä on? Done Valmis QDialogButtonBox OK OK Save Tallenna Open Avaa Cancel Peru Close Sulje Apply Toteuta Reset Nollaa Help Ohje Don't Save Älä tallenna Discard Hylkää &Yes &Kyllä Yes to &All Kyllä k&aikkiin &No &Ei N&o to All E&i kaikkiin Save All Tallenna kaikki Abort Keskeytä Retry Yritä uudestaan Ignore Älä huomioi Restore Defaults Palauta oletukset Close without Saving Sulje tallentamatta &OK &OK QDirModel Name Nimi Size Koko Kind Match OS X Finder Tyyppi Type All other platforms Tyyppi Date Modified Muokattu QDockWidget Close Sulje Dock Float QDoubleSpinBox More Less QErrorMessage Debug Message: Warning: Fatal Error: &Show this message again &OK &OK QFileDialog All Files (*) Kaikki tiedostot (*) Directories Kansiot &Open &Avaa &Save &Tallenna Open Avaa %1 already exists. Do you want to replace it? %1 on jo olemassa. Haluatko korvata sen? %1 File not found. Please verify the correct file name was given. %1 tiedostoa ei löydy. Tarkista, että annoit oikean tiedostonimen. My Computer Oma tietokone &Rename &Nimeä uudestaan &Delete &Poista Show &hidden files Näytä &piilotiedostot Back Takaisin Parent Directory Yläkansio List View Listanäkymä Detail View Yksityiskohdat Files of type: Tiedostot tyyppiä: Directory: Kansio: %1 Directory not found. Please verify the correct directory name was given. %1 kansiota ei löydy. Varmista, että annoit oikean kansion nimen. '%1' is write protected. Do you want to delete it anyway? "%1" on kirjoitussuojattu. Haluatko silti poistaa sen? Are sure you want to delete '%1'? Haluatko varmasti poistaa kohteen "%1"? Could not delete directory. Kansiota ei voitu poistaa. Save As Tallenna nimellä Drive Asema File Tiedosto Unknown Tuntematon Find Directory Etsi kansio Show Näytä Forward Eteenpäin New Folder Uusi kansio &New Folder &Uusi kansio &Choose &Valitse Remove Poista File &name: Tiedosto&nimi: Look in: Etsi kohteista: Create New Folder Luo uusi kansio QFileSystemModel Invalid filename Virheellinen tiedostonimi <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. Name Nimi Size Koko Kind Match OS X Finder Tyyppi Type All other platforms Tyyppi Date Modified Muokattu My Computer Oma Tietokone Computer Tietokone %1 TB %1 TB %1 GB %1 GB %1 MB %1 MB %1 KB %1 KB %1 bytes %1 tavua QFontDatabase Normal Bold Demi Bold Black Demi Light Italic Oblique Any Latin Greek Cyrillic Armenian Hebrew Arabic Syriac Thaana Devanagari Bengali Gurmukhi Gujarati Oriya Tamil Telugu Kannada Malayalam Sinhala Thai Lao Tibetan Myanmar Georgian Khmer Simplified Chinese Traditional Chinese Japanese Korean Vietnamese Symbol Ogham Runic QFontDialog &Font Font st&yle &Size &Koko Effects Stri&keout &Underline Sample Wr&iting System Select Font QFtp Not connected Ei yhteyttä Host %1 not found Palvelinta %1 ei löydy Connection refused to host %1 Palvelin %1 esti yhteyden Connected to host %1 Yhdistetty palvelimeen %1 Connection refused for data connection Datayhteyden avaus estettiin Unknown error Tuntematon virhe Connecting to host failed: %1 Yhteys palvelimeen epäonnistui: %1 Login failed: %1 Kirjautuminen epäonnistui: %1 Listing directory failed: %1 Kansion sisällön näyttö epäonnistui. %1 Changing directory failed: %1 Kansioon siirtyminen epäonnistui: %1 Downloading file failed: %1 Tiedoston nouto epäonnistui: %1 Uploading file failed: %1 Tiedoston vienti epäonnistui: %1 Removing file failed: %1 Tiedoston poisto epäonnistui: %1 Creating directory failed: %1 Kansion luonti epäonnistui: %1 Removing directory failed: %1 Kansion poisto epäonnistui: %1 Connection closed Yhteys suljettu Host %1 found Palvelin %1 löytyi Connection to %1 closed Yhteys palvelimeen %1 suljettiin Host found Palvelin löytyi Connected to host Yhdistetty palvelimeen QHostInfo Unknown error Tuntematon virhe QHostInfoAgent Host not found Isäntää ei löytynyt Unknown address type Unknown error Tuntematon virhe QHttp Unknown error Tuntematon virhe Request aborted Pyyntö keskeytettiin No server set to connect to Ei palvelinta johon ottaa yhteyttä Wrong content length Virheellinen sisällön pituus Server closed connection unexpectedly Palvelin katkaisi yhteyden odottamatta Connection refused Yhteys estettiin Host %1 not found Palvelinta %1 ei löydy HTTP request failed HTTP-pyyntö epäonnistui Invalid HTTP response header Virheellinen HTTP-vastausotsake Invalid HTTP chunked body Virheellinen HTTP-paloiteltu runko Host %1 found Palvelin %1 löytyi Connected to host %1 Yhdistetty palvelimeen %1 Connection to %1 closed Yhteys palvelimeen %1 katkaistu Host found Palvelin löytyi Connected to host Yhdistetty palvelimeen Connection closed Yhteys suljettu Proxy authentication required Välipalvelin vaatii tunnistautumisen Authentication required Tunnistautuminen vaaditaan HTTPS connection requested but SSL support not compiled in Connection refused (or timed out) Proxy requires authentication Host requires authentication Data corrupted Unknown protocol specified SSL handshake failed QHttpSocketEngine Authentication required Tunnistautuminen vaaditaan QIBaseDriver Error opening database Could not start transaction Transaktiota ei voitu aloittaa Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback transaction QIBaseResult Unable to create BLOB BLOB:ia ei voitu luoda Unable to write BLOB BLOB:iin ei voitu kirjoittaa Unable to open BLOB BLOB:ia ei voi avata Unable to read BLOB BLOB:ia ei voi lukea Could not find array Taulukkoa ei löytynyt Could not get array data Taulukon tietoja ei saatu Could not get query info Kyselytietoja ei saatu Could not start transaction Transaktiota ei voitu aloittaa Unable to commit transaction Transaktiota ei voitu toteuttaa Could not allocate statement Lauseketta ei voitu varata Could not prepare statement Lauseketta ei voitu valmistella Could not describe input statement Syötelauseketta ei voitu kuvata Could not describe statement Lauseketta ei voitu kuvata Unable to close statement Lauseketta ei voitu sulkea Unable to execute query Kyselyä ei voitu suorittaa Could not fetch next item Seuraavaa kohdetta ei voitu noutaa Could not get statement info Tietoja lausekkeesta ei saatu QIODevice Permission denied Lupa evätty Too many open files No such file or directory No space left on device Unknown error Tuntematon virhe QInputContext XIM XIM input method Windows input method Mac OS X input method QLibrary QLibrary::load_sys: Cannot load %1 (%2) QLibrary::unload_sys: Cannot unload %1 (%2) QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3) Could not mmap '%1': %2 Plugin verification data mismatch in '%1' Could not unmap '%1': %2 The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Unknown error Tuntematon virhe The shared library was not found. The file '%1' is not a valid Qt plugin. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) QLineEdit &Undo &Peru &Redo &Tee uudestaan Cu&t &Leikkaa &Copy &Kopioi &Paste L&iiitä Delete Select All Valitse kaikki QLocalServer %1: Name error %1: Permission denied %1: Address in use %1: Unknown error %2 QLocalSocket %1: Connection refused %1: Remote closed %1: Invalid name %1: Socket access error %1: Socket resource error %1: Socket operation timed out %1: Datagram too large %1: Connection error %1: The socket operation is not supported %1: Unknown error %2 QMYSQLDriver Unable to open database ' Unable to connect Yhteyttä ei saatu Unable to begin transaction Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback transaction QMYSQLResult Unable to fetch data Unable to execute query Kyselyä ei voitu suorittaa Unable to store result Unable to prepare statement Unable to reset statement Unable to bind value Unable to execute statement Unable to bind outvalues Unable to store statement results Unable to execute next query Unable to store next result QMdiArea (Untitled) QMdiSubWindow %1 - [%2] %1 - [%2] Close Sulje Minimize Pienennä Restore Down &Restore &Palauta &Move &Siirrä &Size &Koko Mi&nimize P&ienennä Ma&ximize S&uurenna Stay on &Top Pidä &päällimmäisenä &Close &Sulje - [%1] Maximize Suurenna Unshade Shade Restore Help Menu Menu QMenu Close Sulje Open Avaa Execute QMessageBox Help OK OK About Qt Tietoja Qt:sta <p>This program uses Qt version %1.</p> Show Details... Hide Details... <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p> <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p> QMultiInputContext Select IM QMultiInputContextPlugin Multiple input method switcher Multiple input method switcher that uses the context menu of the text widgets QNativeSocketEngine The remote host closed the connection Network operation timed out Verkkotoiminto aikakatkaistiin Out of resources Resurssit loppuivat Unsupported socket operation Pistoketoiminto ei ole tuettu Protocol type not supported Protokollatyyppi ei ole tuettu Invalid socket descriptor Virheellinen pistokkeen kuvaaja Network unreachable Verkko ei ole saatavilla Permission denied Lupa evätty Connection timed out Yhteys aikakatkaistiin Connection refused Yhteys estettiin The bound address is already in use Sidottu osoite on jo käytössä The address is not available Osoite ei ole saatavilla The address is protected Osoite on suojattu Unable to send a message Viestiä ei voitu lähettää Unable to receive a message Viestiä ei voitu vastaanottaa Unable to write Ei voitu kirjoittaa Network error Verkkovirhe Another socket is already listening on the same port Toinen pistoke kuuntelee jo samaa porttia Unable to initialize non-blocking socket Unable to initialize broadcast socket Attempt to use IPv6 socket on a platform with no IPv6 support Yritettiin käyttää IPv6-pistoketta alustalla joka ei sisällä IPv6-tukea Host unreachable Palvelinta ei voi saavuttaa Datagram was too large to send Paketti oli liian suuri lähetettäväksi Operation on non-socket Toiminnon kohde ei ole pistoke Unknown error Tuntematon virhe The proxy type is invalid for this operation QNetworkAccessFileBackend Request for opening non-local file %1 Error opening %1: %2 Write error writing to %1: %2 Cannot open %1: Path is a directory Read error reading from %1: %2 QNetworkAccessFtpBackend Cannot open %1: is a directory Logging in to %1 failed: authentication required Error while downloading %1: %2 Error while uploading %1: %2 QNetworkReply Error downloading %1 - server replied: %2 Protocol "%1" is unknown QNetworkReplyImpl Operation canceled QOCIDriver Unable to logon Unable to initialize QOCIDriver Unable to begin transaction Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback transaction QOCIResult Unable to bind column for batch execute Unable to execute batch statement Unable to goto next Unable to alloc statement Unable to prepare statement Unable to bind value Unable to execute select statement Unable to execute statement QODBCDriver Unable to connect Yhteyttä ei saatu Unable to connect - Driver doesn't support all needed functionality Unable to disable autocommit Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback transaction Unable to enable autocommit QODBCResult QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration Unable to execute statement Unable to fetch next Unable to prepare statement Unable to bind variable Unable to fetch last Unable to fetch Unable to fetch first Unable to fetch previous QObject Operation not supported on %1 Invalid URI: %1 Write error writing to %1: %2 Read error reading from %1: %2 Socket error on %1: %2 Remote host closed the connection prematurely on %1 Protocol error: packet of size 0 received QPPDOptionsModel Name Nimi Value Arvo QPSQLDriver Unable to connect Yhteyttä ei saatu Could not begin transaction Could not commit transaction Could not rollback transaction Unable to subscribe Unable to unsubscribe QPSQLResult Unable to create query Unable to prepare statement QPageSetupWidget Centimeters (cm) Millimeters (mm) Inches (in) Points (pt) Form Paper Page size: Sivun koko: Width: Height: Paper source: Paperin lähde: Orientation Portrait Pysty Landscape Vaaka Reverse landscape Reverse portrait Margins top margin left margin right margin bottom margin QPluginLoader Unknown error Tuntematon virhe The plugin was not loaded. QPrintDialog locally connected paikallisesti yhdistetty Aliases: %1 Aliakset: %1 unknown tuntematon Print To File ... Tulosta tiedostoon... File %1 is not writable. Please choose a different file name. Tiedosto %1 ei ole kirjoitettavissa. Valitse toinen tiedostonimi. %1 already exists. Do you want to overwrite it? %1 on jo olemassa. Haluatko kirjoittaa sen yli? %1 is a directory. Please choose a different file name. %1 on kansio. Valitse toinen tiedostonimi. A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C5E DLE Executive Folio Ledger Legal Letter Tabloid US Common #10 Envelope Custom &Options >> &Print &Options << Print to File (PDF) Print to File (Postscript) Local file Write %1 file QPrintPreviewDialog Page Setup Print Preview Next page Previous page First page Last page Fit width Fit page Zoom in Zoom out Portrait Pysty Landscape Vaaka Show single page Show facing pages Show overview of all pages Print Print Page setup Close Sulje QPrintPropertiesWidget Form Page Advanced QPrintSettingsOutput Form Copies Kopiot Print range Tulostusalue Print all Tulosta kaikki Pages from Sivut alkaen to saakka Selection Valinta Output Settings Copies: Collate Reverse Options Valinnat Color Mode Color Grayscale Duplex Printing None Long side Short side QPrintWidget Form Printer Tulostin &Name: P&roperties Location: Preview Type: Output &file: ... QProgressDialog Cancel Peru QPushButton Open Avaa QRadioButton Check QRegExp no error occurred virhettä ei tapahtunut disabled feature used bad char class syntax bad lookahead syntax bad repetition syntax invalid octal value missing left delim unexpected end met internal limit QSQLite2Driver Error to open database Unable to begin transaction Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback Transaction QSQLite2Result Unable to fetch results Unable to execute statement QSQLiteDriver Error opening database Error closing database Unable to begin transaction Unable to commit transaction Transaktiota ei voitu toteuttaa Unable to rollback transaction QSQLiteResult Unable to fetch row Unable to execute statement Unable to reset statement Unable to bind parameters Parameter count mismatch No query QScrollBar Scroll here Vieritä tähän Left edge Vasen reuna Top Ylös Right edge Oikea reuna Bottom Alas Page left Sivu vasemmalle Page up Sivu ylös Page right Sivu oikealle Page down Sivu alas Scroll left Vieritä vasemmalle Scroll up Vieritä ylös Scroll right Vieritä oikealle Scroll down Vieritä alas Line up Rivi ylös Position Sijainti Line down Rivi alas QSharedMemory %1: unable to set key on lock %1: create size is less then 0 %1: unable to lock %1: unable to unlock %1: permission denied %1: already exists %1: doesn't exists %1: out of resources %1: unknown error %2 %1: key is empty %1: unix key file doesn't exists %1: ftok failed %1: unable to make key %1: system-imposed size restrictions %1: not attached QShortcut Space Välilyönti Esc Esc Tab Sarkain Backtab Backtab Backspace Askelpalautin Return Return Enter Enter Ins Ins Del Del Pause Pause Print Print SysReq SysReq Home Home End End Left Vasen Up Ylös Right Oikea Down Alas PgUp PgUp PgDown PgDown CapsLock CapsLock NumLock NumLock ScrollLock ScrollLock Menu Menu Help Help Back Takaisin Forward Eteenpäin Stop Pysäytä Refresh Päivitä Volume Down Äänenvoimakkuus alas Volume Mute Vaimenna äänet Volume Up Äänenvoimakkuus ylös Bass Boost Basson korostus Bass Up Basson lisäys Bass Down Basson vähennys Treble Up Diskantin lisäys Treble Down Diskantin vähennys Media Play Median - toista Media Stop Median - pysäytä Media Previous Media - edellinen Media Next Media - seuraava Media Record Media - tallenna Favorites Suosikit Search Etsi Standby Keskeytystila Open URL Avaa URL Launch Mail Käynnistä sähköposti Launch Media Käynnistä mediasoitin Launch (0) Käynnistä (0) Launch (1) Käynnistä (1) Launch (2) Käynnistä (2) Launch (3) Käynnistä (3) Launch (4) Käynnistä (4) Launch (5) Käynnistä (5) Launch (6) Käynnistä (6) Launch (7) Käynnistä (7) Launch (8) Käynnistä (8) Launch (9) Käynnistä (9) Launch (A) Käynnistä (A) Launch (B) Käynnistä (B) Launch (C) Käynnistä (C) Launch (D) Käynnistä (D) Launch (E) Käynnistä (E) Launch (F) Käynnistä (F) Print Screen PrintScreen Page Up Sivu ylös Page Down Sivu alas Caps Lock CapsLock Num Lock NumLock Number Lock Numerolukko Scroll Lock ScrollLock Insert Insert Delete Delete Escape Escape System Request SystemRequest Select Valinta Yes Kyllä No Ei Context1 Konteksti1 Context2 Konteksti2 Context3 Konteksti3 Context4 Konteksti4 Call Soita Hangup Katkaise Flip Käännä Ctrl Ctrl Shift Vaihtonäppäin Alt Alt Meta Meta + + F%1 F%1 Home Page Kotisivu QSlider Page left Sivu vasemmalle Page up Sivu ylös Position Sijainti Page right Sivu oikealle Page down Sivu alas QSocks5SocketEngine Socks5 timeout error connecting to socks server Network operation timed out Verkkotoiminto aikakatkaistiin QSpinBox More Less QSql Delete Poista Delete this record? Poistetaanko tämä tietue? Yes Kyllä No Ei Insert Lisää Update Päivitä Save edits? Tallenna muutokset? Cancel Peru Confirm Vahvista Cancel your edits? Peru muutokset? QSslSocket Unable to write data: %1 Error while reading: %1 Error during SSL handshake: %1 Error creating SSL context (%1) Invalid or empty cipher list (%1) Error creating SSL session, %1 Error creating SSL session: %1 Cannot provide a certificate with no key, %1 Error loading local certificate, %1 Error loading private key, %1 Private key does not certificate public key, %1 QTDSDriver Unable to open connection Unable to use database QTabBar Scroll Left Scroll Right QTextControl &Undo &Peru &Redo &Tee uudestaan Cu&t &Leikkaa &Copy &Kopioi Copy &Link Location &Paste L&iiitä Delete Select All Valitse kaikki QToolButton Press Open Avaa QUdpSocket This platform does not support IPv6 Tämä alusta ei tue IPv6:ta QUndoGroup Undo Peru Redo Tee uudestaan QUndoModel <empty> <tyhjä> QUndoStack Undo Peru Redo Tee uudestaan QUnicodeControlCharacterMenu LRM Left-to-right mark RLM Right-to-left mark ZWJ Zero width joiner ZWNJ Zero width non-joiner ZWSP Zero width space LRE Start of left-to-right embedding RLE Start of right-to-left embedding LRO Start of left-to-right override RLO Start of right-to-left override PDF Pop directional formatting Insert Unicode control character QWebFrame Request cancelled Request blocked Cannot show URL Frame load interruped by policy change Cannot show mimetype File does not exist QWebPage Bad HTTP request Submit default label for Submit buttons in forms on web pages Submit Submit (input element) alt text for <input> elements with no alt, title, or value Reset default label for Reset buttons in forms on web pages Nollaa This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Choose File title for file button used in HTML forms No file selected text to display in file button used in HTML forms when no file is selected Open in New Window Open in New Window context menu item Save Link... Download Linked File context menu item Copy Link Copy Link context menu item Open Image Open Image in New Window context menu item Save Image Download Image context menu item Copy Image Copy Link context menu item Open Frame Open Frame in New Window context menu item Copy Copy context menu item Go Back Back context menu item Siirry takaisin Go Forward Forward context menu item Stop Stop context menu item Pysäytä Reload Reload context menu item Cut Cut context menu item Paste Paste context menu item No Guesses Found No Guesses Found context menu item Ignore Ignore Spelling context menu item Älä huomioi Add To Dictionary Learn Spelling context menu item Search The Web Search The Web context menu item Look Up In Dictionary Look Up in Dictionary context menu item Open Link Open Link context menu item Ignore Ignore Grammar context menu item Älä huomioi Spelling Spelling and Grammar context sub-menu item Show Spelling and Grammar menu item title Hide Spelling and Grammar menu item title Check Spelling Check spelling context menu item Check Spelling While Typing Check spelling while typing context menu item Check Grammar With Spelling Check grammar with spelling context menu item Fonts Font context sub-menu item Bold Bold context menu item Italic Italic context menu item Underline Underline context menu item Outline Outline context menu item Direction Writing direction context sub-menu item Default Default writing direction context menu item LTR Left to Right context menu item RTL Right to Left context menu item Inspect Inspect Element context menu item No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Clear recent searches menu item in Recent Searches menu that empties menu's contents Unknown Unknown filesize FTP directory listing item Tuntematon %1 (%2x%3 pixels) Title string for images Web Inspector - %2 QWhatsThisAction What's This? Mikä tämä on? QWidget * * QWizard Go Back Siirry takaisin Continue Jatka Commit Toteuta Done Valmis Quit Sulje Help Ohje < &Back < &Takaisin &Finish &Viimeistele Cancel Peru &Help O&hje &Next &Next > &Seuraava > QWorkspace &Restore &Palauta &Move &Siirrä &Size &Koko Mi&nimize P&ienennä Ma&ximize S&uurenna &Close &Sulje Stay on &Top Pidä &päällimmäisenä Sh&ade &Varjosta %1 - [%2] %1 - [%2] Minimize Pienennä Restore Down Close Sulje &Unshade &Palauta varjostettu QXml no error occurred virhettä ei tapahtunut error triggered by consumer unexpected end of file tiedosto päättyi odottamatta more than one document type definition error occurred while parsing element tag mismatch error occurred while parsing content unexpected character odottamaton merkki invalid name for processing instruction version expected while reading the XML declaration wrong value for standalone declaration encoding declaration or standalone declaration expected while reading the XML declaration standalone declaration expected while reading the XML declaration error occurred while parsing document type definition letter is expected error occurred while parsing comment error occurred while parsing reference internal general entity reference not allowed in DTD external parsed general entity reference not allowed in attribute value external parsed general entity reference not allowed in DTD unparsed entity reference in wrong context recursive entities error in the text declaration of an external entity virhe ulkoisen entiteetin tekstimäärittelyssä QXmlStream Extra content at end of document. Tiedoston lopussa on ylimääräistä tietoa Invalid entity value. Virheellinen entiteetin arvo. Invalid XML character. Virheellinen XML-merkki. Sequence ']]>' not allowed in content. Sekvenssi "]]>" ei ole sallittu sisällössä. Namespace prefix '%1' not declared Nimiavaruuden etuliitettä "%1" ei ole määritelty Attribute redefined. Attribuutti määriteltiin uudestaan. Unexpected character '%1' in public id literal. Odottamaton merkki "%1" julkisessa tunnisteessa. Invalid XML version string. Virheellinen XML-version merkkijono. Unsupported XML version. XMl-versio ei ole tuettu. %1 is an invalid encoding name. %1 on virheellinen merkistökoodauksen nimi. Encoding %1 is unsupported Merkistökoodaus %1 ei ole tuettu Standalone accepts only yes or no. Invalid attribute in XML declaration. Premature end of document. Invalid document. Expected Odotettiin , but got ' , mutta saatiin " Unexpected ' Odottamaton " Expected character data. Recursive entity detected. Start tag expected. XML declaration not at start of document. NDATA in parameter entity declaration. %1 is an invalid processing instruction name. Invalid processing instruction name. Illegal namespace declaration. Invalid XML name. Virheellinen XML-nimi. Opening and ending tag mismatch. Reference to unparsed entity '%1'. Entity '%1' not declared. Entiteettiä "%1" ei ole määritelty. Reference to external entity '%1' in attribute value. Invalid character reference. Encountered incorrectly encoded content. The standalone pseudo attribute must appear after the encoding. %1 is an invalid PUBLIC identifier. QtXmlPatterns An %1-attribute with value %2 has already been declared. An %1-attribute must have a valid %2 as value, which %3 isn't. Network timeout. Element %1 can't be serialized because it appears outside the document element. Attribute %1 can't be serialized because it appears at the top level. Year %1 is invalid because it begins with %2. Day %1 is outside the range %2..%3. Month %1 is outside the range %2..%3. Overflow: Can't represent date %1. Day %1 is invalid for month %2. Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Time %1:%2:%3.%4 is invalid. Overflow: Date can't be represented. At least one component must be present. At least one time component must appear after the %1-delimiter. No operand in an integer division, %1, can be %2. The first operand in an integer division, %1, cannot be infinity (%2). The second operand in a division, %1, cannot be zero (%2). %1 is not a valid value of type %2. When casting to %1 from %2, the source value cannot be %3. Integer division (%1) by zero (%2) is undefined. Division (%1) by zero (%2) is undefined. Modulus division (%1) by zero (%2) is undefined. Dividing a value of type %1 by %2 (not-a-number) is not allowed. Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. A value of type %1 cannot have an Effective Boolean Value. Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Value %1 of type %2 exceeds maximum (%3). Value %1 of type %2 is below minimum (%3). A value of type %1 must contain an even number of digits. The value %2 does not. %1 is not valid as a value of type %2. Operator %1 cannot be used on type %2. Operator %1 cannot be used on atomic values of type %2 and %3. The namespace URI in the name for a computed attribute cannot be %1. The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Type error in cast, expected %1, received %2. When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. No casting is possible with %1 as the target type. It is not possible to cast from %1 to %2. Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. It's not possible to cast the value %1 of type %2 to %3 Failure when casting from %1 to %2: %3 A comment cannot contain %1 A comment cannot end with a %1. No comparisons can be done involving the type %1. Operator %1 is not available between atomic values of type %2 and %3. An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. A library module cannot be evaluated directly. It must be imported from a main module. A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. A positional predicate must evaluate to a single numeric value. The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. The data of a processing instruction cannot contain the string %1 No namespace binding exists for the prefix %1 No namespace binding exists for the prefix %1 in %2 %1 is an invalid %2 %1 takes at most %n argument(s). %2 is therefore invalid. %1 requires at least %n argument(s). %2 is therefore invalid. The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. %1 is not a valid XML 1.0 character. The first argument to %1 cannot be of type %2. If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. %1 was called. %1 must be followed by %2 or %3, not at the end of the replacement string. In the replacement string, %1 must be followed by at least one digit when not escaped. In the replacement string, %1 can only be used to escape itself or %2, not %3 %1 matches newline characters %1 and %2 match the start and end of a line. Matches are case insensitive Whitespace characters are removed, except when they appear in character classes %1 is an invalid regular expression pattern: %2 %1 is an invalid flag for regular expressions. Valid flags are: If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. It will not be possible to retrieve %1. The root node of the second argument to function %1 must be a document node. %2 is not a document node. The default collection is undefined %1 cannot be retrieved The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). A zone offset must be in the range %1..%2 inclusive. %3 is out of range. %1 is not a whole number of minutes. Required cardinality is %1; got cardinality %2. The item %1 did not match the required type %2. %1 is an unknown schema type. Only one %1 declaration can occur in the query prolog. The initialization of variable %1 depends on itself No variable by name %1 exists The variable %1 is unused Version %1 is not supported. The supported XQuery version is 1.0. The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. No function with signature %1 is available A default namespace declaration must occur before function, variable, and option declarations. Namespace declarations must occur before function, variable, and option declarations. Module imports must occur before function, variable, and option declarations. It is not possible to redeclare prefix %1. Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. Prefix %1 is already declared in the prolog. The name of an option must have a prefix. There is no default namespace for options. The Schema Import feature is not supported, and therefore %1 declarations cannot occur. The target namespace of a %1 cannot be empty. The module import feature is not supported A variable by name %1 has already been declared in the prolog. No value is available for the external variable by name %1. The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 A function already exists with the signature %1. No external functions are supported. All supported functions can be used directly, without first declaring them as external An argument by name %1 has already been declared. Every argument name must be unique. The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. None of the pragma expressions are supported. Therefore, a fallback expression must be present The %1-axis is unsupported in XQuery %1 is not a valid numeric literal. No function by name %1 is available. The namespace URI cannot be the empty string when binding to a prefix, %1. %1 is an invalid namespace URI. It is not possible to bind to the prefix %1 Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Two namespace declaration attributes have the same name: %1. The namespace URI must be a constant and cannot use enclosed expressions. An attribute by name %1 has already appeared on this element. A direct element constructor is not well-formed. %1 is ended with %2. The name %1 does not refer to any schema type. %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 is not an atomic type. Casting is only possible to atomic types. %1 is not a valid name for a processing-instruction. Therefore this name test will never match. %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. The name of an extension expression must be in a namespace. empty zero or one exactly one one or more zero or more Required type is %1, but %2 was found. Promoting %1 to %2 may cause loss of precision. The focus is undefined. It's not possible to add attributes after any other kind of node. An attribute by name %1 has already been created. Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. VolumeSlider Muted Volume: %1% WebCore::PlatformScrollbar Scroll here Vieritä tähän Left edge Vasen reuna Top Ylös Right edge Oikea reuna Bottom Alas Page left Sivu vasemmalle Page up Sivu ylös Page right Sivu oikealle Page down Sivu alas Scroll left Vieritä vasemmalle Scroll up Vieritä ylös Scroll right Vieritä oikealle Scroll down Vieritä alas keepassx-0.4.3/src/translations/keepassx-ja_JP.ts0000664000175000017500000035616511342454754021060 0ustar felixfelix AboutDialog KeePassX %1 KeePassX %1 <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>現在の翻訳: 日本語</b><br><br> <b>Author:</b> %1<br> <b>作者:</b> %1<br> $TRANSLATION_AUTHOR Nardog $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. http://nardog.takoweb.com Information on how to translate KeePassX can be found under: http://keepassx.sourceforge.net/ KeePassX を翻訳する方法の情報は下でご覧になれます: http://keepassx.sourceforge.net/ Team チーム Tarek Saidi Tarek Saidi Developer, Project Admin 開発者、プロジェクト管理者 tariq@users.berlios.de tariq@users.berlios.de Eugen Gorschenin Eugen Gorschenin Web Designer Web デザイナ geugen@users.berlios.de geugen@users.berlios.de Thanks To 謝辞 Matthias Miller Matthias Miller Patches for better MacOS X support よりよい MacOS X サポートのパッチ www.outofhanwell.com www.outofhanwell.com James Nicholls James Nicholls Main Application Icon メイン アプリケーションのアイコン Constantin Makshin Constantin Makshin Various fixes and improvements さまざまな修正と向上 dinosaur-rus@users.sourceforge.net dinosaur-rus@users.sourceforge.net Error エラー File '%1' could not be found. ファイル '%1' が見つかりませんでした。 Make sure that the program is installed correctly. プログラムが正しくインストールされていることを確認してください。 OK OK Could not open file '%1' ファイル '%1' を開けませんでした The following error occured: %1 以下のエラーが発生しました: %1 http://keepassx.sf.net http://keepassx.sf.net Information on how to translate KeePassX can be found under: KeePassX を翻訳する方法についての情報は次の下に見つかります: Developer 開発者 Current Translation 現在の翻訳 None Please replace 'None' with the language of your translation 日本語 Author 作者 AboutDlg About バージョン情報 License ライセンス Translation 翻訳 <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - Cross Platform Password Manager</p></body></html> <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - クロス プラットフォーム パスワード マネージャ</p></body></html> Credits クレジット http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Copyright (C) 2005 - 2006 Tarek Saidi KeePassX is distributed under the terms of the General Public License (GPL) version 2 or later. Copyright (C) 2005 - 2006 Tarek Saidi KeePassX は General Public License (GPL) version 2 以降の 条件の下で配布されています。 AppName AppName AppFunc AppFunc Copyright (C) 2005 - 2007 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2007 KeePassX Team KeePassX は General Public License (GPL) version 2 の条件の下に配布されています。 Copyright (C) 2005 - 2008 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2007 KeePassX Team KeePassX は General Public License (GPL) version 2 の条件の下に配布されています。 {2005 ?} {2008 ?} {2.?} Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2007 KeePassX Team KeePassX は General Public License (GPL) version 2 の条件の下に配布されています。 {2005 ?} {2008 ?} {2.?} {2005 ?} {2009 ?} {2.?} Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX は General Public License (GPL) version 2 の条件の下に配布されています。 AddBookmarkDlg Add Bookmark ブックマークの追加 Title: タイトル: File: ファイル: Browse... 参照... Edit Bookmark ブックマークの編集 KeePass Databases (*.kdb) KeePass データベース (*.kdb) All Files (*) すべてのファイル (*) AutoType More than one 'Auto-Type:' key sequence found. Allowed is only one per entry. 1 つより多くの '自動入力:' キー シーケンスが見つかりました。 許可されているのは 1 つのエントリあたり 1 つのみです。 Error エラー Syntax Error in Auto-Type sequence near character %1 Found '{' without closing '}' 文字 %1 に近い [自動入力] シーケンスでの構文エラーです 閉じ '}' のない '{' が見つかりました Auto-Type string contains illegal characters 自動入力の文字列は不法な文字を含みます AutoTypeDlg KeePassX - Auto-Type KeePassX - 自動入力 Click on an entry to auto-type it. 自動入力するにはエントリー上でクリックします。 Group グループ Title タイトル Username ユーザー名 Auto-Type 自動入力 CDbSettingsDlg AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 ビット (既定) Twofish: 256 Bit Twofish: 256 ビット Warning 警告 Please determine the number of encryption rounds. 暗号化の周囲数を決定してください。 OK OK Error エラー '%1' is not valid integer value. '%1' は有効な整数値ではありません。 The number of encryption rounds have to be greater than 0. 暗号化の周囲数は 0 より多い必要があります。 Settings 設定 CEditEntryDlg Warning 警告 Password and password repetition are not equal. Please check your input. 入力したパスワードが一致しません。 入力をチェックしてください。 OK OK Save Attachment... 添付ファイルを保存... Yes はい Error エラー Error while writing the file. ファイルの書き込み中のエラーです。 Delete Attachment? 添付を削除しますか? You are about to delete the attachment of this entry. Are you sure? このエントリーの添付を削除しようとしています。 本当によろしいですか? No, Cancel いいえ、キャンセル Could not open file. ファイルを開けませんでした。 %1 Bit %1 ビット Add Attachment... 添付の追加... Test 2 テスト 2 The chosen entry has no attachment or it is empty. 選択されたエントリーは添付がないか空です。 Today 今日 1 Week 1 週間 2 Weeks 2 週間 3 Weeks 3 週間 1 Month 1 ヶ月間 3 Months 3 ヶ月間 6 Months 6 ヶ月間 1 Year 1 年間 Calendar... カレンダー... Edit Entry エントリーの編集 [Untitled Entry] [無題のエントリー] New Entry 新しいエントリー CGenPwDialog Notice 通知 You need to enter at least one character 少なくとも 1 文字入力する必要があります OK OK Password Generator パスワード生成 Accept 承認 %1 Bits %1 ビット CPasswordDialog OK OK Error エラー Please enter a Password. パスワードを入力してください。 Please choose a key file. キー ファイルを選択してください。 Please enter a Password or select a key file. パスワードを入力するかキー ファイルを選択してください。 Database Key データベース キー Select a Key File キー ファイルの選択 The selected key file or directory does not exist. 選択されたキー ファイルまたはディレクトリが存在しません。 The given directory does not contain any key files. ディレクトリがキー ファイルを含みません。 The given directory contains more then one key file. Please specify the key file directly. ディレクトリは 1 つより多くのキー ファイルを含みます。 直接キー ファイルを指定してください。 The key file found in the given directory is not readable. Please check your permissions. ディレクトリに見つかったキー ファイルは読み込み可能ではありません。 権限をチェックしてください。 Key file could not be found. キー ファイルが見つかりませんでした。 Key file is not readable. Please check your permissions. キー ファイルは読み込み可能ではありません。 権限をチェックしてください。 Warning 警告 Password an password repetition are not equal. Please check your input. パスワードとパスワードの反復が同じではありません。 ご入力をチェックしてください。 Please enter a password or select a key file. パスワードを入力するかキー ファイルを選択してください。 The selected key file or directory is not readable. Please check your permissions. 選択されたキー ファイルまたはディレクトリは読み込み可能ではありません。 権限をチェックしてください。 All Files (*) すべてのファイル (*) Key Files (*.key) キー ファイル (*.key) File exists. ファイルは存在します。 A file with the selected name already exists, should this file be used as key file or do you want to overwrite it with a newly generated one? 選択された名前のファイルはすでに存在します、このファイルをキー ファイルとして使用するか新しく生成されたもので上書きしますか? Use 使用 Overwrite 上書き Cancel キャンセル Key file could not be created. %1 キー ファイルは作成できませんでした。 %1 Last File 最後のファイル CSelectIconDlg Delete 削除 Add Icons... アイコンの追加... Images (%1) イメージ (%1) %1: File could not be loaded. %1: ファイルは読み込めませんでした。 Error エラー Replace... 置換... An error occured while loading the icon(s): %1 アイコンの読み込み中にエラーが発生しました: %1 An error occured while loading the icon. アイコンの読み込み中にエラーが発生しました。 Add Custom Icon カスタム アイコンの追加 Pick 選択 %1: File could not be loaded. %1: ファイルは読み込めませんでした。 An error occured while loading the icon(s): アイコンの読み込み中にエラーが発生しました: CSettingsDlg Settings 設定 Select a directory... ディレクトリの選択... Error: %1 エラー: %1 Select an executable... 実行ファイルの選択... System Language システムの言語 CalendarDialog Calendar カレンダー CollectEntropyDlg Entropy Collection エントロピーの収集 Random Number Generator 乱数ジェネレータ Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. エントロピーを収集しています... 乱数ジェネレータの再シードに十分なエントロピーが収集されるまでマウスを動かすか何かキーを押してください。 <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">ランダム プールが正常に再シードされました!</span></p></body></html> CustomizeDetailViewDialog Group グループ Title タイトル Username ユーザー名 Password パスワード Url Url Comment コメント Attachment Name 添付ファイル名 Creation Date 作成日 Last Access Date 最終アクセス日 Last Modification Date 最終変更日 Expiration Date 有効期限 Time till Expiration 有効期限まで Dialog ダイアログ Rich Text Editor リッチテキストエディタ Bold 太字 B Italic 斜体 I Underlined 下線 U Left-Aligned 左揃え L Centered 中央揃え C Right-Aligned 右揃え R Justified 両端揃え Text Color テキストの色 Font Size フォント サイズ 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates テンプレート T HTML HTML Restore Default 既定の復元 Save 保存 Cancel キャンセル Database Never なし DatabaseSettingsDlg Database Settings データベースの設定 Encryption 暗号化 Algorithm: アルゴリズム: Encryption Rounds: 暗号化の回数: Calculate rounds for a 1-second delay on this computer このコンピュータで 1 秒かかる回数を計算します DetailViewTemplate Group グループ Title タイトル Username ユーザー名 Password パスワード URL URL Creation 作成 Last Access 最終アクセス Last Modification 最終変更 Expiration 有効期限 Comment コメント EditEntryDialog Edit Entry エントリーの編集 Username: ユーザー名: Password Repet.: もう一度: Title: タイトル: URL: URL: Password: パスワード: Quality: 品質: Comment: コメント: Expires: 有効期限: Group: グループ: %1 %1 Icon: アイコン: Ge&n. 生成(&N). ... ... Never なし Attachment: 添付: > > %1 Bit %1 ビット Repeat: もう一度: EditGroupDialog Group Properties グループのプロパティ Title: タイトル: Icon: アイコン: &Cancel キャンセル(&C) Alt+C Alt+C O&K OK(&K) Alt+K Alt+K > > ExpiredEntriesDialog Expried Entries of the Database データベースの満了済みエントリ Expired Entries 有効期限切れのエントリー Double click on an entry to jump to it. エントリーをダブルクリックすると移動します。 Group グループ Title タイトル Username ユーザー名 Expired 有効期限切れ Expired Entries in the Database データベース内の有効期限切れエントリー Export_KeePassX_Xml XML Files (*.xml) XML ファイル (*.xml) All Files (*) すべてのファイル (*) KeePassX XML File KeePassX XML ファイル Export_Txt All Files (*) すべてのファイル (*) Text Files (*.txt) テキスト ファイル (*.txt) Text File テキスト ファイル ExporterBase Import File... ファイルのインポート... Export Failed エクスポートが失敗しました Export File... ファイルのエクスポート... FileErrors No error occurred. エラーが発生しませんでした。 An error occurred while reading from the file. ファイルからの読み取り中にエラーが発生しました。 An error occurred while writing to the file. ファイルへの書き込み中にエラーが発生しました。 A fatal error occurred. 致命的なエラーが発生しました。 An resource error occurred. リソース エラーが発生しました。 The file could not be opened. ファイルは開けませんでした。 The operation was aborted. 操作は中止されました。 A timeout occurred. タイムアウトが発生しました。 An unspecified error occurred. 予期しないエラーが発生しました。 The file could not be removed. ファイルは削除できませんでした。 The file could not be renamed. ファイルは名前を変更できませんでした。 The position in the file could not be changed. ファイルの位置は変更できませんでした。 The file could not be resized. ファイルはサイズを変更できませんでした。 The file could not be accessed. ファイルはアクセスできませんでした。 The file could not be copied. ファイルはコピーできませんでした。 GenPwDlg Alt+U Alt+U Alt+N Alt+N Alt+M Alt+M Alt+L Alt+L Password Generator パスワード生成 Generate 生成 New Password: 新しいパスワード: Quality: 品質: Options オプション &Upper Letters 大文字(&U) &Lower Letters 小文字(&L) &Numbers 数字(&N) &Special Characters 特殊文字(&S) Minus マイナス U&nderline 下線(&N) Use &only following characters: 以下の文字のみ使用する(&O): Alt+O Alt+O Length: 長さ: Use follo&wing character groups: 以下の文字グループを使用する(&W): Alt+W Alt+W White &Spaces 空白(&S) Alt+S Alt+S Enable entropy collection エントロピーの収集を有効にする Collect only once per session 収集は 1 セッションあたり 1 回のみ Random ランダム &Underline 下線(&U) &White Spaces 空白(&W) &Minus マイナス(&M) Exclude look-alike characters よく似た文字を除外する Ensure that password contains characters from every group 使用するグループの文字が必ず含まれるようにする Pronounceable 発音できる文字 Lower Letters 小文字 Upper Letters 大文字 Numbers 数字 Special Characters 特殊文字 Use following character groups: 以下の文字グループを使用する: Custom カスタム Use the following characters: 以下の文字を使用する: HelpDlg Previous Page 前のページ Next Page 次のページ First Page 最初のページ Help Contents ヘルプ Import_KWalletXml XML Files (*.xml) XML ファイル (*.xml) All Files (*) すべてのファイル (*) Import Failed インポートが失敗しました Invalid XML data (see stdout for details). 不正な XML データです (詳細は stdout をご覧ください)。 Invalid XML file. 不正な XML データです。 Document does not contain data. ドキュメントがデータを含みません。 Import_KeePassX_Xml KeePass XML Files (*.xml) KeePass XML ファイル (*.xml) All Files (*) すべてのファイル (*) Import Failed インポートが失敗しました XML parsing error on line %1 column %2: %3 行 %1 列 %2 での XML 構文解析エラー: %3 Parsing error: File is no valid KeePassX XML file. 構文解析エラー: ファイルは有効な KeePassX XML ファイルではありません。 Import_PwManager PwManager Files (*.pwm) PwManager ファイル (*.pwm) All Files (*) すべてのファイル (*) Import Failed インポートが失敗しました File is empty. ファイルは空です。 File is no valid PwManager file. ファイルは有効な PwManager ファイルではありません。 Unsupported file version. 未サポートのファイルバージョンです。 Unsupported hash algorithm. 未サポートのハッシュアルゴリズムです。 Unsupported encryption algorithm. 未サポートの暗号化アルゴリズムです。 Compressed files are not supported yet. 圧縮ファイルはまだサポートされていません。 Wrong password. 間違ったパスワードです。 File is damaged (hash test failed). ファイルは損害を受けています (ハッシュテストが失敗しました)。 Invalid XML data (see stdout for details). 不正な XML データです (詳細は stdout をご覧ください)。 ImporterBase Import File... ファイルのインポート... Import Failed インポートが失敗しました Kdb3Database Could not open file. ファイルを開けませんでした。 Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) 予期しないファイルサイズです (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature 間違った署名 Unsupported File Version. 未サポートのファイルバージョンです。 Unknown Encryption Algorithm. 不明な暗号化アルゴリズムです。 Unable to initialize the twofish algorithm. twofish アルゴリズムを初期化できませんでした。 Unknown encryption algorithm. 不明な暗号化アルゴリズムです。 Decryption failed. The key is wrong or the file is damaged. 復号化が失敗しました。 キーが間違っているかファイルが損害を受けています。 Hash test failed. The key is wrong or the file is damaged. ハッシュテストが失敗しました。 キーが間違っているかファイルが損害を受けています。 Unexpected error: Offset is out of range. [G1] 予期しないエラー: オフセットは範囲外です。[G1] Unexpected error: Offset is out of range. [G2] 予期しないエラー: オフセットは範囲外です。[G2] Unexpected error: Offset is out of range. [E1] 予期しないエラー: オフセットは範囲外です。[E1] Unexpected error: Offset is out of range. [E2] 予期しないエラー: オフセットは範囲外です。[E2] Unexpected error: Offset is out of range. [E3] 予期しないエラー: オフセットは範囲外です。[E3] Invalid group tree. 不正なグループツリーです。 Key file is empty. キーファイルは空です。 The database must contain at least one group. データベースは少なくとも 1 つのグループを含む必要があります。 Could not open file for writing. 書き込み用のファイルを開けませんでした。 Unexpected error: Offset is out of range. 予期しないエラー: オフセットは範囲外です。 Unable to initalize the twofish algorithm. twofish アルゴリズムを初期化できませんでした. The database has been opened read-only. データベースは読み取り専用で開かれました。 Bytes バイト KiB KiB MiB MiB GiB GiB Kdb3Database::EntryHandle Bytes バイト KiB KiB MiB MiB GiB GiB KeepassEntryView Title タイトル Username ユーザー名 URL URL Password パスワード Comments コメント Expires 有効期限 Creation 作成 Last Change 最終変更 Last Access 最終アクセス Attachment 添付 Are you sure you want delete this entry? このエントリを削除してもよろしいですか? Are you sure you want delete these %1 entries? これら %1 個のエントリを削除してもよろしいですか? Delete? 削除しますか? Group グループ Error エラー At least one group must exist before adding an entry. エントリーを追加する前に少なくとも 1 つのグループが存在する必要があります。 OK OK Are you sure you want to delete this entry? 本当にこのエントリーを削除してもよろしいですか? Are you sure you want to delete these %1 entries? 本当にこれらの %1 エントリーを削除してもよろしいですか? KeepassGroupView Search Results 検索結果 Groups グループ Delete? 削除しますか? Are you sure you want to delete this group, all it's child groups and all their entries? このグループ、すべての子グループ、およびそれらのエントリをすべて削除してもよろしいですか? Are you sure you want to delete this group, all its child groups and all their entries? 本当にこのグループ、すべてのサブグループ、およびそれらのエントリーをすべて削除してもよろしいですか? KeepassMainWindow Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error エラー The following error occured while opening the database: %1 データベースを開いている間に以下のエラーが発生しました: %1 OK OK Save modified file? 変更されたファイルを保存しますか? The current file was modified. Do you want to save the changes? 現在のファイルは変更されました。変更を 保存しますか? Yes はい No いいえ Cancel キャンセル Clone Entry エントリーの複製 Delete Entry エントリーの削除 Clone Entries エントリーの複製 Delete Entries エントリーの削除 File could not be saved. %1 ファイルは保存できませんでした。 %1 Ready 準備完了 [new] [新規] Open Database... データベースを開く... Loading Database... データベースを読み込んでいます... Loading Failed 読み込みが失敗しました Ctrl+V Ctrl+V Show Toolbar ツール バーの表示 KeePassX KeePassX %1 - KeePassX %1 - KeePassX Unknown error while loading database. データベースの読み込み中の不明なエラーです。 KeePass Databases (*.kdb) KeePass データベース (*.kdb) All Files (*) すべてのファイル (*) Save Database... データベースの保存... KeePassX - [unsaved] KeePassX - [未保存] New Database 新しいデータベース expired 満了済み 1 Month 1 ヶ月間 %1 Months %1 ヶ月間 , 1 Year 1 年間 %1 Years %1 年間 1 Day 1 日間 %1 Days %1 日間 less than 1 day 1 日未満 Set Master Key マスター キーの設定 * - KeePassX * - KeePassX Locked ロック済み Unlocked 未ロック Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q The database file does not exist. データベースファイルが存在しません。 The following error occured while opening the database: データベースを開いている間に以下のエラーが発生しました: new 新規 Expired 有効期限切れ File could not be saved. ファイルは保存できませんでした。 Un&lock Workspace ワークスペースのロック解除(&L) &Lock Workspace ワークスペースのロック(&L) Show &Toolbar ツールバー(&T) Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked データベースをロックしました The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? 開こうとしたデータベースはロックされています。 これは、誰か他の人がファイルを開いたか、前回データベースを開いた KeePassX が強制終了したことを意味します。 とにかく開きますか? The current file was modified. Do you want to save the changes? 現在のファイルは変更されました。 変更を保存しますか? Couldn't remove database lock file. データベースのロックファイルを削除できませんでした。 Open read-only 読み取り専用で開く Couldn't create lock file. Opening the database read-only. ロックファイルを生成できませんでした。データベースを読み取り専用で開きます。 Couldn't create database lock file. データベースのロックファイルを作成できません。 locked ロック済み Ctrl+M Ctrl+M Main Error エラー File '%1' could not be found. ファイル '%1' は見つかりませんでした。 OK OK MainWindow KeePassX KeePassX Columns Add New Group... 新規グループ... Edit Group... グループの編集... Delete Group グループの削除 Copy Password to Clipboard クリップボードへパスワードをコピー Copy Username to Clipboard クリップボードへユーザー名をコピー Open URL URL を開く Save Attachment As... 名前を付けて添付を保存... Add New Entry... 新しいエントリの追加... View/Edit Entry... エントリの表示/編集... Delete Entry エントリの削除 Clone Entry エントリのクローン Search In Database... データベースから検索... Search in this group... このグループから検索... Show Entry Details エントリの詳細の表示 Hide Usernames ユーザー名を隠す Hide Passwords パスワードを隠す Title タイトル Username ユーザー名 URL URL Password パスワード Comment コメント Expires 満了 Creation 作成 Last Change 最終変更 Last Access 最終アクセス Attachment 添付 Show Statusbar ステータス バーの表示 Hide 非表示 Perform AutoType 自動入力を行う Toolbar Icon Size ツール バー アイコンのサイズ 16x16 16x16 22x22 22x22 28x28 28x28 &View 表示(&V) &File ファイル(&F) &Import from... インポート(&I)... &Export to... エクスポート(&E)... &Edit 編集(&E) E&xtras エクストラはわかりにくいし、追加機能だと冗長かと。 ツール(&X) &Help ヘルプ(&H) &Open Database... データベースを開く(&O)... &Close Database データベースを閉じる(&C) &Save Database データベースを保存(&S) Save Database &As... データベースを別名で保存(&A)... &Database Settings... データベースの設定(&D)... Change &Master Key... マスターキーの変更(&M)... E&xit 終了(&X) &Settings... 設定(&S)... &About... バージョン情報(&A)... &KeePassX Handbook... KeePassX ハンドブック(&K)... Standard KeePass Single User Database (*.kdb) スタンダード KeePass シングル ユーザー データベース (*.kdb) Advanced KeePassX Database (*.kxdb) アドバンスド KeePass データベース (*.kdb) New Database... 新しいデータベース... Password Generator... パスワード ジェネレータ... Group (search results only) グループ (検索結果のみ) Show Expired Entries... 満了済みエントリの表示... Show Expired Entries 満了済みエントリの表示 Recycle Bin... ごみ箱... Lock Workspace ワークスペースのロック Groups グループ Bookmarks ブックマーク Manage Bookmarks... ブックマークの管理... &Lock Workspace ワークスペースのロック(&L) Q&uit 終了(&U) Search in Database... データベースから検索... Search in this Group... このグループから検索... Add Bookmark... ブックマークの追加... Bookmark this Database... このデータベースをブックマーク... &Bookmarks ブックマーク(&B) Toolbar &Icon Size ツールバーのアイコンサイズ(&I) &Columns 列(&C) &Manage Bookmarks... ブックマークの管理(&M)... &Quit 終了(&Q) &Edit Group... グループの編集(&E)... &Delete Group グループの削除(&D) Copy Password &to Clipboard パスワードをコピー(&T) Copy &Username to Clipboard ユーザー名をコピー(&U) &Open URL URLを開く(&O) &Save Attachment As... 添付ファイルを保存(&S)... Add &New Entry... 新規エントリーの追加(&N)... &View/Edit Entry... エントリーの表示/編集(&V)... De&lete Entry エントリーの削除(&L) &Clone Entry エントリーの複製(&C) Search &in Database... データベースから検索(&I)... Search in this &Group... このグループから検索(&G)... Show &Entry Details エントリーの詳細(&E) Hide &Usernames ユーザー名を隠す(&U) Hide &Passwords パスワードを隠す(&P) &Title タイトル(&T) User&name ユーザー名(&N) &URL URL(&U) &Password パスワード(&P) &Comment コメント(&C) E&xpires 有効期限(&X) C&reation 作成(&R) &Last Change 最終変更(&L) Last &Access 最終アクセス(&A) A&ttachment 添付(&T) Show &Statusbar ステータスバー(&S) &Perform AutoType 自動入力を行う(&P) &16x16 16x16(&1) &22x22 22x22(&2) 2&8x28 28x28(&8) &New Database... 新規データベース(&N)... &Password Generator... パスワード生成(&P)... &Group (search results only) グループ (検索結果のみ) (&G) Show &Expired Entries... 有効期限切れのエントリーを表示(&E)... &Add Bookmark... ブックマークの追加(&A)... Bookmark &this Database... このデータベースをブックマーク(&T)... &Add New Subgroup... 新規サブグループ(&A)... Copy URL to Clipboard URLをコピー &Entries エントリー(&E) &Groups グループ(&G) Sort groups グループを並べ替える &Group グループ(&G) &Minimize Window ウインドウ最小化(&M) ManageBookmarksDlg Manage Bookmarks ブックマークの管理 PasswordDialog Enter Master Key マスターキーの入力 Set Master Key マスターキーの設定 Change Master Key マスターキーの変更 Database Key データベースキー Last File 最後のファイル Select a Key File キーファイルの選択 All Files (*) すべてのファイル (*) Key Files (*.key) キーファイル (*.key) Please enter a Password or select a key file. パスワードを入力するかキーファイルを選択してください。 Please enter a Password. パスワードを入力してください。 Please provide a key file. キーファイルを指定してください。 %1: No such file or directory. %1: ディレクトリまたはファイルが見つかりません。 The selected key file or directory is not readable. 選択されたキーファイルまたはディレクトリは読み取りできません。 The given directory does not contain any key files. ディレクトリがキーファイルを含みません。 The given directory contains more then one key files. Please specify the key file directly. 規定のディレクトリは 1 つ以上のキーファイルを含んでいます。 キーファイルを直接指定してください. %1: File is not readable. %1: ファイルは読み取りできません。 Create Key File... キーファイルの作成... PasswordDlg TextLabel TextLabel OK OK ... ... Cancel キャンセル Enter a Password and/or choose a key file. パスワードを入力するかキーファイルを選択します。 Key キー Password: パスワード: Key file or directory: キー ファイルまたはディレクトリ: &Browse... 参照(&B)... Alt+B Alt+B Use Password AND Key File パスワードとキー ファイルを使用する Exit 終了 Password Repet.: パスワードの反復: Last File 最後のファイル Key File: キーファイル: Generate Key File... キーファイルの生成... Please repeat your password: パスワードをもう一度入力してください: Back 戻る Passwords are not equal. パスワードが一致しません。 QObject OK OK File '%1' could not be found. ファイル '%1' が見つかりませんでした。 Error エラー Never しない Initialization failed. 初期化が失敗しました。 Could not locate library file. ライブラリ ファイルを検索できませんでした。 SearchDialog Search 検索 Search_Dlg Alt+T Alt+T Alt+U Alt+U A&nhang アンハング(&N) Alt+N Alt+N Alt+W Alt+W Alt+C Alt+C Search... 検索... Search For: 検索する文字列: Regular E&xpression 正規表現(&X) Alt+X Alt+X &Case Sensitive 大文字と小文字を区別する(&C) Include: 検索対象: &Titles タイトル(&T) &Usernames ユーザー名(&U) C&omments コメント(&O) Alt+O Alt+O U&RLs URL(&R) Alt+R Alt+R Pass&words パスワード(&W) Search 検索 Clo&se 閉じる(&S) Alt+S Alt+S Include Subgroups (recursive) サブグループを含める (再帰的) SelectIconDlg Icon Selection アイコンの選択 Add Custom Icon... カスタム アイコンの追加... Pick 抽出 Cancel キャンセル SettingsDialog Alt+Ö Shift+Alt+O Settings 設定 Clear clipboard after: クリップボードをクリアする: Seconds 秒後 Alt+O Alt+O Appea&rance 外観(&R) Banner Color バナーの色 Text Color: テキストの色: Change... 変更... Color 2: 色 2: C&hange... 変更(&H)... Alt+H Alt+H Color 1: 色 1: Browser Command: ブラウザ コマンド: Alternating Row Colors 一列置きの背景色 Browse... 参照... Remember last key type and location 最後のキーの種類と場所を記憶する Remember last opened file 最後に開かれたファイルを記憶する The integration plugins provide features like usage of the native file dialogs and message boxes of the particular desktop environments. 統合プラグインは特定のデスクトップ環境のネイティブのファイル ダイアログとメッセージボックスの使用のような機能を供給します。 General 全般 Show system tray icon システムトレイアイコンを表示する Minimize to tray when clicking the main window's close button メインウィンドウの閉じるボタンをクリックしたらトレイへ最小化する Save recent directories of file dialogs ファイルダイアログで最後に開いたディレクトリを記憶する Group tree at start-up: 起動時のグループツリー: Restore last state 最後の状態を復元する Expand all items すべてのアイテムを展開する Do not expand any item すべてのアイテムを折り畳む Security セキュリティ Show passwords in plain text in: プレーン テキストでパスワードを表示する: Edit Entry Dialog [エントリーの編集] ダイアログ Key Dialogs [キー] ダイアログ Desktop Integration デスクトップ統合 Plug-Ins プラグイン None なし Gnome Desktop Integration (Gtk 2.x) Gnome デスクトップ統合 (Gtk 2.x) KDE 4 Desktop Integration KDE 4 デスクトップ統合 You need to restart the program before the changes take effect. 変更を適用するためにプログラムを再起動する必要があります。 Configure... 構成... Advanced 詳細設定 Clear History Now 今すぐ履歴をクリア Always ask before deleting entries or groups エントリーとグループの削除前に常に確認する Unified Title and Toolbar 統一タイトルとツール バー Customize Entry Detail View... エントリーの詳細表示のカスタマイズ... Features 機能 You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. ユーザーインターフェイスをスリムに維持する際は必要に応じてここで KeePassX のいくつかの機能を無効にできます。 Bookmarks ブックマーク Auto-Type Fine Tuning 自動入力の微調整 Time between the activation of an auto-type action by the user and the first simulated key stroke. ユーザーによる自動入力のアクティブ化と最初のシミュレート済みキーストロークの間の時間です。 ms ミリ秒 Pre-Gap: プリギャップ: Key Stroke Delay: キーストロークの遅延: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. 2 つのシミュレート済みキーストロークの間の遅延です。自動入力がランダムに文字をスキップする場合はこれを上げます。 The directory where storage devices like CDs and memory sticks are normally mounted. CD やメモリスティックのようなストレージデバイスが通常マウントされるディレクトリです。 Media Root: メディアルート: System Default システム既定 Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. ブックマークとそれらの絶対パスから独立した最後に開かれたファイルを使用したい場合はこれを有効にします。これは特にポータブルに KeePassX を使用しそのためファイルシステムのマウントポイントの変更があるときに有用です。 Save relative paths (bookmarks and last file) 相対パス (ブックマークと最後のファイル) を保存する Minimize to tray instead of taskbar タスクバーの代わりにトレイへ最小化する Start minimized 起動時に最小化する Start locked 起動時にロックする Lock workspace when minimizing the main window メインウィンドウの最小化時にワークスペースをロックする Custom Browser Command カスタムブラウザコマンド Browse 参照 Global Auto-Type Shortcut: グローバルな自動入力ショートカットキー: Use entry titles to match the window for Global Auto-Type グローバグ自動入力のウィンドウへの一致にエントリのタイトルを使用する Automatically save database on exit and workspace locking データベースを閉じたときとワークスペースをロックしたときに自動保存する Show plain text passwords in: プレーンテキストで表示する: Database Key Dialog [データベースキー] ダイアログ seconds 秒後 Lock database after inactivity of 次の時間が経過したら自動的にデータベースをロック Use entries' title to match the window for Global Auto-Type グローバルな自動入力のウィンドウへの一致にエントリーのタイトルを使用する General (1) 一般 (1) General (2) 一般 (2) Appearance 外観 Language 言語 Save backups of modified entries into the 'Backup' group エントリーを変更したときは "Backup" グループにバックアップする Delete backup entries older than: "backup" グループのエントリーを次の日数が経過後に自動的に削除する: days 日後 Automatically save database after every change 変更するごとにデータベースを自動保存する Language: 言語: Author: 作者: Show window always on top ウインドウを常に前面に表示する ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog ... ... Enter your Password パスワードを入力します Password: パスワード: TargetWindowDlg Auto-Type: Select Target Window 自動入力: 対象ウインドウを選択します To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: 対象ウインドウを特定するために、現在開いているウインドウをドロップダウンリストから選択するか、ウインドウタイトルを入力してください: Translation $TRANSLATION_AUTHOR Nardog, Koji Tanaka $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. http://nardog.takoweb.com, http://tenkoma.net $LANGUAGE_NAME Insert your language name in the format: English (United States) 日本語 (日本) TrashCanDialog Recycle Bin ごみ箱 Double click on an entry to restore it. 復元するエントリ上でダブル クリックします。 Group グループ Title タイトル Username ユーザー名 Expired 満了 Empty Recycle Bin ごみ箱を空にする Close 閉じる WorkspaceLockedWidget Form フォーム <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">ワークスペースはロックされています。</span></p></body></html> Unlock ロック解除 Close Database データベースを閉じる dbsettingdlg_base Database Settings データベースの設定 Encryption 暗号化 Algorithm: アルゴリズム: Encryption Rounds: 暗号化の周囲: O&K OK(&K) Ctrl+K Ctrl+K &Cancel キャンセル(&C) Ctrl+C Ctrl+C keepassx-0.4.3/src/translations/keepassx-xx_XX.ts0000664000175000017500000022272511342454754021145 0ustar felixfelix AboutDialog Current Translation None Please replace 'None' with the language of your translation Author Information on how to translate KeePassX can be found under: Team Developer, Project Admin Developer Web Designer Thanks To Patches for better MacOS X support Main Application Icon Various fixes and improvements Error File '%1' could not be found. Make sure that the program is installed correctly. OK AboutDlg About AppName AppFunc http://keepassx.sourceforge.net keepassx@gmail.com Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Credits Translation License AddBookmarkDlg Add Bookmark Edit Bookmark KeePass Databases (*.kdb) All Files (*) Title: File: Browse... AutoTypeDlg Group Title Username Auto-Type KeePassX - Auto-Type Click on an entry to auto-type it. CDbSettingsDlg Settings AES(Rijndael): 256 Bit (default) Twofish: 256 Bit Warning Please determine the number of encryption rounds. OK Error '%1' is not valid integer value. The number of encryption rounds have to be greater than 0. CEditEntryDlg Today 1 Week 2 Weeks 3 Weeks 1 Month 3 Months 6 Months 1 Year Calendar... %1 Bit New Entry Edit Entry Warning Password and password repetition are not equal. Please check your input. OK [Untitled Entry] Add Attachment... Error Could not open file. The chosen entry has no attachment or it is empty. Save Attachment... Error while writing the file. Delete Attachment? You are about to delete the attachment of this entry. Are you sure? Yes No, Cancel CGenPwDialog Password Generator %1 Bits CSelectIconDlg Replace... Delete Add Custom Icon Pick Add Icons... Images (%1) %1: File could not be loaded. Error An error occured while loading the icon(s): An error occured while loading the icon. CSettingsDlg Settings Select a directory... Select an executable... System Language CalendarDialog Calendar CollectEntropyDlg Entropy Collection Random Number Generator Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> CustomizeDetailViewDialog Group Title Username Password Url Comment Attachment Name Creation Date Last Access Date Last Modification Date Expiration Date Time till Expiration Dialog Rich Text Editor Bold B Italic I Underlined U Left-Aligned L Centered C Right-Aligned R Justified Text Color Font Size 6 7 8 9 10 11 12 14 16 18 20 22 24 26 28 36 42 78 Templates T HTML Database Never DatabaseSettingsDlg Database Settings Encryption Algorithm: Encryption Rounds: Calculate rounds for a 1-second delay on this computer DetailViewTemplate Group Title Username Password URL Creation Last Access Last Modification Expiration Comment EditEntryDialog Edit Entry Ge&n. Quality: Attachment: Title: Username: Comment: URL: Group: Repeat: Password: Expires: %1 Never %1 Bit Icon: EditGroupDialog Group Properties Icon: Title: > ExpiredEntriesDialog Expired Entries in the Database Expired Entries Double click on an entry to jump to it. Group Title Username Expired Export_KeePassX_Xml XML Files (*.xml) All Files (*) KeePassX XML File Export_Txt All Files (*) Text Files (*.txt) Text File ExporterBase Export File... Export Failed FileErrors No error occurred. An error occurred while reading from the file. An error occurred while writing to the file. A fatal error occurred. An resource error occurred. The file could not be opened. The operation was aborted. A timeout occurred. An unspecified error occurred. The file could not be removed. The file could not be renamed. The position in the file could not be changed. The file could not be resized. The file could not be accessed. The file could not be copied. GenPwDlg Password Generator Random Use following character groups: &Lower Letters &Underline &Numbers &White Spaces &Upper Letters &Minus &Special Characters Exclude look-alike characters Ensure that password contains characters from every group Pronounceable Lower Letters Upper Letters Numbers Special Characters Custom Use the following characters: Options Length: Quality: Enable entropy collection Collect only once per session New Password: Generate HelpDlg Help Contents Previous Page Next Page First Page Import_KWalletXml XML Files (*.xml) All Files (*) Import Failed Invalid XML data (see stdout for details). Invalid XML file. Document does not contain data. Import_KeePassX_Xml KeePass XML Files (*.xml) All Files (*) Import Failed XML parsing error on line %1 column %2: %3 Parsing error: File is no valid KeePassX XML file. Import_PwManager PwManager Files (*.pwm) All Files (*) Import Failed File is empty. File is no valid PwManager file. Unsupported file version. Unsupported hash algorithm. Unsupported encryption algorithm. Compressed files are not supported yet. Wrong password. File is damaged (hash test failed). Invalid XML data (see stdout for details). ImporterBase Import File... Import Failed Kdb3Database Could not open file. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Unsupported File Version. Unknown Encryption Algorithm. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Decryption failed. The key is wrong or the file is damaged. Hash test failed. The key is wrong or the file is damaged. Unexpected error: Offset is out of range. Invalid group tree. Key file is empty. The database must contain at least one group. The database has been opened read-only. Kdb3Database::EntryHandle Bytes KiB MiB GiB KeepassEntryView Title Username URL Password Comments Expires Creation Last Change Last Access Attachment Group Are you sure you want to delete this entry? Are you sure you want to delete these %1 entries? Delete? Error At least one group must exist before adding an entry. OK KeepassGroupView Search Results Delete? Are you sure you want to delete this group, all its child groups and all their entries? KeepassMainWindow Show &Toolbar Ctrl+N Ctrl+O Ctrl+W Ctrl+S Ctrl+L Ctrl+Q Ctrl+G Ctrl+C Ctrl+B Ctrl+U Ctrl+I Ctrl+Y Ctrl+E Ctrl+D Ctrl+K Ctrl+F Ctrl+P Ctrl+X Ctrl+V Shift+Ctrl+S Shift+Ctrl+F Ctrl+M Error The database file does not exist. Database locked The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Open read-only Unknown error while loading database. The following error occured while opening the database: Save modified file? The current file was modified. Do you want to save the changes? Couldn't remove database lock file. Open Database... KeePass Databases (*.kdb) All Files (*) Expired 1 Month %1 Months 1 Year %1 Years 1 Day %1 Days less than 1 day Clone Entry Delete Entry Clone Entries Delete Entries File could not be saved. Save Database... Couldn't create database lock file. Un&lock Workspace &Lock Workspace Ready Loading Database... Loading Failed Couldn't create lock file. Opening the database read-only. new locked Main Error File '%1' could not be found. MainWindow KeePassX Groups &Help &File &Export to... &Import from... &Bookmarks &Entries &View Toolbar &Icon Size &Columns E&xtras &Groups &Manage Bookmarks... &Open Database... &Close Database &Save Database Save Database &As... &Database Settings... Change &Master Key... &Lock Workspace &Quit &Add New Subgroup... &Edit Group... &Delete Group Copy Password &to Clipboard Copy &Username to Clipboard &Open URL &Save Attachment As... Add &New Entry... &View/Edit Entry... De&lete Entry &Clone Entry Search &in Database... Search in this &Group... Show &Entry Details Hide &Usernames Hide &Passwords &Title User&name &URL &Password &Comment E&xpires C&reation &Last Change Last &Access A&ttachment &Settings... &About... Show &Statusbar &KeePassX Handbook... Hide &Perform AutoType &16x16 &22x22 2&8x28 &New Database... &Password Generator... &Group Show &Expired Entries... Recycle Bin... &Add Bookmark... Bookmark &this Database... Copy URL to Clipboard Add New Group... Sort groups &Minimize Window ManageBookmarksDlg Manage Bookmarks PasswordDialog Enter Master Key Set Master Key Change Master Key Database Key Last File Select a Key File All Files (*) Key Files (*.key) Please enter a Password or select a key file. Please enter a Password. Please provide a key file. %1: No such file or directory. The selected key file or directory is not readable. The given directory does not contain any key files. The given directory contains more then one key files. Please specify the key file directly. %1: File is not readable. Create Key File... PasswordDlg Last File Enter a Password and/or choose a key file. Key Password: Key File: &Browse... Generate Key File... Please repeat your password: Back Passwords are not equal. SearchDialog Search Search_Dlg Search... Include: Pass&words A&nhang U&RLs C&omments &Usernames &Titles &Case Sensitive Regular E&xpression Include Subgroups (recursive) Search For: SelectIconDlg Icon Selection SettingsDialog Settings General (1) General (2) Appearance Language Security Advanced Show system tray icon Minimize to tray instead of taskbar Minimize to tray when clicking the main window's close button Remember last opened file Remember last key type and location Start minimized Start locked Save recent directories of file dialogs Clear History Now Always ask before deleting entries or groups Save backups of modified entries into the 'Backup' group Delete backup entries older than: days Automatically save database on exit and workspace locking Automatically save database after every change Banner Color Text Color: Change... Color 2: C&hange... Color 1: Show window always on top Alternating Row Colors Customize Entry Detail View... Group tree at start-up: Restore last state Expand all items Do not expand any item Language: Author: Show plain text passwords in: Edit Entry Dialog Database Key Dialog Clear clipboard after: seconds Lock workspace when minimizing the main window Lock database after inactivity of Custom Browser Command Browse Media Root: The directory where storage devices like CDs and memory sticks are normally mounted. Browse... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Save relative paths (bookmarks and last file) Auto-Type Fine Tuning Time between the activation of an auto-type action by the user and the first simulated key stroke. ms Pre-Gap: Key Stroke Delay: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Global Auto-Type Shortcut: Use entries' title to match the window for Global Auto-Type You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Bookmarks Plug-Ins None Gnome Desktop Integration (Gtk 2.x) KDE 4 Desktop Integration You need to restart the program before the changes take effect. Configure... ShortcutWidget Ctrl Shift Alt AltGr Win SimplePasswordDialog Enter your Password Password: TargetWindowDlg Auto-Type: Select Target Window To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Translation $TRANSLATION_AUTHOR $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. $LANGUAGE_NAME Insert your language name in the format: English (United States) WorkspaceLockedWidget Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> Unlock Close Database keepassx-0.4.3/src/translations/keepassx-pl_PL.ts0000664000175000017500000023301711342454754021071 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: Informacje jak tłumaczyć KeePassX można znaleźć pod adresem: Team Grupa Developer, Project Admin Programista i administrator projektu Web Designer Projektant strony www Developer Programista Thanks To Podziękowania dla Patches for better MacOS X support Łatki poprawiające wsparcie dla MacOS X Main Application Icon Główna ikona programu Various fixes and improvements Różne poprawki i rozszerzenia Error Błąd File '%1' could not be found. Nie można odnaleźć pliku '%1'. Make sure that the program is installed correctly. Upewnij się, że program jest zainstalowany poprawnie. OK OK Current Translation Bieżące tłumaczenie None Please replace 'None' with the language of your translation Author Autor AboutDlg About O programie AppName Nazwa Programu AppFunc Funkcja programu http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Podziękowania Translation Tłumaczenie License Licencja Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 Zespół KeePassX KeePassX jest rozprowadzany na licencji General Public License (GPL) version 2. AddBookmarkDlg Add Bookmark Dodaj zakładkę Title: Tytuł: File: Plik: Browse... Przeglądaj... Edit Bookmark Edytuj Zakładkę KeePass Databases (*.kdb) Bazy KeePass (*.kdb) All Files (*) Wszystkie pliki (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - Auto-Type Click on an entry to auto-type it. Kliknij na wpis, to auto-type it. Group Grupa Title Tytuł Username Użytkownik Auto-Type Auto-Type CDbSettingsDlg Settings Ustawienia AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bitów (domyślnie) Twofish: 256 Bit Twofish: 256 Bitów Warning Uwaga! Please determine the number of encryption rounds. Podaj ilość powtórzeń szyfrowania OK OK Error Błąd '%1' is not valid integer value. '%1' nie jest liczbą całkowitą. The number of encryption rounds have to be greater than 0. Ilość powtórzeń szyfrowania musi być większa od 0. CEditEntryDlg Today Dziś 1 Week 1 tydzień 2 Weeks 2 tygodnie 3 Weeks 3 tygodnie 1 Month 1 miesiąc 3 Months 3 miesiące 6 Months 6 miesięcy 1 Year 1 rok Calendar... Kalendarz... %1 Bit %1 bit(ów) Edit Entry Edytuj wpis Warning Uwaga Password and password repetition are not equal. Please check your input. Podane hasła są różne. Sprawdź hasła. OK OK [Untitled Entry] Nowy wpis Add Attachment... Dodaj załącznik... Error Błąd Could not open file. Nie można otworzyć pliku. The chosen entry has no attachment or it is empty. Wybrany wpis nie ma załącznika lub jest pusty. Save Attachment... Zapisz załącznik... Error while writing the file. Błąd podczas zapisu do pliku. Delete Attachment? Usunąć załącznik? You are about to delete the attachment of this entry. Are you sure? Czy na pewno usunąć załącznik? Yes Tak No, Cancel Nie. Anuluj New Entry Nowy wpis CGenPwDialog Password Generator Generator haseł %1 Bits %1 Bit(ów) CSelectIconDlg Replace... Zmień... Delete Usuń Add Custom Icon Dodaj własną ikonę Pick Wybierz Add Icons... Dodaj ikony... Images (%1) Obrazy (%1) %1: File could not be loaded. %1: Nie można otworzyć pliku. Error Błąd An error occured while loading the icon(s): Wystąpił błąd podczas ładowania ikon: An error occured while loading the icon. Wystąpił błąd podczas ładowania ikony. CSettingsDlg Settings Ustawienia Select a directory... Wybierz katalog... Select an executable... Wybierz plik wykonawczy... System Language Domyślny język CalendarDialog Calendar Kalendarz CollectEntropyDlg Random Number Generator Generator liczb pseudolosowych Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Zbieranie entropii... Proszę poruszać myszą i/lub naciskać dowolne znaki na klawiaturze w celu zebrania etropii dla ziarna generatora. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Nowe ziarno (seed) dla gereratora zebrane pomyślnie!</span></p></body></html> Entropy Collection Zbieranie entropii CustomizeDetailViewDialog Dialog Szczegółowy widok wpisu Rich Text Editor Edytor Rich Text (rtf) Bold Pogrubienie B B Italic Kursywa I I Underlined Pokreślenie U U Left-Aligned Wyrównanie do lewej L L Centered Wyśrodkowanie C C Right-Aligned Wyrównanie do prawej R R Justified Wyjustowanie Text Color Kolor tekstu Font Size Rozmiar czcionki 6 7 8 9 10 11 12 14 16 18 20 22 24 26 28 36 42 78 Templates Szablon T HTML HTML Group Grupa Title Tytuł Username Użytkownik Password Hasło Url Adress URL Comment Komentarz Attachment Name Nazwa załącznika Creation Date Data utworzenia Last Access Date Data ostatniego odczytu Last Modification Date Data ostatniej modyfikacji Expiration Date Data wygaśnięcia Time till Expiration Czas pozostały do wygaśnięcia Database Never Nigdy DatabaseSettingsDlg Database Settings Ustawienia bazy danych Encryption Szyfrowanie Algorithm: Algorytm: Encryption Rounds: Ilość szyfrowań: Calculate rounds for a 1-second delay on this computer Oszacuj ilość szyfrowań możliwych w 1 sekundzie na tym komputerze DetailViewTemplate Group Grupa Title Tytuł Username Użytkownik Password Hasło URL Adress URL Creation Data utworzenia Last Access Ostatni odczyt Last Modification Ostatnia modyfikacja Expiration Wygasa Comment Komentarz EditEntryDialog Edit Entry Edytuj wpis Ge&n. Generuj Quality: Jakość: Attachment: Załącznik: Title: Tytuł: Username: Użytkownik: Comment: Komentarz: %1 %1 URL: Adres URL: Group: Grupa: Password Repet.: Powtórz hasło: Password: Hasło: Expires: Wygasa: Never Nigdy %1 Bit %1 Bit(ów) Icon: Ikona: Repeat: EditGroupDialog Group Properties Właściwości grupy Icon: Ikona: Title: Tytuł > > ExpiredEntriesDialog Expired Entries Wygasłe wpisy Double click on an entry to jump to it. Kliknij dwukrotnie na wpis aby do niego przejść Group Grupa Title Tytuł Username Użytkownik Expired Data wygaśnięcia Expired Entries in the Database Wygasłe wpisy w bazie Export_KeePassX_Xml KeePassX XML File Plik XML KeePassX XML Files (*.xml) Pliki XML (*.xml) All Files (*) Wszystkie pliki (*) Export_Txt Text File Plik tekstowy All Files (*) Wszystkie pliki (*) Text Files (*.txt) Pliki tekstowe (*.txt) ExporterBase Export Failed Eksport się nie powiódł Export File... Eksportuj plik FileErrors No error occurred. Brak błędów. An error occurred while reading from the file. Wystąpij błąd podczas odczytu z pliku. An error occurred while writing to the file. Wystąpij błąd podczas zapisu do pliku. A fatal error occurred. Wystąpił krytyczny błąd. An resource error occurred. Błąd zasobów. The file could not be opened. Nie można otworzyć pliku. The operation was aborted. Przerwano operację. A timeout occurred. Upłynął limit czasu. An unspecified error occurred. Wystąpił nieokreślony błąd. The file could not be removed. Usunięcie pliku nie powiodło się. The file could not be renamed. Zmiana nazwy pliku nie powiodła się. The position in the file could not be changed. Nie można zmienić pozycji w pliku. The file could not be resized. Nie można zmienić rozmiaru pliku. The file could not be accessed. Brak dostępu do pliku. The file could not be copied. Nie można skopiować pliku. GenPwDlg Password Generator Generator haseł Options Opcje Use follo&wing character groups: Użyj następujących grup znakowych: &Lower Letters Małe litery &Numbers Cyfry &Upper Letters Wielkie litery &Special Characters Znaki specjalne Use &only following characters: Użyj tylko następujących znaków: Length: Długość: Quality: Jakość: Enable entropy collection Aktywuj pobieranie danych losowych Collect only once per session Pobierz jednokrotnie w czasie sesji New Password: Nowe hasło: Generate Generuj Random Losowe &Underline Znak podkreślenia &White Spaces Spacja &Minus Minus Exclude look-alike characters Nie używaj podobnych znaków Ensure that password contains characters from every group Użyj znaków z każdej z powyższych grup Pronounceable Do wypowiedzenia Lower Letters Małe litery Upper Letters Wielkie litery Numbers Cyfry Special Characters Znaki specjalne Use following character groups: Custom Use the following characters: HelpDlg Previous Page Next Page First Page Help Contents Import_KWalletXml XML Files (*.xml) Pliki XML (*.xml) All Files (*) Wszystkie pliki (*) Import Failed Import się nie powiódł Invalid XML data (see stdout for details). Niepoprawne dane XML (po szczegóły zobacz stdout). Invalid XML file. Niepoprawny format pliku XML. Document does not contain data. Plik nie zawiera żadnych danych. Import_KeePassX_Xml KeePass XML Files (*.xml) Plik KeePassX XML All Files (*) Wszystkie pliki (*) Import Failed Import się nie powiódł XML parsing error on line %1 column %2: %3 Błąd przetwarzania XML w linii %1, kolumnie %2: %3 Parsing error: File is no valid KeePassX XML file. Błąd przetwarzania: Plik nie jest poprawnym plikiem XML programu KeePassX Import_PwManager PwManager Files (*.pwm) Pliki PwManager (*.pwm) All Files (*) Wszystkie pliki (*) Import Failed Import się nie powiódł File is empty. Plik jest pusty. File is no valid PwManager file. Plik nie jest poprawnym plikiem formatu PwManager. Unsupported file version. Niewspierana wersja pliku. Unsupported hash algorithm. Niewspierany algorytm hasz. Unsupported encryption algorithm. Niewspierany algorytm szyfrowania. Compressed files are not supported yet. Spakowane pliki nie są wspierane. Wrong password. Hasło niepoprawne File is damaged (hash test failed). Plik jest uszkodzony (Test hasza się nie powiódł). Invalid XML data (see stdout for details). Niepoprawne dane XML (sczczegóły: zobacz standardowe wyjście). ImporterBase Import File... Importuj plik... Import Failed Import się nie powiódł Kdb3Database Could not open file. Nie można otworzyć pliku. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Niepoprawny rozmiar pliku (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Niepoprawny podpis Unsupported File Version. Niewspierana wersja pliku. Unknown Encryption Algorithm. Nieznany algorytm szyfrowania. Decryption failed. The key is wrong or the file is damaged. Deszyfrowanie nie powiodło się. Klucz jest niepoprawny lub plik z kluczem jest uszkodzony. Hash test failed. The key is wrong or the file is damaged. Niepoprawny hasz. Klucz jest niepoprawny lub plik z kluczem jest uszkodzony. Unexpected error: Offset is out of range. Wystąpił nieoczekiwany błąd: Offset jest poza zasięgiem. Invalid group tree. Niepoprawne drzewo grup. Key file is empty. Plik z kluczem jest pusty. The database must contain at least one group. Baza musi posiadać przynajmniej jedną grupę. Unable to initalize the twofish algorithm. Algorytm twofish nie może zostać zainicjalizowany. The database has been opened read-only. Baza otwarta tylko do odczytu. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Kdb3Database::EntryHandle Bytes Bajtów KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? Usunąć? Error Błąd At least one group must exist before adding an entry. Aby dodać wpis, musi istnieć przynajmniej jedna grupa. OK OK Title Tytuł Username Użytkownik URL Adres URL Password Hasło Comments Komentarz Expires Wygasa Creation Utworzono Last Change Ostatnia zmiana Last Access Ostani odczyt Attachment Załącznik Group Grupa Are you sure you want to delete this entry? Czy na pewno usunąć ten wpis? Are you sure you want to delete these %1 entries? Czy na pewno usunąć wybrane wpisy (%1)? KeepassGroupView Search Results Wyniki wyszukiwania Delete? Usunąć? Are you sure you want to delete this group, all its child groups and all their entries? Czy na pewno chcesz usunąć tę grupę wraz z wszystkimi podgrupami i wpisami? KeepassMainWindow Ready Gotowe Locked Zablokowane Unlocked Odblokowane Ctrl+O Ctrl+S Ctrl+L Ctrl+Q Ctrl+G Ctrl+C Ctrl+B Ctrl+U Ctrl+Y Ctrl+E Ctrl+D Ctrl+K Ctrl+F Ctrl+V Ctrl+W Shift+Ctrl+S Shift+Ctrl+F Error Błąd The database file does not exist. Plik z bazą nie istnieje. Loading Database... Otwieram bazę... Loading Failed Otwieranie bazy nie powiodło się Unknown error while loading database. Nieznany błąd podczas otwierania bazy. The following error occured while opening the database: Poniższy bląd wystąpił podczas odczytu bazy: Save modified file? Zapisać zmieniony plik? new Nowa baza Open Database... Otwórz bazę... KeePass Databases (*.kdb) Bazy KeePass (*.kdb) All Files (*) Wszystkie pliki (*) Expired Wygasł 1 Month 1 miesiąc %1 Months %1 (miesiące) miesięcy 1 Year 1 rok %1 Years %1 lat(a) 1 Day 1 dzień %1 Days %1 dni less than 1 day mniej niż 1 dzień Clone Entry Duplikuj wpis Delete Entry Usuń wpis Clone Entries Duplikuj wpis Delete Entries Usuń wpisy File could not be saved. Nie można zapisać pliku. Save Database... Zapisz bazę... Un&lock Workspace Odblokuj obszar roboczy &Lock Workspace Zablokuj obszar roboczy Show &Toolbar Pokaż pasek narzędzi Ctrl+N Ctrl+P Ctrl+X Ctrl+I Database locked Baza zablokowana The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Baza, którą próbujesz odczytać jest zablokowana. To oznacza, że albo inny użytkownik jej używa lub program KeePassX nie zakończył poprawnie ostatniej sesji. Czy mimo wszystko chcesz ją otworzyć? The current file was modified. Do you want to save the changes? W bieżącym pliku są niezpisane zmiany. Zapisać te zmiany? Couldn't remove database lock file. Nie można usunąć pliku blokady (.lock). Open read-only Otwórz tylko do odczytu Couldn't create lock file. Opening the database read-only. Nie można utworzyć pliku blokady (.lock). Baza zostanie otwarta tylko do odczytu. Couldn't create database lock file. locked Ctrl+M Main Error Błąd File '%1' could not be found. Nie można odnaleźć pliku '%1'. MainWindow KeePassX KeePassX Groups Grupy &Help &Pomoc &File &Plik &Export to... &Eksportuj do... &Import from... &Importuj z... &View &Widok E&xtras E&xtras &Open Database... &Otwórz bazę &Close Database Zamknij bazę &Save Database Zapi&sz bazę Save Database &As... Zapisz j&ako... &Database Settings... &Ustawienia bazy... Change &Master Key... Zmień główny klucz &Lock Workspace Zablokuj obszar roboczy &Settings... &Ustawienia &About... &O programie &KeePassX Handbook... Książka pomocy &KeePassX Hide Ukryj Recycle Bin... Kosz &Bookmarks Zakładki Toolbar &Icon Size Rozmiar ikon paska narzędzi &Columns Widoczne kolumny &Manage Bookmarks... Zarządzaj zakładkami... &Quit Zamknij program &Edit Group... Edytuj grupę... &Delete Group Usuń grupę Copy Password &to Clipboard Skopiuj hasło do schowka Copy &Username to Clipboard Skopiuj użytkownika do schowka &Open URL Otwórz adres URL &Save Attachment As... Zapisz załącznik Add &New Entry... Dodaj nowy wpis... &View/Edit Entry... Zobacz/Edytuj wpis... De&lete Entry Usuń wpis &Clone Entry Duplikuj wpis Search &in Database... Szukaj w bazie... Search in this &Group... Szukaj w tej grupie... Show &Entry Details Pokaż szczegóły wpisu Hide &Usernames Ukryj nazwę użytkownika Hide &Passwords Ukryj hasła &Title Tytuł User&name Użytkownik &URL Adres URL &Password Hasło &Comment Komentarz E&xpires Wygasa C&reation Utworzono &Last Change Ostatnia zmiana Last &Access Ostatni odczyt A&ttachment Załącznik Show &Statusbar Pokaż pasek stanu &Perform AutoType &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... Utwórz &nową bazę... &Password Generator... Generator haseł &Group (search results only) Grupa (tylko dla wyników wyszukiwania) Show &Expired Entries... Pokaż wygasłe wpisy... &Add Bookmark... Dodaj zakładkę Bookmark &this Database... Dodaj bazę do zakładek... &Add New Subgroup... Dodaj nową podgrupę... Copy URL to Clipboard Skopiuj adres URL do schowka Add New Group... Dodaj nową grupę... &Entries &Wpisy &Groups &Grupy Sort groups Sortuj grupy &Group &Minimize Window ManageBookmarksDlg Manage Bookmarks Zarządzaj zakładkami PasswordDialog Enter Master Key Wpisz główny klucz Set Master Key Wybierz główny klucz Change Master Key Zmień głowny klucz Database Key Klucz do bazy Last File Ostatni plik Select a Key File Wybierz plik z kluczem All Files (*) Wszystkie pliki (*) Key Files (*.key) Pliki z kluczem (*.key) Please enter a Password or select a key file. Podaj hasło lub wybierz plik z kluczem. Please enter a Password. Podaj hasło. Please provide a key file. Podaj plik z kluczem. %1: No such file or directory. %1: Nie ma takiego pliku lub katalogu. The selected key file or directory is not readable. Brak praw odczytu do wybranego pliku lub katalogu. The given directory does not contain any key files. W wybranym katalogu nie ma żadnych plików z kluczem. The given directory contains more then one key files. Please specify the key file directly. Wybrany katalog zawiera więcej niż jeden plik z kluczem. Wybierz konkretny plik z kluczem. %1: File is not readable. %1: Brak praw odczytu do pliku. Create Key File... Utwórz plik z kluczem... PasswordDlg Last File Ostatni plik Enter a Password and/or choose a key file. Wpisz hasło i/lub wybierz plik z kluczem. Key Klucz Password: Hasło: &Browse... Przeglądaj... Key File: Plik z kluczem: Generate Key File... Generuj plik z kluczem... Please repeat your password: Powtórz hasło: Back Wstecz Passwords are not equal. Podane hasła nie są identyczne. SearchDialog Search Szukaj Search_Dlg Search... Szukaj... Include: Uwzględnij: Pass&words Hasła A&nhang Załączniki U&RLs Adresy URL C&omments Komentarze &Usernames Nazwy użytkowników &Titles Tytuły &Case Sensitive Uwzględnij wielkość znaków Regular E&xpression Wyrażenia regularne Include Subgroups (recursive) Szukaj w podgrupach (rekursywnie) Search For: Szukaj: SelectIconDlg Icon Selection Wybierz ikonę SettingsDialog Settings Ustawienia Show system tray icon Pokaż ikonę w tray'u Minimize to tray instead of taskbar Minimalizuj do tray'a zamiast do paska narzędzi Minimize to tray when clicking the main window's close button Minimalizuj do tray'a, gdy główne okno zostanie zamknięte Remember last opened file Zapamiętaj ostatnio otwarty plik Remember last key type and location Zapamiętaj typ i lokalizację ostatniego klucza Start minimized Uruchom zminimalizowany Start locked Uruchom zablokowany Save recent directories of file dialogs Zapamiętaj katalogi ostatnio otwartych plików Clear History Now Usuń teraz historię Always ask before deleting entries or groups Pytaj przed usunięciem grup wpisów Banner Color Kolor baneru Text Color: Kolor tekstu: Change... Zmień... Color 2: Kolor 2: C&hange... Zmień... Color 1: Kolor 1: Alternating Row Colors Naprzemienne kolory wierszy Customize Entry Detail View... Dopasuj szczegółowy widok wpisu Group tree at start-up: Grupuj drzewko na starcie: Restore last state Przywróć ostatni stan Expand all items Rozwiń wszystkie pozycje Do not expand any item Nie rozwijaj pozycji Security Bezpieczeństwo Edit Entry Dialog oknie edytowania wpisu Clear clipboard after: Wyczyść schowek po: Lock workspace when minimizing the main window Zablokuj obszar roboczy, przy minimaliyacji głównego okna You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Interfejs użytkownika można uczynić bardziej przejrzystym, wyłączając niektóre opcje KeePassX Bookmarks Zakładki Plug-Ins Wtyczki None Gnome Desktop Integration (Gtk 2.x) Integracja Gnome (Gtk 2.x) KDE 4 Desktop Integration Integracja KDE 4 You need to restart the program before the changes take effect. Aby uaktywnić ustawienia, należy uruchomić program ponownie. Configure... Konfiguruj... Advanced Zaawansowane Auto-Type Fine Tuning Time between the activation of an auto-type action by the user and the first simulated key stroke. ms ms Pre-Gap: Key Stroke Delay: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Custom Browser Command Polecenie uruchamiające przeglądarkę Browse Przeglądaj... Media Root: Katalog główny: The directory where storage devices like CDs and memory sticks are normally mounted. Katalog, w którym wymienne nośniki (CD, pendrive) są montowane. Browse... Przeglądaj... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Save relative paths (bookmarks and last file) Zapamiętaj ścieżki jako względne (zakładki i ostatnio otwarty plik) Global Auto-Type Shortcut: Automatically save database on exit and workspace locking Automatycznie zapisz bazę przy wyjściu z programu lub blokadzie obszaru roboczego Show plain text passwords in: Pokaż jawne hasła w: Database Key Dialog oknie klucza bazy seconds sekundach Lock database after inactivity of Zablokuj obszar roboczy po Use entries' title to match the window for Global Auto-Type General (1) Główne (1) General (2) Główne (2) Appearance Wygląd Language Język Save backups of modified entries into the 'Backup' group Zrób kopię zapasową modyfikowanego wpisu w grupie 'Kopie Zapasowe' Delete backup entries older than: Usuń kopie zapasowe starsze niż: days dni Automatically save database after every change Automatycznie zapisz bazę po każdej zmianie System Language Domyślny język English Angielski Language: Język: Author: Autor: Show window always on top ShortcutWidget Ctrl Control Shift Shift Alt Alt AltGr Prawy Alt Win Win SimplePasswordDialog Enter your Password Podaj hasło Password: Hasło: TargetWindowDlg Auto-Type: Select Target Window To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Translation $TRANSLATION_AUTHOR Daniel Mariusz Kmieć $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. http://kmiec.eu/ $LANGUAGE_NAME Insert your language name in the format: English (United States) Polski (Polska) WorkspaceLockedWidget Form <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Obszar roboczy jest zablokowany.</span></p></body></html> Unlock Odblokuj Close Database Zamknij bazę keepassx-0.4.3/src/translations/keepassx-uk_UA.ts0000664000175000017500000025267011342454754021075 0ustar felixfelix AboutDialog Current Translation Поточний переклад None Please replace 'None' with the language of your translation Українська Author Автор Information on how to translate KeePassX can be found under: Інформація про те як перекласти KeePassX знаходиться на: Team Команда Developer, Project Admin Розробник, керівник проекту Developer Розробник Web Designer Дизайнер сторінки тенет Thanks To Подяки Patches for better MacOS X support Латки для кращої підтримки MacOS X Main Application Icon Головний значок програми Various fixes and improvements Різні виправлення та впровадження Error Помилка File '%1' could not be found. Не вдається знайти файл '%1'. Make sure that the program is installed correctly. Впевніться, що програма встановлена правильно. OK Гаразд AboutDlg About Про програму AppName AppName AppFunc AppFunc http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 Команда KeePassX KeePassX розповсюджується під ліцензією General Public License (GPL) version 2. Credits Подяки Translation Переклад License Ліцензія AddBookmarkDlg Add Bookmark Додати закладку Edit Bookmark Редагувати закладку KeePass Databases (*.kdb) Бази даних KeePass (*.kdb) All Files (*) Всі файли (*) Title: Назва: File: Файл: Browse... Переглянути... AutoTypeDlg Group Група Title Назва Username Ім'я користувача Auto-Type Автоматичний друк KeePassX - Auto-Type KeePassX - Автоматичний друк Click on an entry to auto-type it. Клацніть по запису, щоб автоматично надрукувати його. CDbSettingsDlg Settings Налаштування AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 біт (типовий) Twofish: 256 Bit Twofish: 256 біт Warning Застереження Please determine the number of encryption rounds. Будь ласка, визначте кількість циклів ширвування. OK Гаразд Error Помилка '%1' is not valid integer value. '%1' неправильне значення цілого числа. The number of encryption rounds have to be greater than 0. Кількість циклів шифрування має бути більшою за 0. CEditEntryDlg Today Сьогодні 1 Week 1 тиждень 2 Weeks 2 тижні 3 Weeks 3 тижні 1 Month 1 місяць 3 Months 2 місяці 6 Months 6 місяців 1 Year 1 рік Calendar... Календар... %1 Bit %1 біт New Entry Новий запис Edit Entry Редагувати запис Warning Застереження Password and password repetition are not equal. Please check your input. Пароль та потворно введений пароль не збігаються. Будь ласка, перевірте що надрукували. OK Гаразд [Untitled Entry] [Запис без назви] Add Attachment... Додати долучення... Error Помилка Could not open file. Не вдається відкрити файл. The chosen entry has no attachment or it is empty. Вибраний запис не має долучень або порожній. Save Attachment... Зберегти долучення... Error while writing the file. Помилка читання файлу. Delete Attachment? Видалити долучення? You are about to delete the attachment of this entry. Are you sure? Ви впевнені, що хочете видалити долучення запису? Yes Так No, Cancel Ні, скасувати CGenPwDialog Password Generator Генератор паролів %1 Bits %1 біт CSelectIconDlg Replace... Замінити... Delete Видалити Add Custom Icon Додати нетиповий значок Pick Вибрати Add Icons... Додати значки... Images (%1) Зображення (%1) %1: File could not be loaded. Файл %1 не може бути завантажений. Error Помилка An error occured while loading the icon(s): Сталася помилка під час завантаження значка: An error occured while loading the icon. Сталася помилка під час завантаження значка. CSettingsDlg Settings Налаштування Select a directory... Виберіть теку... Select an executable... Виберіть виконуваний файл... System Language Системна мова CalendarDialog Calendar Календар CollectEntropyDlg Entropy Collection Збір ентропії Random Number Generator Генератор випадкових чисел Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Збирається ентропія... Будь ласка, рухайте мишкою або натискайте різні клавіші поки не збиреться достатся ентропія для генератора випадкових чисел. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Випадкові дані успішно зібрані!</span></p></body></html> CustomizeDetailViewDialog Group Група Title Назва Username Ім'я користувача Password Пароль Url Адреса URL Comment Примітка Attachment Name Назва долучення Creation Date Дата створення Last Access Date Дата останнього доступу Last Modification Date Дана останньої зміни Expiration Date Дата терміну придатності Time till Expiration Час до кінця терміну придатності Dialog Діалог Rich Text Editor Редактор Rich Text Bold Жирний B B Italic Курсив I I Underlined Підкреслений U U Left-Aligned Вирівнювання ліворуч L L Centered Посередині C C Right-Aligned Вирівнювання праворуч R R Justified По ширині Text Color Колір тексту Font Size Розмір шрифта 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Шаблон T T HTML HTML Database Never Ніколи DatabaseSettingsDlg Database Settings Налаштування бази даних Encryption Шифрування Algorithm: Алгоритм: Encryption Rounds: Кількість циклів шифрування: Calculate rounds for a 1-second delay on this computer Обчислити цикли для секундної затримки на цьому комп'ютері DetailViewTemplate Group Група Title Назва Username Ім'я користувача Password Пароль URL Адреса URL Creation Створення Last Access Останній доступ Last Modification Остання зміна Expiration Спливає час Comment Примітка EditEntryDialog Edit Entry Редагувати запис Ge&n. &Ген. Quality: Якість: Attachment: Долучення: Title: Назва: Username: Ім'я користувача: Comment: Примітка: URL: Адреса URL: Group: Група: Repeat: Повторення: Password: Пароль: Expires: Термін дії закінчується: %1 %1 Never Ніколи %1 Bit %1 біт Icon: Значок: EditGroupDialog Group Properties Налаштування групи Icon: Значок: Title: Назва: > > ExpiredEntriesDialog Expired Entries in the Database Записи в базі даних, термін дії яких закінчився Expired Entries Записи, термін дії яких закінчився Double click on an entry to jump to it. Клацніть двічі по запису, щоб перейти до нього. Group Група Title Назва Username Ім'я користувача Expired Термін дії закінчується Export_KeePassX_Xml XML Files (*.xml) Файли XML (*.xml) All Files (*) Всі файли (*) KeePassX XML File Файли KeePass XML Export_Txt All Files (*) Всі файли (*) Text Files (*.txt) Текстові файли (*.txt) Text File Текстовий файл ExporterBase Export File... Експортувати файл... Export Failed Помилка експортування FileErrors No error occurred. Немає помилок. An error occurred while reading from the file. Сталася помилка під час читання файлу. An error occurred while writing to the file. Сталася помилка під час запису файлу. A fatal error occurred. Сталася серйозна помилка. An resource error occurred. Помилка ресурсу. The file could not be opened. Не вдалося відкрити файл. The operation was aborted. Дія скасована. A timeout occurred. Час очікування вийшов. An unspecified error occurred. Сталася невизначена помилка. The file could not be removed. Не вдалося видалити файл. The file could not be renamed. Не вдалося змінити назву файлу. The position in the file could not be changed. Не вдалося змінити розташування файлу. The file could not be resized. Не вдалося змінити розмір файлу. The file could not be accessed. Не влалося отримати доступ до файлу. The file could not be copied. Не вдалося скопіювати файл. GenPwDlg Password Generator Генератор паролів Random Випадкові Use following character groups: Використовувати наступні групи символів: &Lower Letters &Малі літери &Underline &Знак підкреслення &Numbers &Числа &White Spaces &Пробіли &Upper Letters &Великі літери &Minus &Мінус &Special Characters &Спеціальні символи Exclude look-alike characters Виключити схожі символи Ensure that password contains characters from every group Впевнитися, що паролі містять символи з усіх груп Pronounceable Вимовні Lower Letters Малі літери Upper Letters Великі літери Numbers Числа Special Characters Спеціальні символи Custom Нетипові Use the following characters: Використовувати наступні символи: Options Налаштування Length: Довжина: Quality: Якість: Enable entropy collection Увімкнути збір ентропії Collect only once per session Збирати тільки один раз за сеанс New Password: Новий пароль: Generate Генерувати HelpDlg Help Contents Зміст допомоги Previous Page Попередня сторінка Next Page Наступна сторінка First Page Перша сторінка Import_KWalletXml XML Files (*.xml) Файли XML (*.xml) All Files (*) Всі файли (*) Import Failed Помилка імпортування Invalid XML data (see stdout for details). Неправильні дані XML (дивіться stdout для подробиць). Invalid XML file. Неправильний файл XML. Document does not contain data. Документ не містить даних. Import_KeePassX_Xml KeePass XML Files (*.xml) Файли KeePass XML (*.xml) All Files (*) Всі файли (*) Import Failed Імпортування завершилось невдало XML parsing error on line %1 column %2: %3 Помилка розбору XML у рядку %1, стовпці %2: %3 Parsing error: File is no valid KeePassX XML file. Помилка розбору: файл не є правильним файлом XML KeePassX. Import_PwManager PwManager Files (*.pwm) Файли PwManager (*.pwm) All Files (*) Всі файли (*) Import Failed Помилка імпортування File is empty. Файл порожній. File is no valid PwManager file. Файл не є правильним файлом PwManager. Unsupported file version. Непідтримувана версія файлу. Unsupported hash algorithm. Непідтримуваний алгоритм хешу. Unsupported encryption algorithm. Непідтримуваний алгоритм шифрування. Compressed files are not supported yet. Стиснені файли ще не підтримуються. Wrong password. Неправильний пароль. File is damaged (hash test failed). Файл пошкоджений (хеш не збігся). Invalid XML data (see stdout for details). Неправильні дані XML (дивіться stdout для подробиць). ImporterBase Import File... Імпортувати файл... Import Failed Помилка імпортування Kdb3Database Could not open file. Не вдається відкрити файл. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Несподіваний розмір файлу (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Неправильний підпис Unsupported File Version. Непідтримувана версія файлу. Unknown Encryption Algorithm. Невідомий алгоритм шифрування. Unable to initialize the twofish algorithm. Не вдалося ініціалізувати алгоритм twofish. Unknown encryption algorithm. Невідомий алгоритм шифрування. Decryption failed. The key is wrong or the file is damaged. Не вдалося розшифрувати. Неправильний ключ або файл пошкоджений. Hash test failed. The key is wrong or the file is damaged. Неправильний ключ або файл пошкоджений. Unexpected error: Offset is out of range. Неочікувана помилка: зміщення за межами допустимого. Invalid group tree. Неправильне дерево груп. Key file is empty. Ключ порожній. The database must contain at least one group. База даних має містити щонайменше одну групу. The database has been opened read-only. База даних відкрита тільки для читання. Kdb3Database::EntryHandle Bytes байт KiB кБ MiB МБ GiB ГБ KeepassEntryView Title Назва Username Ім'я користувача URL Адреса URL Password Пароль Comments Примітка Expires Термін дії закінчується Creation Створення Last Change Остання зміна Last Access Останній доступ Attachment Долучення Group Група Are you sure you want to delete this entry? Ви дійсно хочете видалити цей запис? Are you sure you want to delete these %1 entries? Ви дійсно хочете видалити ці %1 записів? Delete? Видалити? Error Помилка At least one group must exist before adding an entry. Щонайменше одна група має існувати перед тим як додавати запис. OK Гаразд KeepassGroupView Search Results Результати пошуку Delete? ВИдалити? Are you sure you want to delete this group, all its child groups and all their entries? Ви дійсно хочете видалити цю групу, всі підгрупи та всі їх записи? KeepassMainWindow Show &Toolbar Показали &панель інструментів Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+W Ctrl+W Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+I Ctrl+I Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+V Ctrl+V Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Помилка The database file does not exist. Файл бази даних не існує. Database locked База даних заблокована The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? База даних, яку ви намагаєтесь відкрити, заблокована. Це означає, що хтось вже відкрив файл або KeePassX неправильно завершив роботу минулого разу, коли відкривав базу даних. Ви хочете відкрити її незважаючи ні на що? Open read-only Відкрити тільки для читання Unknown error while loading database. Невідома помилка під час завантаження бази даних. The following error occured while opening the database: Сталася наступна помилка, коли відкривалася база даних: Save modified file? Зберегти змінений файл? The current file was modified. Do you want to save the changes? Поточний файл було змінено. Ви хочете зберегти зміни? Couldn't remove database lock file. Не вдається вилучити lock-файл бази даних. Open Database... Відкрити базу даних... KeePass Databases (*.kdb) Бази даних KeePass (*.kdb) All Files (*) Всі файли (*) Expired Термін дії закінчився 1 Month 1 місяць %1 Months %1 місяців 1 Year 1 рік %1 Years %1 років 1 Day 1 доба %1 Days %1 діб less than 1 day менше ніж 1 доба Clone Entry Подвоїти запис Delete Entry Видалити запис Clone Entries Закрити запис Delete Entries Видалити записи File could not be saved. Не вдається зберегти файл. Save Database... Зберегти базу даних... Couldn't create database lock file. Не вдається створити lock-файл бази даних. Un&lock Workspace &Розблокувати робочу область &Lock Workspace &Заблокувати робочу область Ready Готовий Loading Database... Завантаження бази даних... Loading Failed Помилка завантаження Couldn't create lock file. Opening the database read-only. Не вдалося створити lock-файл. База даних відкривається тільки для читання. new нова locked заблокована Ctrl+M Main Error Помилка File '%1' could not be found. Не вдається знайти файл '%1'. MainWindow KeePassX KeePassX Groups Групи &Help &Довідка &File &Файл &Export to... &Експортувати до... &Import from... &Імпортувати з... &Bookmarks &Закладки &Entries &Записи &View &Вигляд Toolbar &Icon Size Розмір &значків панелі інструментів &Columns &Стовпці E&xtras &Додатки &Groups &Групи &Manage Bookmarks... &Керування закладками... &Open Database... &Відкрити базу даних... &Close Database &Закрити базу диних &Save Database З&берегти базу даних Save Database &As... Зберегти базу даних &як... &Database Settings... &Налаштування бази даних... Change &Master Key... Змінити &головний ключ... &Lock Workspace &Заблокувати робочу область &Quit &Вийти &Add New Subgroup... Додати нову &підгрупу... &Edit Group... &Редагувати групу... &Delete Group &Видалити групу Copy Password &to Clipboard Копіювати &пароль до буферу обміну Copy &Username to Clipboard Копіювати &ім'я користувача до буферу обміну &Open URL Відкрити &адресу URL &Save Attachment As... &Зберегти долучення як... Add &New Entry... Додати новий &запис... &View/Edit Entry... &Переглянути або редагувати запис... De&lete Entry &Видалити запис &Clone Entry По&двоїти запис Search &in Database... &Пошук в базі даних... Search in this &Group... Пошук в цій &групі... Show &Entry Details Показати &подробиці запису Hide &Usernames &Сховати імені користувачів Hide &Passwords С&ховати паролі &Title &Назва User&name &Ім'я користувача &URL &Адреса URL &Password &Пароль &Comment &Примітка E&xpires &Термін дії закінчується C&reation С&творення &Last Change Остання &зміна Last &Access Останній &доступ A&ttachment &Долучення &Settings... &Налаштування... &About... &Про програму... Show &Statusbar Показали панель &стану &KeePassX Handbook... Довідник &KeePassX... Hide Сховати &Perform AutoType Застосувати &автоматичне введення &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Нова база даних... &Password Generator... &Генератор паролів... &Group &Група Show &Expired Entries... Показати &записи, термін дії яких закінчився... Recycle Bin... Смітник... &Add Bookmark... &Додати закладку... Bookmark &this Database... Додати &закладку для цієї бази даних... Copy URL to Clipboard Копіювати адресу URL до буферу обміну Add New Group... Додати нову групу... Sort groups Впорядкувати групи &Minimize Window ManageBookmarksDlg Manage Bookmarks Керування закладками PasswordDialog Enter Master Key Ввести головний ключ Set Master Key Встановити головний ключ Change Master Key Змінити головний ключ Database Key Ключ бази даних Last File Останній файл Select a Key File Виберіть файл з ключем All Files (*) Всі файли (*) Key Files (*.key) Файли з ключем (*.key) Please enter a Password or select a key file. Будь ласка, введіть пароль або видеріть файл з ключем. Please enter a Password. Будь ласка, введіть пароль. Please provide a key file. Будь ласка, вкажіть файл з ключем. %1: No such file or directory. %1: Файл чи тека не існують. The selected key file or directory is not readable. Вибрані файл з ключем або теку не вдалося прочитати. The given directory does not contain any key files. Дана тека не містить жодного файла з ключем. The given directory contains more then one key files. Please specify the key file directly. Дана тека містить більше ніж один файл з ключем. Будь ласка, вкажіть ключ безпосередньо. %1: File is not readable. %1: Файл не вдається прочитати. Create Key File... Створити файл з ключем... PasswordDlg Last File Останній файл Enter a Password and/or choose a key file. Введіть пароль та (або) виберіть файл з ключем. Key Ключ Password: Пароль: Key File: Файл з ключем: &Browse... &Огляд... Generate Key File... Генерувати файл з ключем... Please repeat your password: Будь ласка, повторіть пароль: Back Назад Passwords are not equal. Пароль не збігається. SearchDialog Search Пошук Search_Dlg Search... Пошук... Include: Включити: Pass&words &Паролі A&nhang &Долучення U&RLs &Адреси URL C&omments П&римітки &Usernames &Імена користувачів &Titles &Назви &Case Sensitive &Розрізняти великі та малі літери Regular E&xpression Регулярний &вираз Include Subgroups (recursive) Включити підгрупи (рекурсивно) Search For: Шукати: SelectIconDlg Icon Selection Вибір значка SettingsDialog Settings Налаштування General (1) Основні (1) General (2) Основні (2) Appearance Вигляд Language Мова Security Безпека Advanced Розширені Show system tray icon Показувати значок у системному лотку Minimize to tray instead of taskbar Зменшувати до лотка замість панелі задач Remember last opened file Запам'ятати останній відкритий файл Remember last key type and location Запам'ятати останній тип і розміщення ключа Start minimized Розпочати роботу зменшеним Start locked Розпочати роботу заблокованим Save recent directories of file dialogs Зберегти останню теку файлового діалогу Clear History Now Очистити зараз журнал Always ask before deleting entries or groups Завжди запитувати перед тим як видаляти записи чи групи Save backups of modified entries into the 'Backup' group Зберегти резервну копію змінених записів в групу "Backup" Delete backup entries older than: Видалити резервні копії записів старіші ніж: days діб Automatically save database on exit and workspace locking Автоматично зберегти базу даних перед виходом або блокуванням робочої області Automatically save database after every change Автоматично зберегти базу даних після кожної зміни Banner Color Колір банера Text Color: Колір тексту: Change... Змінити... Color 2: Колір 2: C&hange... &Змінити... Color 1: Колір 1: Alternating Row Colors Перемінні кольори рядків Customize Entry Detail View... Налаштування вигляду подробиць записів... Group tree at start-up: Впорядкувати дерево після запуску: Restore last state Відновити останній стан Expand all items Розгорнути всі записи Do not expand any item Не розгортати жодного запису Language: Мова: Author: Автор: Show plain text passwords in: Показувати паролі звичайним текстом у: Edit Entry Dialog Родовий відмінок Діалозі редагування записів Database Key Dialog Родовий відмінок Діалозі ключів бази даних Clear clipboard after: Очистити буфер обміну після: seconds секунд Lock workspace when minimizing the main window Блокувати робочу область після зменшення головного вікна Lock database after inactivity of Блокувати базу даних після бездіяльності Custom Browser Command Нетипова команда переглядача тенет Browse Огляд Media Root: Корінь медіа: The directory where storage devices like CDs and memory sticks are normally mounted. Тека, де зазвичай монтуються пристрої зберігання, такі як CD або карти пам'яті. Browse... Огляд... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Увімкніть, якщо хочете використовувати закладки і останній відкритий файл незалежно від їх абсолютного шляху. Це особливо корисно, коли використовується переносна версія KeePassX і тому змінюється точка монтування у файловій системі. Save relative paths (bookmarks and last file) Зберігати відносні шляхи (закладки та останній файл) Auto-Type Fine Tuning Тонкі налаштування автоматичного друку Time between the activation of an auto-type action by the user and the first simulated key stroke. Час між початком автоматичного друку користувачем і введенням першого рядку. ms мс Pre-Gap: Попередня затримка: Key Stroke Delay: Затримка між введенням символів: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Затримка між двома введеннями символів. Збільшіть її, якщо автоматичне введення випадково пропускає символи. Global Auto-Type Shortcut: Глобальне скорочення клавіш для автоматичного введення: Use entries' title to match the window for Global Auto-Type Використовувати назви записів, щоб знайти вікно для автоматичного введення You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Ви можете вимкнути декілька функцій KeePassX згідно до ваших потребам, щоб спростити інтерфейс користувача. Bookmarks Закладки Plug-Ins Додатки None Немає Gnome Desktop Integration (Gtk 2.x) Інтеграція з стільницею Gnome (Gtk 2.x) KDE 4 Desktop Integration Інтеграція з стільницею KDE 4 You need to restart the program before the changes take effect. Вам необхідно перезапустити програму для того щоб зміни почали діяти. Configure... Налаштування... Show window always on top Minimize to tray when clicking the main window's close button ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Введіть пароль Password: Пароль: TargetWindowDlg Auto-Type: Select Target Window Автоматичне введення: виберіть цільове вікно To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Щоб вибрати цільове вікно, або виберіть існуюче відкрите вікно зі спадного переліку, або введіть назву вікна особисто: Translation $TRANSLATION_AUTHOR Олександр Коваленко $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. alx.kovalenko@gmail.com $LANGUAGE_NAME Insert your language name in the format: English (United States) Українська WorkspaceLockedWidget Form Форма <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Робоча область заблокована.</span></p></body></html> Unlock Розблокувати Close Database Закрити базу даних keepassx-0.4.3/src/translations/keepassx-fr_FR.ts0000664000175000017500000041065211342454754021063 0ustar felixfelix @default Could not open file (FileError=%1) Ne peut ouvrir le fichier (FileError=%1) AboutDialog KeePassX %1 KeePassX %1 <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>La présente traduction française</b><br><br> <b>Author:</b> %1<br> <b> À pour auteur:</b> %1<br> $TRANSLATION_AUTHOR <br>Djellel DIDA $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. <b>Courriel:</b> <br> djellel@free.fr Team Équipe Tarek Saidi Tarek Saidi Developer, Project Admin Développeur et Administrateur du Projet tariq@users.berlios.de tariq@users.berlios.de Eugen Gorschenin Eugen Gorschenin Web Designer Concepteur du site Internet geugen@users.berlios.de geugen@users.berlios.de Thanks To Remerciement à Matthias Miller Matthias Miller Patches for better MacOS X support Pour les rustines ayant permis un meilleur support de MacOS X www.outofhanwell.com <ADDRESS>www.outofhanwell.com<ADDRESS> James Nicholls James Nicholls Main Application Icon Icône principale de l'application Various fixes and improvements Rustines diverses et améliorations Error Erreur File '%1' could not be found. Le fichier '%1' n'a pu être trouvé. Make sure that the program is installed correctly. S'assurer que l'application est correctement installée. OK OK Could not open file '%1' N'a pas pu ouvrir le fichier '%1' The following error occured: %1 L'erreur suivante est survenue: %1 http://keepassx.sf.net http://keepassx.sf.net Developer Développeur Information on how to translate KeePassX can be found under: Toutes les informations concernant la méthode pour traduire KeePassX peuvent être obtenues à l'adresse suivante: Current Translation Traduction courante None Please replace 'None' with the language of your translation Aucun Author Auteur AboutDlg About À propos Thanks To Remerciement à License Licence Translation Traduction <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - Cross Platform Password Manager</p></body></html> <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">KeePassX</span> - Gest. de mot de passe multiplateforme</p></body></html> Copyright (C) 2005 - 2006 Tarek Saidi KeePassX is distributed under the terms of the General Public License (GPL) version 2. <span style=" font-size:9pt; font-weight:400;">Copyright (c) 2005 - 2006 Tarek Saidi <br> KeePassX est distribué sous les termes de la<br> Licence Publique Générale GNU v2 (GPL v2).</span> tarek.saidi@arcor.de tarek.saidi@arcor.de http://keepass.berlios.de/ http://keepass.berlios.de/ Credits Crédits http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com AppName AppName AppFunc AppFunc Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX Team KeePassX est distribué sous les termes de la Licence Publique Générale (GPL) v2. AddBookmarkDlg Add Bookmark Ajouter un Signet Title: Títre : File: Fichier : Browse... Parcourir... Edit Bookmark Modifier un Signet KeePass Databases (*.kdb) Bases de Données KeePass (*.kdb) All Files (*) Tous les Fichiers (*) AutoType More than one 'Auto-Type:' key sequence found. Allowed is only one per entry. Plus d'une saisie automatique : séquence clé trouvée. Seulement une autorisée par entrée. Syntax Error in Auto-Type sequence near character %1 Found '{' without closing '}' Erreur de syntaxe à l'intérieur de la séquence d'auto-saisie près du caractère %1 Trouvé '{' sans accolade fermante '}' Error Erreur AutoTypeDlg KeePassX - Auto-Type KeePassX - Saisie Automatique Click on an entry to auto-type it. Cliquer sur une entrée pour la saisir automatiquement. Group Groupe Title Títre Username Nom d'utilisateur Cancel Annuler Auto-Type Saisie Automatique CAboutDialog KeePassX %1 KeePassX %1 Error Erreur File '%1' could not be found. Le fichier '%1' n'a pu être trouvé. Make sure that the program is installed correctly. S'assurer que l'application est correctement installée. OK Ok Could not open file '%1' N'a pas pu ouvrir le fichier '%1' The following error occured: %1 L'erreur suivante est survenue: %1 http://keepass.berlios.de/index.php http://keepass.berlios.de/index.php <b>Current Translation: None</b><br><br> Please replace 'None' with the language of your translation <b>La présente traduction française</b><br><br> <b>Author:</b> %1<br> <b> À pour auteur:</b> %1<br> $TRANSALTION_AUTHOR <br>Djellel DIDA $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. <b>Courriel:</b> <br> djellel@free.fr Information on how to translate KeePassX can be found under: http://keepass.berlios.de/translation-howto.html Les informations concernant la méthode de traduction de KeePassX peut être trouvé à l'adresse suivante:<br> <ADDRESS>http://keepass.berlios.de/translation-howto.html</ADDRESS> Matthias Miller Matthias Miller http://www.outofhanwell.com/<br>Mac OS X Support <ADDRESS>http://www.outofhanwell.com </ADDRESS> Eugen Gorschenin Eugen Gorschenin geugen@users.berlios.de<br>New Website <ADDRESS>geugen@users.berlios.de</ADDRESS> $TRANSLATION_AUTHOR <br>Djellel DIDA Information on how to translate KeePassX can be found under: http://keepass.berlios.de/ Toutes les informations concernant la méthode pour traduire KeePassX peuvent être obtenues à l'adresse suivante:<br> <ADDRESS>http://keepass.berlios.de/<ADDRESS> Team Équipe Tarek Saidi Tarek Saidi Developer, Project Admin Développeur et Administrateur du Projet tariq@users.berlios.de tariq@users.berlios.de Web Designer Concepteur du site Internet geugen@users.berlios.de geugen@users.berlios.de Thanks To Remerciement à Patches for better MacOS X support Pour les rustines ayant permis un meilleur support de MacOS X www.outofhanwell.com <ADDRESS>www.outofhanwell.com<ADDRESS> Information on how to translate KeePassX can be found under: http://keepassx.sourceforge.net/ Les informations concernant la méthode de traduction de KeePassX peuvent être trouvées à l'adresse suivante:<br> <ADDRESS>http://keepass.berlios.de/translation-howto.html</ADDRESS> James Nicholls James Nicholls Main Application Icon Pour le logo de KeepassX http://keepassx.sf.net http://keepassx.sf.net CDbSettingsDlg AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bits (défaut) Twofish: 256 Bit Twofish : 256 Bits Warning Avertissement Please determine the number of encryption rounds. Définissez le nombre de passes. OK Accepter Error Erreur '%1' is not valid integer value. '%1' n'est pas un nombre entier valide. The number of encryption rounds have to be greater than 0. Le nombre de passes doit être supérieur à 0. Settings Préférences CEditEntryDlg Warning Avertissement Password and password repetition are not equal. Please check your input. Le mot de passe et sa confirmation ne sont pas identiques ! Veuillez vérifier votre saisie. OK OK Save Attachment... Enregistrer la pièce jointe... Overwrite? Écraser ? A file with this name already exists. Do you want to replace it? Un fichier ayant le même nom existe déjà. Voulez-vous le remplacer ? Yes Oui No Non Error Erreur Could not remove old file. N'a pas pu enlever l'ancien fichier. Could not create new file. N'a pas pu créer un nouveau fichier. Error while writing the file. Erreur lors de l'écriture du fichier. Delete Attachment? Supprimer la pièce jointe ? You are about to delete the attachment of this entry. Are you sure? Vous êtes sur le point de supprimer la pièce jointe de cette entrée. En êtes-vous sûr ? No, Cancel Non, annuler Edit Entry Modification de l'entrée Could not open file. N'a pas pu ouvrir le fichier. %1 Bit %1 Bits Add Attachment... Ajouter une pièce jointe... The chosen entry has no attachment or it is empty. L'entrée choisie n'a pas d'attachement ou est vide. Today Aujourd'hui 1 Week 1 semaine 2 Weeks 2 semaines 3 Weeks 3 semaines 1 Month 1 mois 3 Months 3 mois 6 Months 6 mois 1 Year 1 an Calendar... Calendrier... [Untitled Entry] [Entrée sans Nom] New Entry Nouvelle Entrée CGenPwDialog Notice Notification You need to enter at least one character Vous devez au moins entrer un caractère OK Accepter Error Erreur Could not open '/dev/random' or '/dev/urandom'. N'a pas pu ouvrir '/dev/random' ou '/dev/urandom'. Password Generator Générateur de mots de passe %1 Bit %1 Bits %1 Bits %1 Bits CPasswordDialog OK Accepter Error Erreur Please enter a Password. Entrer un mot de passe. Please choose a key file. Sélectionner un fichier clé. Please enter a Password or select a key file. Entrer un mot de passe ou sélectionner un fichier clé. Database Key Base de données des clés Select a Key File Selectionner un fichier clé *.key *.key Unexpected Error: File does not exist. Erreur inattendue: Le fichier n'existe pas. The selected key file or directory does not exist. Le fichier clé ou le répertoire n'existe pas. The given directory does not contain any key files. Le répertoire désigné ne contient aucun fichier clé. The given directory contains more then one key file. Please specify the key file directly. Le répertoire désigné contient plus d'un fichier clé. Veuillez sélectionner le fichier clé directement. The key file found in the given directory is not readable. Please check your permissions. Le fichier clé choisi dans le répertoire n'est pas lisible. Veuillez vérifier vos permissions. Key file could not be found. Le fichier clé n'a pu être trouvé. Key file is not readable. Please check your permissions. Le fichier clé n'est pas lisible. Veuillez vérifier vos permissions. Warning Avertissement Password an password repetition are not equal. Please check your input. Le mot de passe et sa confirmation ne sont pas identiques ! S'il vous plait, vérifier votre saisie. Please enter a password or select a key file. Entrer un mot de passe ou sélectionner un fichier clé. A file with the name 'pwsafe.key' already exisits in the given directory. Do you want to replace it? Un fichier avec le nom 'pwsafe.key' existe déjà dans le répertoire selectionné. Voulez-vous le remplacer ? Yes Oui No Non The exisiting file is not writable. Le fichier existant est protégé en écriture . A file with the this name already exisits. Do you want to replace it? Un fichier avec un nom identique existe déjà. Désirez-vous le remplacer ? The selected key file or directory is not readable. Please check your permissions. Le fichier clé choisi n'est pas lisible. Vérifiez vérifier vos permissions. Cancel Annuler CSearchDlg Notice Notification Please enter a search string. Saisissez une recherche. OK Accepter Search Recherche CSelectIconDlg Delete Supprimer Add Icons... Ajouter une icône... Images (%1) Images (%1) %1: File could not be loaded. %1: Le fichier n'a pu être chargé. Error Erreur An error occured while loading the icon(s): Une erreur est survenue lors du chargement (des) de l'icône(s): Replace... Remplacer... An error occured while loading the icon(s): %1 Une erreur est survenue lors du chargement (des) de l'icône(s): %1 An error occured while loading the icon. Une erreur est survenue lors du chargement de l'icône. Add Custom Icon Ajouter une icône personnalisée Pick Sélectionner %1: File could not be loaded. %1: Le fichier n'a pu être chargé. An error occured while loading the icon(s): Une erreur est survenue lors du chargement (des) de l'icône(s) : CSettingsDlg Settings Préférences Select a directory... Sélectionner un répertoire.... Select an executable... Sélectionner un exécutable.... System Language Langue du Système CalendarDialog Calendar Calendrier CollectEntropyDlg Entropy Collection Collecte d'aléas Random Number Generator Générateur aléatoire de nombre Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Collecte d'aléas... Bougez la souris et/ou appuyez sur des touches jusqu'à en avoir collecté suffisamment pour une génération de nombre aléatoire. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Groupe d'aléas généré avec succès !</span></p></body></html> CustomizeDetailViewDialog Group Groupe Title Títre Username Nom d'utilisateur Password Mot de passe Url Url Comment Commentaire Attachment Name Nom de la Pièce jointe Creation Date Date de création Last Access Date Date de dernier accès Last Modification Date Date de dernière modification Expiration Date Date d'expiration Time till Expiration Temps restant avant expiration Dialog Dialogue Rich Text Editor Editeur de texte avancé Bold Gras B G Italic Italique I I Underlined Souligné U S Left-Aligned Aligné à Gauche L L Centered Centré C C Right-Aligned Aligné à Droite R R Justified Justifié Text Color Couleur du texte Font Size Taille de Police 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Modèles T T HTML HTML Cancel Annuler Database Never Jamais DatabaseSettingsDlg Database Settings Préférences de la base de données Encryption Chiffrage Algorithm: Algorithme : Encryption Rounds: Nombre de passes : Calculate rounds for a 1-second delay on this computer Calcul des passes pour un délai d'une seconde sur cet ordinateur DetailViewTemplate Group Groupe Title Títre Username Nom d'utilisateur Password Mot de passe URL URL Creation Création Last Access Dernier accès Last Modification Dernière modification Expiration Expiration Comment Commentaire EditEntryDialog Edit Entry Modifier l'entrée Username: Nom d'utilisateur : Password Repet.: Confirmation : Title: Títre : URL: URL : Repeat: Password: Mot de passe : Quality: Qualité Comment: Commentaire : Expires: Expire le : Group: Groupe : &Cancel A&nnuler Alt+C Alt+N %1 %1 Icon: Icône : % Bit % Bits Ge&n. &Gen. ... ... O&K &Accepter Alt+K Alt+A Never Jamais Attachment: Pièce jointe : > > %1 Bit %1 Bits EditGroupDialog Group Properties Propriétés du groupe Title: Títre : Icon: Icône : &Cancel A&nnuler Alt+C Alt+N O&K &Accepter Alt+K Alt+A > > ExpiredEntriesDialog Expired Entries Entrées expirées Double click on an entry to jump to it. Double cliquez sur une entrée pour l'ouvrir. Group Groupe Title Títre Username Nom d'utilisateur Expired Expiré Expired Entries in the Database Entrées expirées dans la base de données Export_KeePassX_Xml XML Files (*.xml) Fichiers XML (*.xml) All Files (*) Tous les Fichiers (*) KeePassX XML File Fichier XML KeePass Export_Txt Could not open file (FileError=%1) N'a pas pu ouvrir le fichier (FileError=%1) All Files (*) Tous les Fichiers (*) Text Files (*.txt) Fichiers texte (*.txt) Text File Fichier texte ExporterBase Export Failed Exportation échouée Export File... Exporter Fichier... FileErrors No error occurred. Aucune erreur. An error occurred while reading from the file. Une erreur est survenue lors de la lecture du fichier. An error occurred while writing to the file. Une erreur est survenue lors de l'écriture du fichier. A fatal error occurred. Une erreur fatale est survenue. An resource error occurred. Une erreur de ressource est survenue. The file could not be opened. Le fichier n'a pu être ouvert. The operation was aborted. L'opération a été annulée. A timeout occurred. Délai dépassé. An unspecified error occurred. Une erreur non spécifiée est survenue. The file could not be removed. Le fichier n'a pu être enlevé. The file could not be renamed. Le fichier n'a pu être renommé. The position in the file could not be changed. La position dans le fichier n'a pu être changée. The file could not be resized. Le fichier ne peut être redimensionné. The file could not be accessed. Le fichier n'est pas accessible. The file could not be copied. Le fichier n'a pu être copié. GenPwDlg Alt+U Alt+U Alt+N Alt+N Alt+M Alt+M Alt+L Alt+L Password Generator Générateur de mots de passe Accep&t Accep&ter &Cancel &Annuler Generate Générer New Password: Nouveau mot de passe : Custom Use the following characters: Quality: Qualité: Options Options &Upper Letters Lettres majusc&ules &Lower Letters Lettres minuscu&les &Numbers &Nombres &Special Characters Caractères &Spéciaux Minus Moins U&nderline Soulig&né h&igher ANSI-Characters Caractères ANS&I étendus Alt+H Alt+H Use &only following characters: Utiliser s&eulement les caractères suivant: Alt+O Alt+E Length: Longueur: Use "/dev/rando&m" Utiliser "/dev/rando&m" Use follo&wing character groups: Utiliser le &groupe de caractères suivant: Alt+W Alt+G White &Spaces E&space Alt+S Alt+S Enable entropy collection Activer la collecte d'aléas Collect only once per session Collecter seulement une fois par session Random Aléatoire Use following character groups: &Underline So&uligné &White Spaces Espaces blancs &Minus &Moins Exclude look-alike characters Exclure les caractères ressemblants Ensure that password contains characters from every group S'assurer que le mot de passe contienne des caractères de chaque groupe Pronounceable Prononçable Lower Letters Minuscules Upper Letters Majuscules Numbers Nombres Special Characters Caractères spéciaux HelpDlg Help Contents Previous Page Next Page First Page Import_KWalletXml XML Files (*.xml) Fichiers XML (*.xml) All Files (*) Tous les Fichiers (*) Import Failed Importation échouée Invalid XML data (see stdout for details). Donnée XML invalide (voir 'stdout pour plus de détails). Invalid XML file. Fichier XML invalide. Document does not contain data. Le document ne contient pas de donnée. Import_KeePassX_Xml KeePass XML Files (*.xml) Fichiers XML KeePass (*.xml) All Files (*) Tous les Fichiers (*) Import Failed Importation échouée XML parsing error on line %1 column %2: %3 Erreur d'analyse XML à la ligne %1 colonne %2 : %3 Parsing error: File is no valid KeePassX XML file. Erreur d'analyse : le fichier n'est pas un fichier XML KeePassX valide. Import_PwManager PwManager Files (*.pwm) Fichiers PwManager (*.pwm) All Files (*) Tous les Fichiers (*) Import Failed Importation échouée File is empty. Le fichier est vide. File is no valid PwManager file. Le fichier n'est pas un fichier PwManager valide. Unsupported file version. Version de fichier non supportée. Unsupported hash algorithm. Algorithme de hachage non supporté. Unsupported encryption algorithm. Algorithme d'encryptage non supporté. Compressed files are not supported yet. Les fichiers compressés ne sont pas encore supportés. Wrong password. Mauvais mot de passe. File is damaged (hash test failed). Le fichier est endommagé (le test de hachage a échoué). Invalid XML data (see stdout for details). Donnée XML invalide (voir 'stdout pour plus de détails). ImporterBase Import File... Importer fichier... Import Failed Importation échouée Kdb3Database Could not open file. N'a pu ouvrir le fichier. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Taille de fichier inattendue (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Mauvaise signature Unsupported File Version. Version de fichier non supportée. Unknown Encryption Algorithm. Algorithme de cryptage inconnu. Unable to initialize the twofish algorithm. Unknown encryption algorithm. Decryption failed. The key is wrong or the file is damaged. Le décryptage a échoué. La clé est mauvaise ou le fichier est endommagé. Hash test failed. The key is wrong or the file is damaged. Le test de hachage a échoué. La clé est mauvaise ou le fichier est endommagé. The database has been opened read-only. Unexpected error: Offset is out of range. [G1] Erreur inattendue: Le décalage est hors limite.[G1] Unexpected error: Offset is out of range. [G2] Erreur inattendue: Le décalage est hors limite.[G2] Unexpected error: Offset is out of range. [E1] Erreur inattendue: Le décalage est hors limite.[E1] Unexpected error: Offset is out of range. [E2] Erreur inattendue: Le décalage est hors limite.[E2] Unexpected error: Offset is out of range. [E3] Erreur inattendue: Le décalage est hors limite.[E3] Invalid group tree. Arborescence de groupe invalide. Key file is empty. Le fichier clé est vide. The database must contain at least one group. La base de données doit contenir au moins un groupe. Could not open file for writing. N'a pu ouvrir le fichier pour écriture. Unexpected error: Offset is out of range. Erreur inattendue : Le décalage est hors limite. Unable to initalize the twofish algorithm. Impossible d'initialiser l'algorithme twofish. Kdb3Database::EntryHandle Bytes Octets KiB kio MiB Mio GiB Gio KeepassEntryView Title Títre Username Nom d'utilisateur URL URL Password Mot de passe Comments Commentaires Expires Expire le Creation Créé le Last Change Dernier changement Last Access Dernier accès Attachment Pièce jointe %1 items %1 élements Delete? Effacer ? Group Groupe Error Erreur At least one group must exist before adding an entry. Au moins un groupe doit exister avant d'ajouter une entrée. OK OK Are you sure you want to delete this entry? Etes vous sûr de vouloir effacer cette entrée ? Are you sure you want to delete these %1 entries? Etes vous sûr de vouloir effacer ces %1 entrées ? KeepassGroupView Search Results Résultats de la recherche Groups Groupes Delete? Effacer ? Are you sure you want to delete this group, all its child groups and all their entries? Etes vous sûr de vouloir effacer ce groupe, ses groupes enfants et toutes leurs entrées ? KeepassMainWindow Ctrl+N Ctrl+N Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+A Ctrl+F Ctrl+F Couldn't create lock file. Opening the database read-only. locked Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Erreur The following error occured while opening the database: %1 l'erreur suivante est survenue à l'ouverture de la base de données: %1 OK Accepter Save modified file? Enregistrer le fichier modifié ? The current file was modified. Do you want to save the changes? Le fichier courant a été modifié. Désirez-vous enregistrer les changements ? Yes Oui No Non Cancel Annuler KeePassX - %1 KeePassX - %1 <B>Group: </B>%1 <B>Title: </B>%2 <B>Username: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Password: </B>%5 <B>Creation: </B>%6 <B>Last Change: </B>%7 <B>LastAccess: </B>%8 <B>Expires: </B>%9 <B>Groupe: </B>%1 <B>Titre: </B>%2 <B>Nom d'utilisateur: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Mot de passe: </B>%5 <B>Date de création: </B>%6 <B>Dernier changement: </B>%7 <B>Dernier accès: </B>%8 <B>Date d'expiration: </B>%9 Clone Entry Dupliquer l'entrée Delete Entry Effacer l'entrée Clone Entries Dupliquer les entrées Delete Entries Effacer les entrées File could not be saved. %1 Le fichier n'a pu être enregistré. %1 Save Database As... Enregistrer la base de données sous... Ready Prêt [new] [nouveau] Open Database... Ouvrir la base de données... Loading Database... Chargement de la base de données... Loading Failed Le chargement a échoué Could not create key file. The following error occured: %1 N'a pu créer le fichier clé. L'erreur suivante est survenue: %1 Export To... Exporter vers... KeePassX [new] KeePassX [nouveau] Unknown error in Import_PwManager::importFile()() Erreur inconnue dans Import_PwManager::importFile()() Unknown error in Import_KWalletXml::importFile() Erreur inconnue dans Import_KWalletXml::importFile() Unknown error in PwDatabase::openDatabase() Erreur inconnue dans PwDatabase::openDatabase() Ctrl+V Ctrl+V Show Toolbar Afficher la barre outils KeePassX KeePassX Unknown error while loading database. Erreur inconnue lors du chargement de la base de données. KeePass Databases (*.kdb) Bases de données KeePass (*.kdb) All Files (*) Tous les Fichiers (*) Save Database... Enregistrer la base de données... 1 Month 1 mois %1 Months %1 mois 1 Year 1 an %1 Years %1 ans 1 Day 1 jour %1 Days %1 jours less than 1 day Moins d'un jour Locked Verrouillé Unlocked Déverrouillé Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q The database file does not exist. La base de données n'existe pas. Open read-only new nouveau Expired Expiré Un&lock Workspace Déverrouille l'espace de travai&l &Lock Workspace Verrouille l'espace de travai&l The following error occured while opening the database: L'erreur suivante est survenue lors de l'ouverture de la base de données : File could not be saved. Le fichier n'a pu être enregistré. Show &Toolbar Afficher la barre ou&tils Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Base de données verrouillée The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? La base de données que vous essayez d'ouvrir est verrouillée.Cela signifie soit que quelqu'un d'autre a ouvert le fichier soit que KeePassX a planté la dernière fois qu'il a ouvert la base.Voulez-vous l'ouvrir quand même ? Couldn't create database lock file. Impossible de créer le fichier de verrouillage de la base. The current file was modified. Do you want to save the changes? Le fichier courant a été modifié. Voulez-vous enregistrer les changements ? Couldn't remove database lock file. Impossible d'enlever le fichier de verrouillage de la base. Ctrl+M Main Error Erreur File '%1' could not be found. Le fichier '%1' n'a pu être trouvé. OK OK MainWindow KeePassX KeePassX File Fichier Import from... Importer d'un... View Affichage Columns Colonnes Extras Extras Help Aide New Database... Nouvelle base de données... Open Database... Ouvrir une base de données... Close Database Fermer la base de données Save Database Enregistrer la base de données Save Database As... Enregistrer la base de données sous... Database Settings... Paramétrage de la base de données... Change Master Key... Changer la clé maitresse... Exit Quitter PwManager File (*.pwm) Fichier PwManager (*.pwm) KWallet XML-File (*.xml) Fichier XML, KWallet (*.xml) Add New Group... Ajouter un nouveau groupe... Edit Group... Modifier le groupe... Delete Group Supprimer le groupe Copy Password to Clipboard Copier le mot de passe dans le presse-papier Copy Username to Clipboard Copier l'utilisateur dans le presse-papier Open URL Ouvrir l'URL Save Attachment As... Enregistrer la pièce jointe sous... Add New Entry... Ajouter une nouvelle entrée... View/Edit Entry... Modifier/afficher l'entrée... Delete Entry Supprimer l'entrée Clone Entry Dupliquer l'entrée Search In Database... Rechercher dans la base de données... Search in this group... Rechercher dans ce groupe... Show Toolbar Afficher la barre outils Show Entry Details Afficher les détails de l'entrée Hide Usernames Cacher l'utilisateur Hide Passwords Cacher les mots de passe Title Títre Username Nom d'utilisateur URL URL Password Mot de passe Comment Commentaire Expires Date d'expiration Creation Date de création Last Change Dernier changement Last Access Dernier accès Attachment Pièce jointe Settings... Préférences... About... À propos... Edit Modification Show Statusbar Afficher la barre de statuts Export to... Exporter vers... KeePassX Handbook... Le manuel de KeePassX... Plain Text (*.txt) Un fichier plein texte (*.txt) Hide Cacher Perform AutoType Exécuter l'auto-saisie Type Here Saisir ici Toolbar Icon Size Taille des icônes de la barre d'outils &View &Affichage &File &Fichier &Import from... &Importer d'un... &Export to... &Exporter vers... &Edit Modifi&er E&xtras E&xtras &Help Ai&de &New Database... &Nouvelle base de données... &Open Database... &Ouvrir une base de données... &Close Database Fer&mer la base de données &Save Database &Enregistrer la base de données Save Database &As... Enre&gistrer la base de données sous... &Database Settings... Paramé&trage de la base de données... Change &Master Key... &Changer la clé maitre... E&xit &Quitter &Settings... &Préférences... &About... À pr&opos... &KeePassX Handbook... Le manuel de &KeePassX... Standard KeePass Single User Database (*.kdb) Bases de Données KeePass Standard Mono-Utilisateur (*.kdb) Advanced KeePassX Database (*.kxdb) Bases de Données KeePass Avancées (*.kxdb) Recycle Bin... Corbeille... Groups Groupes &Lock Workspace Verrouille l'espace de travai&l &Bookmarks &Signets &Entries &Entrées Toolbar &Icon Size Taille des &icônes de la barre d'outils &Columns &Colonnes &Groups &Groupes &Manage Bookmarks... &Gérer les Signets... &Quit &Quitter &Edit Group... Modifi&er le groupe... &Delete Group &Effacer le groupe Copy Password &to Clipboard Copier le mot de passe &vers le presse-papier Copy &Username to Clipboard Copier l'&utilisateur dans le presse-papier &Open URL &Ouvrir l'URL &Save Attachment As... Enregi&strer la pièce jointe sous... Add &New Entry... &Ajouter une nouvelle entrée... &View/Edit Entry... &Modifier/Afficher l'entrée... De&lete Entry &Effacer l'entrée &Clone Entry &Dupliquer l'entrée Search &in Database... &Rechercher dans la base de données... Search in this &Group... Rechercher dans ce &groupe... Show &Entry Details Afficher les détails de l'&entrée Hide &Usernames Masquer l'&utilisateur Hide &Passwords Masquer les mots de &passe &Title &Títre User&name &Nom d'utilisateur &URL &URL &Password Mot de &passe &Comment &Commentaire E&xpires Date d'&expiration C&reation C&réation &Last Change &Dernier changement Last &Access Dernier &accès A&ttachment Pièce join&te Show &Statusbar Afficher la barre de &statut &Perform AutoType Exécuter la Saisie Automatique &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &Password Generator... Générateur de mots de &passe... &Group (search results only) &Groupe (résultats de recherche seulement) Show &Expired Entries... Afficher &Entrées expirées... &Add Bookmark... &Ajouter un Signet... Bookmark &this Database... Créer un Signe&t pour cette base de données... Sort groups Trier les groupes &Add New Subgroup... &Ajouter un nouveau sous-groupe... &Group Copy URL to Clipboard Copier l'URL vers le presse-papiers &Minimize Window ManageBookmarksDlg Manage Bookmarks Gérer les Signets PasswordDialog Enter Master Key Entrer la clé maitre Set Master Key Définir la clé maitre Change Master Key Changer la clé maitre Database Key Clé de la base de données Last File Dernier Fichier Select a Key File Selectionner un fichier clé All Files (*) Tous les Fichiers (*) Key Files (*.key) Fichiers clé (*.key) Please enter a Password or select a key file. Entrer un mot de passe ou sélectionner un fichier clé. Please enter a Password. Entrer un mot de passe. Please provide a key file. Sélectionner un fichier clé. %1: No such file or directory. %1 : Fichier ou répertoire inexistant. The selected key file or directory is not readable. Le fichier clé choisi n'est pas lisible. The given directory does not contain any key files. Le répertoire désigné ne contient aucun fichier clé. The given directory contains more then one key files. Please specify the key file directly. Le répertoire désigné contient plus d'un fichier clé. Pourriez-vous sélectionner le fichier clé désiré. %1: File is not readable. %1 : Fichier illisible. Create Key File... Créer le fichier clé... PasswordDlg OK Accepter ... ... Cancel Annuler Enter a Password and/or choose a key file. Entrer un mot de passe et/ou sélectionner un fichier clé. Key Clé maitre Password: Mot de passe : Key file or directory: fichier clé ou répertoire: &Browse... &Parcourir... Alt+B Alt+P Use Password AND Key File Utiliser un mot de passe ET un fichier clé Exit Quitter Password Repet.: Confirmation: Last File Dernier Fichier Key File: Fichier clé : Generate Key File... Générer le fichier clé... Please repeat your password: Ré-entrer votre mot de passe : Back Précédent Passwords are not equal. Les mots de passe ne sont pas identiques. PwDatabase Unknown Error Erreur inconnue Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Taille de fichier inattendue (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Mauvaise signature AES-Init Failed L'initialisation de AES a échoué Unexpected error: Offset is out of range. [G1] Erreur inattendue: Le décalage est hors limite.[G1] Unexpected error: Offset is out of range. [G2] Erreur inattendue: Le décalage est hors limite.[G2] Unexpected error: Offset is out of range. [E1] Erreur inattendue: Le décalage est hors limite.[E1] Unexpected error: Offset is out of range. [E2] Erreur inattendue: Le décalage est hors limite.[E2] Unexpected error: Offset is out of range. [E3] Erreur inattendue: Le décalage est hors limite.[E3] Hash test failed. The key is wrong or the file is damaged. Le test de hachage a échoué. La clé est mauvaise ou le fichier est endommagé. Could not open key file. N'a pu ouvrir le fichier clé. Key file could not be written. Le fichier clé n'a pas pu être écrit. Could not open file. N'a pu ouvrir le fichier. Unsupported File Version. Version de fichier non supportée. Unknown Encryption Algorithm. Algorithme d'encryptage inconnu. Decryption failed. The key is wrong or the file is damaged. Le décryptage a échoué. La clé est mauvaise ou le fichier est endommagé. Could not open file for writing. N'a pu ouvrir le fichier pour écriture. QObject Warning Avertissement Could not save configuration file. Make sure you have write access to '~/.keepass'. N'a pu enregistrer le fichier de configuration. Étes-vous sûr de posséder le droit en écriture sur '~/.keepass'. OK Accepter File '%1' could not be found. Le fichier '%1' n'a pu être trouvé. File not found. Fichier non trouvé. Could not open file. N'a pu ouvrir le fichier. File is no valid PwManager file. Le fichier n'est pas un fichier PwManager valide. Unsupported file version. Version de fichier non supportée. Unsupported hash algorithm. L'algorithme de hachage non supporté. Unsupported encryption algorithm. Algorithme d'encryptage non supporté. Compressed files are not supported yet. Fichiers de compression non supportés encore. Wrong password. Mauvais mot de passe. File is damaged (hash test failed). Le fichier est endommagé (Le test de hachage a échoué). Invalid XML data (see stdout for details). Donnée XML invalide (voir 'stdout pour plus de détails). File is empty. Le fichier est vide. Invalid XML file (see stdout for details). Fichier XML invalide (voir 'stdout' pour plus de détails). Invalid XML file. Fichier XML invalide. Document does not contain data. Le document ne contient pas de donnée. Error Erreur Warning: Avertissement: Invalid RGB color value. Valeur de la couleur RGB invalide. Never Jamais SearchDialog Search Rechercher Search_Dlg Alt+T Alt+T Alt+U Alt+U A&nhang A&nnexe Alt+N Alt+N Alt+W Alt+P Alt+C Alt+C Search... Rechercher... Search For: Recherche de : Regular E&xpression E&xpression Régulière Alt+X Alt+X &Case Sensitive Respecter la &casse Include: Inclure : &Titles &Títres &Usernames Nom d'&utilisateurs C&omments C&ommentaires Alt+O Alt+O U&RLs U&RLs Alt+R Alt+R Pass&words Mot de &passe Search Chercher Clo&se &Quitter Alt+S Alt+Q Include Subgroups (recursive) Inclure les sous-groupes (récursif) SelectIconDlg Icon Selection Choix d'icônes Add Custom Icon... Ajouter une icône... Pick Sélectionner Cancel Annuler SettingsDialog Alt+Ö Alt+R O&K &Accepter Alt+K Alt+A Alt+C Alt+N Settings Préférences &Cancel A&nnuler Clear clipboard after: Effacer le presse-papier après: Seconds Secondes Sh&ow passwords in plain text by default A&fficher le mot de passe en clair par défaut Alt+O Alt+F Appea&rance Appa&rence Banner Color Couleur du bandeau Text Color: Couleur du texte : Change... Changer... Color 2: Couleur 2 : C&hange... C&hanger... Alt+H Alt+H Color 1: Couleur 1 : Expand group tree when opening a database Développer l'arborescence du groupe à l'ouverture de la base de données &Other Au&tre Remember last opend file Se souvenir du dernier fichier ouvert Browser Command: Commande du navigateur: Securi&ty Séc&urité Alternating Row Colors Couleurs alternées pour les rangées Browse... Parcourir... Remember last key type and location Se souvenir de la dernière saisie de clé et du dernier emplacement Mounting Root: Point de montage: Remember last opened file Se souvenir du dernier fichier ouvert Show system tray icon Affiche l'icône dans la zone de notification Minimize to tray when clicking the main window's close button Réduit dans la zone de notification au lieu de quitter l'application Save recent directories of file dialogs Enregistre les répertoires récents des dialogues de fichiers Group tree at start-up: Arborescence de groupe au démarrage : Restore last state Restaure l'état précédent Expand all items Développer tous les éléments Do not expand any item Ne développe aucun élément Security Sécurité Show window always on top Edit Entry Dialog Dialogue de modification d'entrée Plug-Ins Greffons None Aucun Gnome Desktop Integration (Gtk 2.x) Intégration à Gnome (Gtk 2.x) KDE 4 Desktop Integration Intégration à KDE4 You need to restart the program before the changes take effect. Vous devez redémarrer le programme pour que les changements prennent effet. Configure... Configurer... Advanced Avancé Clear History Now Vide l'historique maintenant Always ask before deleting entries or groups Toujours demander avant d'effacer les entrées ou les groupes Customize Entry Detail View... Personnaliser la vue de détail de l'entrée... You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Vous pouvez désactiver plusieurs fonctions de KeePassX ici selon vos besoins pour conserver l'interface utilisateur claire. Bookmarks Signets Auto-Type Fine Tuning Réglage fin de la saisie automatique Time between the activation of an auto-type action by the user and the first simulated key stroke. Temps entre l'activation d'une action de saisie automatique par l'utilisateur et le première frappe de touche simulée. ms ms Pre-Gap: Pre-Gap : Key Stroke Delay: Délai de frappe des touches : Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Délai entre deux frappes de touches simulées. Augmenter le si la Saisie Automatique saute aléatoirement des caractères. The directory where storage devices like CDs and memory sticks are normally mounted. Le répertoire où sont normalement montés les périphériques tels que les CD et les clés USB. Media Root: Racine des Media : Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Activer ceci si vous voulez utiliser vos signets et le dernier fichier ouvert indépendamment de leurs chemins absolus. Particulièrement utile en cas d'utilisation portable de KeePassX et par conséquent avec des points de montage variables. Save relative paths (bookmarks and last file) Enregistrert les chemins relatifs (signets et dernier fichier) Minimize to tray instead of taskbar Réduit dans la zone de notification au lieu de la barre des tâches Start minimized Démarre réduit Start locked Démarre verrouillé Lock workspace when minimizing the main window Verrouille l'espace de travail lors de la minimisation de la fenêtre Global Auto-Type Shortcut: Raccourci global de Saisie Automatique : Custom Browser Command Commande personnalisée du navigateur Browse Parcourir Automatically save database on exit and workspace locking Sauvegarde automatique de la base de données à la sortie et au verrouillage de l'espace de travail Show plain text passwords in: Afficher les mots de passe en clair dans : Database Key Dialog Dialogue de clé de base de données seconds secondes Lock database after inactivity of Verrouille la base de données après une inactivité de Use entries' title to match the window for Global Auto-Type Utiliser le titre de l'entrée pour correspondre à la fenêtre globale de Saisie Automatique General (1) Général (1) General (2) Général (2) Appearance Apparence Language Langue Save backups of modified entries into the 'Backup' group Enregistrer les sauvegardes des entrées modifiées dans le groupe 'Sauvegarde' Delete backup entries older than: Effacer les entrées de sauvegarde de plus de : days jours Automatically save database after every change Enregistrer automatiquement la base de données après chaque changement System Language Langue du Système English Anglais Language: Langue : Author: Auteur : ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Super_L SimplePasswordDialog O&K &Accepter Alt+K Alt+A Alt+C Alt+N ... ... Enter your Password Entrer votre mot de passe Password: Mot de passe : &Cancel A&nnuler StandardDatabase Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Taille de fichier inattendue (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Mauvaise signature Unsupported File Version. Version de fichier non supportée. Unknown Encryption Algorithm. Algorithme d'encryptage inconnu. Decryption failed. The key is wrong or the file is damaged. Le décryptage a échoué. La clé est mauvaise ou le fichier est endommagé. Hash test failed. The key is wrong or the file is damaged. Le test de hachage a échoué. La clé est mauvaise ou le fichier est endommagé. Unexpected error: Offset is out of range. [G1] Erreur inattendue: Le décalage est hors limite.[G1] Unexpected error: Offset is out of range. [G2] Erreur inattendue: Le décalage est hors limite.[G2] Unexpected error: Offset is out of range. [E1] Erreur inattendue: Le décalage est hors limite.[E1] Unexpected error: Offset is out of range. [E2] Erreur inattendue: Le décalage est hors limite.[E2] Unexpected error: Offset is out of range. [E3] Erreur inattendue: Le décalage est hors limite.[E3] Could not open file for writing. N'a pu ouvrir le fichier pour écriture. TargetWindowDlg Auto-Type: Select Target Window Saisie Automatique : Sélectionnez la fenêtre de destination To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Pour spécifier la fenêtre de destination, sélectionnez une fenêtre actuellement ouverte dans le menu déroulant ou entrez le nom de la fenêtre manuellement : Translation $TRANSLATION_AUTHOR fat115 $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. <b>Courriel:</b> fat115@free.fr $LANGUAGE_NAME Insert your language name in the format: English (United States) Français (France) TrashCanDialog Title Títre Username Nom d'utilisateur WorkspaceLockedWidget Form Formulaire <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">L'espace de travail est verrouillé.</span></p></body></html> Unlock Déverrouiller Close Database Fermer la base de données dbsettingdlg_base Database Settings Préférences de la Base de Données Encryption Encryptage Algorithm: Algorithme: ? ? Encryption Rounds: Nombre de passes: O&K &Accepter Ctrl+K Ctrl+A &Cancel A&nnuler Ctrl+C Ctrl+N keepassx-0.4.3/src/translations/keepassx-fi_FI.ts0000664000175000017500000024163011342454754021037 0ustar felixfelix AboutDialog Information on how to translate KeePassX can be found under: Tietoja KeePassX:n kääntämisestä voit löytää linkistä: Team Tiimi Developer, Project Admin Kehittäjä, projektin ylläpitäjä Web Designer WWW-kehittäjä Developer Kehittäjä Thanks To Kiitokset Patches for better MacOS X support Korjaukset paremmalle Mac OS/X-tuelle Main Application Icon Pääsovelluksen kuvake Various fixes and improvements Useita korjauksia ja parannuksia Error Virhe File '%1' could not be found. Tiedostoa "%1" ei löydy. Make sure that the program is installed correctly. Varmista, että ohjelma on asennettu oikein. OK OK Current Translation Tämänhetkinen käännös None Please replace 'None' with the language of your translation suomi Author Tekijä AboutDlg About Tietoja AppName OhjelmanNimi AppFunc OhjelmanFuktio http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Credits Kiitokset Translation Käännös License Lisenssi Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Tekijänoikeudet (C) 2005 - 2009 KeePassX Team Ohjelmaa KeePassX levitetään General Public License (GPL)- lisenssin version 2 mukaisesti. AddBookmarkDlg Add Bookmark Lisää kirjanmerkki Title: Otsikko: File: Tiedosto: Browse... Selaa... Edit Bookmark Muokkaa kirjanmerkkiä KeePass Databases (*.kdb) KeePass-tietokannat (*.kdb) All Files (*) Kaikki tiedostot (*) AutoTypeDlg KeePassX - Auto-Type KeePassX - automaattikirjoitus Click on an entry to auto-type it. Kirjoita tietue automaattisesti kaksoisnapsauttamalla. Group Ryhmä Title Otsikko Username Käyttäjätunnus Auto-Type Automaattikirjoitus CDbSettingsDlg Settings Asetukset AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 Bit (oletus) Twofish: 256 Bit Twofish: 256 Bit Warning Varoitus Please determine the number of encryption rounds. Anna salauskierrosten lukumäärä. OK OK Error Virhe '%1' is not valid integer value. "%1" ei ole kelvollinen kokonaisluku. The number of encryption rounds have to be greater than 0. Salauskierrosten lukumäärän täytyy olla suurempi kuin 0. CEditEntryDlg Today Tänään 1 Week 1 viikko 2 Weeks 2 viikkoa 3 Weeks 3 viikkoa 1 Month 1 kuukausi 3 Months 3 kuukautta 6 Months 6 kuukautta 1 Year 1 vuosi Calendar... Kalenteri... %1 Bit %1 bittiä Edit Entry Muokkaa tietuetta Warning Varoitus Password and password repetition are not equal. Please check your input. Salasana ja salasanan varmistus eroavat. Tarkista syötteesi. OK OK [Untitled Entry] [Nimeämätön tietue] Add Attachment... Lisää liite... Error Virhe Could not open file. Tiedostoa ei voitu avata. The chosen entry has no attachment or it is empty. Valitussa tietueessa ei ole liitettä tai se on tyhjä. Save Attachment... Tallenna liite... Error while writing the file. Virhe kirjoitettaessa tiedostoa. Delete Attachment? Poistetaanko liite? You are about to delete the attachment of this entry. Are you sure? Olet poistamassa liitteen tästä tietueesta. Haluatko varmasti poistaa sen? Yes Kyllä No, Cancel Ei, peru New Entry Uusi tietue CGenPwDialog Password Generator Salasanageneraattori %1 Bits %1 bittiä CSelectIconDlg Replace... Korvaa... Delete Poista Add Custom Icon Lisää oma kuvake Pick Poimi Add Icons... Lisää kuvakkeita... Images (%1) Kuvat (%1) %1: File could not be loaded. %1: Tiedostoa ei voitu ladata. Error Virhe An error occured while loading the icon(s): Tapahtui virhe ladattaessa kuvakkeita: An error occured while loading the icon. Tapahtui virhe ladattaessa kuvaketta. CSettingsDlg Settings Asetukset Select a directory... Valitse kansio... Select an executable... Valitse suoritettava ohjelma... System Language Järjestelmäkieli CalendarDialog Calendar Kalenteri CollectEntropyDlg Random Number Generator Satunnaislukugeneraattori Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Kerätään entropiaa... Liikuttele hiirtä ja painele näppäimiä, kunnes tarpeeksi entropiaa satunnaislukugeneraattorin uudelleenalustamiseen on saatu kerättyä. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Satunnaisuuslähde alustettu onnistuneesti uudestaan!</span></p></body></html> Entropy Collection Entropian keräys CustomizeDetailViewDialog Dialog Ikkuna Rich Text Editor Tekstieditori (RTF) Bold Korostettu B B Italic Kursiivi I I Underlined Alleviivattu U U Left-Aligned Vasemmalle tasattu L L Centered Keskitetty C C Right-Aligned Oikealle tasattu R R Justified Tasaus Text Color Tekstin väri Font Size Kirjasimen koko 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Mallit T M HTML HTML Group Ryhmä Title Otsikko Username Käyttäjätunnus Password Salasana Url URL Comment Kommentti Attachment Name Liitteen nimi Creation Date Luontipäivä Last Access Date Viimeksi käytetty Last Modification Date Viimeksi muutettu Expiration Date Vanhenemispäivä Time till Expiration Aikaa vanhenemiseen Database Never Ei koskaan DatabaseSettingsDlg Database Settings Tietokannan asetukset Encryption Salausmenetelmä Algorithm: Algoritmi: Encryption Rounds: Salauskierroksia: Calculate rounds for a 1-second delay on this computer Laske kierrosten lukumäärä yhden sekunnin viiveelle tällä tietokoneella DetailViewTemplate Group Ryhmä Title Nimi Username Käyttäjätunnus Password Salasana URL URL Creation Luotu Last Access Viimeksi käytetty Last Modification Viimeksi muokattu Expiration Vanhenee Comment Kommentti EditEntryDialog Edit Entry Muokkaa tietuetta Ge&n. L&uo. Quality: Laatu: Attachment: Liite: Title: Otsikko: Username: Käyttäjätunnus: Comment: Kommentti: Repeat: Toista: %1 %1 URL: URL: Group: Ryhmä: Password Repet.: Varmistus: Password: Salasana: Expires: Vanhenee: Never Ei koskaan %1 Bit %1 bittiä Icon: Kuvake: EditGroupDialog Group Properties Ryhmän ominaisuudet Icon: Kuvake: Title: Otsikko: > > ExpiredEntriesDialog Expired Entries Vanhentuneet tietueet Double click on an entry to jump to it. Siirry tietueeseen kaksoisnapsauttamalla. Group Ryhmä Title Nimi Username Käyttäjätunnus Expired Vanhentui Expired Entries in the Database Tietokannan vanhentuneet tietueet Export_KeePassX_Xml KeePassX XML File KeePassX XML-tiedosto XML Files (*.xml) XML-tiedostot (*.xml) All Files (*) Kaikki tiedostot (*) Export_Txt Text File Tekstitiedosto All Files (*) Kaikki tiedostot (*) Text Files (*.txt) Tekstitiedostot (*.txt) ExporterBase Export Failed Vienti epäonnistui Export File... Vie tiedosto... FileErrors No error occurred. Virhettä ei tapahtunut. An error occurred while reading from the file. Tapahtui virhe luettaessa tiedostosta. An error occurred while writing to the file. Tapahtui virhe kirjoitettaessa tiedostoon. A fatal error occurred. Tapahtui kriittinen virhe. An resource error occurred. Tapahtui resurssivirhe. The file could not be opened. Tiedostoa ei voitu avata. The operation was aborted. Toiminto keskeytettiin. A timeout occurred. Tapahtui aikakatkaisu. An unspecified error occurred. Tapahtui määrittelemätön virhe. The file could not be removed. Tiedostoa ei voitu poistaa. The file could not be renamed. Tiedostoa ei voitu nimetä uudestaan. The position in the file could not be changed. Sijaintia tiedoston sisällä ei voitu muuttaa. The file could not be resized. Tiedoston kokoa ei voitu muuttaa. The file could not be accessed. Tiedostoon ei päästy käsiksi. The file could not be copied. Tiedostoa ei voitu kopioida. GenPwDlg Password Generator Salasanageneraattori Custom Oma määrittely Use the following characters: Käytä seuraavia merkkejä: Options Valinnat Use follo&wing character groups: Käytä s&euraavia merkkiryhmiä: Alt+W Alt+E &Lower Letters &Pienet kirjaimet Alt+L ALT-P Alt+N ALT-N &Numbers &Numerot Alt+S ALT+E &Upper Letters S&uuret kirjaimet Alt+U ALT+U &Special Characters &Erikoismerkit Use &only following characters: Käy&tä vain seuraavia merkkejä: Alt+O ALT+T Length: Pituus: Quality: Laatu: Enable entropy collection Käytä entropian keräystä Alt+M ALT-M Collect only once per session Kerää vain kerran istunnossa New Password: Uusi salasana: Generate Luo Random Satunnainen Use following character groups: Käytä seuraavia merkkiryhmiä: &Underline &Alleviivaus &White Spaces &Tyhjeet &Minus &Miinusmerkki Exclude look-alike characters Poista samannäköiset merkit Ensure that password contains characters from every group Varmista, että salasana sisältää merkkejä joka ryhmästä Pronounceable Äänettävissä oleva Lower Letters Pienet kirjaimet Upper Letters Isot kirjaimet Numbers Numerot Special Characters Erikoismerkit HelpDlg Help Contents Ohjeen sisältö Previous Page Edellinen sivu Next Page Seuraava sivu First Page Ensimmäinen sivu Import_KWalletXml XML Files (*.xml) XML-tiedostot (*.xml) All Files (*) Kaikki tiedostot Import Failed Tuonti epäonnistui Invalid XML data (see stdout for details). Virheellistä XML-tietoa (katso oletustulosteesta lisätietoja). Invalid XML file. Virheellinen XML-tiedosto. Document does not contain data. Tiedosto ei sisällä tietoa. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePass XML-tiedostot (*.xml) All Files (*) Kaikki tiedostot Import Failed Tuonti epäonnistui XML parsing error on line %1 column %2: %3 XML-jäsennysvirhe rivillä %1 sarakkeessa %2: %3 Parsing error: File is no valid KeePassX XML file. Jäsennysvirhe: Tiedosto ei ole kelvollinen KeePassX XML-tiedosto. Import_PwManager PwManager Files (*.pwm) PwManager-tiedostot (*.pwm) All Files (*) Kaikki tiedostot (*) Import Failed Tuonti epäonnistui File is empty. Tiedosto on tyhjä. File is no valid PwManager file. Tiedosto ei ole kelvollinen PwManager-tiedosto. Unsupported file version. Tiedoston versio ei ole tuettu. Unsupported hash algorithm. Tiivistealgoritmi ei ole tuettu. Unsupported encryption algorithm. Tiedoston salausalgoritmi ei ole tuettu. Compressed files are not supported yet. Pakatut tiedostot eivät vielä ole tuettu. Wrong password. Väärä salasana. File is damaged (hash test failed). Tiedosto on vioittunut (tiivisteen tarkistus epäonnistui). Invalid XML data (see stdout for details). Virheellistä XML-tietoa (katso lisätietoja oletustulosteesta). ImporterBase Import File... Tuo tiedosto... Import Failed Tuonti epäonnistui Kdb3Database Could not open file. Tiedostoa ei voitu avata. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Odottamaton tiedostokoko (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Virheellinen allekirjoitus Unsupported File Version. Tiedoston versio ei ole tuettu. Unknown Encryption Algorithm. Tuntematon salausalgoritmi. Unable to initialize the twofish algorithm. Twofish-algoritmia ei voitu alustaa. Unknown encryption algorithm. Tuntematon salausmenetelmä. Decryption failed. The key is wrong or the file is damaged. Salauksen purku epäonnstui. Avain on väärä tai tiedosto on vioittunut. Hash test failed. The key is wrong or the file is damaged. Tiivisteen laskenta epäonnistui. Avain on väärä tai tiedosto on vioittunut. Unexpected error: Offset is out of range. Odottamaton virhe: siirtymä on alueen ulkopuolella. Invalid group tree. Virheellinen ryhmäpuu. Key file is empty. Avaintiedosto on tyhjä. The database must contain at least one group. Tietokannan täytyy sisältää ainakin yksi ryhmä. Could not open file for writing. Tiedostoa ei voitu avata kirjoitettavaksi. Unable to initalize the twofish algorithm. Twofish-algoritmia ei voitu alustaa. The database has been opened read-only. Tietokanta on avattu vain luettavaksi. Kdb3Database::EntryHandle Bytes Tavua KiB KiB MiB MiB GiB GiB KeepassEntryView Delete? Poista? Error Virhe At least one group must exist before adding an entry. Ainakin yksi ryhmä täytyy olla määritelty ennen tietueiden lisäämistä. OK OK Title Nimi Username Käyttäjätunnus URL URL Password Salasana Comments Kommentit Expires Vanhenee Creation Luontipäivä Last Change Viimeksi muutettu Last Access Viimeksi käytetty Attachment Liite Group Ryhmä Are you sure you want to delete this entry? Haluatko varmasti poistaa tämän tietueen? Are you sure you want to delete these %1 entries? Haluatko poistaa nämä %1 tietuetta? KeepassGroupView Search Results Haun tulokset Delete? Poista? Are you sure you want to delete this group, all its child groups and all their entries? Haluatko varmasti poistaa tämän ryhmän ja sen sisältämät tietueet? KeepassMainWindow Ready Valmis Locked Lukittu Unlocked Lukitus avattu Ctrl+O Ctrl+O Ctrl+S Ctrl+S Ctrl+L Ctrl+L Ctrl+Q Ctrl+Q Ctrl+G Ctrl+G Ctrl+C Ctrl+C Ctrl+B Ctrl+B Ctrl+U Ctrl+U Ctrl+Y Ctrl+Y Ctrl+E Ctrl+E Ctrl+D Ctrl+D Ctrl+K Ctrl+K Ctrl+F Ctrl+F Ctrl+V Ctrl+V Ctrl+W Ctrl+W Shift+Ctrl+S Shift+Ctrl+S Shift+Ctrl+F Shift+Ctrl+F Error Virhe The database file does not exist. Tietokantatiedosta ei ole olemassa. Loading Database... Ladataan tietokantaa... Loading Failed Lataus epäonnistui Unknown error while loading database. Tuntematon virhe ladattaessa tietokantaa. The following error occured while opening the database: Seuraavat virheet havaittiin ladattaessa tietokantaa: Save modified file? Tallennetaanko muokattu tiedosto? new uusi Open Database... Avaa tietokanta... KeePass Databases (*.kdb) KeePass-tietokannat (*.kdb) All Files (*) Kaikki tiedostot (*) Expired Vanhentunut 1 Month 1 kuukausi %1 Months %1 kuukautta 1 Year 1 vuosi %1 Years %1 vuotta 1 Day 1 päivä %1 Days %1 päivää less than 1 day Vähemmän kuin 1 päivä Clone Entry Kloonaa tietue Delete Entry Poista tietue Clone Entries Kloonaa tietueita Delete Entries Poista tietueita File could not be saved. Tiedostoa ei voitu tallentaa. Save Database... Tallenna tietokanta... Un&lock Workspace &Avaa työtilan lukitus &Lock Workspace &Lukitse työtila locked lukittu Show &Toolbar Näytä &työkalupalkki Ctrl+N Ctrl+N Ctrl+P Ctrl+P Ctrl+X Ctrl+X Ctrl+I Ctrl+I Database locked Tietokanta lukittu The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Tietokanta, jota yritätä avata, on lukittu. Tämä tarkoittaa, että joku muu on avannut sen jo tai että KeePassX kaatui viimeksi tietokantaa käytettäessä. Haluatko avata tietokannan joka tapauksessa? Couldn't create database lock file. Tietokannan lukkotiedostoa ei voitu luoda. The current file was modified. Do you want to save the changes? Tämänhetkistä tiedostoa on muokattu. Haluatko tallentaa muutokset? Couldn't remove database lock file. Tietokannan lukkotiedostoa ei voitu poistaa. Open read-only Avaa vain luettavaksi Couldn't create lock file. Opening the database read-only. Lukkotiedostoa ei voitu luoda. Avataan tietokanta vain luettavaksi. Ctrl+M Main Error Virhe File '%1' could not be found. Tiedostoa "%1" ei löytynyt. OK OK MainWindow KeePassX KeePassX Groups Ryhmät &Help O&hje &File &Tiedosto &Export to... &Vie muodossa... &Import from... &Tuo tiedostosta... &Edit &Muokkaa &View &Näytä E&xtras &Lisäosat &Open Database... &Avaa tietokanta... &Close Database &Sulje tietokanta &Save Database &Tallenna tietokanta Save Database &As... Tallenna tietokanta &nimellä... &Database Settings... &Tietokannan asetukset... Change &Master Key... Muuta &pääavainta... &Lock Workspace &Lukitse työtila &Settings... &Asetukset... &About... &Tietoja... &KeePassX Handbook... &KeePassX-ohjekirja Hide Piilota Standard KeePass Single User Database (*.kdb) Tavallinen yhden käyttäjän KeePass-tietokanta (*.kdb) Advanced KeePassX Database (*.kxdb) Edistynyt KeePassX-tietokanta (*.kxdb) Recycle Bin... Roskakori... &Bookmarks &Kirjanmerkit Toolbar &Icon Size Työkalupalkin &kuvakkeiden koko &Columns &Sarakkeet &Manage Bookmarks... &Hallitse kirjanmerkkejä &Quit &Lopeta &Edit Group... &Muokkaa ryhmää... &Delete Group &Poista ryhmä Copy Password &to Clipboard Kopioi salasana &leikepöydälle Copy &Username to Clipboard Kopioi &käyttäjätunnus leikepöydälle &Open URL &Avaa URL &Save Attachment As... &Tallenna liite nimellä... Add &New Entry... Lisää &uusi tietue... &View/Edit Entry... &Näytä tai muokkaa tietuetta... De&lete Entry P&oista tietue &Clone Entry &Kloonaa tietue Search &in Database... Etsi &tietokannasta... Search in this &Group... Etsi tästä &ryhmästä... Show &Entry Details Näytä tietueen &yksityiskohdat Hide &Usernames Piilota &käyttäjätunnukset Hide &Passwords Piilota &salasanat &Title &Otsikko User&name &Käyttäjätunnus &URL &URL &Password &Salasana &Comment &Kommentti E&xpires &Vanhenee C&reation &Luotu &Last Change &Viimeksi muutettu Last &Access &Viimeksi käytetty A&ttachment &Liite Show &Statusbar Näytä &tilarivi &Perform AutoType &Käynnistä automaattikirjoitus &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Uusi tietokanta... &Password Generator... Salasana&generaattori... &Group (search results only) &Ryhmä (vain hakutulokset) Show &Expired Entries... Näytä &vanhentuneet tietueet... &Add Bookmark... &Lisää kirjanmerkki... Bookmark &this Database... Lisää kirjanmerkki tietokantaan... &Add New Subgroup... &Lisää uusi aliryhmä... &Group &Ryhmä Copy URL to Clipboard Kopioi URL leikepöydälle Add New Group... Lisää uusi ryhmä... &Entries Tietueet &Groups Ryhmät Sort groups Järjestä ryhmät &Minimize Window ManageBookmarksDlg Manage Bookmarks Hallitse kirjanmerkkejä PasswordDialog Enter Master Key Syötä pääsalasana Set Master Key Aseta pääsalasana Change Master Key Vaihda pääsalasanaa Database Key Tietokannan avain Last File Viimeisin tiedosto Select a Key File Valitse avaintiedosto All Files (*) Kaikki tiedostot (*) Key Files (*.key) Avaintiedostot (*.key) Please enter a Password or select a key file. Syötä salasana tai valitse avaintiedosto. Please enter a Password. Syötä salasana. Please provide a key file. Syötä avaintiedosto. %1: No such file or directory. %1: Tiedostoa tai kansiota ei löydy. The selected key file or directory is not readable. Valittu avaintiedosto tai kansio ei ole luettavissa. The given directory does not contain any key files. Annetussa kansiossa ei ole avaintiedostoja. The given directory contains more then one key files. Please specify the key file directly. Annetussa kansiossa on useampi kuin yksi avaintiedosto. Valitse avaintiedosto suoraan. %1: File is not readable. %1: Tiedosto ei ole luettavissa. Create Key File... Luo avaintiedosto... PasswordDlg Last File Viimeisin tiedosto Enter a Password and/or choose a key file. Syötä salasana tai valitse avaintiedosto. Key Avain Password: Salasana: &Browse... S&elaa... Alt+B ALT-E Key File: Avaintiedosto: Generate Key File... Luo avaintiedosto... Please repeat your password: Toista salasana: Back Takaisin Passwords are not equal. Salasanat eivät täsmää. SearchDialog Search Etsi Search_Dlg Search... Etsi... Include: Hae myös kentistä: Pass&words &Salasanat Alt+W Alt+S A&nhang &Liite Alt+N Alt+L U&RLs U&RL Alt+R Alt+R C&omments K&ommentit Alt+O Alt+O &Usernames &Käyttäjätunnukset Alt+U Alt+K &Titles O&tsikot Alt+T Atl+T &Case Sensitive &Huomioi kirjainkoko Alt+C Alt+H Regular E&xpression Säännöllinen &lauseke Alt+X Alt+X Include Subgroups (recursive) Hae myös aliryhmistä (rekursiivinen) Search For: Haettava merkkijono: SelectIconDlg Icon Selection Kuvakkeen valinta SettingsDialog Settings Asetukset Show system tray icon Näytä ilmoitusalueen kuvake Minimize to tray instead of taskbar Pienennä ilmoitusalueelle ikkunaluettelon sijasta Minimize to tray when clicking the main window's close button Pienennä ilmoitusalueelle painettaessa pääikkunan sulkemisnappia Remember last opened file Muista viimeisin avattu tiedosto Alt+Ö Alt-Ö Remember last key type and location Muista viimeisin avaimen tyyppi ja sijainti Start minimized Käynnistä pienennettynä Start locked Käynnistä lukittuna Save recent directories of file dialogs Tallenna kansioluettelo tiedostovalitsimissa Clear History Now Tyhjennä historia heti Always ask before deleting entries or groups Kysy aina ennen tietueiden tai ryhmien poistamista Banner Color Otsakkeen väri Text Color: Tekstin väri: Change... Muuta... Color 2: Väri 2: C&hange... &Muuta... Alt+H Alt+M Color 1: Väri 1: Alternating Row Colors Vaihtelevat rivien värit Customize Entry Detail View... Muokkaa tietueen yksityiskohtien näkymää... Group tree at start-up: Ryhmäpuu käynnistettäessä: Restore last state Palauta viimeisin tila Expand all items Laajenna kaikki Do not expand any item Älä laajenna mitään Security Turvallisuus Edit Entry Dialog Tietueen muokkausikkuna Alt+O Alt+O Clear clipboard after: Tyhjennä leikepöytä viiveellä: Lock workspace when minimizing the main window Lukitse työtila pienennettäessä pääikkuna You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Voit poistaa monia ohjelman ominaisuuksia tarpeidesi mukaan ja pitääksesi käyttöliittymän selkeänä. Bookmarks Kirjanmerkit Plug-Ins Lisäosat None Ei mitään Gnome Desktop Integration (Gtk 2.x) Gnome-työpöydän integrointi (Gtk 2.x) KDE 4 Desktop Integration KDE4-työpöydän integrointi You need to restart the program before the changes take effect. Ohjelma täytyy käynnistää uudestaan, jotta muutokset tulevat voimaan. Configure... Määrittele... Advanced Lisäasetukset Auto-Type Fine Tuning Automaattikirjoituksen hienosäätö Time between the activation of an auto-type action by the user and the first simulated key stroke. Aika automaattisen täydennyksen aktivoinnin ja ensimmäisen simuloidun näppäilyn välillä. ms ms Pre-Gap: Esitauko: Key Stroke Delay: Näppäinpainallusten viive: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Viive simuloitujen näppäinpainallusten välillä. Kasvata tätä, jos automaattikirjoitus hukkaa satunnaisesti merkkejä. Custom Browser Command Oma selainkomento Show window always on top Näytä ikkuna aina päällimmäisenä Browse Selaa Media Root: Liitospisteiden juurikansio: The directory where storage devices like CDs and memory sticks are normally mounted. Kansio, jonne taltiot, kuten CD-levyt ja muistitikut normaalisti liitetään. Browse... Selaa... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Ota tämä käyttöön, os haluat käyttää kirjanmerkkejä ja viimeksi avattuja tiedostoja riippumatta niiden absoluuttisesta polusta. Tämä en erityisen hyödyllistä käytettäessä ohjelmaa eri tietokoneissa ja liitospisteen vaihtuessa eri paikkoihin. Save relative paths (bookmarks and last file) Tallenna suhteelliset polut (kirjanmerkit ja viimeisin tiedosto) Global Auto-Type Shortcut: Automaattikirjoituksen pikanäppäin: Automatically save database on exit and workspace locking Tallenna tietokanta automaattisesti suljettaessa ja lukittaessa työtila Show plain text passwords in: Näytä selväkieliset salasanat: Database Key Dialog Tietokanta-avaimen ikkuna seconds sekuntia Lock database after inactivity of Lukitse tietokanta sen oltua jouten Use entries' title to match the window for Global Auto-Type Käytä tietueen otsikkoa automaattitäydennyksen kohdeikkunan täsmäämiseen General (1) Yleisasetuset (1) General (2) Yleisasetuset (2) Appearance Ulkoasu Language Kieli Save backups of modified entries into the 'Backup' group Tallenna varmuuskopio muokatuista tietueista "Backup"-ryhmään Delete backup entries older than: Poista varmuuskopiotietueet, jotka ovat vanhempia kuin: days päivää Automatically save database after every change Tallenna tietokanta automaattisesti joka muutoksen jälkeen System Language Järjestelmäkieli English Englanti Language: Kieli: Author: Tekijä: ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Syötä salasana Password: Salasana: TargetWindowDlg Auto-Type: Select Target Window Automaattikirjoitus: valitse kohdeikkuna To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Translation $TRANSLATION_AUTHOR Ilkka Tuohela, Jussi Sainio $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. hile@iki.fi, - $LANGUAGE_NAME Insert your language name in the format: English (United States) Finnish (Finland) WorkspaceLockedWidget Form Lomake <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Työtila on lukittu.</span></p></body></html> Unlock Avaa lukitus Close Database Sulje tietokanta keepassx-0.4.3/src/translations/keepassx-sr_RS.ts0000664000175000017500000023621311342454754021114 0ustar felixfelix AboutDialog Current Translation Tekući prevod None Please replace 'None' with the language of your translation 25. Septembar 2009 Author Autor Information on how to translate KeePassX can be found under: Informacije o tome kako prevoditi KeePassX mogu se pronaći na web adresi: Team Tim Developer, Project Admin Programer, Administrator projekta Developer Programer Web Designer Web dizajner Thanks To Zahvalnice Patches for better MacOS X support Zakrpe za bolju podršku MacOS X Main Application Icon Ikona glavne aplikacije Various fixes and improvements Različite popravke i unapređenja Error Greška File '%1' could not be found. Datoteka '%1' se ne može pronaći. Make sure that the program is installed correctly. Proverite da li je program ispravno instaliran. OK U redu AboutDlg About O programu AppName Ime aplikacije AppFunc Svrha aplikacije http://keepassx.sourceforge.net http://keepassx.sourceforge.net keepassx@gmail.com keepassx@gmail.com Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2. Copyright (C) 2005 - 2009 KeePassX tim KeePassX je distribuiran pod uslovima General Public License (GPL) verzija 2. Credits Zasluge Translation Prevod License Licenca AddBookmarkDlg Add Bookmark Dodaj označivač Edit Bookmark Izmeni označivač KeePass Databases (*.kdb) Baze podataka KeePass (*.kdb) All Files (*) Sve datoteke (*) Title: Naslov: File: Datoteka: Browse... Razgledaj... AutoTypeDlg Group Grupa Title Naslov Username Korisničko ime Auto-Type Automatsko kucanje KeePassX - Auto-Type KeePassX - Automatsko-kucanje Click on an entry to auto-type it. Klikni na stavku da bi se automatski otkucala. CDbSettingsDlg Settings Podešavanja AES(Rijndael): 256 Bit (default) AES(Rijndael): 256 bitova (podrazumevano) Twofish: 256 Bit Twofish: 256 bitova Warning Upozorenje Please determine the number of encryption rounds. Molim odredite broj ciklusa enkripcije. OK U redu Error Greška '%1' is not valid integer value. %1 nije valjani ceo broj (integer). The number of encryption rounds have to be greater than 0. Broj ciklusa enkripcije mora biti veći od 0. CEditEntryDlg Today Danas 1 Week 1 nedelja 2 Weeks 2 nedelje 3 Weeks 3 nedelje 1 Month 1 mesec 3 Months 3 meseca 6 Months 6 meseci 1 Year 1 godina Calendar... Kalendar... %1 Bit %1 bit(ova) New Entry Nova stavka Edit Entry Izmeni stavku Warning Upozorenje Password and password repetition are not equal. Please check your input. Ponovo uneta lozinka se ne podudara sa zadatom lozinkom. Proverite unos molim. OK U redu [Untitled Entry] [Neimenovana stavka] Add Attachment... Dodaj prilog... Error Greška Could not open file. Nisam mogao da otvorim datoteku. The chosen entry has no attachment or it is empty. Izabrana stavka nema priloga ili je prazna. Save Attachment... Sačuvaj prilog... Error while writing the file. Greška tokom upisivanja datoteke. Delete Attachment? Obrisati prilog? You are about to delete the attachment of this entry. Are you sure? Želite da obrišete prilog uz ovu stavku. Jeste li sigurni? Yes Da No, Cancel Ne, poništi CGenPwDialog Password Generator Generator lozinke %1 Bits %1 bitova CSelectIconDlg Replace... Zameni... Delete Obriši Add Custom Icon Dodaj prilagođenu ikonu Pick Izaberi Add Icons... Dodaj ikone... Images (%1) Slike (%1) %1: File could not be loaded. Datoteka %1 ne može da se učita. Error Greška An error occured while loading the icon(s): Došlo je do greške tokom učitavanja ikon(e/a): An error occured while loading the icon. Došlo je do greške tokom učitavanja ikone. CSettingsDlg Settings Podešavanja Select a directory... Izaberi direktorijum... Select an executable... Izaberi izvršnu datoteku... System Language Sistemski jezik CalendarDialog Calendar Kalendar CollectEntropyDlg Entropy Collection Sakupljanje entropije Random Number Generator Generator slučajnih brojeva Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected. Skupljam entropiju... Molim da pomerate miša i/ili pritiskate neke tastere dok se ne sakupi dovoljno entropije za usađivanje u generator slučajnih brojeva. <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Skup slučajnih brojeva je uspešno regenerisan!</span></p></body></html> CustomizeDetailViewDialog Group Grupa Title Naslov Username Korisničko ime Password Lozinka Url Url Comment Napomena Attachment Name Ime priloga Creation Date Datum kreiranja Last Access Date Datum poslednjeg pristupanja Last Modification Date Dauom poslednje izmene Expiration Date Datum isteka Time till Expiration Vreme do isteka Dialog Dijalog Rich Text Editor Urednik za Rich Text Bold Istaknuto (bold) B B Italic Iskošeno (kurziv/italik) I I Underlined Podvučeno (underlined) U U Left-Aligned Levo poravnanje L L Centered Centrirano C C Right-Aligned Desno poravnanje R D Justified Obostrano poravnanje (justified) Text Color Boja teksta Font Size Veličina slova 6 6 7 7 8 8 9 9 10 10 11 11 12 12 14 14 16 16 18 18 20 20 22 22 24 24 26 26 28 28 36 36 42 42 78 78 Templates Uzorci (templates) T U HTML HTML Database Never Nikad DatabaseSettingsDlg Database Settings Podešavanja baze podataka Encryption Enkripcija Algorithm: Algoritam: Encryption Rounds: Ciklusi enkripcije: Calculate rounds for a 1-second delay on this computer Izračunaj cikluse za kašnjenje od 1 sekunde na ovom računaru DetailViewTemplate Group: Grupa: Title: Naslov: Username: Korisničko ime: Password: Lozinka: URL: URL: Creation: Kreirano: Last Access: Poslednji pristup: Last Modification: Poslednja izmena: Expiration: Ističe: Comment: Napomena: Group Grupa Title Naslov Username Korisničko ime Password Lozinka URL URL Creation Kreirano Last Access Poslednji pristup Last Modification Expiration Comment Napomena EditEntryDialog Edit Entry Izmena stavke Ge&n. Ge&n. Quality: Kvalitet: Attachment: Prilog: Title: Naslov: Username: Korisničko ime: Comment: Napomena: URL: URL: Group: Grupa: Repeat: Ponovite lozinku: Password: Lozinka: Expires: Ističe: %1 %1 Never Nikad %1 Bit %1 bit(ova) Icon: Ikona: EditGroupDialog Group Properties Svojstva grupe Icon: Ikona: Title: Naslov: > > ExpiredEntriesDialog Expired Entries in the Database Istekle stavke u bazi podataka Expired Entries Istekle stavke Double click on an entry to jump to it. Dvoklik na stavku da pređete na nju. Group Grupa Title Naslov Username Korisničko ime Expired Isteklo Export_KeePassX_Xml XML Files (*.xml) XML datoteke (*.xml) All Files (*) Sve datoteke (*) KeePassX XML File KeePassX XML datoteka Export_Txt All Files (*) Sve datoteke (*) Text Files (*.txt) Tekstualne datoteke (*.txt) Text File Tekstualna datoteka ExporterBase Export File... Izvezi datoteku... Export Failed Neuspeo izvoz FileErrors No error occurred. Bez greške. An error occurred while reading from the file. Došlo je do greške prilikom čitanja iz datoteke. An error occurred while writing to the file. Došlo je do greške prilikom upisivanja u datoteku. A fatal error occurred. Desila se fatalna greška. An resource error occurred. Desila se greška resursa. The file could not be opened. Datoteka se ne može otvoriti. The operation was aborted. Operacija je prekinuta. A timeout occurred. Došlo je do isteka vremenskog ograničenja (timeout). An unspecified error occurred. Desila se nespecificirana geška. The file could not be removed. Datoteka se nije mogla ukloniti. The file could not be renamed. Datoteka se nije mogla preimenovati. The position in the file could not be changed. Položaj u datoteci se nije mogao promeniti. The file could not be resized. Veličina datoteke se nije mogla promeniti. The file could not be accessed. Datoteci se nije moglo pristupiti. The file could not be copied. Datoteka se nije mogla prepisati. GenPwDlg Password Generator Generator lozinke Random Slučajni izbor Use following character groups: Upotrebi sledeće grupe znakova: &Lower Letters &Mala slova &Underline &Podvučeno &Numbers &Brojevi &White Spaces &Praznine &Upper Letters &Velika slova &Minus &Minus &Special Characters &Specijalni znaci Exclude look-alike characters Isključi slične znakove Ensure that password contains characters from every group Osiguraj da lozinka sadrži znakove iz svake grupe Pronounceable Izgovorljivo Lower Letters Mala slova Upper Letters Velika slova Numbers Brojevi Special Characters Specijalni znaci Custom Prilagođeno Use the following characters: Koristi sledeće znakove: Options Opcije Length: Dužina: Quality: Kvalitet: Enable entropy collection Omogući sakupljanje entropije Collect only once per session Sakupljaj samo jednom po sesiji New Password: Nova lozinka: Generate Generiši HelpDlg Help Contents Sadržaj uputstava Previous Page Prethodna strana Next Page Sledeća strana First Page Prva strana Import_KWalletXml XML Files (*.xml) XML datoteke (*.xml) All Files (*) Sve datoteke (*) Import Failed Neuspeo uvoz Invalid XML data (see stdout for details). Neispravni XML podaci (vidi detalje u stdout). Invalid XML file. Neispravna XML datoteka. Document does not contain data. Dokument ne sadrži podatke. Import_KeePassX_Xml KeePass XML Files (*.xml) KeePassX XML datoteke (*.xml) All Files (*) Sve datoteke (*) Import Failed Neuspeo uvoz XML parsing error on line %1 column %2: %3 Došlo je do greške u XML razlaganju u redu %1 koloni %2: XML parsing error %3 Parsing error: File is no valid KeePassX XML file. Greška u razlaganju: Datoteka nije ispravna KeePassX XML datoteka. Import_PwManager PwManager Files (*.pwm) PwManager datoteke (*.pwm) All Files (*) Sve datoteke (*) Import Failed Neuspeo uvoz File is empty. Datoteka je prazna. File is no valid PwManager file. Datoteka nije ispravna PwManager datoteka. Unsupported file version. Nepodržana verzija datoteke. Unsupported hash algorithm. Nepopdržan "hash" algoritam. Unsupported encryption algorithm. Nepopdržan algoritam za enkripciju. Compressed files are not supported yet. Komprimovane datoteke još uvek nisu podržane. Wrong password. Pogrešna lozinka. File is damaged (hash test failed). Datoteka je oštećena ("hash" test nije uspeo). Invalid XML data (see stdout for details). Neispravni XML podaci (vidi detalje u stdout). ImporterBase Import File... Uvezi datoteku... Import Failed Neuspeo uvoz Kdb3Database Could not open file. Nisam mogao da otvorim datoteku. Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Neočekivana veličina datoteke (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature Pogrešan potpis Unsupported File Version. Nepodržana verzija datoteke. Unknown Encryption Algorithm. Nepoznat algoritam za enkripciju. Unable to initialize the twofish algorithm. Nisam u mogućnosti da inicijalizujem "twofish" algoritam. Unknown encryption algorithm. Nepoznat algoritam za enkripciju. Decryption failed. The key is wrong or the file is damaged. Dekripcija nije uspela. Ključ je pogrešan ili je datoteka oštećena. Hash test failed. The key is wrong or the file is damaged. "Hash" test nije uspeo. Ključ je pogrešan ili je datoteka oštećena. Unexpected error: Offset is out of range. Neočekivana greška: Ofset je izvan opsega. Invalid group tree. Neispravno grupno stablo. Key file is empty. Datoteka sa ključem je prazna. The database must contain at least one group. Baza podataka mora da sadrži najmanje jednu grupu. The database has been opened read-only. Baza podataka je otvorena samo za čitanje. Kdb3Database::EntryHandle Bytes Bajtova KiB KB MiB MB GiB GB KeepassEntryView Title Naslov Username Korisničko ime URL URL Password Lozinka Comments Napomene Expires Ističe Creation Kreirano Last Change Poslednja izmena Last Access Poslednji pristup Attachment Prilog Group Grupa Are you sure you want to delete this entry? Jeste li sigurni da želite da obrišete ovu stavku? Are you sure you want to delete these %1 entries? Jeste li sigurni da želite da obrišete ove(ih) %1 stavke(i)? Delete? Obrisati? Error Greška At least one group must exist before adding an entry. Mora postojati bar jedna grupa pre dodavanja stavke. OK U redu KeepassGroupView Search Results Rezultati pretrage Delete? Obrisati? Are you sure you want to delete this group, all its child groups and all their entries? Jeste li sigurni da želite da obrišete ovu grupu, njene podređene grupe i sve njihove stavke? KeepassMainWindow Show &Toolbar Prikaži &alate Ctrl+N Ctrl+O Ctrl+W Ctrl+S Ctrl+L Ctrl+Q Ctrl+G Ctrl+C Ctrl+B Ctrl+U Ctrl+I Ctrl+Y Ctrl+E Ctrl+D Ctrl+K Ctrl+F Ctrl+P Ctrl+X Ctrl+V Shift+Ctrl+S Shift+Ctrl+F Error Greška The database file does not exist. Baza podataka ne postoji. Database locked Baza podataka je zaključana The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway? Baza podataka koju pokušavate da otvorite je zaključana. Ovo znači da je ili neko drugi otvorio datoteku ili se KeePassX skršio kad je poslednji put otvarao bazu. Da li želite da je otvorite, kako god bilo? Open read-only Otvori samo za čitanje Unknown error while loading database. Nepoznata greška tokom učitavanja baze podataka. The following error occured while opening the database: Tokom otvaranja baze podataka došlo je do sledeće greške: Save modified file? Sačuvati izmenjenu datoteku? The current file was modified. Do you want to save the changes? Tekuća datoteka je izmenjena. Da li želite da sačuvate izmene? Couldn't remove database lock file. Nisam mogao da uklonim datoteku za zaključavanje baze podataka. Open Database... Otvori bazu podataka... KeePass Databases (*.kdb) Baze podataka KeePass (*.kdb) All Files (*) Sve datoteke (*) Expired Istekla 1 Month 1 mesec %1 Months %1 mesec(a/i) 1 Year 1 godina %1 Years %1 godina 1 Day 1 dan %1 Days %1 dana less than 1 day manje od 1 dan Clone Entry Klonirati stavku Delete Entry Obrisati stavku Clone Entries Klonirati stavke Delete Entries Obrisati stavke File could not be saved. Datoteka se nije mogla sačuvati. Save Database... Sačuvaj bazu podataka... Couldn't create database lock file. Nisam mogao da kreiram datoteku za zaključavanje baze podataka. Un&lock Workspace &Otključaj radni prostor &Lock Workspace &Zaključaj radni prostor Ready Spreman Loading Database... Učitavam bazu podataka... Loading Failed Neuspelo učitavanje Couldn't create lock file. Opening the database read-only. Nisam mogao da kreiram datoteku za zaključavanje. Otvram bazu podataka samo za čitanje. new novo locked zaključano Ctrl+M Main Error Greška File '%1' could not be found. Datoteka '%1' se ne može pronaći. MainWindow KeePassX KeePassX Groups Grupe &Help &Pomoć &File &Datoteka &Export to... &Izvezi u... &Import from... &Uvezi iz... &Bookmarks &Označivači &Entries &Stavke &View &Pogled Toolbar &Icon Size Veličina &ikona za alate &Columns &Kolone E&xtras &Dodaci &Groups &Grupe &Manage Bookmarks... &Upravljanje označivačima... &Open Database... &Otvori bazu podataka... &Close Database &Zatvori bazu podataka &Save Database &Sačuvaj bazu podataka Save Database &As... Sačuvaj bazu podataka &kao... &Database Settings... &Podešavanja baze podataka... Change &Master Key... Promeni &glavni ključ... &Lock Workspace &Zaključaj radni prostor &Quit &Završi &Add New Subgroup... &Dodaj novu podgrupu... &Edit Group... &Izmeni grupu... &Delete Group &Obriši grupu Copy Password &to Clipboard Ne pada mi na pamet nikakav prihvatljiv'prevod za metaforu Clipboard. Doslovni smisaoni prevod ove metafore je preglomazan: privremeno memorijsko skladište. Prepiši &lozinku u Clipboard Copy &Username to Clipboard Ne pada mi na pamet nikakav prihvatljiv'prevod za metaforu Clipboard. Doslovni smisaoni prevod ove metafore je preglomazan: privremeno memorijsko skladište. Prepiši &korisničko ime u Clipboard &Open URL &Otvori URL &Save Attachment As... &Sačuvaj prilog kao... Add &New Entry... Dodaj &novu stavku... &View/Edit Entry... &Pregledaj/izmeni stavku... De&lete Entry O&briši stavku &Clone Entry &Kloniraj stavku Search &in Database... &Traži u bazi podataka... Search in this &Group... Traži u ovoj &grupi... Show &Entry Details Prikaži &detalje stavke Hide &Usernames Sakrij &imena korisnika Hide &Passwords Sakrij &lozinke &Title &Naslov User&name Korisničko &ime &URL &URL &Password &Lozinka &Comment &Napomena E&xpires &Ističe C&reation &Kreirano &Last Change Poslednja &izmena Last &Access Poslednji &pristup A&ttachment &Prilog &Settings... &Podešavanja... &About... &O programu... Show &Statusbar Prikaži &statusni red &KeePassX Handbook... KeePassX &priručnik... Hide Sakrij &Perform AutoType Izvedi &automatsko kucanje &16x16 &16x16 &22x22 &22x22 2&8x28 2&8x28 &New Database... &Nova baza podataka... &Password Generator... &Generator lozinke... &Group G&rupa Show &Expired Entries... Prikaži &istekle stavke... Recycle Bin... Korpa za otpatke... &Add Bookmark... Dodaj &označivač... Bookmark &this Database... Postavi označivač za &ovu bazu podataka... Copy URL to Clipboard Ne pada mi na pamet nikakav prihvatljiv'prevod za metaforu Clipboard. Doslovni smisaoni prevod ove metafore je preglomazan: privremeno memorijsko skladište. Prepiši URL u Clipboard Add New Group... Dodaj novu grupu... Sort groups Sortiraj grupe &Minimize Window ManageBookmarksDlg Manage Bookmarks Upravljanje označivačima PasswordDialog Enter Master Key Unesi glavni ključ Set Master Key Podesi glavni ključ Change Master Key Promeni glavni ključ Database Key Ključ baze podataka Last File Poslednja datoteka Select a Key File Izaberi datoteku sa ključem All Files (*) Sve datoteke (*) Key Files (*.key) Datoteke sa ključem (*.key) Please enter a Password or select a key file. Molim unesite lozinku ili odaberite datoteku sa ključem. Please enter a Password. Molim unesite lozinku. Please provide a key file. Dostavite datoteku sa ključem molim. %1: No such file or directory. %1: Ne postoji takva datoteka niti direktorijum. The selected key file or directory is not readable. Izabrana datoteka sa ključem ili direktorijum nisu čitljivi. The given directory does not contain any key files. Zadati direktorijum ne sadrži datoteke sa ključem. The given directory contains more then one key files. Please specify the key file directly. Zadati direktorijum sadrži više od jedne datoteke sa ključem. Molim vas da direktno navedete datoteku sa ključem. %1: File is not readable. %1: Datoteka je nečitljiva. Create Key File... Napravi datoteku sa ključem... PasswordDlg Last File Poslednja datoteka Enter a Password and/or choose a key file. Unesite lozinku i/ili odaberite datoteku sa ključem. Key Ključ Password: Lozinka: Key File: Datoteka sa ključem: &Browse... &Razgledaj... Generate Key File... Generiši datoteku sa ključem... Please repeat your password: Molim vas da ponovite vašu lozinku: Back Nazad Passwords are not equal. Lozinke nisu iste. SearchDialog Search Traži Search_Dlg Search... Traži... Include: Uključi: Pass&words &Lozinke A&nhang A&nhang U&RLs &URL(ovi) C&omments &Napomene &Usernames &Korisnička imena &Titles N&aslovi &Case Sensitive Razlikuj &veličinu slova Regular E&xpression &Regularni izraz Include Subgroups (recursive) Uključi podgrupe (rekurzivno) Search For: Traži: SelectIconDlg Icon Selection Izbor ikona SettingsDialog Settings Podešavanja General (1) Opšta (1) General (2) Opšta (2) Appearance Izgled Language Jezik Security Bezbednost Advanced Napredno Show system tray icon Prikaži ikonu u sistemskoj fioci (system tray) Minimize to tray instead of taskbar Minimiziraj u fioku (tray) umesto u red zadataka (Taskbar) Remember last opened file Upamti poslednju otvorenu datoteku Remember last key type and location Upamti poslednji tip ključa i lokaciju Start minimized Započni minimiziran Start locked Započni zaključan Save recent directories of file dialogs Sačuvaj skorašnje direktorijume dijaloga o datotekama Clear History Now Obriši istoriju odmah Always ask before deleting entries or groups Uvek pitaj pre brisanja stavki ili grupa Save backups of modified entries into the 'Backup' group Sačuvaj rezervne kopije izmenjenih stavki u 'Backup' grupi Delete backup entries older than: Obriši rezervne kopjie stavki starije od: days dana Automatically save database on exit and workspace locking Automatski sačuvaj bazu podataka i status radnog prostora pri izlasku iz programa Automatically save database after every change Automatski sačuvaj bazu podataka posle svake izmene Banner Color Boja trake (banner-a) Text Color: Boja teksta: Change... Izmeni... Color 2: Boja 2: C&hange... &Izmeni... Color 1: Boja 1: Show window always on top Uvek prikaži prozor povrh ostalih Alternating Row Colors Oboji naizmenične redove ("zebra" stil) Customize Entry Detail View... Prilagodi pogled na detalje stavke... Group tree at start-up: Grupno stablo prilkom započinjanja: Restore last state Uspostavi poslednje stanje Expand all items Otvori sve redove Do not expand any item Ne otvaraj nijedan red Language: Jezik: Author: Autor: Show plain text passwords in: Prikaži tekstualne lozinke u: Edit Entry Dialog Dijalogu za izmenu stavke Database Key Dialog Dijalogu za ključ baze podataka Clear clipboard after: Ne pada mi na pamet nikakav prihvatljiv'prevod za metaforu Clipboard. Doslovni smisaoni prevod ove metafore je preglomazan: privremeno memorijsko skladište. Očisti Clipboard posle: seconds sekundi Lock workspace when minimizing the main window Zaključaj radni prostor prilikom minimiziranja glavnog prozora Lock database after inactivity of Zaključaj bazu podataka nakon neaktivnosti od Custom Browser Command Prilagođena komanda pregledača (browser-a) Browse Razgledaj Media Root: Koren medijuma: The directory where storage devices like CDs and memory sticks are normally mounted. Direktorijum gde se uobičajeno montiraju spremišni uređaji kao što su CD-ovi i memorijski štapići. Browse... Razgledaj... Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system. Osposobite ovu opciju ako želite da koristite vaše označivače i poslednju otvorenu datoteku nezavisno od njihovih apsolutnih putanja. Ovo je naročito korisno kada koristite KeePass kao prenosiv i samim tim sa promenljivim tačkama montiranja u sistem datoteka. Save relative paths (bookmarks and last file) Sačuvaj relativne putanje (označivači i poslednja datoteka) Auto-Type Fine Tuning Fino podešavanje automatskog kucanja Time between the activation of an auto-type action by the user and the first simulated key stroke. Vreme između aktivacije akcije automatskog kucanja od strane korisnika i prvog simuliranog pritiska na taster. ms ms Pre-Gap: Prethodni razmak: Key Stroke Delay: Kašnjenje pritiska na taster: Delay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters. Kašnjenje između dva simulirana pritiska na taster. Povećajte ovaj parametar ako automatsko kucanje povremeno preskače znakove. Global Auto-Type Shortcut: Globalna prečica za automatsko kucanje: Use entries' title to match the window for Global Auto-Type Upotrebi naslov stavki da odgovara prozoru za Globalno automatsko kucanje You can disable several features of KeePassX here according to your needs in order to keep the user interface slim. Ovde možete onesposobiti nekoliko funkcionalnosti KeePassX-a u skladu sa vašim potrebama da bi ste očuvali jednostavnost korisničkog interfejsa. Bookmarks Označivači Plug-Ins Priključci (Plug-Ins) None Ništa Gnome Desktop Integration (Gtk 2.x) Integracija sa Gnome Desktop-om (Gtk 2.x) KDE 4 Desktop Integration Integracija sa KDE 4 Desktop-om You need to restart the program before the changes take effect. Morate restartovati program pre primene izmena. Configure... Konfiguriši... Minimize to tray when clicking the main window's close button ShortcutWidget Ctrl Ctrl Shift Shift Alt Alt AltGr AltGr Win Win SimplePasswordDialog Enter your Password Unesite vašu lozinku Password: Lozinka: TargetWindowDlg Auto-Type: Select Target Window Automatsko upisivanje: Izaberite ciljni prozor To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually: Da navedete ciljni prozor ili odaberite postojeći već otvoreni prozor iz padajuće liste, ili ručno unesite naslov prozora: Translation $TRANSLATION_AUTHOR Ljubomir Ćirović $TRANSLATION_AUTHOR_EMAIL Here you can enter your email or homepage if you want. ljubacirovic@sezampro.yu $LANGUAGE_NAME Insert your language name in the format: English (United States) Srpski latinica (Srbija) WorkspaceLockedWidget Form Obrazac <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Radni prostor je zaključan.</span></p></body></html> Unlock Otključaj Close Database Zatvori bazu podataka keepassx-0.4.3/src/main.h0000664000175000017500000000500111161476421014226 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MAIN_H_ #define _MAIN_H_ #include "mainwindow.h" QString findPlugin(const QString& filename); void loadImages(); void initAppPaths(int argc, char **argv); class CmdLineArgs { public: CmdLineArgs(); bool parse(const QStringList& argv); bool preparse(int argc,char** argv); static void printHelp(); QString error() {return Error;} QString file() {return File;} QString configLocation() {return ConfigLocation;} QString language() {return Language;} bool startMinimized() {return StartMinimized;} bool startLocked() {return StartLocked;} bool help() {return Help;} void setFile(const QString& filename) {File = filename;}; private: QString Error; QString File; QString ConfigLocation; QString Language; bool StartMinimized; bool StartLocked; bool Help; }; class EventListener : public QObject { Q_OBJECT #ifdef Q_WS_MAC public: EventListener() { pMainWindow = NULL; }; inline QString file() { return pFile; }; inline void setMainWin(KeepassMainWindow* mainWin) { pMainWindow = mainWin; }; private: QString pFile; KeepassMainWindow* pMainWindow; #endif protected: bool eventFilter(QObject*, QEvent* event); }; #endif keepassx-0.4.3/src/CMakeLists.txt0000664000175000017500000001163311253203624015674 0ustar felixfelix# CMake is still experimental, use qmake instead SET(keepassx_HEADERS main.h mainwindow.h Database.h Kdb3Database.h lib/EntryView.h lib/FileDialogs.h lib/GroupView.h lib/ShortcutWidget.h lib/UrlLabel.h lib/WaitAnimationWidget.h dialogs/AboutDlg.h dialogs/AddBookmarkDlg.h dialogs/CalendarDlg.h dialogs/CollectEntropyDlg.h dialogs/CustomizeDetailViewDlg.h dialogs/DatabaseSettingsDlg.h dialogs/EditEntryDlg.h dialogs/EditGroupDlg.h dialogs/ExpiredEntriesDlg.h dialogs/HelpDlg.h dialogs/ManageBookmarksDlg.h dialogs/PasswordDlg.h dialogs/PasswordGenDlg.h dialogs/SearchDlg.h dialogs/SelectIconDlg.h dialogs/SettingsDlg.h dialogs/SimplePasswordDlg.h # dialogs/TrashCanDlg.h import/Import.h # import/Import_GnuKeyRing.h import/Import_KeePassX_Xml.h import/Import_KWalletXml.h import/Import_PwManager.h export/Export.h export/Export_KeePassX_Xml.h export/Export_Txt.h ) SET(keepassx_SOURCES main.cpp mainwindow.cpp KpxConfig.cpp Database.cpp Kdb3Database.cpp lib/bookmarks.cpp lib/EntryView.cpp lib/FileDialogs.cpp lib/GroupView.cpp lib/random.cpp lib/SecString.cpp lib/ShortcutWidget.cpp lib/tools.cpp lib/UrlLabel.cpp lib/WaitAnimationWidget.cpp crypto/aescrypt.c crypto/aeskey.c crypto/aes_modes.c crypto/aestab.c crypto/arcfour.cpp crypto/blowfish.cpp crypto/sha256.cpp crypto/twoclass.cpp crypto/twofish.cpp crypto/yarrow.cpp apg/convert.c apg/pronpass.c apg/randpass.c dialogs/AboutDlg.cpp dialogs/AddBookmarkDlg.cpp dialogs/CalendarDlg.cpp dialogs/CollectEntropyDlg.cpp dialogs/CustomizeDetailViewDlg.cpp dialogs/DatabaseSettingsDlg.cpp dialogs/EditEntryDlg.cpp dialogs/EditGroupDlg.cpp dialogs/ExpiredEntriesDlg.cpp dialogs/HelpDlg.cpp dialogs/ManageBookmarksDlg.cpp dialogs/PasswordDlg.cpp dialogs/PasswordGenDlg.cpp dialogs/SearchDlg.cpp dialogs/SelectIconDlg.cpp dialogs/SettingsDlg.cpp dialogs/SimplePasswordDlg.cpp # dialogs/TrashCanDlg.cpp import/Import.cpp # import/Import_GnuKeyRing.cpp import/Import_KeePassX_Xml.cpp import/Import_KWalletXml.cpp import/Import_PwManager.cpp export/Export.cpp export/Export_KeePassX_Xml.cpp export/Export_Txt.cpp ) SET(keepassx_FORMS forms/AboutDlg.ui forms/AddBookmarkDlg.ui forms/CalendarDlg.ui forms/CollectEntropyDlg.ui forms/CustomizeDetailViewDlg.ui forms/DatabaseSettingsDlg.ui forms/EditEntryDlg.ui forms/EditGroupDlg.ui forms/ExpiredEntriesDlg.ui forms/HelpDlg.ui forms/MainWindow.ui forms/ManageBookmarksDlg.ui forms/PasswordDlg.ui forms/PasswordGenDlg.ui forms/SearchDlg.ui forms/SelectIconDlg.ui forms/SettingsDlg.ui forms/SimplePasswordDlg.ui # forms/TrashCanDlg.ui forms/WorkspaceLockedWidget.ui ) SET(keepassx_RESOURCES res/resources.qrc) set(keepassx_TRANSLATIONS # translations/keepassx-cs_CZ.ts translations/keepassx-de_DE.ts translations/keepassx-es_ES.ts translations/keepassx-fi_FI.ts translations/keepassx-fr_FR.ts translations/keepassx-gl_ES.ts translations/keepassx-hu_HU.ts translations/keepassx-it_IT.ts translations/keepassx-ja_JP.ts translations/keepassx-nb_NO.ts translations/keepassx-nl_NL.ts translations/keepassx-pl_PL.ts translations/keepassx-ru_RU.ts translations/keepassx-tr_TR.ts translations/keepassx-uk_UA.ts translations/keepassx-zh_CN.ts translations/qt_fi.ts translations/qt_hu.ts translations/qt_it.ts translations/qt_nl.ts translations/qt_tr.ts ) #IF( MINGW ) # SET(keepassx_SOURCES ${keepassx_SOURCES} main_win32.cpp) #ELSEIF( APPLE ) # SET(keepassx_SOURCES ${keepassx_SOURCES} main_macx.cpp) #ELSE( MINGW ) # SET(keepassx_SOURCES ${keepassx_SOURCES} main_unix.cpp) #ENDIF( MINGW ) IF( AUTOTYPE ) SET(keepassx_HEADERS ${keepassx_HEADERS} Application_X11.h dialogs/AutoTypeDlg.h lib/AutoTypeTreeWidget.h dialogs/TargetWindowDlg.h) SET(keepassx_SOURCES ${keepassx_SOURCES} lib/HelperX11.cpp lib/AutoTypeX11.cpp Application_X11.cpp lib/AutoTypeGlobalX11.cpp dialogs/AutoTypeDlg.cpp lib/AutoTypeTreeWidget.cpp dialogs/TargetWindowDlg.cpp) SET(keepassx_FORMS ${keepassx_FORMS} forms/AutoTypeDlg.ui forms/TargetWindowDlg.ui) ENDIF( AUTOTYPE ) IF( NOT PRECOMPILED_HEADER ) ADD_DEFINITIONS(-include keepassx.h) ENDIF( NOT PRECOMPILED_HEADER ) INCLUDE_DIRECTORIES(. lib crypto plugins/interfaces export import dialogs ${CMAKE_CURRENT_BINARY_DIR}) QT4_ADD_RESOURCES( keepassx_RESOURCES_SOURCES ${keepassx_RESOURCES} ) QT4_WRAP_UI( keepassx_FORMS_HEADERS ${keepassx_FORMS} ) QT4_WRAP_CPP( keepassx_HEADERS_MOC ${keepassx_HEADERS} ) ADD_EXECUTABLE( ${PROGNAME} WIN32 MACOSX_BUNDLE ${keepassx_SOURCES} ${keepassx_HEADERS_MOC} ${keepassx_RESOURCES_SOURCES} ${keepassx_FORMS_HEADERS} ${keepassx_RCS} ) IF( PRECOMPILED_HEADER ) ADD_PRECOMPILED_HEADER(${PROGNAME} keepassx.h) ENDIF( PRECOMPILED_HEADER ) TARGET_LINK_LIBRARIES(${PROGNAME} ${QT_LIBRARIES} ${AUTOTYPE_LIBRARIES}) QT4_ADD_TRANSLATION(QM_FILES ${keepassx_TRANSLATIONS}) ADD_CUSTOM_TARGET(translations ALL DEPENDS ${QM_FILES}) INSTALL(TARGETS ${PROGNAME} DESTINATION ${BINDIR}) INSTALL(FILES ${QM_FILES} DESTINATION ${SHAREDIR}/i18n) keepassx-0.4.3/src/lib/0000775000175000017500000000000011344562542013706 5ustar felixfelixkeepassx-0.4.3/src/lib/bookmarks.h0000664000175000017500000000370211067675267016064 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _BOOKMARKS_H_ #define _BOOKMARKS_H_ class KpxBookmarks { public: static void load(); static int add(const QString& Title,const QString& Path); static void remove(int id); static void edit(const QString& Title,const QString& Path, int Index); static int count(); static void resort(QList order); static QString title(int Index); static QString path(int Index); private: static void save(); class BookmarkEntry { public: QString Title; QString Path; int Index; }; static QList Bookmarks; static QString filename; }; #endif keepassx-0.4.3/src/lib/UrlLabel.h0000664000175000017500000000345410766561023015567 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _LINKLABEL_H_ #define _LINKLABEL_H_ class LinkLabel : public QLabel{ Q_OBJECT public: LinkLabel(QWidget *parent,const QString& text=QString::null, int x=0, int y=0,Qt::WFlags f=0); ~LinkLabel(); void setPos(int x,int y); QString url(); public slots: virtual void setText(const QString&); signals: void clicked(); protected: virtual void mouseReleaseEvent(QMouseEvent* event); private: QString URL; }; #endif keepassx-0.4.3/src/lib/random.cpp0000664000175000017500000000654511221676247015706 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "random.h" #if defined(Q_WS_X11) || defined(Q_WS_MAC) #include #elif defined(Q_WS_WIN) #include #include #include #endif #include #include #include #include void initStdRand(); bool getNativeEntropy(quint8* buffer, int length); void getEntropy(quint8* buffer, int length){ if (!getNativeEntropy(buffer, length)) { qWarning("Entropy collection failed, using fallback"); initStdRand(); for(int i=0;i #include #define INSERT_AREA_WIDTH 4 KeepassGroupView::KeepassGroupView(QWidget* parent):QTreeWidget(parent){ db=NULL; ContextMenu=new QMenu(this); ContextMenuSearchGroup=new QMenu(this); connect(this,SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),this,SLOT(OnCurrentGroupChanged(QTreeWidgetItem*))); connect(this,SIGNAL(itemExpanded(QTreeWidgetItem*)),this,SLOT(OnItemExpanded(QTreeWidgetItem*))); connect(this,SIGNAL(itemCollapsed(QTreeWidgetItem*)),this,SLOT(OnItemCollapsed(QTreeWidgetItem*))); } void KeepassGroupView::createItems(){ clear(); Items.clear(); InsLinePos=-1; QList groups=db->groups(); for(int i=0;iparent()==NULL){ Items.append(new GroupViewItem(this)); Items.back()->setText(0,groups[i]->title()); Items.back()->GroupHandle=groups[i]; addChildren(Items.back()); } } for(int i=0;isetIcon(0,db->icon(Items[i]->GroupHandle->image())); Items[i]->setExpanded(Items[i]->GroupHandle->expanded()); } SearchResultItem=new GroupViewItem(); retranslateUi(); } void KeepassGroupView::retranslateUi() { SearchResultItem->setText(0,tr("Search Results")); } void KeepassGroupView::updateIcons(){ for(int i=0;isetIcon(0,db->icon(Items[i]->GroupHandle->image())); } } void KeepassGroupView::showSearchResults(){ if(topLevelItem(topLevelItemCount()-1)!=SearchResultItem){ addTopLevelItem(SearchResultItem); } setCurrentItem(SearchResultItem); emit searchResultsSelected(); } void KeepassGroupView::addChildren(GroupViewItem* item){ QListchildren=item->GroupHandle->children(); if(!children.size()) return; for(int i=0; isetText(0,children[i]->title()); Items.back()->GroupHandle=children[i]; addChildren(Items.back()); } } void KeepassGroupView::OnDeleteGroup(){ if(config->askBeforeDelete()){ if(QMessageBox::question(this,tr("Delete?"), tr("Are you sure you want to delete this group, all its child groups and all their entries?"), QMessageBox::Yes | QMessageBox::No,QMessageBox::No) == QMessageBox::No) return; } GroupViewItem* item=(GroupViewItem*)currentItem(); if(item){ db->deleteGroup(item->GroupHandle); delete item; emit fileModified(); } } void KeepassGroupView::OnHideSearchResults(){ takeTopLevelItem(topLevelItemCount()-1); } void KeepassGroupView::OnNewGroup(){ CGroup NewGroup; CEditGroupDialog dlg(db,&NewGroup,parentWidget()); if(dlg.exec()) createGroup(NewGroup.Title, NewGroup.Image, NULL); } void KeepassGroupView::OnNewSubgroup(){ GroupViewItem* parent=(GroupViewItem*)currentItem(); CGroup NewGroup; CEditGroupDialog dlg(db,&NewGroup,parentWidget()); if(dlg.exec()) createGroup(NewGroup.Title, NewGroup.Image, parent); } void KeepassGroupView::createGroup(const QString& title, quint32 image, GroupViewItem* parent){ CGroup NewGroup; NewGroup.Title = title; NewGroup.Image = image; IGroupHandle* group; if(parent){ group=db->addGroup(&NewGroup,parent->GroupHandle); Items.append(new GroupViewItem(parent)); } else{ if(topLevelItemCount()){ int i=1; if(topLevelItem(topLevelItemCount()-i)==SearchResultItem) i++; if(title!="Backup" && topLevelItem(topLevelItemCount()-i)->text(0)=="Backup") i++; Items.append(new GroupViewItem(this,topLevelItem(topLevelItemCount()-i))); } else Items.append(new GroupViewItem(this)); group = db->addGroup(&NewGroup,NULL); } Items.back()->GroupHandle = group; Items.back()->setText(0, group->title()); Items.back()->setIcon(0, db->icon(group->image())); emit fileModified(); } void KeepassGroupView::OnEditGroup(){ GroupViewItem* item=(GroupViewItem*)currentItem(); CEditGroupDialog dlg(db,item->GroupHandle,parentWidget()); int r=dlg.exec(); if(r){ item->setIcon(0,db->icon(item->GroupHandle->image())); item->setText(0,item->GroupHandle->title()); if(r==2)emit fileModified(); } } void KeepassGroupView::contextMenuEvent(QContextMenuEvent* e){ if(!(GroupViewItem*)itemAt(e->pos())) return; e->accept(); if(currentItem()==SearchResultItem) ContextMenuSearchGroup->popup(e->globalPos()); else ContextMenu->popup(e->globalPos()); } void KeepassGroupView::OnCurrentGroupChanged(QTreeWidgetItem* cur){ if(cur){ if(cur==SearchResultItem) emit searchResultsSelected(); else emit groupChanged(((GroupViewItem*)cur)->GroupHandle); } else emit groupChanged(NULL); } void KeepassGroupView::setCurrentGroup(IGroupHandle* group){ bool found=false; int i; for(i=0;iGroupHandle==group){found=true; break;} if(!found)return; setCurrentItem(Items[i]); } void KeepassGroupView::selectFirstGroup(){ if (Items.isEmpty()) return; setCurrentItem(Items[0]); } void KeepassGroupView::dragEnterEvent ( QDragEnterEvent * event ){ LastHoverItem=NULL; InsLinePos=-1; if (event->source() == NULL) return; // drag event came from another application if(event->mimeData()->hasFormat("application/x-keepassx-group")){ DragType=GroupDrag; event->acceptProposedAction(); return; } if(event->mimeData()->hasFormat("application/x-keepassx-entry")){ DragType=EntryDrag; memcpy(&EntryDragItems,event->mimeData()->data("application/x-keepassx-entry").data(),sizeof(void*)); event->acceptProposedAction(); return; } } void KeepassGroupView::dragLeaveEvent ( QDragLeaveEvent * event ){ Q_UNUSED(event); if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem->setForeground(0,QBrush(QApplication::palette().color(QPalette::Text))); } if(InsLinePos!=-1){ int RemoveLine=InsLinePos; InsLinePos=-1; viewport()->update(QRegion(0,RemoveLine-2,viewport()->width(),4)); } } void KeepassGroupView::entryDropEvent( QDropEvent * event ){ GroupViewItem* Item=(GroupViewItem*)itemAt(event->pos()); if(!Item){ event->ignore(); return; } else{ if(Item->GroupHandle==((EntryViewItem*)(*EntryDragItems)[0])->EntryHandle->group()) return; for(int i=0;isize();i++){ db->moveEntry(((EntryViewItem*)(*EntryDragItems)[i])->EntryHandle,Item->GroupHandle); } emit entriesDropped(); emit fileModified(); } } void KeepassGroupView::dropEvent( QDropEvent * event ){ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem->setForeground(0,QBrush(QApplication::palette().color(QPalette::Text))); } if(DragType==EntryDrag){ entryDropEvent(event); return; } if(InsLinePos!=-1){ int RemoveLine=InsLinePos; InsLinePos=-1; viewport()->update(QRegion(0,RemoveLine-2,viewport()->width(),4)); } GroupViewItem* Item=(GroupViewItem*)itemAt(event->pos()); if(!Item){ qDebug("Append at the end"); db->moveGroup(DragItem->GroupHandle,NULL,-1); if(DragItem->parent()){ DragItem->parent()->takeChild(DragItem->parent()->indexOfChild(DragItem)); } else{ takeTopLevelItem(indexOfTopLevelItem(DragItem)); } insertTopLevelItem(topLevelItemCount(),DragItem); if(topLevelItemCount()>1){ if(topLevelItem(topLevelItemCount()-2)==SearchResultItem){ takeTopLevelItem(topLevelItemCount()-2); insertTopLevelItem(topLevelItemCount(),SearchResultItem); } } emit fileModified(); } else{ if (DragItem->GroupHandle==Item->GroupHandle) return; QRect ItemRect=visualItemRect(Item); if(event->pos().y()>ItemRect.y()+2 && event->pos().y()text(0).toUtf8().data())); db->moveGroup(DragItem->GroupHandle,Item->GroupHandle,-1); if(DragItem->parent()){ DragItem->parent()->takeChild(DragItem->parent()->indexOfChild(DragItem)); } else{ takeTopLevelItem(indexOfTopLevelItem(DragItem)); } Item->insertChild(Item->childCount(),DragItem); emit fileModified(); } else{ if(event->pos().y()>ItemRect.y()+2){ qDebug("Insert behind sibling '%s'",((char*)Item->text(0).toUtf8().data())); if(DragItem->parent()){ DragItem->parent()->takeChild(DragItem->parent()->indexOfChild(DragItem)); } else{ takeTopLevelItem(indexOfTopLevelItem(DragItem)); } if(Item->parent()){ int index=Item->parent()->indexOfChild(Item)+1; db->moveGroup(DragItem->GroupHandle,((GroupViewItem*)Item->parent())->GroupHandle,index); Item->parent()->insertChild(index,DragItem); } else{ int index=indexOfTopLevelItem(Item)+1; db->moveGroup(DragItem->GroupHandle,NULL,index); insertTopLevelItem(index,DragItem); } emit fileModified(); } else{ qDebug("Insert before sibling '%s'",((char*)Item->text(0).toUtf8().data())); if(DragItem->parent()){ DragItem->parent()->takeChild(DragItem->parent()->indexOfChild(DragItem)); } else{ takeTopLevelItem(indexOfTopLevelItem(DragItem)); } if(Item->parent()){ int index=Item->parent()->indexOfChild(Item); db->moveGroup(DragItem->GroupHandle,((GroupViewItem*)Item->parent())->GroupHandle,index); Item->parent()->insertChild(index,DragItem); } else{ int index=indexOfTopLevelItem(Item); db->moveGroup(DragItem->GroupHandle,NULL,index); insertTopLevelItem(index,DragItem); } emit fileModified(); } } } } void KeepassGroupView::entryDragMoveEvent(QDragMoveEvent* event){ GroupViewItem* Item=(GroupViewItem*)itemAt(event->pos()); if(!Item){ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem->setForeground(0,QBrush(QApplication::palette().color(QPalette::Text))); LastHoverItem=NULL; } event->ignore(); return; } if(Item==SearchResultItem){ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem->setForeground(0,QBrush(QApplication::palette().color(QPalette::Text))); LastHoverItem=NULL; } event->ignore(); return; } if(LastHoverItem != Item){ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem->setForeground(0,QBrush(QApplication::palette().color(QPalette::Text))); } Item->setBackgroundColor(0,QApplication::palette().color(QPalette::Highlight)); Item->setForeground(0,QBrush(QApplication::palette().color(QPalette::HighlightedText))); LastHoverItem=Item; } event->acceptProposedAction(); return; } void KeepassGroupView::dragMoveEvent(QDragMoveEvent* event){ if(DragType==EntryDrag){ entryDragMoveEvent(event); return; } if(DragItem){ GroupViewItem* Item=(GroupViewItem*)itemAt(event->pos()); if(!Item){ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem=NULL; } if(InsLinePos!=-1){ int RemoveLine=InsLinePos; InsLinePos=-1; viewport()->update(QRegion(0,RemoveLine-2,viewport()->width(),4)); } event->acceptProposedAction(); return; } if(Item==DragItem || Item==SearchResultItem){ event->ignore(); return; } if(!db->isParent(DragItem->GroupHandle,Item->GroupHandle)){ QRect ItemRect=visualItemRect(Item); if(event->pos().y()>ItemRect.y()+2 && event->pos().y()update(QRegion(0,RemoveLine-2,viewport()->width(),4)); } if(LastHoverItem != Item){ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); } Item->setBackgroundColor(0,QApplication::palette().color(QPalette::Highlight)); LastHoverItem=Item; } } else{ if(LastHoverItem){ LastHoverItem->setBackgroundColor(0,QApplication::palette().color(QPalette::Base)); LastHoverItem=NULL; } if(InsLinePos!=-1){ int RemoveLine=InsLinePos; InsLinePos=-1; viewport()->update(QRegion(0,RemoveLine-2,viewport()->width(),4)); } if(event->pos().y()>ItemRect.y()+2){ InsLinePos=ItemRect.y()+ItemRect.height(); } else{ InsLinePos=ItemRect.y(); } InsLineStart=ItemRect.x(); viewport()->update(QRegion(0,InsLinePos-2,viewport()->width(),4)); } event->acceptProposedAction(); return; } } event->ignore(); } void KeepassGroupView::paintEvent(QPaintEvent* event){ QTreeWidget::paintEvent(event); if(InsLinePos != -1){ QPainter painter(viewport()); painter.setBrush(QBrush(QColor(0,0,0),Qt::Dense4Pattern)); painter.setPen(Qt::NoPen); painter.drawRect(InsLineStart,InsLinePos-2,viewport()->width(),4); } } void KeepassGroupView::mousePressEvent(QMouseEvent *event){ if (event->button() == Qt::LeftButton) DragStartPos = event->pos(); QTreeWidget::mousePressEvent(event); } void KeepassGroupView::mouseMoveEvent(QMouseEvent *event){ if (!(event->buttons() & Qt::LeftButton)) return; if ((event->pos() - DragStartPos).manhattanLength() < QApplication::startDragDistance()) return; DragItem=(GroupViewItem*)itemAt(event->pos()); if(!DragItem)return; if(DragItem==SearchResultItem){ qDebug("SearchGroup"); DragItem=NULL; return; } setCurrentItem(DragItem); QDrag *drag = new QDrag(this); QMimeData *mimeData = new QMimeData; mimeData->setData("application/x-keepassx-group",QByteArray()); drag->setMimeData(mimeData); EventOccurredBlock = true; drag->exec(Qt::MoveAction); EventOccurredBlock = false; } void KeepassGroupView::OnItemExpanded(QTreeWidgetItem* item){ static_cast(item)->GroupHandle->setExpanded(true); } void KeepassGroupView::OnItemCollapsed(QTreeWidgetItem* item){ static_cast(item)->GroupHandle->setExpanded(false); } void KeepassGroupView::OnSort() { QHash oldIndex; for (int i=0; iparent()) oldIndex.insert(Items[i], Items[i]->parent()->indexOfChild(Items[i])); else oldIndex.insert(Items[i], invisibleRootItem()->indexOfChild(Items[i])); } sortItems(0, Qt::AscendingOrder); bool modified = false; QMutableHashIterator i(oldIndex); while (i.hasNext()) { i.next(); int newIndex; IGroupHandle* parent; if (i.key()->parent()) { newIndex = i.key()->parent()->indexOfChild(i.key()); parent = static_cast(i.key()->parent())->GroupHandle; } else { newIndex = invisibleRootItem()->indexOfChild(i.key()); parent = NULL; } if (newIndex != i.value()) { db->moveGroup(static_cast(i.key())->GroupHandle, parent, newIndex); modified = true; } } if (modified) emit fileModified(); } GroupViewItem::GroupViewItem():QTreeWidgetItem(){ } GroupViewItem::GroupViewItem(QTreeWidget *parent):QTreeWidgetItem(parent){ } GroupViewItem::GroupViewItem(QTreeWidget *parent, QTreeWidgetItem *preceding):QTreeWidgetItem(parent,preceding){ } GroupViewItem::GroupViewItem(QTreeWidgetItem *parent):QTreeWidgetItem(parent){ } GroupViewItem::GroupViewItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding):QTreeWidgetItem(parent,preceding){ } bool GroupViewItem::operator<(const QTreeWidgetItem& other) const { const GroupViewItem* otherItem = static_cast(&other); KeepassGroupView* groupView = static_cast(treeWidget()); // Search result is always at the bottom if (this == groupView->SearchResultItem) return false; if (otherItem == groupView->SearchResultItem) return true; // Backup group is always at the bottom but above search results if (!parent() && text(0).compare("Backup", Qt::CaseInsensitive) == 0) return false; if (!other.parent() && other.text(0).compare("Backup", Qt::CaseInsensitive) == 0) return true; return QString::localeAwareCompare(text(0), other.text(0)) < 0; } keepassx-0.4.3/src/lib/HelperX11.h0000664000175000017500000000405611130522144015560 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef HELPERX11_H #define HELPERX11_H #define XK_MISCELLANY #define XK_XKB_KEYS #define XK_3270 #define XK_CURRENCY #include "AutoType.h" #include #include #include class HelperX11{ public: static KeySym getKeysym(const QChar& c); #ifdef GLOBAL_AUTOTYPE static uint getShortcutModifierMask(const Shortcut& s); #endif static unsigned int keyboardModifiers(Display* d); static void startCatchErrors(); static void stopCatchErrors(); inline static bool errorOccurred() { return pErrorOccurred; }; private: static int x11ErrorHandler(Display* display, XErrorEvent* error); static int (*oldHandler) (Display*, XErrorEvent*); static bool catchErrors; static bool pErrorOccurred; }; #endif // HELPERX11_H keepassx-0.4.3/src/lib/bookmarks.cpp0000664000175000017500000000641111067675267016417 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ QList KpxBookmarks::Bookmarks; void KpxBookmarks::load(){ if (!config->settings.contains("Bookmarks/size") || config->settings.value("Bookmarks/size").toInt()==0) return; int size = config->settings.value("Bookmarks/size").toInt(); for(int i=1;i<=size;i++){ BookmarkEntry entry; entry.Title = config->settings.value( QString("Bookmarks/%1/Title").arg(i) ).toString(); entry.Path = config->settings.value( QString("Bookmarks/%1/Path").arg(i) ).toString(); if (!entry.Title.isNull() && !entry.Path.isNull()) Bookmarks << entry; } } int KpxBookmarks::count(){ return Bookmarks.size(); } QString KpxBookmarks::title(int i){ return Bookmarks[i].Title; } QString KpxBookmarks::path(int i){ return Bookmarks[i].Path; } int KpxBookmarks::add(const QString& Title,const QString& Path){ BookmarkEntry entry; entry.Title=Title; entry.Path=Path; entry.Index=Bookmarks.size(); Bookmarks<settings.setValue( QString("Bookmarks/%1/Title").arg(i+1), Bookmarks[i].Title ); config->settings.setValue( QString("Bookmarks/%1/Path").arg(i+1), Bookmarks[i].Path ); } config->settings.setValue("Bookmarks/size", count()); // remove orphaned entries int i = count()+1; while ( config->settings.contains( QString("Bookmarks/%1/Title").arg(i) ) ){ config->settings.remove( QString("Bookmarks/%1/Title").arg(i) ); config->settings.remove( QString("Bookmarks/%1/Path").arg(i) ); i++; } } void KpxBookmarks::remove(int index){ Bookmarks.removeAt(index); save(); } void KpxBookmarks::edit(const QString& Title,const QString& Path,int i){ Bookmarks[i].Title=Title; Bookmarks[i].Path=Path; save(); } void KpxBookmarks::resort(QList order){ QList NewList; for(int i=0;iItems; QList SearchResults; QMenu *ContextMenu; void setCurrentEntry(IEntryHandle* entry); inline IGroupHandle* getCurrentGroup() { return CurrentGroup; }; bool columnVisible(int col); void setColumnVisible(int col, bool visible); private: QClipboard* Clipboard; QTimer ClipboardTimer; QPoint DragStartPos; QList DragItems; IGroupHandle* CurrentGroup; enum EntryViewMode {Normal, ShowSearchResults}; EntryViewMode ViewMode; bool AutoResizeColumns; QList columnSizes; QString columnString(IEntryHandle* entry, int col, bool forceClearText=false); inline QString columnStringView(EntryViewItem* item, int col, bool forceClearText=false) { return columnString(item->EntryHandle, col, forceClearText); }; void updateEntry(EntryViewItem*); void editEntry(EntryViewItem*); void createItems(QList& entries); void saveHeaderView(); void restoreHeaderView(); void contextMenuEvent(QContextMenuEvent *event); void paintEvent(QPaintEvent* event); void resizeEvent(QResizeEvent* event); void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); private slots: void OnGroupChanged(IGroupHandle* group); void OnShowSearchResults(); void OnEntryActivated(QTreeWidgetItem*,int); void OnEntryDblClicked(QTreeWidgetItem*,int); void OnNewEntry(); void OnItemsChanged(); void updateIcons(); void OnUsernameToClipboard(); void OnPasswordToClipboard(); void OnEditEntry(); void OnClipboardTimeOut(); void OnCloneEntry(); void OnDeleteEntry(); void OnSaveAttachment(); #ifdef AUTOTYPE void OnAutoType(); #endif void removeDragItems(); void OnEditOpenUrl(); void OnEditCopyUrl(); void resizeColumns(); signals: void fileModified(); void selectionChanged(SelectionState); void requestCreateGroup(QString title, quint32 image, GroupViewItem* parent); void viewModeChanged(bool searchResultMode); }; #endif keepassx-0.4.3/src/lib/UrlLabel.cpp0000664000175000017500000000440511153227155016113 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "UrlLabel.h" LinkLabel::LinkLabel(QWidget *parent,const QString& text, int x, int y,Qt::WFlags f) : QLabel(parent,f){ QFont font(parentWidget()->font()); font.setUnderline(true); setFont(font); QPalette palette; palette.setColor(foregroundRole(),QColor(20,20,255)); setPalette(palette); setCursor(Qt::PointingHandCursor); setText(text); setPos(x,y); } LinkLabel::~LinkLabel(){ } QString LinkLabel::url(){ if(URL!=QString()) return URL; else if(text().contains("@")) return QString("mailto:")+text(); else return text(); } void LinkLabel::mouseReleaseEvent(QMouseEvent* event){ if(event->button()==Qt::LeftButton){ emit clicked(); openBrowser(url()); } } void LinkLabel::setPos(int x,int y){ QFontMetrics fm(font()); setGeometry(x,y,fm.width(text()),fm.height()); } void LinkLabel::setText(const QString& text){ QLabel::setText(text); setPos(geometry().x(), geometry().y()); } keepassx-0.4.3/src/lib/random.h0000664000175000017500000000343411070433420015327 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef RANDOM_H_ #define RANDOM_H_ #ifndef quint8 typedef unsigned char quint8; #endif #ifndef quint32 typedef unsigned int quint32; #endif #ifdef __cplusplus extern "C" { #endif void getEntropy(quint8* buffer, int length); quint32 randint(quint32 limit); // generate random number: 0 <= n < limit #ifdef __cplusplus } #endif quint32 randintRange(quint32 min, quint32 max); // generate random number: min <= n <= max #endif keepassx-0.4.3/src/lib/ShortcutWidget.cpp0000664000175000017500000000766111124723765017405 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "ShortcutWidget.h" #if defined(GLOBAL_AUTOTYPE) && defined(Q_WS_X11) #include #include #include #include "HelperX11.h" #include "AutoTypeGlobalX11.h" ShortcutWidget::ShortcutWidget(QWidget* parent) : QLineEdit(parent), lock(false), failed(false){ } Shortcut ShortcutWidget::shortcut(){ if (lock) return pShortcut; else return Shortcut(); } void ShortcutWidget::setShortcut(const Shortcut& s){ lock = true; displayShortcut(s.key, false, s.ctrl, s.shift, s.alt, s.altgr, s.win); } void ShortcutWidget::keyPressEvent(QKeyEvent* event){ keyEvent(event, false); event->accept(); } void ShortcutWidget::keyReleaseEvent(QKeyEvent* event){ keyEvent(event, true); event->accept(); } void ShortcutWidget::keyEvent(QKeyEvent* event, bool release){ if (release && lock) return; AutoTypeGlobalX11* autoTypeGlobal = static_cast(autoType); unsigned int mods = HelperX11::keyboardModifiers(QX11Info::display()); displayShortcut(event->nativeVirtualKey(), release, mods & ControlMask, mods & ShiftMask, mods & autoTypeGlobal->maskAlt(), mods & autoTypeGlobal->maskAltGr(), mods & autoTypeGlobal->maskMeta()); } void ShortcutWidget::displayShortcut(quint32 key, bool release, bool ctrl, bool shift, bool alt, bool altgr, bool win){ QString text; if (ctrl) text.append(tr("Ctrl")).append(" + "); if (shift) text.append(tr("Shift")).append(" + "); if (alt) text.append(tr("Alt")).append(" + "); if (altgr) text.append(tr("AltGr")).append(" + "); if (win) text.append(tr("Win")).append(" + "); if ( !release && (keyXK_Hyper_R) && (keyXK_ISO_Last_Group_Lock) ){ // converts key into orignal key on the keyboard KeySym keysym = XKeycodeToKeysym(QX11Info::display(), XKeysymToKeycode(QX11Info::display(),key), 0); if (keysym>=0xfd00 && keysym<=0xffff){ text.append(XKeysymToString(keysym)); } else{ text.append(static_cast(keysym)); } lock = ctrl || shift || alt || altgr || win; if (lock){ pShortcut.key = keysym; pShortcut.ctrl = ctrl; pShortcut.shift = shift; pShortcut.alt = alt; pShortcut.altgr = altgr; pShortcut.win = win; failed = autoType->registerGlobalShortcut(pShortcut); if (!failed) setBackgroundColor(QColor(255, 150, 150)); else setBackgroundColor(Qt::white); } } else { lock = false; if (failed) setBackgroundColor(Qt::white); } setText(text); } void ShortcutWidget::setBackgroundColor(const QColor& c){ QPalette p( palette() ); p.setColor(backgroundRole(), c); setPalette(p); } #else ShortcutWidget::ShortcutWidget(QWidget* parent) : QLineEdit(parent){ } #endif keepassx-0.4.3/src/lib/GroupView.h0000664000175000017500000000703411221676247016014 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _GROUP_VIEW_H_ #define _GROUP_VIEW_H_ #include "Kdb3Database.h" class GroupViewItem; class KeepassGroupView:public QTreeWidget{ Q_OBJECT public: KeepassGroupView(QWidget* parent=0); IDatabase *db; QListItems; QMenu *ContextMenu; QMenu *ContextMenuSearchGroup; GroupViewItem* SearchResultItem; void createItems(); void showSearchResults(); void setCurrentGroup(IGroupHandle* group); void selectFirstGroup(); void retranslateUi(); public slots: void createGroup(const QString& title, quint32 image, GroupViewItem* group=NULL); private: virtual void dragEnterEvent(QDragEnterEvent* event); virtual void dragMoveEvent(QDragMoveEvent* event); void entryDragMoveEvent(QDragMoveEvent* event); virtual void dragLeaveEvent(QDragLeaveEvent* event); virtual void dropEvent(QDropEvent* event); void entryDropEvent(QDropEvent* event); virtual void mousePressEvent(QMouseEvent *event); virtual void mouseMoveEvent(QMouseEvent *event); virtual void paintEvent (QPaintEvent* event); virtual void contextMenuEvent(QContextMenuEvent* event); void addChildren(GroupViewItem* item); QPoint DragStartPos; GroupViewItem* DragItem; GroupViewItem* LastHoverItem; int InsLinePos; int InsLineStart; enum GroupViewDragType{EntryDrag,GroupDrag}; GroupViewDragType DragType; QList* EntryDragItems; private slots: void OnCurrentGroupChanged(QTreeWidgetItem*); void OnDeleteGroup(); void OnNewGroup(); void OnNewSubgroup(); void OnEditGroup(); void updateIcons(); void OnHideSearchResults(); void OnItemExpanded(QTreeWidgetItem*); void OnItemCollapsed(QTreeWidgetItem*); void OnSort(); signals: void groupChanged(IGroupHandle* NewGroup); void searchResultsSelected(); void fileModified(); void entriesDropped(); }; class GroupViewItem:public QTreeWidgetItem{ public: GroupViewItem(); GroupViewItem(QTreeWidget *parent); GroupViewItem(QTreeWidget *parent, QTreeWidgetItem * preceding); GroupViewItem(QTreeWidgetItem *parent); GroupViewItem(QTreeWidgetItem *parent, QTreeWidgetItem * preceding); bool operator<(const QTreeWidgetItem& other) const; IGroupHandle* GroupHandle; }; #endif keepassx-0.4.3/src/lib/FileDialogs.cpp0000664000175000017500000001651111263436453016601 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #if QT_VERSION >= 0x040400 #include #endif IFileDialog* KpxFileDialogs::iFileDialog=NULL; QtStandardFileDialogs DefaultQtDlgs; FileDlgHistory fileDlgHistory; void KpxFileDialogs::setPlugin(IFileDialog* plugin){ iFileDialog=plugin; } QString KpxFileDialogs::openExistingFile(QWidget* Parent, const QString& Name, const QString& Title,const QStringList& Filters,QString Dir,int SelectedFilter) { EventOccurredBlock = true; if(!iFileDialog)iFileDialog=dynamic_cast(&DefaultQtDlgs); if(Dir==QString()) Dir=fileDlgHistory.getDir(Name); if(SelectedFilter==-1) SelectedFilter=fileDlgHistory.getFilter(Name); QString result = iFileDialog->openExistingFileDialog(Parent,Title,Dir,Filters,SelectedFilter); if(!result.isEmpty()){ fileDlgHistory.set(Name,result.left(result.lastIndexOf("/")+1),iFileDialog->getLastFilter()); } EventOccurredBlock = false; return result; } QStringList KpxFileDialogs::openExistingFiles(QWidget* Parent, const QString& Name, const QString& Title,const QStringList& Filters,QString Dir,int SelectedFilter) { EventOccurredBlock = true; if(!iFileDialog)iFileDialog=dynamic_cast(&DefaultQtDlgs); if(Dir==QString()) Dir=fileDlgHistory.getDir(Name); if(SelectedFilter==-1) SelectedFilter=fileDlgHistory.getFilter(Name); QStringList results=iFileDialog->openExistingFilesDialog(Parent,Title,QString(),Filters,SelectedFilter); if(!results.isEmpty()){ fileDlgHistory.set(Name,results[0].left(results[0].lastIndexOf("/")+1),iFileDialog->getLastFilter()); } EventOccurredBlock = false; return results; } QString KpxFileDialogs::saveFile(QWidget* Parent, const QString& Name, const QString& Title,const QStringList& Filters,bool OverWriteWarn,QString Dir,int SelectedFilter) { EventOccurredBlock = true; if(!iFileDialog)iFileDialog=dynamic_cast(&DefaultQtDlgs); if(Dir==QString()) Dir=fileDlgHistory.getDir(Name); if(SelectedFilter==-1) SelectedFilter=fileDlgHistory.getFilter(Name); QString result = iFileDialog->saveFileDialog(Parent,Title,QString(),Filters,SelectedFilter,OverWriteWarn); if(!result.isEmpty()){ fileDlgHistory.set(Name,result.left(result.lastIndexOf("/")+1),iFileDialog->getLastFilter()); } EventOccurredBlock = false; return result; } QString QtStandardFileDialogs::toSingleStringFilter(const QStringList& filterList){ if(!filterList.size()) return QString(); QString SingleString; for(int i=0;i= 0x040400 return QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); #else return QDir::homePath(); #endif } else return e.Dir; } int FileDlgHistory::getFilter(const QString& name){ Entry e=History.value(name); if(e.isNull()) return 0; else return e.Filter; } void FileDlgHistory::set(const QString& name,const QString& dir, int filter){ History[name]=Entry(); History[name].Dir=dir; History[name].Filter=filter; } void FileDlgHistory::save(){ if(config->saveFileDlgHistory()){ for(unsigned i=0;i(History.size());i++){ QStringList entry; entry << History.keys().at(i) << History.values().at(i).Dir << QString::number(History.values().at(i).Filter); config->setFileDlgHistory(i,entry); } } } void FileDlgHistory::load(){ if(config->saveFileDlgHistory()){ unsigned count=config->fileDlgHistorySize(); for(unsigned i=0;ifileDlgHistory(i); entry.Dir=value[1]; entry.Filter=value[2].toInt(); History[value[0]]=entry; } } else config->clearFileDlgHistory(); } void FileDlgHistory::clear(){ History=QHash(); config->clearFileDlgHistory(); } keepassx-0.4.3/src/lib/AutoType.h0000664000175000017500000000421011123440167015617 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi, Felix Geyer * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _AUTOTYPE_H_ #define _AUTOTYPE_H_ class KeepassMainWindow; void initAutoType(KeepassMainWindow* mainWin); class AutoType{ public: virtual void perform(IEntryHandle* entry, bool hideWindow=true, int nr=0, bool wasLocked=false) = 0; }; #ifdef GLOBAL_AUTOTYPE struct Shortcut{ bool ctrl, shift, alt, altgr, win; quint32 key; }; class AutoTypeGlobal : public AutoType{ public: virtual void performGlobal() = 0; inline const Shortcut& getShortcut() { return shortcut; }; virtual bool registerGlobalShortcut(const Shortcut& s) = 0; virtual void unregisterGlobalShortcut() = 0; virtual QStringList getAllWindowTitles() = 0; protected: Shortcut shortcut; }; #endif #ifdef GLOBAL_AUTOTYPE extern AutoTypeGlobal* autoType; #else extern AutoType* autoType; #endif #endif keepassx-0.4.3/src/lib/WaitAnimationWidget.h0000664000175000017500000000353510766561023017775 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ class WaitAnimationWidget:public QWidget{ Q_OBJECT public: WaitAnimationWidget(QWidget* parent); ~WaitAnimationWidget(); void setSpeed(int rpm){speed=rpm;} void setRefreshRate(int fps); void start(); void stop(); private slots: void refreshAnimation(); private: virtual void paintEvent(QPaintEvent* event); virtual void resizeEvent(QResizeEvent* event); QTimer timer; int speed; float CurAngle; float DiffAngle; float CircSizes[6]; QPointF CircPositions[6]; }; keepassx-0.4.3/src/lib/AutoTypeGlobalX11.cpp0000664000175000017500000002222411245770350017577 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi, Felix Geyer * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "AutoTypeGlobalX11.h" #include "mainwindow.h" #include "lib/HelperX11.h" #include "dialogs/AutoTypeDlg.h" #include AutoTypeGlobal* autoType = NULL; void initAutoType(KeepassMainWindow* mainWin) { autoType = new AutoTypeGlobalX11(mainWin); } AutoTypeGlobalX11::AutoTypeGlobalX11(KeepassMainWindow* mainWin) : AutoTypeX11(mainWin) { wm_state = XInternAtom(dpy, "WM_STATE", true); windowRoot = XRootWindow(dpy, mainWin->x11Info().screen()); shortcut.key = 0; focusedWindow = 0; oldCode = 0; oldMod = 0; inGlobalAutoType = false; //windowBlacklist << "kicker" << "KDE Desktop"; classBlacklist << "desktop_window" << "gnome-panel"; // Gnome classBlacklist << "kdesktop" << "kicker"; // KDE 3 classBlacklist << "Plasma"; // KDE 4 classBlacklist << "xfdesktop" << "xfce4-panel"; // Xfce 4 } void AutoTypeGlobalX11::updateKeymap() { AutoTypeX11::updateKeymap(); registerGlobalShortcut(shortcut); } void AutoTypeGlobalX11::perform(IEntryHandle* entry, bool hideWindow, int nr, bool wasLocked){ if (inGlobalAutoType) return; inGlobalAutoType = true; if (focusedWindow && (!hideWindow || wasLocked)) { // detect if global auto-type XSetInputFocus(dpy, focusedWindow, RevertToPointerRoot, CurrentTime); focusedWindow = 0; } else { focusWindow = NULL; } AutoTypeX11::perform(entry, hideWindow, nr, wasLocked); inGlobalAutoType = false; } void AutoTypeGlobalX11::windowTitles(Window window, QStringList& titleList){ Atom type = None; int format; unsigned long nitems, after; unsigned char* data; XGetWindowProperty(dpy, window, wm_state, 0, 0, false, AnyPropertyType, &type, &format, &nitems, &after, &data); if (type){ XTextProperty textProp; if (XGetWMName(dpy, window, &textProp) != 0) { char** list = NULL; int count; if (Xutf8TextPropertyToTextList(dpy, &textProp, &list, &count)>=0 && list){ QString title = QString::fromUtf8(list[0]); QString className; XClassHint* wmClass = XAllocClassHint(); if (XGetClassHint(dpy, window, wmClass)!=0 && wmClass->res_name!=NULL) className = QString::fromLocal8Bit(wmClass->res_name); XFree(wmClass); if (window!=windowRoot && window!=mainWin->winId() && (QApplication::activeWindow()==NULL || window!=QApplication::activeWindow()->winId()) && // !windowBlacklist.contains(title) && (className.isNull() || !classBlacklist.contains(className)) ){ titleList.append(title); } XFreeStringList(list); } } } Window root; Window parent; Window* children = NULL; unsigned int num_children; int tree = XQueryTree(dpy, window, &root, &parent, &children, &num_children); if (tree && children) { for (uint i=0; iisLocked(); if (wasLocked) mainWin->OnUnLockWorkspace(); if (!mainWin->isOpened()) return; Window w; int revert_to_return; XGetInputFocus(dpy, &w, &revert_to_return); char** list = NULL; int tree; do { XTextProperty textProp; if (XGetWMName(dpy, w, &textProp) != 0) { int count; if (Xutf8TextPropertyToTextList(dpy, &textProp, &list, &count)<0) return; if (list) break; } Window root = 0; Window parent = 0; Window* children = NULL; unsigned int num_children; tree = XQueryTree(dpy, w, &root, &parent, &children, &num_children); w = parent; if (children) XFree(children); } while (tree && w); if (!list) return; QString title = QString::fromUtf8(list[0]).toLower(); XFreeStringList(list); QList validEntries; QList entryNumbers; QList entries = mainWin->db->entries(); QRegExp lineMatch("Auto-Type-Window(?:-(\\d+)|):([^\\n]+)", Qt::CaseInsensitive, QRegExp::RegExp2); QDateTime now = QDateTime::currentDateTime(); for (int i=0; iexpire()!=Date_Never && entries[i]->expire()comment(); int offset = 0; while ( (offset=lineMatch.indexIn(comment, offset))!=-1 ){ QStringList captured = lineMatch.capturedTexts(); offset += captured[0].length(); int nr; QString entryWindow; bool valid; if (captured.size()==2){ nr = 0; entryWindow = captured[1].trimmed().toLower(); } else{ nr = captured[1].toInt(); entryWindow = captured[2].trimmed().toLower(); } if (entryWindow.length()==0) continue; hasWindowEntry = true; bool wildStart = (entryWindow[0]=='*'); bool wildEnd = (entryWindow[entryWindow.size()-1]=='*'); if (wildStart&&wildEnd){ entryWindow.remove(0,1); if (entryWindow.length()!=0){ entryWindow.remove(entryWindow.size()-1,1); valid = title.contains(entryWindow); } else valid = true; } else if (wildStart){ entryWindow.remove(0,1); valid = title.endsWith(entryWindow); } else if (wildEnd){ entryWindow.remove(entryWindow.size()-1,1); valid = title.startsWith(entryWindow); } else { valid = (title==entryWindow); } if (valid){ validEntries << entries[i]; entryNumbers << nr; break; } } if (!hasWindowEntry && config->entryTitlesMatch()){ QString entryTitle = entries[i]->title().toLower(); if (!entryTitle.isEmpty() && title.contains(entryTitle)){ validEntries << entries[i]; entryNumbers << 0; } } } if (validEntries.size()==1){ focusedWindow = 0; perform(validEntries[0],wasLocked,entryNumbers[0],wasLocked); } else if (validEntries.size()>1){ focusedWindow = w; AutoTypeDlg* dlg = new AutoTypeDlg(validEntries, entryNumbers, wasLocked); dlg->show(); } } bool AutoTypeGlobalX11::registerGlobalShortcut(const Shortcut& s){ if (s.key == 0) return false; int code=XKeysymToKeycode(dpy, HelperX11::getKeysym(s.key)); uint mod=HelperX11::getShortcutModifierMask(s); if (s.key==shortcut.key && s.ctrl==shortcut.ctrl && s.shift==shortcut.shift && s.alt==shortcut.alt && s.altgr==shortcut.altgr && s.win==shortcut.win && code==oldCode && mod==oldMod) return true; HelperX11::startCatchErrors(); XGrabKey(dpy, code, mod, windowRoot, true, GrabModeAsync, GrabModeAsync); XGrabKey(dpy, code, mod | Mod2Mask, windowRoot, true, GrabModeAsync, GrabModeAsync); XGrabKey(dpy, code, mod | LockMask, windowRoot, true, GrabModeAsync, GrabModeAsync); XGrabKey(dpy, code, mod | Mod2Mask | LockMask, windowRoot, true, GrabModeAsync, GrabModeAsync); HelperX11::stopCatchErrors(); if (HelperX11::errorOccurred()){ XUngrabKey(dpy, code, mod, windowRoot); XUngrabKey(dpy, code, mod | Mod2Mask, windowRoot); XUngrabKey(dpy, code, mod | LockMask, windowRoot); XUngrabKey(dpy, code, mod | Mod2Mask | LockMask, windowRoot); return false; } else { unregisterGlobalShortcut(); shortcut = s; oldCode = code; oldMod = mod; return true; } } void AutoTypeGlobalX11::unregisterGlobalShortcut(){ if (shortcut.key==0) return; XUngrabKey(dpy, oldCode, oldMod, windowRoot); XUngrabKey(dpy, oldCode, oldMod | Mod2Mask, windowRoot); XUngrabKey(dpy, oldCode, oldMod | LockMask, windowRoot); XUngrabKey(dpy, oldCode, oldMod | Mod2Mask | LockMask, windowRoot); shortcut.key = 0; oldCode = 0; oldMod = 0; } QString AutoTypeGlobalX11::getRootGroupName(IEntryHandle* entry){ IGroupHandle* group = entry->group(); int level = group->level(); for (int i=0; iparent(); return group->title(); } keepassx-0.4.3/src/lib/FileDialogs.h0000664000175000017500000000717410765542017016253 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _FILE_DIALOGS_H_ #define _FILE_DIALOGS_H_ #include "plugins/interfaces/IFileDialog.h" class FileDlgHistory:public QObject{ Q_OBJECT public: QString getDir(const QString& name); int getFilter(const QString& name); public slots: void set(const QString& name,const QString& dir,int filter); void save(); void load(); void clear(); private: class Entry{ public: Entry(){Filter=-1;} QString Dir; int Filter; bool isNull(){ if(Filter==-1) return true; else return false; } }; QHashHistory; }; class KpxFileDialogs{ public: static void setPlugin(IFileDialog* FileDlgPlugin); static QString openExistingFile(QWidget* parent, const QString& Name, const QString& Title, const QStringList& Filters, QString Dir=QString(), int SelectedFilter=-1); static QStringList openExistingFiles(QWidget* parent, const QString& Name, const QString& Title, const QStringList& Filters, const QString Dir=QString(), int SelectedFilter=-1); static QString saveFile(QWidget* parent, const QString& Name, const QString& Title, const QStringList& Filters, bool ShowOverwriteWarning=true, QString Dir=QString(), int SelectedFilter=-1); private: static IFileDialog* iFileDialog; }; class QtStandardFileDialogs:public QObject,public IFileDialog{ Q_OBJECT Q_INTERFACES(IFileDialog); public: QString openExistingFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters,int SelectedFilter); QStringList openExistingFilesDialog(QWidget* parent,QString title,QString dir,QStringList Filters,int SelectedFilter); QString saveFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters,int SelectedFilter,bool ShowOverwriteWarning); int getLastFilter(); private: static QString toSingleStringFilter(const QStringList& filterList); int LastFilter; }; extern FileDlgHistory fileDlgHistory; #endif keepassx-0.4.3/src/lib/SecString.cpp0000664000175000017500000000744711153266251016323 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ CArcFour SecString::RC4; quint8* SecString::sessionkey; SecString::operator QString(){ return string(); } SecString::SecString(){ locked=true; } int SecString::length(){ return crypt.size(); } SecString::~SecString(){ lock(); } void SecString::lock(){ locked=true; overwrite(plain); plain=QString(); } void SecString::unlock(){ locked = false; plain = QString(); if(!crypt.length()) return; const unsigned char* buffer = new unsigned char[crypt.length()]; RC4.decrypt( (quint8*)crypt.data(), (unsigned char*)buffer, crypt.length() ); plain = QString::fromUtf8((const char*)buffer, crypt.size()); overwrite((unsigned char*)buffer, crypt.size()); delete [] buffer; } const QString& SecString::string(){ Q_ASSERT_X(!locked, "SecString::string()", "string is locked"); return plain; } void SecString::setString(QString& str, bool DeleteSource){ QByteArray StrData = str.toUtf8(); int len = StrData.size(); unsigned char* buffer = new unsigned char[len]; RC4.encrypt((const unsigned char*)StrData.data(), buffer, len); crypt = QByteArray((const char*)buffer, len); overwrite(buffer, len); overwrite((unsigned char*)StrData.data(), len); delete [] buffer; if(DeleteSource){ overwrite(str); str=QString(); } lock(); } void SecString::overwrite(unsigned char* str, int strlen){ if(strlen==0 || str==NULL) return; for(int i=0; i enum AutoTypeActionType{ TypeKey, Delay }; struct AutoTypeAction{ AutoTypeAction(AutoTypeActionType t, KeySym d); AutoTypeActionType type; KeySym data; }; class AutoTypeX11 : public AutoType { public: AutoTypeX11(KeepassMainWindow* mainWin); void perform(IEntryHandle* entry, bool hideWindow=true, int nr=0, bool wasLocked=false); virtual void updateKeymap(); protected: void sleepTime(int msec); inline void sleepKeyStrokeDelay(){ sleepTime(config->autoTypeKeyStrokeDelay()); }; void templateToKeysyms(const QString& Template, QList& KeySymList,IEntryHandle* entry); void stringToKeysyms(const QString& string,QList& KeySymList); int AddKeysym(KeySym keysym, bool top); void AddModifier(KeySym keysym); void ReadKeymap(); void SendKeyPressedEvent(KeySym keysym, unsigned int shift); void SendEvent(XKeyEvent *event); static int MyErrorHandler(Display *my_dpy, XErrorEvent *event); Window getFocusWindow(); KeepassMainWindow* mainWin; Display* dpy; KeySym *keysym_table; int min_keycode, max_keycode; int keysym_per_keycode; int alt_mask; int meta_mask; int altgr_mask; KeySym altgr_keysym; bool reReadKeymap; Window focusWindow; private: bool inAutoType; }; #endif // _AUTOTYPEX11_H_ keepassx-0.4.3/src/lib/AutoTypeTreeWidget.cpp0000664000175000017500000000340311023163213020132 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "lib/AutoTypeTreeWidget.h" void AutoTypeTreeWidget::mouseMoveEvent(QMouseEvent* event){ QTreeWidgetItem* item = itemAt(event->pos()); if(item){ setCurrentItem(item); setCursor(Qt::PointingHandCursor); } else { unsetCursor(); } } void AutoTypeTreeWidget::keyPressEvent(QKeyEvent* event){ if(event->key()==Qt::Key_Return || event->key()==Qt::Key_Enter){ emit returnPressed(currentItem()); event->accept(); } else { QTreeWidget::keyPressEvent(event); } } keepassx-0.4.3/src/lib/ShortcutWidget.h0000664000175000017500000000401310764047761017042 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef SHORTCUT_WIDGET_H #define SHORTCUT_WIDGET_H #if defined(GLOBAL_AUTOTYPE) && defined(Q_WS_X11) #include "lib/AutoType.h" #endif class ShortcutWidget : public QLineEdit{ Q_OBJECT public: ShortcutWidget(QWidget* parent = 0); #if defined(GLOBAL_AUTOTYPE) && defined(Q_WS_X11) Shortcut shortcut(); void setShortcut(const Shortcut& s); protected: void keyPressEvent(QKeyEvent* event); void keyReleaseEvent(QKeyEvent* event); private: void keyEvent(QKeyEvent* event, bool release); void displayShortcut(quint32 key, bool release, bool ctrl, bool shift, bool alt, bool altgr, bool win); void setBackgroundColor(const QColor& c); bool lock; bool failed; Shortcut pShortcut; #endif }; #endif // SHORTCUT_WIDGET_H keepassx-0.4.3/src/lib/AutoTypeGlobalX11.h0000664000175000017500000000445411245770350017251 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi, Felix Geyer * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _AUTOTYPEGLOBALX11_H_ #define _AUTOTYPEGLOBALX11_H_ #include "AutoTypeX11.h" class AutoTypeGlobalX11 : public AutoTypeX11, public AutoTypeGlobal { public: AutoTypeGlobalX11(KeepassMainWindow* mainWin); void perform(IEntryHandle* entry, bool hideWindow=true, int nr=0, bool wasLocked=false); void performGlobal(); bool registerGlobalShortcut(const Shortcut& s); void unregisterGlobalShortcut(); QStringList getAllWindowTitles(); void updateKeymap(); inline int maskAlt() { return alt_mask; }; inline int maskAltGr() { return altgr_mask; }; inline int maskMeta() { return meta_mask; }; private: void windowTitles(Window window, QStringList& titleList); QString getRootGroupName(IEntryHandle* entry); Window windowRoot; //QSet windowBlacklist; QSet classBlacklist; Atom wm_state; Window focusedWindow; int oldCode; uint oldMod; bool inGlobalAutoType; }; #endif // _AUTOTYPEGLOBALX11_H_ keepassx-0.4.3/src/lib/EntryView.cpp0000664000175000017500000005050511343301075016342 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #include "lib/AutoType.h" #include "lib/EntryView.h" #include "dialogs/EditEntryDlg.h" #define NUM_COLUMNS 11 // just for the lessThan funtion /*QList* pItems; KeepassEntryView* pEntryView;*/ KeepassEntryView::KeepassEntryView(QWidget* parent) : QTreeWidget(parent) { ViewMode=Normal; AutoResizeColumns = true; header()->setResizeMode(QHeaderView::Interactive); header()->setStretchLastSection(false); header()->setClickable(true); header()->setCascadingSectionResizes(true); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); retranslateColumns(); restoreHeaderView(); connect(header(), SIGNAL(sectionResized(int,int,int)), SLOT(resizeColumns())); connect(this,SIGNAL(itemSelectionChanged()), SLOT(OnItemsChanged())); connect(&ClipboardTimer, SIGNAL(timeout()), SLOT(OnClipboardTimeOut())); connect(this, SIGNAL(itemActivated(QTreeWidgetItem*,int)), SLOT(OnEntryActivated(QTreeWidgetItem*,int))); connect(this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), SLOT(OnEntryDblClicked(QTreeWidgetItem*,int))); Clipboard=QApplication::clipboard(); ContextMenu=new QMenu(this); setAlternatingRowColors(config->alternatingRowColors()); /*pItems=&Items; pEntryView=this;*/ } KeepassEntryView::~KeepassEntryView(){ saveHeaderView(); if (ClipboardTimer.isActive()) { ClipboardTimer.stop(); OnClipboardTimeOut(); } } void KeepassEntryView::retranslateColumns() { setHeaderLabels( QStringList() << tr("Title") << tr("Username") << tr("URL") << tr("Password") << tr("Comments") << tr("Expires") << tr("Creation") << tr("Last Change") << tr("Last Access") << tr("Attachment") << tr("Group") ); } bool KeepassEntryView::columnVisible(int col) { return !header()->isSectionHidden(col); } void KeepassEntryView::setColumnVisible(int col, bool visible) { if (columnVisible(col) == visible) return; // nothing to do header()->setSectionHidden(col, !visible); if (visible) header()->resizeSection(col, columnSizes[col]); } void KeepassEntryView::saveHeaderView() { QBitArray columns(NUM_COLUMNS); QList columnOrder; int columnSort = header()->sortIndicatorSection(); Qt::SortOrder columnSortOrder = header()->sortIndicatorOrder(); for (int i=0; ivisualIndex(i); } if (ViewMode == Normal) { config->setColumns(columns); config->setColumnOrder(columnOrder); config->setColumnSizes(columnSizes); config->setColumnSort(columnSort); config->setColumnSortOrder(columnSortOrder); } else { config->setSearchColumns(columns); config->setSearchColumnOrder(columnOrder); config->setSearchColumnSizes(columnSizes); config->setSearchColumnSort(columnSort); config->setSearchColumnSortOrder(columnSortOrder); } } void KeepassEntryView::restoreHeaderView() { AutoResizeColumns = false; QBitArray columns; QList columnOrder; int columnSort; Qt::SortOrder columnSortOrder; if (ViewMode == Normal) { columns = config->columns(); columnOrder = config->columnOrder(); columnSizes = config->columnSizes(); columnSort = config->columnSort(); columnSortOrder = config->columnSortOrder(); columns[10] = 0; // just to be sure } else { columns = config->searchColumns(); columnOrder = config->searchColumnOrder(); columnSizes = config->searchColumnSizes(); columnSort = config->searchColumnSort(); columnSortOrder = config->searchColumnSortOrder(); } // compatibility with KeePassX <= 0.4.0 (100 = column hidden) int lastVisibleIndex = -1; for (int i=0; ilastVisibleIndex) lastVisibleIndex = columnOrder[i]; } QMap order; // key=visual index; value=logical index for (int i=0; iminimumSectionSize()) columnSizes[i] = header()->minimumSectionSize(); } for (QMap::const_iterator i = order.constBegin(); i != order.constEnd(); ++i) { header()->moveSection(header()->visualIndex(i.value()), NUM_COLUMNS-1); header()->resizeSection(i.value(), columnSizes[i.value()]); setColumnVisible(i.value(), columns.testBit(i.value())); } header()->setSortIndicator(columnSort, columnSortOrder); AutoResizeColumns = true; resizeColumns(); } void KeepassEntryView::resizeColumns() { if (!AutoResizeColumns) return; AutoResizeColumns = false; int w = viewport()->width(); int sum = 0; for (int i=0; isectionSize(i); } double stretch = (double)w / (double)sum; for (int i=0; isectionSize(i)!=0) { int size = qRound(header()->sectionSize(i) * stretch); header()->resizeSection(i, size); columnSizes[i] = size; } else { columnSizes[i] = qRound(columnSizes[i] * stretch); } } AutoResizeColumns = true; } void KeepassEntryView::OnGroupChanged(IGroupHandle* group){ CurrentGroup=group; showGroup(group); } void KeepassEntryView::OnShowSearchResults(){ CurrentGroup=NULL; showSearchResults(); } void KeepassEntryView::OnItemsChanged(){ switch(selectedItems().size()){ case 0: emit selectionChanged(NONE); break; case 1: emit selectionChanged(SINGLE); break; default:emit selectionChanged(MULTIPLE); } } void KeepassEntryView::OnSaveAttachment(){ if (selectedItems().size() == 0) return; CEditEntryDlg::saveAttachment(((EntryViewItem*)selectedItems().first())->EntryHandle,this); } void KeepassEntryView::OnCloneEntry(){ QList entries=selectedItems(); for(int i=0; iEntryHandle= db->cloneEntry(((EntryViewItem*)entries[i])->EntryHandle); updateEntry(Items.back()); } if (header()->isSortIndicatorShown()) sortByColumn(header()->sortIndicatorSection(), header()->sortIndicatorOrder()); emit fileModified(); } void KeepassEntryView::OnDeleteEntry(){ QList entries=selectedItems(); if(config->askBeforeDelete()){ QString text; if(entries.size()==1) text=tr("Are you sure you want to delete this entry?"); else text=tr("Are you sure you want to delete these %1 entries?").arg(entries.size()); if(QMessageBox::question(this,tr("Delete?"),text,QMessageBox::Yes | QMessageBox::No,QMessageBox::No)==QMessageBox::No) return; } bool backup = false; IGroupHandle* bGroup = NULL; if (config->backup() && ((EntryViewItem*)entries[0])->EntryHandle->group() != (bGroup=db->backupGroup())) backup = true; if (backup && !bGroup) { emit requestCreateGroup("Backup", 4, NULL); bGroup = db->backupGroup(); } for(int i=0; iEntryHandle; if (backup && bGroup){ db->moveEntry(entryHandle, bGroup); QDateTime now = QDateTime::currentDateTime(); entryHandle->setLastAccess(now); entryHandle->setLastMod(now); } else{ db->deleteEntry(entryHandle); } Items.removeAt(Items.indexOf((EntryViewItem*)entries[i])); delete entries[i]; } emit fileModified(); } QString KeepassEntryView::columnString(IEntryHandle* entry, int col, bool forceClearText) { switch (col) { case 0: return entry->title(); case 1: if (config->hideUsernames() && !forceClearText) return "******"; else return entry->username(); case 2: return entry->url(); case 3: { if (config->hidePasswords() && !forceClearText) { return "******"; } else { SecString password = entry->password(); password.unlock(); return password.string(); } } case 4: { QString comment = entry->comment(); int toPos = comment.indexOf(QRegExp("[\\r\\n]")); if (toPos == -1) return comment; else return comment.left(toPos); } case 5: return entry->expire().dateToString(Qt::SystemLocaleDate); case 6: return entry->creation().dateToString(Qt::SystemLocaleDate); case 7: return entry->lastMod().dateToString(Qt::SystemLocaleDate); case 8: return entry->lastAccess().dateToString(Qt::SystemLocaleDate); case 9: return entry->binaryDesc(); case 10: return entry->group()->title(); default: Q_ASSERT(false); return QString(); } } void KeepassEntryView::updateEntry(EntryViewItem* item){ IEntryHandle* entry = item->EntryHandle; int cols = NUM_COLUMNS - 1; if (ViewMode == ShowSearchResults) { item->setIcon(10, db->icon(entry->group()->image())); ++cols; } for (int i=0; isetText(i, columnString(entry, i)); } item->setIcon(0, db->icon(entry->image())); } void KeepassEntryView::editEntry(EntryViewItem* item){ IEntryHandle* handle = item->EntryHandle; CEntry old = handle->data(); CEditEntryDlg dlg(db,handle,this,true); int result = dlg.exec(); switch(result){ case 0: //canceled or no changes break; case 1: //modifications but same group updateEntry(item); emit fileModified(); break; //entry moved to another group case 2: //modified case 3: //not modified Items.removeAll(item); delete item; emit fileModified(); break; } IGroupHandle* bGroup; if ((result==1 || result==2) && config->backup() && handle->group() != (bGroup=db->backupGroup())){ old.LastAccess = QDateTime::currentDateTime(); old.LastMod = old.LastAccess; if (bGroup==NULL) emit requestCreateGroup("Backup", 4, NULL); if ((bGroup = db->backupGroup())!=NULL) db->addEntry(&old, bGroup); } if (result == 1) OnItemsChanged(); } void KeepassEntryView::OnNewEntry(){ IGroupHandle* ParentGroup; if (!CurrentGroup){ // We must be viewing search results. Add the new entry to the first group. if (db->groups().size() > 0) ParentGroup = db->sortedGroups()[0]; else{ QMessageBox::critical(NULL,tr("Error"),tr("At least one group must exist before adding an entry."),tr("OK")); } } else{ ParentGroup = CurrentGroup; } IEntryHandle* NewEntry = db->newEntry(ParentGroup); NewEntry->setImage(ParentGroup->image()); CEditEntryDlg dlg(db,NewEntry,this,true); if(!dlg.exec()){ db->deleteLastEntry(); } else{ Items.append(new EntryViewItem(this)); Items.back()->EntryHandle=NewEntry; updateEntry(Items.back()); emit fileModified(); if (header()->isSortIndicatorShown()) sortByColumn(header()->sortIndicatorSection(), header()->sortIndicatorOrder()); setCurrentItem(Items.back()); } } void KeepassEntryView::OnEntryActivated(QTreeWidgetItem* item, int Column){ Q_UNUSED(item); switch (Column){ case 1: OnUsernameToClipboard(); break; case 2: OnEditOpenUrl(); break; case 3: OnPasswordToClipboard(); break; } } void KeepassEntryView::OnEntryDblClicked(QTreeWidgetItem* item, int Column){ if (Column == 0) editEntry((EntryViewItem*)item); } void KeepassEntryView::OnEditEntry(){ if (selectedItems().size() == 0) return; editEntry((EntryViewItem*)selectedItems().first()); } void KeepassEntryView::OnEditOpenUrl(){ if (selectedItems().size() == 0) return; openBrowser( ((EntryViewItem*)selectedItems().first())->EntryHandle ); } void KeepassEntryView::OnEditCopyUrl(){ if (selectedItems().size() == 0) return; QString url = ((EntryViewItem*)selectedItems().first())->EntryHandle->url(); if (url.startsWith("cmd://") && url.length()>6) url = url.right(url.length()-6); Clipboard->setText(url, QClipboard::Clipboard); if(Clipboard->supportsSelection()){ Clipboard->setText(url, QClipboard::Selection); } } void KeepassEntryView::OnUsernameToClipboard(){ if (selectedItems().size() == 0) return; QString username = ((EntryViewItem*)selectedItems().first())->EntryHandle->username(); Clipboard->setText(username, QClipboard::Clipboard); if(Clipboard->supportsSelection()){ Clipboard->setText(username, QClipboard::Selection); } if (config->clipboardTimeOut()!=0 && !username.trimmed().isEmpty()) { ClipboardTimer.setSingleShot(true); ClipboardTimer.start(config->clipboardTimeOut()*1000); } } void KeepassEntryView::OnPasswordToClipboard(){ if (selectedItems().size() == 0) return; SecString password; password=((EntryViewItem*)selectedItems().first())->EntryHandle->password(); password.unlock(); Clipboard->setText(password.string(), QClipboard::Clipboard); if(Clipboard->supportsSelection()){ Clipboard->setText(password.string(), QClipboard::Selection); } if (config->clipboardTimeOut()!=0 && !password.string().isEmpty()) { ClipboardTimer.setSingleShot(true); ClipboardTimer.start(config->clipboardTimeOut()*1000); } } void KeepassEntryView::OnClipboardTimeOut(){ Clipboard->clear(QClipboard::Clipboard); if(Clipboard->supportsSelection()){ Clipboard->clear(QClipboard::Selection); } #ifdef Q_WS_X11 QProcess::startDetached("dcop klipper klipper clearClipboardHistory"); QProcess::startDetached("dbus-send --type=method_call --dest=org.kde.klipper /klipper " "org.kde.klipper.klipper.clearClipboardHistory"); #endif } void KeepassEntryView::contextMenuEvent(QContextMenuEvent* e){ if(itemAt(e->pos())){ EntryViewItem* item=(EntryViewItem*)itemAt(e->pos()); if(!selectedItems().size()){ setItemSelected(item,true); } else{ if(!isItemSelected(item)){ while(selectedItems().size()){ setItemSelected(selectedItems().first(),false); } setItemSelected(item,true); } } } else{ while (selectedItems().size()) setItemSelected(selectedItems().first(),false); } e->accept(); ContextMenu->popup(e->globalPos()); } void KeepassEntryView::resizeEvent(QResizeEvent* e){ resizeColumns(); QTreeWidget::resizeEvent(e); } void KeepassEntryView::showSearchResults(){ if(ViewMode == Normal){ saveHeaderView(); ViewMode = ShowSearchResults; restoreHeaderView(); emit viewModeChanged(true); } clear(); Items.clear(); createItems(SearchResults); } void KeepassEntryView::showGroup(IGroupHandle* group){ if(ViewMode == ShowSearchResults){ saveHeaderView(); ViewMode = Normal; restoreHeaderView(); emit viewModeChanged(false); } clear(); Items.clear(); if(group==NULL)return; QListentries=db->entries(group); createItems(entries); } void KeepassEntryView::createItems(QList& entries){ for (int i=0; iisValid()) continue; EntryViewItem* item = new EntryViewItem(this); Items.push_back(item); Items.back()->EntryHandle = entries[i]; updateEntry(item); } } void KeepassEntryView::updateIcons(){ for(int i=0;isetIcon(0,db->icon(Items[i]->EntryHandle->image())); } } void KeepassEntryView::refreshItems(){ for (int i=0;ibutton() == Qt::LeftButton) DragStartPos = event->pos(); QTreeWidget::mousePressEvent(event); } void KeepassEntryView::mouseMoveEvent(QMouseEvent *event){ if (!(event->buttons() & Qt::LeftButton)) return; if ((event->pos() - DragStartPos).manhattanLength() < QApplication::startDragDistance()) return; DragItems.clear(); EntryViewItem* DragStartItem=(EntryViewItem*)itemAt(DragStartPos); if(!DragStartItem){ while(selectedItems().size()){ setItemSelected(selectedItems().first(),false); } return; } if(selectedItems().isEmpty()){ setItemSelected(DragStartItem,true); } else{ bool AlreadySelected=false; for(int i=0;ilogicalIndexAt(event->pos()) != -1) { mimeData->setText(columnStringView(DragStartItem, header()->logicalIndexAt(event->pos()), true)); } mimeData->setData("application/x-keepassx-entry",QByteArray((char*)&pDragItems,sizeof(void*))); drag->setMimeData(mimeData); EventOccurredBlock = true; drag->exec(Qt::MoveAction); EventOccurredBlock = false; } void KeepassEntryView::removeDragItems(){ for(int i=0;iperform(((EntryViewItem*)selectedItems().first())->EntryHandle); } #endif void KeepassEntryView::paintEvent(QPaintEvent * event){ QTreeWidget::paintEvent(event); } EntryViewItem::EntryViewItem(QTreeWidget *parent):QTreeWidgetItem(parent){ } EntryViewItem::EntryViewItem(QTreeWidget *parent, QTreeWidgetItem *preceding):QTreeWidgetItem(parent,preceding){ } EntryViewItem::EntryViewItem(QTreeWidgetItem *parent):QTreeWidgetItem(parent){ } EntryViewItem::EntryViewItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding):QTreeWidgetItem(parent,preceding){ } bool EntryViewItem::operator<(const QTreeWidgetItem& other) const{ int SortCol = treeWidget()->header()->sortIndicatorSection(); int ListIndex = ((KeepassEntryView*)treeWidget())->header()->logicalIndex(SortCol); int comp = compare(other, SortCol, ListIndex); if (comp!=0) return (comp<0); else { int visibleCols = treeWidget()->header()->count() - treeWidget()->header()->hiddenSectionCount(); int ListIndexOrg = ListIndex; for (int i=0; iheader()->logicalIndex(i); ListIndex = ((KeepassEntryView*)treeWidget())->header()->logicalIndex(SortCol); if (ListIndex==ListIndexOrg || ListIndex==3) // sort or password column continue; comp = compare(other, SortCol, ListIndex); if (comp!=0) return (comp<0); } return true; // entries are equal } } int EntryViewItem::compare(const QTreeWidgetItem& other, int col, int index) const{ if (index < 5 || index > 8){ //columns with string values (Title, Username, Password, URL, Comment, Group) return QString::localeAwareCompare(text(col),other.text(col)); } KpxDateTime DateThis; KpxDateTime DateOther; switch (index){ case 5: DateThis=EntryHandle->expire(); DateOther=((EntryViewItem&)other).EntryHandle->expire(); break; case 6: DateThis=EntryHandle->creation(); DateOther=((EntryViewItem&)other).EntryHandle->creation(); break; case 7: DateThis=EntryHandle->lastMod(); DateOther=((EntryViewItem&)other).EntryHandle->lastMod(); break; case 8: DateThis=EntryHandle->lastAccess(); DateOther=((EntryViewItem&)other).EntryHandle->lastAccess(); break; default: Q_ASSERT(false); } if (DateThis==DateOther) return 0; else if (DateThis < DateOther) return -1; else return 1; } void KeepassEntryView::setCurrentEntry(IEntryHandle* entry){ bool found=false; int i; for(i=0;iEntryHandle==entry){found=true; break;} if(!found)return; setCurrentItem(Items.at(i)); } keepassx-0.4.3/src/lib/tools.cpp0000664000175000017500000003105111160175043015542 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #if defined(Q_WS_X11) || defined(Q_WS_MAC) #include #include #elif defined(Q_WS_WIN) #include #include #include #endif void createBanner(QPixmap* Pixmap,const QPixmap* IconAlpha,const QString& Text,int Width){ createBanner(Pixmap,IconAlpha,Text,Width,config->bannerColor1(),config->bannerColor2(),config->bannerTextColor()); } void createBanner(QPixmap* Pixmap,const QPixmap* IconAlpha,const QString& Text,int Width, QColor Color1, QColor Color2, QColor TextColor){ *Pixmap=QPixmap(Width,50); QPainter painter(Pixmap); QLinearGradient grad(0,0,Width,0); grad.setColorAt(0,Color1); grad.setColorAt(1,Color2); painter.setPen(Qt::NoPen); painter.setBrush(grad); painter.drawRect(0,0,Width,50); QPixmap Icon(32,32); if(IconAlpha){ Icon.fill(TextColor); Icon.setAlphaChannel(*IconAlpha); painter.drawPixmap(10,10,Icon); } painter.setPen(QPen(TextColor)); painter.setFont(QFont(QApplication::font().family(),16)); painter.drawText(50,35,Text); } QString decodeFileError(QFile::FileError Code){ switch(Code){ case QFile::NoError: return QApplication::translate("FileErrors","No error occurred."); case QFile::ReadError: return QApplication::translate("FileErrors","An error occurred while reading from the file."); case QFile::WriteError: return QApplication::translate("FileErrors","An error occurred while writing to the file."); case QFile::FatalError: return QApplication::translate("FileErrors","A fatal error occurred."); case QFile::ResourceError: return QApplication::translate("FileErrors","An resource error occurred."); case QFile::OpenError: return QApplication::translate("FileErrors","The file could not be opened."); case QFile::AbortError: return QApplication::translate("FileErrors","The operation was aborted."); case QFile::TimeOutError: return QApplication::translate("FileErrors","A timeout occurred."); case QFile::UnspecifiedError: return QApplication::translate("FileErrors","An unspecified error occurred."); case QFile::RemoveError: return QApplication::translate("FileErrors","The file could not be removed."); case QFile::RenameError: return QApplication::translate("FileErrors","The file could not be renamed."); case QFile::PositionError: return QApplication::translate("FileErrors","The position in the file could not be changed."); case QFile::ResizeError: return QApplication::translate("FileErrors","The file could not be resized."); case QFile::PermissionsError: return QApplication::translate("FileErrors","The file could not be accessed."); case QFile::CopyError: return QApplication::translate("FileErrors","The file could not be copied."); } return QString(); } void openBrowser(IEntryHandle* entry){ QString url = entry->url(); url.replace("{TITLE}", entry->title(), Qt::CaseInsensitive); url.replace("{USERNAME}", entry->username(), Qt::CaseInsensitive); if (url.contains("{PASSWORD}",Qt::CaseInsensitive)){ SecString password=entry->password(); password.unlock(); url.replace("{PASSWORD}", password, Qt::CaseInsensitive); } openBrowser(url); } void openBrowser(const QString& UrlString){ if (UrlString.trimmed().isEmpty()) return; if (UrlString.startsWith("cmd://") && UrlString.length()>6){ QProcess::startDetached(UrlString.right(UrlString.length()-6)); return; } QUrl url(UrlString); if(url.scheme().isEmpty()) url=QUrl("http://"+UrlString); if(config->urlCmdDef() || url.scheme()=="mailto"){ QDesktopServices::openUrl(url); } else{ QByteArray UrlEncoded = url.toEncoded(); QString browser = config->urlCmd(); if (browser.contains("%u", Qt::CaseInsensitive)) browser.replace("%u", UrlEncoded, Qt::CaseInsensitive); else if (browser.contains("%1")) browser.replace("%1", UrlEncoded); else browser.append(" ").append(UrlEncoded); QProcess::startDetached(browser); } } QString makePathRelative(const QString& AbsDir,const QString& CurDir){ QStringList abs=AbsDir.split('/'); QStringList cur=CurDir.split('/'); QString rel="./"; int common; for(common=0; common < abs.size() && common < cur.size(); common++){ if(abs[common]!=cur[common])break; } for(int i=0;iIconCache; QIcon* CachedIcon=IconCache.value(name); if(CachedIcon) return *CachedIcon; QIcon* NewIcon=NULL; if(IconLoader){ NewIcon=new QIcon(IconLoader->getIcon(name)); if(NewIcon->isNull()){ delete NewIcon; NewIcon=NULL; } else IconCache.insert(name,NewIcon); } if(!NewIcon) { NewIcon=new QIcon(getImageFile(name+".png")); IconCache.insert(name,NewIcon); } return *NewIcon; } const QPixmap* getPixmap(const QString& name){ static QHashPixmapCache; QPixmap* CachedPixmap=PixmapCache.value(name); if(CachedPixmap) return CachedPixmap; QImage img(getImageFile(name+".png")); QPixmap* NewPixmap=new QPixmap(QPixmap::fromImage(img)); PixmapCache.insert(name,NewPixmap); return NewPixmap; } bool createKeyFile(const QString& filename,QString* error,int length, bool Hex){ QFile file(filename); if(!file.open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Unbuffered)){ *error=decodeFileError(file.error()); return false; } if(Hex)length*=2; unsigned char* key=new unsigned char[length]; randomize(key,length); if(Hex){ // convert binary data to hex code (8 bit ==> 2 digits) for(int i=0; i9)key[i]='A'+dig1-10; else key[i]='0'+dig1; if(dig2>9)key[i+1]='A'+dig2-10; else key[i+1]='0'+dig2; } } if(file.write((char*)key,length)==-1){ delete [] key; *error=decodeFileError(file.error()); file.close(); return false; } file.close(); delete [] key; return true; } bool lockPage(void* addr, int len){ #if defined(Q_WS_X11) || defined(Q_WS_MAC) return (mlock(addr, len)==0); #elif defined(Q_WS_WIN) return VirtualLock(addr, len); #else return false; #endif } bool unlockPage(void* addr, int len){ #if defined(Q_WS_X11) || defined(Q_WS_MAC) return (munlock(addr, len)==0); #elif defined(Q_WS_WIN) return VirtualUnlock(addr, len); #else return false; #endif } bool syncFile(QFile* file) { if (!file->flush()) return false; #if defined(Q_WS_X11) || defined(Q_WS_MAC) return (fsync(file->handle())==0); #elif defined(Q_WS_WIN) return (_commit(file->handle())==0); #else return false; #endif } QTranslator* translator = new QTranslator(); QTranslator* qtTranslator = new QTranslator(); bool translatorActive = false; bool qtTranslatorActive = false; bool loadTranslation(QTranslator* tr,const QString& prefix,const QString& loc,const QStringList& paths){ for (int i=0;iload(prefix+loc+".qm",paths[i])) return true; } for (int i=0;iload(TrFiles[j],paths[i])) return true; } } } return false; } void deactivateTranslators(bool qtOnly=false){ if (translatorActive && !qtOnly){ QApplication::removeTranslator(translator); translatorActive = false; } if (qtTranslatorActive){ QApplication::removeTranslator(qtTranslator); qtTranslatorActive = false; } } void installTranslator(){ QString language = config->language(); if (language=="auto") language = QLocale::system().name(); if (language.isEmpty() || language=="en_US"){ deactivateTranslators(); return; } if (loadTranslation(translator,"keepassx-",language,QStringList() << HomeDir << DataDir+"/i18n/")) { if (!translatorActive){ QApplication::installTranslator(translator); translatorActive = true; } } else{ deactivateTranslators(); return; } if (loadTranslation(qtTranslator,"qt_",language,QStringList() << HomeDir << DataDir+"/i18n/" << QLibraryInfo::location(QLibraryInfo::TranslationsPath))) { if (!qtTranslatorActive){ QApplication::installTranslator(qtTranslator); qtTranslatorActive = true; } } else{ deactivateTranslators(true); } } bool isTranslationActive(){ return translatorActive; } bool operator<(const Translation& t1, const Translation& t2){ return t1.nameLong < t2.nameLong; } QList getAllTranslations(){ QTranslator tmpTranslator; QList translations; QSet names; QStringList paths = QStringList() << DataDir+"/i18n/" << HomeDir; QRegExp filename("keepassx-([^_]{2}_[^\\.]{2}|[^\\.]{2})\\.qm"); for (int i=0;i #ifdef GLOBAL_AUTOTYPE #include "AutoTypeGlobalX11.h" uint HelperX11::getShortcutModifierMask(const Shortcut& s){ AutoTypeGlobalX11* autoTypeGlobal = static_cast(autoType); uint mod = 0; if (s.ctrl) mod |= ControlMask; if (s.shift) mod |= ShiftMask; if (s.alt) mod |= autoTypeGlobal->maskAlt(); if (s.altgr) mod |= autoTypeGlobal->maskAltGr(); if (s.win) mod |= autoTypeGlobal->maskMeta(); return mod; } #endif unsigned int HelperX11::keyboardModifiers(Display* d){ Window root, child; int root_x, root_y, x, y; unsigned int mask; XQueryPointer(d, RootWindow(d, DefaultScreen(d)), &root, &child, &root_x, &root_y, &x, &y, &mask); return mask; } void HelperX11:: startCatchErrors(){ Q_ASSERT(!catchErrors); catchErrors = true; pErrorOccurred = false; oldHandler = XSetErrorHandler(x11ErrorHandler); } void HelperX11::stopCatchErrors(){ Q_ASSERT(catchErrors); XSync(QX11Info::display(), false); XSetErrorHandler(oldHandler); catchErrors = false; } int HelperX11::x11ErrorHandler(Display* display, XErrorEvent* error){ Q_UNUSED(display) Q_UNUSED(error) if (catchErrors) pErrorOccurred = true; return 1; } int (*HelperX11::oldHandler) (Display*, XErrorEvent*) = NULL; bool HelperX11::catchErrors = false; bool HelperX11::pErrorOccurred = false; KeySym HelperX11::getKeysym(const QChar& c){ ushort unicode = c.unicode(); /* first check for Latin-1 characters (1:1 mapping) */ if ((unicode >= 0x0020 && unicode <= 0x007e) || (unicode >= 0x00a0 && unicode <= 0x00ff)) return unicode; else if (unicode >= 0x0100) return unicode|0x01000000; else return NoSymbol; } keepassx-0.4.3/src/lib/AutoTypeTreeWidget.h0000664000175000017500000000305411157753314017620 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ class AutoTypeTreeWidget : public QTreeWidget { Q_OBJECT public: AutoTypeTreeWidget(QWidget* parent):QTreeWidget(parent){}; signals: void returnPressed(QTreeWidgetItem*); private: void mouseMoveEvent(QMouseEvent*); void keyPressEvent(QKeyEvent*); }; keepassx-0.4.3/src/lib/tools.h0000664000175000017500000000537211157455333015227 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef TOOLS_H #define TOOLS_H class IEntryHandle; enum tKeyType {PASSWORD=0,KEYFILE=1,BOTH=2}; struct Translation { QString nameCode; QString nameLong; QString nameEnglish; QString author; }; bool operator<(const Translation& t1, const Translation& t2); #define CSTR(x)(QTextCodec::codecForLocale()->fromUnicode(x).constData()) const QIcon& getIcon(const QString& name); const QPixmap* getPixmap(const QString& name); void createBanner(QPixmap* Pixmap, const QPixmap* IconAlpha,const QString& Text,int Width); void createBanner(QPixmap* Pixmap, const QPixmap* IconAlpha,const QString& Text,int Width, QColor Color1, QColor Color2, QColor TextColor); void openBrowser(const QString& UrlString); void openBrowser(IEntryHandle* entry); void showErrMsg(const QString& msg,QWidget* parent=NULL); QString decodeFileError(QFile::FileError Code); QString makePathRelative(const QString& Abs,const QString& Cur); QString getImageFile(const QString& name); bool createKeyFile(const QString& filename,QString* err, int length=32, bool Hex=true); bool lockPage(void* addr, int len); bool unlockPage(void* addr, int len); bool syncFile(QFile* file); void installTranslator(); bool isTranslationActive(); QList getAllTranslations(); #ifdef Q_OS_WIN #ifndef CSIDL_APPDATA #define CSIDL_APPDATA 0x001a // \Application Data #endif QString qtWindowsConfigPath(int type); #endif #endif //TOOLS_H keepassx-0.4.3/src/lib/AutoTypeX11.cpp0000664000175000017500000005426411253202376016464 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi, Felix Geyer * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "AutoTypeX11.h" #include "mainwindow.h" #include "lib/HelperX11.h" #include #ifndef GLOBAL_AUTOTYPE AutoType* autoType = NULL; void initAutoType(KeepassMainWindow* mainWin) { autoType = new AutoTypeX11(mainWin); } #endif AutoTypeAction::AutoTypeAction(AutoTypeActionType t, KeySym d) : type(t), data(d){ } AutoTypeX11::AutoTypeX11(KeepassMainWindow* mainWin) { this->mainWin = mainWin; dpy = QX11Info::display(); inAutoType = false; keysym_table = NULL; alt_mask = 0; meta_mask = 0; altgr_mask = 0; altgr_keysym = NoSymbol; updateKeymap(); reReadKeymap = false; } void AutoTypeX11::updateKeymap() { ReadKeymap(); if (!altgr_mask) AddModifier(XK_Mode_switch); if (!meta_mask) meta_mask = Mod4Mask; } Window AutoTypeX11::getFocusWindow() { Window w; int revert_to_return; XGetInputFocus(dpy, &w, &revert_to_return); int tree; do { XTextProperty textProp; if (XGetWMName(dpy, w, &textProp) != 0) { break; } Window root = 0; Window parent = 0; Window* children = NULL; unsigned int num_children; tree = XQueryTree(dpy, w, &root, &parent, &children, &num_children); w = parent; if (children) XFree(children); } while (tree && w); return w; } void AutoTypeX11::perform(IEntryHandle* entry, bool hideWindow, int nr, bool wasLocked){ if (inAutoType) return; inAutoType = true; QString indexStr; if (nr==0) indexStr = "Auto-Type:"; else indexStr = QString("Auto-Type-%1:").arg(nr); QString str; QString comment=entry->comment(); int c=comment.count(indexStr, Qt::CaseInsensitive); if(c>1) { qWarning("More than one 'Auto-Type:' key sequence found.\nAllowed is only one per entry."); return; } else if (c==1) { int start = comment.indexOf(indexStr,0,Qt::CaseInsensitive) + indexStr.length(); int end = comment.indexOf("\n", start); if (end == -1) end = comment.length(); str=comment.mid(start,end-start).trimmed(); if (str.isEmpty()) return; } else { bool usernameEmpty = entry->username().trimmed().isEmpty(); SecString password=entry->password(); password.unlock(); bool passwordEmpty = password.string().trimmed().isEmpty(); if (usernameEmpty && passwordEmpty) return; else if (usernameEmpty) str="{PASSWORD}{ENTER}"; else if (passwordEmpty) str="{USERNAME}{ENTER}"; else str="{USERNAME}{TAB}{PASSWORD}{ENTER}"; } QList Keys; for(int i=0;i=str.size()){ qWarning("Syntax Error in Auto-Type sequence near character %d\nFound '{' without closing '}'", i+10); return; } templateToKeysyms(tmpl.toLower(),Keys,entry); continue; } else{ Keys << AutoTypeAction(TypeKey, str[i].unicode()); } } /* Re-read keymap before first auto-type, seems to be necessary on X.Org Server 1.6, when KeePassX is in autostart */ if (!reReadKeymap) { updateKeymap(); reReadKeymap = true; } if (hideWindow) mainWin->hide(); QApplication::processEvents(); sleepTime(config->autoTypePreGap()); if (!focusWindow) focusWindow = getFocusWindow(); QString type; for(int i=0;ilockOnMinimize()){ if (hideWindow || wasLocked){ if ( !(config->showSysTrayIcon() && config->minimizeTray()) ) mainWin->showMinimized(); else mainWin->OnUnLockWorkspace(); } } else{ if (hideWindow && !(config->showSysTrayIcon() && config->minimizeTray()) ) mainWin->showMinimized(); } inAutoType = false; focusWindow = NULL; } void AutoTypeX11::sleepTime(int msec){ if (msec==0) return; timespec timeOut, remains; timeOut.tv_sec = msec/1000; timeOut.tv_nsec = (msec%1000)*1000000; nanosleep(&timeOut, &remains); } void AutoTypeX11::templateToKeysyms(const QString& tmpl, QList& keys,IEntryHandle* entry){ //tmpl must be lower case!!! if(!tmpl.compare("title")){ stringToKeysyms(entry->title(),keys); return; } if(!tmpl.compare("username")){ stringToKeysyms(entry->username(),keys); return; } if(!tmpl.compare("url")){ stringToKeysyms(entry->url(),keys); return; } if(!tmpl.compare("password")){ SecString password=entry->password(); password.unlock(); stringToKeysyms(password,keys); return; } if(!tmpl.compare("space")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym(' ')); return; } if(!tmpl.compare("backspace") || !tmpl.compare("bs") || !tmpl.compare("bksp")){ keys << AutoTypeAction(TypeKey, XK_BackSpace); return; } if(!tmpl.compare("break")){ keys << AutoTypeAction(TypeKey, XK_Break); return; } if(!tmpl.compare("capslock")){ keys << AutoTypeAction(TypeKey, XK_Caps_Lock); return; } if(!tmpl.compare("del") || !tmpl.compare("delete")){ keys << AutoTypeAction(TypeKey, XK_Delete); return; } if(!tmpl.compare("end")){ keys << AutoTypeAction(TypeKey, XK_End); return; } if(!tmpl.compare("enter")){ keys << AutoTypeAction(TypeKey, XK_Return); return; } if(!tmpl.compare("esc")){ keys << AutoTypeAction(TypeKey, XK_Escape); return; } if(!tmpl.compare("help")){ keys << AutoTypeAction(TypeKey, XK_Help); return; } if(!tmpl.compare("home")){ keys << AutoTypeAction(TypeKey, XK_Home); return; } if(!tmpl.compare("insert") || !tmpl.compare("ins")){ keys << AutoTypeAction(TypeKey, XK_Insert); return; } if(!tmpl.compare("numlock")){ keys << AutoTypeAction(TypeKey, XK_Num_Lock); return; } if(!tmpl.compare("scroll")){ keys << AutoTypeAction(TypeKey, XK_Scroll_Lock); return; } if(!tmpl.compare("pgdn")){ keys << AutoTypeAction(TypeKey, XK_Page_Down); return; } if(!tmpl.compare("pgup")){ keys << AutoTypeAction(TypeKey, XK_Page_Up); return; } if(!tmpl.compare("prtsc")){ keys << AutoTypeAction(TypeKey, XK_3270_PrintScreen); return; } if(!tmpl.compare("up")){ keys << AutoTypeAction(TypeKey, XK_Up); return; } if(!tmpl.compare("down")){ keys << AutoTypeAction(TypeKey, XK_Down); return; } if(!tmpl.compare("left")){ keys << AutoTypeAction(TypeKey, XK_Left); return; } if(!tmpl.compare("right")){ keys << AutoTypeAction(TypeKey, XK_Right); return; } if(!tmpl.compare("f1")){ keys << AutoTypeAction(TypeKey, XK_F1); return; } if(!tmpl.compare("f2")){ keys << AutoTypeAction(TypeKey, XK_F2); return; } if(!tmpl.compare("f3")){ keys << AutoTypeAction(TypeKey, XK_F3); return; } if(!tmpl.compare("f4")){ keys << AutoTypeAction(TypeKey, XK_F4); return; } if(!tmpl.compare("f5")){ keys << AutoTypeAction(TypeKey, XK_F5); return; } if(!tmpl.compare("f6")){ keys << AutoTypeAction(TypeKey, XK_F6); return; } if(!tmpl.compare("f7")){ keys << AutoTypeAction(TypeKey, XK_F7); return; } if(!tmpl.compare("f8")){ keys << AutoTypeAction(TypeKey, XK_F8); return; } if(!tmpl.compare("f9")){ keys << AutoTypeAction(TypeKey, XK_F9); return; } if(!tmpl.compare("f10")){ keys << AutoTypeAction(TypeKey, XK_F10); return; } if(!tmpl.compare("f11")){ keys << AutoTypeAction(TypeKey, XK_F11); return; } if(!tmpl.compare("f12")){ keys << AutoTypeAction(TypeKey, XK_F12); return; } if(!tmpl.compare("f13")){ keys << AutoTypeAction(TypeKey, XK_F13); return; } if(!tmpl.compare("f14")){ keys << AutoTypeAction(TypeKey, XK_F14); return; } if(!tmpl.compare("f15")){ keys << AutoTypeAction(TypeKey, XK_F15); return; } if(!tmpl.compare("f16")){ keys << AutoTypeAction(TypeKey, XK_F16); return; } if(!tmpl.compare("add") || !tmpl.compare("plus")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('+')); return; } if(!tmpl.compare("subtract")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('-')); return; } if(!tmpl.compare("multiply")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('+')); return; } if(!tmpl.compare("divide")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('/')); return; } if(!tmpl.compare("at")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('@')); return; } if(!tmpl.compare("percent")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('%')); return; } if(!tmpl.compare("caret")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('^')); return; } if(!tmpl.compare("tilde")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('~')); return; } if(!tmpl.compare("leftbrace")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('{')); return; } if(!tmpl.compare("rightbrace")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('}')); return; } if(!tmpl.compare("leftparen")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym('(')); return; } if(!tmpl.compare("rightparen")){ keys << AutoTypeAction(TypeKey, HelperX11::getKeysym(')')); return; } if(!tmpl.compare("winl")){ keys << AutoTypeAction(TypeKey, XK_Super_L); return; } if(!tmpl.compare("winr")){ keys << AutoTypeAction(TypeKey, XK_Super_R); return; } if(!tmpl.compare("win")){ keys << AutoTypeAction(TypeKey, XK_Super_L); return; } if(!tmpl.compare("tab")){ keys << AutoTypeAction(TypeKey, XK_Tab); return; } if(tmpl.startsWith("delay ") && tmpl.length()>6){ bool ok; quint16 delay = tmpl.right(tmpl.length()-6).toInt(&ok); if (ok && delay>0 && delay<=10000) keys << AutoTypeAction(Delay, delay); } } void AutoTypeX11::stringToKeysyms(const QString& string,QList& KeySymList){ for(int i=0; i * http://homepage3.nifty.com/tsato/ * * 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 * of the License, or any later version. * * 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. */ /* * Insert a specified keysym to unused position in the keymap table. * This will be called to add required keysyms on-the-fly. * if the second parameter is TRUE, the keysym will be added to the * non-shifted position - this may be required for modifier keys * (e.g. Mode_switch) and some special keys (e.g. F20). */ int AutoTypeX11::AddKeysym(KeySym keysym, bool top) { int keycode, pos, max_pos, inx, phase; if (top) { max_pos = 0; } else { max_pos = keysym_per_keycode - 1; if (4 <= max_pos) max_pos = 3; if (2 <= max_pos && altgr_keysym != XK_Mode_switch) max_pos = 1; } for (phase = 0; phase < 2; phase++) { for (keycode = max_keycode; min_keycode <= keycode; keycode--) { for (pos = max_pos; 0 <= pos; pos--) { inx = (keycode - min_keycode) * keysym_per_keycode; if ((phase != 0 || keysym_table[inx] == NoSymbol) && keysym_table[inx] < 0xFF00) { /* In the first phase, to avoid modifing existing keys, */ /* add the keysym only to the keys which has no keysym in the first position. */ /* If no place fuond in the first phase, add the keysym for any keys except */ /* for modifier keys and other special keys */ if (keysym_table[inx + pos] == NoSymbol) { keysym_table[inx + pos] = keysym; XChangeKeyboardMapping(dpy, keycode, keysym_per_keycode, &keysym_table[inx], 1); XFlush(dpy); return keycode; } } } } } qWarning("Couldn't add \"%s\" to keymap", XKeysymToString(keysym)); return NoSymbol; } /* * Add the specified key as a new modifier. * This is used to use Mode_switch (AltGr) as a modifier. */ void AutoTypeX11::AddModifier(KeySym keysym) { XModifierKeymap *modifiers; int keycode, i, pos; keycode = XKeysymToKeycode(dpy, keysym); if (keycode == NoSymbol) keycode = AddKeysym(keysym, TRUE); modifiers = XGetModifierMapping(dpy); for (i = 7; 3 < i; i--) { if (modifiers->modifiermap[i * modifiers->max_keypermod] == NoSymbol || ((keysym_table[(modifiers->modifiermap[i * modifiers->max_keypermod] - min_keycode) * keysym_per_keycode]) == XK_ISO_Level3_Shift && keysym == XK_Mode_switch)) { for (pos = 0; pos < modifiers->max_keypermod; pos++) { if (modifiers->modifiermap[i * modifiers->max_keypermod + pos] == NoSymbol) { modifiers->modifiermap[i * modifiers->max_keypermod + pos] = keycode; XSetModifierMapping(dpy, modifiers); return; } } } } qWarning("Couldn't add \"%s\" as modifier", XKeysymToString(keysym)); } /* * Read keyboard mapping and modifier mapping. * Keyboard mapping is used to know what keys are in shifted position. * Modifier mapping is required because we should know Alt and Meta * key are used as which modifier. */ void AutoTypeX11::ReadKeymap() { int i; int keycode, inx, pos; KeySym keysym; XModifierKeymap *modifiers; int last_altgr_mask; XDisplayKeycodes(dpy, &min_keycode, &max_keycode); if (keysym_table != NULL) XFree(keysym_table); keysym_table = XGetKeyboardMapping(dpy, min_keycode, max_keycode - min_keycode + 1, &keysym_per_keycode); for (keycode = min_keycode; keycode <= max_keycode; keycode++) { /* if the first keysym is alphabet and the second keysym is NoSymbol, it is equivalent to pair of lowercase and uppercase alphabet */ inx = (keycode - min_keycode) * keysym_per_keycode; if (keysym_table[inx + 1] == NoSymbol && ((XK_A <= keysym_table[inx] && keysym_table[inx] <= XK_Z) || (XK_a <= keysym_table[inx] && keysym_table[inx] <= XK_z))) { if (XK_A <= keysym_table[inx] && keysym_table[inx] <= XK_Z) keysym_table[inx] = keysym_table[inx] - XK_A + XK_a; keysym_table[inx + 1] = keysym_table[inx] - XK_a + XK_A; } } last_altgr_mask = altgr_mask; alt_mask = 0; meta_mask = 0; altgr_mask = 0; altgr_keysym = NoSymbol; modifiers = XGetModifierMapping(dpy); for (i = 0; i < 8; i++) { for (pos = 0; pos < modifiers->max_keypermod; pos++) { keycode = modifiers->modifiermap[i * modifiers->max_keypermod + pos]; if (keycode < min_keycode || max_keycode < keycode) continue; keysym = keysym_table[(keycode - min_keycode) * keysym_per_keycode]; if (keysym == XK_Alt_L || keysym == XK_Alt_R) { alt_mask = 1 << i; } else if (keysym == XK_Meta_L || keysym == XK_Meta_R) { meta_mask = 1 << i; } else if (keysym == XK_Mode_switch) { if (altgr_keysym == XK_ISO_Level3_Shift) { } else { altgr_mask = 0x0101 << i; /* I don't know why, but 0x2000 was required for mod3 on my Linux box */ altgr_keysym = keysym; } } else if (keysym == XK_ISO_Level3_Shift) { /* if no Mode_switch, try to use ISO_Level3_Shift instead */ /* however, it may not work as intended - I don't know why */ altgr_mask = 1 << i; altgr_keysym = keysym; } } } XFreeModifiermap(modifiers); } /* * Send event to the focused window. * If input focus is specified explicitly, select the window * before send event to the window. */ void AutoTypeX11::SendEvent(XKeyEvent *event) { XSync(event->display, FALSE); int (*oldHandler) (Display*, XErrorEvent*) = XSetErrorHandler(MyErrorHandler); XTestFakeKeyEvent(event->display, event->keycode, event->type == KeyPress, 0); XFlush(event->display); XSetErrorHandler(oldHandler); } /* * Send sequence of KeyPressed/KeyReleased events to the focused * window to simulate keyboard. If modifiers (shift, control, etc) * are set ON, many events will be sent. */ void AutoTypeX11::SendKeyPressedEvent(KeySym keysym, unsigned int shift) { Window cur_focus; int revert_to; XKeyEvent event; int keycode; int phase, inx; bool found; XGetInputFocus(dpy, &cur_focus, &revert_to); found = FALSE; keycode = 0; if (keysym != NoSymbol) { for (phase = 0; phase < 2; phase++) { for (keycode = min_keycode; !found && (keycode <= max_keycode); keycode++) { /* Determine keycode for the keysym: we use this instead of XKeysymToKeycode() because we must know shift_state, too */ inx = (keycode - min_keycode) * keysym_per_keycode; if (keysym_table[inx] == keysym) { shift &= ~altgr_mask; if (keysym_table[inx + 1] != NoSymbol) shift &= ~ShiftMask; found = TRUE; break; } else if (keysym_table[inx + 1] == keysym) { shift &= ~altgr_mask; shift |= ShiftMask; found = TRUE; break; } } if (!found && altgr_mask && 3 <= keysym_per_keycode) { for (keycode = min_keycode; !found && (keycode <= max_keycode); keycode++) { inx = (keycode - min_keycode) * keysym_per_keycode; if (keysym_table[inx + 2] == keysym) { shift &= ~ShiftMask; shift |= altgr_mask; found = TRUE; break; } else if (4 <= keysym_per_keycode && keysym_table[inx + 3] == keysym) { shift |= ShiftMask | altgr_mask; found = TRUE; break; } } } if (found) break; if (0xF000 <= keysym) { /* for special keys such as function keys, first try to add it in the non-shifted position of the keymap */ if (AddKeysym(keysym, TRUE) == NoSymbol) AddKeysym(keysym, FALSE); } else { AddKeysym(keysym, FALSE); } } } event.display = dpy; event.window = cur_focus; event.root = RootWindow(event.display, DefaultScreen(event.display)); event.subwindow = None; event.time = CurrentTime; event.x = 1; event.y = 1; event.x_root = 1; event.y_root = 1; event.same_screen = TRUE; Window root, child; int root_x, root_y, x, y; unsigned int mask; XQueryPointer(dpy, event.root, &root, &child, &root_x, &root_y, &x, &y, &mask); event.type = KeyRelease; event.state = 0; if (mask & ControlMask) { event.keycode = XKeysymToKeycode(dpy, XK_Control_L); SendEvent(&event); } if (mask & alt_mask) { event.keycode = XKeysymToKeycode(dpy, XK_Alt_L); SendEvent(&event); } if (mask & meta_mask) { event.keycode = XKeysymToKeycode(dpy, XK_Meta_L); SendEvent(&event); } if (mask & altgr_mask) { event.keycode = XKeysymToKeycode(dpy, altgr_keysym); SendEvent(&event); } if (mask & ShiftMask) { event.keycode = XKeysymToKeycode(dpy, XK_Shift_L); SendEvent(&event); } if (mask & LockMask) { event.keycode = XKeysymToKeycode(dpy, XK_Caps_Lock); SendEvent(&event); } event.type = KeyPress; event.state = 0; if (shift & ControlMask) { event.keycode = XKeysymToKeycode(dpy, XK_Control_L); SendEvent(&event); event.state |= ControlMask; } if (shift & alt_mask) { event.keycode = XKeysymToKeycode(dpy, XK_Alt_L); SendEvent(&event); event.state |= alt_mask; } if (shift & meta_mask) { event.keycode = XKeysymToKeycode(dpy, XK_Meta_L); SendEvent(&event); event.state |= meta_mask; } if (shift & altgr_mask) { event.keycode = XKeysymToKeycode(dpy, altgr_keysym); SendEvent(&event); event.state |= altgr_mask; } if (shift & ShiftMask) { event.keycode = XKeysymToKeycode(dpy, XK_Shift_L); SendEvent(&event); event.state |= ShiftMask; } if (keysym != NoSymbol) { /* send event for the key itself */ event.keycode = found ? keycode : XKeysymToKeycode(dpy, keysym); if (event.keycode == NoSymbol) { if ((keysym & ~0x7f) == 0 && isprint(keysym)) qWarning("No such key: %c", (char)keysym); else if (XKeysymToString(keysym) != NULL) qWarning("No such key: keysym=%s (0x%lX)", XKeysymToString(keysym), (long)keysym); else qWarning("No such key: keysym=0x%lX", (long)keysym); } else { SendEvent(&event); event.type = KeyRelease; SendEvent(&event); } } event.type = KeyRelease; if (shift & ShiftMask) { event.keycode = XKeysymToKeycode(dpy, XK_Shift_L); SendEvent(&event); event.state &= ~ShiftMask; } if (shift & altgr_mask) { event.keycode = XKeysymToKeycode(dpy, altgr_keysym); SendEvent(&event); event.state &= ~altgr_mask; } if (shift & meta_mask) { event.keycode = XKeysymToKeycode(dpy, XK_Meta_L); SendEvent(&event); event.state &= ~meta_mask; } if (shift & alt_mask) { event.keycode = XKeysymToKeycode(dpy, XK_Alt_L); SendEvent(&event); event.state &= ~alt_mask; } if (shift & ControlMask) { event.keycode = XKeysymToKeycode(dpy, XK_Control_L); SendEvent(&event); event.state &= ~ControlMask; } } int AutoTypeX11::MyErrorHandler(Display *my_dpy, XErrorEvent *event) { char msg[200]; if (event->error_code == BadWindow) { return 0; } XGetErrorText(my_dpy, event->error_code, msg, sizeof(msg) - 1); qWarning("X error trapped: %s, request-code=%d\n", msg, event->request_code); return 0; } keepassx-0.4.3/src/lib/SecString.h0000664000175000017500000000555111130522144015751 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * tarek@linux * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _SECSTRING_H_ #define _SECSTRING_H_ #include "crypto/arcfour.h" class SecData; //! QString based class with in-memory encryption of its content. /*! This class can hold a QString object in an encrypted buffer. To get access to the string it is neccassary to unlock the SecString object. */ class SecString{ friend class SecData; public: SecString(); ~SecString(); /*! Sets the content of the object. The SecString is locked after this operation. \param Source The string which should be set as content of the SecString. \param DelSrc Set this parameter TRUE if you want that SecString overwrites an deletes the source string.*/ void setString(QString& Source, bool DelSrc=false); /*! Locks the string. That means that the unencrypted string will be overwritten and deleted and only the encrypted buffer remains. It is forbidden to call the function string() when the SecString is locked.*/ void lock(); void unlock(); const QString& string(); operator QString(); int length(); static void overwrite(unsigned char* str,int len); static void overwrite(QString& str); static void generateSessionKey(); static void deleteSessionKey(); private: static CArcFour RC4; static quint8* sessionkey; bool locked; QByteArray crypt; QString plain; }; class SecData{ public: SecData(int len); ~SecData(); void lock(); void unlock(); void copyData(quint8* src); void copyData(SecData& secData); quint8* operator*(); private: quint8* data; int length; bool locked; }; #endif keepassx-0.4.3/src/lib/WaitAnimationWidget.cpp0000664000175000017500000000610711160162160020312 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "WaitAnimationWidget.h" WaitAnimationWidget::WaitAnimationWidget(QWidget* parent):QWidget(parent){ speed=60; setRefreshRate(25); CurAngle=0; for(int i=0;i<6;i++){ float diff=CurAngle-i*0.16666667f; if(diff>0.5f) diff=1.0f-diff; if(diff<-0.5f) diff=1.0f+diff; CircSizes[i]=1.0+exp(-14.0f*diff*diff); } connect(&timer,SIGNAL(timeout()),this,SLOT(refreshAnimation())); } WaitAnimationWidget::~WaitAnimationWidget(){ timer.stop(); } void WaitAnimationWidget::start(){ timer.start(); } void WaitAnimationWidget::stop(){ timer.stop(); repaint(); } void WaitAnimationWidget::setRefreshRate(int fps){ DiffAngle=1.0f/((60.0f/(float)speed)*(float)fps); timer.setInterval((int) ((1.0f/(float)fps)*1000.0f)); } void WaitAnimationWidget::refreshAnimation(){ CurAngle+=DiffAngle; if(CurAngle>1.0f)CurAngle-=1.0f; for(int i=0;i<6;i++){ float diff=CurAngle-i*0.16666667f; if(diff>0.5f) diff=1.0f-diff; if(diff<-0.5f) diff=1.0f+diff; CircSizes[i]=1.0+exp(-14.0f*diff*diff); } repaint(); } void WaitAnimationWidget::paintEvent(QPaintEvent* event){ Q_UNUSED(event); if(timer.isActive()){ QPainter painter(this); painter.setRenderHints(QPainter::Antialiasing,true); painter.setBrush(Qt::black); painter.setPen(Qt::black); for(int i=0;i<6;i++){ float d=CircSizes[i]*5.0; QRectF rect(CircPositions[i].x()-d/2,CircPositions[i].y()-d/2,d,d); painter.drawEllipse(rect); } } } void WaitAnimationWidget::resizeEvent(QResizeEvent* event){ Q_UNUSED(event); float r; if(width()>height()) r=height()/2; else r=width()/2; for(int i=0;i<6;i++){ CircPositions[i].setX((r-10)*cos(-2.0*3.14159265*(0.16666667*i))+r); CircPositions[i].setY((r-10)*sin(-2.0*3.14159265*(0.16666667*i))+r); } } keepassx-0.4.3/src/main_win32.cpp0000664000175000017500000000433610766023475015624 0ustar felixfelix/*************************************************************************** * Copyright (C) 1992-2007 Trolltech ASA * * * * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "main.h" void initAppPaths(int argc,char** argv){ QFileInfo filePath; QT_WA({ wchar_t module_name[256]; GetModuleFileNameW(0, module_name, sizeof(module_name) / sizeof(wchar_t)); filePath = QString::fromUtf16((ushort *)module_name); }, { char module_name[256]; GetModuleFileNameA(0, module_name, sizeof(module_name)); filePath = QString::fromLocal8Bit(module_name); }); AppDir = filePath.filePath(); AppDir.truncate(AppDir.lastIndexOf("/")); HomeDir = QString::fromLocal8Bit(qgetenv("APPDATA").constData()); if(!HomeDir.isEmpty() && QFile::exists(HomeDir)) HomeDir = QDir::fromNativeSeparators(HomeDir)+"/KeePassX"; else HomeDir = QDir::homePath()+"/KeePassX"; DataDir=AppDir+"/share"; } keepassx-0.4.3/src/Database.h0000664000175000017500000004267711311023456015023 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2006 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _DATABASE_H_ #define _DATABASE_H_ extern const QDateTime Date_Never; enum CryptAlgorithm{ Rijndael_Cipher=0, Twofish_Cipher=1 }; //! Universally Unique Identifier Class. /*! Provides generation, serialization, deserialization and comparison of UUIDs. */ class KpxUuid{ public: KpxUuid(); KpxUuid(const void* src); void generate(); QString toString() const; const unsigned char* data()const {return (const unsigned char*) Data.data();} void toRaw(void* dst)const; void fromRaw(const void* src); bool operator==(const KpxUuid&) const; bool operator!=(const KpxUuid&) const; private: QByteArray Data; }; //! Advanced DateTime Class. /*! This class advances the standard Qt class 'QDateTime' with KeePassX specific methods for string conversion. */ class KpxDateTime:public QDateTime{ public: KpxDateTime(){}; KpxDateTime ( const QDate & date ):QDateTime(date){}; KpxDateTime ( const QDate & date, const QTime & time, Qt::TimeSpec spec = Qt::LocalTime):QDateTime(date,time,spec){}; KpxDateTime ( const QDateTime & other ):QDateTime(other){}; //! Returns a string representation of the DateTime object in the given format or "Never" if the DateTime value is 28.12.2999 23:59:59. virtual QString toString(Qt::DateFormat format = Qt::TextDate ) const; //! Returns a string representation of the date part of the DateTime object in the given format or "Never" if the DateTime value is 28.12.2999 23:59:59. QString dateToString(Qt::DateFormat format = Qt::TextDate)const; static KpxDateTime fromString(const QString& string,Qt::DateFormat format = Qt::TextDate); bool operator<(const QDateTime& other); }; //! Entry Data Structure /*! This class holds the data of a normal database entry. It is used by some interface functions to process predefined entries and can be used for internal data handling.*/ class CEntry{ public: CEntry(); KpxUuid Uuid; quint32 GroupId; quint32 Image; QString Title; QString Url; QString Username; SecString Password; QString Comment; QString BinaryDesc; KpxDateTime Creation; KpxDateTime LastMod; KpxDateTime LastAccess; KpxDateTime Expire; QByteArray Binary; bool operator==(const CEntry& other) const; }; //! Group Data Structure /*! This class holds the data of a normal database group. It is used by some interface functions to process predefined groups and can be used for internal data handling.*/ class CGroup{ public: CGroup(); quint32 Id; quint32 Image; QString Title; bool operator==(const CGroup& other) const; bool IsExpanded; }; class IGroupHandle; class IEntryHandle; //! Handle class interface for accessing entries /*! The IEntryHandle interface provides access to Entry data structures without using direct references. Every entry handle class must implement this interface necessarily. */ class IEntryHandle{ public: virtual void setImage(const quint32& ImageID)=0; virtual void setTitle(const QString& Title)=0; virtual void setUrl(const QString& URL)=0; virtual void setUsername(const QString& Username)=0; virtual void setPassword(const SecString& Password)=0; virtual void setComment(const QString& Comment)=0; virtual void setBinaryDesc(const QString& BinaryDesc)=0; virtual void setCreation(const KpxDateTime& Creation)=0; virtual void setLastMod(const KpxDateTime& LastMod)=0; virtual void setLastAccess(const KpxDateTime& LastAccess)=0; virtual void setExpire(const KpxDateTime& Expire)=0; virtual void setBinary(const QByteArray& BinaryData)=0; virtual KpxUuid uuid()const=0; virtual IGroupHandle* group()const=0; virtual quint32 image()const=0; virtual QString title()const=0; virtual QString url()const=0; virtual QString username()const=0; virtual SecString password()const=0; virtual QString comment()const=0; virtual QString binaryDesc()const=0; virtual KpxDateTime creation()const=0; virtual KpxDateTime lastMod()const=0; virtual KpxDateTime lastAccess()const=0; virtual KpxDateTime expire()const=0; virtual QByteArray binary()const=0; virtual quint32 binarySize()const=0; virtual QString friendlySize()const=0; //! \return the index of the entry amongst the entries of its group. The index of the first entry is 0. virtual int visualIndex()const=0; /*! Sets the visual index of an entry. The indices of all other entries in the same group get automaticly readjusted by this function. \param index The new visual index. */ virtual void setVisualIndex(int index)=0; /*! Sets the visual index of an entry. The indices of all other entries in the same group need to be adjusted manually! This function is optimal to avoid readjustion overhead when sorting items. \param index The new visual index. */ virtual void setVisualIndexDirectly(int index)=0; /*! Tests the validity of the handle. \return TRUE if the handle is valid and FALSE if the handle is invalid e.g. because the associated entry was deleted.*/ virtual bool isValid()const=0; virtual CEntry data()const=0; }; //! Custom Icon Interface /*! This class provides an interface for the management of custom icons. The implementation is optional and not necessarily needed. */ class ICustomIcons:public QObject{ Q_OBJECT public: /*! Adds a new custom icon to the database. \param icon The pixmap which contains the new icon. This function makes a copy of the given pixmap. */ virtual void addIcon(const QPixmap& icon)=0; /*! Removes an icon. \param index The index of the icon which should be removed. Built-in icons cannot be removed so make sure that index is not the index of an Built-in icon before calling this function. */ virtual void removeIcon(int index)=0; /*! Replaces one icon with another one. \param index The index of the icon which should be replaced. Built-in icons cannot be replaced so make sure that index is not the index of an Built-in icon before calling this function. \param icon The pixmap which contains the new icon. */ virtual void replaceIcon(int index,const QPixmap& icon)=0; signals: /*! This signal is emitted when an icon was modified. That means it is emitted after every call off addIcon(), removeIcon() and replaceIcon(). */ void iconsModified(); }; //! Handle class interface for accessing groups /*! The IGroupHandle interface provides access to CGroup data structures without using direct references. Every entry handle class must implement this interface necessarily. */ class IGroupHandle{ public: virtual void setTitle(const QString& Title)=0; virtual void setImage(const quint32& ImageID)=0; virtual QString title()=0; virtual quint32 image()=0; //! \return a pointer to the handle of the parent group or NULL if the group has no parent. virtual IGroupHandle* parent()=0; //! \return a List of pointers to the handles of all children of the group and an empty list if the group has no children. The list is sorted. virtual QList children()=0; //! \return the index of the group amongst the children of its parent. The index of the first child is 0. virtual int index()=0; /*! Sets the index of a group amongst the children of its parent. This function can be used to sort the groups of the database in a specific order. \param index The new index of the group. The indices of the other groups which are affected by this operation will be automatically adjusted.*/ //virtual void setIndex(int index)=0; /*! Tests the validity of the handle. \return TRUE if the handle is valid and FALSE if the handle is invalid e.g. because the associated group was deleted.*/ virtual bool isValid()=0; /*! \return the level of the group in the group tree. This level is tantamount to the number of parents that the group has. */ virtual int level()=0; virtual bool expanded()=0; virtual void setExpanded(bool)=0; }; //! Common Database Interface. /*! This is the common base interface for databases. Every database class must implement this interface necessarily. */ class IDatabase{ public: virtual ~IDatabase(){}; virtual bool setKey(const QString& password,const QString& keyfile)=0; virtual bool isKeyError()=0; virtual void generateMasterKey()=0; //! Loads a database. /*! It is not allowed to call this function if a database is already loaded. \param identifier Normally this is the filename of the database but it can also be an IP address or something else if the database is not file based. \return TRUE if loading was successfull, otherwise FALSE. */ virtual bool load(QString identifier, bool readOnly)=0; //! Saves the current database. /*! It is not allowed to call this function if no database is loaded. \return TRUE if saving was successfull, otherwise FALSE. */ virtual bool save()=0; //! Closes the current database. /*! After a call of this function the database object can be used to load another database. It is not allowed to call this function if no database is loaded. Please note: The database will be closed without saving it in before. * \return TRUE if closing was successfull, otherwise FALSE. */ virtual bool close()=0; //! Creates a new database. /*! It is not allowed to call this function if a database is already loaded. \return TRUE if saving was successfull, otherwise FALSE. */ virtual void create()=0; virtual bool changeFile(const QString& filename)=0; virtual QFile* file()=0; //! \return a list with the pointers to the handles of all entries of the database. The list contains only valid handles. The list is not sorted. virtual QList entries()=0; //! \param Group The group which contains the wanted entries. //! \return a list of pointers to the handles of all entries which belong to the given group. The list contains only valid handles and is sorted in an ascending order regarding to the entry indices. virtual QList entries(IGroupHandle* Group)=0; //! \param Group The group which contains the wanted entries. //! \return a list of pointers to the handles of all entries which belong to the given group. The list contains only valid handles and is sorted in an ascending order (title, username). virtual QList entriesSortedStd(IGroupHandle* Group)=0; //! \return a list with the pointers to the handles of all expired entries of the database. The list contains only valid handles. The list is not sorted. virtual QList expiredEntries()=0; //! \return a list with the pointers to the handles of all entries of the database. The list contains only valid handles and is not sorted. virtual QList groups()=0; /*! This function might be slower than groups() - denpending on the implementation. \return a list with the pointers to the handles of all entries of the database. The list ist sorted and contains only valid handles.*/ virtual QList sortedGroups()=0; /*! \return handle of the backup group or NULL if it doesn't exist \param create Create the backup group if it doesn't exist */ virtual IGroupHandle* backupGroup(bool create=false)=0; /*! \return the last error message or an empty QString() object if no error occured.*/ virtual QString getError()=0; /*! Creates a clone of a given entry. All attributes besides the UUID are copied, even the creation date. \param entry The handle of the entry which should be cloned. \return a pointer to the handle of the cloned entry. */ virtual IEntryHandle* cloneEntry(const IEntryHandle* entry)=0; /*! Deletes a given entry. \param entry The handle of the entry which should be deleted. */ virtual void deleteEntry(IEntryHandle* entry)=0; /*! Deletes the last added entry. This function should only be called immediately after an addEntry() call, otherwise the behavior is undefined. Immediately means that there are no other add/move/delete operations between the two function calls.*/ virtual void deleteLastEntry()=0; /*! Deletes multiple given entries. Calling this function can be faster then calling deleteEntry(..) several times - depending on the implementation. Important: All entries must belong to the same group! \param entries A pointer list of handles of the entries which sould be deleted. The list can be empty therefore no prior testing is necessary.*/ virtual void deleteEntries(QList entries)=0; /*! Creates a new blank entry. \param Group The group to which the entry should be added. \return the handle of the new entry. */ virtual IEntryHandle* newEntry(IGroupHandle* Group)=0; /*! Adds a Entry object to the database. \param Group The group to which the entry should be added. \param NewEntry The new entry. It is important that the new entry object has a valid UUID! \return a pointer to the handle of the added entry. */ virtual IEntryHandle* addEntry(const CEntry* NewEntry, IGroupHandle* Group)=0; /*! Moves an entry to another group. \param entry The entry which should be moved. \param group The new group of the entry.*/ virtual void moveEntry(IEntryHandle* entry, IGroupHandle* group)=0; /*! Removes a group from the database. Deletes the group, all it's entries and child groups and their entries as well. \param group The group which should be deleted.*/ virtual void deleteGroup(IGroupHandle* group)=0; /*! Adds a group to the database. \param Group A pointer to a CGroup object. Id and ParentId of the object are ignored. \param Parent A pointer to the handle of parent of the group. Can be NULL if the group is a top-level group. \return a pointer to the handle of the added group.*/ virtual IGroupHandle* addGroup(const CGroup* Group,IGroupHandle* Parent)=0; /*! Moves a group. \param Group The group which should be moved. \param NewParent The new parent of the group. \param Position The position of the group amongst it's new siblings. If Position is 0 the group will be prepended if it is -1 the group will be appended.*/ virtual void moveGroup(IGroupHandle* Group,IGroupHandle* NewParent,int Position)=0; /*! Checks two given groups if one is the parent of the other. \param Child The child group. \param Parent The parent group. \return TRUE if Parent is the parent of child, otherwise FALSE.*/ virtual bool isParent(IGroupHandle* parent, IGroupHandle* child)=0; /*! \param index Index of the requested icon. \return a reference to the pixmap of the requested icon. */ virtual QPixmap& icon(int index)=0; //! \return the number of icons provided by the database. This number can vary at runtime if the database supports custom icons. virtual int numIcons()=0; /*! Deletes all old invalid handles of the database. Make sure that there are no pointers to those handles which are still in use before calling this function.*/ virtual void cleanUpHandles()=0; /*! \return the number of groups in the database.*/ virtual int numGroups()=0; /*! \return the number of entires in the database.*/ virtual int numEntries()=0; /*! \return the number of built-in icons of the database. Each database must contain at least one built-in icon. */ virtual int builtinIcons()=0; /*! Searches in the database for a string or regular expression. \param Group The group where the search should be performed in. If Group is NULL the search will be performed in the whole database. \param SearchString The searched string or a regular expression. \param CaseSensitvie If this parameter is true the search will be case sensitive. \param RegExp The SearchString parameter will be handled as regular expression if this parameter is true. \param Recursive Defines whether the search should include subgroups of Group or not. This parameter has no effect if Group is NULL. \param Fields A pointer to a six element bool array. It defines which fields are included into the search. The order is: title, username, url, password, comment, attachment description. The pointer can also be NULL, than the default pattern is used instead. \return the search results as a list of pointers to the entry handles.*/ virtual QList search(IGroupHandle* Group,const QString& SearchString, bool CaseSensitve, bool RegExp,bool Recursive,bool* Fields)=0; //virtual IDatabase* groupToNewDb(IGroupHandle* group)=0; }; class IKdbSettings{ public: virtual void setCryptAlgorithm(CryptAlgorithm algo)=0; virtual CryptAlgorithm cryptAlgorithm()=0; virtual unsigned int keyTransfRounds()=0; virtual void setKeyTransfRounds(unsigned int rounds)=0; }; #endif keepassx-0.4.3/src/Kdb3Database.h0000664000175000017500000002475011325153502015520 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _STD_DATABASE_H_ #define _STD_DATABASE_H_ #include #define DB_HEADER_SIZE 124 #define PWM_DBSIG_1 0x9AA2D903 #define PWM_DBSIG_2 0xB54BFB65 #define PWM_DBVER_DW 0x00030002 #define PWM_FLAG_SHA2 1 #define PWM_FLAG_RIJNDAEL 2 #define PWM_FLAG_ARCFOUR 4 #define PWM_FLAG_TWOFISH 8 #define PWM_STD_KEYENCROUNDS 6000 void memcpyFromLEnd32(quint32* dst,const char* src); void memcpyFromLEnd16(quint16* dst,const char* src); void memcpyToLEnd32(char* src,const quint32* dst); void memcpyToLEnd16(char* src,const quint16* dst); //! Implementation of the standard KeePassX database. class Kdb3Database:public ICustomIcons,public IDatabase, public IKdbSettings{ Q_OBJECT public: class StdGroup; class StdEntry; class EntryHandle:public IEntryHandle{ friend class Kdb3Database; public: EntryHandle(Kdb3Database* db); virtual void setImage(const quint32& ImageID); virtual void setTitle(const QString& Title); virtual void setUrl(const QString& URL); virtual void setUsername(const QString& Username); virtual void setPassword(const SecString& Password); virtual void setComment(const QString& Comment); virtual void setBinaryDesc(const QString& BinaryDesc); virtual void setCreation(const KpxDateTime& Creation); virtual void setLastMod(const KpxDateTime& LastMod); virtual void setLastAccess(const KpxDateTime& LastAccess); virtual void setExpire(const KpxDateTime& Expire); virtual void setBinary(const QByteArray& BinaryData); virtual KpxUuid uuid()const; virtual IGroupHandle* group()const; virtual quint32 image()const; virtual int visualIndex() const; virtual void setVisualIndex(int i); virtual void setVisualIndexDirectly(int i); virtual QString title()const; virtual QString url()const; virtual QString username()const; virtual SecString password()const; virtual QString comment()const; virtual QString binaryDesc()const; virtual KpxDateTime creation()const; virtual KpxDateTime lastMod()const; virtual KpxDateTime lastAccess()const; virtual KpxDateTime expire()const; virtual QByteArray binary()const; virtual quint32 binarySize()const; virtual QString friendlySize()const; virtual bool isValid() const; virtual CEntry data()const; private: void invalidate(){valid=false;} bool valid; //KpxUuid Uuid; ??? Kdb3Database* pDB; StdEntry* Entry; }; class GroupHandle:public IGroupHandle{ friend class Kdb3Database; GroupHandle(Kdb3Database* db); public: virtual void setTitle(const QString& Title); virtual void setImage(const quint32& ImageId); virtual QString title(); virtual quint32 image(); virtual bool isValid(); virtual IGroupHandle* parent(); virtual QList children(); virtual int index(); //virtual void setIndex(int index); virtual int level(); virtual bool expanded(); virtual void setExpanded(bool IsExpanded); private: void invalidate(){valid=false;} bool valid; StdGroup* Group; Kdb3Database* pDB; }; friend class EntryHandle; friend class GroupHandle; class StdEntry:public CEntry{ public: StdEntry(); quint16 Index; EntryHandle* Handle; StdGroup* Group; }; class StdGroup:public CGroup{ public: StdGroup(); StdGroup(const CGroup&); quint16 Index; StdGroup* Parent; GroupHandle* Handle; QList Children; QList Entries; }; Kdb3Database(); virtual ~Kdb3Database(){}; virtual bool load(QString identifier, bool readOnly); virtual bool save(); virtual bool saveFileTransactional(char* buffer, int size); virtual bool close(); virtual void create(); virtual int numEntries(); virtual int numGroups(); virtual QString getError(); virtual bool isKeyError(); virtual void cleanUpHandles(); virtual QPixmap& icon(int index); virtual int numIcons(); virtual void addIcon(const QPixmap& icon); virtual void removeIcon(int index); virtual void replaceIcon(int index,const QPixmap& icon); virtual int builtinIcons(){return BUILTIN_ICONS;}; virtual QList search(IGroupHandle* Group,const QString& SearchString, bool CaseSensitve, bool RegExp,bool Recursive,bool* Fields); virtual QFile* file(){return File;} virtual bool changeFile(const QString& filename); virtual void setCryptAlgorithm(CryptAlgorithm algo){Algorithm=algo;} virtual CryptAlgorithm cryptAlgorithm(){return Algorithm;} virtual unsigned int keyTransfRounds(){return KeyTransfRounds;} virtual void setKeyTransfRounds(unsigned int rounds){KeyTransfRounds=rounds;} virtual bool setKey(const QString& password, const QString& keyfile); virtual bool setPasswordKey(const QString& password); virtual bool setFileKey(const QString& filename); virtual bool setCompositeKey(const QString& password,const QString& filename); virtual QList entries(); virtual QList entries(IGroupHandle* Group); virtual QList entriesSortedStd(IGroupHandle* Group); virtual QList expiredEntries(); virtual IEntryHandle* cloneEntry(const IEntryHandle* entry); virtual void deleteEntry(IEntryHandle* entry); virtual void deleteEntries(QList entries); virtual IEntryHandle* newEntry(IGroupHandle* group); virtual IEntryHandle* addEntry(const CEntry* NewEntry, IGroupHandle* group); virtual void moveEntry(IEntryHandle* entry, IGroupHandle* group); virtual void deleteLastEntry(); virtual QList groups(); virtual QList sortedGroups(); virtual void deleteGroup(IGroupHandle* group); virtual void moveGroup(IGroupHandle* Group,IGroupHandle* NewParent,int Position); virtual IGroupHandle* addGroup(const CGroup* Group,IGroupHandle* Parent); virtual IGroupHandle* backupGroup(bool create=false); virtual bool isParent(IGroupHandle* parent, IGroupHandle* child); virtual void generateMasterKey(); //virtual IDatabase* groupToNewDb(IGroupHandle* group); inline bool hasPasswordEncodingChanged() { return passwordEncodingChanged; }; private: bool loadReal(QString filename, bool readOnly, bool differentEncoding); QDateTime dateFromPackedStruct5(const unsigned char* pBytes); void dateToPackedStruct5(const QDateTime& datetime, unsigned char* dst); bool isMetaStream(StdEntry& Entry); bool parseMetaStream(const StdEntry& Entry); void parseCustomIconsMetaStream(const QByteArray& data); void parseCustomIconsMetaStreamV3(const QByteArray& data); void parseGroupTreeStateMetaStream(const QByteArray& data); void createCustomIconsMetaStream(StdEntry* e); void createGroupTreeStateMetaStream(StdEntry* e); bool readEntryField(StdEntry* entry, quint16 FieldType, quint32 FieldSize, quint8 *pData); bool readGroupField(StdGroup* group,QList& Levels,quint16 FieldType, quint8 *pData); bool createGroupTree(QList& Levels); void createHandles(); void invalidateHandle(StdEntry* entry); bool convHexToBinaryKey(char* HexKey, char* dst); quint32 getNewGroupId(); void serializeEntries(QList& EntryList,char* buffer,unsigned int& pos); void serializeGroups(char* buffer,unsigned int& pos); void appendChildrenToGroupList(QList& list,StdGroup& group); void appendChildrenToGroupList(QList& list,StdGroup& group); bool searchStringContains(const QString& search, const QString& string,bool Cs, bool RegExp); void getEntriesRecursive(IGroupHandle* Group, QList& EntryList); void rebuildIndices(QList& list); void restoreGroupTreeState(); //void copyTree(Kdb3Database* db, GroupHandle* orgGroup, IGroupHandle* parent); static bool EntryHandleLessThan(const IEntryHandle* This,const IEntryHandle* Other); static bool EntryHandleLessThanStd(const IEntryHandle* This,const IEntryHandle* Other); static bool StdEntryLessThan(const Kdb3Database::StdEntry& This,const Kdb3Database::StdEntry& Other); StdEntry* getEntry(const KpxUuid& uuid); StdEntry* getEntry(EntryHandle* handle); int getEntryListIndex(EntryHandle* handle); EntryHandle* getHandle(StdEntry* entry); StdGroup* getGroup(quint32 Id); void deleteGroup(StdGroup* group); QList EntryHandles; QList GroupHandles; QList Entries; QList Groups; StdGroup RootGroup; QListCustomIcons; QFile* File; bool openedReadOnly; QString error; bool KeyError; bool PotentialEncodingIssueLatin1; bool PotentialEncodingIssueUTF8; QList UnknownMetaStreams; QMap TreeStateMetaStream; unsigned int KeyTransfRounds; CryptAlgorithm Algorithm; SecData RawMasterKey; SecData RawMasterKey_CP1252; SecData RawMasterKey_Latin1; SecData RawMasterKey_UTF8; SecData MasterKey; quint8 TransfRandomSeed[32]; bool hasV4IconMetaStream; bool passwordEncodingChanged; }; class KeyTransform : public QThread{ Q_OBJECT public: static void transform(quint8* src, quint8* dst, quint8* KeySeed, int rounds); private: KeyTransform(quint8* pSrc, quint8* pDst, quint8* pKeySeed, int pRounds); quint8* src; quint8* dst; quint8* KeySeed; int rounds; protected: void run(); }; class KeyTransformBenchmark : public QThread{ Q_OBJECT public: static int benchmark(int pMSecs); private: KeyTransformBenchmark(int pMSecs); int msecs; int rounds; protected: void run(); }; #endif keepassx-0.4.3/src/KpxConfig.cpp0000664000175000017500000002047211123764404015535 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * Copyright (C) 2007 by Constantin "Dinosaur" Makshin * * dinosaur-rus@users.sourceforge.net * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include KpxConfig::KpxConfig(const QString& filePath) : settings(filePath,QSettings::IniFormat){ configFile=filePath; if (settings.contains("Options/GroupTreeRestore") && !settings.contains("Options/GroupTreeState")){ switch (settings.value("Options/GroupTreeRestore",1).toInt()){ case 0: setGroupTreeState(RestoreLast); break; case 2: setGroupTreeState(DoNothing); break; default: setGroupTreeState(ExpandAll); } settings.remove("Options/GroupTreeRestore"); } if (urlCmd()=="<>") setUrlCmd(QString()); } #ifdef GLOBAL_AUTOTYPE Shortcut KpxConfig::globalShortcut(){ Shortcut s; s.key = settings.value("Options/GlobalShortcutKey",0).toUInt(); QBitArray mods = settings.value("Options/GlobalShortcutMods",QBitArray(5)).toBitArray(); if (mods.size()!=5) mods = QBitArray(5); s.ctrl = mods.testBit(0); s.shift = mods.testBit(1); s.alt = mods.testBit(2); s.altgr = mods.testBit(3); s.win = mods.testBit(4); return s; } void KpxConfig::setGlobalShortcut(const Shortcut& s){ settings.setValue("Options/GlobalShortcutKey", s.key); QBitArray mods(5); mods.setBit(0, s.ctrl); mods.setBit(1, s.shift); mods.setBit(2, s.alt); mods.setBit(3, s.altgr); mods.setBit(4, s.win); settings.setValue("Options/GlobalShortcutMods", mods); } #endif unsigned KpxConfig::fileDlgHistorySize(){ settings.beginGroup("FileDlgHistory"); unsigned res=static_cast(settings.childKeys().size()); settings.endGroup(); return res; } QColor KpxConfig::stringToColor(const QString& str){ QStringList ints=str.split(','); QColor res; if (ints.count()>0) res.setRed(ints.at(0).toInt()); if (ints.count()>1) res.setGreen(ints.at(1).toInt()); if (ints.count()>2) res.setBlue(ints.at(2).toInt()); return res; } QBitArray KpxConfig::stringToBitArray(const QString& str, unsigned count){ QBitArray res(static_cast(count)); if (static_cast(str.length())(str.length()); for (int i=0;i(count);i++){ QChar c=str.at(i); if ((c=='1') || (c=='t') || (c=='y')) res.setBit(i); } return res; } KpxConfig::GrpTreeState KpxConfig::stringToGrpTreeState(const QString& str){ GrpTreeState res=ExpandAll; if (!str.compare("Restore",Qt::CaseInsensitive)) res=RestoreLast; else if (!str.compare("None",Qt::CaseInsensitive)) res=DoNothing; return res; } QList KpxConfig::stringToIntArray(const QString& str, unsigned count){ QStringList ints=str.split(','); QList res; unsigned i, intsCount=qMin(static_cast(ints.count()),count); for (i=0;i& intArray){ QString res; if (!intArray.isEmpty()) { res.setNum(intArray.first()); for (int i=1;iparentWidget()!=NULL && widget->parentWidget()->window()!=NULL); QSize size = settings.value(QString("UI/%1Size").arg(widget->objectName()),widget->size()).toSize(); QSize minSize = widget->minimumSize(); if (size.width() < minSize.width() || size.height() < minSize.height()) size = minSize; if (minSize.isNull() && widget->layout()!=NULL){ minSize = widget->layout()->minimumSize(); if (size.width() < minSize.width() || size.height() < minSize.height()) size = minSize; } QRect rect; rect=QRect(QPoint(), size); rect.moveCenter( widget->parentWidget()->window()->geometry().center() ); return rect; } void KpxConfig::setDialogGeometry(const QWidget* widget){ settings.setValue(QString("UI/%1Size").arg(widget->objectName()),widget->size()); } QString KpxConfig::detailViewTemplate(){ if (settings.contains("UI/DetailsView")){ return QString::fromUtf8( qUncompress(settings.value("UI/DetailsView").toByteArray()) ); } else{ return defaultDetailViewTemplate(); } } QString KpxConfig::defaultDetailViewTemplate(){ QFile templ(":/default-detailview.html"); templ.open(QIODevice::ReadOnly); QString value=QString::fromUtf8(templ.readAll()); templ.close(); value.replace("Group",QCoreApplication::translate("DetailViewTemplate","Group")); value.replace("Title",QCoreApplication::translate("DetailViewTemplate","Title")); value.replace("Username",QCoreApplication::translate("DetailViewTemplate","Username")); value.replace("Password",QCoreApplication::translate("DetailViewTemplate","Password")); value.replace("URL",QCoreApplication::translate("DetailViewTemplate","URL")); value.replace("Creation",QCoreApplication::translate("DetailViewTemplate","Creation")); value.replace("Last Access",QCoreApplication::translate("DetailViewTemplate","Last Access")); value.replace("Last Modification",QCoreApplication::translate("DetailViewTemplate","Last Modification")); value.replace("Expiration",QCoreApplication::translate("DetailViewTemplate","Expiration")); value.replace("Comment",QCoreApplication::translate("DetailViewTemplate","Comment")); return value; } void KpxConfig::setDetailViewTemplate(const QString& value){ settings.setValue("UI/DetailsView", qCompress(value.toUtf8(),9) ); } keepassx-0.4.3/src/import/0000775000175000017500000000000011344562542014452 5ustar felixfelixkeepassx-0.4.3/src/import/Import.h0000664000175000017500000000343010764047761016103 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _IMPORT_H_ #define _IMPORT_H_ class IImport{ public: virtual ~IImport(){}; virtual bool importDatabase(QWidget* GuiParent, IDatabase* Database)=0; virtual QString identifier()=0; virtual QString title()=0; }; class ImporterBase:public QObject{ Q_OBJECT protected: virtual QFile* openFile(QWidget* GuiParent,QString id,QStringList Filter); virtual QString getPassword(QWidget* GuiParent); }; #endif keepassx-0.4.3/src/import/Import_GnuKeyRing.h0000664000175000017500000000336010755270706020204 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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 of the License, or * * (at your option) any later version. * * * * 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _IMPORT_KEYRING_H_ #define _IMPORT_KEYRING_H_ #include #include "Database.h" class Import_GnuKeyRing:public QObject,public IImport{ Q_OBJECT public: virtual QString importDatabase(QWidget* GuiParent, IDatabase* Database); virtual QString name(){return "GnuKeyRing";} }; #endif keepassx-0.4.3/src/import/Import_KWalletXml.cpp0000664000175000017500000000707011123440167020531 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Import_KWalletXml.h" bool Import_KWalletXml::importDatabase(QWidget* GuiParent, IDatabase* db){ QFile* file=openFile(GuiParent,identifier(),QStringList()<size(); quint8* buffer=new quint8[len]; file->read((char*)buffer,len); file->close(); delete file; QDomDocument doc; QString xmlerr; int col,line; if(!doc.setContent(QString::fromUtf8((char*)buffer,len),false,&xmlerr,&line,&col)){ qWarning("Import_PwManager::parseXmlContent():\n"); qWarning("%s (Line:%d Column:%d)\n",CSTR(xmlerr), line, col); QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Invalid XML data (see stdout for details).")); delete [] buffer; return false;} delete [] buffer; QDomElement root=doc.documentElement(); if(root.tagName()!="wallet"){QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Invalid XML file.")); return false;} QDomNodeList groups=root.elementsByTagName("folder"); if(!groups.length()){QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Document does not contain data.")); return false;} for(int i=0;iaddGroup(&NewGroup,NULL); QDomNodeList entries=CurrGroup.elementsByTagName("password"); for(int j=0;jnewEntry(NewGroupHandle); NewEntry->setTitle(CurrEntry.attribute("name")); QString pw=CurrEntry.text(); SecString pws; pws.setString(pw,true); NewEntry->setPassword(pws); } } return true; } keepassx-0.4.3/src/import/Import_KWalletXml.h0000664000175000017500000000332210764047761020207 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _IMPORT_KWALLET_H_ #define _IMPORT_KWALLET_H_ #include "Import.h" class Import_KWalletXml:public ImporterBase, public IImport{ Q_OBJECT public: virtual bool importDatabase(QWidget* GuiParent, IDatabase* Database); virtual QString identifier(){return "KWalletXml";} virtual QString title(){return "KWallet XML File (*.xml)";} }; #endif keepassx-0.4.3/src/import/Import_KeePassX_Xml.h0000664000175000017500000000363410764047761020474 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _IMPORT_KPX_XML_H_ #define _IMPORT_KPX_XML_H_ #include "Import.h" class Import_KeePassX_Xml:public ImporterBase, public IImport{ Q_OBJECT public: virtual bool importDatabase(QWidget* GuiParent, IDatabase* Database); virtual QString identifier(){return "KeePassX_Xml";} virtual QString title(){return "KeePassX XML (*.xml)";} private: bool parseGroup(const QDomElement& GroupElement,IGroupHandle* ParentGroup); bool parseEntry(const QDomElement& EntryElement,IGroupHandle* Group); IDatabase* db; QWidget* GuiParent; }; #endif keepassx-0.4.3/src/import/Import_PwManager.h0000664000175000017500000000400010764047761020036 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _IMPORT_PWMANAGER_ #define _IMPORT_PWMANAGER_ #include "Import.h" class Import_PwManager:public ImporterBase, public IImport{ Q_OBJECT public: virtual bool importDatabase(QWidget* GuiParent, IDatabase* Database); virtual QString identifier(){return "PwManager";} virtual QString title(){return "PwManager File (*.pwm)";} private: bool KeyFlag; // true=Password, false=Chipcard int Compression; // 0=none, 1=gzip, 2=bzip2 unsigned char KeyHash[20]; unsigned char DataHash[20]; IDatabase* database; bool parseXmlContent(char* content); bool xml_parseEntryAttributes(QDomElement* EntryTag,IGroupHandle* parent); }; #endif keepassx-0.4.3/src/import/Import_KeePassX_Xml.cpp0000664000175000017500000001440611123440167021011 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Import_KeePassX_Xml.h" bool Import_KeePassX_Xml::importDatabase(QWidget* Parent, IDatabase* database){ db=database; GuiParent=Parent; QFile* file=openFile(GuiParent,identifier(),QStringList()<addGroup(&Group,ParentGroup); for(int i=0;inewEntry(Group); QDomNodeList ChildNodes=EntryElement.childNodes(); for(int i=0;isetTitle(ChildNodes.item(i).toElement().text()); else if(ChildNodes.item(i).toElement().tagName()=="username") entry->setUsername(ChildNodes.item(i).toElement().text()); else if(ChildNodes.item(i).toElement().tagName()=="password"){ SecString pw; QString cpw=ChildNodes.item(i).toElement().text(); pw.setString(cpw,true); entry->setPassword(pw); } else if(ChildNodes.item(i).toElement().tagName()=="url") entry->setUrl(ChildNodes.item(i).toElement().text()); else if(ChildNodes.item(i).toElement().tagName()=="icon") entry->setImage(ChildNodes.item(i).toElement().text().toInt()); else if(ChildNodes.item(i).toElement().tagName()=="creation") entry->setCreation(KpxDateTime::fromString(ChildNodes.item(i).toElement().text(),Qt::ISODate)); else if(ChildNodes.item(i).toElement().tagName()=="lastaccess") entry->setLastAccess(KpxDateTime::fromString(ChildNodes.item(i).toElement().text(),Qt::ISODate)); else if(ChildNodes.item(i).toElement().tagName()=="lastmod") entry->setLastMod(KpxDateTime::fromString(ChildNodes.item(i).toElement().text(),Qt::ISODate)); else if(ChildNodes.item(i).toElement().tagName()=="expire") entry->setExpire(KpxDateTime::fromString(ChildNodes.item(i).toElement().text(),Qt::ISODate)); else if(ChildNodes.item(i).toElement().tagName()=="bindesc") entry->setBinaryDesc(ChildNodes.item(i).toElement().text()); else if(ChildNodes.item(i).toElement().tagName()=="bin") entry->setBinary(QByteArray::fromBase64(ChildNodes.item(i).toElement().text().toAscii())); else if(ChildNodes.item(i).toElement().tagName()=="comment"){ QDomNodeList Lines=ChildNodes.item(i).childNodes(); QString comment; for(int i=0;isetComment(comment); } } return true; } keepassx-0.4.3/src/import/Import_GnuKeyRing.cpp0000664000175000017500000001005210577235217020533 0ustar felixfelix/*************************************************************************** * Copyright (C) 2006 by Brian Johnson * * dev-keepassx@sherbang.com * * * * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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 of the License, or * * (at your option) any later version. * * * * 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include "IImport.h" #include "Import_GnuKeyRing.h" #include "lib/FileDialogs.h" #include "main.h" using namespace std; QString Import_GnuKeyRing::importDatabase(QWidget* GuiParent, IDatabase* Database){ QString FileName=KpxFileDialogs::openExistingFile(GuiParent, "Import_Keyring", tr("Import Database..."), QStringList()< categories; /* CGroup* DefaultGroup=pwm->addGroup(NULL); DefaultGroup->Name="def-group"; QString* field = NULL; QString category; QString name; QString account; QString password; QString note; while (!ts.atEnd()){ QString line = ts.readLine(400); if (newEntry.exactMatch(line)){ //Save entry CGroup* newGroup; if (entryNum != 0){ if (category != ""){ if (categories.contains(category)){ newGroup=categories[category]; }else{ newGroup=pwm->addGroup(NULL); newGroup->Name=category; categories.insert(category, newGroup); } }else{ newGroup = DefaultGroup; } CEntry* NewEntry=pwm->addEntry(); NewEntry->GroupID=newGroup->ID; NewEntry->Title=name; NewEntry->UserName=account; NewEntry->Password.setString(password,true); NewEntry->Additional=note; } //New Entry category = ""; name = ""; account = ""; password = ""; note = ""; entryNum = line.remove(0,1).toUInt(); }else if(entryNum == 0){ //Do nothing (waiting for start of first entry) }else if(line.startsWith("Category:")){ category = line.remove(0,10); field = &category; }else if(line.startsWith("Name:")){ name = line.remove(0,6); field = &name; }else if(line.startsWith("Account:")){ account = line.remove(0,9); field = &account; }else if(line.startsWith("Password:")){ password = line.remove(0,10); field = &password; }else if(line.startsWith("Notes:")){ note = line.remove(0,7); field = ¬e; }else if(field != NULL){ field->append("\n"); field->append(line); } } file.close(); pwm->SearchGroupID=-1; pwm->CryptoAlgorithmus=ALGO_AES; pwm->KeyEncRounds=6000; return true; */ return QString(); } keepassx-0.4.3/src/import/Import.cpp0000664000175000017500000000371110764047761016440 0ustar felixfelix/*************************************************************************** * Copyright (C) 2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Import.h" #include "dialogs/SimplePasswordDlg.h" QFile* ImporterBase::openFile(QWidget* parent, QString id, QStringList Filters){ QString filename=KpxFileDialogs::openExistingFile(parent,id,tr("Import File..."),Filters); if(filename==QString())return NULL; QFile* file=new QFile(filename); if(!file->open(QIODevice::ReadOnly)){ QMessageBox::critical(parent,tr("Import Failed"),decodeFileError(file->error())); delete file; return NULL; } return file; } QString ImporterBase::getPassword(QWidget* parent){ SimplePasswordDialog dlg(parent); dlg.exec(); return dlg.password; } keepassx-0.4.3/src/import/Import_PwManager.cpp0000664000175000017500000001511411123714623020365 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005 by Tarek Saidi * * mail@tarek-saidi.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Import_PwManager.h" #include "crypto/blowfish.h" #include bool Import_PwManager::importDatabase(QWidget* GuiParent, IDatabase* db){ database=db; QFile* file=openFile(GuiParent,identifier(),QStringList()<size())){ buffer=new char[len]; } else { QMessageBox::critical(GuiParent,tr("Import Failed"),tr("File is empty.")); delete file; return false; } file->read(buffer,len); file->close(); delete file; if(QString::fromAscii(buffer,17)!="PWM_PASSWORD_FILE") {QMessageBox::critical(GuiParent,tr("Import Failed"),tr("File is no valid PwManager file.")); return false;} offset+=17; if(buffer[offset]!=0x05) {QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Unsupported file version.")); return false;} offset++; if(buffer[offset]!=0x01) {QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Unsupported hash algorithm.")); return false;} offset++; if(buffer[offset]!=0x01) {QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Unsupported hash algorithm.")); return false;} offset++; if(buffer[offset]!=0x01) {QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Unsupported encryption algorithm.")); return false;} offset++; if(buffer[offset]==0x00)Compression=0; if(buffer[offset]==0x01)Compression=1; if(buffer[offset]==0x02)Compression=2; ///@TODO Compression if(buffer[offset]) {QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Compressed files are not supported yet.")); return false;} offset++; if(buffer[offset]==0x00)KeyFlag=true; else KeyFlag=false; offset++; //Reserved Bytes (64) offset+=64; memcpy(KeyHash,buffer+offset,20); offset+=20; memcpy(DataHash,buffer+offset,20); offset+=20; Blowfish blowfish; int pwlen=password.length(); byte* Key=new byte[pwlen]; byte* xml=new byte[len-offset+1]; xml[len-offset]=0; memcpy(Key,password.toAscii(),pwlen); QCryptographicHash sha(QCryptographicHash::Sha1); sha.addData((const char*)Key,pwlen); QByteArray key_hash = sha.result(); if(memcmp(key_hash.constData(),KeyHash,20)){ delete[] Key; delete [] buffer; QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Wrong password.")); return false; } blowfish.bf_setkey(Key,password.length()); blowfish.bf_decrypt(xml,(byte*)buffer+offset,len-offset); delete [] Key; delete [] buffer; sha.reset(); sha.addData((const char*)xml,strlen((char*)xml)-1); QByteArray content_hash = sha.result(); if(memcmp(content_hash.constData(),DataHash,20)){ delete [] xml; QMessageBox::critical(GuiParent,tr("Import Failed"),tr("File is damaged (hash test failed).")); return false; } if(!parseXmlContent((char*)xml)){ delete [] xml; QMessageBox::critical(GuiParent,tr("Import Failed"),tr("Invalid XML data (see stdout for details).")); return false; } return true; } bool Import_PwManager::parseXmlContent(char* content){ QDomDocument db; QString err; int col,line; if(!db.setContent(QString::fromUtf8(content,strlen(content)-1),false,&err,&line,&col)){ qWarning("Import_PwManager::parseXmlContent():\n"); qWarning("%s (Line:%d Column:%d)\n", CSTR(err), line, col); return false; } QDomElement root=db.documentElement(); if(root.tagName()!="P")return false; //Achtung! Kommentare und Kategorien haben das selbe Tag "c" if(!root.elementsByTagName("c").item(0).isElement())return false; QDomElement groups=root.elementsByTagName("c").item(0).toElement(); int i=0; while(1){ QDomElement CurrGroup; if(!groups.elementsByTagName("c"+QString::number(i)).length())break; if(groups.elementsByTagName("c"+QString::number(i)).length()>1)return false; if(!groups.elementsByTagName("c"+QString::number(i)).item(0).isElement())return false; CurrGroup=groups.elementsByTagName("c"+QString::number(i)).item(0).toElement(); if(!CurrGroup.hasAttribute("n"))return false; CGroup tmpGroup; IGroupHandle* NewGroup=database->addGroup(&tmpGroup,NULL); NewGroup->setTitle(CurrGroup.attribute("n")); int j=0; while(1){ QDomElement CurrEntry; if(!CurrGroup.elementsByTagName("e"+QString::number(j)).length())break; if(CurrGroup.elementsByTagName("e"+QString::number(j)).length()>1)return false; if(!CurrGroup.elementsByTagName("e"+QString::number(j)).item(0).isElement())return false; CurrEntry=CurrGroup.elementsByTagName("e"+QString::number(j)).item(0).toElement(); if(!xml_parseEntryAttributes(&CurrEntry,NewGroup))return false; j++; } i++; } return true; } bool Import_PwManager::xml_parseEntryAttributes(QDomElement* EntryElement,IGroupHandle* NewGroup){ IEntryHandle* e=database->newEntry(NewGroup); e->setTitle(EntryElement->elementsByTagName("d").item(0).toElement().text()); e->setUsername(EntryElement->elementsByTagName("n").item(0).toElement().text()); QString pw(EntryElement->elementsByTagName("p").item(0).toElement().text()); SecString spw; spw.setString(pw,true); e->setPassword(spw); QString comment=EntryElement->elementsByTagName("c").item(0).toElement().text(); comment.replace("$>--endl--<$","\n"); e->setComment(comment); e->setUrl(EntryElement->elementsByTagName("u").item(0).toElement().text()); return true; } keepassx-0.4.3/src/Database.cpp0000664000175000017500000001106011032177354015343 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ KpxUuid::KpxUuid() : Data(16,0){ } KpxUuid::KpxUuid(const void* src){ fromRaw(src); } void KpxUuid::generate(){ char uuid[16]; randomize(uuid,16); quint32 Secs=QDateTime::currentDateTime().toTime_t(); quint16 mSecs=QTime::currentTime().msec(); mSecs=(mSecs & 0x3FF) | (*((quint16*)(uuid+4)) & 0xFC00); //msec has only 10 Bits, filling the rest with random data memcpy((void*)uuid,&Secs,4); memcpy((void*)(uuid+4),&mSecs,2); Data=QByteArray(uuid,16); } QString KpxUuid::toString()const{ QString hex; Q_ASSERT(Data.length()==16); for(int i=0;i<16;i++){ QString HexByte; HexByte.setNum((unsigned char)*(Data.data()+i),16); if(HexByte.length()<2)HexByte="0"+HexByte; hex+=HexByte; } return QString("{%1-%2-%3-%4-%5}") .arg(hex.mid(0,8)) .arg(hex.mid(8,4)) .arg(hex.mid(12,4)) .arg(hex.mid(16,4)) .arg(hex.mid(20,12)); } void KpxUuid::toRaw(void* dst)const{ memcpy(dst,Data.data(),16); } void KpxUuid::fromRaw(const void* src){ Data=QByteArray((char*)src,16); } bool KpxUuid::operator==(const KpxUuid& other)const{ return other.Data==Data; } bool KpxUuid::operator!=(const KpxUuid& other)const{ return other.Data!=Data; } QString KpxDateTime::toString(Qt::DateFormat format) const{ if (*this==Date_Never) return QCoreApplication::translate("Database","Never"); else if (format==Qt::SystemLocaleDate){ QString strFormat = QLocale::system().dateFormat(QLocale::ShortFormat); if (!strFormat.contains("dd")) strFormat.replace("d", "dd"); if (!strFormat.contains("MM")) strFormat.replace("M", "MM"); if (!strFormat.contains("yyyy")) strFormat.replace("yy", "yyyy"); if (!strFormat.contains("hh")) strFormat.replace("h", "hh"); if (!strFormat.contains("HH")) strFormat.replace("H", "HH"); if (!strFormat.contains("mm")) strFormat.replace("m", "mm"); if (!strFormat.contains("ss")) strFormat.replace("s", "ss"); return date().toString(strFormat); } else return QDateTime::toString(format); } QString KpxDateTime::dateToString(Qt::DateFormat format) const{ if (*this==Date_Never) return QCoreApplication::translate("Database","Never"); else if (format==Qt::SystemLocaleDate){ QString strFormat = QLocale::system().dateFormat(QLocale::ShortFormat); if (!strFormat.contains("dd")) strFormat.replace("d", "dd"); if (!strFormat.contains("MM")) strFormat.replace("M", "MM"); if (!strFormat.contains("yyyy")) strFormat.replace("yy", "yyyy"); return date().toString(strFormat); } else return date().toString(format); } KpxDateTime KpxDateTime::fromString(const QString& string,Qt::DateFormat format){ if(string.toLower()=="never") return Date_Never; else return QDateTime::fromString(string,format); } CEntry::CEntry(){ Image=0; GroupId=0; Creation=QDateTime::currentDateTime(); LastMod=QDateTime::currentDateTime(); LastAccess=QDateTime::currentDateTime(); Expire=QDateTime(QDate(2999,12,28),QTime(23,59,59)); //Never Binary=QByteArray(); } bool KpxDateTime::operator<(const QDateTime& other){ if(*this!=Date_Never && other!=Date_Never)return ((QDateTime)(*this) #include #include "lib/EntryView.h" #include "lib/GroupView.h" #include "export/Export.h" #include "ui_MainWindow.h" #include "ui_WorkspaceLockedWidget.h" class KeepassMainWindow : public QMainWindow, private Ui_MainWindow{ Q_OBJECT public: KeepassMainWindow (const QString& ArgFile,bool ArgMin,bool ArgLock,QWidget *parent=0, Qt::WFlags flags=0); IDatabase* db; inline bool isLocked() { return IsLocked; }; inline bool isOpened() { return FileOpen; }; public slots: void OnUnLockWorkspace(); void openFile(const QString& filename); signals: void entryChanged(); private slots: void OnFileNewKdb(); //void OnFileNewKxdb(); // TODO Kxdb void OnFileOpen(); void OnFileClose(); bool OnFileSave(); bool OnFileSaveAs(); void OnFileSettings(); void OnFileChangeKey(); void OnFileExit(); void OnBookmarkTriggered(QAction* action); void OnSearch(); void OnGroupSearch(); void OnViewShowToolbar(bool); void OnViewShowEntryDetails(bool); void OnViewToolbarIconSize16(bool); void OnViewToolbarIconSize22(bool); void OnViewToolbarIconSize28(bool); void OnGroupSelectionChanged(IGroupHandle*); void OnQuickSearch(); void OnColumnVisibilityChanged(); void OnUsernPasswVisibilityChanged(); void OnFileModified(); void OnExtrasSettings(); void OnExtrasPasswordGen(); void OnExtrasShowExpiredEntries(); //void OnExtrasTrashCan(); //TODO TrashCan void OnHelpAbout(); void OnHelpHandbook(); //void OnItemExpanded(QTreeWidgetItem*); //void OnItemCollaped(QTreeWidgetItem*); void OnShowSearchResults(); void OnEntryChanged(SelectionState); void OnSysTrayActivated(QSystemTrayIcon::ActivationReason); void restoreWindow(); void OnImport(QAction*); void OnExport(QAction*); void OnDetailViewUrlClicked(const QUrl& url); void OnLockClose(); void OnInactivityTimer(); void OnShutdown(QSessionManager& manager); void loadColumnVisibility(); private: void closeEvent(QCloseEvent* event); void hideEvent(QHideEvent* event); void showEvent(QShowEvent* event); void setLock(); void resetLock(); enum StatusBarMsg { StatusBarReady, StatusBarLoading, StatusBarLoadingFailed, StatusBarReadOnlyLock }; void setStatusBarMsg(StatusBarMsg statusBarMsg); SelectionState GroupSelection, EntrySelection; bool FileOpen; bool ModFlag; bool IsLocked; QList SearchResults; inline void setupToolbar(); inline void setupIcons(); inline void setupConnections(); inline void setupMenus(); void setStateFileOpen(bool); void setStateFileModified(bool); void setStateGroupSelected(SelectionState s); void setStateEntrySelected(SelectionState s); bool openDatabase(QString filename,bool IsAuto=false); void fakeOpenDatabase(const QString& filename); void setupDatabaseConnections(IDatabase* DB); bool closeDatabase(bool lock=false); void search(IGroupHandle* Group); //void removeFromSearchResults(int sID); void updateDetailView(); void exportDatabase(IExport* exporter,QStringList filters); void saveLastFilename(const QString& filename); void createBookmarkActions(); void updateWindowTitle(); void updateTrayTooltip(); void updateCurrentFile(const QString& filePath); QLineEdit* QuickSearchEdit; QLabel* StatusBarGeneral; //QLabel* StatusBarSelection; QToolBar* toolBar; QSystemTrayIcon* SysTray; QAction* ViewShowToolbarAction; QMenu* SysTrayMenu; //QAssistantClient* HelpBrowser; //TODO HelpBrowser QWidget* NormalCentralWidget; QWidget* LockedCentralWidget; Ui_WorkspaceLockedWidget WorkspaceLockedWidget; bool ShutingDown; bool InUnLock; QList lockGroup; QDialog* unlockDlg; QString currentFilePath; QString currentFileName; int inactivityCounter; QTimer* inactivityTimer; StatusBarMsg statusbarState; bool dbReadOnly; }; #endif keepassx-0.4.3/src/mainwindow.cpp0000664000175000017500000014376411325300107016021 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include "mainwindow.h" #include "lib/AutoType.h" #include "import/Import_PwManager.h" #include "import/Import_KWalletXml.h" #include "import/Import_KeePassX_Xml.h" #include "export/Export_Txt.h" #include "export/Export_KeePassX_Xml.h" #include "dialogs/AboutDlg.h" #include "dialogs/SearchDlg.h" #include "dialogs/SettingsDlg.h" #include "dialogs/DatabaseSettingsDlg.h" #include "dialogs/PasswordDlg.h" #include "dialogs/SimplePasswordDlg.h" #include "dialogs/PasswordGenDlg.h" #include "dialogs/CollectEntropyDlg.h" #include "dialogs/CustomizeDetailViewDlg.h" #include "dialogs/ExpiredEntriesDlg.h" //#include "dialogs/TrashCanDlg.h" //TODO TrashCan #include "dialogs/AddBookmarkDlg.h" #include "dialogs/ManageBookmarksDlg.h" #include "dialogs/HelpDlg.h" Import_KeePassX_Xml import_KeePassX_Xml; Import_PwManager import_PwManager; Import_KWalletXml import_KWalletXml; Export_Txt export_Txt; Export_KeePassX_Xml export_KeePassX_Xml; KeepassMainWindow::KeepassMainWindow(const QString& ArgFile,bool ArgMin,bool ArgLock,QWidget *parent, Qt::WFlags flags) :QMainWindow(parent,flags){ ShutingDown=false; IsLocked=false; EventOccurred=true; inactivityCounter=0; InUnLock=false; unlockDlg=NULL; db=NULL; setupUi(this); #ifdef Q_WS_MAC setUnifiedTitleAndToolBarOnMac(true); #endif #ifdef AUTOTYPE initAutoType(this); #endif #ifdef GLOBAL_AUTOTYPE autoType->registerGlobalShortcut(config->globalShortcut()); #endif setWindowModified(false); QByteArray windowGeo = config->mainWindowGeometry(); if (!windowGeo.isEmpty()) restoreGeometry(windowGeo); VSplitter->restoreState(config->vSplitterPos()); HSplitter->restoreState(config->hSplitterPos()); SysTray=new QSystemTrayIcon(this); setupToolbar(); setupIcons(); setStateFileOpen(false); setupMenus(); DetailView->setVisible(config->showEntryDetails()); StatusBarGeneral=new QLabel(statusBar()); //StatusBarSelection=new QLabel(statusBar()); statusBar()->addWidget(StatusBarGeneral,15); //statusBar()->addWidget(StatusBarSelection,85); statusBar()->setVisible(config->showStatusbar()); setStatusBarMsg(StatusBarReady); #ifndef Q_WS_MAC if (config->alwaysOnTop()) setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); #endif NormalCentralWidget=QMainWindow::centralWidget(); LockedCentralWidget=new QWidget(this); WorkspaceLockedWidget.setupUi(LockedCentralWidget); LockedCentralWidget->setVisible(false); setupConnections(); connect(qApp, SIGNAL(commitDataRequest(QSessionManager&)), SLOT(OnShutdown(QSessionManager&))); inactivityTimer = new QTimer(this); inactivityTimer->setInterval(500); connect(inactivityTimer, SIGNAL(timeout()), SLOT(OnInactivityTimer())); if (config->lockOnInactivity() && config->lockAfterSec()!=0) inactivityTimer->start(); bool showWindow = !ArgMin; FileOpen=false; if(!ArgFile.isEmpty()){ QString f = QDir::cleanPath(QDir::current().absoluteFilePath(ArgFile)); if (ArgLock) fakeOpenDatabase(f); else openDatabase(f,false); } else if(config->openLastFile() && !config->lastFile().isEmpty()){ QFileInfo file(config->lastFile()); if(file.exists()){ QString f = QDir::cleanPath(QDir::current().absoluteFilePath(config->lastFile())); if (!ArgMin) showWindow = !config->startMinimized(); if (ArgLock || config->startLocked()) fakeOpenDatabase(f); else openDatabase(f,true); } else config->setLastFile(QString()); } // TODO HelpBrowser /*HelpBrowser = new QAssistantClient(QString(),this); HelpBrowser->setArguments(QStringList()<< "-profile" << "share/keepass/doc/keepassx.adp");*/ createBookmarkActions(); if (showWindow) show(); else if (!config->showSysTrayIcon()) showMinimized(); } void KeepassMainWindow::setupConnections(){ connect(FileNewAction, SIGNAL(triggered()), this, SLOT(OnFileNewKdb())); connect(FileOpenAction, SIGNAL(triggered()), this, SLOT(OnFileOpen())); connect(FileCloseAction, SIGNAL(triggered()), this, SLOT(OnFileClose())); connect(FileSaveAction, SIGNAL(triggered()), this, SLOT(OnFileSave())); connect(FileSaveAsAction, SIGNAL(triggered()), this, SLOT(OnFileSaveAs())); connect(FileSettingsAction, SIGNAL(triggered()), this, SLOT(OnFileSettings())); connect(FileChangeKeyAction, SIGNAL(triggered()), this, SLOT(OnFileChangeKey())); connect(FileExitAction, SIGNAL(triggered()), this, SLOT(OnFileExit())); connect(FileUnLockWorkspaceAction,SIGNAL(triggered()), this, SLOT(OnUnLockWorkspace())); connect(menuImport,SIGNAL(triggered(QAction*)),this,SLOT(OnImport(QAction*))); connect(menuExport,SIGNAL(triggered(QAction*)),this,SLOT(OnExport(QAction*))); connect(menuBookmarks,SIGNAL(triggered(QAction*)),this,SLOT(OnBookmarkTriggered(QAction*))); connect(EditNewGroupAction, SIGNAL(triggered()), GroupView, SLOT(OnNewGroup())); connect(EditNewSubgroupAction, SIGNAL(triggered()), GroupView, SLOT(OnNewSubgroup())); connect(EditEditGroupAction, SIGNAL(triggered()), GroupView, SLOT(OnEditGroup())); connect(EditDeleteGroupAction, SIGNAL(triggered()), GroupView, SLOT(OnDeleteGroup())); connect(EditGroupSortAction, SIGNAL(triggered()), GroupView, SLOT(OnSort())); connect(EditNewEntryAction, SIGNAL(triggered()), EntryView, SLOT(OnNewEntry())); connect(EditEditEntryAction, SIGNAL(triggered()), EntryView, SLOT(OnEditEntry())); connect(EntryView, SIGNAL(requestCreateGroup(QString,quint32,GroupViewItem*)), GroupView, SLOT(createGroup(QString,quint32,GroupViewItem*))); connect(EditCloneEntryAction, SIGNAL(triggered()), EntryView, SLOT(OnCloneEntry())); connect(EditDeleteEntryAction, SIGNAL(triggered()), EntryView, SLOT(OnDeleteEntry())); connect(EditUsernameToClipboardAction, SIGNAL(triggered()), EntryView, SLOT(OnUsernameToClipboard())); connect(EditPasswordToClipboardAction, SIGNAL(triggered()), EntryView, SLOT(OnPasswordToClipboard())); connect(EditOpenUrlAction, SIGNAL(triggered()), EntryView, SLOT(OnEditOpenUrl())); connect(EditCopyUrlAction, SIGNAL(triggered()), EntryView, SLOT(OnEditCopyUrl())); connect(EditSaveAttachmentAction, SIGNAL(triggered()),EntryView, SLOT(OnSaveAttachment())); connect(EditSearchAction, SIGNAL(triggered()), this, SLOT(OnSearch())); connect(EditGroupSearchAction, SIGNAL(triggered()), this, SLOT(OnGroupSearch())); #ifdef AUTOTYPE connect(EditAutoTypeAction,SIGNAL(triggered()),EntryView,SLOT(OnAutoType())); #endif connect(ViewShowToolbarAction,SIGNAL(toggled(bool)),this,SLOT(OnViewShowToolbar(bool))); connect(ViewShowEntryDetailsAction,SIGNAL(toggled(bool)),this,SLOT(OnViewShowEntryDetails(bool))); connect(ViewHidePasswordsAction,SIGNAL(toggled(bool)), this, SLOT(OnUsernPasswVisibilityChanged())); connect(ViewHideUsernamesAction,SIGNAL(toggled(bool)), this, SLOT(OnUsernPasswVisibilityChanged())); connect(menuColumns,SIGNAL(triggered(QAction*)),this,SLOT(OnColumnVisibilityChanged())); connect(ViewToolButtonSize16Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize16(bool))); connect(ViewToolButtonSize22Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize22(bool))); connect(ViewToolButtonSize28Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize28(bool))); connect(ViewShowStatusbarAction,SIGNAL(toggled(bool)),statusBar(),SLOT(setVisible(bool))); #ifdef Q_WS_MAC connect(ViewMinimizeAction, SIGNAL(triggered()), SLOT(showMinimized())); #endif connect(ExtrasSettingsAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasSettings())); connect(ExtrasPasswordGenAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasPasswordGen())); connect(ExtrasShowExpiredEntriesAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasShowExpiredEntries())); //connect(ExtrasTrashCanAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasTrashCan())); //TODO ExtrasTrashCan connect(HelpHandbookAction,SIGNAL(triggered()),this,SLOT(OnHelpHandbook())); connect(HelpAboutAction,SIGNAL(triggered()),this,SLOT(OnHelpAbout())); connect(QuickSearchEdit,SIGNAL(returnPressed()), this, SLOT(OnQuickSearch())); connect(GroupView,SIGNAL(groupChanged(IGroupHandle*)),EntryView,SLOT(OnGroupChanged(IGroupHandle*))); connect(GroupView,SIGNAL(groupChanged(IGroupHandle*)),this,SLOT(OnGroupSelectionChanged(IGroupHandle*))); connect(GroupView,SIGNAL(fileModified()),this,SLOT(OnFileModified())); connect(EntryView,SIGNAL(fileModified()),this,SLOT(OnFileModified())); connect(EntryView,SIGNAL(selectionChanged(SelectionState)),this,SLOT(OnEntryChanged(SelectionState))); connect(GroupView,SIGNAL(searchResultsSelected()),EntryView,SLOT(OnShowSearchResults())); connect(GroupView,SIGNAL(searchResultsSelected()),this,SLOT(OnShowSearchResults())); connect(GroupView,SIGNAL(entriesDropped()),EntryView,SLOT(removeDragItems())); connect(HideSearchResultsAction,SIGNAL(triggered()),GroupView,SLOT(OnHideSearchResults())); connect(EntryView, SIGNAL(viewModeChanged(bool)), SLOT(loadColumnVisibility())); connect(EntryView, SIGNAL(viewModeChanged(bool)), ViewColumnsGroupAction, SLOT(setVisible(bool))); connect(SysTray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(OnSysTrayActivated(QSystemTrayIcon::ActivationReason))); connect(DetailView,SIGNAL(anchorClicked(const QUrl&)),this,SLOT(OnDetailViewUrlClicked(const QUrl&))); connect(WorkspaceLockedWidget.Button_Unlock,SIGNAL(clicked()),this,SLOT(OnUnLockWorkspace())); connect(WorkspaceLockedWidget.Button_CloseDatabase,SIGNAL(clicked()),this,SLOT(OnLockClose())); } void KeepassMainWindow::setupToolbar(){ toolBar=new QToolBar(this); toolBar->setMovable(false); addToolBar(toolBar); toolBar->setIconSize(QSize(config->toolbarIconSize(),config->toolbarIconSize())); ViewShowToolbarAction=toolBar->toggleViewAction(); toolBar->addAction(FileNewAction); toolBar->addAction(FileOpenAction); toolBar->addAction(FileSaveAction); toolBar->addSeparator(); toolBar->addAction(EditNewEntryAction); toolBar->addAction(EditEditEntryAction); toolBar->addAction(EditDeleteEntryAction); toolBar->addSeparator(); toolBar->addAction(EditUsernameToClipboardAction); toolBar->addAction(EditPasswordToClipboardAction); toolBar->addSeparator(); toolBar->addAction(FileUnLockWorkspaceAction); toolBar->addSeparator(); QuickSearchEdit=new QLineEdit(toolBar); QuickSearchEdit->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed); toolBar->addWidget(QuickSearchEdit); toolBar->setVisible(config->showToolbar()); } void KeepassMainWindow::setupIcons(){ setWindowIcon(getIcon("keepassx_small")); FileNewAction->setIcon(getIcon("filenew")); FileOpenAction->setIcon(getIcon("fileopen")); FileSaveAction->setIcon(getIcon("filesave")); FileSaveAsAction->setIcon(getIcon("filesaveas")); FileCloseAction->setIcon(getIcon("fileclose")); FileSettingsAction->setIcon(getIcon("dbsettings")); FileUnLockWorkspaceAction->setIcon(getIcon("lock")); FileExitAction->setIcon(getIcon("exit")); EditNewEntryAction->setIcon(getIcon("newentry")); EditEditEntryAction->setIcon(getIcon("editentry")); EditDeleteEntryAction->setIcon(getIcon("deleteentry")); EditGroupSortAction->setIcon(getIcon("swap")); EditUsernameToClipboardAction->setIcon(getIcon("copyusername")); EditPasswordToClipboardAction->setIcon(getIcon("copypwd")); EditCloneEntryAction->setIcon(getIcon("cloneentry")); EditOpenUrlAction->setIcon(getIcon("openurl")); EditSaveAttachmentAction->setIcon(getIcon("filesave")); EditNewGroupAction->setIcon(getIcon("newgroup")); EditNewSubgroupAction->setIcon(getIcon("newgroup")); EditEditGroupAction->setIcon(getIcon("editgroup")); EditDeleteGroupAction->setIcon(getIcon("deletegroup")); EditSearchAction->setIcon(getIcon("dbsearch")); EditGroupSearchAction->setIcon(getIcon("groupsearch")); ExtrasShowExpiredEntriesAction->setIcon(getIcon("expired")); ExtrasPasswordGenAction->setIcon(getIcon("generator")); //ExtrasTrashCanAction->setIcon(getIcon("trashcan")); //TODO ExtrasTrashCan ExtrasSettingsAction->setIcon(getIcon("appsettings")); #ifdef AUTOTYPE EditAutoTypeAction->setIcon(getIcon("autotype")); #else EditAutoTypeAction->setVisible(false); #endif HelpHandbookAction->setIcon(getIcon("manual")); HelpAboutAction->setIcon(getIcon("help_about")); menuBookmarks->menuAction()->setIcon(getIcon("bookmark_folder")); AddThisAsBookmarkAction->setIcon(getIcon("bookmark_this")); AddBookmarkAction->setIcon(getIcon("bookmark_add")); ManageBookmarksAction->setIcon(getIcon("bookmark")); SysTray->setIcon(getIcon("keepassx")); if(config->showSysTrayIcon()) SysTray->show(); } void KeepassMainWindow::setupMenus(){ GroupView->ContextMenu->addAction(EditNewSubgroupAction); GroupView->ContextMenu->addAction(EditEditGroupAction); GroupView->ContextMenu->addAction(EditDeleteGroupAction); GroupView->ContextMenu->addAction(EditGroupSortAction); GroupView->ContextMenu->addSeparator(); GroupView->ContextMenu->addAction(EditNewEntryAction); GroupView->ContextMenu->addSeparator(); GroupView->ContextMenu->addAction(EditGroupSearchAction); GroupView->ContextMenuSearchGroup->addAction(HideSearchResultsAction); EntryView->ContextMenu->addAction(EditUsernameToClipboardAction); EntryView->ContextMenu->addAction(EditPasswordToClipboardAction); EntryView->ContextMenu->addAction(EditOpenUrlAction); EntryView->ContextMenu->addAction(EditCopyUrlAction); EntryView->ContextMenu->addAction(EditSaveAttachmentAction); #ifdef AUTOTYPE EntryView->ContextMenu->addAction(EditAutoTypeAction); #endif EntryView->ContextMenu->addSeparator(); EntryView->ContextMenu->addAction(EditNewEntryAction); EntryView->ContextMenu->addAction(EditEditEntryAction); EntryView->ContextMenu->addAction(EditCloneEntryAction); EntryView->ContextMenu->addAction(EditDeleteEntryAction); ViewShowToolbarAction->setText(tr("Show &Toolbar")); ViewMenu->insertAction(ViewShowEntryDetailsAction,ViewShowToolbarAction); ViewShowToolbarAction->setChecked(config->showToolbar()); ViewShowEntryDetailsAction->setChecked(config->showEntryDetails()); ViewHidePasswordsAction->setChecked(config->hidePasswords()); ViewHideUsernamesAction->setChecked(config->hideUsernames()); loadColumnVisibility(); ViewShowStatusbarAction->setChecked(config->showStatusbar()); switch(config->toolbarIconSize()){ case 16: ViewToolButtonSize16Action->setChecked(true); break; case 22: ViewToolButtonSize22Action->setChecked(true); break; case 28: ViewToolButtonSize28Action->setChecked(true); break; } #ifdef Q_WS_MAC ViewMenu->addSeparator(); ViewMenu->addAction(ViewMinimizeAction); #endif SysTrayMenu = new QMenu(APP_DISPLAY_NAME,this); SysTrayMenu->addAction(FileUnLockWorkspaceAction); SysTrayMenu->addSeparator(); SysTrayMenu->addAction(FileExitAction); SysTray->setContextMenu(SysTrayMenu); updateTrayTooltip(); #define _add_import(name){\ QAction* import=new QAction(this);\ import->setData(qVariantFromValue(dynamic_cast(&name)));\ import->setText(name.title());\ menuImport->addAction(import);} #define _add_export(name){\ QAction* Export=new QAction(this);\ Export->setData(qVariantFromValue(dynamic_cast(&name)));\ Export->setText(name.title());\ menuExport->addAction(Export);} _add_import(import_KeePassX_Xml) _add_import(import_PwManager) _add_import(import_KWalletXml) _add_export(export_Txt); _add_export(export_KeePassX_Xml); FileNewAction->setShortcut(tr("Ctrl+N")); FileOpenAction->setShortcut(tr("Ctrl+O")); FileCloseAction->setShortcut(tr("Ctrl+W")); FileSaveAction->setShortcut(tr("Ctrl+S")); FileUnLockWorkspaceAction->setShortcut(tr("Ctrl+L")); FileExitAction->setShortcut(tr("Ctrl+Q")); EditNewGroupAction->setShortcut(tr("Ctrl+G")); EditPasswordToClipboardAction->setShortcut(tr("Ctrl+C")); EditUsernameToClipboardAction->setShortcut(tr("Ctrl+B")); EditOpenUrlAction->setShortcut(tr("Ctrl+U")); EditCopyUrlAction->setShortcut(tr("Ctrl+I")); EditNewEntryAction->setShortcut(tr("Ctrl+Y")); EditEditEntryAction->setShortcut(tr("Ctrl+E")); EditDeleteEntryAction->setShortcut(tr("Ctrl+D")); EditCloneEntryAction->setShortcut(tr("Ctrl+K")); EditSearchAction->setShortcut(tr("Ctrl+F")); ExtrasPasswordGenAction->setShortcut(tr("Ctrl+P")); ExtrasShowExpiredEntriesAction->setShortcut(tr("Ctrl+X")); #ifdef AUTOTYPE EditAutoTypeAction->setShortcut(tr("Ctrl+V")); #endif #ifdef Q_WS_MAC FileSaveAsAction->setShortcut(tr("Shift+Ctrl+S")); EditGroupSearchAction->setShortcut(tr("Shift+Ctrl+F")); ViewMinimizeAction->setShortcut(tr("Ctrl+M")); #endif //ExtrasTrashCanAction->setVisible(false); //TODO For KP 2.x only menuBookmarks->menuAction()->setVisible(config->featureBookmarks()); } void KeepassMainWindow::loadColumnVisibility() { ViewColumnsTitleAction->setChecked(EntryView->columnVisible(0)); ViewColumnsUsernameAction->setChecked(EntryView->columnVisible(1)); ViewColumnsUrlAction->setChecked(EntryView->columnVisible(2)); ViewColumnsPasswordAction->setChecked(EntryView->columnVisible(3)); ViewColumnsCommentAction->setChecked(EntryView->columnVisible(4)); ViewColumnsExpireAction->setChecked(EntryView->columnVisible(5)); ViewColumnsCreationAction->setChecked(EntryView->columnVisible(6)); ViewColumnsLastChangeAction->setChecked(EntryView->columnVisible(7)); ViewColumnsLastAccessAction->setChecked(EntryView->columnVisible(8)); ViewColumnsAttachmentAction->setChecked(EntryView->columnVisible(9)); ViewColumnsGroupAction->setChecked(EntryView->columnVisible(10)); } void KeepassMainWindow::setupDatabaseConnections(IDatabase* DB){ ICustomIcons* CustomIconsDb=dynamic_cast(DB); if(CustomIconsDb){ connect(CustomIconsDb,SIGNAL(iconsModified()),this,SLOT(OnFileModified())); connect(CustomIconsDb,SIGNAL(iconsModified()),EntryView,SLOT(updateIcons())); connect(CustomIconsDb,SIGNAL(iconsModified()),GroupView,SLOT(updateIcons())); } } bool KeepassMainWindow::openDatabase(QString filename,bool IsAuto){ if (!QFile::exists(filename)){ QMessageBox::critical(this, tr("Error"), tr("The database file does not exist.")); return false; } dbReadOnly = false; if (QFile::exists(filename+".lock")){ QMessageBox msgBox(this); msgBox.setIcon(QMessageBox::Question); msgBox.setWindowTitle(tr("Database locked")); msgBox.setText(tr("The database you are trying to open is locked.\n" "This means that either someone else has opened the file or KeePassX crashed last time it opened the database.\n\n" "Do you want to open it anyway?" )); msgBox.addButton(QMessageBox::Yes); msgBox.addButton(QMessageBox::No); QPushButton* readOnlyButton = new QPushButton(tr("Open read-only"), &msgBox); msgBox.addButton(readOnlyButton, QMessageBox::AcceptRole); msgBox.setDefaultButton(readOnlyButton); msgBox.exec(); if (!msgBox.clickedButton() || msgBox.clickedButton() == msgBox.button(QMessageBox::No)) return false; else if (msgBox.clickedButton() == readOnlyButton) dbReadOnly = true; } if(!IsAuto){ config->setLastKeyLocation(QString()); config->setLastKeyType(PASSWORD); } db = new Kdb3Database(); PasswordDialog::DlgFlags flags=PasswordDialog::Flag_None; if(IsAuto) flags = PasswordDialog::Flag_Auto; PasswordDialog dlg(this,PasswordDialog::Mode_Ask,flags,filename); if (InUnLock){ dlg.setWindowModality(Qt::WindowModal); unlockDlg = &dlg; } bool rejected = (dlg.exec()==PasswordDialog::Exit_Cancel); if (InUnLock) unlockDlg = NULL; if (rejected) return false; if(dlg.selectedBookmark()!=QString()) filename=dlg.selectedBookmark(); GroupView->db=db; EntryView->db=db; setupDatabaseConnections(db); QString err; setStatusBarMsg(StatusBarLoading); db->setKey(dlg.password(),dlg.keyFile()); if (!dbReadOnly && !QFile::exists(filename+".lock")){ QFile lock(filename+".lock"); if (!lock.open(QIODevice::WriteOnly)){ setStatusBarMsg(StatusBarReadOnlyLock); dbReadOnly = true; } } if(db->load(filename, dbReadOnly)){ if (IsLocked) resetLock(); updateCurrentFile(filename); saveLastFilename(filename); GroupView->createItems(); EntryView->showGroup(NULL); setStateFileOpen(true); setStateFileModified(static_cast(db)->hasPasswordEncodingChanged()); } else{ if (!dbReadOnly && QFile::exists(filename+".lock")) QFile::remove(filename+".lock"); setStatusBarMsg(StatusBarLoadingFailed); QString error=db->getError(); if(error.isEmpty())error=tr("Unknown error while loading database."); QMessageBox::critical(this,tr("Error"), QString("%1\n%2").arg(tr("The following error occured while opening the database:")) .arg(error)); if(db->isKeyError()){ delete db; return openDatabase(filename,IsAuto); } else{ delete db; return false; } } if (statusbarState != StatusBarReadOnlyLock) setStatusBarMsg(StatusBarReady); inactivityCounter = 0; GroupView->selectFirstGroup(); return true; } void KeepassMainWindow::fakeOpenDatabase(const QString& filename){ if (!QFile::exists(filename)){ QMessageBox::critical(this, tr("Error"), tr("The database file does not exist.")); return; } config->setLastFile(filename); updateCurrentFile(filename); setLock(); } bool KeepassMainWindow::closeDatabase(bool lock){ Q_ASSERT(FileOpen); Q_ASSERT(db!=NULL); if(ModFlag){ if(config->autoSave() && db->file()){ if(!OnFileSave()) return false; } else{ QMessageBox::StandardButton r=QMessageBox::question(this,tr("Save modified file?"), tr("The current file was modified.\nDo you want to save the changes?"), QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel, QMessageBox::Yes); if(r==QMessageBox::Cancel) return false; //Cancel if(r==QMessageBox::Yes){ //Yes (Save file) if (dbReadOnly) { if(!OnFileSaveAs()) return false; } else { if(!OnFileSave()) return false; } } } } db->close(); delete db; db=NULL; if (!dbReadOnly && QFile::exists(currentFilePath+".lock")){ if (!QFile::remove(currentFilePath+".lock")) QMessageBox::critical(this, tr("Error"), tr("Couldn't remove database lock file.")); } EntryView->db=NULL; EntryView->clear(); EntryView->Items.clear(); GroupView->db=NULL; GroupView->clear(); GroupView->Items.clear(); SearchResults.clear(); if (lock) IsLocked = true; setStateFileOpen(false); if (!lock){ updateCurrentFile(QString()); QuickSearchEdit->setText(""); updateTrayTooltip(); } return true; } void KeepassMainWindow::OnFileNewKdb(){ IDatabase* db_new=dynamic_cast(new Kdb3Database()); db_new->create(); PasswordDialog dlg(this,PasswordDialog::Mode_Set,PasswordDialog::Flag_None,"New Database"); if(dlg.exec()==PasswordDialog::Exit_Ok){ if(FileOpen) if(!closeDatabase())return; if (IsLocked) resetLock(); db=db_new; db->setKey(dlg.password(),dlg.keyFile()); db->generateMasterKey(); updateCurrentFile(QString()); GroupView->db=db; EntryView->db=db; GroupView->createItems(); EntryView->showGroup(NULL); setStateFileOpen(true); setStateFileModified(true); setupDatabaseConnections(db); setStateGroupSelected(NONE); setStateEntrySelected(NONE); GroupView->createGroup("Internet", 1); GroupView->createGroup("eMail", 19); } else{ delete db_new; } } void KeepassMainWindow::openFile(const QString& filename) { if(FileOpen) { if(!closeDatabase()) return; } openDatabase(filename); } void KeepassMainWindow::OnFileOpen(){ /*QFileDialog FileDlg(this,tr("Open Database..."),QDir::homePath()); FileDlg.setFilters(QStringList()<< tr("KeePass Databases (*.kdb)")<< tr("All Files (*)")); FileDlg.setFileMode(QFileDialog::ExistingFile); FileDlg.setAcceptMode(QFileDialog::AcceptOpen); if(!FileDlg.exec())return; if(!FileDlg.selectedFiles().size())return;*/ QString filename=KpxFileDialogs::openExistingFile(this,"MainWindow_FileOpen", tr("Open Database..."),QStringList()<setEnabled(IsOpen); FileSaveAsAction->setEnabled(IsOpen); FileCloseAction->setEnabled(IsOpen||IsLocked); FileSettingsAction->setEnabled(IsOpen); FileChangeKeyAction->setEnabled(IsOpen); menuExport->setEnabled(IsOpen); EditNewGroupAction->setEnabled(IsOpen); EditSearchAction->setEnabled(IsOpen); GroupView->setEnabled(IsOpen); EntryView->setEnabled(IsOpen); DetailView->setEnabled(IsOpen); QuickSearchEdit->setEnabled(IsOpen); ExtrasShowExpiredEntriesAction->setEnabled(IsOpen); AddThisAsBookmarkAction->setEnabled(IsOpen && db->file()); FileUnLockWorkspaceAction->setEnabled(IsOpen||IsLocked); if(!IsOpen){ EditNewSubgroupAction->setEnabled(false); EditEditGroupAction->setEnabled(false); EditDeleteGroupAction->setEnabled(false); EditPasswordToClipboardAction->setEnabled(false); EditUsernameToClipboardAction->setEnabled(false); EditOpenUrlAction->setEnabled(false); EditCopyUrlAction->setEnabled(false); EditSaveAttachmentAction->setEnabled(false); EditNewEntryAction->setEnabled(false); EditEditEntryAction->setEnabled(false); EditCloneEntryAction->setEnabled(false); EditDeleteEntryAction->setEnabled(false); EditGroupSearchAction->setEnabled(false); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(false); #endif } updateWindowTitle(); updateTrayTooltip(); } void KeepassMainWindow::setStateFileModified(bool mod){ if (config->autoSaveChange() && mod && db->file()){ if (OnFileSave()) return; // return on success, so we don't set the state to modified } ModFlag=mod; if(mod) FileSaveAction->setIcon(getIcon("filesave")); else FileSaveAction->setIcon(getIcon("filesavedisabled")); updateWindowTitle(); setWindowModified(mod); } void KeepassMainWindow::setStateGroupSelected(SelectionState s){ GroupSelection=s; switch(GroupSelection){ case NONE: EditNewSubgroupAction->setEnabled(false); EditEditGroupAction->setEnabled(false); EditDeleteGroupAction->setEnabled(false); EditGroupSearchAction->setEnabled(false); EditNewEntryAction->setEnabled(false); break; case SINGLE: EditNewSubgroupAction->setEnabled(true); EditEditGroupAction->setEnabled(true); EditDeleteGroupAction->setEnabled(true); EditGroupSearchAction->setEnabled(true); EditNewEntryAction->setEnabled(true); break; case SEARCHGROUP: EditNewSubgroupAction->setEnabled(false); EditEditGroupAction->setEnabled(false); EditDeleteGroupAction->setEnabled(false); EditGroupSearchAction->setEnabled(false); EditNewEntryAction->setEnabled(false); break; default: Q_ASSERT(false); } } void KeepassMainWindow::updateDetailView(){ if(EntryView->selectedItems().size()!=1){ DetailView->setPlainText(""); return; } QString templ=DetailViewTemplate; IEntryHandle* entry=((EntryViewItem*)(EntryView->selectedItems()[0]))->EntryHandle; templ.replace("%group%", Qt::escape(entry->group()->title())); templ.replace("%title%", Qt::escape(entry->title())); if (config->hideUsernames()) templ.replace("%username%","****"); else templ.replace("%username%", Qt::escape(entry->username())); if (!config->hidePasswords()) { SecString password=entry->password(); password.unlock(); templ.replace("%password%", Qt::escape(password.string())); } else { templ.replace("%password%","****"); } templ.replace("%url%", Qt::escape(entry->url())); templ.replace("%creation%", Qt::escape(entry->creation().toString(Qt::SystemLocaleDate))); templ.replace("%lastmod%", Qt::escape(entry->lastMod().toString(Qt::SystemLocaleDate))); templ.replace("%lastaccess%", Qt::escape(entry->lastAccess().toString(Qt::SystemLocaleDate))); templ.replace("%expire%", Qt::escape(entry->expire().toString(Qt::SystemLocaleDate))); templ.replace("%comment%", Qt::escape(entry->comment()).replace("\n","
")); templ.replace("%attachment%", Qt::escape(entry->binaryDesc())); if(entry->expire()!=Date_Never){ int secs=QDateTime::currentDateTime().secsTo(entry->expire()); if(secs < 0) templ.replace("%expire-timeleft%",tr("Expired")); else{ int years=0; int months=0; int days=0; years=secs/(86400*365); secs-=years*(86400*365); months=secs/(86400*30); secs-=months*(86400*30); days=secs/86400; QString out; if(months==1) out=tr("1 Month"); if(months>1) out=tr("%1 Months").arg(months); if(years){ if(out!=QString()) out.prepend(", "); if(years==1) out.prepend(tr("1 Year")); if(years>1) out.prepend(tr("%1 Years").arg(years)); } else if(days){ if(out!=QString()) out.append(", "); if(days==1) out.append(tr("1 Day")); if(days>1) out.append(tr("%1 Days").arg(days)); } if(!days && !years && !months) out=tr("less than 1 day"); templ.replace("%expire-timeleft%","in " + out); } } else templ.replace("%expire-timeleft%","-"); DetailView->setHtml(templ); } void KeepassMainWindow::setStateEntrySelected(SelectionState s){ EntrySelection = s; if (GroupSelection == NONE || GroupSelection == SINGLE){ switch (EntrySelection){ case NONE: EditPasswordToClipboardAction->setEnabled(false); EditUsernameToClipboardAction->setEnabled(false); EditOpenUrlAction->setEnabled(false); EditCopyUrlAction->setEnabled(false); EditSaveAttachmentAction->setEnabled(false); EditEditEntryAction->setEnabled(false); EditCloneEntryAction->setEnabled(false); EditCloneEntryAction->setText(tr("Clone Entry")); EditDeleteEntryAction->setEnabled(false); EditDeleteEntryAction->setText(tr("Delete Entry")); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(false); #endif break; case SINGLE: EditPasswordToClipboardAction->setEnabled(true); EditUsernameToClipboardAction->setEnabled(true); EditOpenUrlAction->setEnabled(true); EditCopyUrlAction->setEnabled(true); EditSaveAttachmentAction->setEnabled(((EntryViewItem*)(EntryView->selectedItems()[0]))->EntryHandle->binarySize() > 0); EditEditEntryAction->setEnabled(true); EditCloneEntryAction->setEnabled(true); EditCloneEntryAction->setText(tr("Clone Entry")); EditDeleteEntryAction->setEnabled(true); EditDeleteEntryAction->setText(tr("Delete Entry")); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(true); #endif break; case MULTIPLE: EditPasswordToClipboardAction->setEnabled(false); EditUsernameToClipboardAction->setEnabled(false); EditOpenUrlAction->setEnabled(false); EditCopyUrlAction->setEnabled(false); EditSaveAttachmentAction->setEnabled(false); EditEditEntryAction->setEnabled(false); EditCloneEntryAction->setEnabled(true); EditCloneEntryAction->setText(tr("Clone Entries")); EditDeleteEntryAction->setEnabled(true); EditDeleteEntryAction->setText(tr("Delete Entries")); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(false); #endif break; default: Q_ASSERT(false); } } else if (GroupSelection == SEARCHGROUP){ switch(EntrySelection){ case NONE: EditUsernameToClipboardAction->setEnabled(false); EditPasswordToClipboardAction->setEnabled(false); EditOpenUrlAction->setEnabled(false); EditCopyUrlAction->setEnabled(false); EditSaveAttachmentAction->setEnabled(false); EditEditEntryAction->setEnabled(false); EditCloneEntryAction->setEnabled(false); EditCloneEntryAction->setText(tr("Clone Entry")); EditDeleteEntryAction->setEnabled(false); EditDeleteEntryAction->setText(tr("Delete Entry")); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(false); #endif break; case SINGLE: EditUsernameToClipboardAction->setEnabled(true); EditPasswordToClipboardAction->setEnabled(true); EditOpenUrlAction->setEnabled(true); EditCopyUrlAction->setEnabled(true); EditSaveAttachmentAction->setEnabled(((EntryViewItem*)(EntryView->selectedItems()[0]))->EntryHandle->binarySize() > 0); EditEditEntryAction->setEnabled(true); EditCloneEntryAction->setEnabled(false); EditCloneEntryAction->setText(tr("Clone Entry")); EditDeleteEntryAction->setEnabled(true); EditDeleteEntryAction->setText(tr("Delete Entry")); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(true); #endif break; case MULTIPLE: EditUsernameToClipboardAction->setEnabled(false); EditPasswordToClipboardAction->setEnabled(false); EditOpenUrlAction->setEnabled(false); EditCopyUrlAction->setEnabled(false); EditSaveAttachmentAction->setEnabled(false); EditEditEntryAction->setEnabled(false); EditCloneEntryAction->setEnabled(false); EditCloneEntryAction->setText(tr("Clone Entries")); EditDeleteEntryAction->setEnabled(true); EditDeleteEntryAction->setText(tr("Delete Entries")); #ifdef AUTOTYPE EditAutoTypeAction->setEnabled(false); #endif break; default: Q_ASSERT(false); } } else Q_ASSERT(false); } bool KeepassMainWindow::OnFileSave(){ if(!db->file()) return OnFileSaveAs(); saveLastFilename(db->file()->fileName()); if(db->save()){ setStateFileOpen(true); // necessary for AddThisAsBookmarkAction setStateFileModified(false); if (config->backup() && config->backupDelete() && config->backupDeleteAfter()>0){ IGroupHandle* backupGroup = db->backupGroup(); if (backupGroup && backupGroup==EntryView->getCurrentGroup()) EntryView->showGroup(backupGroup); } return true; } else{ showErrMsg(QString("%1\n%2").arg(tr("File could not be saved.")).arg(db->getError())); return false; } } bool KeepassMainWindow::OnFileSaveAs(){ QString filename=KpxFileDialogs::saveFile(this,"MainWindow_FileSave", tr("Save Database..."),QStringList()<changeFile(filename)){ showErrMsg(QString("%1\n%2").arg(tr("File could not be saved.")).arg(db->getError())); QFile::remove( filename+".lock" ); return false; } if (!dbReadOnly && !currentFilePath.isEmpty() && QFile::exists(currentFilePath+".lock")){ if (!QFile::remove(currentFilePath+".lock")) QMessageBox::critical(this, tr("Error"), tr("Couldn't remove database lock file.")); } dbReadOnly = false; updateCurrentFile(filename); updateWindowTitle(); updateTrayTooltip(); return OnFileSave(); } void KeepassMainWindow::OnFileSettings(){ CDbSettingsDlg dlg(this,db); if(dlg.exec()){ db->generateMasterKey(); setStateFileModified(true); } } void KeepassMainWindow::OnFileChangeKey(){ QFile* file=db->file(); QString filename = file ? file->fileName() : QString(); PasswordDialog dlg(this,PasswordDialog::Mode_Change,PasswordDialog::Flag_None,filename); if(dlg.exec()==PasswordDialog::Exit_Ok){ db->setKey(dlg.password(),dlg.keyFile()); db->generateMasterKey(); setStateFileModified(true); } } void KeepassMainWindow::OnFileExit(){ ShutingDown = true; close(); } void KeepassMainWindow::OnExport(QAction* action){ dynamic_cast(action->data().value())->exportDatabase(this,db); } void KeepassMainWindow::OnImport(QAction* action){ if(FileOpen) if(!closeDatabase())return; IDatabase* tmpdb=dynamic_cast(new Kdb3Database()); tmpdb->create(); if(dynamic_cast(action->data().value())->importDatabase(this,tmpdb)){ PasswordDialog dlg(this,PasswordDialog::Mode_Set,PasswordDialog::Flag_None,QString()); if(dlg.exec()!=PasswordDialog::Exit_Ok){ delete tmpdb; return; } db=tmpdb; db->setKey(dlg.password(),dlg.keyFile()); db->generateMasterKey(); GroupView->db=db; EntryView->db=db; setupDatabaseConnections(db); GroupView->createItems(); EntryView->showGroup(NULL); setStateFileOpen(true); setStateFileModified(true); } else delete tmpdb; } /* void KeepassMainWindow::removeFromSearchResults(int id){ for(int i=0; iSearchResults=dlg.Result; GroupView->showSearchResults(); } } void KeepassMainWindow::OnSearch(){ search(NULL); } void KeepassMainWindow::OnGroupSearch(){ Q_ASSERT(GroupView->currentItem()); search(((GroupViewItem*)GroupView->currentItem())->GroupHandle); } void KeepassMainWindow::OnQuickSearch(){ EntryView->SearchResults=db->search(NULL,QuickSearchEdit->text(),false,false,false,NULL); GroupView->showSearchResults(); } void KeepassMainWindow::OnColumnVisibilityChanged(){ EntryView->setColumnVisible(0, ViewColumnsTitleAction->isChecked()); EntryView->setColumnVisible(1, ViewColumnsUsernameAction->isChecked()); EntryView->setColumnVisible(2, ViewColumnsUrlAction->isChecked()); EntryView->setColumnVisible(3, ViewColumnsPasswordAction->isChecked()); EntryView->setColumnVisible(4, ViewColumnsCommentAction->isChecked()); EntryView->setColumnVisible(5, ViewColumnsExpireAction->isChecked()); EntryView->setColumnVisible(6, ViewColumnsCreationAction->isChecked()); EntryView->setColumnVisible(7, ViewColumnsLastChangeAction->isChecked()); EntryView->setColumnVisible(8, ViewColumnsLastAccessAction->isChecked()); EntryView->setColumnVisible(9, ViewColumnsAttachmentAction->isChecked()); EntryView->setColumnVisible(10, ViewColumnsGroupAction->isVisible() && ViewColumnsGroupAction->isChecked()); } void KeepassMainWindow::OnUsernPasswVisibilityChanged(){ config->setHidePasswords(ViewHidePasswordsAction->isChecked()); config->setHideUsernames(ViewHideUsernamesAction->isChecked()); EntryView->refreshItems(); } void KeepassMainWindow::OnFileModified(){ setStateFileModified(true); } void KeepassMainWindow::closeEvent(QCloseEvent* e){ if (!ShutingDown && config->showSysTrayIcon() && config->minimizeToTray()){ e->ignore(); if (config->lockOnMinimize() && !IsLocked && FileOpen) OnUnLockWorkspace(); hide(); return; } if(FileOpen && !closeDatabase()){ ShutingDown = false; e->ignore(); if (!isVisible()) show(); return; } e->accept(); #ifdef GLOBAL_AUTOTYPE autoType->unregisterGlobalShortcut(); #endif config->setMainWindowGeometry(saveGeometry()); // workaround if window has never been visible if (isVisible() || VSplitter->sizes()[0]!=VSplitter->sizes()[1]) config->setVSplitterPos(VSplitter->saveState()); if (config->showEntryDetails()) config->setHSplitterPos(HSplitter->saveState()); config->setShowStatusbar(statusBar()->isVisible()); delete SysTray; QMainWindow::closeEvent(e); QApplication::quit(); } void KeepassMainWindow::hideEvent(QHideEvent* event){ if (event->spontaneous() && QApplication::activeModalWidget()==NULL){ if (config->lockOnMinimize() && !IsLocked && FileOpen) OnUnLockWorkspace(); if (config->showSysTrayIcon() && config->minimizeTray()){ #ifdef Q_WS_WIN QTimer::singleShot(100, this, SLOT(hide())); #else hide(); #endif event->accept(); return; } } QMainWindow::hideEvent(event); } void KeepassMainWindow::showEvent(QShowEvent* event){ if (IsLocked && !InUnLock && event->spontaneous()){ #ifndef Q_WS_MAC showNormal(); // workaround for some graphic glitches #endif OnUnLockWorkspace(); } QMainWindow::showEvent(event); } void KeepassMainWindow::OnExtrasSettings(){ QString oldLang = config->language(); bool oldAlwaysOnTop = config->alwaysOnTop(); CSettingsDlg dlg(this); dlg.exec(); if (config->language() != oldLang){ retranslateUi(this); WorkspaceLockedWidget.retranslateUi(LockedCentralWidget); ViewShowToolbarAction->setText(tr("Show &Toolbar")); EntryView->retranslateColumns(); GroupView->retranslateUi(); updateWindowTitle(); updateTrayTooltip(); setStatusBarMsg(statusbarState); } EntryView->setAlternatingRowColors(config->alternatingRowColors()); SysTray->setVisible(config->showSysTrayIcon()); menuBookmarks->menuAction()->setVisible(config->featureBookmarks()); #ifndef Q_WS_MAC if (config->alwaysOnTop() != oldAlwaysOnTop) { if (config->alwaysOnTop()) setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); else setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint); show(); } #endif EventOccurred = true; if (config->lockOnInactivity() && config->lockAfterSec()!=0 && !inactivityTimer->isActive()){ inactivityCounter = 0; inactivityTimer->start(); } else if ((!config->lockOnInactivity() || config->lockAfterSec()==0) && inactivityTimer->isActive()){ inactivityTimer->stop(); } } void KeepassMainWindow::OnHelpAbout(){ AboutDialog dlg(this); dlg.exec(); } void KeepassMainWindow::OnHelpHandbook(){ QPointer dlg = new HelpDlg(this); dlg->exec(); delete dlg; } void KeepassMainWindow::OnViewShowToolbar(bool show){ config->setShowToolbar(show); toolBar->setVisible(show); } void KeepassMainWindow::OnViewShowEntryDetails(bool show){ config->setShowEntryDetails(show); DetailView->setVisible(show); } /*void KeepassMainWindow::OnItemExpanded(QTreeWidgetItem* item){ //((GroupViewItem*)item)->pGroup->UI_ItemIsExpanded=true; } void KeepassMainWindow::OnItemCollaped(QTreeWidgetItem* item){ //((GroupViewItem*)item)->pGroup->UI_ItemIsExpanded=false; }*/ void KeepassMainWindow::OnGroupSelectionChanged(IGroupHandle* group){ if(group) setStateGroupSelected(SINGLE); else setStateGroupSelected(NONE); } void KeepassMainWindow::OnEntryChanged(SelectionState Selection){ updateDetailView(); setStateEntrySelected(Selection); } void KeepassMainWindow::OnShowSearchResults(){ setStateGroupSelected(SEARCHGROUP); } void KeepassMainWindow::OnViewToolbarIconSize16(bool state){ if(!state)return; ViewToolButtonSize22Action->setChecked(false); ViewToolButtonSize28Action->setChecked(false); config->setToolbarIconSize(16); toolBar->setIconSize(QSize(16,16)); } void KeepassMainWindow::OnViewToolbarIconSize22(bool state){ if(!state)return; ViewToolButtonSize16Action->setChecked(false); ViewToolButtonSize28Action->setChecked(false); config->setToolbarIconSize(22); toolBar->setIconSize(QSize(22,22)); } void KeepassMainWindow::OnViewToolbarIconSize28(bool state){ if(!state)return; ViewToolButtonSize16Action->setChecked(false); ViewToolButtonSize22Action->setChecked(false); config->setToolbarIconSize(28); toolBar->setIconSize(QSize(28,28)); } void KeepassMainWindow::OnSysTrayActivated(QSystemTrayIcon::ActivationReason reason){ if(reason!=QSystemTrayIcon::Context){ if (isVisible()){ if (unlockDlg!=NULL) unlockDlg->reject(); else if (config->lockOnMinimize() && !IsLocked && FileOpen) OnUnLockWorkspace(); hide(); } else{ #ifdef Q_WS_WIN QTimer::singleShot(100, this, SLOT(restoreWindow())); #else restoreWindow(); #endif } } } void KeepassMainWindow::restoreWindow(){ #ifdef Q_WS_WIN if (windowState() & Qt::WindowMaximized) showMaximized(); else showNormal(); #else showNormal(); #endif activateWindow(); if (IsLocked) OnUnLockWorkspace(); } void KeepassMainWindow::OnExtrasPasswordGen(){ CGenPwDialog dlg(this,true); dlg.exec(); } void KeepassMainWindow::saveLastFilename(const QString& filename){ if(config->openLastFile()){ if(config->saveRelativePaths()){ QString Path=filename.left(filename.lastIndexOf("/")); Path=makePathRelative(Path,QDir::currentPath()); config->setLastFile(Path+filename.right(filename.length()-filename.lastIndexOf("/")-1)); } else config->setLastFile(filename); } } void KeepassMainWindow::OnExtrasShowExpiredEntries(){ ExpiredEntriesDialog dlg(this,db,db->expiredEntries()); if(dlg.exec()==QDialog::Accepted){ GroupView->setCurrentGroup(dlg.SelectedEntry->group()); EntryView->setCurrentEntry(dlg.SelectedEntry); } } //TODO TrashCan /*void KeepassMainWindow::OnExtrasTrashCan(){ TrashCanDialog dlg(this,db,db->expiredEntries()); if(dlg.exec()==QDialog::Accepted){ } }*/ void KeepassMainWindow::OnDetailViewUrlClicked(const QUrl& url){ openBrowser(url.toString()); } void KeepassMainWindow::OnUnLockWorkspace(){ if(IsLocked){ if (InUnLock) return; InUnLock = true; if ( openDatabase(currentFilePath,true) ){ QTreeWidgetItem* item = GroupView->invisibleRootItem(); if (lockGroup.size()>0){ for (int i=0; ichild(lockGroup[i]); if (item==NULL) break; } if (item!=NULL) GroupView->setCurrentItem(item); lockGroup.clear(); } } InUnLock = false; } else { QTreeWidgetItem* item = GroupView->currentItem(); bool root = false; while (item!=NULL){ QTreeWidgetItem* parent = item->parent(); if (parent==NULL && !root) { parent = GroupView->invisibleRootItem(); root = true; } if (parent!=NULL) lockGroup.prepend(parent->indexOfChild(item)); item = parent; } if (closeDatabase(true)) { setStateFileModified(false); setLock(); } else lockGroup.clear(); } } void KeepassMainWindow::OnLockClose(){ resetLock(); setStateFileOpen(false); } void KeepassMainWindow::setLock(){ QuickSearchEdit->setEchoMode(QLineEdit::NoEcho); NormalCentralWidget->setVisible(false); NormalCentralWidget->setParent(NULL); setCentralWidget(LockedCentralWidget); LockedCentralWidget->setVisible(true); SysTray->setIcon(getIcon("keepassx_locked")); FileUnLockWorkspaceAction->setText(tr("Un&lock Workspace")); IsLocked=true; updateTrayTooltip(); setStateFileOpen(false); } void KeepassMainWindow::resetLock(){ if (!InUnLock) QuickSearchEdit->setText(""); QuickSearchEdit->setEchoMode(QLineEdit::Normal); LockedCentralWidget->setVisible(false); LockedCentralWidget->setParent(NULL); setCentralWidget(NormalCentralWidget); NormalCentralWidget->setVisible(true); SysTray->setIcon(getIcon("keepassx")); FileUnLockWorkspaceAction->setText(tr("&Lock Workspace")); IsLocked=false; updateTrayTooltip(); } void KeepassMainWindow::OnInactivityTimer(){ if (IsLocked || !FileOpen) return; if (QApplication::activeModalWidget()!=NULL || EventOccurredBlock){ inactivityCounter = 0; return; } if (EventOccurred){ inactivityCounter = 0; EventOccurred = false; } else{ inactivityCounter++; if (inactivityCounter*(inactivityTimer->interval()) >= config->lockAfterSec()*1000){ QWidget* popUpWidget = QApplication::activePopupWidget(); if (popUpWidget!=NULL) popUpWidget->hide(); OnUnLockWorkspace(); } } } void KeepassMainWindow::OnShutdown(QSessionManager& manager) { ShutingDown = true; /* QApplication::commitData() only closes visible windows, so we need to manually close mainwindow if it's hidden */ if (manager.allowsInteraction() && !isVisible()) { close(); } } void KeepassMainWindow::OnBookmarkTriggered(QAction* action){ if(action==AddBookmarkAction){ AddBookmarkDlg dlg(this); if(dlg.exec()){ int id=dlg.ItemID; QAction* action=new QAction(this); action->setData(id); action->setText(KpxBookmarks::title(id)); action->setIcon(getIcon("document")); menuBookmarks->addAction(action); } } else if(action==ManageBookmarksAction){ ManageBookmarksDlg dlg(this); dlg.exec(); menuBookmarks->clear(); createBookmarkActions(); } else if(action==AddThisAsBookmarkAction){ AddBookmarkDlg dlg(this,db->file()->fileName()); if(dlg.exec()){ int id=dlg.ItemID; QAction* action=new QAction(this); action->setData(id); action->setText(KpxBookmarks::title(id)); action->setIcon(getIcon("document")); menuBookmarks->addAction(action); } } else { openDatabase(KpxBookmarks::path(action->data().toInt())); } } void KeepassMainWindow::createBookmarkActions(){ menuBookmarks->addAction(AddBookmarkAction); menuBookmarks->addAction(AddThisAsBookmarkAction); menuBookmarks->addAction(ManageBookmarksAction); menuBookmarks->addSeparator(); for(int i=0;isetData(i); action->setText(KpxBookmarks::title(i)); action->setIcon(getIcon("document")); menuBookmarks->addAction(action); } } void KeepassMainWindow::setStatusBarMsg(StatusBarMsg statusBarMsg) { QString text; switch (statusBarMsg) { case StatusBarReady: text = tr("Ready"); break; case StatusBarLoading: text = tr("Loading Database..."); break; case StatusBarLoadingFailed: text = tr("Loading Failed"); break; case StatusBarReadOnlyLock: text = tr("Couldn't create lock file. Opening the database read-only."); break; } statusbarState = statusBarMsg; StatusBarGeneral->setText(text); } void KeepassMainWindow::updateWindowTitle() { if (!IsLocked && !FileOpen) setWindowTitle( QString("%1 - %2").arg(APP_DISPLAY_NAME, APP_SHORT_FUNC) ); else if (currentFilePath.isEmpty()) setWindowTitle( QString("[%1][*] - %2").arg(tr("new"), APP_DISPLAY_NAME) ); else if (IsLocked) setWindowTitle( QString("%1 (%2) - %3").arg(currentFilePath, tr("locked"), APP_DISPLAY_NAME) ); else if (ModFlag) setWindowTitle( QString("%1[*] - %2").arg(currentFilePath, APP_DISPLAY_NAME) ); else setWindowTitle( QString("%1 - %2").arg(currentFilePath, APP_DISPLAY_NAME) ); } void KeepassMainWindow::updateTrayTooltip() { if (!IsLocked && !FileOpen) SysTray->setToolTip(QString("%1 - %2").arg(APP_DISPLAY_NAME, APP_SHORT_FUNC)); else { QString tooltip = QString("%1 - %2").arg(APP_DISPLAY_NAME, currentFilePath.isEmpty() ? QString("[%1]").arg(tr("new")) : currentFileName); if (IsLocked) tooltip.append( QString(" (%1)").arg(tr("locked")) ); SysTray->setToolTip(tooltip); } } void KeepassMainWindow::updateCurrentFile(const QString& filePath) { currentFilePath = filePath; currentFileName = QFileInfo(filePath).fileName(); } keepassx-0.4.3/src/Kdb3Database.cpp0000664000175000017500000016450611325153502016057 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Kdb3Database.h" #include "crypto/twoclass.h" #include #include #define UNEXP_ERROR error=QString("Unexpected error in: %1, Line:%2").arg(__FILE__).arg(__LINE__); const QDateTime Date_Never(QDate(2999,12,28),QTime(23,59,59)); bool Kdb3Database::EntryHandleLessThan(const IEntryHandle* This,const IEntryHandle* Other){ if(!This->isValid() && Other->isValid())return true; if(This->isValid() && !Other->isValid())return false; if(!This->isValid() && !Other->isValid())return false; return This->visualIndex()visualIndex(); } bool Kdb3Database::EntryHandleLessThanStd(const IEntryHandle* This,const IEntryHandle* Other){ int comp = This->title().compare(Other->title()); if (comp < 0) return true; else if (comp > 0) return false; comp = This->username().compare(Other->username()); if (comp < 0) return true; else if (comp > 0) return false; return true; } bool Kdb3Database::StdEntryLessThan(const Kdb3Database::StdEntry& This,const Kdb3Database::StdEntry& Other){ return This.Index=builtinIcons()+CustomIcons.size()) return EntryIcons[0]; if(i= CustomIcons.size()) return; CustomIcons.removeAt(id); // .isNull()==true for(int i=0;iid+builtinIcons()) Entries[i].Image--; } for(int i=0;iid+builtinIcons()) Groups[i].Image--; } emit iconsModified(); } void Kdb3Database::replaceIcon(int id,const QPixmap& icon){ if(id dta.size()){ CustomIcons.clear(); qWarning("Discarded metastream KPX_CUSTOM_ICONS_4 because of a parsing error."); return; } offset+=4; if(!CustomIcons.back().loadFromData((const unsigned char*)dta.data()+offset,Size,"PNG")){ CustomIcons.clear(); qWarning("Discarded metastream KPX_CUSTOM_ICONS_4 because of a parsing error."); return; } offset+=Size; if(offset > dta.size()){ CustomIcons.clear(); qWarning("Discarded metastream KPX_CUSTOM_ICONS_4 because of a parsing error."); return; } } for(int i=0;iImage=Icon+BUILTIN_ICONS; } for(int i=0;iImage=Icon+BUILTIN_ICONS; } return; } void Kdb3Database::parseCustomIconsMetaStreamV3(const QByteArray& dta){ //Rev 3 quint32 NumIcons,NumEntries,NumGroups,offset; memcpyFromLEnd32(&NumIcons,dta.data()); memcpyFromLEnd32(&NumEntries,dta.data()+4); memcpyFromLEnd32(&NumGroups,dta.data()+8); offset=12; CustomIcons.clear(); for(int i=0;i dta.size()){ CustomIcons.clear(); qWarning("Discarded metastream KPX_CUSTOM_ICONS_3 because of a parsing error."); return; } offset+=4; if(!CustomIcons.back().loadFromData((const unsigned char*)dta.data()+offset,Size,"PNG")){ CustomIcons.clear(); qWarning("Discarded metastream KPX_CUSTOM_ICONS_3 because of a parsing error."); return; } offset+=Size; if(offset > dta.size()){ CustomIcons.clear(); qWarning("Discarded metastream KPX_CUSTOM_ICONS_3 because of a parsing error."); return; } } for(int i=0;i=65) entry->Image=Icon+4; // Since v0.3.2 the BUILTIN_ICONS number has increased by 4 else entry->Image=Icon; } } for(int i=0;iImage>=65) Group->Image=Icon+4; // Since v0.3.2 the BUILTIN_ICONS number has increased by 4 else Group->Image=Icon; } } return; } void Kdb3Database::parseGroupTreeStateMetaStream(const QByteArray& dta){ if(dta.size()<4){ qWarning("Discarded metastream KPX_GROUP_TREE_STATE because of a parsing error."); return; } quint32 Num; memcpyFromLEnd32(&Num,dta.data()); if(Num*5!=dta.size()-4){ qWarning("Discarded metastream KPX_GROUP_TREE_STATE because of a parsing error."); return; } TreeStateMetaStream.clear(); for(int i=0;iBinaryDesc="bin-stream"; e->Title="Meta-Info"; e->Username="SYSTEM"; e->Comment="KPX_GROUP_TREE_STATE"; e->Url="$"; e->Image=0; if(Groups.size())e->GroupId=Groups[0].Id; QByteArray bin; quint32 Num=Groups.size(); bin.resize(Num*5+4); memcpyToLEnd32(bin.data(),&Num); for(int i=0;iBinary=bin; } Kdb3Database::StdEntry* Kdb3Database::getEntry(const KpxUuid& uuid){ for(int i=0; iUuid=KpxUuid(pData); break; case 0x0002: memcpyFromLEnd32(&entry->GroupId, (char*)pData); break; case 0x0003: memcpyFromLEnd32(&entry->Image, (char*)pData); break; case 0x0004: entry->Title=QString::fromUtf8((char*)pData); break; case 0x0005: entry->Url=QString::fromUtf8((char*)pData); break; case 0x0006: entry->Username=QString::fromUtf8((char*)pData); break; case 0x0007:{ QString s=QString::fromUtf8((char*)pData); entry->Password.setString(s,true); break;} case 0x0008: entry->Comment=QString::fromUtf8((char*)pData); break; case 0x0009: entry->Creation=dateFromPackedStruct5(pData); break; case 0x000A: entry->LastMod=dateFromPackedStruct5(pData); break; case 0x000B: entry->LastAccess=dateFromPackedStruct5(pData); break; case 0x000C: entry->Expire=dateFromPackedStruct5(pData); break; case 0x000D: entry->BinaryDesc=QString::fromUtf8((char*)pData); break; case 0x000E: if(FieldSize != 0) entry->Binary=QByteArray((char*)pData,FieldSize); else entry->Binary=QByteArray(); break; case 0xFFFF: break; default: return false; } return true; } //! Extracts one group from raw decrypted data. bool Kdb3Database::readGroupField(StdGroup* group,QList& Levels,quint16 FieldType, quint8 *pData) { switch(FieldType) { case 0x0000: // Ignore field break; case 0x0001: memcpyFromLEnd32(&group->Id, (char*)pData); break; case 0x0002: group->Title=QString::fromUtf8((char*)pData); break; case 0x0003: //not longer used by KeePassX but part of the KDB format break; case 0x0004: //not longer used by KeePassX but part of the KDB format break; case 0x0005: //not longer used by KeePassX but part of the KDB format break; case 0x0006: //not longer used by KeePassX but part of the KDB format break; case 0x0007: memcpyFromLEnd32(&group->Image, (char*)pData); break; case 0x0008: quint16 Level; memcpyFromLEnd16(&Level, (char*)pData); Levels.append(Level); break; case 0x0009: //not used by KeePassX but part of the KDB format //memcpyFromLEnd32(&Flags, (char*)pData); break; case 0xFFFF: break; default: return false; // Field unsupported } return true; // Field supported } bool Kdb3Database::createGroupTree(QList& Levels){ if(Levels[0]!=0) return false; //find the parent for every group for(int i=0;i=0;j--){ if(Levels[j]Children.append(&Groups[i]); } QList EntryIndexCounter; for(int i=0;iId){ groupIndex = g; break; } } } Groups[groupIndex].Entries.append(&Entries[e]); Entries[e].Group=&Groups[groupIndex]; Entries[e].Index=EntryIndexCounter[groupIndex]; EntryIndexCounter[groupIndex]++; } return true; } void Kdb3Database::createHandles(){ for(int i=0;igroupTreeState()){ case KpxConfig::RestoreLast: for(int i=0;iopen(QIODevice::ReadOnly)){ error=tr("Could not open file."); delete File; File = NULL; return false; } } else { if(!File->open(QIODevice::ReadWrite)){ if(!File->open(QIODevice::ReadOnly)){ error=tr("Could not open file."); delete File; File = NULL; return false; } else{ readOnly = true; } } } openedReadOnly = readOnly; unsigned long total_size,crypto_size; quint32 Signature1,Signature2,Version,NumGroups,NumEntries,Flags; quint8 FinalRandomSeed[16]; quint8 ContentsHash[32]; quint8 EncryptionIV[16]; total_size=File->size(); char* buffer = new char[total_size]; File->read(buffer,total_size); if(total_size < DB_HEADER_SIZE){ error=tr("Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE)"); LOAD_RETURN_CLEANUP } memcpyFromLEnd32(&Signature1,buffer); memcpyFromLEnd32(&Signature2,buffer+4); memcpyFromLEnd32(&Flags,buffer+8); memcpyFromLEnd32(&Version,buffer+12); memcpy(FinalRandomSeed,buffer+16,16); memcpy(EncryptionIV,buffer+32,16); memcpyFromLEnd32(&NumGroups,buffer+48); memcpyFromLEnd32(&NumEntries,buffer+52); memcpy(ContentsHash,buffer+56,32); memcpy(TransfRandomSeed,buffer+88,32); memcpyFromLEnd32(&KeyTransfRounds,buffer+120); if((Signature1!=PWM_DBSIG_1) || (Signature2!=PWM_DBSIG_2)){ error=tr("Wrong Signature"); LOAD_RETURN_CLEANUP } if((Version & 0xFFFFFF00) != (PWM_DBVER_DW & 0xFFFFFF00)){ error=tr("Unsupported File Version."); LOAD_RETURN_CLEANUP } if (Flags & PWM_FLAG_RIJNDAEL) Algorithm = Rijndael_Cipher; else if (Flags & PWM_FLAG_TWOFISH) Algorithm = Twofish_Cipher; else{ error=tr("Unknown Encryption Algorithm."); LOAD_RETURN_CLEANUP } RawMasterKey.unlock(); MasterKey.unlock(); KeyTransform::transform(*RawMasterKey,*MasterKey,TransfRandomSeed,KeyTransfRounds); quint8 FinalKey[32]; SHA256 sha; sha.update(FinalRandomSeed,16); sha.update(*MasterKey,32); sha.finish(FinalKey); RawMasterKey.lock(); MasterKey.lock(); if(Algorithm == Rijndael_Cipher){ AESdecrypt aes; aes.key256(FinalKey); aes.cbc_decrypt((unsigned char*)buffer+DB_HEADER_SIZE,(unsigned char*)buffer+DB_HEADER_SIZE,total_size-DB_HEADER_SIZE,(unsigned char*)EncryptionIV); crypto_size=total_size-((quint8*)buffer)[total_size-1]-DB_HEADER_SIZE; } else if(Algorithm == Twofish_Cipher){ CTwofish twofish; if (twofish.init(FinalKey, 32, EncryptionIV) != true){ error=tr("Unable to initialize the twofish algorithm."); LOAD_RETURN_CLEANUP } crypto_size = (unsigned long)twofish.padDecrypt((quint8 *)buffer + DB_HEADER_SIZE, total_size - DB_HEADER_SIZE, (quint8 *)buffer + DB_HEADER_SIZE); } else{ error=tr("Unknown encryption algorithm."); LOAD_RETURN_CLEANUP } if ((crypto_size > 2147483446) || (!crypto_size && NumGroups)){ error=tr("Decryption failed.\nThe key is wrong or the file is damaged."); KeyError=true; LOAD_RETURN_CLEANUP } SHA256::hashBuffer(buffer+DB_HEADER_SIZE,FinalKey,crypto_size); if(memcmp(ContentsHash, FinalKey, 32) != 0){ if(PotentialEncodingIssueLatin1){ delete[] buffer; delete File; File = NULL; RawMasterKey.copyData(RawMasterKey_Latin1); PotentialEncodingIssueLatin1 = false; qDebug("Decryption failed. Retrying with Latin-1."); return loadReal(filename, readOnly, true); // second try } if(PotentialEncodingIssueUTF8){ delete[] buffer; delete File; File = NULL; RawMasterKey.copyData(RawMasterKey_UTF8); PotentialEncodingIssueUTF8 = false; qDebug("Decryption failed. Retrying with UTF-8."); return loadReal(filename, readOnly, true); // second/third try } error=tr("Hash test failed.\nThe key is wrong or the file is damaged."); KeyError=true; LOAD_RETURN_CLEANUP } unsigned long pos = DB_HEADER_SIZE; quint16 FieldType; quint32 FieldSize; char* pField; bool bRet; StdGroup group; QList Levels; RootGroup.Title="$ROOT$"; RootGroup.Parent=NULL; RootGroup.Handle=NULL; for(unsigned long CurGroup = 0; CurGroup < NumGroups; ) { pField = buffer+pos; memcpyFromLEnd16(&FieldType, pField); pField += 2; pos += 2; if (pos >= total_size){ error=tr("Unexpected error: Offset is out of range.").append(" [G1]"); LOAD_RETURN_CLEANUP } memcpyFromLEnd32(&FieldSize, pField); pField += 4; pos += 4; if (pos >= (total_size + FieldSize)){ error=tr("Unexpected error: Offset is out of range.").append(" [G2]"); LOAD_RETURN_CLEANUP } bRet = readGroupField(&group,Levels, FieldType, (quint8 *)pField); if ((FieldType == 0xFFFF) && (bRet == true)){ Groups << group; CurGroup++; // Now and ONLY now the counter gets increased } pField += FieldSize; pos += FieldSize; if (pos >= total_size){ error=tr("Unexpected error: Offset is out of range.").append(" [G1]"); LOAD_RETURN_CLEANUP } } StdEntry entry; for (unsigned long CurEntry = 0; CurEntry < NumEntries;) { pField = buffer+pos; memcpyFromLEnd16(&FieldType, pField); pField += 2; pos += 2; if(pos >= total_size){ error=tr("Unexpected error: Offset is out of range.").append(" [E1]"); LOAD_RETURN_CLEANUP } memcpyFromLEnd32(&FieldSize, pField); pField += 4; pos += 4; if (pos >= (total_size + FieldSize)){ error=tr("Unexpected error: Offset is out of range.").append(" [E2]"); LOAD_RETURN_CLEANUP } bRet = readEntryField(&entry,FieldType,FieldSize,(quint8*)pField); if((FieldType == 0xFFFF) && (bRet == true)){ Entries << entry; if(!entry.GroupId) qDebug("NULL: %i, '%s'", (int)CurEntry, (char*)entry.Title.toUtf8().data()); CurEntry++; } pField += FieldSize; pos += FieldSize; if (pos >= total_size){ error=tr("Unexpected error: Offset is out of range.").append(" [E3]"); LOAD_RETURN_CLEANUP } } if(!createGroupTree(Levels)){ error=tr("Invalid group tree."); LOAD_RETURN_CLEANUP } delete [] buffer; hasV4IconMetaStream = false; for(int i=0;i> 2); int mon = ((dw2 & 0x00000003) << 2) | (dw3 >> 6); int d = (dw3 >> 1) & 0x0000001F; int h = ((dw3 & 0x00000001) << 4) | (dw4 >> 4); int min = ((dw4 & 0x0000000F) << 2) | (dw5 >> 6); int s = dw5 & 0x0000003F; return QDateTime(QDate(y,mon,d),QTime(h,min,s)); } void Kdb3Database::dateToPackedStruct5(const QDateTime& d,unsigned char* pBytes){ pBytes[0] = (quint8)(((quint32)d.date().year() >> 6) & 0x0000003F); pBytes[1] = (quint8)((((quint32)d.date().year() & 0x0000003F) << 2) | (((quint32)d.date().month() >> 2) & 0x00000003)); pBytes[2] = (quint8)((((quint32)d.date().month() & 0x00000003) << 6) | (((quint32)d.date().day() & 0x0000001F) << 1) | (((quint32)d.time().hour() >> 4) & 0x00000001)); pBytes[3] = (quint8)((((quint32)d.time().hour() & 0x0000000F) << 4) | (((quint32)d.time().minute() >> 2) & 0x0000000F)); pBytes[4] = (quint8)((((quint32)d.time().minute() & 0x00000003) << 6) | ((quint32)d.time().second() & 0x0000003F)); } int Kdb3Database::numGroups(){ return Groups.size(); } int Kdb3Database::numEntries(){ return Entries.size(); } void Kdb3Database::deleteGroup(StdGroup* group){ while(group->Children.size()) deleteGroup(group->Children.front()); QList GroupEntries; GroupEntries=entries(group->Handle); deleteEntries(GroupEntries); Q_ASSERT(group==group->Parent->Children[group->Index]); group->Parent->Children.removeAt(group->Index); for(int i=group->Index;iParent->Children.size();i++){ group->Parent->Children[i]->Index--; } group->Handle->invalidate(); for(int i=0;iGroup); } /* void Kdb3Database::GroupHandle::setIndex(int index){ quint32 ParentId=((GroupHandle*)parent())->Id; int Pos=pDB->getGroupListIndex(this); int NewPos=0; // Move the group to the new position in the list if(ParentId) NewPos=pDB->getGroupListIndex((GroupHandle*)parent()); if(!index){ if(ParentId) pDB->Groups.move(Pos,NewPos+1); else pDB->Groups.move(Pos,NewPos); } else{ for(NewPos;NewPosGroups.size();NewPos++){ if(pDB->Groups[NewPos].ParentId==ParentId && pDB->Groups[NewPos].Index+1==index) break; } //skip the children of the found sibling for(NewPos;NewPosGroups.move(Pos,NewPos); } } // adjust the indices int NewIndex=0; for(int i=0;iGroups.size();i++){ if(pDB->Groups[i].ParentId==ParentId){ pDB->Groups[i].Index=NewIndex; NewIndex++; } } } */ bool Kdb3Database::convHexToBinaryKey(char* HexKey, char* dst){ QString hex=QString::fromAscii(HexKey,64); for(int i=0; i<64; i+=2){ bool err; quint8 bin; bin=hex.mid(i,2).toUInt(&err,16); if(!err)return false; memcpy(dst+(i/2),&bin,1); } return true; } bool Kdb3Database::setKey(const QString& password,const QString& keyfile){ if(!password.isEmpty() && !keyfile.isEmpty()) return setCompositeKey(password,keyfile); if(!password.isEmpty()) return setPasswordKey(password); if(!keyfile.isEmpty()) return setFileKey(keyfile); Q_ASSERT(false); return false; } bool Kdb3Database::setPasswordKey(const QString& Password){ Q_ASSERT(Password.size()); QTextCodec* codec=QTextCodec::codecForName("Windows-1252"); QByteArray Password_CP1252 = codec->fromUnicode(Password); RawMasterKey_CP1252.unlock(); SHA256::hashBuffer(Password_CP1252.data(),*RawMasterKey_CP1252,Password_CP1252.size()); RawMasterKey_CP1252.lock(); RawMasterKey.copyData(RawMasterKey_CP1252); QByteArray Password_Latin1 = Password.toLatin1(); QByteArray Password_UTF8 = Password.toUtf8(); PotentialEncodingIssueLatin1 = false; PotentialEncodingIssueUTF8 = false; if (Password_Latin1 != Password_CP1252){ // KeePassX used Latin-1 encoding for passwords until version 0.3.1 // but KeePass/Win32 uses Windows Codepage 1252. // To stay compatible with databases created with KeePassX <= 0.3.1 // the loading function gives both encodings a try. PotentialEncodingIssueLatin1 = true; RawMasterKey_Latin1.unlock(); SHA256::hashBuffer(Password_Latin1.data(),*RawMasterKey_Latin1,Password_Latin1.size()); RawMasterKey_Latin1.lock(); } if (Password_UTF8 != Password_CP1252){ // KeePassX used UTF-8 encoding for passwords until version 0.2.2 // but KeePass/Win32 uses Windows Codepage 1252. // To stay compatible with databases created with KeePassX <= 0.2.2 // the loading function gives both encodings a try. PotentialEncodingIssueUTF8 = true; RawMasterKey_UTF8.unlock(); SHA256::hashBuffer(Password_UTF8.data(),*RawMasterKey_UTF8,Password_UTF8.size()); RawMasterKey_UTF8.lock(); } return true; } bool Kdb3Database::setFileKey(const QString& filename){ QFile file(filename); if(!file.open(QIODevice::ReadOnly|QIODevice::Unbuffered)){ error=decodeFileError(file.error()); return false; } qint64 FileSize=file.size(); if(FileSize == 0){ error=tr("Key file is empty."); return false; } RawMasterKey.unlock(); if(FileSize == 32){ if(file.read((char*)(*RawMasterKey),32) != 32){ error=decodeFileError(file.error()); RawMasterKey.lock(); return false; } RawMasterKey.lock(); return true; } if(FileSize == 64){ char hex[64]; if(file.read(hex,64) != 64){ error=decodeFileError(file.error()); RawMasterKey.lock(); return false; } if (convHexToBinaryKey(hex,(char*)(*RawMasterKey))){ RawMasterKey.lock(); return true; } } SHA256 sha; unsigned char* buffer[2048]; unsigned long read; do { read = file.read((char*)buffer,2048); if (read != 0) sha.update(buffer,read); } while (read == 2048); sha.finish(*RawMasterKey); RawMasterKey.lock(); return true; } bool Kdb3Database::setCompositeKey(const QString& Password,const QString& filename){ SHA256 sha; setPasswordKey(Password); RawMasterKey.unlock(); sha.update(*RawMasterKey,32); RawMasterKey.lock(); if(!setFileKey(filename))return false; RawMasterKey.unlock(); sha.update(*RawMasterKey,32); sha.finish(*RawMasterKey); RawMasterKey.lock(); return true; } QList Kdb3Database::entries(){ QList handles; for(int i=0; i Kdb3Database::expiredEntries(){ QList handles; for(int i=0; i Kdb3Database::entries(IGroupHandle* Group){ QList handles; for(int i=0; i Kdb3Database::entriesSortedStd(IGroupHandle* Group){ QList handles; for(int i=0; iEntry) break; } Entries[j].Handle->invalidate(); Entries.removeAt(j); } void Kdb3Database::moveEntry(IEntryHandle* entry, IGroupHandle* group){ ((EntryHandle*)entry)->Entry->GroupId=((GroupHandle*)group)->Group->Id; ((EntryHandle*)entry)->Entry->Group=((GroupHandle*)group)->Group; } void Kdb3Database::deleteEntries(QList entries){ if(!entries.size())return; StdGroup* Group=((EntryHandle*)entries[0])->Entry->Group; for(int i=0;iEntry) break; } Group->Children.removeAt(Entries[j].Index); Entries[j].Handle->invalidate(); Entries.removeAt(j); } for(int i=0;iChildren.size();i++){ Group->Children[i]->Index=i; } }; QList Kdb3Database::groups(){ QList handles; for(int i=0; iGroup; Groups.back().Index=Groups.back().Parent->Children.size(); Groups.back().Parent->Children.append(&Groups.back()); } else{ // Insert to root group. Try to keep Backup group at the end. Groups.back().Parent=&RootGroup; Groups.back().Index=RootGroup.Children.size(); int position = RootGroup.Children.size(); if (group->Title!="Backup" && !RootGroup.Children.isEmpty() && RootGroup.Children.last()->Title=="Backup"){ RootGroup.Children.last()->Index = Groups.back().Index; Groups.back().Index--; position--; } RootGroup.Children.insert(position, &Groups.back()); } return &GroupHandles.back(); } IGroupHandle* Kdb3Database::backupGroup(bool create){ IGroupHandle* group = NULL; QList allGroups = groups(); for (int i=0; iparent()==NULL && allGroups[i]->title()=="Backup"){ group = allGroups[i]; break; } } if (group==NULL && create){ CGroup newGroup; newGroup.Title = "Backup"; newGroup.Image = 4; group = addGroup(&newGroup, NULL); } return group; } Kdb3Database::StdEntry::StdEntry(){ Handle = NULL; Group = NULL; } Kdb3Database::StdGroup::StdGroup(){ Index=0; Id=0; Parent=NULL; Handle=NULL; } Kdb3Database::StdGroup::StdGroup(const CGroup& other){ Index=0; Id=other.Id; Image=other.Image; Title=other.Title; Parent=NULL; Handle=NULL; } void Kdb3Database::EntryHandle::setTitle(const QString& Title){Entry->Title=Title; } void Kdb3Database::EntryHandle::setUsername(const QString& Username){Entry->Username=Username;} void Kdb3Database::EntryHandle::setUrl(const QString& Url){Entry->Url=Url;} void Kdb3Database::EntryHandle::setPassword(const SecString& Password){Entry->Password=Password;} void Kdb3Database::EntryHandle::setExpire(const KpxDateTime& s){Entry->Expire=s;} void Kdb3Database::EntryHandle::setCreation(const KpxDateTime& s){Entry->Creation=s;} void Kdb3Database::EntryHandle::setLastAccess(const KpxDateTime& s){Entry->LastAccess=s;} void Kdb3Database::EntryHandle::setLastMod(const KpxDateTime& s){Entry->LastMod=s;} void Kdb3Database::EntryHandle::setBinaryDesc(const QString& s){Entry->BinaryDesc=s;} void Kdb3Database::EntryHandle::setComment(const QString& s){Entry->Comment=s;} void Kdb3Database::EntryHandle::setBinary(const QByteArray& s){Entry->Binary=s;} void Kdb3Database::EntryHandle::setImage(const quint32& s){Entry->Image=s;} KpxUuid Kdb3Database::EntryHandle::uuid()const{return Entry->Uuid;} IGroupHandle* Kdb3Database::EntryHandle::group()const{return Entry->Group->Handle;} quint32 Kdb3Database::EntryHandle::image()const{return Entry->Image;} QString Kdb3Database::EntryHandle::title()const{return Entry->Title;} QString Kdb3Database::EntryHandle::url()const{return Entry->Url;} QString Kdb3Database::EntryHandle::username()const{return Entry->Username;} SecString Kdb3Database::EntryHandle::password()const{return Entry->Password;} QString Kdb3Database::EntryHandle::comment()const{return Entry->Comment;} QString Kdb3Database::EntryHandle::binaryDesc()const{return Entry->BinaryDesc;} KpxDateTime Kdb3Database::EntryHandle::creation()const{return Entry->Creation;} KpxDateTime Kdb3Database::EntryHandle::lastMod()const{return Entry->LastMod;} KpxDateTime Kdb3Database::EntryHandle::lastAccess()const{return Entry->LastAccess;} KpxDateTime Kdb3Database::EntryHandle::expire()const{return Entry->Expire;} QByteArray Kdb3Database::EntryHandle::binary()const{return Entry->Binary;} quint32 Kdb3Database::EntryHandle::binarySize()const{return Entry->Binary.size();} QString Kdb3Database::EntryHandle::friendlySize()const { quint32 binsize = binarySize(); QString unit; uint faktor; int prec; if (binsize < 1024) { unit = tr("Bytes"); faktor = 1; prec = 0; } else { if (binsize < 1048576) { unit = tr("KiB"); faktor = 1024; } else if (binsize < 1073741824) { unit = tr("MiB"); faktor = 1048576; } else { unit = tr("GiB"); faktor = 1073741824; } prec = 1; } return (QString::number((float)binsize / (float)faktor, 'f', prec) + " " + unit); } int Kdb3Database::EntryHandle::visualIndex()const{return Entry->Index;} void Kdb3Database::EntryHandle::setVisualIndexDirectly(int i){Entry->Index=i;} bool Kdb3Database::EntryHandle::isValid()const{return valid;} CEntry Kdb3Database::EntryHandle::data()const{ return *this->Entry; } void Kdb3Database::EntryHandle::setVisualIndex(int index){ QListEntries=pDB->entries(Entry->Group->Handle); Entries.move(visualIndex(),index); for(int i=0;i(Entries[i])->Entry->Index=index; } } Kdb3Database::EntryHandle::EntryHandle(Kdb3Database* db){ pDB=db; valid=true; Entry=NULL; } bool Kdb3Database::GroupHandle::isValid(){return valid;} QString Kdb3Database::GroupHandle::title(){return Group->Title;} quint32 Kdb3Database::GroupHandle::image(){return Group->Image;} int Kdb3Database::GroupHandle::index(){return Group->Index;} void Kdb3Database::GroupHandle::setTitle(const QString& Title){Group->Title=Title;} void Kdb3Database::GroupHandle::setExpanded(bool IsExpanded){Group->IsExpanded=IsExpanded;} bool Kdb3Database::GroupHandle::expanded(){return Group->IsExpanded;} void Kdb3Database::GroupHandle::setImage(const quint32& New){Group->Image=New;} Kdb3Database::GroupHandle::GroupHandle(Kdb3Database* db){ pDB=db; valid=true; Group=NULL; } IGroupHandle* Kdb3Database::GroupHandle::parent(){ return (IGroupHandle*)Group->Parent->Handle; } int Kdb3Database::GroupHandle::level(){ int i=0; StdGroup* group=Group; while(group->Parent){ group=group->Parent; i++; } i--; return i; } QList Kdb3Database::GroupHandle::children(){ QList children; for(int i=0; i < Group->Children.size(); i++){ children.append(Group->Children[i]->Handle); } return children; } void memcpyFromLEnd32(quint32* dst,const char* src){ if (QSysInfo::ByteOrder==QSysInfo::BigEndian){ memcpy(((char*)dst)+3,src+0,1); memcpy(((char*)dst)+2,src+1,1); memcpy(((char*)dst)+1,src+2,1); memcpy(((char*)dst)+0,src+3,1); } else{ memcpy(dst,src,4); } } void memcpyFromLEnd16(quint16* dst,const char* src){ if (QSysInfo::ByteOrder==QSysInfo::BigEndian){ memcpy(((char*)dst)+1,src+0,1); memcpy(((char*)dst)+0,src+1,1); } else{ memcpy(dst,src,2); } } void memcpyToLEnd32(char* dst,const quint32* src){ if (QSysInfo::ByteOrder==QSysInfo::BigEndian){ memcpy(dst+0,((char*)src)+3,1); memcpy(dst+1,((char*)src)+2,1); memcpy(dst+2,((char*)src)+1,1); memcpy(dst+3,((char*)src)+0,1); } else{ memcpy(dst,src,4); } } void memcpyToLEnd16(char* dst,const quint16* src){ if (QSysInfo::ByteOrder==QSysInfo::BigEndian){ memcpy(dst+0,((char*)src)+1,1); memcpy(dst+1,((char*)src)+0,1); } else{ memcpy(dst,src,2); } } bool Kdb3Database::save(){ if(!Groups.size()){ error=tr("The database must contain at least one group."); return false; } if (!File->isOpen()) { if(!File->open(QIODevice::ReadWrite)){ error=tr("Could not open file."); return false; } } if(!(File->openMode() & QIODevice::WriteOnly)){ error = tr("The database has been opened read-only."); return false; } //Delete old backup entries if (config->backup() && config->backupDelete() && config->backupDeleteAfter()>0 && backupGroup()){ QDateTime time = QDateTime::currentDateTime().addDays(-config->backupDeleteAfter()); QList backupEntries = entries(backupGroup()); for (int i=0; ilastMod() MetaStreams; MetaStreams << StdEntry(); createCustomIconsMetaStream(&MetaStreams.back()); MetaStreams << StdEntry(); createGroupTreeStateMetaStream(&MetaStreams.back()); FileSize=DB_HEADER_SIZE; // Get the size of all groups (94 Byte + length of the name string) for(int i = 0; i < Groups.size(); i++){ FileSize += 94 + Groups[i].Title.toUtf8().length()+1; } // Get the size of all entries for(int i = 0; i < Entries.size(); i++){ FileSize += 134 +Entries[i].Title.toUtf8().length()+1 +Entries[i].Username.toUtf8().length()+1 +Entries[i].Url.toUtf8().length()+1 +Entries[i].Password.length()+1 +Entries[i].Comment.toUtf8().length()+1 +Entries[i].BinaryDesc.toUtf8().length()+1 +Entries[i].Binary.length(); } for(int i=0; i < UnknownMetaStreams.size(); i++){ FileSize +=165 +UnknownMetaStreams[i].Comment.toUtf8().length()+1 +UnknownMetaStreams[i].Binary.length(); } for(int i=0; i < MetaStreams.size(); i++){ FileSize +=165 +MetaStreams[i].Comment.toUtf8().length()+1 +MetaStreams[i].Binary.length(); } // Round up filesize to 16-byte boundary for Rijndael/Twofish FileSize = (FileSize + 16) - (FileSize % 16); char* buffer=new char[FileSize+16]; Signature1 = PWM_DBSIG_1; Signature2 = PWM_DBSIG_2; Flags = PWM_FLAG_SHA2; if(Algorithm == Rijndael_Cipher) Flags |= PWM_FLAG_RIJNDAEL; else if(Algorithm == Twofish_Cipher) Flags |= PWM_FLAG_TWOFISH; Version = PWM_DBVER_DW; NumGroups = Groups.size(); NumEntries = Entries.size()+UnknownMetaStreams.size()+MetaStreams.size(); QList saveEntries = Entries; qSort(saveEntries.begin(),saveEntries.end(),StdEntryLessThan); randomize(FinalRandomSeed,16); randomize(EncryptionIV,16); unsigned int pos=DB_HEADER_SIZE; // Skip the header, it will be written later serializeGroups(buffer,pos); serializeEntries(saveEntries,buffer,pos); serializeEntries(UnknownMetaStreams,buffer,pos); serializeEntries(MetaStreams,buffer,pos); SHA256::hashBuffer(buffer+DB_HEADER_SIZE,ContentsHash,pos-DB_HEADER_SIZE); memcpyToLEnd32(buffer,&Signature1); memcpyToLEnd32(buffer+4,&Signature2); memcpyToLEnd32(buffer+8,&Flags); memcpyToLEnd32(buffer+12,&Version); memcpy(buffer+16,FinalRandomSeed,16); memcpy(buffer+32,EncryptionIV,16); memcpyToLEnd32(buffer+48,&NumGroups); memcpyToLEnd32(buffer+52,&NumEntries); memcpy(buffer+56,ContentsHash,32); memcpy(buffer+88,TransfRandomSeed,32); memcpyToLEnd32(buffer+120,&KeyTransfRounds); quint8 FinalKey[32]; SHA256 sha; sha.update(FinalRandomSeed,16); MasterKey.unlock(); sha.update(*MasterKey,32); MasterKey.lock(); sha.finish(FinalKey); unsigned long EncryptedPartSize; if(Algorithm == Rijndael_Cipher){ EncryptedPartSize=((pos-DB_HEADER_SIZE)/16+1)*16; quint8 PadLen=EncryptedPartSize-(pos-DB_HEADER_SIZE); for(int i=0;i (0xFFFFFFE - 202)) || (!EncryptedPartSize && Groups.size())){ UNEXP_ERROR delete [] buffer; return false; } int size = EncryptedPartSize+DB_HEADER_SIZE; if (!saveFileTransactional(buffer, size)) { error=decodeFileError(File->error()); delete [] buffer; return false; } delete [] buffer; //if(SearchGroupID!=-1)Groups.push_back(SearchGroup); return true; } bool Kdb3Database::saveFileTransactional(char* buffer, int size) { QString orgFilename = File->fileName(); QFile* tmpFile = new QFile(orgFilename + ".tmp"); if (!tmpFile->open(QIODevice::WriteOnly|QIODevice::Truncate)) { tmpFile->remove(); delete tmpFile; return false; } if (tmpFile->write(buffer,size) != size) { tmpFile->remove(); delete tmpFile; return false; } if (!syncFile(tmpFile)) qWarning("Unable to flush file to disk"); tmpFile->close(); if (!File->remove()) { delete tmpFile; return false; } delete File; File = NULL; if (!tmpFile->rename(orgFilename)) { delete tmpFile; File = new QFile(orgFilename); return false; } File = tmpFile; if (!tmpFile->open(QIODevice::ReadWrite)) { delete tmpFile; return false; } return true; } void Kdb3Database::createCustomIconsMetaStream(StdEntry* e){ /* Rev 3 */ e->BinaryDesc="bin-stream"; e->Title="Meta-Info"; e->Username="SYSTEM"; e->Comment="KPX_CUSTOM_ICONS_4"; e->Url="$"; if(Groups.size())e->GroupId=Groups[0].Id; int Size=12; quint32 NumEntries=0; for(quint32 i=0;i=BUILTIN_ICONS) NumEntries++; } quint32 NumGroups=0; for(quint32 i=0;i=BUILTIN_ICONS) NumGroups++; } Size+=8*NumGroups+20*NumEntries; Size+=CustomIcons.size()*1000; // 1KB e->Binary.reserve(Size); e->Binary.resize(12); quint32 NumIcons=CustomIcons.size(); memcpyToLEnd32(e->Binary.data(),&NumIcons); memcpyToLEnd32(e->Binary.data()+4,&NumEntries); memcpyToLEnd32(e->Binary.data()+8,&NumGroups); for(int i=0;iBinary.append(QByteArray::fromRawData(ImgSizeBin,4)); e->Binary.append(png); } for(quint32 i=0;i=BUILTIN_ICONS){ char Bin[20]; Entries[i].Uuid.toRaw(Bin); quint32 id=Entries[i].Image-BUILTIN_ICONS; memcpyToLEnd32(Bin+16,&id); e->Binary.append(QByteArray::fromRawData(Bin,20)); } } for(quint32 i=0;i=BUILTIN_ICONS){ char Bin[8]; memcpyToLEnd32(Bin,&Groups[i].Id); quint32 id=Groups[i].Image-BUILTIN_ICONS; memcpyToLEnd32(Bin+4,&id); e->Binary.append(QByteArray::fromRawData(Bin,8)); } } } QList Kdb3Database::sortedGroups(){ QList SortedGroups; appendChildrenToGroupList(SortedGroups,RootGroup); return SortedGroups; } void Kdb3Database::appendChildrenToGroupList(QList& list,StdGroup& group){ for(int i=0;iHandle; appendChildrenToGroupList(list,*group.Children[i]); } } void Kdb3Database::appendChildrenToGroupList(QList& list,StdGroup& group){ for(int i=0;iSortedGroups; appendChildrenToGroupList(SortedGroups,RootGroup); for(int i=0; i < SortedGroups.size(); i++){ unsigned char Date[5]; dateToPackedStruct5(Date_Never,Date); quint16 Level=0; StdGroup* group=SortedGroups[i]; while(group->Parent){ Level++; group=group->Parent; } Level--; FieldType = 0x0001; FieldSize = 4; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpyToLEnd32(buffer+pos, &SortedGroups[i]->Id); pos += 4; FieldType = 0x0002; FieldSize = SortedGroups[i]->Title.toUtf8().length() + 1; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, SortedGroups[i]->Title.toUtf8(),FieldSize); pos += FieldSize; FieldType = 0x0003; FieldSize = 5; //Creation memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, Date,5); pos+=5; FieldType = 0x0004; FieldSize = 5; //LastMod memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, Date,5); pos+=5; FieldType = 0x0005; FieldSize = 5; //LastAccess memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, Date,5); pos+=5; FieldType = 0x0006; FieldSize = 5; //Expire memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, Date,5); pos+=5; FieldType = 0x0007; FieldSize = 4; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpyToLEnd32(buffer+pos, &SortedGroups[i]->Image); pos += 4; FieldType = 0x0008; FieldSize = 2; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpyToLEnd16(buffer+pos, &Level); pos += 2; FieldType = 0x0009; FieldSize = 4; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpyToLEnd32(buffer+pos, &Flags); pos += 4; FieldType = 0xFFFF; FieldSize = 0; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; } } void Kdb3Database::serializeEntries(QList& EntryList,char* buffer,unsigned int& pos){ quint16 FieldType; quint32 FieldSize; for(int i = 0; i < EntryList.size(); i++){ FieldType = 0x0001; FieldSize = 16; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; EntryList[i].Uuid.toRaw(buffer+pos); pos += 16; FieldType = 0x0002; FieldSize = 4; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpyToLEnd32(buffer+pos, &EntryList[i].GroupId); pos += 4; FieldType = 0x0003; FieldSize = 4; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpyToLEnd32(buffer+pos,&EntryList[i].Image); pos += 4; FieldType = 0x0004; FieldSize = EntryList[i].Title.toUtf8().length() + 1; // Add terminating NULL character space memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, EntryList[i].Title.toUtf8(),FieldSize); pos += FieldSize; FieldType = 0x0005; FieldSize = EntryList[i].Url.toUtf8().length() + 1; // Add terminating NULL character space memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, EntryList[i].Url.toUtf8(),FieldSize); pos += FieldSize; FieldType = 0x0006; FieldSize = EntryList[i].Username.toUtf8().length() + 1; // Add terminating NULL character space memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, EntryList[i].Username.toUtf8(),FieldSize); pos += FieldSize; FieldType = 0x0007; FieldSize = EntryList[i].Password.length() + 1; // Add terminating NULL character space memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; EntryList[i].Password.unlock(); memcpy(buffer+pos, EntryList[i].Password.string().toUtf8(),FieldSize); pos += FieldSize; EntryList[i].Password.lock(); FieldType = 0x0008; FieldSize = EntryList[i].Comment.toUtf8().length() + 1; // Add terminating NULL character space memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, EntryList[i].Comment.toUtf8(),FieldSize); pos += FieldSize; FieldType = 0x0009; FieldSize = 5; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; dateToPackedStruct5(EntryList[i].Creation,(unsigned char*)buffer+pos); pos+=5; FieldType = 0x000A; FieldSize = 5; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; dateToPackedStruct5(EntryList[i].LastMod,(unsigned char*)buffer+pos); pos+=5; FieldType = 0x000B; FieldSize = 5; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; dateToPackedStruct5(EntryList[i].LastAccess,(unsigned char*)buffer+pos); pos+=5; FieldType = 0x000C; FieldSize = 5; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; dateToPackedStruct5(EntryList[i].Expire,(unsigned char*)buffer+pos); pos+=5; FieldType = 0x000D; FieldSize = EntryList[i].BinaryDesc.toUtf8().length() + 1; // Add terminating NULL character space memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; memcpy(buffer+pos, EntryList[i].BinaryDesc.toUtf8(),FieldSize); pos += FieldSize; FieldType = 0x000E; FieldSize = EntryList[i].Binary.length(); memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; if((!EntryList[i].Binary.isNull()) && (FieldSize != 0)) memcpy(buffer+pos, EntryList[i].Binary.data(), FieldSize); pos += FieldSize; FieldType = 0xFFFF; FieldSize = 0; memcpyToLEnd16(buffer+pos, &FieldType); pos += 2; memcpyToLEnd32(buffer+pos, &FieldSize); pos += 4; } } bool Kdb3Database::close(){ if (File!=NULL) delete File; return true; } void Kdb3Database::create(){ File=NULL; RootGroup.Title="$ROOT$"; RootGroup.Parent=NULL; RootGroup.Handle=NULL; Algorithm=Rijndael_Cipher; KeyTransfRounds=50000; KeyError=false; } bool Kdb3Database::isKeyError(){ if(KeyError){ KeyError=false; return true; } else return false; } IEntryHandle* Kdb3Database::cloneEntry(const IEntryHandle* entry){ StdEntry dolly; dolly=*((EntryHandle*)entry)->Entry; dolly.Uuid.generate(); Entries.append(dolly); EntryHandles.append(EntryHandle(this)); EntryHandles.back().Entry=&Entries.back(); Entries.back().Handle=&EntryHandles.back(); return &EntryHandles.back(); } IEntryHandle* Kdb3Database::newEntry(IGroupHandle* group){ StdEntry Entry; Entry.Uuid.generate(); Entry.Group=((GroupHandle*)group)->Group; Entry.GroupId=Entry.Group->Id; Entries.append(Entry); EntryHandles.append(EntryHandle(this)); EntryHandles.back().Entry=&Entries.back(); Entries.back().Handle=&EntryHandles.back(); return &EntryHandles.back(); } IEntryHandle* Kdb3Database::addEntry(const CEntry* NewEntry, IGroupHandle* Group){ StdEntry Entry(*((StdEntry*)NewEntry)); Entry.Uuid.generate(); Entry.Group=((GroupHandle*)Group)->Group; Entry.GroupId=Entry.Group->Id; Entries.append(Entry); EntryHandles.append(EntryHandle(this)); EntryHandles.back().Entry=&Entries.back(); Entries.back().Handle=&EntryHandles.back(); return &EntryHandles.back(); } void Kdb3Database::deleteLastEntry(){ Entries.removeAt(Entries.size()-1); EntryHandles.back().invalidate(); } bool Kdb3Database::isParent(IGroupHandle* parent, IGroupHandle* child){ StdGroup* group=((GroupHandle*)child)->Group; while(group->Parent!=&RootGroup){ if(group->Parent==((GroupHandle*)parent)->Group)return true; group=group->Parent; } return false; } void Kdb3Database::cleanUpHandles(){} bool Kdb3Database::searchStringContains(const QString& search, const QString& string,bool Cs, bool RegExp){ if(RegExp){ QRegExp exp(search,Cs ? Qt::CaseSensitive : Qt::CaseInsensitive); if(string.contains(exp)==0)return false;} else if(string.contains(search,Cs ? Qt::CaseSensitive : Qt::CaseInsensitive)==0)return false; return true; } void Kdb3Database::getEntriesRecursive(IGroupHandle* Group, QList& EntryList){ EntryList<Group->Children.size(); i++){ getEntriesRecursive(((GroupHandle*)Group)->Group->Children[i]->Handle,EntryList); } } QList Kdb3Database::search(IGroupHandle* Group,const QString& search, bool CaseSensitive, bool RegExp, bool Recursive,bool* Fields){ bool fields[6]={true,true,true,false,true,true}; if(!Fields) Fields=fields; QList SearchEntries; if(search==QString())return Group ? entries(Group) : entries(); if(Group){ if(Recursive) getEntriesRecursive(Group,SearchEntries); else SearchEntries=entries(Group); } else SearchEntries=entries(); IGroupHandle* bGroup = backupGroup(); QList ResultEntries; for(int i=0; igroup(); while (entryGroup->parent()) entryGroup = entryGroup->parent(); if (entryGroup == bGroup) continue; bool match=false; if(Fields[0])match=match||searchStringContains(search,SearchEntries[i]->title(),CaseSensitive,RegExp); if(Fields[1])match=match||searchStringContains(search,SearchEntries[i]->username(),CaseSensitive,RegExp); if(Fields[2])match=match||searchStringContains(search,SearchEntries[i]->url(),CaseSensitive,RegExp); SecString Password=SearchEntries[i]->password(); Password.unlock(); if(Fields[3])match=match||searchStringContains(search,Password.string(),CaseSensitive,RegExp); Password.lock(); if(Fields[4])match=match||searchStringContains(search,SearchEntries[i]->comment(),CaseSensitive,RegExp); if(Fields[5])match=match||searchStringContains(search,SearchEntries[i]->binaryDesc(),CaseSensitive,RegExp); if(match) ResultEntries << SearchEntries[i]; } return ResultEntries; } void Kdb3Database::rebuildIndices(QList& list){ for(int i=0;iIndex=i; } } void Kdb3Database::moveGroup(IGroupHandle* groupHandle,IGroupHandle* NewParent,int Pos){ StdGroup* Parent; StdGroup* Group=((GroupHandle*)groupHandle)->Group; if(NewParent) Parent=((GroupHandle*)NewParent)->Group; else Parent=&RootGroup; Group->Parent->Children.removeAt(Group->Index); rebuildIndices(Group->Parent->Children); Group->Parent=Parent; if(Pos==-1){ Parent->Children.append(Group); } else { Q_ASSERT(Parent->Children.size()>=Pos); Parent->Children.insert(Pos,Group); } rebuildIndices(Parent->Children); } bool Kdb3Database::changeFile(const QString& filename){ QFile* tmpFile = new QFile(filename); if(!tmpFile->open(QIODevice::ReadWrite)){ error = decodeFileError(File->error()); delete tmpFile; return false; } if (File) delete File; File = tmpFile; return true; } void Kdb3Database::generateMasterKey(){ randomize(TransfRandomSeed,32); RawMasterKey.unlock(); MasterKey.unlock(); KeyTransform::transform(*RawMasterKey,*MasterKey,TransfRandomSeed,KeyTransfRounds); RawMasterKey.lock(); MasterKey.lock(); } /*void Kdb3Database::copyTree(Kdb3Database* db, GroupHandle* orgGroup, IGroupHandle* parent) { IGroupHandle* newParent = db->addGroup(orgGroup->Group, parent); QList entryList = entries(orgGroup); for (int i=0; i(entryList[i]); db->addEntry(entry->Entry, newParent); } QList children = orgGroup->children(); for (int i=0; i(children[i]); copyTree(db, child, newParent); } } IDatabase* Kdb3Database::groupToNewDb(IGroupHandle* group){ Kdb3Database* db = new Kdb3Database(); db->create(); copyTree(db, static_cast(group), NULL); db->changeFile("/ramtmp/test.kdb"); if (!db->save()) qWarning("%s", CSTR(db->error)); return db; }*/ void KeyTransform::transform(quint8* src, quint8* dst, quint8* KeySeed, int rounds){ KeyTransform* ktLeft = new KeyTransform(&src[0], &dst[0], KeySeed, rounds); KeyTransform* ktRight = new KeyTransform(&src[16], &dst[16], KeySeed, rounds); ktLeft->start(); ktRight->start(); ktLeft->wait(); ktRight->wait(); SHA256::hashBuffer(dst,dst,32); delete ktLeft; delete ktRight; } KeyTransform::KeyTransform(quint8* pSrc, quint8* pDst, quint8* pKeySeed, int pRounds){ src = pSrc; dst = pDst; KeySeed = pKeySeed; rounds = pRounds; } void KeyTransform::run(){ AESencrypt aes; aes.key256(KeySeed); memcpy(dst,src,16); for (int i=0; istart(); ktbRight->start(); ktbLeft->wait(); ktbRight->wait(); int num = std::min(ktbLeft->rounds, ktbRight->rounds); delete ktbLeft; delete ktbRight; return num; } KeyTransformBenchmark::KeyTransformBenchmark(int pMSecs){ msecs = pMSecs; rounds = 0; } void KeyTransformBenchmark::run(){ quint8 KeySeed[32]; memset(KeySeed, 0x4B, 32); quint8 dst[16]; memset(dst, 0x7E, 16); QTime t; t.start(); AESencrypt aes; aes.key256(KeySeed); do { for (int i=0; i<64; i++){ aes.ecb_encrypt(dst,dst,16); } rounds += 64; } while (t.elapsed() < msecs); } keepassx-0.4.3/src/Application_X11.cpp0000664000175000017500000000465411217176700016545 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "Application_X11.h" #include "lib/AutoTypeGlobalX11.h" #include "lib/HelperX11.h" KeepassApplication::KeepassApplication(int& argc, char** argv) : QApplication(argc, argv), remove_invalid(0){ } bool KeepassApplication::x11EventFilter(XEvent* event){ if (autoType == NULL) return QApplication::x11EventFilter(event); #ifdef GLOBAL_AUTOTYPE if (remove_invalid == 0) { AutoTypeGlobalX11* autoTypeGlobal = static_cast(autoType); remove_invalid = ControlMask | ShiftMask | autoTypeGlobal->maskAlt() | autoTypeGlobal->maskAltGr() | autoTypeGlobal->maskMeta(); } if (event->type==KeyPress && autoType->getShortcut().key!=0 && event->xkey.keycode == XKeysymToKeycode(event->xkey.display,HelperX11::getKeysym(autoType->getShortcut().key)) && (event->xkey.state&remove_invalid) == HelperX11::getShortcutModifierMask(autoType->getShortcut()) && focusWidget()==NULL) { EventOccurred = true; autoType->performGlobal(); return true; } #endif if (event->type == MappingNotify) { dynamic_cast(autoType)->updateKeymap(); remove_invalid = 0; } return QApplication::x11EventFilter(event); } keepassx-0.4.3/src/Application_X11.h0000664000175000017500000000307311124723765016212 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Felix Geyer * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef APPLICATION_X11_H #define APPLICATION_X11_H class KeepassApplication : public QApplication { Q_OBJECT public: KeepassApplication(int& argc, char** argv); bool x11EventFilter(XEvent* event); private: unsigned int remove_invalid; }; #endif // APPLICATION_X11_H keepassx-0.4.3/src/main_unix.cpp0000664000175000017500000000635111066676517015651 0ustar felixfelix/*************************************************************************** * Copyright (C) 1992-2008 Trolltech ASA * * * * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "main.h" void initAppPaths(int argc,char** argv) { // Try looking for a /proc//exe symlink first which points to // the absolute path of the executable QFileInfo pfi(QString::fromLatin1("/proc/%1/exe").arg(getpid())); if (pfi.exists() && pfi.isSymLink()) { AppDir = pfi.canonicalFilePath(); } else { QString argv0 = QFile::decodeName(QByteArray(argv[0])); QString absPath; if (!argv0.isEmpty() && argv0.at(0) == QLatin1Char('/')) { /* If argv0 starts with a slash, it is already an absolute file path. */ absPath = argv0; } else if (argv0.contains(QLatin1Char('/'))) { /* If argv0 contains one or more slashes, it is a file path relative to the current directory. */ absPath = QDir::current().absoluteFilePath(argv0); } else { /* Otherwise, the file path has to be determined using the PATH environment variable. */ QByteArray pEnv = qgetenv("PATH"); QDir currentDir = QDir::current(); QStringList paths = QString::fromLocal8Bit(pEnv.constData()).split(QLatin1String(":")); for (QStringList::const_iterator p = paths.constBegin(); p != paths.constEnd(); ++p) { if ((*p).isEmpty()) continue; QString candidate = currentDir.absoluteFilePath(*p + QLatin1Char('/') + argv0); QFileInfo candidate_fi(candidate); if (candidate_fi.exists() && !candidate_fi.isDir()) { absPath = candidate; break; } } } absPath = QDir::cleanPath(absPath); QFileInfo fi(absPath); AppDir = fi.exists() ? fi.canonicalFilePath() : QString(); } AppDir.truncate(AppDir.lastIndexOf("/")); DataDir=AppDir+"/../share/keepassx"; if (!QFile::exists(DataDir) && QFile::exists(AppDir+"/share")) DataDir=AppDir+"/share"; HomeDir = QDir::homePath()+"/.keepassx"; } keepassx-0.4.3/src/src.pro0000664000175000017500000002647111342455405014460 0ustar felixfelix CONFIG = qt uic resources thread stl warn_on QT += xml *-g++ : QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-compare DEPENDPATH += crypto dialogs export forms import lib translations res INCLUDEPATH += . lib crypto plugins/interfaces export import dialogs MOC_DIR = ../build/moc UI_DIR = ../build/ui OBJECTS_DIR = ../build RCC_DIR = ../build/rcc isEqual(DEBUG,1){ CONFIG += debug } else { CONFIG += release } isEqual(NOSTRIP,1) { CONFIG += nostrip } # lipo and freebsd cannot handle precompiled headers (yet) !isEqual(PRECOMPILED,1){ macx : isEqual(ARCH,UNIVERSAL) : PRECOMPILED = 0 freebsd-* : PRECOMPILED = 0 } win32 : QMAKE_WIN32 = 1 #------------------------------------------------------------------------------- # Platform Specific: Unix (except MacOS X) #------------------------------------------------------------------------------- unix : !macx : !isEqual(QMAKE_WIN32,1){ isEmpty(PREFIX): PREFIX = /usr !isEqual(AUTOTYPE,0){ DEFINES += AUTOTYPE !isEqual(GLOBAL_AUTOTYPE,0){ DEFINES += GLOBAL_AUTOTYPE } } TARGET = ../bin/keepassx target.path = $${PREFIX}/bin datai18n.files = ../share/keepassx/i18n/*.qm datai18n.path = $${PREFIX}/share/keepassx/i18n dataicons.files = ../share/keepassx/icons/*.png dataicons.path = $${PREFIX}/share/keepassx/icons datalicense.files = ../share/keepassx/license.html datalicense.path = $${PREFIX}/share/keepassx shareapp.files = ../share/applications/*.desktop shareapp.path = $${PREFIX}/share/applications shararemime.files = ../share/mime/packages/*.xml shararemime.path = $${PREFIX}/share/mime/packages sharemimelnk.files = ../share/mimelnk/application/*.desktop sharemimelnk.path = $${PREFIX}/share/mimelnk/application sharepixmaps.files = ../share/pixmaps/*.xpm sharepixmaps.path = $${PREFIX}/share/pixmaps INSTALLS += datai18n dataicons datalicense INSTALLS += shareapp shararemime sharemimelnk sharepixmaps contains(DEFINES,AUTOTYPE){ LIBS += -lX11 -lXtst SOURCES += lib/HelperX11.cpp lib/AutoTypeX11.cpp HEADERS += lib/HelperX11.h lib/AutoTypeX11.h } contains(DEFINES,GLOBAL_AUTOTYPE){ SOURCES += Application_X11.cpp lib/AutoTypeGlobalX11.cpp HEADERS += Application_X11.h lib/AutoTypeGlobalX11.h } # SOURCES += main_unix.cpp } #------------------------------------------------------------------------------- # Platform Specific: MacOS X #------------------------------------------------------------------------------- macx { isEmpty(PREFIX): PREFIX = /Applications TARGET = ../bin/KeePassX target.path = $${PREFIX} data.files += ../share/keepassx data.path = Contents/Resources INSTALLS += data LIBS += -framework CoreFoundation isEqual(LINK,DYNAMIC){ isEmpty(QT_FRAMEWORK_DIR): QT_FRAMEWORK_DIR = /Library/Frameworks private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtCore.framework private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtGui.framework private_frameworks.files += $${QT_FRAMEWORK_DIR}/QtXml.framework private_frameworks.path = Contents/Frameworks QMAKE_BUNDLE_DATA += private_frameworks } isEqual(LINK,STATIC){ LIBS += -framework Carbon -framework AppKit -lz } QMAKE_BUNDLE_DATA += data QMAKE_INFO_PLIST= ../share/macx_bundle/Info.plist ICON = ../share/macx_bundle/icon.icns CONFIG += app_bundle isEqual(ARCH,UNIVERSAL){ CONFIG += x86 ppc } isEqual(ARCH,INTEL): CONFIG += x86 isEqual(ARCH,PPC): CONFIG += ppc # SOURCES += main_macx.cpp } #------------------------------------------------------------------------------- # Platform Specific: Windows #------------------------------------------------------------------------------- isEqual(QMAKE_WIN32,1){ CONFIG += windows isEmpty(PREFIX): PREFIX = "C:/Program\ files/KeePassX" TARGET = ../bin/KeePassX target.path = $${PREFIX} data.files += ../share/keepassx/* data.path = $${PREFIX}/share INSTALLS += data win32-msvc*: LIBS += advapi32.lib !isEqual(INSTALL_QTLIB,0){ qt_libs.files = $${QMAKE_LIBDIR_QT}/QtCore4.dll $${QMAKE_LIBDIR_QT}/QtGui4.dll $${QMAKE_LIBDIR_QT}/QtXml4.dll qt_libs.path = $${PREFIX} INSTALLS += qt_libs } RC_FILE = ../share/win_ico/keepassx.rc QMAKE_LINK_OBJECT_SCRIPT = $${OBJECTS_DIR}/$${QMAKE_LINK_OBJECT_SCRIPT} # SOURCES += main_win32.cpp } INSTALLS += target contains(DEFINES,GLOBAL_AUTOTYPE){ FORMS += forms/AutoTypeDlg.ui forms/TargetWindowDlg.ui HEADERS += dialogs/AutoTypeDlg.h lib/AutoTypeTreeWidget.h dialogs/TargetWindowDlg.h SOURCES += dialogs/AutoTypeDlg.cpp lib/AutoTypeTreeWidget.cpp dialogs/TargetWindowDlg.cpp } FORMS += forms/AboutDlg.ui \ forms/AddBookmarkDlg.ui \ forms/CalendarDlg.ui \ forms/CollectEntropyDlg.ui \ forms/CustomizeDetailViewDlg.ui \ forms/DatabaseSettingsDlg.ui \ forms/EditEntryDlg.ui \ forms/EditGroupDlg.ui \ forms/ExpiredEntriesDlg.ui \ forms/HelpDlg.ui \ forms/MainWindow.ui \ forms/ManageBookmarksDlg.ui \ forms/PasswordDlg.ui \ forms/PasswordGenDlg.ui \ forms/SearchDlg.ui \ forms/SelectIconDlg.ui \ forms/SettingsDlg.ui \ forms/SimplePasswordDlg.ui \ # forms/TrashCanDlg.ui \ forms/WorkspaceLockedWidget.ui TRANSLATIONS_KX = translations/keepassx-de_DE.ts \ translations/keepassx-es_ES.ts \ translations/keepassx-fi_FI.ts \ translations/keepassx-fr_FR.ts \ translations/keepassx-gl_ES.ts \ translations/keepassx-hu_HU.ts \ translations/keepassx-it_IT.ts \ translations/keepassx-ja_JP.ts \ translations/keepassx-nb_NO.ts \ translations/keepassx-nl_NL.ts \ translations/keepassx-pl_PL.ts \ translations/keepassx-pt_PT.ts \ translations/keepassx-ru_RU.ts \ translations/keepassx-sk_SK.ts \ translations/keepassx-sr_RS.ts \ translations/keepassx-tr_TR.ts \ translations/keepassx-uk_UA.ts \ translations/keepassx-zh_CN.ts # also update in translations_release.sh TRANSLATIONS_DISABLED = translations/keepassx-cs_CZ.ts TRANSLATIONS_QT = translations/qt_fi.ts \ translations/qt_gl_ES.ts \ translations/qt_hu.ts \ translations/qt_it.ts \ translations/qt_nl.ts \ translations/qt_sr.ts \ translations/qt_tr.ts # missing Qt translation: nb_NO TRANSLATIONS = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts #TRANSLATIONS_UPDATE = $$TRANSLATIONS_KX $$TRANSLATIONS_DISABLED translations/keepassx-xx_XX.ts #TRANSLATIONS_COMPILE = $$TRANSLATIONS_KX $$TRANSLATIONS_QT HEADERS += main.h \ mainwindow.h \ KpxConfig.h \ Database.h \ Kdb3Database.h \ lib/AutoType.h \ lib/bookmarks.h \ lib/EntryView.h \ lib/FileDialogs.h \ lib/GroupView.h \ lib/random.h \ lib/SecString.h \ lib/ShortcutWidget.h \ lib/tools.h \ lib/UrlLabel.h \ lib/WaitAnimationWidget.h \ crypto/aes.h \ crypto/aescpp.h \ crypto/aes_endian.h \ crypto/aes_types.h \ crypto/aesopt.h \ crypto/aestab.h \ crypto/arcfour.h \ crypto/blowfish.h \ crypto/sha256.h \ crypto/twoclass.h \ crypto/twofish.h \ crypto/yarrow.h \ apg/convert.h \ apg/owntypes.h \ apg/pronpass.h \ apg/randpass.h \ apg/smbl.h \ dialogs/AboutDlg.h \ dialogs/AddBookmarkDlg.h \ dialogs/CalendarDlg.h \ dialogs/CollectEntropyDlg.h \ dialogs/CustomizeDetailViewDlg.h \ dialogs/DatabaseSettingsDlg.h \ dialogs/EditEntryDlg.h \ dialogs/EditGroupDlg.h \ dialogs/ExpiredEntriesDlg.h \ dialogs/HelpDlg.h \ dialogs/ManageBookmarksDlg.h \ dialogs/PasswordDlg.h \ dialogs/PasswordGenDlg.h \ dialogs/SearchDlg.h \ dialogs/SelectIconDlg.h \ dialogs/SettingsDlg.h \ dialogs/SimplePasswordDlg.h \ # dialogs/TrashCanDlg.h \ import/Import.h \ # import/Import_GnuKeyRing.h \ import/Import_KeePassX_Xml.h \ import/Import_KWalletXml.h \ import/Import_PwManager.h \ export/Export.h \ export/Export_KeePassX_Xml.h \ export/Export_Txt.h \ plugins/interfaces/IFileDialog.h \ plugins/interfaces/IIconTheme.h \ plugins/interfaces/IGnomeInit.h \ plugins/interfaces/IKdeInit.h SOURCES += main.cpp \ mainwindow.cpp \ KpxConfig.cpp \ Database.cpp \ Kdb3Database.cpp \ lib/bookmarks.cpp \ lib/EntryView.cpp \ lib/FileDialogs.cpp \ lib/GroupView.cpp \ lib/random.cpp \ lib/SecString.cpp \ lib/ShortcutWidget.cpp \ lib/tools.cpp \ lib/UrlLabel.cpp \ lib/WaitAnimationWidget.cpp \ crypto/aescrypt.c \ crypto/aeskey.c \ crypto/aes_modes.c \ crypto/aestab.c \ crypto/arcfour.cpp \ crypto/blowfish.cpp \ crypto/sha256.cpp \ crypto/twoclass.cpp \ crypto/twofish.cpp \ crypto/yarrow.cpp \ apg/convert.c \ apg/pronpass.c \ apg/randpass.c \ dialogs/AboutDlg.cpp \ dialogs/AddBookmarkDlg.cpp \ dialogs/CalendarDlg.cpp \ dialogs/CollectEntropyDlg.cpp \ dialogs/CustomizeDetailViewDlg.cpp \ dialogs/DatabaseSettingsDlg.cpp \ dialogs/EditEntryDlg.cpp \ dialogs/EditGroupDlg.cpp \ dialogs/ExpiredEntriesDlg.cpp \ dialogs/HelpDlg.cpp \ dialogs/ManageBookmarksDlg.cpp \ dialogs/PasswordDlg.cpp \ dialogs/PasswordGenDlg.cpp \ dialogs/SearchDlg.cpp \ dialogs/SelectIconDlg.cpp \ dialogs/SettingsDlg.cpp \ dialogs/SimplePasswordDlg.cpp \ # dialogs/TrashCanDlg.cpp \ import/Import.cpp \ # import/Import_GnuKeyRing.cpp \ import/Import_KeePassX_Xml.cpp \ import/Import_KWalletXml.cpp \ import/Import_PwManager.cpp \ export/Export.cpp \ export/Export_KeePassX_Xml.cpp \ export/Export_Txt.cpp isEqual(PRECOMPILED,0) { QMAKE_CXXFLAGS += -include keepassx.h } else { CONFIG += precompile_header PRECOMPILED_HEADER = keepassx.h } RESOURCES += res/resources.qrc #isEmpty(QMAKE_LRELEASE) { # win32 { # QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe # } # else { # QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease-qt4 # !exists($$QMAKE_LRELEASE) : QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease # } #} #exists($$QMAKE_LRELEASE) { # updateqm.input = TRANSLATIONS_COMPILE # updateqm.output = ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm # updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ../share/keepassx/i18n/${QMAKE_FILE_BASE}.qm # updateqm.CONFIG += no_link # # QMAKE_EXTRA_COMPILERS += updateqm # PRE_TARGETDEPS += compiler_updateqm_make_all #} #else { # message("*** lrelease not found - can't compile translation files") #} keepassx-0.4.3/src/keepassx.h0000664000175000017500000000601011344561664015135 0ustar felixfelix/*************************************************************************** * Copyright (C) 2005-2008 by Tarek Saidi * * tarek.saidi@arcor.de * * * * 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; version 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef KEEPASSX_H_ #define KEEPASSX_H_ // global defines #define APP_DISPLAY_NAME "KeePassX" #define APP_CODE_NAME "keepassx" #define APP_SHORT_FUNC "Password Manager" #define APP_LONG_FUNC "Cross Platform Password Manager" #define APP_VERSION "0.4.3" #define BUILTIN_ICONS 69 #define KEEPASS_LITTLE_ENDIAN //#define KEEPASS_BIG_ENDIAN // often used, stable header files for pch #ifdef __cplusplus #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "crypto/aescpp.h" #include "crypto/yarrow.h" #include "lib/bookmarks.h" #include "lib/FileDialogs.h" #include "lib/SecString.h" #include "lib/tools.h" #include "lib/UrlLabel.h" #include "Database.h" #include "KpxConfig.h" #include "plugins/interfaces/IIconTheme.h" extern QString PluginLoadError; extern IIconTheme* IconLoader; extern KpxConfig *config; extern QString AppDir; extern QString HomeDir; extern QString DataDir; extern bool TrActive; extern QString DetailViewTemplate; extern QPixmap *EntryIcons; extern bool EventOccurred; extern bool EventOccurredBlock; #endif //__cplusplus #endif //KEEPASS_X_ keepassx-0.4.3/LICENSE.LGPL-30000644000175000017500000001674312116712627014263 0ustar felixfelix GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. keepassx-0.4.3/translations_update.sh0000775000175000017500000000047011246517350016772 0ustar felixfelix#!/bin/sh LUPDATE="" if [ `which lupdate-qt4` ] ; then LUPDATE="`which lupdate-qt4`" elif [ `which lupdate` ] ; then LUPDATE="`which lupdate`" fi if [ "$LUPDATE" = "" ] ; then echo "Error: lupdate / lupdate-qt4 not found." exit 1 fi cd `dirname $0`/src rm translations/keepassx-xx_XX.ts $LUPDATE src.pro keepassx-0.4.3/share/0000775000175000017500000000000011344562537013457 5ustar felixfelixkeepassx-0.4.3/share/mimelnk/0000775000175000017500000000000011344562537015113 5ustar felixfelixkeepassx-0.4.3/share/mimelnk/application/0000775000175000017500000000000011344562537017416 5ustar felixfelixkeepassx-0.4.3/share/mimelnk/application/x-keepass.desktop0000664000175000017500000000024011071153227022672 0ustar felixfelix[Desktop Entry] Comment=KeePass database Comment[de]=KeePass Datenbank Hidden=false Icon=keepassx MimeType=application/x-keepass; Patterns=*.kdb; Type=MimeType keepassx-0.4.3/share/mime/0000775000175000017500000000000011344562537014406 5ustar felixfelixkeepassx-0.4.3/share/mime/packages/0000775000175000017500000000000011344562537016164 5ustar felixfelixkeepassx-0.4.3/share/mime/packages/keepassx.xml0000664000175000017500000000046311067662727020540 0ustar felixfelix KeePass database KeePass Datenbank keepassx-0.4.3/share/macx_bundle/0000775000175000017500000000000011344562535015736 5ustar felixfelixkeepassx-0.4.3/share/macx_bundle/Info_cmake.plist0000664000175000017500000000326511151471647021053 0ustar felixfelix CFBundleIconFile ${MACOSX_BUNDLE_ICON_FILE} CFBundlePackageType APPL CFBundleGetInfoString ${MACOSX_BUNDLE_INFO_STRING} CFBundleSignature kpsx CFBundleExecutable ${MACOSX_BUNDLE_EXECUTABLE_NAME} CFBundleVersion ${MACOSX_BUNDLE_BUNDLE_VERSION} CFBundleShortVersionString ${MACOSX_BUNDLE_SHORT_VERSION_STRING} CFBundleLongVersionString ${MACOSX_BUNDLE_LONG_VERSION_STRING} CFBundleName KeePassX CFBundleInfoDictionaryVersion 6.0 CFBundleIdentifier org.keepassx.KeePassX NSHumanReadableCopyright © 2005-2009, KeePassX Development Team CFBundleDocumentTypes CFBundleTypeExtensions kdb CFBundleTypeIconFile icon CFBundleTypeName KeePassX Password Database CFBundleTypeOSTypes kpsx CFBundleTypeRole Editor keepassx-0.4.3/share/macx_bundle/Info.plist0000664000175000017500000000304211344561664017707 0ustar felixfelix CFBundleIconFile icon.icns CFBundlePackageType APPL CFBundleGetInfoString KeePassX 0.4.3 CFBundleSignature kpsx CFBundleExecutable KeePassX CFBundleVersion 0.4.3 CFBundleShortVersionString 0.4.3 CFBundleName KeePassX CFBundleInfoDictionaryVersion 6.0 CFBundleIdentifier com.apple.application-bundle CFBundleDocumentTypes CFBundleTypeExtensions kdb CFBundleTypeIconFile icon CFBundleTypeName KeePassX Password Database CFBundleTypeOSTypes kpsx CFBundleTypeRole Editor keepassx-0.4.3/share/macx_bundle/icon.icns0000664000175000017500000020746011067675267017566 0ustar felixfelixicns0ics#H8??|<8??|<is32 ,MWP0!X1aZC[f<^]"`e?/ekgoj$tXP|,@z|t':z,u-YPfn4p? 6MNON" GMNOP+ GKMBIQS- "GKK<JSU0-FIKK,KUU/!GI4MUC"#,%: cd M4Xl{u G(\<6K;ŕGa½Mm[6<|Îˢ֍4ؽC zJ.=F G_ Kd O*5i-Ce4fEv673)OQ%/bQ  7=:!L$IF4DO-IG HQ5(QWTZU`IEg#7gi`+mg cp)Mvxm@sz{tWrf4g? #4464 04466 .34,279 .13( 29;!--/134;;!./"5;/  s8mk8,lIK3NS +n-1Z:XyP L#F%.3&M(JICN#????il32 ֎ n˜p 3έ:MfencpUxtqcd c_$jjkkdbcZgdkjq6g޸.3c>_bdd]0cJٻ:@Bmk{ehlne$vsp157l|~hVY\_`>Q dTn6:>~^QTWZ]`dfjlgnZ,.1}_;>BAFKNRUYd ]9>=CGIL|}e^x2 V248;>l c*.25^nc1i/359i4(,E),,D_<69O !"9 .&9 ﱱ "6 /ց  &HG@ yϦ}9ѶDUa쓩 yɠT#޽y} D0W~v$zOQa~B4x)tI~z}|1ނ| |xzy ~ј= {|~ vy|~r<wz}~_hiloruxxLruky~M lood sxzx6jnnodvs{~z7*puuleZzs}z'dhhnzltxvluusos~t knl %ksj ︸' *ǰ C 8ځ/VN gʖh /̨5INBHD[Mup^;<; ::zD=KW?@C??:6q`&&'sF4679;=?@%i b343zU<>>?ABDEFGKfW#$$yX(*+*0/1235N Z2425899utVLj- T++-..e{ b$'()Xk]+i-0124MNe "C=o+-2yM23L@ p$%$1 A''D)r!##$1g@,-G,*y+--)*6k?/0Fy>i1"%@*--E_:13K "#: +!4 ﱱ #6 /ׁ  &HGGF?l8mk`Ԝgb\jijiVo~'7 [Xba ``\UZdXk?%9fzam nW_gOk_ #>Ypo pb.c\8 X_k2 4zYcddccb_VT{ z!-(O1iU^aceZQl~4?B9X: UhjlmoofpP].?AD:[1 Rceghjlh5π> TYp%024*Y(DSUWZ\^b;0U[R*{k%4692_/K[]`bdgil4% VrY)l/?AC9e2 R^`bdfhjmnO2+=_qmg g,9;>3fɫ`NUWYZ\_abgfeffdZ ]*-0(n@ILOQTVX[]`cddefQH ^,:?B7|OJRTVXZ\]_acfgilea`#(X$/13(P4?@BEEAKMOQSVY\QZ!-O#0143=6?ACFEFhCGOWZYSOx?AB= #'),.0-A K[(0247:1Opzq_M_'468:;>9e|F_')+-.014,[jEc$),%Z[Im!++)9^fmr>3:<3\X Ft#-..$ 82:<3ZO>u)"(*"Q:Bz !7(+24.T; H#-.,+!:/5:<4T7  Ӏ +($0<=@*-14,M! F"&)#K %''%$Q*47:2RN z%//,)𡙘n d)58;-H v"b l~ "= X_Zw tz=C@< ܅> 63<;: k4QX> Qo7b Xݭ`ꘈ  *./014 ?ۀ(9 | B&;g z $A ȍ >; !t{56S,~ p}tn4 j| {s= Έ| | m~t4 Ò>i~~ts+l.U*|ixw1ʂQ#*q||6 zzG:X( |pw|ʬ{ vhzz~p tL vrvr$%uuvrd#)qn|}lp} !.lo}}r_}q}x=oxqɔ|}Ȁ1Ooyo Suuxz|iF Ktnz{~p Rs}tc"Nul}}~{} Gubttuwxz|sumEx[jiighijswzou^Jdutqbx}f{xuZ Gdxuvj b{xtQ?Znl`Zrvzno<!C\nlmmoc9\x{vq> Iawvvwvwj ;b~yp:  Ԁ^vtts`ch` B`y{tk$$ TjhihUHZstxoj YrqYTe~~xnS lv ]񤛚r gf~~nM `jiZgm]qseB szt{ vhmfA ݅D ;5>=< m4PV= Ok6^ Wޢy]_}_C<@DD? 7=o%&'S''12345671U 44*{i*+,%[-5=>?@ABDE$& :I?)k(668-a2 CBDDEFFGII7&#-AJFS e$012(cɪV2899::;<<>=<=<<2} [!!#j..01245568::<;<<3E \%223*t;:>?@BCCDDEGGHII>w$$[(556,zF7==>?@AABBCCDEF?O^#(U&&'}H"+,,-+'/0012345+H!-L'()(7(//12/9`0-49;935ou &!"M:Bz !!"7%&*,%P; H$./-,!:,035,Q6  Ӏ!,)%1<=@'(+,"I   F !G &((&%Q'012)NM z&00-*𡙘n d'123%G v#b l}< X_Zw ty 63<;: kh8mk 1ͤXb+;YiTHZX7V% Sv;RpL %I30 ?=55'4/:25>0/Rh1'a@6q04 H4+/846. ?37=38O638%PחH/68!O𫖃`9/580N+0376-H GdEXGQOA7A@L#)5I*{3%H)n)-...393G).71%%%%&;F)063 AD(456KD(4F`nmmmmmmj;47P?(31111111681222222238)755556668(it327!8@FLPSUZ[abfilmqrxxy||~{xwwtrpnkgea_[YTPMD<'/*:GS[emsz"~wob[M?/>Vfwƾ{l[A6H]j|ʽzl]I6EgĻzbE `Ž}[R  :ƧshelxǺG  ഏhF)+ /Kqʰ ;伍U!  &\м?ݪq 9NW_fllh`ZRF&-ϻ t1Et,؜V<# ;ι k J'g: =ͷ 5G#_.r͵  Q !Y#0˴߀  ׹}l}5ɲ߃߀,6_2>EKV[VNG@8A؅j ȱރ,  Q=K^kkllmllkkfSDXփ{ǯ̄$  DDMglmnmj^AaȀƭۂm(-ЊKbinmgXJ1ǀŬځ܀#"@GJOSV[_dhorwy$ a_#]M`efedcbb_TE{Tǀīځ&!l1JfPZa`_QP:ŀ¨~؁ڀ #3 AK:]Q_deb`_ \]_`dghh\Q  GĀ}؀ـ %~7 DzY`iij kkjhb\RKKPLDMelkNs IÀ |؀ 'zC >V NYgnZLdpCE_nnjLԁ J€yՄ )wI6L_ngUZ U#C^kn`Y; ¾wׂ +sO$/2XhnkMw b,RknI{܁ | tւ .p W$ RKHckkm]L :$\i_R #RsՂ /k n%-,+*,5`M\__aba`:'R_J 4"rф 2h k$./012,,p4JRY[]]^`7̈'@]Rk o~rӂ 4c k#-/11240*  eG =ZabcceghijfYPӉ5BflWr %[rσ 6` n0>@ABCDE?+ QU GbggiijjllnaI҉36bnQf ,Lr͂ 8]n0>@@ABCCD@+">nLaefgijklmna.Ɉ ,+_nTg ,<r͂ :[n.<=@@ABCCD?4"}. wQadefghhjjklmnh 6cnWdۂ3 .rˁ΀ =V/1<=@BCCDA6w݃ +_ [Y`cceefhhijklmha$ (FchU_ł:rʂ >S0-78899:;<=:9xȃ ) ZxQPUUVVWXYZ[[\]^`aa`34 0I`aPZ>rɁ̀ BG3")*,-.//1102R 77=)fENPQRSTTWXXYZ[\]^_X!Xa(9ZaaP`ς7rɀˀ B!4"++,//123547^ 5 )FTWYZ[\]^`abddfghiiS# /IWQ??@?>Q OsCX]_abccdfghijklmlS72[mnRg ./ rɀ ˃ G?3<<>>?AABDAV\]__``aacdeggiijkkmlcVF>73??@ABCA6b׃O(>JRZ[\]^_``acceffghijjklmlf[Wbkl]n V rǂVLB578;;<<=?@?4P oFSVWWXXYZ[\\]_abccefeddM =nr}ƃ̿A 6:-../0022343+K\9EGJKLLMNPQRSTUVWXY[[\]`ZL %rzƒ˻P4;'')**,,.011*Bk7EGIJKLMNPQQSTVWYY[[^_``acdeffeF{܁ <ry̾H'F-0234588:;<1?u:PTUVWYZZ\]^_``abcefggijklndM =jrvͿn'J29:<<>?@ABC794PSTUWXYZ[\]_ `bcdegghijjklmnlE ( rvh%i.8:;<=?@ABC84".PQRSTUVWXXYZ[\]^__abcceefhhjjklmnEz 69rvŐ&n(8:;<=>??BC92).LNOORSSUUVWXXZ[\]^__`bcceffhhijklmnnR_؂ % rvȇ&ە(6:;<=>?@AA<81FIJKLMNNOPQRSSTVVWYYZ[[\]]^`abcHN-Jrvț#<"%))*,,..//+/,489:<=>??@ABDEFHHIJKLNOOPQQRTTVXYZ[Z8p>rvʒ(:"!&'(()+,-.,3V405689:<=??@ACB8/@IKLMOOPRTVWWXYZ[]]K1RYrv˝(7&,34677::;=<96>BDEFHIJKKLNOKAON3DVWXZ[\]^^_`abaO8kk5rv̊64-08:;;=>??@?=CDEFHHILLMMNK=UҴa7BDOW\]^_]XKCEka+ ¿rv̑:1/09:;<=>?@@ABDDEFHHIKLMH?BK[O! {¿rvfT12::;;==?@@BBDDEFHHJJH;_ ϵD! W¿rvl T:27799:<>?@BCCEA8r|/ R¿rvE  P t300233445789;;<<5NرI M¿rvBo҄I "#&''()*++.//01,OδK /b¿rv ":#%&'())*,-./01,;OSq2 3¿rvЁ 87&.02335688:;<=?65:#0Vsy\B# &n¿rv} 8)*13457789::;<=??&5k¿rvlD&(/023355689::;<=>=)6"m¿rva D#(.//0233566889:;<=>>,x./b¿rvMU ")--.//001124 556789::,Zڄ*, (9FYj¿rvҿHa& !"#$%&'()++(O)77¾rv π8{% !$%&()+,-*;9  Aـ ¾rv΢8ْ/$%&'*+,--, 155889:;;7Ax'C=¾rvȚ(#m0+,-),/147;DLY\'1889:;;==99p&E:s¾rv}3*t4*-(@ץ)1889:;;<<:>j S'¾rvιu'U3+-(L)/889::;<;:9d׃$U (¾rv̺o/*j2*,+'K0.1335567744{ۃ#\0¾rv˲g .R'!"! I,#''))*,,-+*q̓"Z/¾rvʼw/z` H`& #%%&())*++~!S >¾rvɷn 5P! Il@k*&+-.002234,n XD¾rvȽn=P$()**+,- (Lo0Z216788::;<=/_PE¾rv ǽa I>&- (Lu+q2/5688::;<=1PQ7¾rv xO:#- (Ly 'k5046889:;<=1AL0¾rv `#1%-..,*&Q&5-4567899;<27N.¾rv `,.#++*))(& #(-17FYn0 $&''())*+&+I ,rv `,%c1 !#$%&''%&K6rv `,,%b -9#,-//0335632~؃4"rv `,-&**+,&0 N =*346789:;5RɃ<#rv `-t$,-(8 O"B*356889::;:7`݂<&rv `.k$-'<Ā\H%~ E)345789:7Pʂ<(rv `.k$-(@F00(#D -тF*344677884Pʂ9*rv `-j!)((%C?  @Ԫ%f͂ I#$%%&'()'Kʂ5,rv `,h<b<}'ʂ A ""##Î5-rv `,}(*Ef  $P$^ǂF(')*(Kς5/rv `,⮄nZ]^a|au܃fcaz܂6 1rv `- ӊxy_ܑ51rv `. wl k#g44rv `.{e&X3 7rv `+܍X _3V-9rv `DK- W 9 D-;rv`W@")*+,=rv`PE>rv`bL@rv ǚplnbXVWVWXYY[zPBrv¾ߚrv ̴Ήrv ̴ҽrvԽrvʀ րفrv5$rv5rv6ǥŭֻвҿrv-@ WĘ; %4 2q, qr$rv@8Au,'|~+ #k]ђv¿rvB89d'}ǯƧ~+9 ^m#>:%Kl B:"v. ¿rv8([ΏNŸ3Mh#~+<; 6nسoJQ vw Z¿rv8aZg,6<4"1;4 ~+Uo3:ay:dL'¿rvm8+ \V+}+?ANd6#7*bOool  R¿rv#88z4 9x ZD{+ Fm`籌tE粏qNj" Dg¿rvm8:E/ѳKj.oп]uFY}+ MZn-pkwow  1f¿rvm8:§a+q  %Yئ9&$ C}+ M4-+i")(5m$*(P>3r6A¿rv5m>3[͹uA58_ǐC/ $.@]ڳi6) *5Rg<>l4P+)7hy?9CW2%!*9`ͯ\1'!*9b\=FsЦ?5<¿ro5ǣrϲxt{̔wifo|޸qglyҭ4~s|譂slq~ᴂulp|Ϸ̐us¿DlF{Ⱦ½:Ϻ¾xD=\s!ý~rZ<Ebsx{ }wtobE86H^jt} ütk\H31?Xgs}ľwlZ?D*:GSZflty |vnb[I?/7!8@GJPSW[]_cgjlnrrxxzz}}zzxwtspnkhgb^^[VRLD<'7!8@FLPSUZ[abfilmqrxxy||~{xwwtrpnkgea_[YTPMD<'/*:GS[emsz"~wob[M?/>Vfwƾ{l[A6H]j|ʽzl]I6EgĻzbE `Ž}[R  :ƧshelxǺG  ഏhF)+ /Kqʰ ;伍U!  &\м?ݪq 9PZaiopkd^UH& -ϻ t1Ix,؞]@% ;ι k"K'l> =ͷ 5H#c3 r͵  S !]'0˴߀  ׹r:ɲ߃߀,9es ` # GĀ}؀ـ %~; D܆ zuxtn}w MÀ |؀ '{G">V O{||}`jrց % J€yՄ )yL 6]}n U)dm? ¾wׂ +uT(/2t bq z5Ɉ ,:v 5<r͂ :^}fM'}. {* Mzۂ< .rˁ΀ =ZEpPރ 1_ b5( (h~łBrʂ >UEl{`Ƀ . ZxY Z4 0x}FrɁ̀ BLF`xyyz{|}~z_a <7=m; Xa(Z{ς@rɀˀ B#Jaxz{{|~xjm : )z/ /IWQ(5[u}bI)"  &n¿rv} :4cy{|}}~G:  k¿rvlG3hwyz{{}}~~E:"m¿rva G 2hvwxyz{{} ~L3/b¿rvMX2luuvwwxyz{{||}~~Sg܄*2 (9FYj¿rvҿHd;^hiihhikklmnp qrsuvwxyw[_);7¾rv π8~<_gijkllmp rstuvwyxbX> Aـ ¾rv΢8ژKhpqrrssutpoljv}~~r]}'F=¾rvȚ(%xNntun7>@CDGKT\fk¾rvɷn 6`Qfk aYp"D qXivxyy||}Ry \D¾rvȽnAZTosstu jZu#2`\t|~UkUE¾rv ǽa JKWsu jZz'/v[m{}~`\W 7¾rv xQCZsuttiZ( )pSo|}~dOQ0¾rv `%?]utsqmfY^((Sf|}~kFS.¾rv `09`tssrmQ147;?N_u#D_rstuvwwxyhBN,rv `06Wg\KiDVnppqrstuvk@P6rv `0>Yfghh]Ij -!I\vwyz{|}~uX؃;"rv `0Efrst`O N L^|}}~~\^ʃD#rv `1ɂZtuaO O$P_|}}~|jj݂D&rv `1{_u\QņcH(Q[{|}}viʂD(rv `1{_u^TN33,' D /҂U]z||}skʂ@ *rv `0{\srrYWH@Ԫ(iςXVorsuvkgʂ>,rv `0yVkj\Ug<} *̂ YZlnopqrgf̂<-rv `0ΈKU_k $P'aɂ \TUVVWXP\ς</rv `0ⱄtZ]^a|a!x݃omnk~܂= 1rv `0 ԍxycܑ=1rv `1 {&l k#j<4rv `1#e&Z< 7rv `/ݍ\$ _3Z79rv `IR QQ5 W 9I4;rv`W@ (/123!=rv`PE>rv`bL@rv ǚplnbXVWVWXYY[zPBrv¾ߚrv ̴Ήrv ̴ҽrvԽrvʀ րفrv5$rv5rv6ǥŭֻвҿrv-@ WĘ; %4 2q, qr$rv@8Au,'|~+ #k]ђv¿rvB89d'}ǯƧ~+9 ^m#>:%Kl B:"v. ¿rv8([ΏNŸ3Mh#~+<; 6nسoJQ vw Z¿rv8aZg,6<4"1;4 ~+Uo3:ay:dL'¿rvm8+ \V+}+?ANd6#7*bOool  R¿rv#88z4 9x ZD{+ Fm`籌tE粏qNj" Dg¿rvm8:E/ѳKj.oп]uFY}+ MZn-pkwow  1f¿rvm8:§a+q  %Yئ9&$ C}+ M4-+i")(5m$*(P>3r6A¿rv5m>3[͹uA58_ǐC/ $.@]ڳi6) *5Rg<>l4P+)7hy?9CW2%!*9`ͯ\1'!*9b\=FsЦ?5<¿ro5ǣrϲxt{̔wifo|޸qglyҭ4~s|譂slq~ᴂulp|Ϸ̐us¿DlF{Ⱦ½:Ϻ¾xD=\s!ý~rZ<Ebsx{ }wtobE86H^jt} ütk\H31?Xgs}ľwlZ?D*:GSZflty |vnb[I?/7!8@GJPSW[]_cgjlnrrxxzz}}zzxwtspnkhgb^^[VRLD<'7!8@FLPSUZ[abfilmqrxxy||~{xwwtrpnkgea_[YTPMD<'/*:GS[emsz"~wob[M?/>Vfwƾ{l[A6H]j|ʽzl]I6EgĻzbE `Ž}[R  :ƧshelxǺG  ഏhF)+ /Kqʰ ;伍U!  &\м?ݪq 9NV\djje^YQD%-ϻ t1Ds,ؚT:" ;ι k G'e6 =ͷ 5D#\,r͵  P !W 0˴߀  ׹{hz3ɲ߃߀,5[,/118<8300/=؅g ȱރ,  P89@FGFE:9Tփyǯ̄$  B>9DGGHGGF?6]Ȁƭۂm(,І=BEGHFD=D1ǀŬځ܀#"?EJMRUZ^bgmqwx" a_!T8;>?>>=<;:82<yTǀīځ&!l/J[4376540D7ŀ¨~؁ڀ #2 AK9P79<=954457<@V MFDH92Wj10@HHF6Ӂ  J€yՄ )wG6DAGHD=O U/?GG?N7 ¾wׂ +rM#/0?DHF8q b"8FG4t܁ | tւ .p U$ RIACFE>B :;B;> RsՂ /jl"'&'2^579887).5. /"rф 2g i!!""#'n4E23456550̈'$60^ l~rӂ 4b i!""##%!( eF6;=?@@ABCB@2JӉ50CFAo [rσ 6` l)44667782)QT7AEEFGHl5BDEFFGH@)Ɉ ,#?H;^ '<r͂ :Zl(44556673/ }.u:ADDEEFGHA *AHS.'/./,1vȃ ( ZxM2456675 4 0,87.F8rɁ̀ BG0 !""##")O 67=d,/01122334450Xa('6892Pς1rɀˀ B!1!"#$$%&&'&,[ 3 069;<<==>?@@BCB6 /IWQCDD9Y,rǁʀ I1;&/ 11233436N Nr3=AABCDEFG F8)'@GH:_ (/ rɀ ˃ G<-3445654bD  s4>BCDFGGHD;,"+9GHAABCDEFG HB:2.(',06CHDJ~  IrĄP M=03556760`փN'> H>?>>=<<3 8nr}ƃ̿A 67'%&' HY'+,--.01122345627 rzƒ˻P48!!""#=h),-./00124455679;<=>0s܁ <ry̾H'D()*+--./0(<r0;<==>?@@AABBCDEFFGHBB;jrvͿn'I.23455667.6*<==>>?@@AABBCDDEEFGHG4 " rvh$g)0334455667-1'<==>>??@AABCDEFFGH3t 29rvŐ& m$03344556/. ':;;<<==>?@ABBCDDEFFGGH9Z؂  rvȇ&۔%0334456514-67787789:9:;<;<<;<0G)Jrvț# "!!"!"!"" ''#&&''(())*+,,--../0 1122332(k9rvʒ(  ! -U0!$$%&')+,*%#(/0224456 7889:9/'OYrv˝(&&,--.//0110/0055667788961KH*0>?@ABBA50fg5rv̊6**13455416899:;81OѲ\.318?@ABB@=54;d^( ¿rv̑:.*134566899:50pÞ]C9358AQL {¿rvfT/-1345678:80Z ε@  W¿rvl T7-012234552.oy- R¿rvE  Pt1*+,)JׯGM¿rvBo҄I !!"!LͳH /b¿rv "9 !!"# 7MQo0 3¿rvЁ 8 7#*,-../011223.3:"/Try[A! &n¿rv} 8)(/0012334455"4k¿rvlD&(/01 22334453&5"m¿rva D#)./0 1122334454(w,/b¿rvMU"*././0/0/0'Xڄ*+ (9FYj¿rvҿHa& !! !M)57¾rv π8{%  "79  Aـ ¾rv΢8ْ/%&''()*++,+*('&,.//1120>w'A=¾rvȚ(#m0,-.*,/147;DLY\$-12234402n&E:s¾rv}3*t5+.)@פ'-0223344208i R'¾rvιu'U4-.)L(-0122334313b׃$T (¾rv̺o/*k2+.-,,'K.),-.--.//,0zۃ#[0¾rv˲g .R("#"!!I* !#"#$#$o̓"Z/¾rvʼw/z` H_# !!"'}!R >¾rvɷn 5P" Il@k'#''(()*+'m WD¾rvȽn=P%)*+,-. )Lo0Z/.023344)^PE¾rv ǽa I>'. )Lu+q0,011223344,MP7¾rv xO:$. )Ly 'j2+011223344,>L0¾rv `#1%.//-+&Q &4)/00112233+4M.¾rv `,/$,,+**)'!$(-17FYn/ !"(G ,rv `,%c0#J6rv `,,&b -9 ''))++,-.,-}؃2"rv `,-'++,-'0 N<'//00112231/QɃ<#rv `-t$-.)8 O" @*001122321^݂<&rv `.k%.(<Ā]H%~C)00112330Nʂ;(rv `.k%.(@F00(#D -тE*/0.Mʂ8*rv `-j"**)%C?  @Ԫ%f͂H" !"!Hʂ5,rv `,i <b<}'ʂ@Ĝ3-rv `,~(+Ef  $P$^ǂF&%&%Jς4/rv `,⮄nZ]^a|au܃fbcay܂4 1rv `- ӊxy_ܑ41rv `. w l k#g44rv `.{e&Y2 7rv `+ݍX _3V-9rv `DK- W 9 D,;rv`W@")*+,=rv`PE>rv`bL@rv ǚplnbXVWVWXYY[zPBrv¾ߚrv ̴Ήrv ̴ҽrvԽrvʀ րفrv5$rv5rv6ǥŭֻвҿrv-@ WĘ; %4 2q, qr$rv@8Au,'|~+ #k]ђv¿rvB89d'}ǯƧ~+9 ^m#>:%Kl B:"v. ¿rv8([ΏNŸ3Mh#~+<; 6nسoJQ vw Z¿rv8aZg,6<4"1;4 ~+Uo3:ay:dL'¿rvm8+ \V+}+?ANd6#7*bOool  R¿rv#88z4 9x ZD{+ Fm`籌tE粏qNj" Dg¿rvm8:E/ѳKj.oп]uFY}+ MZn-pkwow  1f¿rvm8:§a+q  %Yئ9&$ C}+ M4-+i")(5m$*(P>3r6A¿rv5m>3[͹uA58_ǐC/ $.@]ڳi6) *5Rg<>l4P+)7hy?9CW2%!*9`ͯ\1'!*9b\=FsЦ?5<¿ro5ǣrϲxt{̔wifo|޸qglyҭ4~s|譂slq~ᴂulp|Ϸ̐us¿DlF{Ⱦ½:Ϻ¾xD=\s!ý~rZ<Ebsx{ }wtobE86H^jt} ütk\H31?Xgs}ľwlZ?D*:GSZflty |vnb[I?/7!8@GJPSW[]_cgjlnrrxxzz}}zzxwtspnkhgb^^[VRLD<'t8mk@ #&)+,.012468:;=??ACDGHIKMNNMKIHGDCA??=;:864210.,+)&#  #(-18=AGKKKLS\gnsuxz}~zxvrpleZRLKKKGA=81-(# %1 c #BCC3B8", ", c #FFFFFF", "' c #FEFEFE", ") c #CED1CC", "! c #ADB6A8", "~ c #E6E7E5", "{ c #BDC4B9", "] c #3A4435", "^ c #010101", "/ c #4D5549", "( c #EDEEED", "_ c #FBFBFB", ": c #92A588", "< c #66914E", "[ c #65A142", "} c #6EB048", "| c #639B44", "1 c #70975B", "2 c #B7C0B1", "3 c #55614D", "4 c #030303", "5 c #788375", "6 c #839080", "7 c #869283", "8 c #899586", "9 c #748270", "0 c #060905", "a c #141713", "b c #D1D6CF", "c c #EAECEA", "d c #71935E", "e c #63A93B", "f c #64AB3C", "g c #64AA3B", "h c #63AA3A", "i c #5F9F3A", "j c #8A9E7F", "k c #D1D7CF", "l c #191F15", "m c #E5E5E5", "n c #909D8C", "o c #111310", "p c #8A9385", "q c #88A07A", "r c #6AAE44", "s c #6BAE44", "t c #64A93D", "u c #628A4B", "v c #637957", "w c #5A903C", "x c #67A543", "y c #AFB8A9", "z c #8F9B88", "A c #E2E2E2", "B c #AEB5AC", "C c #BABFB8", "D c #F9F9F9", "E c #8E9A8A", "F c #050805", "G c #131513", "H c #F2F2F2", "I c #C2C9BE", "J c #64A042", "K c #6AAE43", "L c #718367", "M c #FCFCFC", "N c #9D9D9D", "O c #365424", "P c #678F4F", "Q c #F5F5F5", "R c #1B2317", "S c #DEDEDE", "T c #B8BDB7", "U c #2E7922", "V c #337D24", "W c #63825D", "X c #869382", "Y c #080A08", "Z c #3E443A", "` c #8CA281", " . c #5FA539", ".. c #62A83B", "+. c #5DA135", "@. c #BFC1BE", "#. c #30302F", "$. c #63A240", "%. c #BCC2B8", "&. c #4A5742", "*. c #D9DAD9", "=. c #BBC0BB", "-. c #3A7E31", ";. c #408735", ">. c #428935", ",. c #6D8866", "'. c #869282", "). c #0E0F0E", "!. c #6B7667", "~. c #7B9A6D", "{. c #65A845", "]. c #68AB46", "^. c #6CAE47", "/. c #65A440", "(. c #A0A0A0", "_. c #EAEAEA", ":. c #242424", "<. c #76A45B", "[. c #A3B29A", "}. c #73816B", "|. c #D2D3D2", "1. c #FDFDFD", "2. c #70886E", "3. c #317A27", "4. c #357F29", "5. c #378029", "6. c #6C8667", "7. c #7C8A79", "8. c #020301", "9. c #7E8A79", "0. c #689058", "a. c #569E34", "b. c #59A135", "c. c #5CA437", "d. c #5FA737", "e. c #60A836", "f. c #3F4F37", "g. c #A6A6A6", "h. c #C4C4C4", "i. c #515151", "j. c #0D1309", "k. c #64AA3C", "l. c #93AA87", "m. c #819078", "n. c #546153", "o. c #6E876B", "p. c #367E2D", "q. c #3A832F", "r. c #3C8430", "s. c #728A6D", "t. c #7C8879", "u. c #0F0F0F", "v. c #758071", "w. c #809C75", "x. c #5DA140", "y. c #60A441", "z. c #64A743", "A. c #67AA45", "B. c #6BAD47", "C. c #5F963F", "D. c #2E4223", "E. c #181818", "F. c #273420", "G. c #6F9E55", "H. c #AAB7A3", "I. c #697861", "J. c #020202", "K. c #687468", "L. c #6B8668", "M. c #377F2F", "N. c #3B8331", "O. c #3C8230", "P. c #758D71", "Q. c #838E80", "R. c #DADCD9", "S. c #8FA289", "T. c #559B3A", "U. c #599E3B", "V. c #5BA13C", "W. c #5FA43D", "X. c #61A73E", "Y. c #64A93F", "Z. c #67AC40", "`. c #67A743", " + c #67AC3F", ".+ c #CFD2CD", "++ c #3C4936", "@+ c #717E71", "#+ c #638060", "$+ c #2E7A26", "%+ c #317D26", "&+ c #337C27", "*+ c #788D73", "=+ c #DBDEDB", "-+ c #558246", ";+ c #4E9734", ">+ c #529936", ",+ c #559C37", "'+ c #59A039", ")+ c #5CA23B", "!+ c #61A63D", "~+ c #64A83F", "{+ c #66AC40", "]+ c #68AD40", "^+ c #799669", "/+ c #D8DBD7", "(+ c #0F150B", "_+ c #879287", ":+ c #F8F8F8", "<+ c #658262", "[+ c #3B8233", "}+ c #3E8534", "|+ c #3E8333", "1+ c #7E927A", "2+ c #EDEEEC", "3+ c #5E8355", "4+ c #51953C", "5+ c #54983E", "6+ c #579B3E", "7+ c #5A9E3F", "8+ c #5DA141", "9+ c #60A442", "0+ c #64A744", "a+ c #66A945", "b+ c #6AAC46", "c+ c #67984B", "d+ c #D9DCD8", "e+ c #6E7C66", "f+ c #050505", "g+ c #090A09", "h+ c #939E92", "i+ c #F6F6F6", "j+ c #5A7C57", "k+ c #2C7823", "l+ c #2E7A24", "m+ c #317924", "n+ c #7D9179", "o+ c #5F7F58", "p+ c #3B8628", "q+ c #3E892A", "r+ c #428C2B", "s+ c #41892A", "t+ c #468430", "u+ c #4B952F", "v+ c #4E9831", "w+ c #529B32", "x+ c #559E33", "y+ c #59A235", "z+ c #648F4E", "A+ c #C3C9BF", "B+ c #AEB7A8", "C+ c #040603", "D+ c #040404", "E+ c #0A0C0A", "F+ c #A3ADA3", "G+ c #F3F3F3", "H+ c #5D7E5A", "I+ c #398132", "J+ c #3E8434", "K+ c #3D8132", "L+ c #438935", "M+ c #478C38", "N+ c #498F39", "O+ c #4C9039", "P+ c #7C9275", "Q+ c #CDD1CB", "R+ c #7D9874", "S+ c #658B56", "T+ c #5E8A4C", "U+ c #78986A", "V+ c #92A589", "W+ c #EEEEED", "X+ c #BFC7BB", "Y+ c #323D2D", "Z+ c #080808", "`+ c #181C18", " @ c #B3BAB3", ".@ c #EFF0EF", "+@ c #567B54", "@@ c #327C2B", "#@ c #347E2B", "$@ c #38812D", "%@ c #3B852E", "&@ c #3E872E", "*@ c #6C8965", "=@ c #82907B", "-@ c #141A13", ";@ c #0A0A0A", ">@ c #171817", ",@ c #ACB4AC", "'@ c #638262", ")@ c #2A7624", "!@ c #2E7927", "~@ c #327C28", "{@ c #5E8158", "]@ c #848F81", "^@ c #6E7E6B", "/@ c #919F8D", "(@ c #ABB4A8", "_@ c #8E9C88", ":@ c #63725D", "<@ c #313C2B", "[@ c #0B0B0B", "}@ c #121512", "|@ c #ADB4AD", "1@ c #698469", "2@ c #2F772D", "3@ c #337A30", "4@ c #357D31", "5@ c #3C8334", "6@ c #547E4D", "7@ c #DCDFDC", "8@ c #EEEFEE", "9@ c #525F4E", "0@ c #101311", "a@ c #A8B1A8", "b@ c #658165", "c@ c #1A681B", "d@ c #1B691C", "e@ c #1D6C1C", "f@ c #216F1D", "g@ c #24721F", "h@ c #277520", "i@ c #2B7822", "j@ c #497843", "k@ c #DADDD9", "l@ c #E6E8E5", "m@ c #3F4C3D", "n@ c #151815", "o@ c #AAB2AA", "p@ c #6F876F", "q@ c #2A722B", "r@ c #2C752D", "s@ c #316B32", "t@ c #799179", "u@ c #829882", "v@ c #8B9F8A", "w@ c #4F794D", "x@ c #388032", "y@ c #527E4C", "z@ c #DEE0DD", "A@ c #424D40", "B@ c #0E110E", "C@ c #A7B0A7", "D@ c #708870", "E@ c #236C24", "F@ c #246F25", "G@ c #236F24", "H@ c #306431", "I@ c #DDE0DD", "J@ c #447341", "K@ c #2E7827", "L@ c #307A27", "M@ c #4A7844", "N@ c #D7DAD6", "O@ c #D4D9D3", "P@ c #2C3629", "Q@ c #121412", "R@ c #A6B0A6", "S@ c #728972", "T@ c #206A21", "U@ c #226E23", "V@ c #677667", "W@ c #98A298", "X@ c #D5DAD5", "Y@ c #427340", "Z@ c #317B2C", "`@ c #357E2D", " # c #4D7A47", ".# c #D6D9D5", "+# c #CBD1CA", "@# c #31382D", "## c #131313", "$# c #919B91", "%# c #798D79", "&# c #2A702B", "*# c #286C29", "=# c #29652A", "-# c #365A36", ";# c #6B7A6B", "># c #151715", ",# c #A6AEA6", "'# c #CCD1CC", ")# c #41733F", "!# c #357D2F", "~# c #378030", "{# c #4D7A46", "]# c #D3D8D3", "^# c #C1C7C0", "/# c #20281F", "(# c #B5BAB5", "_# c #788E79", ":# c #186419", "<# c #19681A", "[# c #3E6E3E", "}# c #C1C5C1", "|# c #697A69", "1# c #111511", "2# c #ADB6AE", "3# c #C1C9C1", "4# c #346C31", "5# c #287422", "6# c #2C7825", "7# c #457640", "8# c #D1D6D0", "9# c #AFB6AD", "0# c #020502", "a# c #B7BCB7", "b# c #296C2A", "c# c #447345", "d# c #D7DAD7", "e# c #D6D8D6", "f# c #C3C7C3", "g# c #C3C6C3", "h# c #5F6F5F", "i# c #161C16", "j# c #BBC2BB", "k# c #BAC2BA", "l# c #3C733A", "m# c #367E31", "n# c #398133", "o# c #4F744B", "p# c #E2E3E2", "q# c #0C110A", "r# c #B6BBB6", "s# c #216B22", "t# c #396C3A", "u# c #CDD2CD", "v# c #B4BDB5", "w# c #171E17", "x# c #1F251F", "y# c #C3C9C3", "z# c #AEB8AE", "A# c #2E6B2B", "B# c #267321", "C# c #396A34", "D# c #DCDDDB", "E# c #020701", "F# c #EFEFEF", "G# c #B1B8B1", "H# c #D9DBD9", "I# c #C9CFC9", "J# c #1D271D", "K# c #090909", "L# c #222A23", "M# c #CDD1CD", "N# c #C0C7C0", "O# c #A3B0A3", "P# c #D7D9D7", "Q# c #080B07", "R# c #B1B6B1", "S# c #F7F7F7", "T# c #D7DAD8", "U# c #364336", "V# c #2F382F", "W# c #D6DAD7", "X# c #D0D4D0", "Y# c #030603", "Z# c #0C120C", "`# c #0D150E", " $ c #090F09", ".$ c #262F26", "+$ c #485648", "@$ c #475647", "#$ c #475646", "$$ c #404E3F", " . . . + . . . ", " @ # $ % & % * = - . ", " . ; > , ' ) ! ~ , , { ] ^ ", ". . . . . . . / ( _ : < [ } | 1 2 , ( 3 . ", "4 5 6 7 8 9 0 a b c d e f g g g h i j , k l . ", "4 m , , , , n o ^ p , q r r s s t u v w x y , z 4 ", ". A ( B C D , E F G H I J s r r K L M , N O P Q H R . ", ". S T U V W _ , X Y Z , ` ...f f +.@., , ' #.$.%., &.. ", ". *.=.-.;.>.,.M , '.). . !., ~.{.].^.} /.(., , _.:.<.[., }.. ", ". |.1.2.3.4.5.6.1., 7.8.. 9., 0.a.b.c.d.e.f.g.h.i.j.k.l., m.. ", ". n.M M o.p.q.r.s.' , t.u.v., w.x.y.z.A.B.C.D.E.F.G.} H., I.. ", " J.K., _ L.M.N.O.P.' , Q.R., S.T.U.V.W.X.Y.Z.`. + +i .+, ++. ", " . @+, & #+$+%+&+*+, , , =+-+;+>+,+'+)+!+~+{+]+]+^+, /+(+. ", " . ^ _+, :+<+[+}+|+1+, 2+3+4+5+6+7+8+9+0+a+b+^.c+d+, e+f+ ", " . g+h+, i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+, B+C+D+ ", " . E+F+, G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+, X+Y+Z+ ", " . `+ @, .@+@@@#@$@%@&@*@1., , , , , , :+=@-@;@. ", " >@,@, _ '@)@!@~@4.{@:+, ]@^@/@(@_@:@<@^ [@ ", " }@|@, M 1@2@3@4@I+5@6@7@, 8@9@. . ^ f+4 . ", " 0@a@, 1.b@c@d@e@f@g@h@i@j@k@, l@m@f+ ", " n@o@, ' p@q@r@s@t@u@v@w@x@[+y@d+, z@A@;@ ", " B@C@, , D@E@F@G@H@, , , I@J@K@L@M@N@, O@P@. ", " Q@R@, , S@T@U@U@G@H@, V@W@, X@Y@Z@`@ #.#, +#@### ", ". $#, , %#&#r@r@*#=#-#, ;#>#,#, '#)#!#~#{#]#, ^#/#. ", ". (#, _#:#<#<#[#}#_.1., |#. 1#2#, 3#4#5#6#7#8#, 9#0# ", ". a#}#b#r@r@c#d#, e#f#g#h#. . i#j#, k#l#m#n#o#, p#q#. ", ". r#a#s#U@t#u#, v#w#. . . . . x#y#, z#A#B#C#, D#E#. ", ". r#F#G#G#H#, I#J#K#. . . . . L#M#, N#O#R@, P#Q#. ", ". R#S#S#S#S#T#U#;@ . V#W#, , , , X#Y#. ", ". Z#`#`#`#`# $D+. . .$+$@$@$#$$$. . ", ". . . . . . . . . . . . . . . ", " "}; keepassx-0.4.3/share/win_ico/0000775000175000017500000000000011344562537015106 5ustar felixfelixkeepassx-0.4.3/share/win_ico/keepassx.ico0000664000175000017500000001246610755554314017435 0ustar felixfelixh& (  1NNC+prr%252INIa2PUO𣪣DJE+aca𞴞zy@G@CGLFlnƷnro.aca𙰘#n"]\7@7:?:RT2{8glh8<8(p&&l&`j`^`5}<ʽp BGB(q'wvgj3|;˾ BGByy%r&(x-1|8V$,didA|E*}37Cüüirl  1040rv,~6NW1BAShwAYWn$($x|-7lx:S[@aAd0kE=Y|cmnm.:|.4/GRJȱʸ=_?eRhZ\[nļlqqq/71 "'$>d@gf}{7X\Yſ5=7 3@g>fFcNj3<7;?C &,(zͽƮfpi& LUaZ}~flh/:3( @ ''''''-666666FguuuuuJ6 ;       C6&/&HVHGVGGVGFVG?N@Bᱶ6C6 <5! /8/Eᶻ' \\\O3#*" Gᶻ"k!#n":l91%+k.!s&4j9J᷼*l)-u,-u,EsD_o_»º:s<1~639KtO  Iᵺyxdhh>n>izi1l4"t(%x,@vEӑyy+p*-u,-u,)l(*e)6Z6kzk?sA/}507FzM( W(즰rr!j #n"#n"$o#1d0gvg@sB,{1-~5GzM-81k)pp$l#%o$$o#1d0AsD'x.'z0DxJ)6,u*oo+r*-u,2k1yyMyO283;L~R@MB  +eehilo!r$ u'"x+CxI=L?7664%+ﭴii-w/0z31}5294el{ @5p Z~]294>2=5C8G9I9Lu|t}VeL^jxǿ-=26)Z W|Z#x,$z.$y1y}X_(;*>+B*A0F/K1N2R3U5YNdh6Hbe3;4>3>z~U^T>W?ZA]B`DdEfFjGlKgf|n87q~q`c&z.&}1'|3sxFU4N6R7U9Y;\=a?d@f@h@hiy Y'!hthhk/71;0a?d@gCg?g?g:_6I<1SaTkn-~6/:09_;b
Copyright (C) 2005-2008 Tarek Saidi <tarek.saidi@arcor.de>
Copyright (C) 2007-2009 Felix Geyer <debfx-keepassx {at} fobos.de>

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; version 2 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
text of the GNU General Public License below for more details.


Other licenses:

apg/*:
	Copyright (c) 1999, 2000, 2001, 2002, 2003 Adel I. Mirzazhanov
	3-clause BSD license

crypto/aes*:
	Copyright (c) 1998-2008, Brian Gladman, Worcester
	3-clause BSD license

crypto/arcfour*:
	Copyright (C) 2003-2008 Dominik Reichl <dominik.reichl@t-online.de>
	GPLv2 or later

crypto/blowfish*:
	Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc.
	Copyright (C) 2003 by Michael Buesch
	Copyright (C) 2007 by Tarek Saidi <tarek.saidi@arcor.de>
	GPLv2

crypto/sha256*:
	Copyright (C) 2001-2003 by Christophe Devine
	Copyright (C) 2005-2006 by Tarek Saidi
	GPLv2

crypto/two*:
	Copyright (C) 2005-2007 Tarek Saidi <tarek.saidi@arcor.de>
	Copyright (c) 2003,2004 Dominik Reichl <dominik.reichl@t-online.de>
	GPLv2

crypto/yarrow*:
	Copyright (C) 2007 Tarek Saidi <tarek.saidi@arcor.de>
	Copyright (C) 2001 Niels Müler
	GPLv2

---------------------------------------------------------------------------
			
		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
               51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS
keepassx-0.4.3/share/keepassx/icons/0000775000175000017500000000000012116710212016374 5ustar felixfelixkeepassx-0.4.3/share/keepassx/icons/cloneentry.png0000664000175000017500000000246110602556426021304 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@bb`@ F112)gCYF&Ffo_?xY%@0`_½Z '^G00Qar?@`R̢lfˠ)D`/!@Ok3(() 0!2%0C?/@1102"I/-HQ]bA zFF,j VCIĂb"=eea&>+1B tG8?o4JkeQ EPN | e?Doן%3 9$?jyՃXF?ѳ#T/@`kc!Z dc- P$ !!3Z,JBX@8R""~k>,YrYTjE<|d6<`G/  #fcD^E_ニU&D,>G@|Ͽ Q`i?sb! @v_(z:@/!Uvkc %?ԼQrG~HA XP>aA/raD &fJ 2XAh)x0 v " $,"VfQt !#z_ o&ي{52L&bLJK?HI1|H*?&_fh1/ _<@ )B <||*FDUf4~k>iMfVxOG󊉙ǯT @;k-x! HIENDB`keepassx-0.4.3/share/keepassx/icons/filesavedisabled.png0000664000175000017500000000202410602556426022403 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME)IDATXWj+7=fF3CY$o,B K!%,tM$E0mBcǞ>nA;tsX#FwaZ|G_᯽^sn1&>6I<4e8Y ...~:::BفXka1&bDh"WWW;>>?>>F$Rb0 119c+?7Rx}} {(cBPJs€u cPJ1dY0 ]`'AOkC md(X91cLc{0 8Ƣnwsws_B ]2*)fYd eTY a TWY%(3K7ߨ\L偒n^PLXdB,^fAVx>c%]3*FL&ci)ӺTJuN/귷7n2I`sss#_5aZ`?? K%YZDDb6Ak( &I8KUѺ*@DF8;;),+#"8AMٚ^)99eV DEȲleŷ,V%ҚZ\0 *m >L&PJ!I 'G <>>\.z.>7:vZZ5?XkX, hu:ܰ\?m?/^k LIENDB`keepassx-0.4.3/share/keepassx/icons/filenew.png0000664000175000017500000000350110602556426020547 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@bb`@,FDU~1rJ < ?'woMK@8K@&5J/2l8h7;&?s133@8@PBRIWA anPt >A߿2000_sI`GBbe`/  &@$w0K Bu( Ja?g;";b$44Cf%Nd@Ld[3xô9D``? 9GKp X,G?@_|``a@Px|>83ç @,=!|Xr5r"ed@B /ſ%DhN@B9, G8Dօb"+α2 }Y\@9"b[_t Y`9$}c7ó ~`όV121@X Pb!37г@6;~ecfr*`?9 Ix ĄA'@ ?ܼp$Ѫ5 @ϧԄ$b]X~ | O0ː?h0(]E Vo;w2E03|xI!Ej2Ckn˟7|@,hWFZ0@C/R{,DM}`&`#(Bd|5?Wv`q>@,߿-#@3Z{ b7LgfU] t+3=L\Ǒӽ>;5Ă Hl\V]m>ͥ S$1hՕ0|э  _ΝcbPxzaaǺ/p p:F#HU.?ѥ 38u%0aPQgcf8_sAO< \ 9߼f@(ِ\b 3A1QA 2ʊAFFԤ@LXsIՈJTK/}^x?F,o؀Ih9/#;~O|䓹zi厎@˯?~`caؾ};Ó''ٶL_f1giܓ^zy{O$%%\]]~;߿bL$ K@W2:zx]NݻI,oU$_ cɇ?<il'||tUUyA?w}@p/pfff R?xjrƲk߿Y| Vf !3}|aϥ3 9b dYK ](Yч\v1V?2 {ξrJ1@ !!a.//kfP4_fNR2 F TUI|fHRWcH FOO99Yo=/0g1Lo2{g?ej 42 po3pv`Q A\*xW9Ps@40 vr rAX3)3= _4!D,8ndxAJ;J~ X*F|ܬcnDs};~ D}WJJDf; \{-gfe.nmm=h@z2f BrإllYDh0 з!v?!`@gb7 Ѭ@=1s:  @H`;eu @G|#(*89Rq3dD L \V;pU9 Ⱥ6<Ykͳ8F NKEu=*eIfTJQmAq\ |)7o^V׳}  3ٿϗ/S]RA [7.>V53˃ Oծ0mԡ[ZlPH=E:rIyyie|/$dN97 jk2V8H-FwRϔ<1FCD4EkXqO1 MM11 𯸸0( ywWlD )P؛)(2瀴#?+]]^VVP"cg?}4 hPbP7$Thhhkl+ t_eggd 3afӻ|kGRqaFP(feLg4iʙ ִ}O2 @y/aKKKEa IW^2s D@)*1ee @ߊ "T~1B_ZZFhg >sk{X"gg#0Py T5?~k8(AR=0lf30F)all̠ aXbF,,l J@,xAQ 6P@p --- P*X,50GҌ `h[B}F; lkJGb^9T^ Y b:t0 F bP 52˃ %HNNnp5L@0101n6!_~F_ԤBP ן?F!+F5~pbAQ}Ç1|pb(/ 50+ÇΞ=)5Q?( .3.wE1'`CrH/z/ =@,A@%!Z l';ˉꙀE)H|Xd[he3}e{ IENDB`keepassx-0.4.3/share/keepassx/icons/i18n.png0000664000175000017500000000455010755333714017704 0ustar felixfelixPNG  IHDR szzgAMAܲ IDATx͗YG]=α{;^DIM"#(! S!B/V $~ &8q_qߎ^kzٝݙ>YDHIJ]_տ){sM Im65Ͱ]N hv7 hdn^_[om͸ߖOG{NDOp]Nmyʱۿ.;XuCw/BzԜt¤!fp/4v~Tg8|somxo|N sg#߻?h4iɄ-VK | at\jTayOó<{ORl7}~.ʆgyb)p)  HΙ *O6ak\/^:|N_=6AoѯtK zJ<;c$c!U%^^Nw=M MUTPU|Jp흳vO`V]@[?G2I9xn-G xRuVpHǓI9݂H\Xvxeo?#S-jϼɺKb+Kr/?>pWhj{Tm=%4NB* !(+X2iyhұdq_qWD keY}N&LOɿaBHD) /4ci>B)ʊ$)baK:9RjX~zPw V[;XH0mqt]w̒|ۓQ .S'ȅX97 MC]8_& y} D+v̊5͹RvtU>-1QS%diBbi[5G,īH%ӘLэg\{f.(xyo?wOHƓ1G>"4 ab5sA{^m.(W]ZPqX$-˱Δx3^R ]W|uR1*<?,!}r) ^vJ3b׵tT40t (B0+XΫ3 Q}Xp "Xe T<( cUkJ:tһ^w/Ľ TlTppmW@B6gr37ex7tu}4!:jT=53,Zfʘ l';ϩ%xl\: S'1LP8ީΟe( t$O,yC;$ Ht֟%3kQ;aMYH1LO#Z=B2߭%gE;7c9>a:$T QQC!$@kR TA(*ؑ`^~Wz%|+;/\lŪE##= rIi7E\ 2nw:q̀wI]SJ.:n(*TbDI"DL6!B@4jd @ 5ZS*v\ֱoWOoy'dx֍CS` 5 c ~^HJQeq0ۀQe9;NGK T5^|<ENq|?Ec9 #Fj̲rm<[mi:_dX0TP qhi; UˌyŭO={õN1`ulW޿.ܪ Rq[HSNHIL]AQ@͖X]詝{ {i`?`] &Hޕ}e]l %D*&_J˄m3Y߳l=|_lǁ>b "a-EX}q>ސ#EPP9:1Z)v<Áv[c#{.`zy&g $FM9L>Js.LkUKcJq?@uWۧ1 00sE>ua@_&] /<IENDB`keepassx-0.4.3/share/keepassx/icons/filedelete.png0000664000175000017500000000417710602556426021232 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@b1UUUgY,`ddLLL~b>v؁ǏW~"@8..n˗/۷ᅧ:D@<t`QL#cd1tyBYYY xyyJ@ _߿D[Z`ԂѠxzk!3,ll 8j9L ;;;//333ZYv@1530InXJMpy=@ɓ &Ndx(Av4@;f ?>|f8 prÇo ob0f`bto߰0^u]<Ь=3X33|kԀ@a FϿp1=A y Ljj55 T ?r%\W \} l@ 9 EEEg@)1o>o9r0YQ_;Ps!5'OS??/6G}(= {3 `rVK`6`Ñ6߿2Op~,  yy gxlO`|EB X0R?!@=ZRZS(hQ܁ 0:a3 280ed@,>-_ΰcJ)II?~0 )@a ' W3<+b`xԏe0sscNL)o3ܽf43Ȗ33^.@`W>i[.1|PàS$cbk{aqveeH=O֬aL &VV ?|'@t@ !*PK8F`ccYᾊ;~]< ëW  ͛ /f,'t--qZĄC_å O7gu"x~aîׯd**Lᖣ^ X0)1=e`fd*F&~gdb`eXR^:䵉 ''o߰ &\i\Kÿ, sxWu2(/Ϟ2|zӧ /0 (^cv a:?Z Ą-a`#Å lLo,t䲂T 2^pL^a!@L3Kd0\ ́V2|pLD l ~+28CPc# `a$ \Il wkK,aZs6V ݯ19=0YAt70N3|&H&P6Œ 3 00X c,2 a`8yyC42li`%s`.D `/\c/Å7 _h9@>d01AVA+amjb KPGs_HTU !Xn k3L^pçUOISDD~ )pXZSo2| IIatueiaM(,h5UfaAHD0!o +V?@ TCoI@amؿ?}ddО0 h??~ %z ꁁX|[3g@{ ~e.HNR0,eBfr0>V"È[LȎAWWe)G<}3@lhH[ab:,r 9Uoo/ g@1"šO)P # v:)Ï??~%7y@QAi# ? m ;8"IENDB`keepassx-0.4.3/share/keepassx/icons/fileclose.png0000664000175000017500000000433110602556426021065 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<kIDATxb?@bb`@bAxyyTv4'L}p##~ß?@4PE 1jTG>R/AAQeUY^^e ?~bxݻ7={{XXX&^ d6@t)?~lQV`077cg`eeZ_2|ŋ ϟٱckŋB 4.9E߿:YBBy~,A r(AFC ֭[/d]̒ GlQ@Bhy;;wQvv#X[&&F?߃`1P<!00A\\aWc=- ߿)lم`˿ΰe gh(c#~?\p9700dfӊP?j@j@DĄ%)~%((賟 ;vddPSS`ع _2۷̠aC7n31_90,@L3,,VU }TU$$>GAw.477'01ܿʁВǏ@2# @h'ooGG~~/A.fee=З߁*`j >}KtX0iFpBʉX \@ÿ-4Zpۏ ||ࠖhp p,WRe+78T6lt<3;;/@'L$%倾 `88؁3;wPKH0X[Ϡ, 7Z΢w\7@=5@ У@T Wbس88esqq2h2|xV ;|}K( ~ -? 򽨨 C\\>X_?`G01GvZ"d 'd d׀Ծt`Pχ80PeJfQ{vv`4&;?if'^x׍@j`y66V`,p1pX o@>ʪBBB@3X#. 6hf/;5 Br\ F7eHMaV<V ~10 afOYD;3/r 9R  CO!=\# 10cg0Sg"<">F -:w0YJ!։7$h0X20p}!#)H )f31v F<((8NtEl ?? ğ880r!3;n6qQn! a t.̮Ȗc-[ +(//+   qqrrr12r10-q; ~)ë@7 *??~fӷ?}G}Gef޲ @7 C  _@g~B#$@00_AV?l Z03<~aglV)=uCnNyEAAb/ r ?!0P;0q:70-gb`l>uwm3 P|ƚުb)$ 9C(сr{ oM %!h_sr2`ROu0x @ '^~6JԹyۿPC-9[.B,(ʖ\,f4A WX2grN[@hwG|h2Dd``fdiC%[o?p9@gCbQ>|ɭu뤼 +Ђ@ǿ;1,=AVH8+3`Dъ2lf@+ a˰e/k>e )Ab)rhA,yd, ſ=xU9x}T(+s fд!pZZSwPbkpPAR8b,0CRGd> XT}j)?|@?4; F_ATa;^| 8e8xmChkF'R` @eY@>Z/`NQagXJ\Weo ˁʀE!óW.<τtyE8;|󏁛A`O>dx'5+!/p)Y„wcм{g>ȋwbuTyycagd:|Nb pu)&7֔eP(eģ&nKqå p!9ϖ%r?c򵁘 3p.$&P@l PD) |@Cš έIENDB`keepassx-0.4.3/share/keepassx/icons/key.png0000664000175000017500000000404510755333714017714 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@bb`@,0Tc)uc``/ ~~o(*B@CjB _:OFQŚ޿R s c_1F6  @;/F^? cʉi BL>q v_ 66N 1 g0YZo',A7 `d$>ȁ9w&u\JKp-$M0p1/{&a? ?&e޸c+ß9fٙΟ_DN !b4vϳ8m&\ȨoKm?3@1!K!&;j9s1;P7ߞ`=ȷ 3cag0,is,߿1iRw 9L# Y]%-p1302XV Lw?ە)d?@ @8 ( sEGAp3C}d9v4uJ13 ^Ka 0tt$n3h\R?ĔA;D/;NQ`?A v@!4C`P>0mL@Mn1g@& =]λFQ#T$s@;rF! Cai [+};S7&F@+ hwf? ox,^1B;0 gZT A30M%ۘlo;P x:8)Xg`m=毋nf~:=DA#aC4A̧01D;Lx~Zn\ Ȁ3 T/p w2L]yRO_`o+~Ԏ  29?0]ⅬƲ? ϱ>q_~{嵟 7UOm BqL.^o\? ,32= +OָwQhFn )t`b9rn`LUﭏ ?13fַм-j;?/?A 0cp!c{ 2#:&w/!`#] ~&`H//@pr1HqY~3;| ;PZtǾq'0@MLL 3pV}CbA uhRc5 C @w (M+IENDB`keepassx-0.4.3/share/keepassx/icons/text_left.png0000644000175000017500000000031012032623523021075 0ustar felixfelixPNG  IHDR(-S0PLTEOOOwwwOOOcccwwwوHntRNSDIDATxڕ DQ-U҄Tb]dz ep}VD"r2<'QNsV/vR/Bv!IENDB`keepassx-0.4.3/share/keepassx/icons/bookmark_del.png0000664000175000017500000000415710755333714021561 0ustar felixfelixPNG  IHDR szz pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb`1d3eRb@QxNi=;զ &"1> 6hf/;5 Br\ F7eHMaV<V ~10 afOYD;3/r 9R  CO!=\# 10cg0Sg"<">F -:w0YJ!։7$h0X20p}!#)H )f31v F<((8NtEl ?? ğ880r!3;n6qQn! a t.̮Ȗc-[ +(//+   qqrrr12r10-q; ~)ë@7 *??~fӷ?}G}Gef޲ @7 C  _@g~B#$@00_AV?l Z03<~aglV)=uCnNyEAAb/ r ?!0P;0q:70-gb`l>uwm3 P|ƚުb)$ 9C(сr{ oM %!h_sr2`ROu0x @ '^~6JԹyۿPC-9[.B,(ʖ\,f4A WX2grN[@hwG|h2Dd``fdiC%[o?p9@gCbSFC;OY]k7$| W2a4?0lA 22E׷azZa@q0ll?EK Ofɟ`|~ l<F-@%-([C9'30)9'¼ޕ"ma+BxGym- i 1/Py # LL _-QI _[Y?K1>=9n!n&67~y?å_x}{;{pX@410X B\UZY8J6d9Ђ_ >H-PֳO1,tڵ:}Q t?X@,fdf`0*g`c` h~~y19B ̿^7` 5r"TD:;` V3J|=1F.Z /vνb`8y7W>ݑ h0>3jE_``" 21h31N..q!NiQv ~VQ^n-fğ e?@O`ps V.  8SMBfr$Y>2p0HJp3 2G @/}c70e?Q ? vC>2I\f-@! vn \^A4MeAM{O1A h9oF L3|=93|/0faae3Çw3عAXYC f-@A!0E2ȹO8h㧏9c8Mf dofw _};FNvVX Of[ > ׯd0qznVPc8_S l t޽`L I^c?2\ x UM8 hO|[O1@3c aLzn@v)#E4etãXDYak00S# N~abf`d`:`QQc ޼_ A Ձ>{Zck70b~Z1\={a ll(9 jF Z ?ePPTd|$@\OX~3  A`f0|,9Td*'}bb`d`a' àd` #'piA>.%E1_?@AsRF LDLċu' XW $/0]haLQR30q+2}uAj40co`T0A+1ʽa87.OYqNpQW W] fuY`j߲-4f`X?>20J2. zy"о ƚf~bM  3;3\=uPOASQD@`,?R7K3?' j`rՎ@>k1Y g@+ןN1/å; Gu0G='xd7@pS>+3S~X(.S`ĵoaVT3`o 0|AX":2lϰ 3ne0¬+ @`jc^uzE.=As-ӯUOϑ0H; xbxǠAVPQ^ 7[ @s+3Zefxʕwc{K`gObxa/_ 970v@HI`.i -G-gh16:T/3ї |VD/c`g`%߁NԝAKG>`;\ ]LLc M0]E>_KӟEF ?MV~220syQ` >q: h9dv ҽ ˟]\QR|9z Wv C<'01| v`{U/ÿ ?e~3pVn:o23gz!XX30rﺹ|dg5_S`cj~}ۋ'P-f&g_KY~|JiO{/|ۍ@4 @A@e+&n2*toHP[l -|vE] +2@^ OX4W^nF ?61o \JG?1E8U-,ԛSҟי_cu3=35- @`=Qw-g@J?~qI^dLe -]ֿ/SNϔXp6fX`70Êt`񳠄kJ`矿@ ,3iFTyϴ?V/֔bRɦkIl(8v`yns3ݡ3iው'n>~WWsPe>qyb@=0<Ȳ .uIENDB`keepassx-0.4.3/share/keepassx/icons/text_right.png0000644000175000017500000000031112032623516021263 0ustar felixfelixPNG  IHDR(-S0PLTEOOOwwwOOOcccwwwوHntRNSEIDATxڕ1 D$@ x*3ZX_nf/IHjWVi;2PTdX({>H/PTIENDB`keepassx-0.4.3/share/keepassx/icons/restore.png0000664000175000017500000000266610641317265020613 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME%uCIDATXý{lTEƿwǶ oyHD %!44Q1DIW 1Q"0-A" 4ʣ-ȶ}ܻwM --I&7{nfhљBv Zd:B(m d<dYw/80h J*.*%;@"a˕on{ƽlV8Na xACKvCYyPCz|Q|nR!{ ٙ]hXjc9oaΤ3d#@D &=yGmyx5-(R4K*db ^ { 1 1< &E9~DMP!ricY%-hmDovmt11CKŹOB9&5t | sF,7=' -:b1pgpP A?Y'^&tZ1M! 1$ZA}+vt9EXEX?ta6>5 է@ c44%n3cꯡb])zVk@X9uע16%TPRA ٺ#s<炌A 7q4_"B=:1&C`R[١v%3O ?13g~@ ^yyk. Le>9r94gba.UD2ʑib`l>)h*2|8߹Cq}Y},ԪNWD@1} Llȥb_N\{Nd im3dAEB 9NfjU=y3887bH<)j(Q!9Pa ᓣ D`.h?ddm }NL8 з[LMMG`nH\De (vN6z0ux1 R?ѥLxO\Dy\va:yf*P9?YZ`⭝IENDB`keepassx-0.4.3/share/keepassx/icons/copyusername.png0000664000175000017500000000541510602556426021636 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?28U‹g`d`/?3[. Ǐo?~xʹ=ͥ7 Ќ0{X?sO}:3'ßo >0 l|ԵV+ r@F?0pOV nJB,g j&oqO=Є_@, YXT#:r̢e``fhea&H0:?#uCmy$ & XPJb~z v~d3va (gg0Ap;q2󋆋I0 v?CoPB;?`B/+*kX.\ 13 /8' t` qԿPϯ_ \" V:@cq9 0pB" ` 30?`dd=? ]  @$;3cs@a8od0qgfbA_tr(*`bo`V6`Fnj-1 g_- s&B4P/oo}7( .| grg?+f;?v31$':`NZ ?}b=0a8w+ʷ"@a$B.vF8`d8z7Oo7# @o0 g?cx#>_W} ߿gX{ _ (;^2|ۻ ݼ@cr@aD?h ߟ0LWdkL '0~zp'v30<;4+.F]`P M Ba~“XxE13˿??3S  N`s~<ٻW]@- I@_qr&pyF -e|kw l¼~*(g Wfg8|绾owV.b `Ђɻ؟c//?02|/ lSpDd1C |{Df8pe"5 48B|-U5c ( KVbi3Luw?nd'Y9_cg[\c^j?~w=uEX^1ueUXs3H0 uYf) r 2DjdQZᝢ8O_  u&`ˠ)?2DjiDWL߿͵YB.ΠX9?Q#,L_^>e-Dx?}f``Pgd,L? ϟ L R\ gn|e0:59X!@!_g5VG~3pp×#аwC^}On.}>>}Aϯ?3/B|:bx,O>]o`%,f@a-y 6 0ـf:AO >gx+@VPO?e` =Yyޗ;<@aeZQ Y `Uoo2}`#wf!0>p.i l >f`>'0F` 033]X9^bz< o1age) -|W )37`4qs#G@a8/`| q f5 ޼ePVH߁;w>rs2c`\߁ug5'ygB 0͏oq3k8E(5ã~}7 [(L8C?FJO >BĜR, 4As>?p_`%/RnŃr#zww@m0#~1qA+P3(O H_ W0b+ΰ1E*| D-,'Жnz}7ּ@+隞6` 4@i%A'l*j/AZn!?h؆ Sۿ1<؜~͒fP 0{,br-QQjLb ̌0z`7$RA#ox|?í#~8]y@%k@ ` a Q`b`ega;!nB:D 1 0T>>_? *;/cXaf`2d`Qe`vyXX9 >5P6>0aď!I=`{uIENDB`keepassx-0.4.3/share/keepassx/icons/help_about.png0000664000175000017500000000272311217176700021241 0ustar felixfelixPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<PIDATxŗ_U?sf{]][5ET,jTfH_֊z!zAY% %!!LEBP衤V(T1 kg=9x9s眙k- {t~^dÈBXu|IbR[ ߬Ǫ ,sưc~kK\^$0NK@$n#mWomlCԪϚeX0YY0,*\e^ŁS,TATOru=}+PjUSV^x!>TTJ!=}ݠ* ?iƁf7gҜ@$n|;+i#O l"6?\a\blbIA*bnv\I䳞\nՀM>LĂP(HÜM'5N.bT \UPqՂzJBU0P!krVcKY0.[-ך6 ŪzJpI,@{0\q4#Ǭli 1l%ٳ$fV$ f$8!w !w,F|x=L-J:!z^H1B5"P/4P~/u\[)u:$vBQkQa隇 <uXV#3`.:*v\/SW`rNڮ=@ {ڂt*2Z9edd?~l[`)`-CmC`mb1ۺ{iC٣ MuOsa 4RЏUo^^Rõ[yaZwƲGiXًHk%4Ua3Ԑ.|wԎ%(bAĬg vWzY:ap" M`xjF!:Am~;*X3cRnnuFfv * ,m@.d6#gF̞pOׯ(%JG( +DqM$DpL E5F L@*r_UIENDB`keepassx-0.4.3/share/keepassx/icons/go-previous.png0000664000175000017500000000300011217176700021363 0ustar felixfelixPNG  IHDR szz pHYs^tIME '!PbKGDIDATxW[lTUGg-ڤ@U ah$$0hDJ?|T!M@ҨA*mNtfa(vxmv眵k;G[|70lВ2{T8Qɳ w9(J T,ߞwZMO}G!T,{\g7/'ELѧ@xE;㶹1/[m{fZqi.9`i4}"\Q95S-_RGR4#.)I q1=Vw64޼hzimR`'.SZqKi(f}SOXBI\ޢ7&l oJjUg-#IS]~m\Lv4!7Yxvrg<GL#oAA]'jؚLe<bqTU%Ƅ!xNa.s]r]wm]| |,.Л*"jMF 1a "2YAޱa C]MTu֖ESI*M.J0.w1|{l fE kCu!1C)бO p ~B 3̕D@  jvMq1j)XHc@eg9 /x3]{"0TATs2W\ D@ت eN"`8wHP!/_ u%2t|E?8B)k!gΝjfOy iJQi:I0 j44|:m+epAFQP.R ,ib!J9p//l vYra8JqSڥ,% 8`qd ]zΖC DH;2{ZԞ{_i|{^n @e1yd:PQ.0De[h5JfweYI)A߳y8ʁ3cOf1&j@D<%r@{ ѫ%]*+/ǩ\)N8pOFG"]5sunR?ZɌ'`1 Sn1:Ѽ'~MtyO :=o{{uCͳj$k L'+nhO_=]sxݬ-,w2J:`tkadtI>g۷clz; RIENDB`keepassx-0.4.3/share/keepassx/icons/go-next.png0000664000175000017500000000270111217176700020474 0ustar felixfelixPNG  IHDR szz pHYs^tIME (SpbKGDNIDATxW[lTU]>fL[F&Tc!%H D( j@HI%BˣB}@[yi-ahX5LrkLwq;8~q]Coe$ "Rm5=g'yOAXaK$ǎog7 ^ $QlfO;> F 4\E1sCXd)DOxn9.JuÆa3#W)+cV%<u}!0Q6{򴂸qb[ܮ7gIOM_GM-lb,;eQݓ[Qr|Hձs%j.&8!Ck՟}+DP|/J]Uvi 귗TVwW#t QEGXB\J-"2gs?vx+me1䑗e vX ˲` ӄa4X>SSEj/dp!=[\}aM.*)' @Ȉ S&{({3~37\cGx|JjN"89q $2Y\P (&Qd`Lл% r]=E@gh΋*'C]رG fhDa , Zڐdaw͆V38} L% 1ȌTpL KxGcP<DiZ&,SAr,𸉜ǐ_b1ALڐ,n߶'YмaM L5pAAPI& ]z#UomؖO5{A"K$Af 6hf/;5 Br\ F7eHMaV<V ~10 afOYD;3/r 9R  CO!=\# 10cg0Sg"<">F -:w0YJ!։7$h0X20p}!#)H )f31v F<((8NtEl ?? ğ880r!3;n6qQn! a t.̮Ȗc-[ +(//+   qqrrr12r10-q; ~)ë@7 *??~fӷ?}G}Gef޲ @7 C  _@g~B#$@00_AV?l Z03<~aglV)=uCnNyEAAb/ r ?!0P;0q:70-gb`l>uwm3 P|ƚުb)$ 9C(сr{ oM %!h_sr2`ROu0x @HM :}Rq@| nC␟oZ| sTAQT?H 21221~3~xCEIT/ wm;OX2z}d@) l?EK Ofɟ`?Η* 2 ~18+32000s031`f5;/ܨI'@(){r1H @ Ê``bax=0$| C[(C[(#PW,~g Bh1?ffR[ްa ,, 2xݹX^{͐;3Y3hi2e@x ʠȤC,;A]`8r8#312psq330᯿N8 oc5^)3Y7,A3(K2_A%PfbbLrC Tec(? 5_ AE[F?¤*ʠ/ ρO`NY %&13] @knl_ 000lqUۋ)=xӧΣ>|1D # 0}.308>~p%2| zJ _ AgFcf>螃hl#Y}\lp<=r ێdvr;ջud@t<3tefXyųzD0M-?R􅝗n_c̠̹##/w YAwµyO0gpU= |0ŧ 2}# ^.vV$ bbՈ'|ތl@Bs8-K~$\m #YRPۃ׏o  ˧e\е#DDboޢ``Җ֓gXf ff1za?fB! \eBGj0*hhL6b}IENDB`keepassx-0.4.3/share/keepassx/icons/help.png0000664000175000017500000000515710602556426020057 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@,0,L_3XX YtYYD3㯟?oP3! ~b?_ib!DPDLVB@S^^AT(/÷_![;nx¿/_301- FXJ37E^K9טAOU( ~?F? gԏdb? nLJY ,˱9 Gr6MQ.Ҿ2 ~ D癋O=~ ' `C ￳2((I30e%Ps,9 +bL@$g`dY.k+ C,߱w8%uE!֏3=a R ܜ b;7Kg> dj6Yo.rP14ʂ?S 8ve YaF.Ë>}4o ?=f`fPrbbf L4\ Ąbfb !>:`F/8[pyHJpk3OVиXLM^!7@΃D7?0xKZATGO~ &$ӘQ lp* LF`bb`Vd/ÇODV_/×ozad-O_x599Y @#"(+/ LX?_2ˊ1L\a' =+n2A83O/ą94H|+# t'ZB8_GE9G>b1~< |" 3v}b8|r?jRL@~, 5 ?}`,P#ZB8IOZA }exW`fcSbPZ1\A^AJXncx7ý?BH(Ǐ ,< Lll0kVVeN.`!_ Swax/8a͏G;2|L Y_`1HĂw_ \p0333w,L o~eyÚCoj#0ȁ?̀TF2  /8s 102:/v/.} *dؙ5(T//z7LZT_vc?ZB*~gā??`0𰂣@RAR-AGïϞxZB8s RMQ\&vagcX]PPϰBl?>P wKo }  P~,{ܾ |dPbБaaxw_ف?KXl}-`ca@j r8#cC'~|A[Y!dy? < `x 8m@0Y1|;s LcB ?;ppotwb_n$?CO`1v_COع1I?^dX_# .iY*;Z 2}ū ߀f043m` ,,, `[Dt@v@b5V ]YY89䁎;0`A;BJE&7q{4cwIENDB`keepassx-0.4.3/share/keepassx/icons/editentry.png0000664000175000017500000000473510602556426021137 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< oIDATxb?@b@LP>&>~6F1 9@,ĠǢK2ӟ lW|m &;% \|52  \.AݭL Ă[ f# @z@ld[R՗0آl @!@,Ģ@NPG)@q r+j07#S' 32p3۱A%8j,@@%-143IILkvPVg`8 ?Nd`83;2? PbV A&:pw{ `2,10_$9弡`+$Lbk``H/kx͵Ȟ oġ>ZȴޙUBa;g^@5@a9BP1-2Q`\*_H*bP aQ F!| B  jk>_;lj Yr8@"^_3`Z`a2WГ.@(#eB Er@ˁEE2i 01߿ea?g‎X^1T83<{p)0M} w i(($6?^ ;0|;X10p}( kh!4Üd>0}Cpnvˏ {ZnS=`:5}ïʼφ@+U+x+ٕW?_ȘAГ«q!s{N&$+Y* ug~nt^r@!7D$ a_#?fؤc~3s]h)%xTxU0f*ΙPaco vuN|e'@5RWg +&}XtzI83 [OA<4:s1r*1_m`6;+F݄ *1^|IEiS4ß ~0p=dZN1Kn> Cr`O`bqnߧwU|jCbɓ *} s.S@jzb0+280p~pO%%,bO/mZ",/S'`32{ _^a mQ&k w1x|,٠> 30K5_ r_ HXÏ}n3~÷fϺd͂ 7xJZ"R= 1Q 2쯜Ǭ(c ̔C$8JAL:B}7 lda<꾿~=vZ5lP@#Z fXA"| C}G;t@1j߄7PAj"Z} Hm@C| v2յ WCQ{92{w/^~sh`. &zaHE 硹Yv@M'`\4[+PwN 8Y{B xĿ m1@iB jN]gؿ!Xm G lUE!`(D40f*0;خ~b9@N (?IENDB`keepassx-0.4.3/share/keepassx/icons/manual.png0000664000175000017500000000423510602556426020400 0ustar felixfelixPNG  IHDR szzsBIT|dtEXtSoftwarewww.inkscape.org</IDAT(ŗ{lTU33wL-}LA -( RWW]en@&[w1fu׸,VʫBpYK("MCJXBgʝww>#]K?X`<`Xn\RBP4mvb3ba$>'MR^N a$ݔa֚KH=oI9-H;@C<#YeHI;/4{qr6gk~PS͹p8JS{K|;|D噙ed"N699 3cg|>ptv "eK1(qQ ^^L020s',:gg~ Z%Qvt/X5k}5Z;8[#2]J9q Ñ]b zDC( `L\WOXRnunU^QAΖ-,_,;*A΂#6sKلAN]%G56ű=1.}w[=L2'ۍn;% i BRFh rE'HEhV0T0T,6V_JwpNt>:WV¦Q\&N!LeiQTlρ>cu\+ndu\ eFhQ0XTzS]ᨤm_YvWK-*=PXr O5"J  ؝+9aT "F8NpTߡ_RS{(X =BJ:~C~;G% [ُk~kus9Vg1Fy?d!\)Y8IZu< Gn[GwRR@`50FEx=b(U g28{OB'|tǕIV~5wD6'=N<˩))k%j1,#sʗf0;BS&w֒#dIEl,xVuu]4cuΓ؆jTQM* D!-<-!eZ7[Tn&bɺٛmR]nɻ2 jC538iYyP,B|<HHsk¢ПQT/KjΌjR1_R9^ņ9PMR=|\ O52O__p\J9W`FDA^^5fc6urݨʴfȯХ6|n?GG2>^gh`W7u0B˻zqUZudy9 ?ɶl߿aH;C  {ʘYZ^M IOfpp`'0r:Vѥ A`컠?l)IENDB`keepassx-0.4.3/share/keepassx/icons/keepassx.png0000664000175000017500000000517510646450144020750 0ustar felixfelixPNG  IHDR szzsBIT|dtEXtSoftwarewww.inkscape.org< IDATXypTUNlfQd KDE(DGTPDžHbQQhGdԉK! $ ƅBI $TzUs=*ϚR* S'{o"Rծ%t97過}zѫ/ixKcOw28NtMGujTr7x1>1_mw&_ґ9{UJl4ŒÇNV&"hQd-%% ȥ/MxaKJPJ6٩+{f`3;FpE"x# l!6Nӧg?B)u4ifSˆ-|6O>r1]Tr'f\=__&o@f]Fvp4K' <U \>x|.lauaםTl:cO&ⴎg=~?7]Sp"_>N8Iy/t  zCΨ!h1Xw?^UyNPkwh7@s*_\"K=%tFqf,0wՍ3cs^yZ澗g`SfǢXtlXaQHC-è 4#}w@9 KּL~2CQT<]װ ֠ k Ey&La`ٰFw!&pwP)5r,[n5u?LX4r !06Et Cȝ7fpD]Fr%XvδS)ϗ 4HiX)rҥI9kZÈ!#cG(WhXt ݢ5R4wq~? raF0&gY|1e?.QXtpX=t? TΤ$tc(9E?Pp8%"vTZlBlᚵk:u]B!&NbOCmXL&7s]:uS!kX>^ɹ8 @8 >*8&".(´q1yo31a_f-(tZ Lk.2]2`#ѭs*'~ެ{سm`08[m#ꕐPU1FBD` lG5È$2N"NkD3.&KwVB֤qha/W.6|u&c1jrd2t}tydd]%ȱ#2x_Y%#:k*z 0vRGl|lAڼ{i r a !T6YM;bQJoOP iYfW >>:ќs^r6\N afXX,̞1 ֋./DVS린~^y-˗ J1DbgEDdҧ%)+YS$9;E=1Hv) DD䱜I[>씾;KYdǒbٰehV\n 4Mcמ]le1ĹHszj )CׅMnOf{vļ $6{o\Z. 襔_r O|("1ȂGsѭ¸̇lsTZe2!4?υ5i&zmCe~p8i]A(\N[D|?]JʅVXt. P1Wrm&f H)x4ͬD=-<5=u`BώOv >ehvbN'Ex{H@E,JDODPJ%qH"azYrBeZpIENDB`keepassx-0.4.3/share/keepassx/icons/pwd_hide.png0000664000175000017500000000136210755333714020706 0ustar felixfelixPNG  IHDRabKGD pHYs  tIME+7{IDAT8˭;K#aL2ސ-4,,،+a  X+b@tGaV+$Md&B/fl/;=/D È{4Bß@CO ț@5`1x=@fffjv È߀{RP 4Gy^u}(P(Yv\w 2MuO\V# uuuٖemUuX,:E.//}R80ېu]j/,˛,..dx||drri$ EQF mۮdTUe``+l~4\I|ZT $ XSvwwPh4v'%:?j5p]l6hF& *x-F_ٜ7Mӕi  !D" $iV I`?5;;[i /lV(ehVȠȦΐ?aڙ_XWC H ~28;h;0rq0fx+4R7o>0M bxBbo%lgLۙ=8D={?'a墳8Ӏ[Ăt-?hDXdG' /_?;͗A!q2+Haف ^zG0hcpYZgB8Q ngPp !bhN~672LX??P)p\B)X1)Z1gf?S37$1IgNf_X2tX&pZcBni (`X2?h|h`w濠 g$@ [Hnk33 XZOڅ ZXB c&BΆ ! ?#8y !x2483݂)D"bZ8'#?`ixzz/< `\ ?ױ1s3232.`tČV0ο~4ctexXcfbbf{U=d|[*^bcORc}K#g0LzY3 YCjBF;)K<|ce4_ j1p|] tMc`\3)K K3X3|3p, oFQ-pɅ@˟0~)C|-Cyl(3+gMm%)eSYq1/'1lyAMG0a .]ιf@`dX.97m '1H3&1B2C9 翞`ba(PlebZ/13`:Q$@D~}lhsn?30 ?6`UCX$ e`0a(Sif/QSyS <.@ XPgygO>11KX6?1pB"@u '#X-wB:cN9s/3B@,L˗-nvk3D T~W _xۏ3 lT#B@8V@]FqJB/&Ͽfl_<1"H6dBʆ?&b40]A+1@x1py||Ϸ#2&!3s6޻ 5@b-hDcТ]YzmAaL/( @`frxY\M,Vv) 욁lb7s%0ޤ y}TIENDB`keepassx-0.4.3/share/keepassx/icons/newgroup.png0000664000175000017500000000377410602556426021000 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME$6}IDATX[]Uk_>gefΙiδ3 6m"1 B44H4c yB>j0+1<L(-ʭrNi3휞9^>=PĄ/kwY'\fp\t[غS9`ҾDoշK~UP@6^!2NvCN ˜,de2Ss_> Ʒ?ă7l 9R.C3Q6oDA"U h.Gqx`qbtptێlyj$72>-l YB8K!Xib5,r;l5218>FJ*C1g؀@A7H '-ⶉF)b's0%0aJ_id`|?/AT Q RA LLVB(o*}':/ٞ'2@a`CK& K J'H$&"IwcS$[1x%ZyXnw%~k 1 8YL}n8%cP*a@*tC (uF@LQ[(eNmi  RQ`yAKQT?!cѩ/U}ɏJC5 O8B0QaJE˾ܞmm3Ù|vLi{~LgqsկzAL.6ޤC:Mؗ[m%|>g/1dX}:X쭞[^jj2T Qz cR'^ /ǩq 24 fƱkۯiVkz/`RdѮg;_Bo.n BL﹍p/K`^a#A V X5kZv1hHi82~ 1 rK_qU*0&x!`N!쮓- ѫ/W>,Xfq3F/2Hp6~z> `ҢO*=S#4>H 6\s.h|Kjq1 w|. skYl FH6U4&R̿`[D/@`\8R'cZg$>mYO*]j4hSHk@RElJ}\}^kGٷwH_}]`P1s+kȴ;Cؘ:͵<{$GVK Ėx4 [ 9=ʡʓ5Ϝ:UZZ_]+1h3KIf䅕Sjxp3 G C@kvOY[p .i37{ ?5@9T]wO|D2YXl7qeH1KόyNNsNǞҫCØYqM1 ע7xHN, Oj4{:_ulަẄ"\ *JSnnO;vp4et_/m|*^V6S2:kU='UnS8E peD? {tI'X}iu|{Gw\/l-uRK-Vn4F Ud`kX{C3pvTw~5O7ݼtdHrE:Ϲ ?H6Pn U`h.m$Gys`67wWͥ+(%v<~;A/PGR[Χ@ sByr6_V]~Ƶ_=s*2RhVWܹc4HO?zՆN1cj㉯}+rYNS?HSt< F013%rk sj1Hs2p302 og8~O\V@7 F! 1\<.J1^ Jr| @?1||/ g9;3Pg_VzȰӧlg` ?B ;^c=XmM1ܽ?X޽}OIi/?3aeg !ɠpgK1:b-3S.߿ρ8 0,ʨ`u(m-.7;?޽;>|xgo_0ܻO 1:k0J0|aƂ˗22-bf 5=< ? p e8s3ݽx?ca fvN{1|AGWh?NvE%1o0+<  f~H6+BW_92͒ٯ s1>,IA@D1fe8k  t0'?Û *< g=b `m!p=/j @LlgCN2I\\@CY2#$;@j@r``L 9FE#3*ןY  7ـJ5ra8v7!+`p2ya} /^`de`  KPX K.c J Crr0 39o˴2K}{>t?ׯ?}cO>wLIAw=""1PmSRrc! ZtH!Lc.( B@53e52b; +]]֖Pf`][70̻y i$۷ Vڬ `Y z57`@('QFΤI B߾1HJ2d`ag`:[27Imw3*r2 "csRd#x0ʋL`G n`6 ,)S޿g`P@WNA32 >mSf2,bDֆqo}m.-/C*u .'*Ӂ߻-+`GZؘԩ b?20B2 gx96lQKoXf'1Hq1` n?}abÿ`. pI5P[XW|lCρe ҐëN{Kp"@(HVd/#GqQno0h(r2lZYאYOh.Ayrólcqq`pq0-pI0|pl~UY'@13d2CҗWt?`ְtaMgLϜ8!Тvƒ;2f A$Ń0 `[]@3e?lܨm_bf΂W*<|bs .,~ـu8w6X-Z ʱ``0ypEE '''}+ f4:+ny0 ËP-w`}lq3|zq,3GG&Pʀ?90GE3v1ۿAgF.>#! !UEE{/_%w@E_ou!mea׵.^pQwD54 s`輹wᮧ'Д ^(2t_1eྻ?a `tpˌO2AC}?]ATAZAVGc8E$Uʖ Wg1Ͱbȷ|>T'#F&$gϾ=un@[g "`6Xd~133򋳪p0h2K11pS͐0O g1[͊) ,\7#F1~b%"N[Gwݻ 8@v3f`T`YWxٙӋ"w<(G<t- $ׯm(`TfIENDB`keepassx-0.4.3/share/keepassx/icons/keepassx_locked.png0000664000175000017500000000476510646450144022275 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME,B3( IDATXõ{L?\Q8x˼BմmJl-n+t[V2CSֻV[lAm&K׭ئiRׂ0@E9pnr8?3pu$O->  h -vwlٲEiǎ۶m^7_K ,0+++BX%ĩSDgg>L I{lzh@!رcx^yZZZeM4rϊ+cӦM| ={xeEQ[=_|[*++'Nh$I!F}i3f`֭466b GE}TXX?΢EXt)/" FMXRRU(++c``͆(l6,"iaia劊Bl}}}>}gϢi/%%%i kxÆ TWW1jBdY6:oMNNtΝ#n:&M,$ àr>̮]0 _|KNNfa̟7oB]]ݨjF4eʕ([NFȲ̥KHII!;;@ ( . K(W_4MvIIIx[ ~0H$Lxrr2Nߏ륻s<eTU%K0k,"\~{bY;wd,<DQn&Ǐϟ?mܸQsw% 0 p+p8zj hhh  bۉFSPP%KR~l2~?xݎnt:x<'˕X,s=`̙̙3'Orʕ `0^r%~ , ill$??k֬W_ՅeY MM:uz˲ʈQUUzܸqRNNyyy|:G4 UU4EK(,|h..4PYy˗ܸqnٳ-~ V0"Ν{r̙̟?|jjj0 d1M3Qzv)S|y..گÏ}*L^obY*>,KOnnnm۶^B/L @$,Be$Ibԩ8^&LH%rj+O?sf0 O?=KGG''3s .ع.?`;ni۝v]u4JJJpPU7oȉ'غu+ "^ !N20U9rQTTi+4]UUnݺE<QUk׮qMe5 !Fi.Mu楦V9rdlQQe{nF?=tfPUǃn0=Cq-0}0Q ɰMOO.++K]z5Bihh@e,"''$N'~1= < t]6lVe4w&l4t<3kjRrr:fO=_3f̘G=3_"p'|`Jɵ<weM6!WUVV߷o/_FQ 5ؼy3٬_ovR2naOu E +ϲ'?pDKeffcϞ=Xw`jƼ'4>}z"toNV`Mw-1^Xbe 6T:PO(=Adaa x9v(>Z]xI~U Dx) 宅_*DzJ  \Dž7ޤ+TUܣX,{ N'Q?iգ$Ճ W `%x RT:p]X+0 uFT*U "w 㼡xVP0,K:ǭ@ʠut:fhF(zKOH8Lq%`zEEM+Iz}HO0zB!#jnt`mH~KO)WM\V\8&I|>?'4>נX*[xHIOw NXA `y yJk8p4A&=&1ܽ94[As+2T sb9WMaF 4]iqVVX+ _8o;? ; ܸqB@>gmx_b4!Ljuc&'1UUI RVm!:,# x*y\RgU>8099y͛Z1%kuχCӴCo 1^cp#t_.i4x[njZۓ&9m~Y_}),wBi< 6=w;@z,FwEbׂƻѬҗIti~}!?CJw8#{V5viuw3?~9+'l4ixݜ$II~?4O~#G'ͧ>kR!&Ν 6hf/;5 Br\ F7eHMaV<V ~10 afOYD;3/r 9R  CO!=\# 10cg0Sg"<">F -:w0YJ!։7$h0X20p}!#)H )f31v F<((8NtEl ?? ğ880r!3;n6qQn! a t.̮Ȗc-[ +(//+   qqrrr12r10-q; ~)ë@7 *??~fӷ?}G}Gef޲ @7 C  _@g~B#$@00_AV?l Z03<~aglV)=uCnNyEAAb/ r ?!0P;0q:70-gb`l>uwm3 P|ƚުb)$ 9C(сr{ oM %!h_sr2`ROu0x @ '^~6JԹyۿPC-9[.B,(ʖ\0c ?bO݇WeMTp1r.:/u!m]imEVs>``x [(?!Y r(ȁ}6W1'0X38M;YwE{2< l 7Ͼ2\^s/ $xqħ | ->AKD&A&`N1ndp+_ކ{~ͫ ~}`!,bQ>|ɭu뤼 +Ђ +$]fax:w+A/`e쵋 \@7ca eزܗ 2c l94CG_1o`(Ë; obrh3@SJ1|E 9B݌( ``aؼΫ_~ð:VITd> ó*凁3 ٿ|`#LA pfC>M= %/ 1g?2Z 辝W_ጮ0yp '`~e wo|fcfA=3L,%xؘ)aV^p=?75V?6ó' Ξbef`ec`2)lN+s32{_ü;3(|_C 1ɋ]ؼAP w._v Et4;+0٫roc"6{s8/?bُ>1Ȋ&P`.feGCPG0w$7㔯@.$&P@l\p|W$:÷ˆA@zf`3 hR5 ktF%vs:IENDB`keepassx-0.4.3/share/keepassx/icons/dice.png0000664000175000017500000000470010602556426020024 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< RIDATxb?@bA2XXX~A|es͚'^,y XHu1@ tP1$ҥK?}$ѣ}'<"L@e؞/^YYΎʊd߿>̐}5k8>|Xd&d0@ "/Y6 ׯ`Xz5 Y+V`FI0$s@a8z@Ctuu5eg޾}ːp CXXĉ= lll ٠4 tݻwK?r@80lSSS[3336KKKQQQph@e(((`8uA6`qX9&.Xn߾]m2Ya D (.$dYO;I)q$ Dpg ]#fZ;VJ)vkι[bBf%6Pb" `0p//ww_gg7,ʾ xuu)@G@e޽c8<0k9s tX r@aHHHavZ0< @,h 9ҥK p߀h&& -ax-03pC Y-2w`FBwĉn޼YE i9իW )Q!0JJJzz@z8de`fQ.nvv N Ԫ гOX S#ANNl00Q12\|;w2,X0)t@deW ?~` %@  XR& A! pA#&& $$zŬ, $h_o`:'z~0fPH -Grx 4˗ gvc++#0D2 hWP:e/ô)ˀ "C}s "?!,AqĄaRPNA!*}W@˿ղr0ZaU d+#3`Ȏ0s= ~( `Ћ?X X0?VB?! $TeFf$*7(!@43HH>p/3˂co0TW2r0,\Ll,!&ޛזAFVg&k| r"0W`>8{_Eg^1-7ñd` ?#dbBK!AA +? *~0'aޜe R@ %(@u=d2yHI# &XD6l<°kpvܵw) x x]v}~X +% vȧ$D,<?PȐY pFAB [nm@tXKL/U9SIY_|gXz7ãGO $" 2PmC 0ZD^vz X؀, J0Q`g/((xQL\8EGyt+Z<㠜 ρ;}C" %""?O<̢ ^@o9 HrTb ~ 2^}9^/!eIENDB`keepassx-0.4.3/share/keepassx/icons/filesave.png0000664000175000017500000000331510602556426020717 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<_IDATxb?@bb`@,F. V&61 FҌHH `@O@( p3  0] q,(7} M0m@W2/4m0ab"э%@!rg (GHRX]H%BFF4G0BB$il N(, 4,R3, 2A$8B,J`$6# r0¾~/`U z?Xf|ؿ *X-(ThBu#"{p8RpGL Q Ugf L8L,C 0 BP= LiK߈B -A(zYjA ^NHšA&3P 3ȈQ!W* _01/ iLKN`A r=? ?t|’^&nn&xH@aBK@ׯ? ~bxcNo8w9 \ o%BM0@?!;0@$, *`fdx Mb!'?!U?ϟLXr +0 }c4T-*l!@ p37=O j޾gyt`>` @%"#L, 0w ʿbb NfƿL ٘~  (3# Bxr>:II-g , # hoV@%?! Zå+O F#c-sY=`?8?r`/ ?3&` m±20?/݉ o@7w@  ~ eIENDB`keepassx-0.4.3/share/keepassx/icons/up.png0000664000175000017500000000347110661133404017540 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@bb`@p 2g"vUC?  ; b ng``d_c`bd`yJ3hFȃd' |vl6;; úu7sWhRR O3 ZRSNNU''yҲ |)MD|7q|u`op  V2qu1SID~ucV7]PB`CQf, +/g;ü^ |l- ?$1024 P # nǙqa&Na@ۗ >^ g2qr21@FfgbfFn?f)V}~?/#l3,9a_ ~aPg(*3gkP4>X˯vc)N{&`V?L e o#ʰ__1T1x*3|5  @a7_#{t71QN7_0L='#+?,?@ ! ?̽o \,&3(j1|]9$@%;,M%~03 h_`O-o<ʠ(0y=7k0=Xc Bu(b%_c2_=Oq?` _~ ][_1<Qb'KDA6Tf6f)eJ p|'FK? E21a #( Q_LY͇ 7~cx Cf!5#r{Qf6߻ Q`: dW p(|/X1I~f`Zh@=1 r0\w? 'NFƼ?! r(yYW|JB sj6fDʻy @/l0f6P(pg` DR7f9X ,ɠ(!'$J721 pM#@_9 lfF0 M eT z@%0W0t(فs3!R3C_ ?|зoX%&$=  A>fF+- e((Ahq3010N[v`fEHˈs $؁ yQal ey ;a@L7lL {Jaeb#W30 | rPc`W~-gfEo @(d9D6-,gnS @7Ѐ; gK2IENDB`keepassx-0.4.3/share/keepassx/icons/trashcan.png0000664000175000017500000000543410641317265020727 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@,320a``6`dg̠,.W?[ לa0p{'w1,Eub4?Se t$YXXXXcd?P@o 믿 bx`?sÛsqY@iX UE̤y9^pW1|ӗ ~b` ,@M, | RR < oc8uۗ2\4o!@,X‡uBb(Ù{?6{7??}" X^|#!~0~^n-=Mk3K"m3\:)Y |e#Ї` 1 ^|b|) |`w/^1yލ{ n ?3o:{.%?a$9E6Yc >~!SF JR y\ ^&ư"?0  xT-mi~~p%К[0|\,b ?b󟉁+ly9)F&Iq`&?>~N`t7cTLP??1|X830 ; 0Q?W e`gccb;׀%EEnnn6ÇdETU$Ņð;M]#w_3Np-N.bf`fΚ?b`ddfEO|nneG2 3Ў?}0eseHNqQHq@ELGMAA+,;` /0bx ^1|@*ca(vhSxe UZcp)kɋ ? Brf Qk>ZA UL`=w_I,$l5`7R3K lءDX23C_]fg?0[}׿UY2Xfx7_pykI@kF e L1 ? `L??3A C_'0ș'8fH΀.`)9~ ' ?>`xf.n]e~G_37OX~t0ȁy& ((ˇo <=y'ءL򝍁d@iWacq@1aA njH  Fo߿QAA5@VTa3 `+[] B$?H L|c`A?Ï_h6ƿ ?U2bbbf l/^'ʿXB ƿ~  .e`x~|ʱr10q2|Z` p6Nv`1ps/@1aK P6|;\<'?0?` Dgϛ0S?r+7Ý7L w}a8qX89y@ r2|֪\3 nϛa!>cl +@03;_.?L O?g ,o`? 0W|fxԿ秝axȏfM NBfiRvR _32L i Xi: ,Aw1|5G~>4w'@ p9ǒA$_EAR]TLxk` !e>}?zoA}@.' @s [ "& r RL̬0+a?]0| >k"d;00B17 %HU2/@/N$; pE(#IENDB`keepassx-0.4.3/share/keepassx/icons/deleteentry.png0000664000175000017500000000471210602556426021447 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME&9} WIDATXŗy?}1;{ !9D@K*J&FT<ʨcb4]Z}0@a,.ٓefwfعgcz !UOO{$! t%"lַ4o_׷osTwztǏ$UIkWMk]\[Xxd矯@`Nx eQj49 AҥXIEuee7-Y+J4Ql6wP^y@ YT,-,B VwtLWUIξ>oQ&sḼUc=FGgڵkl@0 Ke}֊idZU5{BI9ST3x'N]V3%ޞy^M$G@BP+(Nl)7{dg}WiM$YILߎq+߶6X\-~9eHPm @XӺ/~yiwO/,ڢux6Ji 즠')BU{Ft9t;59mö{Z6k2| @ItzIC(T8  eT]Gǫ\Ue{z\̰LB"VY> KPy,:ZֹS'U. ˇCSwVy<=!1!iuUӨzg=phpt&`9 #M˃qՂaD ,O\MFa!'L:ixnn7nhi}}EapY~)ʴQvtuxލly+J0yU8\` -migUM4 dTxIITjKelHvKrIZ I-dE/x-o~#8%88-Hc,5eE!\Ty6ڸzhBWUVɕUUj7Q'W]p۲z"Da ĆI t]RsU`2UP` 0k^ pmO<ު)$sw B@h3Is_y"=_<:&˄BBB\(X!Lv7*Ś`fRI~\gil t0 [ P]R#R&_ O7;,Cq7Uld)WPyZxJ|{]xy?w°Fr"[Ed>r202H#k^lA,dT*jeõ`s=.i@f=&SLC([> Xy*$}ۇ12IyVHԝ6ݾ'|0r ;dUQ2d%0$`eGimn϶ܚ QS>K1z`$adZ Esn#|$V >l\0rtHWZY(56I H9,-ρIJ |1^ A#JG@ {# 2 6%.I[HD&gRA|wH†^RF3't8 *YU~$QFGI5",o?3IK㬬 8n0 f_cHHudEfGA`Pv}]=O S +)ȏg 1,;qՙLmN0irVP$Aˈ'@p#S-0^[TO$/$FH vZ уT-yӆq 4h-pht΋lhmc$W؋zvta} vvS-X8B_E6kdC[bI%|&DHpPt[@{ mcIENDB`keepassx-0.4.3/share/keepassx/icons/ok.png0000664000175000017500000000117210755333714017533 0ustar felixfelixPNG  IHDRagAMAܲ1IDATxOHSǿϞojӹ\+p6uC ` EZAHEޢ]DAWTh U({]RēÏlCm`Eqqo`(O;%-s?S\;JJCj4M=x>R1k@SGtÞPk>&FdC#uRo:>?Ckf>SF!*ѪԒ똌]i?͡P)7{.FEfPW/y$)VoQڕ쮎[5VX(%=Oa|ob'<*;ZQN(#' S<}ɛxRDJJJf*J^AZ@Iby)E2 jЭ]Y0@3X ثجjd,C%`hba;qꅖg8)4I'6۷mցF /< kMkW2Rm{CP^yrYFGOIENDB`keepassx-0.4.3/share/keepassx/icons/text_bold.png0000644000175000017500000000071712031156523021076 0ustar felixfelixPNG  IHDR7sBITUF pHYs B(xtEXtSoftwarewww.inkscape.org<NIDATxMK+a'SvR6}_8M% b%f%X\7LYDXK&z_AfXaFryunʏcʀ(tEI mOPQr B\!s.Cx8Dh%4f&iߍU FAͻՕ-\u YRP]@NLQ0U[wXWh_r8пƻx[G8n\=َ Z~erg-RIENDB`keepassx-0.4.3/share/keepassx/icons/text_italic.png0000644000175000017500000000051312031156523021415 0ustar felixfelixPNG  IHDR7sRGB pHYs7]7]F]tIMEibKGD̿IDATu+XLFí˭ꃨKHt]1u 7?h)XN{ Γ{^/ ;]l$gwtYb3QT/gSdw<Π~=4pC!urpA-R.qK1VxQxF1?qUO)O^pq늌&۸]Ԑ?l![IENDB`keepassx-0.4.3/share/keepassx/icons/text_block.png0000644000175000017500000000024612032623534021247 0ustar felixfelixPNG  IHDR(-S$PLTEOOOwwwOOOcccwww tRNS.IDATx̹ A>O"m 7XQ$}M0=O/TSUIENDB`keepassx-0.4.3/share/keepassx/icons/clientic.png0000664000175000017500000011524612116705426020720 0ustar felixfelixPNG  IHDRP1C pHYs   IDATx̜wxTe?3RB"QA,+uUD]{GA@@@z - 6}DŽ@:ל93O/}Hƕݹٗ]Egǐ8\Vk3r)*ۯMU$yi;zwjtPVVj8.YDUsnlB"]:Z?m--j3ѵYjd?dpӕ#OZrغu+Pٌ,!߿?'N?VmB:4772Vğti}Վ:z_+i4)9™Y&p믿{= ں:z}qdYA&;xu3g/{Xk^oIb+o~5W$u,b`6_{Y!0`0@)i'Jr,T ]pdS!T,1~ /x->}V< v+ aD+ !QUpDG|< 55Ź1d$ dYA%L&En ^ +0`C &v˲balڴ [{aȲ$IHOCB%ԙӧw(oL$Ijk G׷.;wb&pv] ߒj,QdlIFFF 6KҋOٹs'7t]tzB>nF_Τw)q'}z-R'i>`rZB$cQZŦMUii)/):͚:~֯_O||<7p֧$Ι5"WnEI),7[93QlnGړO2mZ:f0gfΛkBGYEwwJJѷTƟI ӈoʏdկDQQ1G,&HFF*&8S3S܏QƟ=/ExŗDvvա0ږ0t C 0:tgy~$4?4"'z"eJFi=qNڠIW,:M/#fm{5f|.^?o̡"٬5 AF>MРϿ5;!̙+Dɮhjgz/Νzej曓p۫zKeb覾D_~9n?-//l=;s$wOGA, ̒Y1LxkI羇Ny<_=n&G/L 9˷_K7׈kK1%ZcޜOYw*(ُ,ӹs"i I0 Y(.0z)n:zd0 Eb`2())-8,*fnnš 42;[xݝ466Sۻϯr[45DNvn izD2YY& @ Ar``"\>a$VC^G$&:5jk஻^#FcڴsOk V&billc„aČ7n>G/ >΁匪e]CD៛ѣO-hW àTV+O<摇.FI'a T T#Ȩ:hmJ 2Dt-'***Z1uT @ˆ j?al!]tyO\Rwyd6 QG`0̖ͅu7ۅD 7IiM fGcc#_|1>?|!X,v6m'3PeZ \3.ʟ\m5 cY;(G6Qsa3|“9`@S'e"!7M U!H\ `("Vt-'޻Wn%\QA/NFjj1zMSS3 U|Y^][o@`K~g{{Lha Ur!oϓO>}[(}a"]5bL,GJ쬓H<kx ]1 ĘgyѴ,,Ÿj(~Q<$j@:zĆCrcꚍYJBNѫTeX1}:Wj{ዹsşn#9lԉܫ1w.]Oچ[X-mƐ*ܗOZN?/a|La=TB?~)8O4mI?~-?~ 7ޝbE_A̛Ǝ:ߣrwpk'fnJ/+?^],{o`+Y%NL6C$hӝ IId2{矞~_"62&2o۳/]Bi#CD;vcHD '/\L'=n&1RKOeyi$3FBxĭ|Q:k2|II߷Јw<)a̙b֬Y'MA"CQh@6@:hAŤKy䭷pΝ+l[oNuV1h ^o;vl2ᰰZJ^wHٍ}4bKH:>SW'ذ^{ 23;3HNN6_Mmm-W*Wvu]ݎz󃅴Ը bۧ QX`0HϞyߦ]ek{1 (q'Q nX!f<ҝ~a¡* 7HoȃEz}jƿޚyi)({gFm?j6?ص}Ϥ[QEc3@&"IzB=|qbV$2fYfYl%fEe gE٢Uo]ά&~-8Ĺ"0Im`'ۄX&Mbxi)Rck׮[VӞ>τ*~s71b 6ҹ_&#Gu%;=,fp8a❰h.f=/^\jt#yi~,̸3q_@'IԶ/ L{OjیEIB 0!0$P(&2B@B3W6jF(o sXc|kn}]t1>zz|~+ΡF&EIE%;qFӥK6b/,+Wn{iii\.jjjb:pCJJ =z ^zC=>=SL#n뗬| t@D/NTWNd;‡DC&))s#_I̝SL"2f!CΤ/ J#99 %0M> 80ZtQZ‰]IN#ɠѻ˜9@4%K0|pf3BBHs345i+c [ E@(QAH>{ҥ+4h(] I)@`bs3%Ml*=^v?\LZ|^\1` Gڔ15 "0`ib1JĂ`2)B!'2`2ɘ HESNݻ]9>A`6uTUG`XCӣrдcFxL6DA'ES~^)}qyɲšu[nlQ0t-(DB:Hn sdiPL+s`#="&Uz AHXG3[ETM [X˓޿"UU9r^";6n"fM/X𝨮&‹"V%nݺp8p]CiqҬ.{ W =:9!fs{+蝔B~~8p`|+Ow]$67>dG`"K^$Mylz&G)>/f+xlE^^^{{'9~, ʚX#) ' WZ ]$j:7*}ztaێB|/+Bu $TK5JDZQ7!ZxwS7 { ]6{yĕ7FG9f3]GwoX~W|PsuybwGg1#"aLсF̸4gtv$$fPg&+6;q9Ytӓa3-Żq-{߽MXOǰq 8f@o{Nb

66L &~N0`R!!{l <%'7uo90oϷL]5+ݎgٲe :^{ayMӱ)@.|pY?wuÆ5t}ujiwމi|g<裤3m4f̘o}'7+/?m 1darg7?"X]QFhn\ oMǖ 9sիW;vDSSfcǎf_H~Ie̝;V.._}cA\wu㡇':&^u˯:?~}19Fx/劾}1rcmMDڀL:Kng1`&m EQs,+lټPV?+8`Ts(;_r˄-\5-E'nr ˿U"@kkg❉8mVjiEBFnV[*<.u<{rIW:yPSK#5?|nvzGA;7|mSRH [JZ}Vt )hn6ϢwHbEhn7 Q`1An >۶: Fׄ.tJHBaPs DA"XIS`fZ#./E鷣F1h`+Ɍ;fsfZ47pldf&+Sɏmg#Z?}XXяqfڦhožB#kNيPˆETH?_r60)Eҙ7 ᫫C|:}nƌ_|Yw?~NLG9l`>m&8:!+f5 Bݒ(*:!W_/i&.>#-o2[C45IJO"/f\: ELaR7n3CDT,wd-n9]r-]жIr$cb_,f*>)btd'f;[mB̤ULR B'={ū&HSlnylx!ǁ85b#|5CԂ $wbdu\}WE|(TALz:)j47aoޝHj9!`w5U0*ã…>^u̶䷠6xP=DhM8: 9E(0_6Dh_!<7V#=9?Dd}˾Ƿ`MM%|XW_ʹP/w*Ezɸjܵ [(db֭O4[2sjsdf&bBZf>v>Ƌ ge5$d"o.}7泧~dńQ#0vT^Sh_ M#inOv^ʪՋN` ;wS_߈nE~}e 8۫W/Z8_6sΪ<90w6.Ldo37\~ \}0G(?$."իssosz'Jh7J*ep/No#_/4|oǨX'{ f IDAT$&19 Iz4Λ^zܡJ{~Y,v 8r56f &jf &%]3s%is 9yi&ƌÜ9s:t(v7G}tcz))\gEӎ0lzWMY3h\Y* feA~HDžs9 #}]xGDqq1EEEّ xbEB!oX_Jaa!W,'G>_~9_MNN L>*cU*1&ş`فe yc3L~ٚJp8!f IH躊PT?PIPoM$cCQp o~zgMTtFAWC!Y&xۄv=PsVق$CMZdنlR|܁GiOl$N'$%BpR_߂H䤑z\.;Nˎb:aIKf @Ln{윂b&.a1l"+H$JQ/R]FzC @ >_aC|[o4_FfY1ygDƌ;H;ʱުY-|\ cgE\am*L)65HꒄHRQzNLbcGKDF< Â~f#-}Xe(RXZO(Y E"ifhl4QRrXt4mw1tBu{Q)zVjrÅj`2Iǹ1!X_{bS` <[&7INH"DztsV "aBb5 >Ə͹#Wn|>nw"r_NlE`͚5b͚5RYYI>}_TDZZbRZZʞݻѣMMMTUUѫW/>cqKTZk8o116$Y)_˙% uQvs㎎ߢ={ƌ9Mlq}3Nn:b&.M8|lv.p!71Lkc1,b~xLXMw#:xSϷ0@AW`2)=x[|i |DTA8,D 0HV"ᨡ|S(,f VJ}-jk!9Hx.+~Zt}bȄee47XbHOO$! @BB"=x;r뷂')˰b` )(v1}q/ܚ7r\?ǍGBB+@7(Y [貌sNZ[|JƏ1UQ!0@A G7~n_ҥlYl$&=_s. }CڀU= d`A/{K4$ze1b^;\tۈL-!ŻcuhZV**yŌ;`x}>Rq hnnKnc(: {:u:^$Y1^Ed[DL&agN `Ac"1{ۘ].d%xjA-)!Dt8KJ_Pe6rrz xEFFe :DL봕O] r;˰qp`QB h*Ii/ڱOFi8V/z|ABVFz39$3%Vffc_!ZpzHHHGۻ'Ջ;O+..\p#?o/ԙLɝ'^\y]ʣww,3JTi!Ђ*jIto+ށӔNyTW ]<㔕[ތe 7mW^ 2zV^Gِp39!60|>1`sB~4F(j$ѧOiǎ'%%Ƒ%8IíLbOh8oI0\+:^YI,R[(9YRU<' EzM6goȐ;vAqհFr:8[AYL'az"&&C>>4ؒe #Uj JAaa4,!{ܫqB[l;v젩 UUIMM/@ cj2wn={4k,1sL\.ݻuVX!rrry 2>#K_~C;f] 2Xzgg#nF=J^Օ}i<K8!-0JOb5-kB( ,tZu qyHPJj3\Kʸ{/d\(`Ӗ<wVc>(' d_)Id -(,䗍ˑm60/]rƞdsK32ȟ7(]gϞÆb1tp8(~RS fLy]$~GJ}F NSYm@-D/!d͋f-޵9Ԋ.n7ѣ}&`,7q晈e{[ԓثp#AW܋֜5TAӰƸh6]!<7Ƣ}إv"`kt`/([+Ɖ jTP^^96=nѸm-y2B?97\j`VpQkm"FdIB8g}I75WDk' *piͤ8рH$jc+yH|^,c$)hZK!'+ V1 Ĺ锚Biݓ}v򨭭%//EE5Aw777_M\~qㆳv6[iڝNR2ԑ6t0եL~LKJD  !1Nio̙SO?)]E,ZDLt)x'%YRгa1h:--^7ٽ=M1cƱړOhac?[ $bbk>`2^_+BUyT +zz9k>}R{ 8=G"m/<Zvo@EE+OJM5^o*iVFӟˮWfUT}JJ9m\ؿ0+WdX,.aD?3“w)_}[3l&#;PxmS,Qs3~,cZ?vBLJ;vo߾()\86'l0`ϏװJFu?&3AGp"Gv>g2?TGT$m-؊{R\d\:K<7aPQ0XLp{(=^qn2Vfڨt t"I+H@aHH ʩvF8mQ6lɓ't:Yl$Q؈bD% ":jAGO?$JJI0AQ4*H>odI&$4֢)CTCه|DDCM B\H]20@B[ZHnlƭ4661cdmaW/'NCcKvOfJ] Fϼ2+@$(V dz׌ѓʪZ`/|J Gj5daę$eҋqD$4aVdDIΟFI>Y'Li?`|QTq[?\əm赻)^D 1Mj c,)ÖJj ѿOnWQb8+-DI$ojmWTH"+DKCGZϤ[J Vv˸9-f7.ZbJݡClHwM~0ڹ3K.PN <򏉔dRJJXV&_8)OoE2JK:Ķ Z!?Z%P΢zEQ{yMX~T99Lk4do -`j[ۊՙǕ\#}GQ: &woF"T޽8 v晆>oۜr0w"mBESu)] ӳ?V|ek&lj[$ Ř[΍Iʚuq󝽹cNƋotZ:4Ynߞ<^k(x!j?jM uػ^Dΰ+q8]Q69YQ_]PWsɊjwCGSA^nWj+BGU0Ode }s_Іz=JƆ7đ#~Y(` V-Ȋ a,f+V 45FMV Ǒ`6n< JbK)-Ea~pvAb }&_TEHc%MgSsnRYgBFdB0JXr`fE tD7oEGCj ~U坩SI߸8/'+$X'$  o60OdDb:o3-8a:V\Su`z}<ˆeL$\0,TIEx|>}~$&&YK~EdÀ`.]{P7yy$#ClخνMQ(d9$ "I44ۉYQ8])/1$|Ʒ꼷2UJcb_ٳmMNB;ZYt#5QBlg]0[A=ۼ~]fH~8X\:eBbc靅 }RkE$t)cԲ/+? =ݽ薘n"NoJi!$TMú[Yv;`b)Y X,|tܙAJ~^&p>J||w^yfRSSijjjϸ,&CIRR PXfqgG]$ȹS۰m &k {m-A|&󎎪;$Jo 6PlXWwew׊]T% d;"s8s½)y<~XUt09h./eot85aH>C~1y.IdX(r{#SĘf50[Niv а΢4K[g(鐖=kDub;PjMt !<Q^Z +J8C2.]>z(]6ޤSO)݉ M^;__<|pH=^'.Bi}<ܰqDe5pOӊ/cH4 8,B E+o<-Ȳ9A rP8g+ or(B5 j%9nHa[DD]{Aͨ 8t@8+hY$sPD9 P„;2K.^U-p8kjP^ KJ Aݲ087ΛDZa^͸)o"4y&UF`rMRA,EWdSK@/'Zʦ4D25ȒK.gO~qKi[3L{!V[ʋw.;J̙3N:So+g Q0V1uY*+gqDb&7mb8n8t8_Xr%x<~?T.d2|CD0 Ym&)|@IO?4 .krWuV׿[6vE,ۻv||-uu6bags Y{ n)T @ƃh}<9^xD},ךjŇ]aҙU@ٹb\v1u;%\eH`M扷\s=g={ߥw ;o"7g0Op~X iٯ 2r{J| 1㇊ MGz=Ƹ=F97nX,O$dن-JAW!%~ݝ*K$4{Ct΍)Y5i'A[/= Ȗpf0j/:ԫve7?p.;\hnkd`ܶ% -Lt淿=I6A۝dJR8x!dZwS3nF`; yaMb6;2M,so,wn1J8*%[H7(TNOxr nXXbh_5}xg3~ P%;a&ҋ(QT(Xʏ4%>կ_PT'jSf1y4&,(NLt_QP1#0MSƲtp:hۍfL?v<";wsm"  BA*"/4 Vƍ[)/$zzbȲLF톂b~Sp:8?,b]}̩y͵X5 @[{M {X|=9߃O>J$m ,iRnN: juN[tt`YN a ,a+YHסQ 4*V(NrcY^CY|F׼G%e)$IBru46FhbDJُ*}pq-x2}:2o<1A˺\82dNz5~̟o]vpBtu̞=o.qAVT*ŔUp* %DdtA*k)|a  j܆n k(E0)v ˍ2FL-Lp.Lpt]KEr`U5ka0CPヒ={D-,]{3jpn'"٠˸Xf?~϶xwX׬2iHz{- 0Jc\rIQtQOh*a[H9 l¡q6ö'蠻7N<N?唐4MW?f\d ZR~y}̘1>%CoƤ2!i܎ٹuCsJVyfzM/z]{1z'[oa6U5P 5@!%9[R8iv:{ܴ$UAJQTAr0Z~Lnqylh pד,.&8"}h&CO '0D,SnO>Լ%R bxJ\+ N\ 3ɏ{dYt$~;R.lE@A[2H^ak-v/ ^{-s}(18{/3g/>;%w^x AWҴiucƠx~Lr Е7g;ͭ2 SS!M/R~,n_`rZIbҔT9 R Ahbۭ7RiTJvem֢&>(2{4.(E{T)0yoG=Az~;Ʈ}3z 䣋`+imGyjy`/|;qQl7KUG^qe:Mo֩F-HnaUD扳n-< o5~'1:T_\CHv-gOl1ogs;+ߔ9U1|T Ewx3]{y&c~G|g;Tx։^ig!L#TԎ 86ACFeY4 ݤm'1 i>5`Hj ,E5>?ET~u`*#G`) FT<%prtb_,d#JCӴ~ ĉc_~Sq: i$}TUU=7Ow,lޘ7Ho\аMEn. tG+^CfиQ49m#+ӫIPur͔:*K,|Өkѭ0w ,,'`u=wSݼ4_H, vK| &QTOnnĒ]xY0mH 2레JZ]=(Ƣ\zDN:no릭5aI(ETS7Ѓ ӦW_=]&*2i!CjY*ʢEıN>teNkéHݠ:=dCd"cף0:4^!3.:>>/wX( C AzHKnd5=Kb VG] *_LD=i2;P`)X5jPɎoz6'V mm.( € &eU {nNLFt:eL +;Y(4I3s|"T Eq^%.xX4KR+eՕֶ0celIK; .'R8N^ ~"F^LO-䍁pR47GRUn!&U%g86ͨ<ON6'XSB7ݩ(Ev6Pɴ8OO4b[och"MHkVň{&@k'o0!1]\;v3A&2t pn .5|>/#GVMe,L&C1s\=?,UL8r%\Nҩ4"c"p1aB?dNLiDiGN J_f>};ή=Hy&to/bA f2x>OgzuyӮ?xx80910ԝ%8?y۶>fɠq_#q$Aq2z]M83K?c1dd@-mfaIȊ i#=Aԡ'[Av@8}c;l]Wq2tV8 0 i pC 8|9V-ЅD88>O]zٟHT*M\.'!Z[#}KkY+V`8B$wđTV x}S6K?cڟ.EIE5DBӇ V,S) &]=fwM&B/"ݽ16mL;'s: 6O\}\u3q_0L+),'Π$p=3oL8>H$bJLZO#Ku14/6CE 0eREt\N)`Ic 3~{APbW ŰH Bl1GhL Y Qe˰nPġ( M!趈>X)w4#<4@^I{ODR@AW|XBcsk-6A%#HU-BZrÍxAMbbjD;ZhB4ldϷs|z>eww$zAv3|p8MNnBt fN(y;a&b>:χ=X g=ky)$tEI2}mE1 @Hu !;\x^/lƄP(!v[&|9Ǎd!>!u6Kٸn3*`wK"FE*Jp9 ?ZٲΞ#=IBr:N#؁o$ʶ_nqgLN(*D"W3ǫ0AaDl$v)0t;D>0 (씪Cœؤ-a#`FA@"N4 CKJV̝+,\Hn,~ %iIB$1 N)/gك3ψIQrܖIh,](W IDATh4IYpaWgaH?['`%d8Zjn@F ';:ZLϗ83mĖЮ-k+|y,Ȩ8C(2= jٶiVe;KAsof|8$H {ɲL)ė7sc] ]V`%jmv]Su&\{`yϿD}YUx$ȨḦ́_P3)#+80,ϵY=GNt]HfRH|Na-&uuKf}")dTMgؑ 92[JkR^^4.#"w_gi )0ޏ ]>z Ꝙ$uO3O\}ՅҀ >/Nēņ&^ټ3Igcsw$jT-ulrqCW6z^z<4SJB o޷M?mmDaw∉JJWԊN]kg= N: :;;;,ϑ:uOP94iR7,]˗+V F<̟?_lڴpwM⣭Q(+ܱpPq(C'NHԼu]o=?cb/?bh;̧{*I-Y@ٻuش}/Z$vr<93& Va /kVOw,==6(&P2HE? k >RzrkD#҄$mʨ V58ҕ3BJoH#bw1WcY&ET:p07|Sثİ *ʩR%HFb:*dd' ȒͲpH3?IGO:ditzMiiJKU 줭LF% ŨVU1 7h8̤SضmX~=h|]{ņ < K|/>SϿ|AMӱg5#3Gin =ƁRD~ +$ܵ]oBeT't΀/ e"3KF;)//Μ%mݺE︒/ DH"8-(v]qʱ}?:IJ)ɇ-{ݰqCY珂Shܼb hNӀtFq9"> 4h,.D(ϴ#}Lh ; H!.A8w0~89RssCӓ0L(DQQ"I^d2IUU1]vp81(='"z,\v'?~kfЄ)Yb&BB.D"a'_nk߷ЭH8J7K-de),I L}_/ Km0OM31W ]Jj~L`Q=.^Anr> Cۓ$/H{0fu#YЀ(}§q…K1b(C"x$*!eJ VK0Mx<~dAo,td]./]c݂c!"XU)$ V]mIJ+wvɱ@YR5Xo;M6C3@UPفv p̿x˽=Q`۟L,zzlٲ ꤪ\LLvi5LU들UF{1, 7MW+)&4KDafCweC貄a8˖!]x)UTU gk/@W:_ZztZr=wql21}tiggϮ EylZ͛a4UfMH,_H4݁ϩ?^ᕁ*(p|&,p@#It]L4)>m Ƿz01EqwvS/g x:&Pbd|DQBX$ ;U2u$EBy1L i>zM3CZWXj#sXSn- [1طaR jSVKje2={6S;z6dRcӚN>s}(#)]%IE BX62g϶ ::Sj-p)bScR7ryW~QKJ"a:[Mө,A*D,+٨pR#{+ #%lTMam%_zn}ErY9ZޠxlA^.p$kZnO ɴ~+gD ؼȮϔwф;? ~wNEr-rO%KWOSbkEGistw3z$MR˵0u2] l0>5弄BDQQeeel޼4Mt]GU>7\gKKKkV<u]rouVϟOIiϞ+#JF0s yCxr2iks[?`GxŰ $d.w^gZvO jS&m8\@ٛ5!cM@D@Gs&pFLUW`|R(8j&L j. ])ͺ9quu LbaV=h>"Yc's˹YWvh9\ 0LaYIisi{Ew`v,c YWfMX%}.%%?߈;%Az6#;L h*GףԠWkha4 5:]j3q+?ӌ@Vd4i+[*~xɳjEyENE"ڦK2x:zxΓ8?BM vA*)qo1CUG!,_߶'ptݯZ,%DnD<5B Oz):οw='rڠu? eZ-=8D ,OQ>o^nܾtni7|!_.f: ms1ѓq#P5m''gz=~~^oÍey SZZ2ee5t" >{RTTDKK 'l"MMSH'k7:t矋p8L:#Ϝ&mܸU|yl~Іv9IMGlF;M}[awְaó,[PS3#0,$EDˏup4nMܹsoS!韌x `u2,I$o規9is"{Rq_ۢ rm08lAd˪/x手V0>5{`J&rm6#!Cxg9m4Ͽhr,E]0,! Vv%M7j2N?`bGWW7hZ|>/NUՉF2 QUWv$?„MlP3٠D ٹu8޿s9bshرc 9.abR.B3 [WyGU}f7Tj ME+v\* 쨀\^PQQЋiJ %$@zl? D~w^=g̙y>{*2:;=0E׎fnKڼafvv+Z :;Mew<ݜ(.g[- b_?f(:',f5A0q2 l,}hZRvE5k~`0ɋ!<<N((#GbR@PaM JdWfwTWcX4lIQoK;W\?=Ta6#\tIYq%,>zEp;ODRh*}LU {v ?ЙLoƍơ7iNPM:Q [(Mii1KCDŌ=hJ@F\wY9y * VM7(6{ɶ,*&YёdfY@C۷'VCeW3EWQ>!c44SW_νO>Ҏ;3<Ë/Njr5K/Od֭`])+ "5~zm꜋HJO].U}_P׍WɆ-+=z& B<|T)l *e<7e5ð֊ܹ0d1R=YVR*JP{$ ^+:Ճ_x<5a:Z]A`0QVQU ͡!$ x9!h4i*?:2RT[nڤjNJ#SP e~"%sȉfrnBmdf`4(bcZBtR"_WχᠩG˗c›GJw{$DD Tڍ[%6$Zzp.eL$Wgذa.Aa ʠPQr\!!^ިU@"I2՝Ɓb#JА(Jf@4୫ǐ_!p|#Ǜ;&} 5kHv :O"M&FELUeш( N!>;}%[+! EJ4/VIC؍h O (ߖߦ?LF+;QW%6 LVDs$ق\lFF(Bs8D@9phAWGq5r'+II+0KB`Taᨶ&scl\=Ĺ=jvhA7Um*/Fg E <.(a_М~ҝOJ3!/);o̾eosX]93?{vС3/y$)>Jꪥk)J ~7~x}͇|c֜H*4>Wak#{Ȓ|Nˠ"aF(>VªU븰oRihh`EC<^/zvF܊tZNBhYNxY3՞DdYGݾOޞ6]l^-#xٕkL+^}m%` G6Zd5 BniН+a3aGl,WK&a`"b[!"}t$ʐ>D %Nf>(-RZZ /E6P/IxN! $D~p:g̘1CJW\qXf / 9gf遥dEe%twZӔw$MIMC2tJk֡ Zɬ;KJee%PWWf@پ1ݴw)!`ԨYoGnV#! Ib"(:2L{5w߽?(jjo{]r{dwrŧWD܋o$ֳ}NIZF9XBfF*ybKHȵƃ |tT2j^cCTaFBrr7t.^{yԣ$%m}F: n'16'EIQQSN}C=GXx1de%Ic|(jXC|Nz#L @cmy:p[C]uiѢ4ӱc,EE%),,dg@UlӦ=FkNb?,r7*1$=+Gjv5״A|Υ³m6z*c\Vt%c7$"!@U:=ь'BBiW.^|F͎Me[?`EҬڭz]$r5X pF׋`ka^4Ra'hb6v+* (m(IV=ʼ<*IiX~̡ڳ'!:BBC۹6 N,+4{\487ɌjQ;(zbbd8~?M~Q U??3qkΝfo`I/v+ة (*M6v֚0=|_~fP!{~$UUi:^5T'&Sqrm5/ߞs/ݻm61i ""!Iz|Mz᷒)Ab (0Ҿ\>zw%z &EOU"$D[x|ɇһ| 'H.]OAB C3ݱ]_mﲍc7f`pn. &$ F }G=^*cE u.3΄uKҥYv6onhGYa%=:{ڟql"R$(IDATKUTχ[9rQEE())8p&"&mEη 7{:%mUMN>% yHޘ2w'd$f,!:l!:lv=FCtSEu t8&05RFؽϫ~g&s GWz0}QQ|pSUXȞS`$|fOB|Yk;)Mjf'ǫ9Rl:҄+P*0*S6*;{Gr4Ώj6glr@ :? r%r80|O\ݧ(r }"p9wK+q Yb!֛N;ʚ-tȺ+uqcȃh)"Z SSKrJx$.i$l)J@"+-҉iكi?Rl+Jm)C/Bie3?m敛"'y,o]?oj`狨34B舊kEh'NUAGІH_"f-N&s+YIMUfР\ : }StJ4xpc7VZv0ߌQgB N%#PC$^#;?o9v&h5&bOndC]!v*< NOHh Fђ5}@꼧(lZ۞ 02̚w,;Bx+waғݻtt|'bڴ)hhj:,ȲABUl5.gٲ]D’ԧOP*ײYZG$z}+q/wd2F$y:sٺgaߡF.NaoOxlt鷢:ēe]"͘ .ma|H]vm&~-***Yequ ˗/R\̀x/'&^F1rHfI`9!kò@3!LVՖҮ];iѢŢ}f'd7Ϭd/0Y"9xpyyy3zM2-#fb0*~YfrsZd¸{?M">\!hA pA Hȑ}DDDs=ӥKzŠ(jp &l@IIq4yYլ _@C- ^R |g>xF*NmVBLڐ!OS+mܸQL<>"6[bV+]HqFNVAbJ86$3E =FjR{UU=ZGnɐ!׋аH-L'-8q$MQA .kO랽'O}%#eFA/Øvn+NߕVsiA)9~:ω'T|K|JKLL ݻw^{Vt21(UDr9@.9YREM15?732Yr+#o&;3>?l89$=HO"[H :EAzX,XZ m$\w)M.PʋE<Xm7)'c %*ވ-B= ,! P~Ϳx%Oc 1bfp،XXC(SXA[ŁeC֪g_pMm-ϑpsZ>[f`h|<2fG'52 ^~}b2d٦Z@Qx4N=D/_>Sj';MʮtlMb:(r[V0<([?#'ߝFNJ=kӹ;?~-l}$&'B!\$\rWnovmR 0x4oAHWTlVZLd!ӂՑ!8(>uîV~Nfҥ2肞5w7_/Ϟ}K:΋38uR uBPZ4!@Q١#mS&(>M.ws_7Э[7iugmYXwLǑ!P@UBQE3NQ~4H* V|M!D+ї gw24i?3Q!xJv|՟WuAG߂vrzt,˷"s݆Gwmb\J504q.Ѵ_H&[a%%1:5a 6y rixQۼ3k=F\죾by%hPwYY\8q"Rv1jVR%RSNeɒ%-|{-i<DFFAqzy뭷:u*Au1z銗wg}#r"I6"&t {~x?[qݭSh̙3{_/6l{.Pg? Q]]#T_ ._z?DW3O_ j9B&@LL aaaXV",, p}!:nnn&22uֱ|r??s~/~'Oٹk=ZLff}s3f"Sq:DGbCOt:hnvRIIoy튢zՎCu \pwe(+=ժ7O)LS~nޏhFo\}dt$\qCӱ#ڷyf{s9M*++x쳹ߞL t& 0(dl6d9Bzz:]L=ڵvQRr ~޼^HvF%55|ۊ#?:t3B3Z,Rzb:1Q-Y'?->ˆ>~bNTBCXLI/_͊Qhp.K9WՃκ~zMiGUQ`k@o<Ź9O~BTˏ B#D"-h]ţwuNM;,IjT[C}5i-"gdb#>3;8NmٴI|6_XulX"[} > 5!bG)/ӥmv+rqJ4 y۾AĀDS(( 4T9HD\ G >،Rs^}X ]Syy|6w\ĢEڜ?ۤJ̟?/ŦN+dy= v.Nݻw'''0V^ݦ-+?! voGQutdx?nνw{PCzCcθʫFߏƠ y2I@"c7?>^C1ItV7϶BEa]ӿ?|Ay􉉢dnf3>L0/cN%%tV)O)KA .d„P{N$ mëvCѱcǿԡW_|Qd]a^0+WO=ŦM[q8B9?St` NS\\ŋ,>8S8^O]] QQz:~lڴInf-Rc6i׮m>yķ~,E"e}-o^{-Fk>- gyյcq1ڵk:> Ė-[X,T=LYFU ]^Fll,@}Ux?tʟ)'OG2O;phΌT"!V NjG!wo#G[w!Wn',Bm5{. 9z~?r~?ٳGTVVFVkMm.<)-|Db30(^vʔ)SE{*>0MQa\OZg<03}5/G֯c~>(<_uKqR5eع};~7Q3+̛GyEbʍd^wş/RYY) ϧHjj*ݻwou| ~HC=FeF.~dGs?[ X\v0~?uYf̬ ҙd-'~)S_j.;Qg`.,<*ZiHu=DQq~'1{Х 6MWњԴwL/ݩIENDB`keepassx-0.4.3/share/keepassx/icons/filesaveas.png0000664000175000017500000000445210602556426021246 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb? 02ɿPL)`f`gॴA㓵>3 FFg0 FQ 12nyIH'wl.x:ǿ UL@"SÿP1"9_k%* |ğp,%!C,YOڎ _ĸÂ?!`!A )`4B?P?;ë?U3U1Jg00J30^&@8CF*7ȒAIA+W]n&npP d&PL0A…? 0a1)vOӁ 00H 01f P#`?# ullurQ: _ů20pr2eabX̩ Ąl[ h23`A 4 ) +T~00|[EdbX쬿J G/@o1mg挈%]&`H\ANd:_>ruK N㖋)gϗ+t$ lr&/&Hb9رРgl6 )i@EV@W}/ <o`hXs+l@L!I`4ؙalhs00zߋ0;07}h9/5&c4+@̰9`E021Cx_9pӝ\4@ ~b4oK?3L=R",aBp"ctf&Bhs Ne3d3pGЃ.o̰d od`tYJ@'h: e2)3p 00|>jw@72`P@1affpg8!%RKXʽ=t ρfxvÉ[ 9= |, CJul l,@ Zf?3SAH?<//>09Ġ)0:-#lBq3#"}p?!<(fecxs S 30:/3wgx:7i׾` &cĂL 1u({[}d`|\j`e;ì 53p02ʹ?t<'/( liV`V{Ç{o&Nw38002;7e [2,͝_%/6'0*XB 0BPCgKC.@+2h1B  nmgyN&J?S3Dp10bcP(Ǒ Qx@ظ>}pV^V/>}Ȱ&A A l<``fcfff#_ybA/ A`/êv<3So2Hj[3T2 3|~?P^^FV.H ~ȆA|߿e/ܒb`7ebd'ç9Xp32|m- f"d;~K_'28i1Xxq2|Û(DE/#dddi &?``bQ [I> 1 ?!bOFX.` ߿bx^3] os i(~- `CǀLh03 /_3}AEA[7W-q`;! ?p„ޮ <7-@G %͠-'z /懟>ag`D;DN X_wXU2F@]N]%-)Zr3 A B|DCEa(܄cfad~۳n2/c   &4w@ {C@h"3 2:*-@T Q, Ka8vfLQ s#@| p30-/o fa`& ?gBRtM&Xfx0h2H0ǭ   1/3b`t8=`x @D;?`_k~1|? z<@?<J ~Z ̍ 1_`,Bw/  y;ï KAq@q ?`O f_pT,s M L  {+ @ǀ Z_35tqo 01Buf S*lY223@䀿@>7CU.Cf:0 @p2t/0{5d+>#, g,f`%ߐgE-;jE(h`xæ}ыl%@eÿ~o;Tw?0w_F@7$*@W`H4}J_bHug0VesoxX"[ @Ly֭'g:A??0maM i;wo|ui.!A.y[18)KЎV+{W,z!ސB@K؁9Pˁ߿!W`g g;:g_<([@L8s{J1\AT!ۚA ߾d`FS5r no {O3|k!0a p{,_>û/%XʜE%@Ǐ` Yg}!V.).\xuU 8"ÞuK5S2 S`u`v -A )   7cXI: M/!~+o&hː"OC@br}eaϹ & `_g@1Q_``c.,>|#A!n;!_ pd7I0 Qn>37eO+]Kx"2bcZ_ᴚC}뭙"]dDYQ_AL䍏 ɵG޼1 r u1;o?e5͔!CیR\03=!ë_g㽄?Q=bDiêXB~j+# VzlݯVY-С* Z ~ؑϿA>H ƁЀh@AEěIENDB`keepassx-0.4.3/share/keepassx/icons/dbsettings.png0000664000175000017500000000356310602556426021274 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?@bb`@,0Ŀnţ6=10221#o۶ LQg PwoߊϿy󚅩)L ll,`,""9T>} (Ϟf000''ʯ_dJjk003b9($~ _~{AAaPd0 -c3s]]C`|kVP(1};ށ2_AzĄpw d8(ALLLM {vv/_30A߿p L` -4@H'{-8#OA}I|J_EX;}V ,1TTc &"O} n`z1L/@0P @CmYkpi ?tT89&Llk 9`m[x30667w[Bhjj`4Y #i_A a^-@ZPDDu@sлpl'޽{{ PԂB8нc1@@B+XIENDB`keepassx-0.4.3/share/keepassx/icons/delete.png0000664000175000017500000000465610602556426020374 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< @IDATxb?@bb`@,0F`&*2|DX߿JJF zz JJ VA@Y@GpB jL,t}Ώ;ˊ  ޾ecae]A|@ϵO5fZZŅPQ&$$iٿ?`z^@8:2000ׯ!z}c``zg`<tb VV>V1Zhqof6?7`bZ9r  88^t,9۷+ -ƶ? ,G  çwu1<33P?{f&/D-LZvv?30?^}Ϸo,쏒 lǏgl$'q#ï͛!TxҒH%C51A޼W9ׯ?06G@HEHrr.pQSs&FF`YY︸>:4A09 ϜaxLS8po,O9AE?|L]t?g!' 0GAr rh|Ϲs b8tI`z ;a x"D03'`x޽lJ۷3|el 0~ܼ N3=ؑ@@ df~">|鏨®] P @ 01wۉ ofsҟ?s|E7@%@ȪNdtDж3W`CBC?;LZڂP=>@@/߷ 0k hH}A3MOdIbb>z|ĺgV(YTȧO~^O|^oR@5H7!X9)$**0q;W{oH[[>&o' ~$[`Ή9R@qfUUGaw߿Go_X1 N^`e8?F21=HLL7oz, !@`|R @4ׯ#[,t'I}ݻ'~lY01=:"̥KCp`q l?fgSԸ @(ِi'[wUDƆ0zP#mZX,FG3gv<Z GX,^LƗ Р^IIo\6r-| 5("2I@RӫWg(L_(^b1@ x \W IENDB`keepassx-0.4.3/share/keepassx/icons/exit.png0000664000175000017500000000407710646450144020076 0ustar felixfelixPNG  IHDR szzgAMAܲIDATxI\U^3E!l(@D!rA$\R@Dėp0.dE$ppd 2xa ؞1O{2C%UWھZu7Zu[2!7=7Wp<.?~<wTH!R"DJPj/%Bt,[G>!DJIh0G_駟}wloʕO(MNb AX0 ,, A}ظkW!n1zM Xs\V }J05>|7$a &R5hM4;K%-ƥD_~HffUw݅PèiJJ \& 6@klǦ^>5SO842$A& 3s$Ԋ={$4ӧQ8'p6li}i,4' U$AutV7ߤyA4G)yH(83C42B-/R;P!%$I m2Bk F4&T>ER*H&&S8tw->`%YrQc .]=y31"`-gfssHkecmG!ߌ_ :W!\e-A|uf;Vܛn 1QY\DiCz!Qr@۩ܱsI+eqBaI?Ye VkL e⭷Hg}E˗133SgaLIϋP:Icw (Xr$:^hM/{}۷CV&jڜa=ߦcžk/"2BIX[W]|Yown>cWhŋ$v-g>M?tYmOmF9ZTǬJ(ԃrӻg^?kO\tt>,<+0 $)@erLΙ{'&& p;:p 7\7,/*T2hg_d7ݳ](p)g>DsJe(<.;Xd[B9hXQ-/W2u Rr]j5uA 4B"Jݠ\*TpԘcpm[I$V\U&HfgIfg1N'ʥj:(}[Cu }khy-<ƤL bCw!|/UWUuw[ƗF>@^r˒x_Z IENDB`keepassx-0.4.3/share/keepassx/icons/clock.png0000664000175000017500000000636410602556426020223 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATx< @ijP}p/!KOxrJ:K`iSh]TInMz4̿:xpZ >t< F013%rk sj1Hs2p302 og8~O\V@7 F! 1\<.J1^ Jr| @?1||/ g9;3Pg_VzȰӧlg` ?B ;^c=XmM1ܽ?X޽}OIi/?3aeg !ɠpgK1:b-3S.߿ρ8 0,ʨ`u(m-.7;?޽;>|xgo_0ܻO 1:k0J0|aƂ˗22-bf 5=< ? p e8s3ݽx?ca fvN{1|AGWh?NvE%1o0+<  f~H6+BW_92͒ٯ s1>,IA@D1fe8k  t0'?Û *< g=b `m!p=/j @LlgCN2I\\@CY2#$;@j@r``L 9FE#3*ןY  7ـJ5ra8v7!+`p2ya} /^`de`  KPX K.c J Crr0 3K2[ {v<+;0-fx(+2@p3*exq :#/?_V?`dPg01zaݺ`͠eU ߲r<>-z03ps+׿ < |g*,@,BD`12|xah napP€0CTw?1n102$$ Ude%`d3ǁ ,>66ba`dc~t/`U He4 TfdXhë\ UP >0Q`Q*|@,?0g\UBBmVt\ t% V >|à$rG@0((? 7d`o|gcx?Vc`f{P!1ᷪ* DLEG^v?ç_DE~f@Áλ{oqo?A [; $!E/`+,÷~b@Lȓ~s30e_(2|{#=  =p3(ã A!} X89ν|w%m ~<S)?PC 'N000/!qq.Ǡ$ lA2kh2/OC,ٿs1Hq1%Ab 9Aqk;c9ym ^=pxjϏ{V=` °v]3Y២"`n/-U6 62?2lpCVa _v D2v˫_~0kX:00H 203,9AEE X9qB _ vBP(d c*afXh(TԓeX-Å=O1p002b`bf f,` ˁgy>"-L" 30\<X3svvC2\rAKKA߽{ɰ{)u!*0aG}k<``x ҐP@G~vLRF Nf /o(5}66;wC+68$}t gπ .;.A{q84 Vt/yB<)" I @O7`0VT Owee=W+`n-"ǰp08X2 /X* 6HBv2-Cn &I ~?}T&p}["R| 23l9pW '>$Otn0B,! ̡j: *l  B@e@w~1\ ߛ 6p9 ;J30[*@lL@e /o ꊿ@c|h#`>Z,8 t)IENDB`keepassx-0.4.3/share/keepassx/icons/editgroup.png0000664000175000017500000000436310602556426021127 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME)9oxIDATXۏ]u?}99svvHiKD 5 I|!&y0`L|@cxB4Ę(( 2v:Υ9{Hhod嗬7]I׷=j~RnU5Y>'1.x/X~&T28\}tw+j5)1t.?BvG;76 v[^{vnS7v_Wlz cm,nN$$1Rdb*CZޟ} M( =n55Ĕ.Fq<1w>֞ z@=1A+()D7R6.˓'Wl4iU5/Ѭs[~o *8 1ǒӴCݨr4U FDͧ~ͩ>(A!77وjBol\*婓msq?$/~gjzw}; lJ'W#T: ?Ev.}{_b)-H&ЍMBv{=.G()ztGpx['qdYk<(U`*C]?~xRU+ XhQM cùjpd/YE:%#% I@_l% Uɉlt<ӽ|*@Kӂ ]qŠ/1&tfv?BwhEل:Nqm:.ɏT4Kmv6MEh[ @PcAׇR+ǰ3,7Vj3RO<Ӎ/eȴ1I>)a,@˒#m\\>tMDD:ezqqiZ 29h eǸ4]tЕc@ änN//]ՙhg@/>8Dw&JUT&-S9D2|v&g1,.,a2_+%>/O6qZyY=(/Aei6*7,a ! MnާɮH26KrF<1R; zpדn9tzlMni!'pl p߅d2Fn=C&XH.{kfeBaGiiX}p|BଟR V)B?>J_|<˫ #!+NH:nӲy}зV*W+m;DlWk.Sa0JF2fyh dׇ@@jRY %@)FS|*"'Dz*b^R"/8z[}fO̓M HY:!J^xmE(w$*y<W8~9>nRW^~.~birU5xFC;#DE'JX }XBDžvsّqC-HtaK6w(]bqbT[NhH 2u't))tă߾01sl?ϯN+Jkεr\)Qc۬ PA\kԈo"pN Q D\Kt C)DN{Y܇I7;; #%IA|[ u*åNHPՋFߔ.Fs긭_pD`a$>K [ɻ1 hJ#WQ z@s&Q13ۼq-XJkTjUzx {?ίe[ ߮u|iKZlzu(5RM*Q!fU4|L-o?rK*n]֊X'R0k6,D|m \j~Lu$ϓ){u`~IENDB`keepassx-0.4.3/share/keepassx/icons/keepassx_large.png0000664000175000017500000001312011246776745022126 0ustar felixfelixPNG  IHDR00WsRGB pHYs  IDATh޽YpTW.JT*R;ƘETkrMDtD?MDüM<⩨(j.Wy_1cc0;bо2Sݼ%6a~:'}<7j@{@B:?\q<`~ۢ xضyD"PFBxcCc, '&s\:7B+S#&w+wŵ kͭɽ[eH66ӜhHuHl|jqzbu. @鏭SɎٹ=O6L<րiO1=79t,#V[Ӱ]9rxT+/4Pn▩F6sozg<xիf65e9_s 2y<2b''^(z\J^DU7wѣC3f `_UuXT (عL:{H$0Tt/y-˟'I9:=ārizӨi4FLO6]=CViaϕW ޻zٲ}PTE(!؎oF?o3k^G=5UQ>ȡ3s)s#ݹ7=@fcHi 4G.} t wK67ng};yZj6rGg$`"W$ThH$hNb%yyZFu/eD:*Ǝ-6SgYa<7(ecS#m-"ٖMޘ2Kv*"-bfz84.AP!=(%k.|7ƤVsGSKcm[G3ܠ q]"p=rLi[ < TΤLֵd4U:YcD=KZl5RJuAZ?JuMUWk6фNU$|t*^:bmhF6(;GQ4*Ex7칹[0_X.5ԃ5RxGm,FYմM@)ER h/`ap:w@ M<.hlߟ@0P[] f2W(@qBH14<5ԖhRQOPyJr|99ajj"F veTzN]K_&984(NdH]bJ:B)_Xr׶q-f_Xv|~ 3 6GQQEUETi79XPT,xM~NTirEAr1BBB~>O飽1ycL!LN inj=+ [ %B`wew&2y'aKMSoq*~|jPUr߁7>?|#u*=NW_Bl|PF,:Vk;qԺ?x4s Eʤ3U5tutdCRBuFY̤fpTOpC:?YDDD3"\ywEmryw/AV`!xH)AхPaS< 52E+'}]l%39~ceY bdߨ' 6Õ, |4;z/HMn}1<ݳIEP.q\˳ < (@Wtnœți9V 035#F\۲*S\ozPXlm':d+yPfHxUdc3=,i_B(+9:pW@*<E-:ϓH$RJP KvvUb^Ee" 9`^J7Χc,XB.AR3c1ZZ-hNlޱw81s_ES5EEbjb]* fB3ìk˚a[os̵y$UJO&qLì\j:R-:ho $B"=B #5?Gn.GWK7>G9^W(\E "d%{IPMʗUW .Y4]-Kz9LAGkRN|'^G2yĶ@Jwb% ovgPk]Woњ(?y.) -.u&{| R{ߏ:x@U44UçB^~қ BY^yRLoUԅ3[рUh5ݻ{'_k/^8-_ڥkYKS4I(1Vl1M1_ hzBᐐѱL*[D#u+P~)/{(4?3k=r_hc)<01&jX3$bxH_%.YFڍR518xqLd4E83]d>g5}?/_`0s}IJlg+Vww|zSlǦΦ%Ă1 ]#gQ$&'hm FqrzKZ^Zʴ# ozݽuS6 /\k^!#3(X]6NfۚYչJ[;vL  F[slkҒ yrs3ȗ EBzH4׷d2kqXC:=_âvtMzޭ.2scƂ3c>dہ+rvR+u2g_\=xZ=i&mqg*sT:Jp]xӷi}E_57F+wGxFM-P9[7JWvU5}'`#OIENDB`keepassx-0.4.3/share/keepassx/icons/deletegroup.png0000664000175000017500000000400410602556426021434 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME++Z, IDATXk\e:vwgwk1% & %HH0!MUDh$JD>1@L!HE*$X[˥Hv;vn;;sypθKD$Os9ρc?W.DÉZ$V|]ȣY;l|.FdQ9b"?HTlYٽjj#_n3\/^XuA*NT,ucO7YuK#Ej$IX dD~(qRIT 2yBsG?`py;.MU8ՀК]#L'o,/{ObtNh @#v1.>@ Ad, qF7dI+r] q T```yPi  p#.>̂|rxYLpAUP  g%L"r!C&]BwOz:jخIӖ (@CQDD"d h`JgXb @VkଋQ <ȋht%vT,y'm:!MT[HeP$<ͥ[ɞg,۠ OJ ~~EK6:\-74a C=hg]}}Y+/QS~s| '@F`:~R_+Nf핣+Gx3av|rl+F\E80 nڃ 2]w; 4cqNh ^i,VVF 7^UAJ(<4lhG Z7Z AEqM]Qq xV=m~o ̵'$5D]a C-iB€R[drQ>:x 9KOr =omկn=,,m/TKj{!-Wp zRT7N@|d /<ˍ\{׸onG8ߕ䏼~wl4Tm!SvK [[mK|Ǟzp !@)ixû_,5\Mܵ^wRnoqe뭐/>XQZ =4ڴ@'-v0P?59;]iUdo&C\8+Wr7o⾟݂º݆ˁm^=РQi]+sݍkV ڿgNƀy©ܞM='ԛUX t|ppe/GP;poo⸚a[e<gEdJ^>1ZIg9odžՇ'Lb,F<_*q\EQQ%( *L2^¯2s9Ʈ{f?=ہ ֻ]2z îcҞ/0("hҲp=H@[Xi7Z5VUXn}ٮNER?bߨT+9p/քUヌ^y8\d>ls"85!rU!p8,ڀDm\wwe~|w̶mc+ alOZe$vZ/@+*8=%?Y]tLi(_Դo{;VVT #yÆ{ `nɍR@|1<쨦Ik`rD6Rۊ2*-][>vf 've.fz-+(%W8m0U*=4gJ)>(/\%*4WIENDB`keepassx-0.4.3/share/keepassx/icons/appsettings.png0000664000175000017500000000545110602556426021465 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@,0'##B0Ɯ<<<<k{߾}P;;;EEE߿3B OvvvǏ3޽jbA߿ Ʀʊ3pp2}Aڵ뾻vm)ܻw[#Ƨ @ իW~wɓ::* l@111+(̞?ݻwہ~?~7޿߹s޿ $@H!09_;\7߾x20PYYaXwT̝;ǏᲜ̬՚[a㦍 @@ ׯ_zzf54׳~:wlZ_-6ׯ?@AL! آ]9$9@ittt ?yưu뚗^zR R@NƓ?V<'_._=yb?yV3&4YS3ݣG8^C^^AJJ@>|G2;{,P1 ~ aPPd(/o0 -ڿwAW._>{V?L0*1ȧ j BB"ϟ?y Il@И(#.7mڜ;?Twx> PvCQQ1 {'C7_l_A ]<< "@#@YΥ7/*|ɒ_.v۷o JǑs@ `dhO--5"K޿{+8@[K iנ{_)///$<e={nG#(*@ _LLԕ -..L'@Aʶ!!((( `p.qu ? &E@A9 [N ݻƍ222 %0?$߿Bb  |3J#4h֬ ˷k)P^  o޵k^e giqp1 *#xc0t#)S-_>d2C,@_?|x_ <{h38Aп _3-ffxv'>~p%U5m={0:y9P#TD#:"iO:777 33lï;~202ɓ NN f=oyr`ffґK1Sa˿LNaK bdFÂ>F_l, ~ rr2 |aXb-ÂyS^tvs@  6cbbL`ee 89忽^[v_.!/97_O࿅Z^1| \<1oO0|ya '߻Otiolx@ Xa}g:y4_a.bPrnkWOG1|t3 ?^a8goG~}6sU_~|in+@rpw`Q,y>~p:R@ieAufY1| h W[べaIVJ aX|M`s0;0wJuu >ex߷O+ 1`H޻gG0L6rݽk j^X30Da\}USjbMrlllrfZ>0G*׆LL@[RtX].h OV(h @1ߦ* Ђ&d7@ϊBqIENDB`keepassx-0.4.3/share/keepassx/icons/search.png0000664000175000017500000000367710755333714020403 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<QIDATxbdv8l eFV(Ĉ.qA&&*ff`d/ 2x萉~~v : PzކL,wYEA3-Zvq @3wҥ;2r?cag`gd`ced`eZd8@b ,@b1} s"" r ne@y! iC>}v '0PT 2a`,>}) W$gSa`/#^C 4s-(Q pqsB($D5~O {o|@C p *b.`s9 `&p"9\HU u@1ˁGJ l'LLTd21@70r-&GwCb@D{'0(?# gx gb`G ?~0ܾreÍΟf?.ze>afbfh9aj /nZѽcsp I P*F4 WDR "G!J-}#Û (Y#PnV R@LjcO&7o !#P*bn?+fM[pC33mϟ BiVs 1*1@YV`2"r xa݂- ^epu5gx%4 &&8\<,s@aRb* NV f ,ʈ/Ys ^``caYlp ߿dyA>1λz".#. CT<;wNa~`!ՓWD`=nҒysz]#|. 3 $0?nX MIENDB`keepassx-0.4.3/share/keepassx/icons/go-home.png0000664000175000017500000000246411217176700020454 0ustar felixfelixPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxWoLu~?JEC )[0MLř kݾ`\4s4Hಈ/Sa2BޝR:⓼y}}5w` ׉u=!PSW#@Ai5VqΌ,Xo䑐68X󳳂*+Çױ,?xO QTS:aTC` {i+@? .rao.TTU;hs3-dQDkK Ҋt:JBf +*ąc9ijǢ/{|N~u\Ncq%r@#(ۿ_t/-挷 }qq1!x)駟z=j¯7oF`_y(BϣUD^rrp?s4~v"'`.)=$g{{"D dgf.ɳc}"Y(!1!c=lw8qW EҒ^w ; vbXf(y$!#5=]۵ [ݎh82 AP{Z4<;6::|-i5wGy<+j}Kh2@`kYƝ9l%W[r/H;GM/!. 54SP}WǐeY:~T sI8"U:YBLtw8],`G `@"P9b.M&Ed%NSV)[\n dt:)8 k&dkG@,!yZ~ ,e` -]S Ѩ 2(U1/k 7!B`)V{_qYAWđf^Z1ԎZz. H>A<ϭMS .m|u@dBB|X U'Bnt pK,5FV;끼۷y^V Sc$P}j)RSeffas{ n7K5. 2~arbj& @#h8<1+L (t4 -T8J"iP?)\IENDB`keepassx-0.4.3/share/keepassx/icons/pwd_show.png0000664000175000017500000000146210646450144020752 0ustar felixfelixPNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxbd@iii@*Bf͚u F$@jf8 @b3 A!i8e;@!  Ff~ j@MP/D A6$BCC]zHd!2(pQϟ?>| AHHGРPl۷on?|`P) Lw2y --}5@PPe4L>3Pׯ_w033s.bvgc8yoVQ 7(xo'''gϞ=@L 7o8Á37/`4AQQʘa LLL@x=8b @002aϐa `xpd@13L>P} /W5{P@ ˨2xxx&N/߿/>@1_vĊ7oz8ZH|IAʗA*u >j r5?3 C><  Ǟ1AOC_a>>>{1{@1'MP8884Cϟ`>}bpÑ#G<}t(# (ܸqC`Ν.  (L&(nf IENDB`keepassx-0.4.3/share/keepassx/icons/groupsearch.png0000664000175000017500000000433310602556426021444 0ustar felixfelixPNG  IHDR szzbKGD pHYs  tIME2hIDATX[]U2әiKdMb(EyD%ƘƇb(FAbK#ti9ge.4%/gr|d$8:@Cu"ۚ*~_=x¡ b9doDR.3힞[:vziyt/OоX*($#:wL}u~in܌` 0Q%ד2{3fv;=&MQ뼱׹_ 3~s7Y"oB EPUɥ>-\j(IA*a( nh9PhAS9zޗ@ |iMK2$h6&a*Ш//2OV⻸K˕ 4 "ad# ]#]dσjP|h}WNzȪ 24汖Γ2e2}4uxvգ沘DU2Ɇ5]ROj\h<:N#%t^~tR!Zá ( ODv~4ɴndK D4KMDW@~iȭ>`9)!Pm.L2gj5M2{Ys0)ZӠ?@ zTk fq ݻwsX?oǿU7׃-9:wܴOcUbȘr++3%1AqfJbqy5]hnŗrobmqW~|n{)<63 [k֙`~kFw>[׬TjmOYiF@)n Tϯ^}V+M/xe# YӚ",w`D'gvN]d%m7QY ZƵ*ne(lOӞv]X[[t:=6668 !&"xB( (S$," )D! ^=0{gT/UUuo=HŠ(G:}UU{ ϢysGy{}J,{zzl6ܨ-q/*dqqŋCǏп0;66~$e{|4mG]8^_~_AOO={$?˞q[~x<Ν;عsGuk^},- tvvޟ>W ۿ^zq׍fM\棏gFFO;zo?' H(e[Xk|Jnݺw-YȭAss5I)5|ضmW BJihFK2+U7 bdtl.4mW4"ֶ665|lܹUF h|;n*.$$[d+Kӑ-բﺼvh kӍRis왬7]F{C&x/l;aF\L mŢCUdZA'Uz_YhjH<Plx |q` pm+E,G}$a;j5 ]Y둯h=@Y\H5je 5448 RêLdkD5Qw4m%MHQJ@*|VWFZ~ ;K5fgMlm@J-m]l|[&f5'vMeA#CSz3z)JSvkXH>1X Njjƴ 8gy{_xVQk>BU!eCPili'oUY,Q*aS4q,ƑkttuR| k|Ǽ4QB΀PF/@@ "܁4S)\K_j6€rG_Mt\ \ ǵF8`ֈcNqi>n9R*X)Az2#Y2%mJ'ƀ 5klQ B3"A s ~2E2^$&Ѝ2w0`$enD^vKD[haﺗOc[:Ѫ@D# w.W3$+ZD)DDc 1Jes ?$*^-0"5T(yj`7V*(p iN{b@"'pm4PU" y#H!mT/0`ݝ*^nL4.PA;HQ®.BH"$y;BM\*¦ irTO__zr{AZbxՌ,Ur8+(v0tB !BA%kydVN-N('9yU/ r'5ᵉC;NyE47}4Gi5) H[5 t 4&3uh#,g VLr Z(TPn9]mtf'Ḳ[zsm-6võxVZ%Wּb͏tcWSg 3y_Iɠ/=:u>Xrce{zȒs9|+䔽\NZwXJ!W6U߆Bj7*ye:Ƨ[1WY%X.+[[n$'fq`Yj4"ppWEQ]Ep#N X r׀cIENDB`keepassx-0.4.3/share/keepassx/icons/alarmclock.png0000664000175000017500000000546510602556426021241 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@,0F##TQX]D̏/pk_6x ld%؅~a~/? _z~o  ybE abUc"O/K._e0Cӻ M|@bL n x9@03|}3ùM@,d9CCHE {jPUٲE}c:)WRCh$ g t3)u~44N@-0XS$g233<| 䈛 og6& _32dfS`d`TCbg?ì`hX ddu=$&p.$āef`8 T7PaO nV1csΊ?Y10C(W ,00XCk>eb !130Ȑ;@րB@7}u~3 Fn@߅}|O{߲ j ܂ Y9@O /`` G11g`*fMi}w#33(?fb؄9lf˝ NB/ < ?%~H2p=b;Y Ol`|($+󟁉^C|;§g:+@G~o _`e;ß'Eˇv Z Ll Y ?5mΟ앫>^;߽3rT[I5+0ʰ; l@K-a, ?#Orv e(u'vo C-^;>20\`7&A`{׈a<#0U43ܹxX^ /fVϟ3~QV0ti r8㕁Aт XJ}`L߁ @pbcV3fr a`e ?3{z0;80f8k;`.dec} *?pB `b' ?+ I-W`H ~O!ePb'iL @ã^?~°aDm{2 3)(2/_@ (j@Q7 ܠa!`RZf/@CEŠe>"@d _f'n>_@xaэ +H?h(7?0]}/CH!@,h &, 8~}889$UT=9YVp(fKX(@`2 5?~fVS%, w.\`7 S `MЂ0L_|X-|bp@IO>c^00~{kTYTa Br 9 |4+0`B}Xfvπjf`\ &8XUd?=/66PO 3p8a%Pp>l`8xC80D6φl5UǷ/C$L ,:x>Nl\x LLA lMU`KfbAnHh`R̘ t|>-: @91`|ðT%w'W1j##?A݆!OoS'iy |K$$L%×/=ypW#B_-ĝ4`Xp%sw0$k,h4H&d37(Ub e#Y z~~aX j/@ ׆`abyQ 332R@ @f6.8_we8'Q?pcB2I3z0Ȏ4@W.="P  00|TAbo&9i($r9!j @A/?u#>~e`aH3ffb0y1ï1B_y XD}3PoH<:(z(sˁOcPLH.c_ kr4_ .Z op-s@KCAL  x|@е7 ҂L Ua*@HaʀS&-Wbbe`::>axû , 64`.c/'$"T rveǠ~' "E@4 7@ 10pj , (_苿H5!%vB;0~i`-%0P/( x6@>|y Xg7L`ʢ q1C/A|p+,Q X a *@k~D?:p QohPB P"$: =t Ф 5ń=@5ozv` `+NеL )@4 n  T9@YPs^wps20en瞇o0|}BЖ/ r3 vYZZAh No|`P20|BlKgL- x? u_} N`x (4 zwÏwq _26 >Ck#aXpEi <R3?  FP43 /GE8zF\ (ApY j>HYXV(@1a+88q 2$rЇ77s4( kԃ.(:\@Q (L\ ~bx<'II߿L ʆ I|,x "ˆOS1()`9%H#77;0X!U^p @|P6m0fl@a(ŃY N  `AHԁ`1X 9aK0~5G?~2Op0B 5AYC@Y!'R4@QcPS:(! 'H%4`r3ܺ5 @4 \J?֌rPȀ D5VpBpu .>b[*$ < ZXQ-0@rh# 6aP X P=H}>$>,!i}0@ 0}Yl bPcξ~$@)PO)P Wc":sPhОpAĪf { ?@UmIENDB`keepassx-0.4.3/share/keepassx/icons/lock.png0000664000175000017500000000313710755333714020055 0ustar felixfelixPNG  IHDR szzgAMAܲIDATxK\Suo?=lOce!63J-@,,Vφ`!!( (Vl<&<ϣ{[Ţ޾=ds}ԩԹ*Aߝջ+l^m:}e.Ѳp_-B=?%.+ gOcfbj04s͕©CKʿ`] ";NS*_a;7IkD(4܂0;N|.w<>Ӝ ga{ Jgm fK#rs6vl.YGoRaWHG:ɳ٩ x4>Wi+0 ŭ}Yv>5:Y񞥭A1ZpŚ&T[`#7 Z?ag|b N$N0aZ? xD z= ִk 6qQ}( ĞbJF(lZ!ڵdi KΛM}4cЉsnȋJ@ >в&`[m~s7>m>R,mP黑_XS"ƹfM'P.Blk22HClSXv*C}On~Q΍5bm K,MeP*K(:T4'Z9%/!Ctz;}( #N$ʜ ]*wgRrb2(*@ֹ"l,=+:Yp hP$I[T\1 :@@ۍ*vq ^Yɀ(PEiG,ƿlZRQ(߳JФK^ Pm*U7^h6t,@lqUWI ԪhPnPHμ_YwT`ЁX \z[nU{uhu8e=U6Nc0W,~Cl6W. pœ&wakpZu*IENDB`keepassx-0.4.3/share/keepassx/icons/newentry.png0000664000175000017500000000532710602556426021001 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< iIDATxb?@bb`@db[CA0x]ǁ/Lb`.1#`a`S 󗿪ʆtU@7G>|CW M@?C ~a"O~yAo }f9_Dؘ  1?b@,ğ?7e9?BC O0/` .@(bu PGF 0w3?3|Z + ^n=0>؀4ڇ ?eD8 ' )&Q=ar!/a3ftOA hοx̰-K2| = @`#eB"K~e5_tm& L0cgb`'0^A >g8ׯcb``aoV43(_ R\GQ&wܬy澯/``5?@\ /~ax=÷?Dx90c?V3_H #= ʺ<.)#y늅Ͻ۳g`#$&7_2A_?.XaETշ g!bv)$;KtU/Ћ@Zay.c^wUo>Z+0rss(0cn@?`ʞL f} UYZ4צ.y{3\zA 0la`fFn V`daK1wo0_q7^+0 0A@˙~hC/7_-``efbևFf5%:_^b.{up:zp1D\do_+CMw.]z䥩&")"/B 7`xm+0^. t-nBŜݘ>,&vүg@CDQB!C! ٷE6S!o?xoz}#`i Lo2[qG8k R lr36jh ٫T4GU 3 _*{@| 35W0'þ?8M7>xðeO_~ f`gOA vbf|ӲLJXXj"X -zW`3 =>_nj@ RIQa=Qs J `t`q !>E`x)迗j 3<"pG9π)pa?`a 1lxm9; "gg0pJ0J12(j>;Oo9/!OK?.`-灥0 ~(1b>'0pt9Y~B 800~<0PEi %/0,npd%l 8^}XһPk^P ZO{J2?fb#x!.uX`gഐf% 0xw@w!Wb$_Es@1Bs8T',5`` ?B` `p&_ " ,2<9*05.4l 9  +# %<"D!͡olih!~\:'4?'+̰v&Y-9H piĖHmh$ <%iAF.edl#y@-`eg TD.i]w>= %3af$`Qj uo&!@E@+BR ϟ3 1=.P ȼ`A@X!iB<087¢}70la=f_ ldA'?o X/MDkĿ@@g(g?fPؼu7ٛ^?cX@1Rڹ:B@Y-] j?3:0=]NǀrgA0 @w FI"IENDB`keepassx-0.4.3/share/keepassx/icons/copypwd.png0000664000175000017500000000371510602556426020612 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<_IDATxb?@ 0Ce`$B`Pή,/$`',j:)M*kY祻 #gPW.|~ $9&!Z!V 3|򟁑C7 [??xa߿fffFG@4FNZAW Qb 12!=On=>6_XJ!߿,Y c2PL `(c1 C cؿ(!3;g~Z|4=b(++Sra ZAI?ÞS~v% (-g` b!6  ȡ@p3ȀRr f | HJp2 3p^g{*)zpY t"; bbXf+cahu00(2}ALӄ׿_"[" # 6P=@;?$PRT#'< < o=cdbBbn ɮ 8~ex3ób)</ VVL?2| Ff`g0Xh0gf)#0@ofB8Y,ËW?j !4J@3ذD@TtPP1HP/OW`($t?p LL &gaq@,.>p F.9Hp$ G3#vB 濈eӅ?&Ka㜝st곓1]{><`O(Bw& =Ok#[iQf`ﬡ*wo EBVwY"ֽx;ȦwOW/{J;x/ T*]_/P&SGzl~ONMze03n*ݻVIB!N -'hՇځƥ!fT 13ec -#Ŷe]V !7X4M_q_ny.E$" es6K"A.,-MlZm/qMH$8oчɩx.ڼ$ѳHꘙ ɪ|_7Pيrlbfy+^JFzCL,3]`"BӖ:ŠwM&psͺ. 5)Q}ʒp§PgAUmY|܁?װ9 L~j|fgb$1x.ghTF??CDe$ѫL{yv}* fbx0PW!0=$JHv$(}qH,;2sC(s-OIENDB`keepassx-0.4.3/share/keepassx/icons/document.png0000664000175000017500000000264310661133404020732 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe<5IDATxb?@b1UUUgY5-addd`bbbc?~Ǐ@ qqq_|`߾}UTT% !#&&fj s$8rԁ ߿`aaa`ccc000` +bRHHb<<, G05(DWd1b,e;@ fPb9۷oh, XeShšKC!  Ƀ,9&rB &`` (nAla $᠐ yV$c( A ÊRPP>0#A %Ab R+AQr4, X0| 9$azt[` X"bs,Peǖ  [7,A A`A `Y9DԃrX0VXt^X^oq @,|'0P*rF/Aa$\p!,"@a0ŠVP+`!X*`Yk.5)Q(9$r(,@a `;P(0 n-! 6hf/;5 Br\ F7eHMaV<V ~10 afOYD;3/r 9R  CO!=\# 10cg0Sg"<">F -:w0YJ!։7$h0X20p}!#)H )f31v F<((8NtEl ?? ğ880r!3;n6qQn! a t.̮Ȗc-[ +(//+   qqrrr12r10-q; ~)ë@7 *??~fӷ?}G}Gef޲ @7 C  _@g~B#$@00_AV?l Z03<~aglV)=uCnNyEAAb/ r ?!0P;0q:70-gb`l>uwm3 P|ƚުb)$ 9C(сr{ oM %!h_sr2`ROu0x @HM :}Rq@| nC␟oZ| IG> d``a hfbbdx {ϝ%{4Y @,H ]zqOb_a! o>^3xx*jg'4-`CJZc`(f)@eAĵ3 8&?E]|%HHB. ?>Nf_~3LXE0301H0hK31qc`ղ rð(vʽGnյ&YppC=@ * ?bXv-, r ڒl@S0cn@)^fز/->a`x{ %B?y%/`b䲳2]GtK@IӌWOA319g '_7Dl10st`?÷  L \d Bh10(p-AA~2h0h) 0`3👉MQJIISϟ|h@u+"{`52H2V1/`D#`50ށl 14UY0'+3ÞCz ,d7,A9  e'Bzp/afgg?+a)&m`I7W} d@᭎-Um o T,T^etoݵ< ΰ7~3Cw%Ys+0ξȰu@  [Ӥ,&r^a eͻᅧo=9أםqgOV{/3prK^`O`zӖdf(e`y1CI_}eUd @>M= %/ 3#CS}| `yssJ9 /`8l9; 7C0|chl>u `Nːӕ_ES5AVI ]f=|WO[_}Wn> E/@D/RMo)6P ˈ]GKO=02n@5*ޟlY"#`6闁5nz Ϗ_g8__X'a@cݷ0[hA[e}/ P{=Ò'r] @{TȰCYluJ;IENDB`keepassx-0.4.3/share/keepassx/icons/generator.png0000664000175000017500000000557610602556426021122 0ustar felixfelixPNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@p cdd?@?^v~/Q!o> N120\`g` yɰ%o" e'm"ɢi ,O2a5Ϗ>?փ{0&$`,'UP/(bRpռ^~+($,͠, , $ ( ,8~/_~3|>cXe#ϽLam 1]4vdǏ0p@ K:CF% J \\@0A?#8Y߽Cô>;333_pZbc#_7ucen/{:X7FV'A%",@A߿xDE4J @]]-O?_2+˗| lcgA^67pI%f#_Mob  ;vex,$r 00gg3/(]  ÙgXbxvm/NnNM} .Bϻ3_x޽gxߠL?~kH.2|~jq;SMC -{ \ f%^#[igL,,L7'?~ϟp Ǐ3<}]Hk2\pAAC7sDwA]sx&Ë66b*I %!;;6׭[oKJr}/H 9xtB?@ ,?gxaİv_t3V?t*58vfزQ᲎/Ĺ>z `0e@ 7RC14a}Ӈ obȠ>ësw]lr{ܐs f01`s9 ֛OYAXYaُ(X~ i1B3S7P ,?+`-`Ԋ|* fRx1srpPh-FL'_|p7o?w+.,@e P{pSyv6&v&`~?q?@w޷b=70۰BزV冿1Բ n50C-~8Pdcgr-NUM`߀>U@>}-˗^eЄV0~~ A%(G00uxNWng;awl` Z3 0Nֺ̺̐shy9Al`6^ 0Ͱ,ROW y&i̬4_̺ߏ?<B X 0۱z̠_ӏ I@rҢnL,yIW  vZ|$ť9p:ݻW ˗O^ϻ o`?^Jՙ`U) 0,* d/5IENDB`keepassx-0.4.3/share/keepassx/i18n/0000775000175000017500000000000011344562536016060 5ustar felixfelixkeepassx-0.4.3/share/keepassx/i18n/keepassx-sk_SK.qm0000664000175000017500000016256511342454754021271 0ustar felixfelix=8B+gC+I.xL/ZR1T1U3l9u@'tA'B'D(F(DH(xP(R(T)V)HX)|f)r)*z;;;;l5CH4EMgQBQg>SguZl8Zll\3]_9tl$+ɣ֍ӂ.>#VEVEo<}ȹ#n*%*0+U+3JpPGH8qJ fLb0Lb|Lb^LbLbjLbyLLbBM M}:M4N EN-N7N@6NkaO;_O=T4zT;VW32X|4Y[ % [ %3+[ %8[ %@r[ %l[Z\^(TIa.7F"u,Pe/`".V.^318._PqF*Y+]cf/~<hOkJqJ:{{"_˓&8e@~3 ,.bd<\ ^=\Dsj[ 2mqM} ~NII9JB[nzFR vW,K|E %|N`yV'0k n-= A /PI Lg:>8#NW#$#ŕ&:^S-Ki5ۻh55pBZ7A0veq (= =zPn LJ J;mq&n&nO,c58#hfDɃNUP''_Rd`nR'RߎinX߸>Y)H>,N0C3344#oI=}MJNRO_RtuHuw,#xJ N^e`08l` h7j`!ƭ{xƸ*<<6^:AȞ譾N#^{ ѕAZ A Dbh LY gw l[~> C O ("' d  9 C  C4$ C9& C@ Cm Dl MT n% ^n l6% 3 9.G 5s}: 5tc} 8P G?nr J LZ~I OZO| T>* aERl c d:I d<,] d<6 d d dI nM7 qE? s/mN s([ u~ wv  N"C ) >; > >ʐ t. j nx ˔K F> f ] ==_ lSa f f A f B f S f V f X f p f 8) 2  # d I Y LJm Xо Yn* ^ h).IX +e J< JP   )| Ÿ^a M ͓> ] ֕ ( ٷS8 Q. f  A:6k / &+*O ?I By LuN M Z$, [c vY» E ?< S @3 SR g0 4 c  e$ e 5 x w sy sK s , ȶ V UN ܾ @~] ƙdX k > y ?@M / T^T T^[e 7wy% Sus? ^ ^}. mbDxO nL oq }~ .H P P .aW k~ @ 0~ o Er4.HjaM?B:W$d$ߎE.{?EBL&_R܎e>O`ysLX[͒ohQ>kL#n ؾK166|5cs4%+!z/ў_/ўjC^Q:-YqdBbe3Rg^]|p:tDXQ"s|sȞ5\[ =i AutorAuthor AboutDialog Aktulny prekladCurrent Translation AboutDialogVvojr Developer AboutDialog>Vvojr, administrtor projektuDeveloper, Project Admin AboutDialog ChybaError AboutDialog<Sbor '%1' nie je mo~n njse.File '%1' could not be found. AboutDialogbInformcie ako prelo~ie KeePassX m~ete njse na:adom vylepaenia podpory pre MacOS X"Patches for better MacOS X support AboutDialogTmTeam AboutDialog Vaka Thanks To AboutDialog0Rzne opravy a zlepaeniaVarious fixes and improvements AboutDialogWeb dizajnr Web Designer AboutDialogOAboutAboutDlg"Funkcia aplikcieAppFuncAboutDlgNzov aplikcieAppNameAboutDlgCopyright (C) 2005 - 2009 KeePassX tm KeePassX je distribuovan za podmienok licencie General Public License (GPL) verzia 2.~Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2.AboutDlgPoakovanieCreditsAboutDlgLicenciaLicenseAboutDlgPreklad TranslationAboutDlg>http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlgPridae zlo~ku Add BookmarkAddBookmarkDlg"Vaetky sbory (*) All Files (*)AddBookmarkDlgPrezerae... Browse...AddBookmarkDlgUpravie zlo~ku Edit BookmarkAddBookmarkDlg Sbor:File:AddBookmarkDlg0KeePass databzy (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgTitulok:Title:AddBookmarkDlg Auto-vyplHovanie Auto-Type AutoTypeDlgVKliknite na polo~ku na je auto-vyplHovanie."Click on an entry to auto-type it. AutoTypeDlgSkupinaGroup AutoTypeDlg6KeePassX - Auto-vyplHovanieKeePassX - Auto-Type AutoTypeDlgTitulokTitle AutoTypeDlg Meno pou~vate>aUsername AutoTypeDlgN'%1' nie je platn celo seln hodnota. '%1' is not valid integer value.CDbSettingsDlgHAES(Rijndael): 256 Bit (atandard)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg ChybaErrorCDbSettingsDlgOKOKCDbSettingsDlgNUr ite prosm po et kl pre aifrovanie.1Please determine the number of encryption rounds.CDbSettingsDlgNastaveniaSettingsCDbSettingsDlgTPo et kl aifrovania mus bye v a ne~ 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgVarovanieWarningCDbSettingsDlg %1 Bit%1 Bit CEditEntryDlg1 mesiac1 Month CEditEntryDlg1 t~deH1 Week CEditEntryDlg 1 rok1 Year CEditEntryDlg2 t~dne2 Weeks CEditEntryDlg3 mesiace3 Months CEditEntryDlg3 t~dne3 Weeks CEditEntryDlg6 mesiacov6 Months CEditEntryDlg"Pridae prlohu...Add Attachment... CEditEntryDlgKalendr... Calendar... CEditEntryDlg6Nie je mo~n otvorie sbor.Could not open file. CEditEntryDlgZmazae prlohu?Delete Attachment? CEditEntryDlgUpravie polo~ku Edit Entry CEditEntryDlg ChybaError CEditEntryDlgPVyskytla sa chyba pri zapisovan sboru.Error while writing the file. CEditEntryDlgNov polo~ka New Entry CEditEntryDlgNie, zruaie No, Cancel CEditEntryDlgOKOK CEditEntryDlgHeslo ako jeho zopakovan heslo nie s rovnak. Prekontrolujte svoj vstup.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg"Ulo~ie prlohu...Save Attachment... CEditEntryDlg\Zvolen polo~ka nem prlohu alebo je przdna.2The chosen entry has no attachment or it is empty. CEditEntryDlgDnesToday CEditEntryDlgVarovanieWarning CEditEntryDlgnoYes CEditEntryDlglIdete zmazae prlohu k tejto polo~ke. Ste si tm ist?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg,[Nepomenovan polo~ka][Untitled Entry] CEditEntryDlg%1 bitov%1 Bits CGenPwDialogGenertor heslaPassword Generator CGenPwDialog>%1: Sbor nie je mo~n na tae.%1: File could not be loaded.CSelectIconDlg(Pridae vlastn ikonuAdd Custom IconCSelectIconDlgPridae ikonu... Add Icons...CSelectIconDlgJVyskytla sa chyba pri na tan ikony:+An error occured while loading the icon(s):CSelectIconDlgJVyskytla sa chyba pri na tan ikony.(An error occured while loading the icon.CSelectIconDlg ZmazaeDeleteCSelectIconDlg ChybaErrorCSelectIconDlgObrzky (%1) Images (%1)CSelectIconDlg VybraePickCSelectIconDlgNahradie... Replace...CSelectIconDlg(Vyberte prie inok...Select a directory... CSettingsDlg$Vyberte program...Select an executable... CSettingsDlgNastaveniaSettings CSettingsDlgSystmov jazykSystem Language CSettingsDlgKalendrCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Potrebn mno~stvo entropie pre generovanie nhodnch  sel bolo zskan!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgZbieram entropiu... Prosm hbte myaou a/alebo stl ajte klvesy pokia> sa nezozbiera dostatok entropie pre genertor nhodnch  siel.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg$Zbieranie entropieEntropy CollectionCollectEntropyDlg4Genertor nhodnch  sielRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogNzov prlohyAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogTu n (Bold)BoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogCentrovanCenteredCustomizeDetailViewDialogKomentrCommentCustomizeDetailViewDialog Dtum vytvorenia Creation DateCustomizeDetailViewDialog DialgDialogCustomizeDetailViewDialog2Dtum uplynutia platnostiExpiration DateCustomizeDetailViewDialogVe>kose psma Font SizeCustomizeDetailViewDialogSkupinaGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialog"Sklonen (italic)ItalicCustomizeDetailViewDialog$Zarovnan do bloku JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog2Dtum poslednho prstupuLast Access DateCustomizeDetailViewDialog,Dtum poslednej pravyLast Modification DateCustomizeDetailViewDialog Zarovnan do>ava Left-AlignedCustomizeDetailViewDialog HesloPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog Pokro il editorRich Text EditorCustomizeDetailViewDialog"Zarovnan doprava Right-AlignedCustomizeDetailViewDialog`TCustomizeDetailViewDialog`ablny TemplatesCustomizeDetailViewDialogFarba textu Text ColorCustomizeDetailViewDialog4 as do vypraania platnostiTime till ExpirationCustomizeDetailViewDialogTitulokTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogPod iarknut UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialog Meno pou~vate>aUsernameCustomizeDetailViewDialog NikdyNeverDatabaseAlgoritmus: Algorithm:DatabaseSettingsDlgzVypo tae po et kl pre 1 sekundov trvanie na tomto po ta i6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg&Nastavenia databzyDatabase SettingsDatabaseSettingsDlg`ifrovanie EncryptionDatabaseSettingsDlg `ifrovacie kol:Encryption Rounds:DatabaseSettingsDlgKomentrCommentDetailViewTemplateVytvorenieCreationDetailViewTemplate&Uplynutie platnosti ExpirationDetailViewTemplateSkupinaGroupDetailViewTemplate Posledn prstup Last AccessDetailViewTemplatePosledn pravaLast ModificationDetailViewTemplate HesloPasswordDetailViewTemplateOzna enieTitleDetailViewTemplateURLURLDetailViewTemplate Meno pou~vate>aUsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialogPrloha: Attachment:EditEntryDialogKomentr:Comment:EditEntryDialogUpravie polo~ku Edit EntryEditEntryDialog(Uplynutie platnosti:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialogSkupina:Group:EditEntryDialog Ikona:Icon:EditEntryDialog NikdyNeverEditEntryDialog Heslo: Password:EditEntryDialogKvalita:Quality:EditEntryDialogZopakovae:Repeat:EditEntryDialogOzna enie:Title:EditEntryDialogURL:URL:EditEntryDialog"Meno pou~vate>a: Username:EditEntryDialog>>EditGroupDialog$Vlastnosti skupinyGroup PropertiesEditGroupDialog Ikona:Icon:EditGroupDialogOzna enie:Title:EditGroupDialog<Dvojklikom sa polo~ka zobraz.'Double click on an entry to jump to it.ExpiredEntriesDialog.Uplynut doba platnostiExpiredExpiredEntriesDialogFPolo~ky s uplynutou dobou platnostiExpired EntriesExpiredEntriesDialog\Polo~ky v databze s uplynutou dobou platnostiExpired Entries in the DatabaseExpiredEntriesDialogSkupinaGroupExpiredEntriesDialogOzna enieTitleExpiredEntriesDialog Meno pou~vate>aUsernameExpiredEntriesDialog"Vaetky sbory (*) All Files (*)Export_KeePassX_Xml$KeePassX XML sborKeePassX XML FileExport_KeePassX_Xml$XML Sbory (*.xml)XML Files (*.xml)Export_KeePassX_Xml"Vaetky sbory (*) All Files (*) Export_TxtTextov sbor Text File Export_Txt,Textov sbory (*.txt)Text Files (*.txt) Export_TxtExport zlyhal Export Failed ExporterBase&Exportovae sbor...Export File... ExporterBase4Vyskytla sa fatlna chyba.A fatal error occurred. FileErrors2 as pre operciu vypraal.A timeout occurred. FileErrorsNVyskytla sa chyba pri  tan zo sboru..An error occurred while reading from the file. FileErrorsVVyskytla sa chyba pri zapisovan do sboru.,An error occurred while writing to the file. FileErrors4Vyskytla sa chyba zdrojov.An resource error occurred. FileErrorsDVyskytla sa neapecifikovan chyba.An unspecified error occurred. FileErrors6Nevyskytla sa ~iadna chyba.No error occurred. FileErrorsDK sboru nie je mo~n pristupovae.The file could not be accessed. FileErrors<Sbor nie je mo~n skoprovae.The file could not be copied. FileErrors6Sbor nie je mo~n otvorie.The file could not be opened. FileErrors8Sbor nie je mo~n presune.The file could not be removed. FileErrors<Sbor nie je mo~n premenovae.The file could not be renamed. FileErrorsDVe>kose sbor nie je mo~n zmenie.The file could not be resized. FileErrors0Opercia bola preruaen.The operation was aborted. FileErrorsJNie je mo~n zmenie pozciu v sbore..The position in the file could not be changed. FileErrorsMa&l psmen&Lower LettersGenPwDlg &Mnus&MinusGenPwDlg & sla&NumbersGenPwDlg &`pecilne znaky&Special CharactersGenPwDlgPod iarkn&utie &UnderlineGenPwDlg&Ve>k psmen&Upper LettersGenPwDlg&Biele znaky &White SpacesGenPwDlg:Zbierae iba pre jednu relciuCollect only once per sessionGenPwDlgVlastnCustomGenPwDlg4Povolie zbieranie entropieEnable entropy collectionGenPwDlgVHeslo mus obsahovae znaky z ka~dej skupiny9Ensure that password contains characters from every groupGenPwDlg(Bez podobnch znakovExclude look-alike charactersGenPwDlgGenerovaeGenerateGenPwDlg D:~ka:Length:GenPwDlgMal psmen Lower LettersGenPwDlgNove heslo: New Password:GenPwDlg  slaNumbersGenPwDlg Vo>byOptionsGenPwDlgGenertor heslaPassword GeneratorGenPwDlgVyslovite>n PronounceableGenPwDlgKvalita:Quality:GenPwDlgNhodnRandomGenPwDlg`pecilne znakySpecial CharactersGenPwDlgVe>k psmen Upper LettersGenPwDlgBPou~ie nasledovn skupinu znakov:Use following character groups:GenPwDlg2Pou~ite nasledovn znaky:Use the following characters:GenPwDlgPrv strana First PageHelpDlgObsah pomocnka Help ContentsHelpDlg$Nasledujca strana Next PageHelpDlg*Predchdzajca strana Previous PageHelpDlg"Vaetky sbory (*) All Files (*)Import_KWalletXml2Dokument neobsahuje dta.Document does not contain data.Import_KWalletXmlImport zlyhal Import FailedImport_KWalletXmlZNeplatn XML dta (detaily njdete v stdout).*Invalid XML data (see stdout for details).Import_KWalletXml&Neplatn XML sbor.Invalid XML file.Import_KWalletXml$XML Sbory (*.xml)XML Files (*.xml)Import_KWalletXml"Vaetky sbory (*) All Files (*)Import_KeePassX_XmlImport zlyhal Import FailedImport_KeePassX_Xml6KeePassX XML sbory (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmltChyba spracovania: Sbor nie je platn KeePassX XML sbor.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmljChyba pri spracovan xml na riadku %1 v st:pci %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml"Vaetky sbory (*) All Files (*)Import_PwManagerVKomprimovan sbor eate nie su podporovan.'Compressed files are not supported yet.Import_PwManagerLSbor je poakoden (hash test zlyhal).#File is damaged (hash test failed).Import_PwManager"Sbor je przdny.File is empty.Import_PwManagerHSbor nie je platn PwManager sbor. File is no valid PwManager file.Import_PwManagerImport zlyhal Import FailedImport_PwManagerZNeplatn XML dta (detaily njdete v stdout).*Invalid XML data (see stdout for details).Import_PwManager0PwManager sbory (*.pwm)PwManager Files (*.pwm)Import_PwManagerFNepodporovan aifrovac algoritmus.!Unsupported encryption algorithm.Import_PwManager8Nepodporovan verzia sboru.Unsupported file version.Import_PwManager<Nepodporovan hash algoritmus.Unsupported hash algorithm.Import_PwManagerChybn heslo.Wrong password.Import_PwManagerImport zlyhal Import Failed ImporterBase&Importovae sbor...Import File... ImporterBase6Nie je mo~n otvorie sbor.Could not open file. Kdb3DatabasexDeaifrovanie zlyhalo. K> je zl, alebo je sbor poakoden.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabasetHash test zlyhal. The key is wrong or the file is damaged.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database2Neplatn skupinov strom.Invalid group tree. Kdb3Database4Sbor s k> om je przdny.Key file is empty. Kdb3Database^Databza bola otvoren iba v re~ime na  tanie.'The database has been opened read-only. Kdb3Database`Databza mus obsahovae minimlne jednu skupinu.-The database must contain at least one group. Kdb3Database\Nie je mo~n inicializovae algoritmus twofish.+Unable to initialize the twofish algorithm. Kdb3DatabaseTNeo akvan chyba: Offset je mimo rozsahu.)Unexpected error: Offset is out of range. Kdb3DatabasevNeo akvan ve>kose sboru (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database:Neznmy aifrovac algoritmus.Unknown Encryption Algorithm. Kdb3Database:Neznmy aifrovac algoritmus.Unknown encryption algorithm. Kdb3Database8Nepodporovan verzia sboru.Unsupported File Version. Kdb3DatabaseZl podpisWrong Signature Kdb3Database BajtyBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandledSte si ist, ~e chcete odstrnie tieto %1 polo~ky?1Are you sure you want to delete these %1 entries?KeepassEntryView\Ste si ist, ~e chcete odstrnie tto polo~ku?+Are you sure you want to delete this entry?KeepassEntryViewzPred vlo~enm polo~ky mus existovae minimlne jedna skupina.5At least one group must exist before adding an entry.KeepassEntryViewPrloha AttachmentKeepassEntryViewKomentrCommentsKeepassEntryViewVytvorenieCreationKeepassEntryViewZmazae?Delete?KeepassEntryView ChybaErrorKeepassEntryView&Uplynutie platnostiExpiresKeepassEntryViewSkupinaGroupKeepassEntryView Posledn prstup Last AccessKeepassEntryViewPosledn zmena Last ChangeKeepassEntryViewOKOKKeepassEntryView HesloPasswordKeepassEntryViewOzna enieTitleKeepassEntryViewURLURLKeepassEntryView Meno pou~vate>aUsernameKeepassEntryViewSte si ist, ~e chcete zmazae tto skupinu, vaetky jej podskupiny a vaetky ich polo~ky?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewZmazae?Delete?KeepassGroupView"Vsledky h>adaniaSearch ResultsKeepassGroupView%1 dni/dn%1 DaysKeepassMainWindow&%1 mesiace/mesiacov %1 MonthsKeepassMainWindow%1 roky/rokov%1 YearsKeepassMainWindow6&Uzamkne pracovn priestor&Lock WorkspaceKeepassMainWindow 1 deH1 DayKeepassMainWindow1 mesiac1 MonthKeepassMainWindow 1 rok1 YearKeepassMainWindow"Vaetky sbory (*) All Files (*)KeepassMainWindow Klonovae polo~ky Clone EntriesKeepassMainWindow Klonovae polo~ku Clone EntryKeepassMainWindowNNie je mo~n uzamkne databzov sbor.#Couldn't create database lock file.KeepassMainWindowNie je mo~n vytvorie zmok pre sbor. Otvram databzu v re~ime iba na  tanie.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowVNie je mo~n odstrnie uzamknutie databzy.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow*Databza je uzamknutDatabase lockedKeepassMainWindowZmazae polo~kyDelete EntriesKeepassMainWindowZmazae polo~ku Delete EntryKeepassMainWindow ChybaErrorKeepassMainWindow0Uplynutie doba platnostiExpiredKeepassMainWindow4Sbor nie je mo~n ulo~ie.File could not be saved.KeepassMainWindow0KeePass databzy (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow*Na tanie databzy...Loading Database...KeepassMainWindow"Na tanie zlyhaloLoading FailedKeepassMainWindow&Otvorie databzu...Open Database...KeepassMainWindow,Otvorie iba na  tanieOpen read-onlyKeepassMainWindowPripravenReadyKeepassMainWindow$Ulo~ie databzu...Save Database...KeepassMainWindow4Ulo~ie modifikovan sbor?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow2Zobrazie panel ns&trojov Show &ToolbarKeepassMainWindowrAktulny sbor bol modifikovan. Prajete si ulo~ie zmeny??The current file was modified. Do you want to save the changes?KeepassMainWindow8Databzov sbor neexistuje.!The database file does not exist.KeepassMainWindowLDatabza, ktor sa pokaate otvorie, je uzamknut. Toto znamen, ~e bu u~ ju niekto otvoril, alebo KeePassX pri poslednom spusten spadol. Chcete ju aj tak otvorie?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowhNasledujca chyba sa vyskytla pri otvran databzy:7The following error occured while opening the database:KeepassMainWindow6&Odomkne pracovn priestorUn&lock WorkspaceKeepassMainWindowLNeznmy chyba pri na tavan databzy.%Unknown error while loading database.KeepassMainWindowmenej ne~ 1 deHless than 1 dayKeepassMainWindowuzamknutlockedKeepassMainWindownovnewKeepassMainWindow ChybaErrorMain<Sbor '%1' nie je mo~n njse.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&O programe... &About... MainWindow$Prid&ae zlo~ku...&Add Bookmark... MainWindow4Prid&ae nov podskupinu...&Add New Subgroup... MainWindow&Zlo~ky &Bookmarks MainWindow"&Klonovae polo~ku &Clone Entry MainWindow$&Zatvorie databzu&Close Database MainWindow&St:pce&Columns MainWindow&Komentr&Comment MainWindow.Nastavenia &databzy...&Database Settings... MainWindowZ&mazae skupinu &Delete Group MainWindow&Upravie s&kupinu...&Edit Group... MainWindow&Vstupy&Entries MainWindow&Export do... &Export to... MainWindow &Sbor&File MainWindowS&kupina&Group MainWindowS&kupiny&Groups MainWindow&Pomocnk&Help MainWindow&Import z...&Import from... MainWindow*&KeePassX prru ka...&KeePassX Handbook... MainWindowPos&ledn zmena &Last Change MainWindow:&Uzamkne pracovn prostredie&Lock Workspace MainWindow*Sp&ravovae zlo~ky...&Manage Bookmarks... MainWindow"&Nov databza...&New Database... MainWindow(&Otvorie databzu...&Open Database... MainWindow&Otvorie URL &Open URL MainWindow &Heslo &Password MainWindow&Genertor &hesla...&Password Generator... MainWindow.S&pustie auto-vyp:Hanie&Perform AutoType MainWindow&Koniec&Quit MainWindow,U&lo~ie prlohu ako...&Save Attachment As... MainWindow &Ulo~ie databzu&Save Database MainWindowNa&stavenia... &Settings... MainWindow&Titulok&Title MainWindow&URL&URL MainWindowZ&obrazie&View MainWindow8Zobrazie/upra&vie polo~ku...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindowPr&loha A&ttachment MainWindow.Pridae &nov polo~ku...Add &New Entry... MainWindow,Pridae nov skupinu...Add New Group... MainWindowHPridae &tto databzu do zlo~iek...Bookmark &this Database... MainWindowVytvo&renie C&reation MainWindow,Z&menie hlavn k> ...Change &Master Key... MainWindowPSkoprovae meno po&u~vate>a do schrnkyCopy &Username to Clipboard MainWindow:Skoprovae heslo &do schrnkyCopy Password &to Clipboard MainWindow4Skoprovae URL do schrnkyCopy URL to Clipboard MainWindowZmazae po&lo~ku De&lete Entry MainWindow(&Uplynutie platnostiE&xpires MainWindow E&xtraE&xtras MainWindowSkupinyGroups MainWindow SkryeHide MainWindowSkrye &heslHide &Passwords MainWindow2Skrye po&u~vate>sk menHide &Usernames MainWindowKeePassXKeePassX MainWindow"Posl&edn prstup Last &Access MainWindow Odpadkov ka...Recycle Bin... MainWindow.Ulo~ie databzu &ako...Save Database &As... MainWindow*H>adae &v databze...Search &in Database... MainWindow4H>adae v tejto &skupine...Search in this &Group... MainWindow2&Zobrazie detaily polo~kyShow &Entry Details MainWindowVZobrazie polo~ky s vypr&aanou platnoseou...Show &Expired Entries... MainWindow0Zobrazie &stavov riadokShow &Statusbar MainWindowZoradie skupiny Sort groups MainWindow.Ve>kose &ikon na panelyToolbar &Icon Size MainWindowP&ou~vate> User&name MainWindowSprva zlo~iekManage BookmarksManageBookmarksDlg>%1: Sbor nie je mo~n na tae.%1: File is not readable.PasswordDialogT%1: Tak sbor alebo prie inok neexistuje.%1: No such file or directory.PasswordDialog"Vaetky sbory (*) All Files (*)PasswordDialog$Zmenie hlavn k> Change Master KeyPasswordDialog4Vytvorie sbor s k> om...Create Key File...PasswordDialogDatabzov k>  Database KeyPasswordDialog$Vlo~te hlavn k> Enter Master KeyPasswordDialog.Sbory s k> om (*.key)Key Files (*.key)PasswordDialogPosledn sbor Last FilePasswordDialogRProsm, vlo~te heslo alebo vyberte sbor.-Please enter a Password or select a key file.PasswordDialog*Prosm, vlo~te heslo.Please enter a Password.PasswordDialogBProsm poskytnite sbor s k> om.Please provide a key file.PasswordDialog,Vyberte sbor s k> omSelect a Key FilePasswordDialog(Nastavie hlavn k> Set Master KeyPasswordDialogDan prie inok obsahuje viac ako jeden sbor s k> om. Prosm vyberte sbor s k> om.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogTDan prie inok neobsahuje sbory s k> mi.3The given directory does not contain any key files.PasswordDialogrZvolen sbor s k> om alebo prie inok nie je na  tanie.3The selected key file or directory is not readable.PasswordDialog&Prezerae... &Browse... PasswordDlgSpeBack PasswordDlgXVlo~te heslo a/alebo vyberte sbor s k> om.*Enter a Password and/or choose a key file. PasswordDlg:Vygenerovae sbor s k> om...Generate Key File... PasswordDlgK> Key PasswordDlgSbor s k> om: Key File: PasswordDlgPosledn sbor Last File PasswordDlg Heslo: Password: PasswordDlg(Hesl nie s zhodn.Passwords are not equal. PasswordDlg.Zopakujte prosm heslo:Please repeat your password: PasswordDlgH>adanieSearch SearchDialog4&Rozliaovae ve>kose psmen&Case Sensitive Search_DlgO&zna enia&Titles Search_Dlg"Meno po&u~vate>a &Usernames Search_DlgA&nhangA&nhang Search_DlgK&omentre C&omments Search_Dlg<Vrtane podskupn (rekurzvne)Include Subgroups (recursive) Search_DlgZahrne:Include: Search_Dlg &Hesl Pass&words Search_Dlg Regulrny &vrazRegular E&xpression Search_DlgH>adae: Search For: Search_DlgH>adanie... Search... Search_DlgU&RLU&RLs Search_DlgVber ikonyIcon Selection SelectIconDlgPokro ilAdvancedSettingsDialog4Alternatvne farby riadkovAlternating Row ColorsSettingsDialog`V~dy sa ptae pre zmazanm polo~iek alebo skupn,Always ask before deleting entries or groupsSettingsDialog Vzh>ad AppearanceSettingsDialog Autor:Author:SettingsDialogFVylaovanie automatickho vkladaniaAuto-Type Fine TuningSettingsDialogXAutomaticky ulo~ie databzu pri ka~dej zmene.Automatically save database after every changeSettingsDialogAutomaticky ulo~ie databzu pri ukon en a uzamknut pracovnho priestoru9Automatically save database on exit and workspace lockingSettingsDialogFarba banera Banner ColorSettingsDialogZlo~ky BookmarksSettingsDialogPrezeraeBrowseSettingsDialogPrezerae... Browse...SettingsDialog&Zmenie... C&hange...SettingsDialogZmenie... Change...SettingsDialog0Vymazae histriu - TerazClear History NowSettingsDialog(Vymazae schrnku po:Clear clipboard after:SettingsDialogFarba 1:Color 1:SettingsDialogFarba 2:Color 2:SettingsDialogKonfigurovae... Configure...SettingsDialog:Prkaz pre vlastn prehliada Custom Browser CommandSettingsDialogRPrispsobie zobrazenie detailu polo~ky...Customize Entry Detail View...SettingsDialog2Dialg databzovho k> aDatabase Key DialogSettingsDialogOmeakanie medzi dvoma simulovanmi stla eniami klvesov. Zvate ho, ak auto-vkladanie nhodne preskakuje znaky.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialog6Zmazae staraie polo~ky ako:!Delete backup entries older than:SettingsDialog2Nerozbalie ~iadnu polo~kuDo not expand any itemSettingsDialog.Upravie polo~ku dialguEdit Entry DialogSettingsDialogPovolie tto vo>bu, ak chcete pou~vae zlo~ky a naposledy otvoren sbor nezvisle na ich absoltnej ceste. Toto je osobitne u~ito n, ak pou~vate> prenosn KeePassX a teda sa menia body pripojenia k sborovmu systmu.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog.Rozbalie vaetky polo~kyExpand all itemsSettingsDialogVaeobecn (1) General (1)SettingsDialogVaeobecn (2) General (2)SettingsDialogHGloblna skratka pre auto-vkladanie:Global Auto-Type Shortcut:SettingsDialog8Integrcia s Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog4Strom skupn pri spusten:Group tree at start-up:SettingsDialog$Integrcia s KDE 4KDE 4 Desktop IntegrationSettingsDialog6Omeakanie stla enia klves:Key Stroke Delay:SettingsDialog JazykLanguageSettingsDialog Jazyk: Language:SettingsDialog>Uzamkne databzu po neaktivite!Lock database after inactivity ofSettingsDialogzUzamkne pracovn prostredie pri minimalizovan hlavnho okna.Lock workspace when minimizing the main windowSettingsDialog Prie inok mdi: Media Root:SettingsDialogFMinimalizovae od systmovej oblasti#Minimize to tray instead of taskbarSettingsDialog }iadnyNoneSettingsDialogZsuvn modulyPlug-InsSettingsDialog(Aktiva n omeakanie:Pre-Gap:SettingsDialogVPamtae si posledn typ k> a a umiestnenie#Remember last key type and locationSettingsDialogDPamtae si posledn otvoren sborRemember last opened fileSettingsDialog*Obnovie posledn stavRestore last stateSettingsDialogjUlo~ie zlohy upravench polo~iek do skupiny 'Backup'8Save backups of modified entries into the 'Backup' groupSettingsDialogXUlo~ie posledn prie inky sborovho dialgu'Save recent directories of file dialogsSettingsDialogbUlo~ie relatvne cesty (zlo~ky a posledn sbor)-Save relative paths (bookmarks and last file)SettingsDialogBezpe noseSecuritySettingsDialogNastaveniaSettingsSettingsDialogBZobrazie prost textov hesla v:Show plain text passwords in:SettingsDialogFZobrazie ikonu v systmovej oblastiShow system tray iconSettingsDialog4Zobrazie okno v~dy navrchuShow window always on topSettingsDialog"Spustie uzamknut Start lockedSettingsDialog,Spustie minimalizovanStart minimizedSettingsDialogFarba textu: Text Color:SettingsDialogPrie inok, kde sa zvy ajne pripjaj zariadenia ako CD, pameov disky.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialog as medzi aktivciou auto-vkladania pou~vate>om a prv simulovanm stla enm klvesu.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialog~Pou~ie zhodu popisu polo~ky s oknom pre globlne auto-vkladanie;Use entries' title to match the window for Global Auto-TypeSettingsDialogTu m~ete zakzae niektor vlastnosti KeePassX pod>a svojich potrieb, aby ste udr~ali pou~vate>sk rozhranie athle.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogfMuste reatartovae program, aby sa zmeny prejavili.?You need to restart the program before the changes take effect.SettingsDialogdndaysSettingsDialogmsmsSettingsDialog sekndsecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget$Vlo~te svoje hesloEnter your PasswordSimplePasswordDialog Heslo: Password:SimplePasswordDialogHAuto-vyp:Hanie: Vyberte cie>ov oknoAuto-Type: Select Target WindowTargetWindowDlgNa ur enie cie>ovho okna, bu vyberte aktulne otvoren otvoren okno zo zoznamu, alebo vlo~te nzov okna manulne:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg$Slovensky (Slovak)$LANGUAGE_NAME TranslationZdenko Podobn$TRANSLATION_AUTHOR Translation zdenop@gmail.com$TRANSLATION_AUTHOR_EMAIL Translationh<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Pracovn prostredie je uzamknut.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget"Zatvorie databzuClose DatabaseWorkspaceLockedWidgetFormulrFormWorkspaceLockedWidgetOdomkneUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-nl_NL.qm0000664000175000017500000016755711342454754021267 0ustar felixfelix>B-EC-I0 L0R2oT3{U4;@)TA)B)D)F*$H*XP*R*T*V+(X+\f+r+,Z;!;;-;pECjH4MjQ\QkSkSZl:Zlp\5_]Ӛ_tGl$-v9֍n/kVEVEok>[}9#Bn%*%B*0++03Jt$GH8J jLb6LbLbLbLbnLb}LbzM M}<|M4N N/N9ANANosO<O?_T5T="VW3XYh[ % Z[ %4[ %:`[ %A[ %p[Z\^Ta.8"u.pPe1gci..ba338.qG*[+>]gVf/~?ThQkLϿJ:0_˓(8eI@ ,.f<\ =_Dsj[ 4Amu#} ~II;;LL[nFRAvWvM:|Gv %Q`yYu1 n/ 1 /S1 Lk:>8ž#NZ$#&:^V-Km5ۻ5*5tB%?HÌRzÎ#Mw5ݮ/`m4r&}^If!"Ct#C-26G6G:Cn=C;DcK!WN3PP;UDZ{R}Enb]Țv_HC HX}9+zn-6>])2veq j= #=~n NJ WJ;muv&n&nR,A58#l\DɃPP''v_Rz`nT'&ߎnn߸>\)VH>,N b0D]3t3.4O4#sI=}MJNCRO_R=t6uHuhw,#}J tNbeV2%:pp 8nz_ƭƸ*=:+Ȟ譾N#^ ѕB A Db LY gwn l[~r i E Oh ("( dғ  ;s C C5 C: CB Cq DN MTG n% 8 ^n l7 3H 9.I 5s 5tc 8S G?nv J ] LZ~K OZO/ T? aEU` cN d: d<.+ d<8u dC d dI nM+ qEA s/q\ s( u~ ~5 wb ? N"G ) >=U > >, t0 n rr ˔M F>U i `< => lS f  f BS f Cp f VC f X f [ f t f  9 4  # I YD LJ XоD Yn ^ h).KL +e J= JSu   ^ )f Ÿ^en M4 ͓> ֕  ٷV t Q. jL  A:8 1 &+* ?I# B~4 LuQ Md Z$- [c vY˻ F ?> S @5 SU g 4 cu  h iP 5 w s s sɧ , ȶ  X ܾK @~ad ƙh o1 @z } ?@P  T^Wn T^^q 7wyy Sus@ ^ ^}Z mbD| n ou }~ .J PG P .e k~ @& 0~ Er6Z.JRaOB}:k$*$ߎ.{S?EBL&cR܎+e>R.ysN[ׄ1shT6kN_#n ؾK26~cw%,!/ўc/ўC^Q:YqdCe3Ug^`p<8tEXTx`sȞ \[ i AuteurAuthor AboutDialog"Huidige vertalingCurrent Translation AboutDialogOntwikkelaar Developer AboutDialog6Ontwikkelaar, ProjectleiderDeveloper, Project Admin AboutDialogFoutError AboutDialog:Kan bestand '%1' niet vinden.File '%1' could not be found. AboutDialogvU kunt informatie over het vertalen van KeePassX vinden op:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg$Favoriet toevoegen Add BookmarkAddBookmarkDlg$Alle bestanden (*) All Files (*)AddBookmarkDlgBladeren... Browse...AddBookmarkDlg"Favoriet wijzigen Edit BookmarkAddBookmarkDlgBestand:File:AddBookmarkDlg2KeePass-databases (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlg Titel:Title:AddBookmarkDlg&Automatich invullen Auto-Type AutoTypeDlgbKlik op een item om dit automatisch in te vullen."Click on an entry to auto-type it. AutoTypeDlg GroepGroup AutoTypeDlg>KeePassX - Automatisch-invullenKeePassX - Auto-Type AutoTypeDlg TitelTitle AutoTypeDlgGebruikersnaamUsername AutoTypeDlg4'%1' is geen geheel getal. '%1' is not valid integer value.CDbSettingsDlgHAES (Rijndael), 256 bits (standaard)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgFoutErrorCDbSettingsDlgOKOKCDbSettingsDlgVStel het aantal versleutelingsiteraties in.1Please determine the number of encryption rounds.CDbSettingsDlgInstellingenSettingsCDbSettingsDlg|Het aantal versleutelingsiteraties dient groter dan 0 te zijn.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish, 256 bitsTwofish: 256 BitCDbSettingsDlgWaarschuwingWarningCDbSettingsDlg%1 Bits%1 Bit CEditEntryDlg1 maand1 Month CEditEntryDlg 1 week1 Week CEditEntryDlg 1 jaar1 Year CEditEntryDlg2 weken2 Weeks CEditEntryDlg3 maanden3 Months CEditEntryDlg3 weken3 Weeks CEditEntryDlg6 maanden6 Months CEditEntryDlg(Bijlage toevoegen...Add Attachment... CEditEntryDlgKalender... Calendar... CEditEntryDlg0Kan bestand niet openen.Could not open file. CEditEntryDlg(Bijlage verwijderen?Delete Attachment? CEditEntryDlgItem wijzigen Edit Entry CEditEntryDlgFoutError CEditEntryDlgNFout bij het schrijven van het bestand.Error while writing the file. CEditEntryDlgNieuw item New Entry CEditEntryDlgNee, annuleren No, Cancel CEditEntryDlgOKOK CEditEntryDlgHet ingevoerde wachtwoord komt niet overeen met het bevestigde wachtwoord. Controleer uw invoer.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg$Bijlage opslaan...Save Attachment... CEditEntryDlg`Het gekozen item heeft geen of een lege bijlage.2The chosen entry has no attachment or it is empty. CEditEntryDlgVandaagToday CEditEntryDlgWaarschuwingWarning CEditEntryDlgJaYes CEditEntryDlgzWeet u zeker dat u de bijlage bij dit item wilt verwijderen?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg[Naamloos][Untitled Entry] CEditEntryDlg%1 Bits%1 Bits CGenPwDialog&WachtwoordgeneratorPassword Generator CGenPwDialogH%1: Bestand kan niet worden geladen.%1: File could not be loaded.CSelectIconDlg2Nieuw pictogram toevoegenAdd Custom IconCSelectIconDlg2Pictogrammen toevoegen... Add Icons...CSelectIconDlgtEr is een fout opgetreden bij het laden van het pictogram:+An error occured while loading the icon(s):CSelectIconDlgtEr is een fout opgetreden bij het laden van het pictogram.(An error occured while loading the icon.CSelectIconDlgVerwijderenDeleteCSelectIconDlgFoutErrorCSelectIconDlg"Afbeeldingen (%1) Images (%1)CSelectIconDlgSelecterenPickCSelectIconDlgVervangen... Replace...CSelectIconDlgKies een map...Select a directory... CSettingsDlg>Kies een uitvoerbaar bestand...Select an executable... CSettingsDlgVoorkeurenSettings CSettingsDlg@Taal volgens systeeminstellingenSystem Language CSettingsDlgKalenderCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Er is voldoende entropie gegenereerd voor het initiren van de toevalsgenerator.</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgEntropie wordt gegenereerd.. Verplaats de cursor van de muis en/of sla enkele toetsen op het toetsenbord aan totdat voldoende entropie is gegenereerd voor het initialiseren van de toevalsgenerator.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlgEntropy CollectionCollectEntropyDlg ToevalsgeneratorRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogNaam bijlageAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogVetBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogGecentreerdCenteredCustomizeDetailViewDialogNotitiesCommentCustomizeDetailViewDialogAanmaakdatum Creation DateCustomizeDetailViewDialogVensterDialogCustomizeDetailViewDialogVervaldatumExpiration DateCustomizeDetailViewDialogLettergrootte Font SizeCustomizeDetailViewDialog GroepGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogCursiefItalicCustomizeDetailViewDialogUitgevuld JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialogLaatst bekekenLast Access DateCustomizeDetailViewDialog Laatst gewijzigdLast Modification DateCustomizeDetailViewDialog Links uitgelijnd Left-AlignedCustomizeDetailViewDialogWachtwoordPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog@Tekstveld met opmaak (Rich Text)Rich Text EditorCustomizeDetailViewDialog"Rechts uitgelijnd Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialogSjablonen TemplatesCustomizeDetailViewDialogTekstkleur Text ColorCustomizeDetailViewDialogResterende tijdTime till ExpirationCustomizeDetailViewDialog TitelTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogOnderstreept UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialogGebruikersnaamUsernameCustomizeDetailViewDialog NooitNeverDatabaseAlgoritme: Algorithm:DatabaseSettingsDlgHet aantal iteraties voor een vertraging van 1 seconde op deze computer berekenen6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg*Database-instellingenDatabase SettingsDatabaseSettingsDlgVersleuteling EncryptionDatabaseSettingsDlg0Versleutelingsiteraties:Encryption Rounds:DatabaseSettingsDlgNotitiesCommentDetailViewTemplateAanmaakdatumCreationDetailViewTemplateVervaldatum ExpirationDetailViewTemplate GroepGroupDetailViewTemplateLaatst bekeken Last AccessDetailViewTemplate Laatst gewijzigdLast ModificationDetailViewTemplateWachtwoordPasswordDetailViewTemplate TitelTitleDetailViewTemplateUrlURLDetailViewTemplateGebruikersnaamUsernameDetailViewTemplate%1%1EditEntryDialog%1 Bits%1 BitEditEntryDialogBijlage: Attachment:EditEntryDialogNotities:Comment:EditEntryDialogItem wijzigen Edit EntryEditEntryDialogVervaldatum:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialog Groep:Group:EditEntryDialogPictogram:Icon:EditEntryDialog NooitNeverEditEntryDialogWachtwoord: Password:EditEntryDialog$Veiligheidsniveau:Quality:EditEntryDialogNogmaals:Repeat:EditEntryDialog Titel:Title:EditEntryDialogUrl:URL:EditEntryDialogGebruikersnaam: Username:EditEntryDialog>>EditGroupDialog.Eigenschappen van groepGroup PropertiesEditGroupDialogPictogram:Icon:EditGroupDialog Titel:Title:EditGroupDialogXDubbelklik op een item om het te selecteren.'Double click on an entry to jump to it.ExpiredEntriesDialogVervallenExpiredExpiredEntriesDialogVervallen itemsExpired EntriesExpiredEntriesDialog<Vervallen items in de databaseExpired Entries in the DatabaseExpiredEntriesDialog GroepGroupExpiredEntriesDialog TitelTitleExpiredEntriesDialogGebruikersnaamUsernameExpiredEntriesDialog$Alle bestanden (*) All Files (*)Export_KeePassX_Xml(KeePassX XML-bestandKeePassX XML FileExport_KeePassX_Xml*XML-bestanden (*.xml)XML Files (*.xml)Export_KeePassX_Xml$Alle bestanden (*) All Files (*) Export_TxtTekstbestand Text File Export_Txt,Tekstbestanden (*.txt)Text Files (*.txt) Export_TxtExport mislukt Export Failed ExporterBase*Bestand exporteren...Export File... ExporterBasePEr is een onherstelbare fout opgetreden.A fatal error occurred. FileErrors<Er is een time-out opgetreden.A timeout occurred. FileErrorspEr is een fout opgetreden bij het lezen van het bestand..An error occurred while reading from the file. FileErrorszEr is een fout opgetreden bij het schrijven naar het bestand.,An error occurred while writing to the file. FileErrors<Er is een bronfout opgetreden.An resource error occurred. FileErrorsHEr is een onbekende fout opgetreden.An unspecified error occurred. FileErrors6Er is geen fout opgetreden.No error occurred. FileErrorsPDe toegang tot het bestand is geweigerd.The file could not be accessed. FileErrors<Kan het bestand niet kopiren.The file could not be copied. FileErrors8Kan het bestand niet openen.The file could not be opened. FileErrorsBKan het bestand niet verwijderen.The file could not be removed. FileErrors>Kan het bestand niet hernoemen.The file could not be renamed. FileErrorsZKan de grootte van het bestand niet wijzigen.The file could not be resized. FileErrors0De bewerking is mislukt.The operation was aborted. FileErrorsXKan de positie in het bestand niet wijzigen..The position in the file could not be changed. FileErrorsK&leine letters&Lower LettersGenPwDlg&Minteken (-)&MinusGenPwDlg&Cijfers&NumbersGenPwDlg &Speciale tekens&Special CharactersGenPwDlg<Li&ggend streepje (underscore) &UnderlineGenPwDlg&Hoofdletters&Upper LettersGenPwDlgS&paties &White SpacesGenPwDlgHSlechts eenmaal per sessie genererenCollect only once per sessionGenPwDlgOp maatCustomGenPwDlg<Entropie genereren inschakelenEnable entropy collectionGenPwDlgWachtwoorden met tekens uit alle geselecteerde tekensets genereren9Ensure that password contains characters from every groupGenPwDlghWachtwoorden met op elkaar lijkende tekens voorkomenExclude look-alike charactersGenPwDlgGenererenGenerateGenPwDlgLengte:Length:GenPwDlgKleine letters Lower LettersGenPwDlg"Nieuw wachtwoord: New Password:GenPwDlgCijfersNumbersGenPwDlg OptiesOptionsGenPwDlg&WachtwoordgeneratorPassword GeneratorGenPwDlgUitspreekbaar PronounceableGenPwDlgVeiligheid:Quality:GenPwDlgWillekeurigRandomGenPwDlgSpeciale tekensSpecial CharactersGenPwDlgHoofdletters Upper LettersGenPwDlg<Gebruik de volgende tekensets:Use following character groups:GenPwDlg6Gebruik de volgende tekens:Use the following characters:GenPwDlgVoorblad First PageHelpDlgInhoudsopgave Help ContentsHelpDlgVolgende Next PageHelpDlg Vorige Previous PageHelpDlg$Alle bestanden (*) All Files (*)Import_KWalletXml@Het bestand bevat geen gegevens.Document does not contain data.Import_KWalletXmlImport mislukt Import FailedImport_KWalletXml^Ongeldige XML-gegevens (zie details in stdout).*Invalid XML data (see stdout for details).Import_KWalletXml*Ongeldig XML-bestand.Invalid XML file.Import_KWalletXml*XML-bestanden (*.xml)XML Files (*.xml)Import_KWalletXml$Alle bestanden (*) All Files (*)Import_KeePassX_XmlImport mislukt Import FailedImport_KeePassX_Xml:KeePass XML-bestanden (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmltLeesfout: het bestand is geen geldig KeePassX XML-bestand.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_Xml^XML-interpretatiefout op regel %1, kolom %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml$Alle bestanden (*) All Files (*)Import_PwManagerbGecomprimeerde bestanden worden niet ondersteund.'Compressed files are not supported yet.Import_PwManager\Het bestand is beschadigd (hash-test mislukt).#File is damaged (hash test failed).Import_PwManager(Het bestand is leeg.File is empty.Import_PwManagerZHet bestand is geen geldig PwManager-bestand. File is no valid PwManager file.Import_PwManagerImport mislukt Import FailedImport_PwManager^Ongeldige XML-gegevens (zie details in stdout).*Invalid XML data (see stdout for details).Import_PwManager6PwManager-bestanden (*.pwm)PwManager Files (*.pwm)Import_PwManagerfHet versleutelingsalgoritme wordt niet ondersteund.!Unsupported encryption algorithm.Import_PwManagerVDeze bestandsversie wordt niet ondersteund.Unsupported file version.Import_PwManagerTHet hash-algoritme wordt niet ondersteund.Unsupported hash algorithm.Import_PwManager&Wachtwoord onjuist.Wrong password.Import_PwManagerImport mislukt Import Failed ImporterBase*Bestand importeren...Import File... ImporterBase0Kan bestand niet openen.Could not open file. Kdb3DatabaseOntcijfering mislukt. De sleutel in onjuist of het bestand is beschadigd.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseHash-test mislukt. De sleutel is onjuist of het bestand is beschadigd.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database6Ongeldige groepenstructuur.Invalid group tree. Kdb3Database6Het sleutelbestand is leeg.Key file is empty. Kdb3DatabaseZDe database is geopend in alleen-lezen-modus.'The database has been opened read-only. Kdb3Database^De database moet ten minste n groep bevatten.-The database must contain at least one group. Kdb3DatabaseNKan het Twofish-algoritme niet starten.+Unable to initialize the twofish algorithm. Kdb3DatabasebOnverwachte fout: Sleuteloffset is buiten bereik.)Unexpected error: Offset is out of range. Kdb3DatabasexOnverwachte bestandsgrootte (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseBOnbekend versleutelingsalgoritme.Unknown Encryption Algorithm. Kdb3DatabaseBOnbekend versleutelingsalgoritme.Unknown encryption algorithm. Kdb3DatabaseBNiet-ondersteunde bestandsversie.Unsupported File Version. Kdb3Database,Onjuiste ondertekeningWrong Signature Kdb3Database BytesBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandle|Weet u zeker dat u de geselecteerde %1 items wilt verwijderen?1Are you sure you want to delete these %1 entries?KeepassEntryViewZWeet u zeker dat u dit item wilt verwijderen?+Are you sure you want to delete this entry?KeepassEntryViewEr moet ten minste n groep bestaan voordat er een nieuw item wordt aangemaakt.5At least one group must exist before adding an entry.KeepassEntryViewBijlage AttachmentKeepassEntryViewNotitiesCommentsKeepassEntryViewAangemaaktCreationKeepassEntryViewVerwijderen?Delete?KeepassEntryViewFoutErrorKeepassEntryViewVervaldatumExpiresKeepassEntryView GroepGroupKeepassEntryViewLaatst bekeken Last AccessKeepassEntryView"Laatste wijziging Last ChangeKeepassEntryViewOKOKKeepassEntryViewWachtwoordPasswordKeepassEntryView TitelTitleKeepassEntryViewUrlURLKeepassEntryViewGebruikersnaamUsernameKeepassEntryViewWeet u zeker dat u deze groep inclusief subgroepen en items wilt verwijderen?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewVerwijderen?Delete?KeepassGroupViewZoekresultatenSearch ResultsKeepassGroupView%1 dagen%1 DaysKeepassMainWindow%1 maanden %1 MonthsKeepassMainWindow%1 jaren%1 YearsKeepassMainWindow,Werkblad vergrende&len&Lock WorkspaceKeepassMainWindow 1 dag1 DayKeepassMainWindow1 maand1 MonthKeepassMainWindow 1 jaar1 YearKeepassMainWindow$Alle bestanden (*) All Files (*)KeepassMainWindow Items dupliceren Clone EntriesKeepassMainWindowItem dupliceren Clone EntryKeepassMainWindowxKan het vergrendelingsbestand van de database niet aanmaken.#Couldn't create database lock file.KeepassMainWindowKan het vergrendelingsbestand van de database niet aanmaken. De database wordt in alleen-lezen-modus geopend.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowHet vergrendelingsbestand van de database kon niet worden verwijderd.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow(Database vergrendeldDatabase lockedKeepassMainWindow"Items verwijderenDelete EntriesKeepassMainWindow Item verwijderen Delete EntryKeepassMainWindowFoutErrorKeepassMainWindowVervallenExpiredKeepassMainWindow:Kan het bestand niet opslaan.File could not be saved.KeepassMainWindow2KeePass-databases (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow2Database wordt geladen...Loading Database...KeepassMainWindowLaden misluktLoading FailedKeepassMainWindow$Database openen...Open Database...KeepassMainWindow8In alleen-lezen-modus openenOpen read-onlyKeepassMainWindow GereedReadyKeepassMainWindow&Database opslaan...Save Database...KeepassMainWindowLWilt u het gewijzigde bestand opslaan?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow*&Werkbalk inschakelen Show &ToolbarKeepassMainWindowHet huidige bestand is gewijzigd. Wilt u de wijzigingen opslaan??The current file was modified. Do you want to save the changes?KeepassMainWindowBHet databasebestand bestaat niet.!The database file does not exist.KeepassMainWindowDe database die u probeert te openen is vergrendeld. Dit betekent dat iemand anders het bestand heeft geopend of dat KeePassX is gecrasht toen het bestand voor het laatst is geopend. Wilt u de database toch openen? The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowzDe volgende fout is opgetreden bij het laden van de database:7The following error occured while opening the database:KeepassMainWindow,Werkblad ontgrende&lenUn&lock WorkspaceKeepassMainWindowEr is een onbekende fout opgetreden bij het laden van de database.%Unknown error while loading database.KeepassMainWindow minder dan 1 dagless than 1 dayKeepassMainWindowvergrendeldlockedKeepassMainWindow nieuwnewKeepassMainWindowFoutErrorMain:Kan bestand '%1' niet vinden.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow"&Over KeePassX... &About... MainWindow,F&avoriet toevoegen...&Add Bookmark... MainWindow*Subgroep &aanmaken...&Add New Subgroup... MainWindow&Favorieten &Bookmarks MainWindow Item dupli&ceren &Clone Entry MainWindow"Database slui&ten&Close Database MainWindow&Kolommen&Columns MainWindow&Notities&Comment MainWindow2&Database-instellingen...&Database Settings... MainWindow$Groep verwij&deren &Delete Group MainWindow$Gro&ep wijzigen...&Edit Group... MainWindow It&ems&Entries MainWindow&Exporteren... &Export to... MainWindow&Bestand&File MainWindow &Groep&Group MainWindow&Groepen&Groups MainWindow &Help&Help MainWindow&Importeren...&Import from... MainWindow0Handleiding &KeePassX...&KeePassX Handbook... MainWindow"&Laatst gewijzigd &Last Change MainWindow,Werkblad vergrende&len&Lock Workspace MainWindow,&Favorieten beheren...&Manage Bookmarks... MainWindow&&Nieuwe database...&New Database... MainWindow&Database &openen...&Open Database... MainWindowUrl &openen &Open URL MainWindow&Wachtwoord &Password MainWindow.&Wachtwoordgenerator...&Password Generator... MainWindow*Automatisc&h invullen&Perform AutoType MainWindowA&fsluiten&Quit MainWindow.Bijlage op&slaan als...&Save Attachment As... MainWindow"Database op&slaan&Save Database MainWindow&Voorkeuren... &Settings... MainWindow &Titel&Title MainWindow&Url&URL MainWindow Beel&d&View MainWindow4Item bekijken/&wijzigen...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow&Bijlage A&ttachment MainWindow.&Nieuw item aanmaken...Add &New Entry... MainWindowNieuwe groep...Add New Group... MainWindowJDa&tabase aan Favorieten toevoegen...Bookmark &this Database... MainWindowAanmaak&datum C&reation MainWindow8&Hoofdwachtwoord wijzigen...Change &Master Key... MainWindowLGebr&uikersnaam naar Klembord kopirenCopy &Username to Clipboard MainWindowDWach&twoord naar Klembord kopirenCopy Password &to Clipboard MainWindow4Url naar Klembord kopirenCopy URL to Clipboard MainWindow"Item &verwijderen De&lete Entry MainWindow&VervaldatumE&xpires MainWindow E&xtraE&xtras MainWindowGroepenGroups MainWindowVerbergenHide MainWindow.Wachtwoo&rden verbergenHide &Passwords MainWindow4Gebr&uikersnamen verbergenHide &Usernames MainWindowKeePassXKeePassX MainWindowL&aatst bekeken Last &Access MainWindowPrullenbak...Recycle Bin... MainWindow0Database opslaan &als...Save Database &As... MainWindow2&In de database zoeken...Search &in Database... MainWindowHIn de geselecteerde &groep zoeken...Search in this &Group... MainWindowJD&etailweergave van items inschakelenShow &Entry Details MainWindow2V&ervallen items tonen...Show &Expired Entries... MainWindow.&Statusbalk inschakelenShow &Statusbar MainWindow Groepen sorteren Sort groups MainWindow:Grootte werkbalkp&ictogrammenToolbar &Icon Size MainWindowGebruikers&naam User&name MainWindow$Favorieten beherenManage BookmarksManageBookmarksDlg>%1: Kan het bestand niet lezen.%1: File is not readable.PasswordDialogB%1: Bestand of map niet gevonden.%1: No such file or directory.PasswordDialog$Alle bestanden (*) All Files (*)PasswordDialog0Hoofdwachtwoord wijzigenChange Master KeyPasswordDialog4Sleutelbestand aanmaken...Create Key File...PasswordDialog$Databasewachtwoord Database KeyPasswordDialog6Voer een hoofdwachtwoord inEnter Master KeyPasswordDialog0Sleutelbestanden (*.key)Key Files (*.key)PasswordDialogLaatste bestand Last FilePasswordDialognVoer een wachtwoord in of selecteer een sleutelbestand.-Please enter a Password or select a key file.PasswordDialog.Voer een wachtwoord in.Please enter a Password.PasswordDialog:Selecteer een sleutelbestand.Please provide a key file.PasswordDialog8Selecteer een sleutelbestandSelect a Key FilePasswordDialog6Stel een hoofdwachtwoord inSet Master KeyPasswordDialogEr zijn meerdere sleutelbestanden in deze map gevonden. Selecteer het juiste bestand.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialog~Er zijn geen sleutelbestanden in de geselecteerde map gevonden.3The given directory does not contain any key files.PasswordDialogtKan het geselecteerde sleutelbestand of de map niet lezen.3The selected key file or directory is not readable.PasswordDialog&Bladeren... &Browse... PasswordDlg TerugBack PasswordDlgtVoer een wachtwoord in en/of selecteer een sleutelbestand.*Enter a Password and/or choose a key file. PasswordDlg6Sleutelbestand genereren...Generate Key File... PasswordDlgSleutelKey PasswordDlgSleutelbestand: Key File: PasswordDlgLaatste bestand Last File PasswordDlgWachtwoord: Password: PasswordDlgFDe wachtwoorden zijn niet identiek.Passwords are not equal. PasswordDlg@Voer het wachtwoord nogmaals in:Please repeat your password: PasswordDlg ZoekenSearch SearchDialog(&Hoofdlettergevoelig&Case Sensitive Search_Dlg&Titels&Titles Search_Dlg Gebr&uikersnamen &Usernames Search_DlgBijlage&nA&nhang Search_DlgN&otities C&omments Search_DlgFOok in onderliggende groepen zoekenInclude Subgroups (recursive) Search_DlgZoeken in:Include: Search_Dlg&Wachtwoorden Pass&words Search_Dlg:RegExp (Reguliere E&xpressie)Regular E&xpression Search_DlgZoekterm: Search For: Search_DlgZoeken... Search... Search_Dlg U&rlsU&RLs Search_Dlg(Pictogram selecterenIcon Selection SelectIconDlgGeavanceerdAdvancedSettingsDialogbWisselende achtergrondkleur voor rijen gebruiken Alternating Row ColorsSettingsDialog|Altijd om bevestiging vragen bij verwijderen van items/groepen,Always ask before deleting entries or groupsSettingsDialog Beeld AppearanceSettingsDialogVertaler:Author:SettingsDialogLInstellingen voor Automatisch InvullenAuto-Type Fine TuningSettingsDialog\Database automatisch opslaan na elke wijziging.Automatically save database after every changeSettingsDialogDatabase automatisch opslaan bij werkbladvergrendeling en bij afsluiten9Automatically save database on exit and workspace lockingSettingsDialog*Kleuren van titelbalk Banner ColorSettingsDialogFavorieten BookmarksSettingsDialogBladerenBrowseSettingsDialogBladeren... Browse...SettingsDialog&Kiezen... C&hange...SettingsDialogKiezen... Change...SettingsDialog&Geschiedenis wissenClear History NowSettingsDialog&Klembord wissen na:Clear clipboard after:SettingsDialogKleur 1:Color 1:SettingsDialogKleur 2:Color 2:SettingsDialogInstellen... Configure...SettingsDialog@Aangepaste browser-opdrachtregelCustom Browser CommandSettingsDialogJDetailweergave van items aanpassen...Customize Entry Detail View...SettingsDialog2Venster "Databasesleutel"Database Key DialogSettingsDialogVertraging tussen twee gesimuleerde toetsaanslagen. U kunt deze waarde verhogen wanneer Automatisch Invullen soms tekens overslaat.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialog:Back-up items verwijderen na:!Delete backup entries older than:SettingsDialog2Alleen hoofdgroepen tonenDo not expand any itemSettingsDialog.Venster "Item wijzigen"Edit Entry DialogSettingsDialogGebruik deze optie wanneer u uw favorieten en het laatst geopende bestand wilt gebruiken onafhankelijk van hun absolute pad. Dit is vooral handig wanneer KeePassX op draagbare media is genstalleerd waarvan het pad automatisch wordt bepaald bij aansluiting op een pc.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog,Alle groepen weergevenExpand all itemsSettingsDialogAlgemeen (1) General (1)SettingsDialogAlgemeen (2) General (2)SettingsDialog`Globale snelkoppeling voor Automatisch Invullen:Global Auto-Type Shortcut:SettingsDialogLIntegratie met Gnome Desktop (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogFWeergave van groepen bij opstarten:Group tree at start-up:SettingsDialog6Integratie met KDE4 DesktopKDE 4 Desktop IntegrationSettingsDialog4Vertraging toetsaanslagen:Key Stroke Delay:SettingsDialogTaalLanguageSettingsDialog Taal: Language:SettingsDialogrDatabase vergrendelen als er geen activiteit is gedurende!Lock database after inactivity ofSettingsDialog~Werkblad vergrendelen wanneer het venster geminimaliseerd wordt.Lock workspace when minimizing the main windowSettingsDialogMap voor media: Media Root:SettingsDialogrMinimaliseren naar systeemvak in plaats van naar taakbalk#Minimize to tray instead of taskbarSettingsDialogMinimaliseren naar systeemvak wanneer het venster wordt gesloten=Minimize to tray when clicking the main window's close buttonSettingsDialogGeenNoneSettingsDialogPlug-insPlug-InsSettingsDialogWachttijd:Pre-Gap:SettingsDialogdLaatst gebruikte sleuteltype en -locatie onthouden#Remember last key type and locationSettingsDialogBLaatst geopende bestand onthoudenRemember last opened fileSettingsDialog&Zoals bij afsluitenRestore last stateSettingsDialogtBack-ups van gewijzigde items in de groep 'Backup' opslaan8Save backups of modified entries into the 'Backup' groupSettingsDialog@Laatst geopende mappen onthouden'Save recent directories of file dialogsSettingsDialog|Relatieve paden opslaan (favorieten en laatst geopend bestand)-Save relative paths (bookmarks and last file)SettingsDialogBeveiligingSecuritySettingsDialogVoorkeurenSettingsSettingsDialog>Wachtwoorden leesbaar tonen in:Show plain text passwords in:SettingsDialog:Pictogram in systeemvak tonenShow system tray iconSettingsDialogPVenster altijd op de voorgrond weergevenShow window always on topSettingsDialog*Vergrendeld opstarten Start lockedSettingsDialog2Geminimaliseerd opstartenStart minimizedSettingsDialogTekstkleur: Text Color:SettingsDialogDe map waar opslagmedia zoals cd's en geheugenkaarten normaliter gekoppeld zijn.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTijd tussen het starten van de opdracht Automatisch Invullen en de eerste gesimuleerde toetsaanslag.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogKies het venster voor Automatisch Invullen op basis van de titel van het item;Use entries' title to match the window for Global Auto-TypeSettingsDialogU kunt hier naar wens onderdelen van KeePassX uitschakelen om de toepassing een minimalistischer uiterlijk te geven.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogDe wijzigingen worden pas van kracht wanneer u het programma opnieuw opstart.?You need to restart the program before the changes take effect.SettingsDialog dagendaysSettingsDialogmsmsSettingsDialogsecondensecondsSettingsDialogAltAltShortcutWidgetAlt (Rechts)AltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget*Voer uw wachtwoord inEnter your PasswordSimplePasswordDialogWachtwoord: Password:SimplePasswordDialog^Automatisch invullen: selecteer het doelvensterAuto-Type: Select Target WindowTargetWindowDlg(Om een doelvenster te selecteren, kiest u een van de momenteel geopende vensters in het uitklapmenu of voert u de naam van het venster handmatig in:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg,Nederlands (Nederland)$LANGUAGE_NAME Translation Sipke$TRANSLATION_AUTHOR Translation&sipke5r@hotmail.com$TRANSLATION_AUTHOR_EMAIL Translation^<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Het Werkblad is vergrendeld.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget Database sluitenClose DatabaseWorkspaceLockedWidgetFormulierFormWorkspaceLockedWidgetOntgrendelenUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-zh_CN.qm0000664000175000017500000012614511342454754021252 0ustar felixfelix/B!C"BI$TL$R&AT&U(0,@A.BbDFHP2RfTVX f 6r j!;; ;C;NCH4MJQwQK-SKdZl,ZZlOR\(]_t`+lhv$" B֍$mVEVEo/@}Od#nnd*%d8*0d+g+i 3JQG,H8J JLbLb Lb\Lb'LbMLbXLb`VMM}-M4kN 7N#N+ON1NN,O.OO0T)T.~V]_W3{wXZYq[ % [ %'[ %,*[ %1[ %O$[Z\^nTka.+"u"^Pe%wG~J..FV3&8.km;q5*B+h1]Hf/~9h;k8Jb:ZZ2_f$˓m8egn@\ ,.Hy<\=DEDsjx[ 'mR} ~I I,8e[nYF`R`vW9|5 %h;`y@K% n#a \ /< LK:>8#N@$#d&:^>-KL{5ۻ 5 D5R!Bn@CEb\n~(_zkST#T[TTUU;UsUUVVSVVVW3WkW W,W#)b\:vN4NWNc:kl:.!lsl/ an6J` $FYs FY FrQ Hp AVtC] ee#ޚK]=Jx/036WÌBp.*ve}_q f=#=Yng :MJJ~vmRmy&n#&n<, 8#LDɃ;_P''a_R`s'uߎaLni߸l>Bv)rH>wU,N033Y344#PI=MJSN2ROw_RtRuHuw,#XRJ {ENF-e&+N f*MYjƭZn|{:9Ȟqv譾fkN#^q" ѕ2q AtA Db LY gwoS l[~a 4E Os (" d  - C C( C, C1 CO~ D} MT n%pd { ^nd l*3 3 9.6 5s[ 5tc[ 8=q G?nS J LZ~8 OZO[o T0c cb d:b d<" d<* dsV dw dI_ nM qE19 s/O s( u~ ~ w  N" )z >. >x > t$ M Pa ˔9 F>e J9 E =/ lSdh f G f 2, f 3 f = f ? f A f RQ f q + v _ # I Y d LJw Xо* Ynu ^] h).7 +e J. J= ; | o m )g yN Ÿ^H M{ ͓>  ֕bZ Q Q.v J W A:*i %- &+*X ?Ir BY4 Lu; Mp Z$"s [cc vY 5& ?/n Sy @(a g 4kR c| I 5 ^ wc s s s ,e ȶ o ?) ܾs @~E ƙIG M 0 Y ?@: y T^> T^C 7wylB Sus0 ^ ^}xO mbDX n }~Y .7 P P .G k~g @cJ 0~ l Er)n.77a:B:~$*$ߎj:.{o?EBL&R܎ ;e><0ys:[QiQxeh=k9#nؾK&r6_:hpcSrQ%!!n+/ў /ў`|C^Q:mYqbd3Yg^EQp-t4es[)Ȟ\[icрAuthor AboutDialog_SRMCurrent Translation AboutDialog_Sр Developer AboutDialog_Sр0yv{tTXDeveloper, Project Admin AboutDialogSuError AboutDialogeN '%1' g*b~R00File '%1' could not be found. AboutDialog.g QsYOU KeePassX vDeS€:LicenseAboutDlg TranslationAboutDlg>http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlgmRNf{~ Add BookmarkAddBookmarkDlgb@g eN (*) All Files (*)AddBookmarkDlg mO... Browse...AddBookmarkDlgNf{~ Edit BookmarkAddBookmarkDlgeN:File:AddBookmarkDlg&KeePass epcn^ (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgh:Title:AddBookmarkDlg Auto-Type AutoTypeDlg b鉁RXkQvyv0"Click on an entry to auto-type it. AutoTypeDlg~Group AutoTypeDlgKeePassX - RXkQKeePassX - Auto-Type AutoTypeDlghTitle AutoTypeDlgu(b7T Username AutoTypeDlg'%1'N f/g eHvetepP<0 '%1' is not valid integer value.CDbSettingsDlg8~R[hQ(Rijndael): 256 OM (؋)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgSuErrorCDbSettingsDlgOKOKCDbSettingsDlg[R[k!ep01Please determine the number of encryption rounds.CDbSettingsDlgnSettingsCDbSettingsDlgR[k!ep_ŗYN 00:The number of encryption rounds have to be greater than 0.CDbSettingsDlgS̜|{l: 256 OMTwofish: 256 BitCDbSettingsDlgfTJWarningCDbSettingsDlg%1 OM%1 Bit CEditEntryDlgNN*g1 Month CEditEntryDlgNTh1 Week CEditEntryDlgN^t1 Year CEditEntryDlgN$Th2 Weeks CEditEntryDlgN N*g3 Months CEditEntryDlgN Th3 Weeks CEditEntryDlgQmN*g6 Months CEditEntryDlgmRDN...Add Attachment... CEditEntryDlg eS... Calendar... CEditEntryDlgelbS_eN0Could not open file. CEditEntryDlgf/T&R dDN?Delete Attachment? CEditEntryDlgyv Edit Entry CEditEntryDlgSuError CEditEntryDlgQQeeNeSu0Error while writing the file. CEditEntryDlgeyv New Entry CEditEntryDlgT& Sm No, Cancel CEditEntryDlgOKOK CEditEntryDlg$QevN$N*[xN N0 h8[NN 0HPassword and password repetition are not equal. Please check your input. CEditEntryDlgO[XDN...Save Attachment... CEditEntryDlgb@ yvlg DNbf/zzv02The chosen entry has no attachment or it is empty. CEditEntryDlgNY)Today CEditEntryDlgfTJWarning CEditEntryDlgxn[Yes CEditEntryDlg$O`\R dkdyvvDN0 f/T&~~?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg[ehyv][Untitled Entry] CEditEntryDlg%1 OM%1 Bits CGenPwDialog [xz]QwPassword Generator CGenPwDialogeN '%1' N R}0%1: File could not be loaded.CSelectIconDlgmR[NIVhAdd Custom IconCSelectIconDlgmRVh... Add Icons...CSelectIconDlgR}VheSu:+An error occured while loading the icon(s):CSelectIconDlgR}VheSu0(An error occured while loading the icon.CSelectIconDlgR dDeleteCSelectIconDlgSuErrorCSelectIconDlgVP (%1) Images (%1)CSelectIconDlgxn[PickCSelectIconDlg SN... Replace...CSelectIconDlg bv_U...Select a directory... CSettingsDlg bSbgLeN...Select an executable... CSettingsDlgnSettings CSettingsDlg|~ߋSystem Language CSettingsDlgeSCalendarCalendarDialog^<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">ubNg:l`!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgLkcW(e6Ɩg:O`o... OyR hbc . vR0g:O`oYNubg:ep0Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg e6Ɩg:O`oEntropy CollectionCollectEntropyDlg g:epSuVhRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogDNT yAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialog|OSBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialog\EN-CenteredCustomizeDetailViewDialogYlCommentCustomizeDetailViewDialogR^eg Creation DateCustomizeDetailViewDialog[DialogCustomizeDetailViewDialogY1eHegExpiration DateCustomizeDetailViewDialog[WOSY'\ Font SizeCustomizeDetailViewDialog~GroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogeOSItalicCustomizeDetailViewDialog]S[P JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog N k!egLast Access DateCustomizeDetailViewDialog N k!Oe9egLast Modification DateCustomizeDetailViewDialog][P Left-AlignedCustomizeDetailViewDialog[xPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog eg,VhRich Text EditorCustomizeDetailViewDialogS[P Right-AlignedCustomizeDetailViewDialogTCustomizeDetailViewDialogj!g TemplatesCustomizeDetailViewDialog[W{&r Text ColorCustomizeDetailViewDialogR0Y1eHgvRiOYeTime till ExpirationCustomizeDetailViewDialoghTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogN R~ UnderlinedCustomizeDetailViewDialogQW@UrlCustomizeDetailViewDialogu(b7T UsernameCustomizeDetailViewDialogl8N NeverDatabase{l: Algorithm:DatabaseSettingsDlg$mKg,Su5^eNyҔb@vR[k!ep6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg epcn^nDatabase SettingsDatabaseSettingsDlgR[ EncryptionDatabaseSettingsDlg R[k!ep:Encryption Rounds:DatabaseSettingsDlgYlCommentDetailViewTemplateR^egCreationDetailViewTemplateY1eHeg ExpirationDetailViewTemplate~GroupDetailViewTemplateN k! Last AccessDetailViewTemplateN k!Oe9Last ModificationDetailViewTemplate[xPasswordDetailViewTemplatehTitleDetailViewTemplateQW@URLDetailViewTemplateu(b7T UsernameDetailViewTemplate%1%1EditEntryDialog%1 OM%1 BitEditEntryDialogDN: Attachment:EditEntryDialogYl:Comment:EditEntryDialogyv Edit EntryEditEntryDialog Y1eHeg:Expires:EditEntryDialog z(&N)Ge&n.EditEntryDialog~:Group:EditEntryDialogVh:Icon:EditEntryDialogl8N NeverEditEntryDialog[x: Password:EditEntryDialog(:Quality:EditEntryDialogh:Title:EditEntryDialogQW@:URL:EditEntryDialogu(b7T : Username:EditEntryDialog>>EditGroupDialog~\^`'Group PropertiesEditGroupDialogVh:Icon:EditGroupDialogh:Title:EditGroupDialogSQbS_yv0'Double click on an entry to jump to it.ExpiredEntriesDialog]Y1eHExpiredExpiredEntriesDialog ]Y1eHyvExpired EntriesExpiredEntriesDialogepcn^N-]Y1eHyvExpired Entries in the DatabaseExpiredEntriesDialog~GroupExpiredEntriesDialoghTitleExpiredEntriesDialogu(b7T UsernameExpiredEntriesDialogb@g eN (*) All Files (*)Export_KeePassX_XmlKeePassX XML eNKeePassX XML FileExport_KeePassX_XmlXML eN (*.xml)XML Files (*.xml)Export_KeePassX_Xmlb@g eN (*) All Files (*) Export_Txteg,eN Text File Export_Txteg,eN (*.txt)Text Files (*.txt) Export_TxtQY1% Export Failed ExporterBaseQeN...Export File... ExporterBaseSuT}0A fatal error occurred. FileErrors Sue0A timeout occurred. FileErrorsSeNeSu0.An error occurred while reading from the file. FileErrorsQQeeNeSu0,An error occurred while writing to the file. FileErrorsSuDn0An resource error occurred. FileErrorsSug*cf0An unspecified error occurred. FileErrors g*Su0No error occurred. FileErrorselՋSeN0The file could not be accessed. FileErrorselY R6eN0The file could not be copied. FileErrorselbS_eN0The file could not be opened. FileErrorselR deN0The file could not be removed. FileErrorselՑT}T eN0The file could not be renamed. FileErrorsele9SeNvY'\0The file could not be resized. FileErrors ]~kbdO\0The operation was aborted. FileErrorsele9SQvW(eNvOMn0.The position in the file could not be changed. FileErrors\Q[Wk(&L)&Lower LettersGenPwDlg S(&M)&MinusGenPwDlg ep[W(&N)&NumbersGenPwDlgryk[W{&(&S)&Special CharactersGenPwDlgN R~(&U) &UnderlineGenPwDlgY'Q[Wk(&U)&Upper LettersGenPwDlg zzh<(&W) &White SpacesGenPwDlgkN*ONe6Nk!g:O`oCollect only once per sessionGenPwDlgOu(e6Ɩg:O`oREnable entropy collectionGenPwDlg[x_ŗST+b@g [W{&~v[W{&9Ensure that password contains characters from every groupGenPwDlgb~݈hbvOy:]Qwh(&T) Show &ToolbarKeepassMainWindow"_SRMeN]fe90 O`f/T&O[X??The current file was modified. Do you want to save the changes?KeepassMainWindowepcn^eNN [XW(0!The database file does not exist.KeepassMainWindow~epcn^][0 bf/VN:R+Nkc_w@epcn^ bf/VN: KeepassX N k!bS_epcn^e])nN0 O`f/T&`~~bS_?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowW(bS_epcn^eSuNN :7The following error occured while opening the database:KeepassMainWindowQ[]O\S:(&L)Un&lock WorkspaceKeepassMainWindowR}epcn^eSuNg*w0%Unknown error while loading database.KeepassMainWindowN R0NY)less than 1 dayKeepassMainWindowenewKeepassMainWindowSuErrorMaineN '%1' g*b~R00File '%1' could not be found.Main&16x16 MainWindow &22x22&22x22 MainWindowQsN(&A)... &About... MainWindowmRNf{~(&A)...&Add Bookmark... MainWindowe^[P~(&A)...&Add New Subgroup... MainWindow Nf{~(&B) &Bookmarks MainWindowY R6yv(&C) &Clone Entry MainWindowQsepcn^(&C)&Close Database MainWindow R(&C)&Columns MainWindow Yl(&C)&Comment MainWindowepcn^n(&D)...&Database Settings... MainWindowR d~(&D) &Delete Group MainWindow~(&E)...&Edit Group... MainWindow yv(&E)&Entries MainWindowQb(&E)... &Export to... MainWindow eN(&F)&File MainWindow ~(&G)&Groups MainWindow ^.R(&H)&Help MainWindow[Qe(&I)...&Import from... MainWindow$KeePassX cSW(&K)...&KeePassX Handbook... MainWindowN k!Oe9(&L) &Last Change MainWindowOO]O\S:(&L)&Lock Workspace MainWindow{tNf{~(&M)...&Manage Bookmarks... MainWindowe^epcn^(&N)...&New Database... MainWindowbS_epcn^(&O)...&Open Database... MainWindowbS_QW@(&O) &Open URL MainWindow [x(&P) &Password MainWindow[xz]Qw(&P)...&Password Generator... MainWindowۈLRXkQ(&P)&Perform AutoType MainWindow Q(&Q)&Quit MainWindowepcn^S[XN:(&S)...&Save Attachment As... MainWindowO[Xepcn^(&S)&Save Database MainWindown(&S)... &Settings... MainWindow h(&T)&Title MainWindow QW@(&U)&URL MainWindow gw (&V)&View MainWindowgw byv(&V)...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow DN(&T) A&ttachment MainWindowe^yv(&N)...Add &New Entry... MainWindow e^~...Add New Group... MainWindow \epcn^RN:Nf{~(&T)...Bookmark &this Database... MainWindowR^eg(&R) C&reation MainWindowOe9N;[Ɣ(&M)...Change &Master Key... MainWindow\u(b7T Y R6R0Rj4g(&T)Copy &Username to Clipboard MainWindow\[xY R6R0Rj4g(&T)Copy Password &to Clipboard MainWindow\QW@Y R6R0Rj4gCopy URL to Clipboard MainWindowR dyv(&L) De&lete Entry MainWindowY1eHeg(&E)E&xpires MainWindowYyv(&E)E&xtras MainWindow~Groups MainWindowHide MainWindow[x(&P)Hide &Passwords MainWindowu(b7T (&U)Hide &Usernames MainWindowKeePassXKeePassX MainWindowN k!(&A) Last &Access MainWindow WW>hv...Recycle Bin... MainWindowepcn^S[XN:(&A)...Save Database &As... MainWindowW(epcn^d[(&I)...Search &in Database... MainWindowW(~đd[(&G)...Search in this &Group... MainWindowf>y:yv`(&E)Show &Entry Details MainWindowf>y:]Y1eHvyv(&E)...Show &Expired Entries... MainWindowf>y:r`h(&S)Show &Statusbar MainWindow [~ďۈLc^ Sort groups MainWindow]QwhSVhY'\(&I)Toolbar &Icon Size MainWindowu(b7T (&N) User&name MainWindow{tNf{~Manage BookmarksManageBookmarksDlg%1: N SkdeN0%1: File is not readable.PasswordDialog%1: kdeNbv_UN [XW(0%1: No such file or directory.PasswordDialogb@g eN (*) All Files (*)PasswordDialog Oe9N;[xChange Master KeyPasswordDialogR^[Ɣ...Create Key File...PasswordDialog epcn^[Ɣ Database KeyPasswordDialog QeN;[ƔEnter Master KeyPasswordDialog[ƔeN (*.key)Key Files (*.key)PasswordDialog N NN*[Ɣ Last FilePasswordDialogQeNN*[xb b[Ɣ0-Please enter a Password or select a key file.PasswordDialogQeNN*[x0Please enter a Password.PasswordDialogcONN*[Ɣ0Please provide a key file.PasswordDialog b[ƔSelect a Key FilePasswordDialog [N;[ƔSet Master KeyPasswordDialog&b@ v_UT+g YN*[Ɣ c[QwOS[Ɣ0[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogb@ v_UN T+g NOU[Ɣ03The given directory does not contain any key files.PasswordDialogN Skd[Ɣbb@W(v_U03The selected key file or directory is not readable.PasswordDialogmO(&B)... &Browse... PasswordDlgVBack PasswordDlg QeO`v[xNb b[Ɣ0*Enter a Password and/or choose a key file. PasswordDlgR [Ɣ...Generate Key File... PasswordDlg[ƔKey PasswordDlg[Ɣ: Key File: PasswordDlg N NN*[Ɣ Last File PasswordDlg[x: Password: PasswordDlgN$N*[xN N0Passwords are not equal. PasswordDlgeQe[x:Please repeat your password: PasswordDlgd[Search SearchDialogS9MY'\Q(&C)&Case Sensitive Search_Dlg h(&T)&Titles Search_Dlgu(b7T (&U) &Usernames Search_Dlg D_U(&A)A&nhang Search_Dlg Yl(&O) C&omments Search_DlgSb[P~ (_R)Include Subgroups (recursive) Search_DlgSb:Include: Search_Dlg [x(&W) Pass&words Search_DlgkcRh_(&X)Regular E&xpression Search_Dlg d[NNH: Search For: Search_Dlg d[... Search... Search_Dlg QW@(&R)U&RLs Search_Dlg bVhIcon Selection SelectIconDlg~AdvancedSettingsDialog vLRrAlternating Row ColorsSettingsDialogR dyvb~e`;xn,Always ask before deleting entries or groupsSettingsDialogY AppearanceSettingsDialogр:Author:SettingsDialog RXkQ_Auto-Type Fine TuningSettingsDialogkk!fe9T RO[Xepcn^.Automatically save database after every changeSettingsDialog$[]O\S:bQe RO[Xepcn^9Automatically save database on exit and workspace lockingSettingsDialogj*^Er Banner ColorSettingsDialogNf{~ BookmarksSettingsDialogmOBrowseSettingsDialog mO... Browse...SettingsDialogfe9(&H)... C&hange...SettingsDialog fe9... Change...SettingsDialog zSsnd_UClear History NowSettingsDialogOuYRj4gQ[vgP:Clear clipboard after:SettingsDialog {,NN*r:Color 1:SettingsDialog {,NN*r:Color 2:SettingsDialog Mn... Configure...SettingsDialog[NImOVhT}NCustom Browser CommandSettingsDialog[NIyv`h<_...Customize Entry Detail View...SettingsDialogepcn^[Ɣ[hFDatabase Key DialogSettingsDialogPN$N*j!bc .NKve0YgۈLRXkQeQs[W{&v`Q SNcКkdP<0dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogOuYYNvgP:!Delete backup entries older than:SettingsDialog N \U_yvDo not expand any itemSettingsDialogyv[hFEdit Entry DialogSettingsDialogO`N `O`vNf{~TN k!bS_veNOVNQv~[_ SNT/u(kdR0SONNW(N Ou( KeePassX g N ee9Sc}pvu(b70Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog \U_b@g yvExpand all itemsSettingsDialog N; (1) General (1)SettingsDialog N; (2) General (2)SettingsDialogu(vRXkQ_cw.:Global Auto-Type Shortcut:SettingsDialog,GNOME hLbsXetT (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogT/RevN;h:Group tree at start-up:SettingsDialogKDE 4 hLbsXetTKDE 4 Desktop IntegrationSettingsDialog c .:Key Stroke Delay:SettingsDialogLanguageSettingsDialog: Language:SettingsDialogu5neR[epcn^gP!Lock database after inactivity ofSettingsDialogg\SN;zSe[]O\S:.Lock workspace when minimizing the main windowSettingsDialog ZOSh9v_U: Media Root:SettingsDialog"zSg\SR0|~bXv؀ N f/R0NRh#Minimize to tray instead of taskbarSettingsDialog(pQN;zSvQsc e g\SR0|~bXv=Minimize to tray when clicking the main window's close buttonSettingsDialogeNoneSettingsDialogcNPlug-InsSettingsDialog RMn:Pre-Gap:SettingsDialogOON k![Ɣv|{WSQvOMn#Remember last key type and locationSettingsDialogOON k!bS_vepcn^Remember last opened fileSettingsDialog`bY N k!Ovr`Restore last stateSettingsDialog"\]Oe9yvvYNO[XR0'YN'~8Save backups of modified entries into the 'Backup' groupSettingsDialogOOeN[hFb@bS_vv_U'Save recent directories of file dialogsSettingsDialog(OOv[_ (Nf{~TN k!bS_vepcn^)-Save relative paths (bookmarks and last file)SettingsDialog[QhSecuritySettingsDialognSettingsSettingsDialogW(Tf>y:~eg,[x:Show plain text passwords in:SettingsDialog f>y:wVhShow system tray iconSettingsDialogT/Re[zS Start lockedSettingsDialog T/Reg\SStart minimizedSettingsDialog [W{&r: Text Color:SettingsDialog&PQIv0Uv{I[XPYvc}vhv_U0TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialog0u(b7ۈLRXkQRO\N{,NN*j!bc .ve0bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialog,c qgyvvhgeNRXkQvvhzSۈLS9M;Use entries' title to match the window for Global Auto-TypeSettingsDialogVN:NOcu(b7uLbv{fu( O`SNh9cnO`vlBW(kdyu( KeePassX vNNR0sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialog(O`T/kdz ^ b@ۈLvfe9bMeH0?You need to restart the program before the changes take effect.SettingsDialogY)daysSettingsDialogmsmsSettingsDialogyҔsecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidgetQeO`v[xEnter your PasswordSimplePasswordDialog[x: Password:SimplePasswordDialogRXkQ: bvhzSAuto-Type: Select Target WindowTargetWindowDlgN`c[vhzS O`bSNW(N b_RhhFN- b bSNbKRQezSvh:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg*{OSN-e (Mainland China)$LANGUAGE_NAME TranslationJonathan Lumb$TRANSLATION_AUTHOR Translation$jonolumb@gmail.com$TRANSLATION_AUTHOR_EMAIL Translation4<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">]O\S:][0</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget Qsepcn^Close DatabaseWorkspaceLockedWidgethh<FormWorkspaceLockedWidgetQ[UnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/qt_sr.qm0000664000175000017500000022770611342454754017565 0ustar felixfelixF0irG5!G}*Hw9Hw95YI*LIJ+kJ6 J6.rJ65J6:kJ6{-J6|J6DKDLZLYL.LbnM5:O|-PFEPFE{PFETLU?^PU|3V1cVl VVUWYWTWTUX7X˙8X%YDY-YHZZgZ\]43\.at |^v4vfT߮pIA[8/I֎yɵn/ɵn_Rɵne_ɵntlɵnɵnɵnė%:V B}ق +MTEkFq.H)x<%p5'#Q|%UT(ŎI*42eCCCeBD"D1RhMaR?A5fP loR'Hw^P|{yW2|`2.;R E# dyj ilurf Q"lk)&-T/=N܃1$5~Q< j?NNky]$`0`" E,T)h:6zU6A^Tr=Y~. eaRE `{j8AQAR[y:Ln1Aw^€]MzMEOEX@wwI'!e[& )*/e^5;ByF4 ObZf`ycփFfjCIq$u(llC~? $($(ݝ^\ֈ7 n],a8U;y.+A&H`./`>IxS*R>1YMPYMXh^i"sscfw Pgۊ-dN) ]ǢI#IhII-I5IRI,IInIYiCySҏcџI3oԫӻuDSuDZmDL}o,%,s,Α,,ɘef5$ fR fRFNMGXc U^<PqV0V7fR@M38 ygx%C)?"v(KNM'R]^{]duky^{yFGG%NXصǥh+t{yr%*}C-5׺ƨƨ˾dҝz #iէ?Z>f ~~bF~bLko "!c +3/6 ڑDGOVGbKdLAUPѧ6SnUhUZhZ͞ZZ []k*Fk^nYe iSiZkQoN crgy;u?{~}u؛}w6}wޣ-it*t.n.PDrt$tY*t_ ,Fwʢ2ʢid2dx/dd59b)֣UtBuwnf b+\"2;6UD8K jU|ar^t (}wZ}$}$iZK<7PG ;/YEN@5uX%5KTi~m% .'5kE1XU EsbDbGkgAi$x1 2z*2dU̜5z<҉mmO nvb~C8ʴ5zʴ5Ԅ5DdF5ZY4I eIEAs 2j }$y qeW2 ڤz Ev EO Acs AcHN 35 K!?B bb b` i3! la} law lf}T xq |N t tG .  = E  > f> v ˰ K %'  # =  ) */˻ 7u ;o =N B* Rۮ T^c ]$ `^ ` c( d e eF8 f1Q g gn6 k,2 rD" t m` w yr4K R H H@ &G $CE .@  i  s J1 JD  J t. k Ӈ?  N>n5 ̺M -DN .q kʠ U)Z <@ 0ׄ  SN  Z(  xH] .+X 7F >U >V >W >]i >i] >rG > > DTg I* RVH RV+ S.> S Y [_ j7o?8 p+ . Be  T/ Tt Ti T  g 1 )d 7 ./ ._ .u . a y %~8 ҂  ~o |  t a :b[S ʜ) D  r +>- 0E ;ɾ$ Pt{ Pt ^+dR fe g iFCϽ iF i n ub u% wȅ w w}ȿ w}2 |[c P X ^ }p R  X h & D t5{b t5v | ) ) I' T%~gT%*$*/E=BjI_[XRu[ a.6nyG vɅby$i~\LSh^B#plݖu[yQ  C ("#Ŋ$U%49x%4K-v*0i) 01ch2wTDjHnJd\L$.ac5ɡyC5{~ab`[;DN>kkyJPt2(s i<5NamePPDOptionsModel@54=>ABValuePPDOptionsModel,%1, %2 =8X5 45D8=8A0=>%1, %2 not definedQ3Accel05X0A0= %1 =8X5 ?>4@60=>Ambiguous %1 not handledQ3Accel71@8H8Delete Q3DataTable5False Q3DataTable #10F8Insert Q3DataTable0True Q3DataTable6C@8@0XUpdate Q3DataTableh%15=0R5=0 40B>B5:0.@>25@8B8 ?CB0ZC 8 8<5 40B>B5:5.+%1 File not found. Check path and filename. Q3FileDialog&71@8H8&Delete Q3FileDialog&5&No Q3FileDialog&# @54C&OK Q3FileDialog&B2>@8&Open Q3FileDialog&@58<5=CX&Rename Q3FileDialog&A0GC20X&Save Q3FileDialog&5 A>@B8@0=> &Unsorted Q3FileDialog&0&Yes Q3FileDialogX<qt>!B20@=> 65;8B5 40 >1@8H5B5 %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog !25 40B>B5:5 (*) All Files (*) Q3FileDialog$!25 40B>B5:5 (*.*)All Files (*.*) Q3FileDialogB@81CB8 Attributes Q3FileDialog 0704Back Q3FileDialog>=8HB8Cancel Q3FileDialog:>?8@0X 8;8 @5<5AB8 40B>B5:CCopy or Move a File Q3FileDialog*@58@0X =>2C D0AF8:;CCreate New Folder Q3FileDialog 0BC<Date Q3FileDialog71@8H8 %1 Delete %1 Q3FileDialog5B0Y=> Detail View Q3FileDialog$0AFDir Q3FileDialog$0AF8:;5 Directories Q3FileDialog$0AF8:;0: Directory: Q3FileDialog @5H:0Error Q3FileDialog0B>B5:0File Q3FileDialog&<5 40B>B5:5: File &name: Q3FileDialog&"8? 40B>B5:5: File &type: Q3FileDialog0[8 D0AF8:;CFind Directory Q3FileDialog54>ABC?=> Inaccessible Q3FileDialog A8B0 List View Q3FileDialog"@068 &C: Look &in: Q3FileDialog<5Name Q3FileDialog>20 D0AF8:;0 New Folder Q3FileDialog >20 D0AF8:;0 %1 New Folder %1 Q3FileDialog>20 D0AF8:;0 1 New Folder 1 Q3FileDialog&54=0 D0AF8:;0 3>@5One directory up Q3FileDialog B2>@8Open Q3FileDialog B2>@8Open  Q3FileDialog0@53;54 A04@60X 40B>B5:5Preview File Contents Q3FileDialog*@53;54 8=D> 40B>B5:5Preview File Info Q3FileDialog&>=>2> CG8B0XR&eload Q3FileDialog!0<> G8BY82> Read-only Q3FileDialog'8B0-?8H5 Read-write Q3FileDialog'8B0: %1Read: %1 Q3FileDialog!0GC20X :0>Save As Q3FileDialog"401@0B8 D0AF8:;CSelect a Directory Q3FileDialog2>:068 A0:@825=5 40B>B5:5Show &hidden files Q3FileDialog5;8G8=0Size Q3FileDialog!>@B8@0XSort Q3FileDialog$!>@B8@0X ?> &40BC< Sort by &Date Q3FileDialog!>@B8X ?0 &<5 Sort by &Name Q3FileDialog&!>@B8X ?> &25;8G8=8 Sort by &Size Q3FileDialog!?5F8X0;=>Special Q3FileDialog&Symlink =0 D0AF8:;CSymlink to Directory Q3FileDialog&Symlink =0 40B>B5:CSymlink to File Q3FileDialog*Symlink =0 A?5F8X0;=>Symlink to Special Q3FileDialog"8?Type Q3FileDialog!0<> ?8AY82> Write-only Q3FileDialog8H5: %1 Write: %1 Q3FileDialogDA0F8:;0 the directory Q3FileDialog40B>B5:0the file Q3FileDialogsymlink the symlink Q3FileDialog<5CA?5H=0 :@50F8X0 D0AF8:;5 %1Could not create directory %1 Q3LocalFs*5CA?5H=> >B20@0Z5 %1Could not open %1 Q3LocalFs85CA?5H=> G8B0Z5 D0AF8:;5 %1Could not read directory %1 Q3LocalFsT5CA?5H=> 1@8A0Z5 40B>B5:5 8;8 D0AF8:;5 %1%Could not remove file or directory %1 Q3LocalFs<5CA?5H=> ?@58<5=>20Z5 %1 C %2Could not rename %1 to %2 Q3LocalFs&5CA?5H=> ?8A0Z5 %1Could not write %1 Q3LocalFs@8;03>48... Customize... Q3MainWindow8=8X0 3>@5Line up Q3MainWindow, 04 70CAB028> :>@8A=8:Operation stopped by the userQ3NetworkProtocol>=8HB8CancelQ3ProgressDialog@8<5=8Apply Q3TabDialog>=8HB8Cancel Q3TabDialog!B0=40@4=>Defaults Q3TabDialog ><>[Help Q3TabDialog # @54COK Q3TabDialog&>?8@0X&Copy Q3TextEdit&@8;5?8&Paste Q3TextEdit&>=>28&Redo Q3TextEdit &@0B8&Undo Q3TextEdit71@8H8Clear Q3TextEdit &A5F8Cu&t Q3TextEdit401@5@8 A25 Select All Q3TextEdit0B2>@8Close Q3TitleBar0B20@0 ?@>7>@Closes the window Q3TitleBarH!04@6020 :><0=45 70 @04 A0 ?@>7>@8<0*Contains commands to manipulate the window Q3TitleBard>:07CX5 8<5 ?@>7>@0 8 :>=B@>;5 70 Z53>2> @C:>20Z5FDisplays the name of the window and contains controls to manipulate it Q3TitleBar:>AB028 ?@>7>@ C ?C=>< 5:@0=CMakes the window full screen Q3TitleBar0:A8<878@0XMaximize Q3TitleBar8=8<87CXMinimize Q3TitleBar0@5<5AB8 ?@>7>@ 20< 2840Moves the window out of the way Q3TitleBarJ@0B8 <0:A8<878@0= ?@>7>@ =0 =>@<0;=>&Puts a maximized window back to normal Q3TitleBar<@0B8 <8=8<878@0=> =0 =>@<0;=>Puts a minimized back to normal Q3TitleBar@0B8 4>;5 Restore down Q3TitleBar@0B8 3>@5 Restore up Q3TitleBar !8AB5<System Q3TitleBar8H5...More... Q3ToolBar(=5?>7=0B>) (unknown) Q3UrlOperator`@>B>:>; '%1' =5 ?>4@6020:>?8@0Z5 8;8 ?@5<5HB0Z5IThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorb@>B>:>; '%1' =5 ?>4@6020 :@50F8XC =>28E D0AF8:;0;The protocol `%1' does not support creating new directories Q3UrlOperatorZ@>B>:>; '%1' =5 ?>4@6020 ?@5C78<0Z5 40B>B5:50The protocol `%1' does not support getting files Q3UrlOperatorX@>B>:>; '%1' =5 ?>4@6020 ;8AB>20Z5 D0AF8:;06The protocol `%1' does not support listing directories Q3UrlOperatorP@>B>:>; '%1' =5 ?>4@6020 A;0Z5 40B>B5:50The protocol `%1' does not support putting files Q3UrlOperatorn@>B>:>; '%1' =5 ?>4@6020 1@8A0Z5 40B>B5:0 8;8 D0AF8:;0@The protocol `%1' does not support removing files or directories Q3UrlOperatorL@>B>:>; '%1' =5 ?>4@6020 ?@58<5=>20Z5@The protocol `%1' does not support renaming files or directories Q3UrlOperator4@>B>:>; '%1' =8X5 ?>4@60="The protocol `%1' is not supported Q3UrlOperator&>=8HB8&CancelQ3Wizard&02@H8&FinishQ3Wizard ><>&[&HelpQ3Wizard&0Y5 >&Next >Q3Wizard< &0704< &BackQ3Wizard"@8:YCG0: >418X5=Connection refusedQAbstractSocket%>AB =8X5 =0R5=Host not foundQAbstractSocket&!>:5B =8X5 ?@82570=Socket is not connectedQAbstractSocket"0X< 0CB A>:5B0Socket operation timed outQAbstractSocket&401@0B8 A25 &Select AllQAbstractSpinBox&0 3>@5&Step upQAbstractSpinBox0 &4>;5 Step &downQAbstractSpinBox:B828@0XActivate QApplication>:B828@0 3;02=8 ?@>7>@ ?@>3@0<0#Activates the program's main window QApplicationn72@H=>X 40B>B5F8 '%1' X5 ?>B@51=> Qt %2, =0R5=> Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationF3@5H:0 =5:><?0B818;=5 181;8>B5:5 QtIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication&>=8HB8&Cancel QAxSelectCOM &1X5:0B: COM &Object: QAxSelect # @54COK QAxSelect0>401@0B8 ActiveX :>=B@>;Select ActiveX Control QAxSelect4015@8Check QCheckBox@5>:@5=8Toggle QCheckBox!:8=8 >4018@Uncheck QCheckBox2>40X =0 ?@8;03>R5=5 1>X5&Add to Custom Colors QColorDialog;0A8G=5 1>X5 &Basic colors QColorDialog @8;03>R5=5 1>X5&Custom colors QColorDialog$5D8=8@0B8 1>X5 >>&Define Custom Colors >> QColorDialog5;5=>:&Green: QColorDialog&@25=>:&Red: QColorDialog &Sat:&Sat: QColorDialog &Val:&Val: QColorDialogA&lpha channel:A&lpha channel: QColorDialog ;02>:Bl&ue: QColorDialog>=8HB8Cancel QColorDialog Hu&e:Hu&e: QColorDialog # @54COK QColorDialog401@0B8 1>XC Select color QColorDialog0B2>@8Close QComboBox5False QComboBox B2>@8Open QComboBox0True QComboBox:5CA?5H=0 ?>B2@40 B@0=70:F8X5Unable to commit transaction QDB2Driver*5CA?5H=> ?@8257820Z5Unable to connect QDB2Driver:5CA?5H=> 2@0G0Z5 B@0=70:F8X5Unable to rollback transaction QDB2DriverB5CA?5H=> ?>AB02Y0Z5 0CB> ?>B2@45Unable to set autocommit QDB2Driver.Unable to bind variableUnable to bind variable QDB2Result6Unable to execute statementUnable to execute statement QDB2Result*Unable to fetch firstUnable to fetch first QDB2Result(Unable to fetch nextUnable to fetch next QDB2Result2Unable to fetch record %1Unable to fetch record %1 QDB2Result6Unable to prepare statementUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit QDialQDialQDialSliderHandle SliderHandleQDialSpeedoMeter SpeedoMeterQDial(B0 X5 >2>? What's This?QDialog&5&NoQDialogButtonBox&0&YesQDialogButtonBox>=8HB8AbortQDialogButtonBox@8<5=8ApplyQDialogButtonBox>=8HB8CancelQDialogButtonBox0B2>@8CloseQDialogButtonBox,0B2>@8 157 A0GC2020Z0Close without SavingQDialogButtonBox 410F8DiscardQDialogButtonBox5 A0GC20X Don't SaveQDialogButtonBox ><>[HelpQDialogButtonBox3=>@8H8IgnoreQDialogButtonBox&5 70 A25 N&o to AllQDialogButtonBox # @54COKQDialogButtonBox B2>@8OpenQDialogButtonBox  8A5BResetQDialogButtonBox @0B8 8=8F8X0;=>Restore DefaultsQDialogButtonBox >=>28RetryQDialogButtonBox!0GC20XSaveQDialogButtonBox!0GC20X A25Save AllQDialogButtonBox0 70 &A25 Yes to &AllQDialogButtonBox0BC< ?@><5=5 Date Modified QDirModel @AB0Kind QDirModel<5Name QDirModel5;8G8=0Size QDirModel"8?Type QDirModel0B2>@8Close QDockWidget $8:A=>Dock QDockWidget><5@Y82>Float QDockWidget0Z5LessQDoubleSpinBox8H5MoreQDoubleSpinBox&# @54C&OK QErrorMessage,?5B ?>:068 >2C ?>@C:C&Show this message again QErrorMessage>@C:5 401030:Debug Message: QErrorMessage$0B0;=0 3@5H:0: Fatal Error: QErrorMessage 06Z0:Warning: QErrorMessagel%1 0B>B5:0 =8X5 =0R5=0. >;8<> 40 ?@>25@8B5 40B> 8<5.> File not found. Please verify the correct file name was given QFileDialogl%1 $0AF8:;0 =8X5 =0R5=0. >;8<> 40 ?@>25@8B5 40B> 8<5.K%1 Directory not found. Please verify the correct directory name was given. QFileDialogl%1 0B>B5:0 =8X5 =0R5=0. >;8<> 40 ?@>25@8B5 40B> 8<5.A%1 File not found. Please verify the correct file name was given. QFileDialogZ%1 25[ ?>AB>X8. 0 ;8 65;8B5 40 30 ?@5?8H5B5?-%1 already exists. Do you want to replace it? QFileDialog401@0B8&Choose QFileDialog&71@8H8&Delete QFileDialog>20 D0AF8:;0 &New Folder QFileDialog&B2>@8&Open QFileDialog&@58<5=CX&Rename QFileDialog&!0GC20X&Save QFileDialogh'%1' 70 A0<> G8BY82>. 0 ;8 65;8B5 40 8?0: >1@8H5B5?9'%1' is write protected. Do you want to delete it anyway? QFileDialog !25 40B>B5:5 (*) All Files (*) QFileDialog$!25 40B>B5:5 (*.*)All Files (*.*) QFileDialog@!B20@=> 65;8B5 40 >1@8H5B5 '%1'?!Are sure you want to delete '%1'? QFileDialog 0704Back QFileDialog>5 <>65 40 A5 871@8H5 D0AF8:;0.Could not delete directory. QFileDialog*@58@0X =>2C D0AF8:;CCreate New Folder QFileDialog5B0Y=> Detail View QFileDialog$0AF8:;5 Directories QFileDialog$0AF8:;0: Directory: QFileDialog @0X2Drive QFileDialog0B>B5:0File QFileDialog&<5 40B>B5:5: File &name: QFileDialog0B>B5:5 B8?0:Files of type: QFileDialog0[8 D0AF8:;CFind Directory QFileDialog 0?@54Forward QFileDialog 8AB0 List View QFileDialog"@068 C:Look in: QFileDialog>X @0GC=0@ My Computer QFileDialog=>20 D0AF8:;0 New Folder QFileDialog B2>@8Open QFileDialog& >48B5YA:0 D0AF8:;0Parent Directory QFileDialog #:;>=8Remove QFileDialog!0GC20X :0>Save As QFileDialog >:068Show  QFileDialog2>:068 A0:@825=5 40B>B5:5Show &hidden files QFileDialog=5?>7=0B>Unknown QFileDialog %1 %1 GBQFileSystemModel %1 %1 KBQFileSystemModel %1 %1 MBQFileSystemModel %1 "%1 TBQFileSystemModel%1 10XB>20%1 bytesQFileSystemModel<b><5 "%1" =5 <>65 40 A5 C?>B@518.</b><p>@>10B8 =5:> 4@C3> 8<5, A0 <0Z5 :0@0:B5@0 8;8 157 8=B5@?C=:F8X5.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModel 0GC=0@ComputerQFileSystemModel0BC< ?@><5=5 Date ModifiedQFileSystemModel>3@5H=> 8<5Invalid filenameQFileSystemModel @AB0KindQFileSystemModel>X @0GC=0@ My ComputerQFileSystemModel<5NameQFileSystemModel5;8G8=0SizeQFileSystemModel"8?TypeQFileSystemModel$>=B&Font QFontDialog5;8G8=0&Size QFontDialog>42CG5=> &Underline QFontDialog D5:B8Effects QFontDialog!B8; D>=B0 Font st&yle QFontDialog @8<5@Sample QFontDialog401@0B8 D>=B Select Font QFontDialog@5F@B0=> Stri&keout QFontDialog8A0Z5 A8AB5<0Wr&iting System QFontDialog:>3@5H=0 ?@><5=0 D0AF8:;5: %1Changing directory failed: %1QFtp"@8:0G5=> =0 E>ABConnected to hostQFtp(@8:0G5=> =0 E>AB %1Connected to host %1QFtp<@8:YCG0: =0 E>AB ?>3@5H0=: %1Connecting to host failed: %1QFtp570 70B2>@5=0Connection closedQFtpD@8:YCG0: >418X5= 70 2575 ?>40B0:0&Connection refused for data connectionQFtp8@8:YCG0: >418X5= =0 E>AB %1Connection refused to host %1QFtp(570 =0 %1 70B2>@5=0Connection to %1 closedQFtp<>3@5H=0 :@50F8X0 D0AF8:;5: %1Creating directory failed: %1QFtp@>3@5H=> ?@5C78<0Z5 40B>B5:5: %1Downloading file failed: %1QFtp%>AB %1 =5=0R5= Host %1 foundQFtp%>AB %1 =5=0R5=Host %1 not foundQFtp%>AB =0R5= Host foundQFtp>8AB>20Z5 D0AF8:;5 ?>3@5H=>: %1Listing directory failed: %1QFtp(>3@5H=0 ?@8X020: %1Login failed: %1QFtp8X5 ?@82570=> Not connectedQFtp6>3@5H0= C:;>= D0AF8:;5: %1Removing directory failed: %1QFtp6>3@5H0= C:;>= 40B>B5:5: %1Removing file failed: %1QFtp 5?>7=0B0 3@5H:0 Unknown errorQFtp6>3@5H=> A;0Z5 40B>B5:5: %1Uploading file failed: %1QFtp 5?>7=0B0 3@5H:0 Unknown error QHostInfo%>AB =8X5 =0R5=Host not foundQHostInfoAgent&5?>7=0B B8? 04@5A5Unknown address typeQHostInfoAgent 5?>7=0B0 3@5H:0 Unknown errorQHostInfoAgent0>B@51=0 0CB5=B8D8:0F8X0Authentication requiredQHttp"@8:0G5=> =0 E>ABConnected to hostQHttp(@8:0G5=> =0 E>AB %1Connected to host %1QHttp570 70B2>@5=0Connection closedQHttp"@8:YCG0: >418X5=Connection refusedQHttp(570 =0 %1 70B2>@5=0Connection to %1 closedQHttp*HTTP B@065Z5 ?>3@5H=>HTTP request failedQHttp%>AB %1 =5=0R5= Host %1 foundQHttp%>AB %1 =5=0R5=Host %1 not foundQHttp%>AB =0R5= Host foundQHttp2Invalid HTTP chunked bodyInvalid HTTP chunked bodyQHttp(52060= HTTP >43>2>@Invalid HTTP response headerQHttp<57 A5@25@0 ?>45H5= 70 257C =0No server set to connect toQHttpB>B@51=0 0CB5=B8D8:0F8X0 ?@>:A8X0Proxy authentication requiredQHttp&"@065Z5 70CAB02Y5=>Request abortedQHttp@!5@25@ =5>G5:820=> 70B2>@8> 257C%Server closed connection unexpectedlyQHttp 5?>7=0B0 3@5H:0 Unknown errorQHttp0>3@5H=0 4C68=0 A04@60X0Wrong content lengthQHttp0>B@51=0 0CB5=B8D8:0F8X0Authentication requiredQHttpSocketEngine<5 <>65 40 A5 ?>:@5=5 872>R5Z5Could not start transaction QIBaseDriver(@5H:0 >B20@0Z0 1075Error opening database QIBaseDriver85 <>65 40 A5 ?@540 872>R5Z5Unable to commit transaction QIBaseDriver85 <>65 40 A5 2@0B8 872>R5Z5Unable to rollback transaction QIBaseDriver:5 <>65 40 A5 >1571548 AB0BCACould not allocate statement QIBaseResult@5 <>65 40 A5 >?8H5 C=>A AB0BCA0"Could not describe input statement QIBaseResult45 <>65 40 A5 >?8H5 AB0BCACould not describe statement QIBaseResultF5 <>65 40 A5 4>=5A5 A;545[0 AB02:0Could not fetch next item QIBaseResult05 <>65 40 A5 =05 >1;0ABCould not find array QIBaseResultD5 <>65 40 A5 C7<C ?>40BF8 >1;0AB0Could not get array data QIBaseResult@5 <>65 40 A5 C7<C 8=D> > ?8B0ZCCould not get query info QIBaseResult>5 <>65 40 A5 C7<C 8=D> AB0BCA0Could not get statement info QIBaseResult:5 <>65 40 A5 ?@8?@5<8 AB0BCACould not prepare statement QIBaseResult<5 <>65 40 A5 ?>:@5=5 872>R5Z5Could not start transaction QIBaseResult85 <>65 40 A5 70B2>@8 AB0BCAUnable to close statement QIBaseResult:5CA?5H=0 ?>B2@40 B@0=70:F8X5Unable to commit transaction QIBaseResult25 <>65 40 A5 :@58@0 BLOBUnable to create BLOB QIBaseResult:5 <>65 40 A5 ?>:@5=5 B@065Z5Unable to execute query QIBaseResult25 <>65 40 A5 >B2>@8 BLOBUnable to open BLOB QIBaseResult.5 <>65 40 A5 G8B0 BLOBUnable to read BLOB QIBaseResult.5 <>65 40 A5 ?8H5 BLOBUnable to write BLOB QIBaseResult*5<0 4>2>Y=> ?@>AB>@0No space left on device QIODevice:5<0 B5 40B>B5:5 8;8 D0AF8:;5No such file or directory QIODevice"4>1@5Z5 >418X5=>Permission denied QIODevice0=>3> >B2>@5=8E 40B>B5:0Too many open files QIODevice 5?>7=0B0 3@5H:0 Unknown error QIODevice*5B>40 C=>A0 Mac OS XMac OS X input method QInputContext(5B>40 C=>A0 WindowsWindows input method QInputContextXIMXIM QInputContext 5B>40 C=>A0 XIMXIM input method QInputContext.Could not mmap '%1': %2Could not mmap '%1': %2QLibrary0Could not unmap '%1': %2Could not unmap '%1': %2QLibraryRPlugin verification data mismatch in '%1')Plugin verification data mismatch in '%1'QLibraryNQLibrary::load_sys: Cannot load %1 (%2)'QLibrary::load_sys: Cannot load %1 (%2)QLibrarynQLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibraryVQLibrary::unload_sys: Cannot unload %1 (%2)+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryNThe file '%1' is not a valid Qt plugin.'The file '%1' is not a valid Qt plugin.QLibraryzThe plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryBThe shared library was not found.!The shared library was not found.QLibrary 5?>7=0B0 3@5H:0 Unknown errorQLibrary&>?8@0X&Copy QLineEdit&@8;5?8&Paste QLineEdit&>=>28&Redo QLineEdit &@0B8&Undo QLineEdit &A5F8Cu&t QLineEdit71@8H8Delete QLineEdit4015@8 A25 Select All QLineEdit:5CA?5H0= ?>G5B0: B@0=70:F8X5Unable to begin transaction QMYSQLDriver:5CA?5H=0 ?>B2@40 B@0=70:F8X5Unable to commit transaction QMYSQLDriver*5CA?5H=> ?@8257820Z5Unable to connect QMYSQLDriver65 <>65 40 A5 >B2>@8 1070 'Unable to open database ' QMYSQLDriver:5CA?5H=> 2@0G0Z5 B@0=70:F8X5Unable to rollback transaction QMYSQLDriver0Unable to bind outvaluesUnable to bind outvalues QMYSQLResult(Unable to bind valueUnable to bind value QMYSQLResult85 <>65 40 A5 ?>:@5=5 ?8B0Z5Unable to execute query QMYSQLResult85 <>65 40 A5 ?>:@5=5 AB0BCAUnable to execute statement QMYSQLResult(Unable to fetch dataUnable to fetch data QMYSQLResult:5 <>65 40 A5 ?@8?@5<8 AB0BCAUnable to prepare statement QMYSQLResult:5 <>65 40 A5 @8A5BCX5 AB0BCAUnable to reset statement QMYSQLResult:5 <>65 40 A5 A0GC20 @57C;B0BUnable to store result QMYSQLResultL5 <>65 40 A5 A0GC20 @57C;B0B5 AB0BCA0!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow0B2>@8&Close QMdiSubWindow@5<5AB8&Move QMdiSubWindow @0B8&Restore QMdiSubWindow5;8G8=0&Size QMdiSubWindow0B2>@8Close QMdiSubWindow0:A8<878@0X Ma&ximize QMdiSubWindow8=8<87CX Mi&nimize QMdiSubWindow8=8<87CXMinimize QMdiSubWindow@0B8 4>;5 Restore Down QMdiSubWindow#25: 8A?@54 Stay on &Top QMdiSubWindow0B2>@8CloseQMenu>:@5=8ExecuteQMenu B2>@8OpenQMenu...AboutQMenuBar %1About %1QMenuBar QtAbout QtQMenuBar >45A8ConfigQMenuBar 7;07ExitQMenuBar ?F8X5OptionsQMenuBar>AB02:0 PreferenceQMenuBar>AB02:5 PreferencesQMenuBar0B2>@8QuitQMenuBar0B2>@8 %1Quit %1QMenuBar0@0<5B0@SettingQMenuBar !5B0?SetupQMenuBar,<h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.</p><p>Qt is a Trolltech product. See <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> for more information.</p>

About Qt

%1

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.

Qt is a Trolltech product. See www.trolltech.com/qt/ for more information.

 QMessageBox<p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> for an overview of Qt licensing.</p>|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxJ<p>@>3@0< :>@8AB8 Qt 25@78XC %1.</p>'

This program uses Qt version %1.

 QMessageBox QtAbout Qt QMessageBox ><>[Help QMessageBox!0:@8 45B0Y5...Hide Details... QMessageBox # @54COK QMessageBox >:068 45B0Y5...Show Details... QMessageBox4015@8 IM Select IMQMultiInputContext8@510F820G <5B>40 28H5 C=>A0Multiple input method switcherQMultiInputContextPlugin@510F820G <5B>40 28H5 C=>A0 :>X8 :>@8AB8 :>=B5:ABC5;=8 <5=8 >4 B5:AB widgetsMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin>@C38 A>:5B 25G A;CH0X B0X ?>@B4Another socket is already listening on the same portQNativeSocketEnginep@>10 C?>B@515 IPv6 A>:5B0 =0 ?;0BD>@<8 157 IPv6 ?>4@H:5=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine"@8:YCG0: >418X5=Connection refusedQNativeSocketEngine$"0X< 0CB ?@8:YCG:0Connection timed outQNativeSocketEngine<Datagram was too large to sendDatagram was too large to sendQNativeSocketEngine%>AB =54>ABC?0=Host unreachableQNativeSocketEngine(>3@5H0= >?8A A>:5B0Invalid socket descriptorQNativeSocketEngine@5H:0 <@565 Network errorQNativeSocketEngine*"0X< 0CB <@56=>3 @040Network operation timed outQNativeSocketEngine @560 =54>ABC?=0Network unreachableQNativeSocketEngine.Operation on non-socketOperation on non-socketQNativeSocketEngine0= @5AC@A0Out of resourcesQNativeSocketEngine"4>1@5Z5 >418X5=>Permission deniedQNativeSocketEngine.5?>4@60= B8? ?@>B>:>;0Protocol type not supportedQNativeSocketEngine"4@5A0 =54>ABC?=0The address is not availableQNativeSocketEngine&4@5A0 X5 70HB8[5=0The address is protectedQNativeSocketEngine(4@5A0 X5 25[ C B>:C#The bound address is already in useQNativeSocketEngine8#40Y5= E>AB X5 70B2>@8> 257C%The remote host closed the connectionQNativeSocketEngineJUnable to initialize broadcast socket%Unable to initialize broadcast socketQNativeSocketEngineZ5 <>65 45 A5 8=8F8X0;87CX5 =5-1;>:8@0= A>:5B(Unable to initialize non-blocking socketQNativeSocketEngine45 <>65 40 A5 ?@8<8 ?>@C:0Unable to receive a messageQNativeSocketEngine65 <>65 40 A5 ?>H0Z5 ?>@C:0Unable to send a messageQNativeSocketEngine$5 <>65 40 A5 ?8H5Unable to writeQNativeSocketEngine 5?>7=0B0 3@5H:0 Unknown errorQNativeSocketEngine(5?>4@60= @04 A>:5B0Unsupported socket operationQNativeSocketEngine65 <>65 40 A5 8=8F8X0;87CX5Unable to initialize QOCIDriver*5 <>65 40 A5 ?@8X028Unable to logon QOCIDriver2Unable to alloc statementUnable to alloc statement QOCIResultNUnable to bind column for batch execute'Unable to bind column for batch execute QOCIResult(Unable to bind valueUnable to bind value QOCIResult@5 <>65 40 A5 ?>:@5=5 10G AB0BCA!Unable to execute batch statement QOCIResultDUnable to execute select statement"Unable to execute select statement QOCIResult6Unable to execute statementUnable to execute statement QOCIResult25 <>65 40 A5 >45 =0 40Y5Unable to goto next QOCIResult6Unable to prepare statementUnable to prepare statement QOCIResult:5CA?5H=0 ?>B2@40 B@0=70:F8X5Unable to commit transaction QODBCDriver*5CA?5H=> ?@8257820Z5Unable to connect QODBCDriver5CA?5H=> ?@8257820Z5 - @0X25@ =5 ?>4@6020 A25 ?>B@51=5 DC=:F8X5CUnable to connect - Driver doesn't support all needed functionality QODBCDriver8Unable to disable autocommitUnable to disable autocommit QODBCDriver6Unable to enable autocommitUnable to enable autocommit QODBCDriver:5CA?5H=> 2@0G0Z5 B@0=70:F8X5Unable to rollback transaction QODBCDriverQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configurationyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult.Unable to bind variableUnable to bind variable QODBCResult85 <>65 40 A5 ?>:@5=5 AB0BCAUnable to execute statement QODBCResult(Unable to fetch nextUnable to fetch next QODBCResult:5 <>65 40 A5 ?@8?@5<8 AB0BCAUnable to prepare statement QODBCResultCG0HomeQObjectB5 <>65 40 A5 ?>:@5=5 B@0=A0:F8X0Could not begin transaction QPSQLDriverB5 <>65 40 A5 ?>B2@48 B@0=70:F8X0Could not commit transaction QPSQLDriver>5 <>65 40 A5 2@0B8 B@0=70:F8X0Could not rollback transaction QPSQLDriver*5CA?5H=> ?@8257820Z5Unable to connect QPSQLDriver85 <>65 40 A5 :@58@0 B@065Z5Unable to create query QPSQLResult(>40B0: =8X5 CG8B0=.The plugin was not loaded. QPluginLoader 5?>7=0B0 3@5H:0 Unknown error QPluginLoaderZ%1 25[ ?>AB>X8. 0 ;8 65;8B5 40 30 ?@5?8H5B5?/%1 already exists. Do you want to overwrite it? QPrintDialogX%1 X5 D0AF8:;0. 401@0B8 4@C3> 8<5 40B>B5:5.7%1 is a directory. Please choose a different file name. QPrintDialogF<qt>0 ;8 65;8B5 40 ?@5?8H5B5?</qt>%Do you want to overwrite it? QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogJA4 (210 x 297 mm, 8.26 x 11.7 inches)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogA5C4>=8<8: %1 Aliases: %1 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogJB5 (176 x 250 mm, 6.93 x 9.84 inches)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialog "@068Browse QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog>=8HB8Cancel QPrintDialogCollateCollate QPrintDialog >?8X0Copies QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialog((B0<?0 =0 >15 AB@0=5Double side printing QPrintDialogRExecutive (7.5 x 10 inches, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialog0B>B5:0File QPrintDialogZ0B>B5:0 %1 =8X5 4>ABC?=0. 401@0B8 =>2> 8<5.=File %1 is not writable. Please choose a different file name. QPrintDialog 0B>B5:0 ?>AB>X8 File exists QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialogLandscape Landscape QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogJLegal (8.5 x 14 inches, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogLLetter (8.5 x 11 inches, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialog@>X :>?8X0:Number of copies: QPrintDialog # @54COK QPrintDialog@8X5=B0F8X0: Orientation: QPrintDialog AB0;>Other QPrintDialog5;8G8=0 ;8AB0: Page size: QPrintDialog8AB>28 >4 Pages from QPrintDialog$>@<0B ;8AB0 Paper format QPrintDialog72>@ ;8AB0: Paper source: QPrintDialogPortraitPortrait QPrintDialog(B0<?0XPrint QPrintDialog*(B0<?0X C 40B>B5F8...Print To File ... QPrintDialog(B0<?0X A25 Print all QPrintDialog 8X0;>3 HB0<?0Z0 Print dialog QPrintDialog&# 1>X8 0:> 4>ABC?=>Print in color if available QPrintDialog.(B0G?0X ?@2> 704Z8 ;8ABPrint last page first QPrintDialog?A53 HB0<?0Z0 Print range QPrintDialog4018@ HB0<?0Z0Print selection QPrintDialog$(B0<?0X C 40B>B5F8 Print to file QPrintDialog(B0<?0GPrinter QPrintDialog=D> HB0<?0G0: Printer info: QPrintDialog!2>XAB20 Properties QPrintDialog 4018@ Selection QPrintDialog5;8G8=0:Size: QPrintDialog,Tabloid (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogJUS Common #10 Envelope (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog>:0;=0 2570locally connected QPrintDialog4>to QPrintDialog=5?>7=0B>unknown QPrintDialog # @54COKQPrintPropertiesDialogPPD A2>XAB20PPD PropertiesQPrintPropertiesDialog!0GC20XSaveQPrintPropertiesDialog>=8HB8CancelQProgressDialog B2>@8Open QPushButton4015@8Check QRadioButton*bad char class syntaxbad char class syntaxQRegExp(bad lookahead syntaxbad lookahead syntaxQRegExp*bad repetition syntaxbad repetition syntaxQRegExp*disabled feature useddisabled feature usedQRegExp&invalid octal valueinvalid octal valueQRegExp$8=B5@=> >3@0=8G5Z5met internal limitQRegExp"D0;8 ;528 >420X0Gmissing left delimQRegExp157 3@5H:5no error occurredQRegExp=5>G5:820= :@0Xunexpected endQRegExp(@5H:0 >B20@0Z0 1075Error to open databaseQSQLite2Driver>5CA?5H=> ?>:@5B0Z5 AB@0A0:F8X5Unable to begin transactionQSQLite2Driver8Unable to commit transactionUnable to commit transactionQSQLite2Driver:5CA?5H=> 2@0G0Z5 B@0=A0:F8X5Unable to rollback TransactionQSQLite2Driver85 <>65 40 A5 ?>:@5=5 AB0BCAUnable to execute statementQSQLite2Result.Unable to fetch resultsUnable to fetch resultsQSQLite2Result*@5H:0 70B20@0Z0 1075Error closing database QSQLiteDriver(@5H:0 >B20@0Z0 1075Error opening database QSQLiteDriver:5CA?5H0= ?>G5B0: B@0=70:F8X5Unable to begin transaction QSQLiteDriver:5CA?5H=0 ?>B2@40 B@0=70:F8X5Unable to commit transaction QSQLiteDriver:5CA?5H=> 2@0G0Z5 B@0=70:F8X5Unable to roll back transaction QSQLiteDriver0Parameter count mismatchParameter count mismatch QSQLiteResult.Unable to bind variableUnable to bind parameters QSQLiteResult85 <>65 40 A5 ?>:@5=5 AB0BCAUnable to execute statement QSQLiteResult&Unable to fetch rowUnable to fetch row QSQLiteResult:5 <>65 40 A5 @8A5BCX5 AB0BCAUnable to reset statement QSQLiteResult>;5Bottom QScrollBar520 828F0 Left edge QScrollBar8=8X0 4>;5 Line down QScrollBar8=8X0 3>@5Line up QScrollBar8AB 4>;5 Page down QScrollBar528 ;8AB Page left QScrollBar8AB 45A=> Page right QScrollBar8AB 3>@5Page up QScrollBar !5HB0XPosition QScrollBar5A=0 828F0 Right edge QScrollBarScroll down Scroll down QScrollBarScroll here Scroll here QScrollBarScroll left Scroll left QScrollBarScroll right Scroll right QScrollBarScroll up Scroll up QScrollBar@2>Top QScrollBar++ QShortcutAltAlt QShortcut 0704Back QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcutBass Boost Bass Boost QShortcutBass Down Bass Down QShortcutBass UpBass Up QShortcutCallCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutContext1Context1 QShortcutContext2Context2 QShortcutContext3Context3 QShortcutContext4Context4 QShortcutCtrlCtrl QShortcutDelDel QShortcut DeleteDelete QShortcutDownDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavorites Favorites QShortcutFlipFlip QShortcut0Y5Forward QShortcut HangupHangup QShortcut ><>[Help QShortcutHomeHome QShortcutHome Page Home Page QShortcutInsIns QShortcut InsertInsert QShortcutLaunch (0) Launch (0) QShortcutLaunch (1) Launch (1) QShortcutLaunch (2) Launch (2) QShortcutLaunch (3) Launch (3) QShortcutLaunch (4) Launch (4) QShortcutLaunch (5) Launch (5) QShortcutLaunch (6) Launch (6) QShortcutLaunch (7) Launch (7) QShortcutLaunch (8) Launch (8) QShortcutLaunch (9) Launch (9) QShortcutLaunch (A) Launch (A) QShortcutLaunch (B) Launch (B) QShortcutLaunch (C) Launch (C) QShortcutLaunch (D) Launch (D) QShortcutLaunch (E) Launch (E) QShortcutLaunch (F) Launch (F) QShortcutLaunch Mail Launch Mail QShortcutLaunch Media Launch Media QShortcutLeftLeft QShortcutMedia Next Media Next QShortcutMedia Play Media Play QShortcutMedia PreviousMedia Previous QShortcutMedia Record Media Record QShortcutMedia Stop Media Stop QShortcut5=8Menu QShortcutMetaMeta QShortcut5No QShortcutNum LockNum Lock QShortcutNumLockNumLock QShortcutNumber Lock Number Lock QShortcutOpen URLOpen URL QShortcutPage Down Page Down QShortcutPage UpPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutPrint Screen Print Screen QShortcut 1=>28Refresh QShortcut ReturnReturn QShortcut RightRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcut SearchSearch QShortcut SelectSelect QShortcut ShiftShift QShortcut SpaceSpace QShortcutStandbyStandby QShortcut!B>?Stop QShortcut SysReqSysReq QShortcutSystem RequestSystem Request QShortcutTabTab QShortcutTreble Down Treble Down QShortcutTreble Up Treble Up QShortcutUpUp QShortcutVolume Down Volume Down QShortcutVolume Mute Volume Mute QShortcutVolume Up Volume Up QShortcut0Yes QShortcut8AB 4>;5 Page downQSlider8AB ;52> Page leftQSlider8AB 45A=> Page rightQSlider8AB 3>@5Page upQSlider!<5HB0XPositionQSlider^Socks5 timeout error connecting to socks server/Socks5 timeout error connecting to socks serverQSocks5SocketEngine0Z5LessQSpinBox8H5MoreQSpinBox>=8HB8CancelQSql410F8 ?@><5=5?Cancel your edits?QSql>B2@48ConfirmQSql71@8H8DeleteQSql*71@8A0B8 >2C AB02:C?Delete this record?QSql #10F8InsertQSql5NoQSql !0GC20X ?@><5=5? Save edits?QSql6C@8@0XUpdateQSql0YesQSqlXCannot provide a certificate with no key, %1,Cannot provide a certificate with no key, %1 QSslSocket>Error creating SSL context (%1)Error creating SSL context (%1) QSslSocket<Error creating SSL session, %1Error creating SSL session, %1 QSslSocket<Error creating SSL session: %1Error creating SSL session: %1 QSslSocket<Error during SSL handshake: %1Error during SSL handshake: %1 QSslSocketFError loading local certificate, %1#Error loading local certificate, %1 QSslSocket:Error loading private key, %1Error loading private key, %1 QSslSocket.Error while reading: %1Error while reading: %1 QSslSocketBInvalid or empty cipher list (%1)!Invalid or empty cipher list (%1) QSslSocketZPrivate key do not certificate public key, %1-Private key do not certificate public key, %1 QSslSocket0Unable to write data: %1Unable to write data: %1 QSslSocket25 <>65 40 A5 >B2>@8 1070Unable to open connection QTDSDriver45 <>65 40 A5 :>@8AB8 1070Unable to use database QTDSDriverScroll Left Scroll LeftQTabBarScroll Right Scroll RightQTabBar8Socket operation unsupportedSocket operation unsupported QTcpServer&>?8@0X&Copy QTextControl&@8;5?8&Paste QTextControl&>=>28&Redo QTextControl &@0B8&Undo QTextControl*>?8@0X A<5HB0X ;8=:0Copy &Link Location QTextControl &A5F8Cu&t QTextControl71@8H8Delete QTextControl4015@8 A25 Select All QTextControl B2>@8Open QToolButton !B8A=8Press QToolButton>20 ?;0BD>@<0 =5 ?>4@6020 IPv6#This platform does not support IPv6 QUdpSocket&>=>28Redo QUndoGroup &@0B8Undo QUndoGroup<?@07=>> QUndoModel ><>=8Redo QUndoStack @0B8Undo QUndoStack@Insert Unicode control character Insert Unicode control characterQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenuFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenu*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenu(B0 X5 >2>? What's This?QWhatsThisAction**QWidget&02@H8&FinishQWizard ><>[&HelpQWizard< &0704< &BackQWizard>=8HB8CancelQWizard CommitCommitQWizard0AB028ContinueQWizard#@0R5=>DoneQWizard48 =0704Go BackQWizard ><>[HelpQWizard 7;07QuitQWizard%1 - [%2] %1 - [%2] QWorkspace0B2>@8&Close QWorkspace@5<5AB8&Move QWorkspace @0B8&Restore QWorkspace5;8G8=0&Size QWorkspace&Unshade&Unshade QWorkspace0B2>@8Close QWorkspace0:A8<878@0X Ma&ximize QWorkspace8=8<87CX Mi&nimize QWorkspace8=8<87CXMinimize QWorkspace@0B8 4>;5 Restore Down QWorkspace Sh&adeSh&ade QWorkspace#25: 8A?@54 Stay on &Top QWorkspaceencoding declaration or standalone declaration expected while reading the XML declarationYencoding declaration or standalone declaration expected while reading the XML declarationQXmlferror in the text declaration of an external entity3error in the text declaration of an external entityQXmlHerror occurred while parsing comment$error occurred while parsing commentQXmlHerror occurred while parsing content$error occurred while parsing contentQXmljerror occurred while parsing document type definition5error occurred while parsing document type definitionQXmlHerror occurred while parsing element$error occurred while parsing elementQXmlLerror occurred while parsing reference&error occurred while parsing referenceQXml6error triggered by consumererror triggered by consumerQXmlvexternal parsed general entity reference not allowed in DTD;external parsed general entity reference not allowed in DTDQXmlexternal parsed general entity reference not allowed in attribute valueGexternal parsed general entity reference not allowed in attribute valueQXmlhinternal general entity reference not allowed in DTD4internal general entity reference not allowed in DTDQXmlNinvalid name for processing instruction'invalid name for processing instructionQXml$letter is expectedletter is expectedQXmlLmore than one document type definition&more than one document type definitionQXml"no error occurredno error occurredQXml$recursive entitiesrecursive entitiesQXmlstandalone declaration expected while reading the XML declarationAstandalone declaration expected while reading the XML declarationQXmltag mismatch tag mismatchQXml(unexpected characterunexpected characterQXml,unexpected end of fileunexpected end of fileQXmlTunparsed entity reference in wrong context*unparsed entity reference in wrong contextQXmldversion expected while reading the XML declaration2version expected while reading the XML declarationQXmlLwrong value for standalone declaration&wrong value for standalone declarationQXmlF%1 is an invalid PUBLIC identifier.#%1 is an invalid PUBLIC identifier. QXmlStream>%1 is an invalid encoding name.%1 is an invalid encoding name. QXmlStreamZ%1 is an invalid processing instruction name.-%1 is an invalid processing instruction name. QXmlStream, but got ' , but got ' QXmlStream(Attribute redefined.Attribute redefined. QXmlStream4Encoding %1 is unsupportedEncoding %1 is unsupported QXmlStreamPEncountered incorrectly encoded content.(Encountered incorrectly encoded content. QXmlStream2Entity '%1' not declared.Entity '%1' not declared. QXmlStreamExpected  Expected  QXmlStream0Expected character data.Expected character data. QXmlStreamBExtra content at end of document.!Extra content at end of document. QXmlStream<Illegal namespace declaration.Illegal namespace declaration. QXmlStream,Invalid XML character.Invalid XML character. QXmlStream4Invalid XML encoding name.Invalid XML encoding name. QXmlStream"Invalid XML name.Invalid XML name. QXmlStream6Invalid XML version string.Invalid XML version string. QXmlStreamJInvalid attribute in XML declaration.%Invalid attribute in XML declaration. QXmlStream8Invalid character reference.Invalid character reference. QXmlStream"Invalid document.Invalid document. QXmlStream*Invalid entity value.Invalid entity value. QXmlStreamHInvalid processing instruction name.$Invalid processing instruction name. QXmlStreamLNDATA in parameter entity declaration.&NDATA in parameter entity declaration. QXmlStreamDNamespace prefix '%1' not declared"Namespace prefix '%1' not declared QXmlStream@Opening and ending tag mismatch. Opening and ending tag mismatch. QXmlStream4Premature end of document.Premature end of document. QXmlStream4Recursive entity detected.Recursive entity detected. QXmlStreamjReference to external entity '%1' in attribute value.5Reference to external entity '%1' in attribute value. QXmlStreamDReference to unparsed entity '%1'."Reference to unparsed entity '%1'. QXmlStreamLSequence ']]>' not allowed in content.&Sequence ']]>' not allowed in content. QXmlStreamDStandalone accepts only yes or no."Standalone accepts only yes or no. QXmlStream&Start tag expected.Start tag expected. QXmlStream~The standalone pseudo attribute must appear after the encoding.?The standalone pseudo attribute must appear after the encoding. QXmlStreamUnexpected ' Unexpected ' QXmlStream^Unexpected character '%1' in public id literal./Unexpected character '%1' in public id literal. QXmlStream0Unsupported XML version.Unsupported XML version. QXmlStreamRXML declaration not at start of document.)XML declaration not at start of document. QXmlStreamkeepassx-0.4.3/share/keepassx/i18n/keepassx-ru_RU.qm0000664000175000017500000016276411342454754021314 0ustar felixfelix= B+UC+I.HL/R0T1U3$9[@'dA'B'D(F(4H(hP(R(T)V)8X)lf)r)*j;;;;lCnH4MfQQg"SgYZl8Zll\3]ʌ_}tWlc$++֍.VEVEo<}?#,n*%f*0++3JoGH8J fLb4LbLbLbLbjLby:LbM M}:M4yN ]N-N7N@ Nk%O;KO=T4 T;VqW3X|YZ[ % [ %2[ %8[ %@D[ %le[Z\^ Ta.7:"u,Pe/`M..^31D8.4qE*X+]chf/~BhNkJ %J:{{_˓&8e@~- ,.b<\ p=[Dsj>[ 2emp} ~JI-I9In[nzFRCvWJR|E %,Nj`yVS0 n-'  /O Lg:>8|#NW$#Q&:^S-Kh5ۻ55pbBZ#50ve~q = =z"n> KJ Jmq<~&n&nO,58#h0DɃMP''@_Rj`nQ'<ߎinW߸>Y)H>,N0B3l3&44#nI==MJ|NRO_Rqt(uHuZw,#xJA N^e,0u8yl, 6j8ƭ{TƸ*<2:_Ȟ譾bN#^ ѕA A Db LY, gw l[~t G Cb O ("& dɗ  9 C  C3 C9& C@ Cl D MT n% P ^n/ l6 3 9.G6 5s}( 5tc}r 8P G?nr> J  LZ~I OZO| T> aERF cb d: d<,G d<6 d db dI nM qE?d s/m s( u~ ~ wf  N"[ ) >; > > t. ju n> ˔K F> e \ ==G lS f f @ f A f SQ f U f X f p f 8   # I Y LJ% Xо Yn ^~ h).H +e J; JP/ '  q ) - Ÿ^ap M8 ͓> e ֕ ӌ ٷS R Q. f\  A:6Y /7 &+* ?I By LuN- M Z$+ [c vY D ?< Se @3U SR| gʸ 4 c}  d eh 5 w s s] s ,{ ȶ @ U$ ܾ @~] ƙd" j > yq ?@M  T^T T^[M 7wy Sus> ^ ^} mbDx3 n oq }~ .H P PD .a% k~# @@ 0~[ 9 Er4.GaLB_:e$$ߎ.{?E BL&ĉR܎e>NysK[o@hPkKY#n ؾK06cs^>%+!J/ўe/ўC^Q:Yq6dBe3Rg^]Vp:tCXQDs|SȞQ\[ Gip 2B>@Author AboutDialog"5:CI89 O7K:Current Translation AboutDialog 07@01>BG8: Developer AboutDialogB 07@01>BG8:, @C:>2>48B5;L ?@>5:B0Developer, Project Admin AboutDialog H81:0Error AboutDialog($09; '%1' =5 =0945=.File '%1' could not be found. AboutDialog=D>@<0F8O ?5@52>45 KeePassX =0 4@C385 O7K:8 =0E>48BAO ?> 04@5AC:: ?@>3@0<<KMain Application Icon AboutDialog\#1548B5AL GB> ?@>3@0<<0 CAB0=>2;5=0 :>@@5:B=>.2Make sure that the program is installed correctly. AboutDialog CAA:89None AboutDialogOKOK AboutDialogVA?@02;5=8O 4;O C;CGH5=8O ?>445@6:8 MacOS X"Patches for better MacOS X support AboutDialog*><0=40 @07@01>BG8:>2Team AboutDialog;03>40@=>ABL Thanks To AboutDialogB 07;8G=K5 8A?@02;5=8O 8 C;CGH5=8OVarious fixes and improvements AboutDialogWeb 48709=5@ Web Designer AboutDialog ?@>3@0<<5AboutAboutDlgAppFuncAppFuncAboutDlgAppNameAppNameAboutDlgCopyright (C) 2005 - 2009 KeePassX Team KeePassX @0A?@>AB@0=O5BAO ?>4 ;8F5=7859 General Public License (GPL) version 2.~Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2.AboutDlg;03>40@=>AB8CreditsAboutDlg8F5=78OLicenseAboutDlg5@52>4 TranslationAboutDlg$keepassx@gmail.comhttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg">1028BL 70:;04:C Add BookmarkAddBookmarkDlgA5 D09;K (*) All Files (*)AddBookmarkDlg17>@... Browse...AddBookmarkDlg, 540:B8@>20BL 70:;04:C Edit BookmarkAddBookmarkDlg $09;:File:AddBookmarkDlg8KeePass 1070 ?0@>;59 (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlg0720=85:Title:AddBookmarkDlg2B>22>4 Auto-Type AutoTypeDlg^060B85 =0 70?8AL 0:B828@C5B DC=:F8N Auto-Type."Click on an entry to auto-type it. AutoTypeDlg @C??0Group AutoTypeDlg&KeePassX - 2B>22>4KeePassX - Auto-Type AutoTypeDlg0720=85Title AutoTypeDlg <O ?>;L7>20B5;OUsername AutoTypeDlgD'%1' =5 :>@@5:B=>5 F5;>5 7=0G5=85. '%1' is not valid integer value.CDbSettingsDlgPAES(Rijndael): 256 18B (?> C<>;G0=8N)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg H81:0ErrorCDbSettingsDlgOKOKCDbSettingsDlgf>60;C9AB0 >?@545;8B5 :>;8G5AB2> F8:;>2 H8D@>20=8O.1Please determine the number of encryption rounds.CDbSettingsDlg0AB@>9:8SettingsCDbSettingsDlgj>;8G5AB2> F8:;>2 H8D@>20=8O 4>;6=> 1KBL 1>;LH5 =C;O.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 18BTwofish: 256 BitCDbSettingsDlg=8<0=85WarningCDbSettingsDlg %1 18B%1 Bit CEditEntryDlg1 <5AOF1 Month CEditEntryDlg1 =545;O1 Week CEditEntryDlg 1 3>41 Year CEditEntryDlg2 =545;82 Weeks CEditEntryDlg3 <5AOF03 Months CEditEntryDlg3 =545;83 Weeks CEditEntryDlg6 <5AOF526 Months CEditEntryDlg(>1028BL 2;>65=85...Add Attachment... CEditEntryDlg0;5=40@L... Calendar... CEditEntryDlg052>7<>6=> >B:@KBL D09;.Could not open file. CEditEntryDlg"#40;8BL 2;>65=85?Delete Attachment? CEditEntryDlg7<5=8BL 70?8AL Edit Entry CEditEntryDlg H81:0Error CEditEntryDlg*H81:0 70?8A8 2 D09;.Error while writing the file. CEditEntryDlg>20O 70?8AL New Entry CEditEntryDlg5B, B<5=0 No, Cancel CEditEntryDlgOKOK CEditEntryDlg0@>;L 8 ?>2B>@ ?0@>;O =5 M:2820;5=B=K. @>25@LB5 2254Q==K5 40==K5.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg*!>E@0=8BL 2;>65=85...Save Attachment... CEditEntryDlgK1@0==0O 70?8AL =5 A>45@68B 2;>65=8O 8;8 A>45@68B 2;>65=85 =C;52>9 4;8=K.2The chosen entry has no attachment or it is empty. CEditEntryDlg!53>4=OToday CEditEntryDlg=8<0=85Warning CEditEntryDlg0Yes CEditEntryDlgF;>65=85 1C45B C40;5=>. @>4>;68BL?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg&[157K<O==0O 70?8AL][Untitled Entry] CEditEntryDlg%1 18B>2%1 Bits CGenPwDialog"5=5@0B>@ ?0@>;59Password Generator CGenPwDialog<%1: 5 C40;>AL 703@C78BL D09;.%1: File could not be loaded.CSelectIconDlg(>1028BL A2>N 8:>=:CAdd Custom IconCSelectIconDlg$>1028BL 7=0G>:... Add Icons...CSelectIconDlg.H81:0 703@C7:8 8:>=>::+An error occured while loading the icon(s):CSelectIconDlg6H81:0 ?@8 703@C7:5 7=0G:0.(An error occured while loading the icon.CSelectIconDlg#40;8BLDeleteCSelectIconDlg H81:0ErrorCSelectIconDlg 7>1@065=85 (%1) Images (%1)CSelectIconDlgK1@0BLPickCSelectIconDlg0<5=8BL... Replace...CSelectIconDlg,K15@8B5 48@5:B>@8N...Select a directory... CSettingsDlg6K1@0BL 2K?>;=O5<K9 D09;...Select an executable... CSettingsDlg0AB@>9:8Settings CSettingsDlg/7K: A8AB5<KSystem Language CSettingsDlg0;5=40@LCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">5>1E>48<>5 :>;8G5AB2> M=B@>?88 4;O 35=5@0F88 A;CG09=KE G8A5; A>1@0=>!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg!1>@ M=B@>?88... >60;C9AB0, 428309B5 <KH:C 8;8 =068<09B5 =0 :;028H8 4> B5E ?>@, ?>:0 =5>1E>48<>5 :>;8G5AB2> M=B@>?88 1C45B A>1@0=>.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg!1>@ M=B@>?88Entropy CollectionCollectEntropyDlg25=5@0F8O A;CG09=KE G8A5;Random Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1314CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialog<O 2;>65=8OAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialog 8@=K9BoldCustomizeDetailViewDialogCCCustomizeDetailViewDialog&5=B@8@>20==K9CenteredCustomizeDetailViewDialog><<5=B0@89CommentCustomizeDetailViewDialog0B0 A>740=8O Creation DateCustomizeDetailViewDialog 80;>3DialogCustomizeDetailViewDialog!@>: 3>4=>AB8Expiration DateCustomizeDetailViewDialog 07<5@ H@8DB0 Font SizeCustomizeDetailViewDialog @C??0GroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialog C@A82ItalicCustomizeDetailViewDialogK@>2=5==K9 JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog.0B0 ?>A;54=53> 4>ABC?0Last Access DateCustomizeDetailViewDialog20B0 ?>A;54=53> 87<5=5=8OLast Modification DateCustomizeDetailViewDialog"K@>2=5==K9 2;52> Left-AlignedCustomizeDetailViewDialog 0@>;LPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog 540:B>@ B5:AB0Rich Text EditorCustomizeDetailViewDialog$K@>2=5==K9 2?@02> Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialog (01;>= TemplatesCustomizeDetailViewDialog&25B B5:AB0 Text ColorCustomizeDetailViewDialog:@5<O 4> :>=F0 A@>:0 3>4=>AB8Time till ExpirationCustomizeDetailViewDialog0720=85TitleCustomizeDetailViewDialogUUCustomizeDetailViewDialog>4GQ@:820=85 UnderlinedCustomizeDetailViewDialog !AK;:0UrlCustomizeDetailViewDialog<OUsernameCustomizeDetailViewDialog8:>340NeverDatabase;3>@8B<: Algorithm:DatabaseSettingsDlgKG8A;5=85 :>;8G5AB20 F8:;>2, :>B>@K5 <>3CB 1KBL >1@01>B0=K 70 >4=C A5:C=4C =0 MB>< :><?LNB5@56Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg,0AB@>9:8 107K ?0@>;59Database SettingsDatabaseSettingsDlg(8D@>20=85 EncryptionDatabaseSettingsDlg$&8:;>2 H8D@>20=8O:Encryption Rounds:DatabaseSettingsDlg><<5=B0@89CommentDetailViewTemplate!>740=85CreationDetailViewTemplate!@>: 3>4=>AB8 ExpirationDetailViewTemplate @C??0GroupDetailViewTemplate >A;54=89 4>ABC? Last AccessDetailViewTemplate20B0 ?>A;54=53> 87<5=5=8OLast ModificationDetailViewTemplate 0@>;LPasswordDetailViewTemplate0720=85TitleDetailViewTemplate !AK;:0URLDetailViewTemplate<OUsernameDetailViewTemplate%1%1EditEntryDialog %1 18B%1 BitEditEntryDialog;>65=85: Attachment:EditEntryDialog><<5=B0@89:Comment:EditEntryDialog7<5=8BL 70?8AL Edit EntryEditEntryDialog!@>: 3>4=>AB8:Expires:EditEntryDialog&5=5@0F8O.Ge&n.EditEntryDialog@C??0:Group:EditEntryDialog=0G>::Icon:EditEntryDialog8:>340NeverEditEntryDialog0@>;L: Password:EditEntryDialog0G5AB2>:Quality:EditEntryDialog>2B>@ ?0@>;O:Repeat:EditEntryDialog0720=85:Title:EditEntryDialog!AK;:0:URL:EditEntryDialog<O: Username:EditEntryDialog>>EditGroupDialog 0@0<5B@K 3@C??KGroup PropertiesEditGroupDialog=0G>::Icon:EditGroupDialog0720=85:Title:EditGroupDialog62>9=>5 =060B85 MBC 70?8AL.'Double click on an entry to jump to it.ExpiredEntriesDialog&!@>: 3>4=>AB8 8AB5:ExpiredExpiredEntriesDialogB0?8A8 A 8AB5:H8< A@>:>< 3>4=>AB8Expired EntriesExpiredEntriesDialog^0?8A8 2 1075 40==KE A 8AB5:H8< A@>:>< 3>4=>AB8Expired Entries in the DatabaseExpiredEntriesDialog @C??0GroupExpiredEntriesDialog0720=85TitleExpiredEntriesDialog<OUsernameExpiredEntriesDialogA5 D09;K (*) All Files (*)Export_KeePassX_Xml"KeePassX XML-D09;KeePassX XML FileExport_KeePassX_Xml"XML-D09;K (*.xml)XML Files (*.xml)Export_KeePassX_XmlA5 D09;K (*) All Files (*) Export_Txt"5:AB>2K9 D09; Text File Export_Txt."5:AB>2K5 D09;K (*.txt)Text Files (*.txt) Export_Txt6-:A?>@B 7025@H8;AO =5C40G=> Export Failed ExporterBase($09; 4;O M:A?>@B0...Export File... ExporterBase6@>87>H;0 D0B0;L=0O >H81:0.A fatal error occurred. FileErrors.@5<O >6840=8O 8AB5:;>.A timeout occurred. FileErrors.H81:0 GB5=8O 87 D09;0..An error occurred while reading from the file. FileErrors*H81:0 70?8A8 2 D09;.,An error occurred while writing to the file. FileErrors4@>87>H;0 >H81:0 @5AC@A>2.An resource error occurred. FileErrors:@>87>H;0 =58725AB=0O >H81:0.An unspecified error occurred. FileErrors&H81>: =5 2>7=8:;>.No error occurred. FileErrors*5BC 4>ABC?0 : D09;C.The file could not be accessed. FileErrors852>7<>6=> A:>?8@>20BL D09;.The file could not be copied. FileErrors052>7<>6=> >B:@KBL D09;.The file could not be opened. FileErrors052>7<>6=> C40;8BL D09;.The file could not be removed. FileErrors<52>7<>6=> ?5@58<5=>20BL D09;.The file could not be renamed. FileErrorsB52>7<>6=> 87<5=8BL @07<5@ D09;0.The file could not be resized. FileErrors.?5@0F8O 1K;0 ?@5@20=0.The operation was aborted. FileErrorsN>78F8O 2 D09;5 =5 <>65B 1KBL 87<5=5=0..The position in the file could not be changed. FileErrors&!B@>G=K5 1C:2K&Lower LettersGenPwDlg&=0: <8=CA0&MinusGenPwDlg &&8D@K&NumbersGenPwDlg(&!?5F80;L=K5 A8<2>;K&Special CharactersGenPwDlg>&4GQ@:820=85 &UnderlineGenPwDlg &@>?8A=K5 1C:2K&Upper LettersGenPwDlg&@>15;K &White SpacesGenPwDlg<!1>@ B>;L:> >48= @07 70 A5AA8NCollect only once per sessionGenPwDlg!2>9 20@80=BCustomGenPwDlg@:;NG8BL <5E0=87< A1>@0 M=B@>?88Enable entropy collectionGenPwDlgf0@>;8 4>;6=K 2:;NG0BL 2 A51O A8<2>;K 87 2A5E 3@C??9Ensure that password contains characters from every groupGenPwDlg2A:;NG8BL ?>E>685 A8<2>;KExclude look-alike charactersGenPwDlg5=5@8@>20BLGenerateGenPwDlg ;8=0:Length:GenPwDlg!B@>G=K5 1C:2K Lower LettersGenPwDlg>2K9 ?0@>;L: New Password:GenPwDlg &8D@KNumbersGenPwDlg ?F88OptionsGenPwDlg"5=5@0B>@ ?0@>;59Password GeneratorGenPwDlg4#4>1=> ?@>87=>A8<K5 ?0@>;8 PronounceableGenPwDlg0G5AB2>:Quality:GenPwDlg!;CG09=K5 G8A;0RandomGenPwDlg&!?5F80;L=K5 A8<2>;KSpecial CharactersGenPwDlg@>?8A=K5 1C:2K Upper LettersGenPwDlgNA?>;L7>20BL A;54CNI85 3@C??K A8<2>;>2:Use following character groups:GenPwDlg>A?>;L7>20BL A;54CNI85 A8<2>;K:Use the following characters:GenPwDlg =0G0;> First PageHelpDlg!>45@60=85 Help ContentsHelpDlg$!;54CNI0O AB@0=8F0 Next PageHelpDlg&@54K4CI0O AB@0=8F0 Previous PageHelpDlgA5 D09;K (*) All Files (*)Import_KWalletXml8>:C<5=B =5 A>45@68B 40==KE.Document does not contain data.Import_KWalletXml4<?>@B 7025@H8;AO =5C40G=> Import FailedImport_KWalletXmlRH81:0 2 D>@<0B5 40==KE XML (A<. stdout).*Invalid XML data (see stdout for details).Import_KWalletXml$525@=K9 D09; XML.Invalid XML file.Import_KWalletXml"XML-D09;K (*.xml)XML Files (*.xml)Import_KWalletXmlA5 D09;K (*) All Files (*)Import_KeePassX_Xml4<?>@B 7025@H8;AO =5C40G=> Import FailedImport_KeePassX_Xml2KeePassX XML-D09; (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlpH81:0 2 D>@<0B5 40==KE: 5?@028;L=K9 KeePassX XML D09;.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmllH81:0 2 D>@<0B5 40==KE XML. !B@>G:0 %1, AB>;15F %2:%3*XML parsing error on line %1 column %2: %3Import_KeePassX_XmlA5 D09;K (*) All Files (*)Import_PwManagert@E828@>20==K5 D09;K, : A>60;5=8N, ?>:0 =5 ?>445@6820NBAO.'Compressed files are not supported yet.Import_PwManagerD$09; ?>2@5645= (=525@=KE EMH-:>4).#File is damaged (hash test failed).Import_PwManager$09; ?CAB.File is empty.Import_PwManager85?@028;L=K9 PwManager D09;. File is no valid PwManager file.Import_PwManager4<?>@B 7025@H8;AO =5C40G=> Import FailedImport_PwManagerRH81:0 2 D>@<0B5 40==KE XML (A<. stdout).*Invalid XML data (see stdout for details).Import_PwManager,$09; PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManager@58725AB=K9 0;3>@8B< H8D@>20=8O.!Unsupported encryption algorithm.Import_PwManager<5?>445@68205<0O 25@A8O D09;0.Unsupported file version.Import_PwManager:5?>445@68205<K EMH 0;3>@8B<.Unsupported hash algorithm.Import_PwManager 525@=K9 ?0@>;L.Wrong password.Import_PwManager4<?>@B 7025@H8;AO =5C40G=> Import Failed ImporterBase&$09; 4;O 8<?>@B0...Import File... ImporterBase052>7<>6=> >B:@KBL D09;.Could not open file. Kdb3Databasel 0AH8D@>2:0 ?@5@20=0. ;NG =525@5= 8;8 D09; ?>2@564Q=.;Decryption failed. The key is wrong or the file is damaged. Kdb3Databaseb525@=KE EMH-:>4.;NG =525@5= 8;8 D09; ?>2@564Q=.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database,H81:0 2 45@525 3@C??.Invalid group tree. Kdb3Database$09; ?CAB>9.Key file is empty. Kdb3Database\070 ?0@>;59 >B:@KB0 2 @568<5 "B>;L:> GB5=85".'The database has been opened read-only. Kdb3Databasel070 ?0@>;59 4>;6=0 A>45@60BL :0: <8=8<C< >4=C 3@C??C.-The database must contain at least one group. Kdb3DatabaseNH81:0 8=8F80;870F88 0;3>@8B<0 twofish.+Unable to initialize the twofish algorithm. Kdb3Databasep5>6840==0O >H81:0: 8=45:A 2KH5; 70 ?@545;K 4>?CAB8<>3>.)Unexpected error: Offset is out of range. Kdb3Databaser5>6840==K9 @07<5@ D09;0 (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database@58725AB=K9 0;3>@8B< H8D@>20=8O.Unknown Encryption Algorithm. Kdb3Database@58725AB=K9 0;3>@8B< H8D@>20=8O.Unknown encryption algorithm. Kdb3Database<5?>445@68205<0O 25@A8O D09;0.Unsupported File Version. Kdb3Database$525@=0O A83=0BC@0Wrong Signature Kdb3Database09BBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandleJ%1 70?8A59 1C45B C40;5=>. @>4>;68BL?1Are you sure you want to delete these %1 entries?KeepassEntryViewB0?8AL 1C45B C40;5=0. @>4>;68BL?+Are you sure you want to delete this entry?KeepassEntryView'B>1K <>6=> 1K;> 401028BL 70?8AL 4>;6=0 ACI5AB2>20BL :0: <8=8<C< >4=0 3@C??0.5At least one group must exist before adding an entry.KeepassEntryView;>65=85 AttachmentKeepassEntryView><<5=B0@89CommentsKeepassEntryView!>740=85CreationKeepassEntryView!B5@5BL?Delete?KeepassEntryView H81:0ErrorKeepassEntryView:>=G0=85ExpiresKeepassEntryView @C??0GroupKeepassEntryView >A;54=89 4>ABC? Last AccessKeepassEntryView&>A;54=55 87<5=5=85 Last ChangeKeepassEntryViewOKOKKeepassEntryView 0@>;LPasswordKeepassEntryView0720=85TitleKeepassEntryView !AK;:0URLKeepassEntryView<OUsernameKeepassEntryView@C??0 A> 2A5<8 ?>43@C??0<8 8 A> 2A5<8 A>45@60I8<8AO 2 =8E 70?8AO<8 1C45B C40;5=0. @>4>;68BL?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupView!B5@5BL?Delete?KeepassGroupView" 57C;LB0BK ?>8A:0Search ResultsKeepassGroupView%1 4=59%1 DaysKeepassMainWindow%1 <5AOF0 %1 MonthsKeepassMainWindow %1 ;5B%1 YearsKeepassMainWindow6&01;>:8@>20BL 3;02=>5 >:=>&Lock WorkspaceKeepassMainWindow 1 45=L1 DayKeepassMainWindow1 <5AOF1 MonthKeepassMainWindow 1 3>41 YearKeepassMainWindowA5 D09;K (*) All Files (*)KeepassMainWindow$C1;8@>20BL 70?8A8 Clone EntriesKeepassMainWindow$C1;8@>20BL 70?8AL Clone EntryKeepassMainWindowd5 C40;>AL A>740BL D09; 1;>:8@>20=8O 107K ?0@>;59.#Couldn't create database lock file.KeepassMainWindow5 C40;>AL A>740BL D09; 1;>:8@>20=8O 107K ?0@>;59. 070 ?0@>;59 1C45B >B:@KB0 B>;L:> 4;O GB5=8O.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowd5 C40;>AL C40;8BL D09; 1;>:8@>20=8O 107K ?0@>;59.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow4070 ?0@>;59 701;>:8@>20=0Database lockedKeepassMainWindow#40;8BL 70?8A8Delete EntriesKeepassMainWindow#40;8BL 70?8AL Delete EntryKeepassMainWindow H81:0ErrorKeepassMainWindow?@>A@>G5=ExpiredKeepassMainWindow45 C40;>AL A>E@0=8BL D09;.File could not be saved.KeepassMainWindow8KeePass 1070 ?0@>;59 (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow003@C7:0 107K ?0@>;59...Loading Database...KeepassMainWindowH81:0 703@C7:8Loading FailedKeepassMainWindow.B:@KBL 107C ?0@>;59...Open Database...KeepassMainWindow2B:@KBL B>;L:> 4;O GB5=8OOpen read-onlyKeepassMainWindow >B>2ReadyKeepassMainWindow2!>E@0=8BL 107C ?0@>;59...Save Database...KeepassMainWindow4!>E@0=8BL 87<5=5=8O D09;0?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow>&B>1@078BL ?0=5;L 8=AB@C<5=B>2 Show &ToolbarKeepassMainWindow`070 ?0@>;59 1K;0 87<5=5=0. !>E@0=8BL 87<5=5=8O??The current file was modified. Do you want to save the changes?KeepassMainWindow8$09; 107K ?0@>;59 =5 =0945=.!The database file does not exist.KeepassMainWindow070 ?0@>;59, :>B>@CN K A59G0A ?KB05B5AL >B:@KBL, 701;>:8@>20=0. -B> ?@>8AE>48B 5A;8 :B>-B> 2 40==KE <><5=B C65 >B:@K; 107C 8;8 KeePassX =5 1K; =>@<0;L=> 7025@H5=, :>340 MB0 1070 1K;0 >B:@KB0. @>4>;68BL >B:@KB85?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowBH81:0 ?@8 >B:@KB88 1K70 ?0@>;59:7The following error occured while opening the database:KeepassMainWindow8& 071;>:8@>20BL 3;02=>5 >:=>Un&lock WorkspaceKeepassMainWindowX58725AB=0O >H81:0 ?@8 703@CA:8 107K 40==KE.%Unknown error while loading database.KeepassMainWindow*<5=LH5, G5< >48= 45=Lless than 1 dayKeepassMainWindow701;>:8@>20=>lockedKeepassMainWindow =>2K9newKeepassMainWindow H81:0ErrorMain($09; '%1' =5 =0945=.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow& ?@>3@0<<5... &About... MainWindow*&>1028BL 70:;04:C...&Add Bookmark... MainWindow8&>1028BL =>2CN ?>43@C??C...&Add New Subgroup... MainWindow&0:;04:8 &Bookmarks MainWindow&&C1;8@>20BL 70?8AL &Clone Entry MainWindow*&0:@KBL 107C ?0@>;59&Close Database MainWindow&!B>;1FK&Columns MainWindow&><<5=B0@89&Comment MainWindow4&0AB@>9:8 107K ?0@>;59...&Database Settings... MainWindow#&40;8BL 3@C??C &Delete Group MainWindow&7<5=8BL &3@C??C...&Edit Group... MainWindow&0?8A8&Entries MainWindow(&-:A?>@B8@>20BL 2... &Export to... MainWindow &$09;&File MainWindow&@C??0&Group MainWindow&@C??K&Groups MainWindow&!?@02:0&Help MainWindow(&<?>@B8@>20BL 87...&Import from... MainWindow4& C:>2>4AB2> "KeePassX"...&KeePassX Handbook... MainWindow(>A;54=55 &87<5=5=85 &Last Change MainWindow6&01;>:8@>20BL 3;02=>5 >:=>&Lock Workspace MainWindow,&0AB@>8BL 70:;04:8...&Manage Bookmarks... MainWindow0!>&740BL 107C ?0@>;59...&New Database... MainWindow0&B:@KBL 107C ?0@>;59...&Open Database... MainWindowB:@KBL &AAK;:C &Open URL MainWindow&0@>;L &Password MainWindow*&5=5@0B>@ ?0@>;59...&Password Generator... MainWindow&@8<5=8BL &02B>22>4&Perform AutoType MainWindow &KE>4&Quit MainWindow4&!>E@0=8BL 2;>65=85 :0:...&Save Attachment As... MainWindow.&!>E@0=8BL 107C ?0@>;59&Save Database MainWindow&0AB@>9:0... &Settings... MainWindow&0720=85&Title MainWindow&!AK;:0&URL MainWindow&84&View MainWindow4&@>A<>B@/?@02:0 70?8A8...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow&;>65=85 A&ttachment MainWindow2>1028BL =>2CN &70?8AL...Add &New Entry... MainWindow0>1028BL =>2CN 3@C??C...Add New Group... MainWindowP&>1028BL MBC 107C ?0@>;59 2 70:;04:8...Bookmark &this Database... MainWindow&!>740=85 C&reation MainWindow8&7<5=8BL >A=>2=>9 ?0@>;L...Change &Master Key... MainWindow>!:>?8@>20BL &8<O 2 1CD5@ >1<5=0Copy &Username to Clipboard MainWindowD!:>?8@>20BL &?0@>;L 2 1CD5@ >1<5=0Copy Password &to Clipboard MainWindowB!:>?8@>20BL AAK;:C 2 1CD5@ >1<5=0Copy URL to Clipboard MainWindow&#40;8BL 70?8AL De&lete Entry MainWindow2&:>=G0=85 A@>:0 3>4=>AB8E&xpires MainWindow&>?>;=8B5;L=>E&xtras MainWindow @C??KGroups MainWindow !:@KBLHide MainWindow!:@KBL &?0@>;8Hide &Passwords MainWindow!:@KBL &8<5=0Hide &Usernames MainWindowKeePassXKeePassX MainWindow">A;54=89 &4>ABC? Last &Access MainWindow&CA>@=0O :>@78=0...Recycle Bin... MainWindow<!>E@0=8BL 107C ?0@>;59 &:0:...Save Database &As... MainWindow0>&8A: 2 1075 ?0@>;59...Search &in Database... MainWindow4>8A: 2 B5:CI59 3&@C??5...Search in this &Group... MainWindow2B>1@078BL 40==K5 &70?8A8Show &Entry Details MainWindow\>:070BL 70?8A8 A &8AB5:H8< A@>:>< 3>4=>AB8...Show &Expired Entries... MainWindow4B>1@078BL &?0=5;L AB0BCA0Show &Statusbar MainWindow$!>@B8@>20BL 3@C??K Sort groups MainWindowF 07&<5@ 7=0G:>2 ?0=5;8 8=AB@C<5=B>2Toolbar &Icon Size MainWindow"<O &?>;L7>20B5;O User&name MainWindow$0AB@>8BL 70:;04:8Manage BookmarksManageBookmarksDlg*%1: $09; =5 4>ABC?5=.%1: File is not readable.PasswordDialogF%1: $09; 8;8 48@5:B>@8O =5 =0945=K.%1: No such file or directory.PasswordDialogA5 D09;K (*) All Files (*)PasswordDialog47<5=5=85 >A=>2=>3> ?0@>;OChange Master KeyPasswordDialog(!>740BL D09;-:;NG...Create Key File...PasswordDialog";NG 107K ?0@>;59 Database KeyPasswordDialog,2548B5 3;02=K9 ?0@>;LEnter Master KeyPasswordDialog"Key-D09;K (*.key)Key Files (*.key)PasswordDialog>A;54=89 D09; Last FilePasswordDialogL2548B5 ?0@>;L 8;8 2K15@8B5 D09;-:;NG.-Please enter a Password or select a key file.PasswordDialog2548B5 ?0@>;L.Please enter a Password.PasswordDialog&K15@5B5 D09;-:;NG.Please provide a key file.PasswordDialog K1>@ D09;-:;NG0Select a Key FilePasswordDialog6?@545;5=85 3;02=>3> ?0@>;OSet Master KeyPasswordDialogK1@0==0O 48@5:B>@8O A>45@68B 1>;55 >4=>3> D09;0-:;NG0. >60;C9AB0, C:068B5 :>=:@5B=K9 D09;-:;NG.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialog^K1@0==0O 48@5:B>@8O =5 A>45@68B D09;>2-:;NG59.3The given directory does not contain any key files.PasswordDialogTK1@0==K9 D09; 8;8 48@5:B>@8O =5 4>ABC?=K.3The selected key file or directory is not readable.PasswordDialog&17>@... &Browse... PasswordDlg 0704Back PasswordDlgP2548B5 ?0@>;L 8/8;8 2K15@8B5 D09;-:;NG.*Enter a Password and/or choose a key file. PasswordDlg(!>740BL D09;-:;NG...Generate Key File... PasswordDlg;NGKey PasswordDlg$09;-:;NG: Key File: PasswordDlg>A;54=89 D09; Last File PasswordDlg0@>;L: Password: PasswordDlg(0@>;8 =5 >48=0:>2K.Passwords are not equal. PasswordDlg02548B5 ?>2B>@=> ?0@>;L:Please repeat your password: PasswordDlg >8A:Search SearchDialog$&! CGQB>< @538AB@0&Case Sensitive Search_Dlg&0720=85&Titles Search_Dlg&<O &Usernames Search_Dlg&;>65=85A&nhang Search_Dlg>&<<5=B0@89 C&omments Search_Dlg<:;NG0O ?>43@C??K (@5:C@A82=>)Include Subgroups (recursive) Search_Dlg:;NG0O:Include: Search_Dlg&0@>;8 Pass&words Search_Dlg* 53C;O@=>5 &2K@065=85Regular E&xpression Search_Dlg >8A:: Search For: Search_Dlg>8A:... Search... Search_Dlg&!AK;:8U&RLs Search_DlgK1>@ 7=0G:0Icon Selection SelectIconDlg>?>;=8B5;L=>AdvancedSettingsDialog25@5<5==K5 F25B0 AB>;1F>2Alternating Row ColorsSettingsDialog\5@5A?@0H820BL ?5@54 C40;5=85< 70?8A59 8 3@C??,Always ask before deleting entries or groupsSettingsDialog@54AB02;5=85 AppearanceSettingsDialog 2B>@:Author:SettingsDialog60AB@>9:0 DC=:F88 02B>22>40Auto-Type Fine TuningSettingsDialogr2B><0B8G5A:8 A>E@0=OBL 107C ?0@>;59 ?@8 :064>< 87<5=5=88.Automatically save database after every changeSettingsDialog2B><0B8G5A:8 A>E@0=OBL 107C ?0@>;59 ?@8 70:@KB88 ?@>3@0<<K 8;8 1;>:8@>2:8 3;02=>3> >:=09Automatically save database on exit and workspace lockingSettingsDialog&25B 10=5@0 Banner ColorSettingsDialog0:;04:8 BookmarksSettingsDialog 17>@BrowseSettingsDialog17>@... Browse...SettingsDialog&7<5=8BL C&hange...SettingsDialog7<5=8BL... Change...SettingsDialog:G8AB8BL 8AB>@8N ?@O<> A59G0AClear History NowSettingsDialog(CD5@ >G8I0BL G5@57:Clear clipboard after:SettingsDialog&25B 1:Color 1:SettingsDialog&25B 2:Color 2:SettingsDialog>=D83C@0F8O... Configure...SettingsDialog ><0=40 1@0C75@0Custom Browser CommandSettingsDialogZ0AB@>9B0 >:=0 45B0;L=>9 8=D>@<0F88 70?8A8...Customize Entry Detail View...SettingsDialog&80;>35 ?0@>;O 107KDatabase Key DialogSettingsDialogB045@6:0 <564C =060B8O<8 :;028HL.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialog8!B8@0BL :>?88 70?8A59 G5@57:!Delete backup entries older than:SettingsDialog(5 @0A:@K20BL 45@52>Do not expand any itemSettingsDialog<80;>35 @540:B8@>20=8O 70?8A59Edit Entry DialogSettingsDialog5 8A?>;L7>20BL 01A>;NB=K5 ?CB8 4;O 70:;04>: 8 ?>A;54=53> >B:@KB>3> D09;0. -B> =081>;55 C4>1=> ?@8 8A?>;L7>20=88 ?5@5=>A=>9 25@A88 KeePassX.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog& 0A:@KBL 2A5 45@52>Expand all itemsSettingsDialogA=>2=K5 (1) General (1)SettingsDialogA=>2=K5 (2) General (2)SettingsDialogR;>10;L=0O 3>@OG0O :;028H0 4;O 02B>22>40:Global Auto-Type Shortcut:SettingsDialog4Gnome 8=B53@0F8O (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogR@C??8@>2:0 45@520 ?@8 70?CA:5 ?@>3@0<<K:Group tree at start-up:SettingsDialog KDE 4 8=B53@0F8OKDE 4 Desktop IntegrationSettingsDialog,@5<O =060B8O :;028H8:Key Stroke Delay:SettingsDialog/7K: (Language)LanguageSettingsDialog /7K: (Language): Language:SettingsDialog;>:8@>20BL 107C 40==KE 2 A;CG05 =58A?>;L7>20=8O :><?LNB5@0 2 B5G5=88!Lock database after inactivity ofSettingsDialogd;>:8@>20BL 3;02=>5 >:=> ?@8 <8=8<870F88 ?@>3@0<<K.Lock workspace when minimizing the main windowSettingsDialog5480 Root: Media Root:SettingsDialog>8=8<878@>20BL 2 A8AB5<=K9 B@59#Minimize to tray instead of taskbarSettingsDialogv!2>@0G820BLAO 2 A8AB5<=K9 B@59 ?@8 70:@KB88 3;02=>3> >:=0 =Minimize to tray when clicking the main window's close buttonSettingsDialog =8G53>NoneSettingsDialog*>?>;=5=8O (Plug-Ins)Plug-InsSettingsDialogPre-Gap:Pre-Gap:SettingsDialogT0?><8=0BL ?>A;54=89 B8? 8 ?>;>65=85 :;NG0#Remember last key type and locationSettingsDialogD0?><8=0BL ?>A;54=89 >B:@KBK9 D09;Remember last opened fileSettingsDialogF>AAB0=02;820BL ?>A;54=55 A>AB>O=85Restore last stateSettingsDialogn@8 87<5=5=88 70?8A59 A>E@0=OBL :>?8N 2 3@C??C 'Backup'8Save backups of modified entries into the 'Backup' groupSettingsDialog|!>E@0=OBL ?>A;54=88 2K1@0==K5 48@5:B>@88 480;>3>2 2K1>@0 D09;0'Save recent directories of file dialogsSettingsDialog!>E@0=OBL >B=>A8B5;L=K5 ?CB8 (4;O 70:;04>: 8 ?>A;54=53> >B:@KB>3> D09;0)-Save relative paths (bookmarks and last file)SettingsDialog57>?0A=>ABLSecuritySettingsDialog0AB@>9:8SettingsSettingsDialog(B>1@060BL ?0@>;8 2:Show plain text passwords in:SettingsDialogF>:07K20BL 8:>=:C 2 A8AB5<=>< B@58 Show system tray iconSettingsDialogB>:07K20BL ?>25@E >AB0;L=KE >:>=.Show window always on topSettingsDialogH;>:8@>20BL 3;02=>5 >:=> ?@8 70?CA:5 Start lockedSettingsDialog68=8<878@>20BL ?@8 703@C7:5Start minimizedSettingsDialog&25B B5:AB0: Text Color:SettingsDialogj8@5:B>@8O <>=B8@>2:8 CAB@>9A2 (CD, USB =0:>?8B5;59).TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogb045@6:0 =5@54 =0G0;>< A8<C;OF88 =060B8O :;028HL.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogvA?>;L7>20BL =0720=8O 70?8A59 ?@8 ?>8A:5 >:=0 4;O 02B>22>40;Use entries' title to match the window for Global Auto-TypeSettingsDialog;O C?@>I5=8O 8=B5@D59A0 ?>;L7>20B5;O K <>65B5 745AL >B:;NG8BL =5:>B>@K5 DC=:F88 KeePassX.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogl7<5=5=8O 2ABC?OB 2 A8;C ?>A;5 ?5@5703@CA:8 ?@>3@0<<K.?You need to restart the program before the changes take effect.SettingsDialog4=59daysSettingsDialog<AmsSettingsDialog A5:C=4secondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget2548B5 ?0@>;L:Enter your PasswordSimplePasswordDialog0@>;L: Password:SimplePasswordDialogB2B>22>4: 2K18@5B5 >:=> 4;O 22>40Auto-Type: Select Target WindowTargetWindowDlgK15@5B5 >:=> 4;O 02B>22>40 87 A?8A:0 8;8 22548B5 8<O >:=0 2@CG=CN:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg  CAA:89 ( >AA8O)$LANGUAGE_NAME Translation8<8B@89 $C=:, >@8A @>4A:89$TRANSLATION_AUTHOR Translation\dmitry.funk@gmail.com, Brodsky_Boris@yahoo.com$TRANSLATION_AUTHOR_EMAIL Translation\<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">;02=>5 >:=> 701;>:8@>20=>.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget(0:@KBL 107C ?0@>;59Close DatabaseWorkspaceLockedWidget $>@<0FormWorkspaceLockedWidget 071;>:8@>20BLUnlockWorkspaceLockedWidget ) , keepassx-0.4.3/share/keepassx/i18n/keepassx-it_IT.qm0000664000175000017500000016554711342454754021272 0ustar felixfelix=B,gC,I/xL0:R1T2U4H:'@(tA(B(D)F)DH)xP)R)T*V*HX*|f*r*+z;;;;E;mC\H4νMhQQiSiKZl9Zln{\4]|_t lF$,֍t/>?VEVEo =A})#Vn*% *0+{+3JqGH8J hLbLLbLbLbLblLbzLb>M M};M4N N.N8_N@>Nm O;O>1T5LT<&VW3hX}YJ[ % N[ %4 [ %9z[ %@x[ %nE[Z{\^<Ta.8"u-uPe0a..`32r8.rqFp*Z_+ ]evf/~hPkKmˡJ:}@|_˓'8e@ ,.d(<\ =]Dsj[ 3mr} ~BII:QJ[n|)FRvWTNK|E %O`yX1; n.I Y /Qg Li:>8T#NX$#ʏ&:^U-Kj5ۻ5<5rDBfGtÌPÎ#K5ٰ/:Ym4%^G!"Cb#C-26G'6Gd:CkC:DcnK!N3GPP;UDY[{P}En`]8]IHAHW 9mznQ-5t>[)2ve4q >= 9={n MDJ mJms&nu&nQ ,58#j0DɃO?P''_R`nS<'vߎkn߸>[)H>*,N0B33p4?4#pI=MJNRO_RGtXuHuw,#z<J 0N`4Ce19;n x7l"Uƭ|Ƹ*<x:Ȟh譾N#^ ѕAP A Db LY gw l[~B C O ("( d΅  : C  C5 C9 C@ Cn D MTa n%m ^n l6 3h 9.H` 5s~ 5tc~ 8R G?nt J m LZ~JI OZO~+ T> aES c4 d:k d<-S d<7 d d dIz nM qE? s/n s( u~; ~ w S N"- ) >7 > t/ la p ˔Lr F>/ g ^ == lS f  f @ f B f T f Wb f Z f r| f v 8 z  # I YH LJ XоZ Yn: ^| h).I +el J< JQ  =  ) Ÿ^c M ͓> ֕  ٷT~ R Q.< h\  A:79 0k &+*' ?I B{D LuO M Z$- [c vY9 E1 ?=q S @4y SS gϨ 4 c * f gd 5 w s sa s- , ȶ d V ܾ @~_ ƙf l ?6 { ?@Nq y T^U T^\ 7wy_ Sus?t ^_ ^}r mbDy n ose }~@ .IK PW P .c) k~ @ 0~ Er5.HaMB:$$ߎo.{?EBL&R܎9e>PbysLu[|qkhRdkL#n %ؾpK26XWcu ,%,!/ў}/ўhC^Q:SYqdBTe3T7g^_p;NtD XR4s}Ȟ\[ i AutoreAuthor AboutDialog$Traduzione attualeCurrent Translation AboutDialogSviluppatore Developer AboutDialogJSviluppatore, Amministratore progettoDeveloper, Project Admin AboutDialog ErroreError AboutDialogBImpossibile trovare il file '%1'.File '%1' could not be found. AboutDialog|Informazioni su come tradurre KeePassX si possono trovare qui:Patches per migliorie a MacOS X"Patches for better MacOS X support AboutDialog GruppoTeam AboutDialogRingraziamenti Thanks To AboutDialog:Alcune correzioni e migliorieVarious fixes and improvements AboutDialogDisegnatore Web Web Designer AboutDialogInformazioni suAboutAboutDlgAppFuncAppFuncAboutDlgAppNameAppNameAboutDlgCopyright (C) 2005 - 2009 KeePassX Team KeePassX distribuito sotto i termini della General Public License (GPL) versione 2.~Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2.AboutDlgCreditiCreditsAboutDlgLicenzaLicenseAboutDlgTraduzione TranslationAboutDlg>http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg,Aggiungi ai Segnalibri Add BookmarkAddBookmarkDlg"Tutti i files (*) All Files (*)AddBookmarkDlgSfoglia... Browse...AddBookmarkDlg*Modifica i Segnalibri Edit BookmarkAddBookmarkDlg File:File:AddBookmarkDlg0Database KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgTitolo:Title:AddBookmarkDlg Auto Digitazione Auto-Type AutoTypeDlgLClicca su una voce per Auto digitarlo."Click on an entry to auto-type it. AutoTypeDlg GruppoGroup AutoTypeDlg6KeePassX - Auto DigitazioneKeePassX - Auto-Type AutoTypeDlg TitoloTitle AutoTypeDlgNome utenteUsername AutoTypeDlgH'%1' non un valore integer valido. '%1' is not valid integer value.CDbSettingsDlgNAES(Rijndael): 256 Bit (predefinito)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg ErroreErrorCDbSettingsDlgOKOKCDbSettingsDlgZDetermina il numero di passaggi di cifratura.1Please determine the number of encryption rounds.CDbSettingsDlgImpostazioniSettingsCDbSettingsDlgzIl numero di passaggi di cifratura deve essere maggiore di 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgAttenzioneWarningCDbSettingsDlg %1 Bit%1 Bit CEditEntryDlg 1 Mese1 Month CEditEntryDlg1 Settimana1 Week CEditEntryDlg 1 Anno1 Year CEditEntryDlg2 Settimane2 Weeks CEditEntryDlg 3 Mesi3 Months CEditEntryDlg3 Settimane3 Weeks CEditEntryDlg 6 Mesi6 Months CEditEntryDlg(Aggiungi allegato...Add Attachment... CEditEntryDlgCalendario... Calendar... CEditEntryDlg6Impossibile aprire il file.Could not open file. CEditEntryDlg&Eliminare allegato?Delete Attachment? CEditEntryDlgModifica voce Edit Entry CEditEntryDlg ErroreError CEditEntryDlgJErrore durante la scrittura del file.Error while writing the file. CEditEntryDlgNuova voce New Entry CEditEntryDlgNo, Annulla No, Cancel CEditEntryDlgOKOK CEditEntryDlgLa password e la conferma password non sono uguali. Verifica i valori inseriti.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg"Salva allegato...Save Attachment... CEditEntryDlg\La voce scelta non ha allegati oppure vuota.2The chosen entry has no attachment or it is empty. CEditEntryDlgOggiToday CEditEntryDlgAttenzioneWarning CEditEntryDlgSYes CEditEntryDlgrStai per eliminare l'allegato di questa voce. Sei sicuro?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg&[Voce senza titolo][Untitled Entry] CEditEntryDlg%1 Bits%1 Bits CGenPwDialog,Generatore di passwordPassword Generator CGenPwDialogB%1: Impossibile caricare il file.%1: File could not be loaded.CSelectIconDlg:Aggiungi icona personalizzataAdd Custom IconCSelectIconDlg"Aggiungi icone... Add Icons...CSelectIconDlgXErrore durante il caricamento dell'icona(e):+An error occured while loading the icon(s):CSelectIconDlgRErrore durante il caricamento dell'icona.(An error occured while loading the icon.CSelectIconDlgEliminaDeleteCSelectIconDlg ErroreErrorCSelectIconDlgImmagini (%1) Images (%1)CSelectIconDlgSelezionaPickCSelectIconDlgSostituisci... Replace...CSelectIconDlg4Seleziona una directory...Select a directory... CSettingsDlg4Seleziona un eseguibile...Select an executable... CSettingsDlgImpostazioniSettings CSettingsDlg"Lingua di sistemaSystem Language CSettingsDlgCalendarioCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Insieme casuale generato correttamente!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg(Impostazione entropia... Sposta il mouse e/o premi alcuni tasti finch ci sia sufficiente entropia affinch il generatore imposti un numero casuale.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg,Accumulazione entropiaEntropy CollectionCollectEntropyDlg2Generatore numero casualeRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogNome allegatoAttachment NameCustomizeDetailViewDialogGBCustomizeDetailViewDialogGrassettoBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogCentratoCenteredCustomizeDetailViewDialogCommentoCommentCustomizeDetailViewDialogData creazione Creation DateCustomizeDetailViewDialog&Finestra di dialogoDialogCustomizeDetailViewDialogData scadenzaExpiration DateCustomizeDetailViewDialog(Dimensione carattere Font SizeCustomizeDetailViewDialog GruppoGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogCICustomizeDetailViewDialogCorsivoItalicCustomizeDetailViewDialogGiustificato JustifiedCustomizeDetailViewDialogSLCustomizeDetailViewDialog&Data ultimo accessoLast Access DateCustomizeDetailViewDialog(Data ultima modificaLast Modification DateCustomizeDetailViewDialog(Allineato a sinistra Left-AlignedCustomizeDetailViewDialogPasswordPasswordCustomizeDetailViewDialogDRCustomizeDetailViewDialog Editor Rich TextRich Text EditorCustomizeDetailViewDialog$Allineato a destra Right-AlignedCustomizeDetailViewDialogMTCustomizeDetailViewDialogModelli TemplatesCustomizeDetailViewDialogColore testo Text ColorCustomizeDetailViewDialog0Tempo fino alla scadenzaTime till ExpirationCustomizeDetailViewDialog TitoloTitleCustomizeDetailViewDialogSUCustomizeDetailViewDialogSottolineato UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialogNome utenteUsernameCustomizeDetailViewDialogMaiNeverDatabaseAlgoritmo: Algorithm:DatabaseSettingsDlgzCalcola passaggi con ritardo di un secondo su questo computer6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg*Impostazioni DatabaseDatabase SettingsDatabaseSettingsDlgCifratura EncryptionDatabaseSettingsDlg,Passaggi di cifratura:Encryption Rounds:DatabaseSettingsDlgCommentoCommentDetailViewTemplateCreazioneCreationDetailViewTemplateScadenza ExpirationDetailViewTemplate GruppoGroupDetailViewTemplateUltimo accesso Last AccessDetailViewTemplateUltima modificaLast ModificationDetailViewTemplatePasswordPasswordDetailViewTemplate TitoloTitleDetailViewTemplateURLURLDetailViewTemplateNome utenteUsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialogAllegato: Attachment:EditEntryDialogCommento:Comment:EditEntryDialogModifica voce Edit EntryEditEntryDialog Scade:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialogGruppo:Group:EditEntryDialog Icona:Icon:EditEntryDialogMaiNeverEditEntryDialogPassword: Password:EditEntryDialogQualit:Quality:EditEntryDialogRipeti:Repeat:EditEntryDialogTitolo:Title:EditEntryDialogURL:URL:EditEntryDialogNome utente: Username:EditEntryDialog>>EditGroupDialog Propriet gruppoGroup PropertiesEditGroupDialog Icona:Icon:EditGroupDialogTitolo:Title:EditGroupDialogHDoppio click sulla voce per aprirla.'Double click on an entry to jump to it.ExpiredEntriesDialogScadutaExpiredExpiredEntriesDialogVoce scadutaExpired EntriesExpiredEntriesDialog2Voci scadute nel DatabaseExpired Entries in the DatabaseExpiredEntriesDialog GruppoGroupExpiredEntriesDialog TitoloTitleExpiredEntriesDialogNome utenteUsernameExpiredEntriesDialog"Tutti i files (*) All Files (*)Export_KeePassX_Xml"File XML KeePassXKeePassX XML FileExport_KeePassX_Xml"Files XML (*.xml)XML Files (*.xml)Export_KeePassX_Xml"Tutti i files (*) All Files (*) Export_TxtFile di testo Text File Export_Txt*File di testo (*.txt)Text Files (*.txt) Export_Txt(Esportazione fallita Export Failed ExporterBaseEsporta file...Export File... ExporterBaseBSi verificato un errore fatale.A fatal error occurred. FileErrors:Si verificata una scadenza.A timeout occurred. FileErrorslSi verificato un errore durante la lettura del file..An error occurred while reading from the file. FileErrorspSi verificato un errore durante la scrittura del file.,An error occurred while writing to the file. FileErrorsJSi verificato un errore di risorsa.An resource error occurred. FileErrorsTSi verificato un errore non specificato.An unspecified error occurred. FileErrorsBNon si verificato alcun errore.No error occurred. FileErrors:Impossibile accedere al file.The file could not be accessed. FileErrors8Impossibile copiare il file.The file could not be copied. FileErrors6Impossibile aprire il file.The file could not be opened. FileErrors<Impossibile rimuovere il file.The file could not be removed. FileErrors>Impossibile rinominare il file.The file could not be renamed. FileErrorsFImpossibile ridimensionare il file.The file could not be resized. FileErrors>L'operazione stata terminata.The operation was aborted. FileErrors`La posizione nel file non pu essere modificata..The position in the file could not be changed. FileErrors$Lettere M&inuscole&Lower LettersGenPwDlg &Meno&MinusGenPwDlg&Numeri&NumbersGenPwDlg&Caratteri &Speciali&Special CharactersGenPwDlg&Sottolinea &UnderlineGenPwDlg$Lettere M&aiuscole&Upper LettersGenPwDlgS&pazi bianchi &White SpacesGenPwDlgFImposta solo una volta per sessioneCollect only once per sessionGenPwDlgPersonalizzaCustomGenPwDlg<Abilita accumulazione entropiaEnable entropy collectionGenPwDlgxAssicurati che la password contenga caratteri di ogni gruppo9Ensure that password contains characters from every groupGenPwDlg4Escludi caratteri identiciExclude look-alike charactersGenPwDlg GeneraGenerateGenPwDlgLunghezza:Length:GenPwDlg"Lettere minuscole Lower LettersGenPwDlgNuova password: New Password:GenPwDlg NumeriNumbersGenPwDlgOpzioniOptionsGenPwDlg,Generatore di passwordPassword GeneratorGenPwDlgPronunciabile PronounceableGenPwDlgQualit:Quality:GenPwDlgCasualeRandomGenPwDlg$Caratteri specialiSpecial CharactersGenPwDlg"Lettere maiuscole Upper LettersGenPwDlgPUtilizza i seguenti gruppi di carattere:Use following character groups:GenPwDlg<Utilizza i seguenti caratteri:Use the following characters:GenPwDlgPrima pagina First PageHelpDlgContenuti guida Help ContentsHelpDlg"Pagina successiva Next PageHelpDlg"Pagina precedente Previous PageHelpDlg"Tutti i files (*) All Files (*)Import_KWalletXml>Il documento non contiene dati.Document does not contain data.Import_KWalletXml(Importazione fallita Import FailedImport_KWalletXml^Dati XML non validi (vedi stdout per dettagli).*Invalid XML data (see stdout for details).Import_KWalletXml(File XML non valido.Invalid XML file.Import_KWalletXml"Files XML (*.xml)XML Files (*.xml)Import_KWalletXml"Tutti i files (*) All Files (*)Import_KeePassX_Xml(Importazione fallita Import FailedImport_KeePassX_Xml0File XML KeePass (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlzErrore analisi: Il file non un valido file XML di KeePassX.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_Xml^Errore analisi XML nella riga %1 colonna %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml"Tutti i files (*) All Files (*)Import_PwManagerXI file compressi non sono ancora supportati.'Compressed files are not supported yet.Import_PwManager\Il file danneggiato (prova di hash fallita).#File is damaged (hash test failed).Import_PwManager Il fIle vuoto.File is empty.Import_PwManagerNIl file non un valido file PwManager. File is no valid PwManager file.Import_PwManager(Importazione fallita Import FailedImport_PwManager^Dati XML non validi (vedi stdout per dettagli).*Invalid XML data (see stdout for details).Import_PwManager.Files PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManagerLAlgoritmo di cifratura non supportato.!Unsupported encryption algorithm.Import_PwManager:Versione file non supportata.Unsupported file version.Import_PwManagerBAlgoritmo di hash non supportato.Unsupported hash algorithm.Import_PwManager Password errata.Wrong password.Import_PwManager(Importazione fallita Import Failed ImporterBaseImporta file...Import File... ImporterBase6Impossibile aprire il file.Could not open file. Kdb3DatabaseDecifratura fallita. La chiave errata oppure il file danneggiato.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseProva di hash fallita. La chiave errata oppure il file danneggiato.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database:Albero del gruppo non valido.Invalid group tree. Kdb3Database.Il fIle chiave vuoto.Key file is empty. Kdb3DatabaseVIl database stato aperto in sola lettura.'The database has been opened read-only. Kdb3DatabaseXIl database deve contenere almeno un gruppo.-The database must contain at least one group. Kdb3Database\Impossibile inizializzare l'algoritmo twofish.+Unable to initialize the twofish algorithm. Kdb3DatabaseXErrore inatteso: La posizione fuori campo.)Unexpected error: Offset is out of range. Kdb3DatabaserDimensione file inattesa (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseFAlgoritmo di cifratura sconosciuto.Unknown Encryption Algorithm. Kdb3DatabaseFAlgoritmo di cifratura sconosciuto.Unknown encryption algorithm. Kdb3Database:Versione file non supportata.Unsupported File Version. Kdb3DatabaseFirma errataWrong Signature Kdb3Database BytesBytesKdb3Database::EntryHandleGBGiBKdb3Database::EntryHandleKBKiBKdb3Database::EntryHandleMBMiBKdb3Database::EntryHandleZSei sicuro di voler eliminare queste %1 voci?1Are you sure you want to delete these %1 entries?KeepassEntryViewTSei sicuro di voler eliminare questa voce?+Are you sure you want to delete this entry?KeepassEntryViewxDeve esistere almeno un gruppo prima di aggiungere una voce.5At least one group must exist before adding an entry.KeepassEntryViewAllegato AttachmentKeepassEntryViewCommentiCommentsKeepassEntryViewCreazioneCreationKeepassEntryViewEliminare?Delete?KeepassEntryView ErroreErrorKeepassEntryView ScadeExpiresKeepassEntryView GruppoGroupKeepassEntryViewUltimo accesso Last AccessKeepassEntryViewUltima modifica Last ChangeKeepassEntryViewOKOKKeepassEntryViewPasswordPasswordKeepassEntryView TitoloTitleKeepassEntryViewURLURLKeepassEntryViewNome utenteUsernameKeepassEntryViewSei sicuro di voler eliminare questo gruppo, tutti i suoi sottogruppi e le loro voci?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewEliminare?Delete?KeepassGroupView.Risultati della ricercaSearch ResultsKeepassGroupView%1 Giorni%1 DaysKeepassMainWindow%1 Mesi %1 MonthsKeepassMainWindow%1 Anni%1 YearsKeepassMainWindow0&Blocca l'area di lavoro&Lock WorkspaceKeepassMainWindow1 Giorno1 DayKeepassMainWindow 1 Mese1 MonthKeepassMainWindow 1 Anno1 YearKeepassMainWindow"Tutti i files (*) All Files (*)KeepassMainWindowDuplica voci Clone EntriesKeepassMainWindowDuplica voce Clone EntryKeepassMainWindowdImpossibile creare il file di blocco del database.#Couldn't create database lock file.KeepassMainWindowImpossibile creare il file di blocco. Apertura del database in sola lettura.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowjImpossibile rimuovere il file di blocco del database.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow"Database bloccatoDatabase lockedKeepassMainWindowElimina vociDelete EntriesKeepassMainWindowElimina voce Delete EntryKeepassMainWindow ErroreErrorKeepassMainWindowScadutaExpiredKeepassMainWindow8Impossibile salvare il file.File could not be saved.KeepassMainWindow0Database KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow.Caricamento Database...Loading Database...KeepassMainWindow&Caricamento fallitoLoading FailedKeepassMainWindow Apri Database...Open Database...KeepassMainWindow(Apri in sola letturaOpen read-onlyKeepassMainWindow ProntoReadyKeepassMainWindow"Salva Database...Save Database...KeepassMainWindow6Salvare il file modificato?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow:Mostra barra degli &strumenti Show &ToolbarKeepassMainWindow|Il file attuale stato modificato. Vuoi salvare le modifiche??The current file was modified. Do you want to save the changes?KeepassMainWindow>Il file di database non esiste.!The database file does not exist.KeepassMainWindowIl database che stai tentando di aprire bloccato. Questo significa che qualcun altro ha aperto il file o che KeePassX si bloccato l'ultima volta che si aperto il database. Vuoi comunque aprirlo?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowSi verificato il seguente errore durante l'apertura del database:7The following error occured while opening the database:KeepassMainWindow2Sb&locca l'area di lavoroUn&lock WorkspaceKeepassMainWindownErrore sconosciuto durante il caricamento del database.%Unknown error while loading database.KeepassMainWindow meno di 1 giornoless than 1 dayKeepassMainWindowbloccatolockedKeepassMainWindow nuovonewKeepassMainWindow ErroreErrorMainBImpossibile trovare il file '%1'.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&&Informazioni su... &About... MainWindow4&Aggiungi ai Segnalibri...&Add Bookmark... MainWindow<&Aggiungi nuovo sottogruppo...&Add New Subgroup... MainWindow&Segnalibri &Bookmarks MainWindow&Duplica voce &Clone Entry MainWindow &Chiudi Database&Close Database MainWindow&Colonne&Columns MainWindow&Commento&Comment MainWindow2Impostazioni &Database...&Database Settings... MainWindowElimina &gruppo &Delete Group MainWindow&Modi&fica gruppo...&Edit Group... MainWindow &Voci&Entries MainWindowEsp&orta in... &Export to... MainWindow &File&File MainWindow&Gruppo&Group MainWindow&Gruppi&Groups MainWindow &Guida&Help MainWindowIm&porta da...&Import from... MainWindow(Manuale &KeePassX...&KeePassX Handbook... MainWindow U&ltima modifica &Last Change MainWindow0&Blocca l'area di lavoro&Lock Workspace MainWindow2Gestisci i Se&gnalibri...&Manage Bookmarks... MainWindow$&Nuovo Database...&New Database... MainWindow"&Apri Database...&Open Database... MainWindow&Apri URL &Open URL MainWindow&Password &Password MainWindow4Generatore di &password...&Password Generator... MainWindow0Esegui Auto &Digitazione&Perform AutoType MainWindow E&sci&Quit MainWindow.&Salva allegato come...&Save Attachment As... MainWindow&Salva Database&Save Database MainWindow &Impostazioni... &Settings... MainWindow&Titolo&Title MainWindow&URL&URL MainWindow&Visualizza&View MainWindow8&Visualizza/Modifica voce...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindowAllega&to A&ttachment MainWindow.Aggiungi &nuova voce...Add &New Entry... MainWindow0Aggiungi nuovo gruppo...Add New Group... MainWindowNImposta il Database come &Segnalibro...Bookmark &this Database... MainWindowC&reazione C&reation MainWindow>Cambia la chiave &principale...Change &Master Key... MainWindowFCopia il nome &utente negli AppuntiCopy &Username to Clipboard MainWindow@Copia la password negli &AppuntiCopy Password &to Clipboard MainWindow.Copia URL negli AppuntiCopy URL to Clipboard MainWindowE&limina voce De&lete Entry MainWindow &ScadeE&xpires MainWindow&UtilitE&xtras MainWindow GruppiGroups MainWindowNascondiHide MainWindow$Nascondi &passwordHide &Passwords MainWindow*Nascondi nomi &utenteHide &Usernames MainWindowKeePassXKeePassX MainWindowUltimo &accesso Last &Access MainWindowCestino...Recycle Bin... MainWindow,Save Database &come...Save Database &As... MainWindow,Cerca &nel Database...Search &in Database... MainWindow4Cerca in questo &gruppo...Search in this &Group... MainWindow*Mostra d&ettagli voceShow &Entry Details MainWindow.Mostra voci scadut&e...Show &Expired Entries... MainWindow2Mostra la barra di &statoShow &Statusbar MainWindowOrdina gruppi Sort groups MainWindowNDimensione &icona barra degli strumentiToolbar &Icon Size MainWindow&Nome utente User&name MainWindow&Gestisci SegnalibriManage BookmarksManageBookmarksDlg8%1: Il file non leggibile.%1: File is not readable.PasswordDialog8%1: Nessun file o directory.%1: No such file or directory.PasswordDialog"Tutti i files (*) All Files (*)PasswordDialog0Cambia chiave principaleChange Master KeyPasswordDialog,Crea un file chiave...Create Key File...PasswordDialogChiave Database Database KeyPasswordDialog<Inserisci la chiave principaleEnter Master KeyPasswordDialog&File chiave (*.key)Key Files (*.key)PasswordDialogUltimo file Last FilePasswordDialogdInserisci una password o seleziona un file chiave.-Please enter a Password or select a key file.PasswordDialog,Insersci una password.Please enter a Password.PasswordDialog0Fornisci un file chiave.Please provide a key file.PasswordDialog0Seleziona un file chiaveSelect a Key FilePasswordDialog8Imposta la chiave principaleSet Master KeyPasswordDialogLa directory selezionata contiene pi di un file chiave. Specifica il file chiave direttamente.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogpLa directory selezionata non contiene alcun file chiave.3The given directory does not contain any key files.PasswordDialogtIl file chiave o la directory selezionata non leggibile.3The selected key file or directory is not readable.PasswordDialog&Sfoglia... &Browse... PasswordDlgIndietroBack PasswordDlgfInserisci la password e/o seleziona il file chiave.*Enter a Password and/or choose a key file. PasswordDlg*Genera file chiave...Generate Key File... PasswordDlg ChiaveKey PasswordDlgFile chiave: Key File: PasswordDlgUltimo file Last File PasswordDlgPassword: Password: PasswordDlg<Le password non corrispondono.Passwords are not equal. PasswordDlg&Ripeti la password:Please repeat your password: PasswordDlg CercaSearch SearchDialog&Case Sensitive&Case Sensitive Search_Dlg&Titoli&Titles Search_DlgNomi &Utente &Usernames Search_DlgA&nhangA&nhang Search_DlgC&ommenti C&omments Search_Dlg>Includi sottogruppi (ricorsivo)Include Subgroups (recursive) Search_DlgIncludi:Include: Search_DlgPass&words Pass&words Search_Dlg*&Espressione regolareRegular E&xpression Search_DlgCerca per: Search For: Search_DlgCerca... Search... Search_DlgU&RLU&RLs Search_DlgSelezione iconaIcon Selection SelectIconDlgAvanzateAdvancedSettingsDialog<Colore alternativo delle righeAlternating Row ColorsSettingsDialog\Chiedi sempre prima di eliminare voci o gruppi,Always ask before deleting entries or groupsSettingsDialogAspetto AppearanceSettingsDialogAutore:Author:SettingsDialogLRegola in modo fine l'Auto DigitazioneAuto-Type Fine TuningSettingsDialoghSalva automaticamente il database dopo ogni modifica.Automatically save database after every changeSettingsDialogSalva automaticamente il database all'uscita e blocca l'area di lavoro9Automatically save database on exit and workspace lockingSettingsDialogColore banner Banner ColorSettingsDialogSegnalibri BookmarksSettingsDialogSfogliaBrowseSettingsDialogSfoglia... Browse...SettingsDialogCa&mbia... C&hange...SettingsDialogCambia... Change...SettingsDialog4Pulisci ora la cronologia Clear History NowSettingsDialog2Pulisci gli Appunti dopo:Clear clipboard after:SettingsDialogColore 1:Color 1:SettingsDialogColore 2:Color 2:SettingsDialogConfigura... Configure...SettingsDialog>Personalizza il comando SfogliaCustom Browser CommandSettingsDialogVPersonalizza la voce Visualizza dettagli...Customize Entry Detail View...SettingsDialog0Finestra chiave databaseDatabase Key DialogSettingsDialogRitardo tra due pressioni dei tasti simulati. Aumentalo se l'Auto Digitazione salta casualmente i caratteri.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogRElimina le voci di backup pi vecchie di:!Delete backup entries older than:SettingsDialog4Non espandere alcun valoreDo not expand any itemSettingsDialogNModifica finestra di dialogo della voceEdit Entry DialogSettingsDialogAbilita questo se vuoi usare i segnalibri e l'ultimo file aperto indipendentemente dai loro percorsi assoluti. Questo utile specialmente quando si usa KeePassX in modo portatile e perci i punti di mount cambiano nel file system.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog,Espandi tutti i valoriExpand all itemsSettingsDialogGenerale (1) General (1)SettingsDialogGenerale (2) General (2)SettingsDialogLCollegamento Auto Digitazione globale:Global Auto-Type Shortcut:SettingsDialog\Integrazione con il Desktop di Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog8Albero del gruppo all'avvio:Group tree at start-up:SettingsDialogHIntegrazione con il Desktop di KDE 4KDE 4 Desktop IntegrationSettingsDialog0Ritardo pressione tasti:Key Stroke Delay:SettingsDialog LinguaLanguageSettingsDialogLingua: Language:SettingsDialogJBlocca il database dopo inattivit di!Lock database after inactivity ofSettingsDialogBlocca l'area di lavoro quando riduci a icona la finestra principale.Lock workspace when minimizing the main windowSettingsDialog"Radice dei media: Media Root:SettingsDialogRiduci a icona nella barra di sistema anzich nella barra delle applicazioni#Minimize to tray instead of taskbarSettingsDialogRiduci alla barra di sistema al click del pulsante chiudi della finestra principale=Minimize to tray when clicking the main window's close buttonSettingsDialogNessunoNoneSettingsDialogPlug-InsPlug-InsSettingsDialog,Differenza precedente:Pre-Gap:SettingsDialog^Ricorda l'ultima chiave digitata e la posizione#Remember last key type and locationSettingsDialog8Ricorda l'ultimo file apertoRemember last opened fileSettingsDialog.Ripristina ultimo statoRestore last stateSettingsDialoglSalva backup delle voci modificate nel gruppo 'Backup'8Save backups of modified entries into the 'Backup' groupSettingsDialogXSalva directory recenti dei file di dialoghi'Save recent directories of file dialogsSettingsDialoghSalva i percorsi relativi (segnalibri e ultimo file)-Save relative paths (bookmarks and last file)SettingsDialogSicurezzaSecuritySettingsDialogImpostazioniSettingsSettingsDialog:Mostra password in chiaro in:Show plain text passwords in:SettingsDialogFMostra icona nella barra di sistemaShow system tray iconSettingsDialogJMostra finestra sempre in primo pianoShow window always on topSettingsDialogAvvia bloccato Start lockedSettingsDialog*Avvia ridotto a iconaStart minimizedSettingsDialogColore testo: Text Color:SettingsDialogLa directory dove le periferiche di salvataggio come CD e chiavette USB vengono montate di solito.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTempo tra l'attivazione di un'azione da parte dell'utente di Auto Digitazione e la pressione della prima chiave simulata.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogUtilizza i titoli della voce per far corrispondere la finestra di Auto Digitazione Globale;Use entries' title to match the window for Global Auto-TypeSettingsDialogQui puoi disabilitare alcune caratteristiche di KeePassX a seconda delle tue necessit in modo da mantenere snella l'interfaccia utente.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogDevi riavviare il programma per rendere effettivi i cambiamenti.?You need to restart the program before the changes take effect.SettingsDialog giornidaysSettingsDialogmsmsSettingsDialogsecondisecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget*Inserisci la PasswordEnter your PasswordSimplePasswordDialogPassword: Password:SimplePasswordDialog`Auto Digitazione: seleziona la finestra da usareAuto-Type: Select Target WindowTargetWindowDlg8Per specificare la finestra da usare, o selezioni una finestra attualmente aperta dal menu a tendina, oppure inserisci il titolo della finestra manualmente:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg"Italiano (Italia)$LANGUAGE_NAME TranslationDiego Pierotto$TRANSLATION_AUTHOR Translation6ita.translations@tiscali.it$TRANSLATION_AUTHOR_EMAIL Translation^<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">L'area di lavoro bloccata.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidgetChiudi DatabaseClose DatabaseWorkspaceLockedWidgetCasellaFormWorkspaceLockedWidgetSbloccaUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-es_ES.qm0000664000175000017500000016616411342454754021254 0ustar felixfelix>B-gC-I0nL1.R2T3U5t;@)jA)B)D*F*:H*nP*R*T+ V+>X+rf+r+,p;;;;nC+H4ЎMhQQiSiJZl;Zln\5]M_t#l$-֍04^VEiVEo >n}# n *%F*0++%3JrGH8кJ hLbLbZLbxLbLblLbzLbVM }M}<M4N EN/N9NANm2O=OO?tT6~T=VUW39X}Y[ % [ %55[ %:[ %A[ %nr[ZO\^yTa.9b"u.Pe1b.f.aH338.qHA*Z+-]ef/~+hR$kM̀J:}N|_˓(8e8@ ,.e<\ H=^+DsjQ[ 4ms} ~JII;L[n|)F R=vWYM|G %Q`yX5 m2G n/7  /S Li:>8ý#NX$#̆&:^U--Kj5ۻz55rB6?I1ÌRÎ#N5%/Q&m4&^I!"Cj#C-2v6G26Gm:Cl C<"Dc7K!N4qP0P\"pveq Q= ={n O{J J[mso&nQ&nS",>8#jCDɃQ=P''_RE`'ߎkn߸>[|);H>,N 0D3!344#pI=MJNRO_RtuHu\w,#zJ~ N`e2:n1 9#lOFƭ|]g:ȞL譾N.#^ ѕB A Db LY: gwQ l[~n EM Oa ("( dT  ; C C6& C;2 CB/ Cn D MT n% ^n l8/ 3 9.J9 5s~ 5tc 8T) G?ns J  LZ~Lj OZO~W T? cJ d: d<.O d<8 dH dW dI nM qEA) s/o% s( u~ ~ w 9 N"Ը )w >= > > t0 l pW ˔N F>0 g _3 =? lSz f f B f C f T f W} f Zj f r f :)   # d I Y LJ Xо YnW ^ h).K +e J= JS   I ) | Ÿ^dk M ͓>S ֕ ڍ l + Q. hM  A:8y 1_ &+* ?I B{ LuQ M+ Z$. [c vYɄ F ?> S @5 gy 4 c  gI 5 t w s{ s k s , ȶO  V ܾh @~`= ƙfy l @ z ?@P_  T^V T^]z 7wyz Sus@ ^n ^} mbDy ne }~ .KB P P| .c k~ @2 0~h Er6.JaOB0:$$ߎt.{4?EBrL&(R܎e>RpysO+3[qhTkN#n ؾ? K3*6ct%-!/ў/ў~C^Q:YqdCg^_p<tEEs}Ȟ\[ /ikJCross - http://genlinux.wordpress.comAuthor AboutDialog"Traduccin ActualCurrent Translation AboutDialogDesarrollador Developer AboutDialogRDesarrollador, Administrador del ProyectoDeveloper, Project Admin AboutDialog ErrorError AboutDialogPEl archivo '%1' no puede ser encontrado.File '%1' could not be found. AboutDialogLa informacin sobre cmo traducir KeePassX se puede encontrar en:<head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Se termin de generar!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg:Recolectando entropa... Por favor, mueve el ratn y/o presiona teclas hasta que haya suficiente entropa para recoger de el generador de nmeros aleatorios.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg*Coleccin de EntropaEntropy CollectionCollectEntropyDlg>Generador de Nmeros AleatoriosRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialog$Nombre del adjuntoAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogNegritaBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogCentradoCenteredCustomizeDetailViewDialogComentarioCommentCustomizeDetailViewDialog"Fecha de creacin Creation DateCustomizeDetailViewDialogDilogoDialogCustomizeDetailViewDialog&Fecha de expiracinExpiration DateCustomizeDetailViewDialog&Tamao de la fuente Font SizeCustomizeDetailViewDialog GrupoGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogCursivaItalicCustomizeDetailViewDialogJustificado JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog.Fecha del ltimo AccesoLast Access DateCustomizeDetailViewDialog8Fecha de ltima modificacinLast Modification DateCustomizeDetailViewDialog.Aliniado a la Izquierda Left-AlignedCustomizeDetailViewDialogContraseaPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog(Editor de Texto RicoRich Text EditorCustomizeDetailViewDialog*Aliniado a la Derecha Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialogPlantillas TemplatesCustomizeDetailViewDialogTexto de Color Text ColorCustomizeDetailViewDialog.Tiempo hasta que expireTime till ExpirationCustomizeDetailViewDialog TtuloTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogSubrayado UnderlinedCustomizeDetailViewDialogURLUrlCustomizeDetailViewDialog"Nombre de usuarioUsernameCustomizeDetailViewDialog NuncaNeverDatabaseAlgoritmo: Algorithm:DatabaseSettingsDlgnCalcular rondas para 1 segundo de parn en este equipo.6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg:Parmetro de la base de datosDatabase SettingsDatabaseSettingsDlgEncriptacion EncryptionDatabaseSettingsDlg.Rondas de Encriptacin:Encryption Rounds:DatabaseSettingsDlgComentarioCommentDetailViewTemplateCreacinCreationDetailViewTemplateExpiracin ExpirationDetailViewTemplate GrupoGroupDetailViewTemplateltimo Acceso Last AccessDetailViewTemplate&ltima modificacinLast ModificationDetailViewTemplateContraseaPasswordDetailViewTemplate TtuloTitleDetailViewTemplateURLURLDetailViewTemplate"Nombre de UsuarioUsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialogAdjunto: Attachment:EditEntryDialogComentario:Comment:EditEntryDialogEditar Entrada Edit EntryEditEntryDialogExpira:Expires:EditEntryDialogGe&nGe&n.EditEntryDialog Grupo:Group:EditEntryDialog Icno:Icon:EditEntryDialog NuncaNeverEditEntryDialogContrasea: Password:EditEntryDialogCalidad:Quality:EditEntryDialogTtulo:Title:EditEntryDialogURL:URL:EditEntryDialog$Nombre de Usuario: Username:EditEntryDialog>>EditGroupDialog*Propiedades del GrupoGroup PropertiesEditGroupDialog Icno.Icon:EditGroupDialogTtulo:Title:EditGroupDialog\Doble click en una entrada para saltar a ella.'Double click on an entry to jump to it.ExpiredEntriesDialogExpiradoExpiredExpiredEntriesDialog$Entradas ExpiradasExpired EntriesExpiredEntriesDialogLEntradas Expiradas en la Base de DatosExpired Entries in the DatabaseExpiredEntriesDialog GrupoGroupExpiredEntriesDialog TtuloTitleExpiredEntriesDialog"Nombre de usuarioUsernameExpiredEntriesDialog,Todos los archivos (*) All Files (*)Export_KeePassX_Xml(Fichero KeePassX XMLKeePassX XML FileExport_KeePassX_Xml(Ficheros XML (*.xml)XML Files (*.xml)Export_KeePassX_Xml,Todos los Ficheros (*) All Files (*) Export_Txt Fichero de Texto Text File Export_Txt2Ficheros de Texto (*.txt)Text Files (*.txt) Export_Txt"Exportar fallidos Export Failed ExporterBase&Exportar fichero...Export File... ExporterBase6Ha ocurrido un error fatal.A fatal error occurred. FileErrorsVSe ha alcanzado el tiempo mximo de espera.A timeout occurred. FileErrorsnHa ocurrido un error mientras se lea desde el fichero..An error occurred while reading from the file. FileErrorspHa ocurrido un error mientras se escriba en el fichero.,An error occurred while writing to the file. FileErrorsPHa ocurrido un error desde los recursos.An resource error occurred. FileErrorsJHa ocurrido un error sin especificar.An unspecified error occurred. FileErrors8No ha ocurrido ningn error.No error occurred. FileErrorsFNo se ha podido acceder al fichero.The file could not be accessed. FileErrorsHEl fichero no ha podido ser copiado.The file could not be copied. FileErrorsHEl fichero no ha podido ser abierto.The file could not be opened. FileErrorsHEl fichero no ha podido ser borrado.The file could not be removed. FileErrorsNEl fichero no ha podido ser renombrado.The file could not be renamed. FileErrors`No se ha podido modificar el tamao del fichero.The file could not be resized. FileErrors<La operacin ha sido abortada.The operation was aborted. FileErrorshLa posicin en el fichero no ha podido ser cambiada..The position in the file could not be changed. FileErrors"&Letras minscula&Lower LettersGenPwDlg &Menos&MinusGenPwDlg&Nmeros&NumbersGenPwDlg,&Carcteres Especiales&Special CharactersGenPwDlg&Subrayado &UnderlineGenPwDlg$&Letras maysculas&Upper LettersGenPwDlg&&Espacios en Blanco &White SpacesGenPwDlg:Recolectar una vez por sesinCollect only once per sessionGenPwDlg:Activar recoleccin entrpicaEnable entropy collectionGenPwDlgAsegurarse que la contrasea contenga carcteres de todos los grupos9Ensure that password contains characters from every groupGenPwDlgDExcluir carcteres que se parezcanExclude look-alike charactersGenPwDlgGenerarGenerateGenPwDlgLongitud:Length:GenPwDlg"Letras minsculas Lower LettersGenPwDlg"Nueva Contrasea: New Password:GenPwDlgNmerosNumbersGenPwDlgOpcionesOptionsGenPwDlg0Generador de ContraseasPassword GeneratorGenPwDlgPronunciable PronounceableGenPwDlgCalidad:Quality:GenPwDlgAl azarRandomGenPwDlg*Carcteres EspecialesSpecial CharactersGenPwDlg"Letras maysculas Upper LettersGenPwDlg,Todos los ficheros (*) All Files (*)Import_KWalletXml>El documento no contiene datos.Document does not contain data.Import_KWalletXml"Fallo al Importar Import FailedImport_KWalletXmlhDatos XML Invlidos (Vase el stdout para detalles).*Invalid XML data (see stdout for details).Import_KWalletXml*Archivo XML Invlido.Invalid XML file.Import_KWalletXml(Ficheros XML (*.xml)XML Files (*.xml)Import_KWalletXml,Todos los ficheros (*) All Files (*)Import_KeePassX_Xml"Fallo al importar Import FailedImport_KeePassX_Xml>Archivos de KeePass XML (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlError en al interpretar: El fichero no es un fichero KeePassX XML vlido.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlxError en el interprete de XML en la lnea %1 columna %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml,Todos los archivos (*) All Files (*)Import_PwManagerhLa compresin de archivos no est soportada todava.'Compressed files are not supported yet.Import_PwManager^El archivo est daado (fallo al testear hash).#File is damaged (hash test failed).Import_PwManager,El archivo est vacio.File is empty.Import_PwManager`El archivo no es un archivo de PwManager vlido. File is no valid PwManager file.Import_PwManager"Fallo al importar Import FailedImport_PwManagerbDatos XML Invlidos (Vase stdout para detalles).*Invalid XML data (see stdout for details).Import_PwManager:Archivos de PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManagerLAlgoritmo de encriptacin sin soporte.!Unsupported encryption algorithm.Import_PwManagerPLa versin del archivo no tiene soporte.Unsupported file version.Import_PwManager<Algoritmo de hash sin soporte.Unsupported hash algorithm.Import_PwManager,Contrasea Incorrecta.Wrong password.Import_PwManager"Fallo al importar Import Failed ImporterBase,Importar un archivo...Import File... ImporterBaseBNo se ha podido abrir el archivo.Could not open file. Kdb3DatabaseDesencriptacin fallida. La clave es erronea el archivo est daado.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseFallo en la prueba de hash. La clave es erronea el fichero est daado.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database0Arbol de grupo invlido.Invalid group tree. Kdb3Database@El archivo de claves est vacio.Key file is empty. Kdb3DatabaselLa base de datos ha sido abierta en modo slo lectura.'The database has been opened read-only. Kdb3DatabasebLa base de datos debe contener al menos un grupo.-The database must contain at least one group. Kdb3Database`Error inesperado: El OffSet est fuera de rango.)Unexpected error: Offset is out of range. Kdb3DatabasezTamao de archivo inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseLAlgoritmo de encriptacin desconocido.Unknown Encryption Algorithm. Kdb3Database@Versin del archivo sin soporte.Unsupported File Version. Kdb3Database"Fallo en la firmaWrong Signature Kdb3Database BytesBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandlelEsts seguro de que quieres borrar estas %1 entradas?1Are you sure you want to delete these %1 entries?KeepassEntryView`Ests seguro de que deseas borrar esta entrada?+Are you sure you want to delete this entry?KeepassEntryViewAl menos un grupo debe existir antes de aadir una nueva entrada.5At least one group must exist before adding an entry.KeepassEntryViewAdjunto AttachmentKeepassEntryViewComentariosCommentsKeepassEntryViewCreacinCreationKeepassEntryViewBorrar?Delete?KeepassEntryView ErrorErrorKeepassEntryView ExpiraExpiresKeepassEntryView GrupoGroupKeepassEntryViewltimo Acceso Last AccessKeepassEntryView&ltima modificacin Last ChangeKeepassEntryViewOKOKKeepassEntryViewContraseaPasswordKeepassEntryView TtuloTitleKeepassEntryViewURLURLKeepassEntryView"Nombre de usuarioUsernameKeepassEntryViewEsts seguro de que quieres borrar este grupo y todos sus sub-grupos y todas las entradas?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewBorrar?Delete?KeepassGroupView,Resultados de bsquedaSearch ResultsKeepassGroupView%1 Das%1 DaysKeepassMainWindow%1 Meses %1 MonthsKeepassMainWindow%1 Aos%1 YearsKeepassMainWindow8&Bloquear el rea de trabajo&Lock WorkspaceKeepassMainWindow 1 Da1 DayKeepassMainWindow 1 Mes1 MonthKeepassMainWindow 1 Ao1 YearKeepassMainWindow,Todos los archivos (*) All Files (*)KeepassMainWindow&Entradas duplicadas Clone EntriesKeepassMainWindow"Entrada Duplicada Clone EntryKeepassMainWindowNo se ha podido crear el archivo de bloqueo. Abriendo la base de datos en modo slo lectura.:Couldn't create lock file. Opening the database read-only.KeepassMainWindow`No se ha podido eliminar el bloqueo del archivo.#Couldn't remove database lock file.KeepassMainWindow CTRL+BCtrl+BKeepassMainWindow CTRL+CCtrl+CKeepassMainWindow CTRL+DCtrl+DKeepassMainWindow CTRL+ECtrl+EKeepassMainWindow CTRL+FCtrl+FKeepassMainWindow CTRL+GCtrl+GKeepassMainWindow CTRL+ICtrl+IKeepassMainWindow CTRL+KCtrl+KKeepassMainWindow CTRL+LCtrl+LKeepassMainWindow CTRL+NCtrl+NKeepassMainWindow CTRL+OCtrl+OKeepassMainWindow CTRL+PCtrl+PKeepassMainWindow CTRL+QCtrl+QKeepassMainWindow CTRL+SCtrl+SKeepassMainWindow CTRL+UCtrl+UKeepassMainWindow CTRL+VCtrl+VKeepassMainWindow CTRL+WCtrl+WKeepassMainWindow CTRL+XCtrl+XKeepassMainWindow CTRL+YCtrl+YKeepassMainWindow.Base de datos bloqueadaDatabase lockedKeepassMainWindowBorrar EntradasDelete EntriesKeepassMainWindowBorrar Entrada Delete EntryKeepassMainWindow ErrorErrorKeepassMainWindowExpiradoExpiredKeepassMainWindowJEl archivo no ha podido ser guardado.File could not be saved.KeepassMainWindowBBases de Datos de KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow8Cargando la base de datos...Loading Database...KeepassMainWindowFallo al cargarLoading FailedKeepassMainWindow,Abrir base de datos...Open Database...KeepassMainWindow4Abrir en modo Slo LecturaOpen read-onlyKeepassMainWindow LstoReadyKeepassMainWindow6Guardar la base de datos...Save Database...KeepassMainWindow>Guardar el archivo modificado?Save modified file?KeepassMainWindowSHIFT+CTRL+F Shift+Ctrl+FKeepassMainWindowSHIFT+CTRL+S Shift+Ctrl+SKeepassMainWindow<Mostrar &Barra de herramientas Show &ToolbarKeepassMainWindowEl actual archivo ha sido modificado. Quieres guardar los cambios??The current file was modified. Do you want to save the changes?KeepassMainWindowREl archivo de la base de datos no existe.!The database file does not exist.KeepassMainWindowLa base de datos que ests intentando abrir est bloqueada. Esto significa que alguien ha abierto este archivo que KeePassX fall la ltima vez que abri la base de datos. Quieres abrirlo an as?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowEl siguiente error ha ocurrido mientras se abra la base de datos:7The following error occured while opening the database:KeepassMainWindow<Desbloquear el rea de trabajoUn&lock WorkspaceKeepassMainWindowlError desconocido mientras se cargaba la base de datos%Unknown error while loading database.KeepassMainWindowMenos de un daless than 1 dayKeepassMainWindow NuevonewKeepassMainWindow ErrorErrorMainXEl archivo '%1' no ha podido ser encontrado.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindowAc&erca de... &About... MainWindow&&Aadir Marcador...&Add Bookmark... MainWindow2&Aadir Nuevo Subgrupo...&Add New Subgroup... MainWindow&Marcadores &Bookmarks MainWindowClo&nar Entrada &Clone Entry MainWindow*&Cerrar Base de Datos&Close Database MainWindowCo&lumnas&Columns MainWindow&Comentario&Comment MainWindow>A&justes de la Base de Datos...&Database Settings... MainWindow&Borrar Grupo &Delete Group MainWindow &Editar Grupo...&Edit Group... MainWindow&Entradas&Entries MainWindow&Exportar a... &Export to... MainWindow&Fichero&File MainWindow&Grupos&Groups MainWindow &Ayuda&Help MainWindow$&Importar desde...&Import from... MainWindow4&Libro de mano de KeePassX&KeePassX Handbook... MainWindow&ltimo Cambio &Last Change MainWindow8&Bloquear el rea de trabajo&Lock Workspace MainWindow&Maneja&r Marcadores&Manage Bookmarks... MainWindow(&Nueva Base de Datos&New Database... MainWindow,&Abrir Base de Datos..&Open Database... MainWindow&Abrir URL &Open URL MainWindow&Contrasea &Password MainWindow8&Generador de Contraseas...&Password Generator... MainWindow0&Realizar Auto-Escritura&Perform AutoType MainWindow &Salir&Quit MainWindow0&Guardar Adjunto como...&Save Attachment As... MainWindow,&Guardar Base de Datos&Save Database MainWindowAj&ustes... &Settings... MainWindow&Ttulo&Title MainWindow&URL&URL MainWindow&Ver&View MainWindow,&Ver/Editar entrada...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindowA&djunto A&ttachment MainWindow*Aadir &Nueva EntradaAdd &New Entry... MainWindow0Aadir un nuevo grupo...Add New Group... MainWindow:Marcar &sta Base de Datos...Bookmark &this Database... MainWindow&Creacin C&reation MainWindowBCambiar la contrasea &Maestra...Change &Master Key... MainWindowXCopiar el &Nombre de usuario al portapapelesCopy &Username to Clipboard MainWindowDCopiar contrasea al por&tapapelesCopy Password &to Clipboard MainWindow@Copiar URL desde el portapapelesCopy URL to Clipboard MainWindowBo&rrar Entrada De&lete Entry MainWindow&ExpiraE&xpires MainWindowE&xtrasE&xtras MainWindow GruposGroups MainWindowOcultarHide MainWindow(Ocultar &ContraseasHide &Passwords MainWindow6Ocultar &Nombres de UsuarioHide &Usernames MainWindowKeePassXKeePassX MainWindowltimo &Acceso Last &Access MainWindowPapelera...Recycle Bin... MainWindow<Guardar Base de Datos c&omo...Save Database &As... MainWindow<Buscar &en la Base de Datos...Search &in Database... MainWindow0Buscar en este &Grupo...Search in this &Group... MainWindow>Mostrar Detalles de la &EntradaShow &Entry Details MainWindow<Mostrar &Entradas expiradas...Show &Expired Entries... MainWindow0Mostrar &Barra de EstadoShow &Statusbar MainWindowAcortar grupos Sort groups MainWindow"Tamao de &iconosToolbar &Icon Size MainWindow$Nombre de &Usuario User&name MainWindow(Gestionar MarcadoresManage BookmarksManageBookmarksDlg:%1: El archivo no es legible.%1: File is not readable.PasswordDialogR%1: No existe el fichero el directorio.%1: No such file or directory.PasswordDialog,Todos los Archivos (*) All Files (*)PasswordDialog:Cambiar la Contrasea MaestraChange Master KeyPasswordDialog2Crear un archivo llave...Create Key File...PasswordDialog<Contrasea de la Base de Datos Database KeyPasswordDialog:Escribe la Contrasea MaestraEnter Master KeyPasswordDialog,Archivos Llave (*.key)Key Files (*.key)PasswordDialogltimo archivo Last FilePasswordDialogPor favor introduce una contrasea selecciona un archivo de llave.-Please enter a Password or select a key file.PasswordDialogDPor favor, escribe una contrasea.Please enter a Password.PasswordDialogVPor favor, selecciona una llave de archivo.Please provide a key file.PasswordDialog>Seleccionar un archivo de llaveSelect a Key FilePasswordDialog:Ajustar la contrasea MaestraSet Master KeyPasswordDialogEl directorio seleccionado contiene ms de un archivo llave. Por favor, especifica cul es el archivo directamente.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogxEl directorio seleccionado no contiene ningn archivo llave.3The given directory does not contain any key files.PasswordDialog|El archivo llave seleccionado el directorio no son legibles.3The selected key file or directory is not readable.PasswordDialog&Navegar... &Browse... PasswordDlg AtrsBack PasswordDlgnEscribe una contrasea y/o selecciona un archivo llave.*Enter a Password and/or choose a key file. PasswordDlg0Generar Archivo Llave...Generate Key File... PasswordDlg ClaveKey PasswordDlgArchivo Llave: Key File: PasswordDlgltimo Archivo Last File PasswordDlgContrasea: Password: PasswordDlg>Las contraseas no son iguales.Passwords are not equal. PasswordDlg@Por favor, repite tu contrasea:Please repeat your password: PasswordDlg BuscarSearch SearchDialogN&Sensible a las maysculas y minsculas&Case Sensitive Search_Dlg&Ttulos&Titles Search_Dlg&&Nombres de Usuario &Usernames Search_DlgCol&gadoA&nhang Search_DlgC&omentarios C&omments Search_Dlg<Incluir sub-grupos (recursivo)Include Subgroups (recursive) Search_DlgIncluir:Include: Search_DlgContras&eas Pass&words Search_Dlg$E&xpresin RegularRegular E&xpression Search_DlgBuscar para: Search For: Search_DlgBuscar... Search... Search_Dlg U&RLsU&RLs Search_Dlg$Seleccin de iconoIcon Selection SelectIconDlgAvanzadoAdvancedSettingsDialog8Alternar la tabla de ColoresAlternating Row ColorsSettingsDialogfSiempre preguntar antes de borrar entradas grupos,Always ask before deleting entries or groupsSettingsDialogApariencia AppearanceSettingsDialog Autor:Author:SettingsDialog,Mejoras Auto-EscrituraAuto-Type Fine TuningSettingsDialogGuardar automticamente la base de datos despues de cualquier cambio.Automatically save database after every changeSettingsDialogAutomticamente guardar la base de datos al salir y al bloquear el rea de trabajo9Automatically save database on exit and workspace lockingSettingsDialog Color del banner Banner ColorSettingsDialogMarcadores BookmarksSettingsDialogNavegarBrowseSettingsDialogNavegar... Browse...SettingsDialogC&ambiar... C&hange...SettingsDialogCambiar... Change...SettingsDialog,Borrar Historial AhoraClear History NowSettingsDialog@Limpiar el portapapeles despues:Clear clipboard after:SettingsDialogColor 1:Color 1:SettingsDialogColor 2:Color 2:SettingsDialogConfigurar... Configure...SettingsDialogDComando de Navegador PersonalizadoCustom Browser CommandSettingsDialoghPersonalizar Visualizacin de detalles de la entradaCustomize Entry Detail View...SettingsDialogNDilogo de la clave de la Base de DatosDatabase Key DialogSettingsDialogLapso entre dos presiones simuladas. Aumentar en caso de que Auto-Escritura est aleatoriamente saltndose carcteres.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialognBorrar entradas de copias de seguridad ms antigas de:!Delete backup entries older than:SettingsDialog2No expandir ningn objetoDo not expand any itemSettingsDialog:Dilogo de Edicin de EntradaEdit Entry DialogSettingsDialogActiva esta opcin si quieres usar tus marcadones y el ltimo archivo abierto independientemente de sus rutas completas. Esto es til cuando ests usando KeePassX Portable y hay cambios en los puntos de montaje en el sistema de archivos.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog4Expandir todos los objetosExpand all itemsSettingsDialogGeneral (1) General (1)SettingsDialogGeneral (2) General (2)SettingsDialogLAcceso rpido Global a Auto-Escritura:Global Auto-Type Shortcut:SettingsDialogTIntegracin del Escritorio GNOME (GTK 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog4rbol de grupos al inicio:Group tree at start-up:SettingsDialog@Integracin del Escritorio KDE 4KDE 4 Desktop IntegrationSettingsDialog0Lapso Primera Pulsacin:Key Stroke Delay:SettingsDialogLenguajeLanguageSettingsDialogLenguaje: Language:SettingsDialogrBloquear la base de datos en un periodo de inactividad de!Lock database after inactivity ofSettingsDialogBloquear el rea de trabajo cuando se minimize la ventana principal.Lock workspace when minimizing the main windowSettingsDialog&Directorio Maestro: Media Root:SettingsDialogxMinimizar al icono de sistema en vez de a la barra de tareas#Minimize to tray instead of taskbarSettingsDialogMinimizar al icono de sistema cuando se hace click en el botn de cerrar de la ventana principal=Minimize to tray when clicking the main window's close buttonSettingsDialogNingunoNoneSettingsDialogAadidosPlug-InsSettingsDialogPre-Vacio:Pre-Gap:SettingsDialog^Recordar ltimo tpo de clave y la localizacin#Remember last key type and locationSettingsDialog>Recordar ltimo archivo abiertoRemember last opened fileSettingsDialog.Restaurar ltimo estadoRestore last stateSettingsDialogGuardar copias de seguridad de las entradas modificadas en el grupo 'Copias de Seguridad'8Save backups of modified entries into the 'Backup' groupSettingsDialogzGuardar los directorios recientes de los dilogos de archivos'Save recent directories of file dialogsSettingsDialogjGuardar rutas relativas (Marcadores y ltimo archivo)-Save relative paths (bookmarks and last file)SettingsDialogSeguridadSecuritySettingsDialogAjustesSettingsSettingsDialogLMostrar contraseas en texto plano en:Show plain text passwords in:SettingsDialog0Mostrar icono de sistemaShow system tray iconSettingsDialog"Iniciar bloqueado Start lockedSettingsDialog$Iniciar minimizadoStart minimizedSettingsDialog Color del Texto: Text Color:SettingsDialogEl directorio en el cul los medios como los CD's y los lapiceros USB son montados.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTiempo desde la activacin de Auto-Escritura por el usuario hasta la primera tecla simulatada.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogUsar ttulos de entradas para que coincidan con la ventana para Auto-Escritura;Use entries' title to match the window for Global Auto-TypeSettingsDialogT puedes desactivar varias funcionalidades de KeePassX aqu de acuerdo con tus necesidades para mantener tu apariencia mnima.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogNecesitas reiniciar el programa para que los cambios surtan efecto.?You need to restart the program before the changes take effect.SettingsDialogDasdaysSettingsDialogmsmsSettingsDialogSegundossecondsSettingsDialogALTAltShortcutWidget ALTGRAltGrShortcutWidgetCTRLCtrlShortcutWidget SHIFTShiftShortcutWidgetWinWinShortcutWidget.Introduce tu contraseaEnter your PasswordSimplePasswordDialogContrasea: Password:SimplePasswordDialogHAuto-Escritura: Selecciona la VentaaAuto-Type: Select Target WindowTargetWindowDlgPara especificar la ventana a elegir, selecciona una ya abierta expandiendo la lista introduce el ttulo de la venta manualmente:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlgSpanish (Spain)$LANGUAGE_NAME Translation Cross$TRANSLATION_AUTHOR Translation:http://genlinux.wordpress.com$TRANSLATION_AUTHOR_EMAIL TranslationP<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">The workspace is locked.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget(Cerrar Base de DatosClose DatabaseWorkspaceLockedWidget FormaFormWorkspaceLockedWidgetDesbloquearUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-sr_RS.qm0000664000175000017500000016473311342454754021306 0ustar felixfelix=uB,-C,I/*L06R1T2U4T9@(>A(rB(D(F)H)BP)vR)T)V*X*Ff*zr*+D;+;;#;mZCH4pMh@QQhuShZl9GZlm\4]/_tl$,^֍.VEVELo<}#@n*%*0+p+3JqiGH8͜J gLb2LbLbLb[LblLbyLb-M M};)M4N N.N8HN@NlO;O=T5rT;V W3X|Y[ % D[ %4[ %9[ %@?[ %m[ZY\^1T`"u-pPe0a z.._328.|CqFE*Y+]df/~hOwkKjJ}:|{_|˓'i8e @~ ,.c_<\ =\DsjS[ 3mrh} ~IwI9Jy[n{dFRvW-K]|E %OE`yWq1M n.  F /P Lh:>8#NW$#z&:^T=-Kja5ۻ5&5qB!G ÌOÎ#Ku5-/5mj4%{^G!"C+#C-f26G6G:|Ck^C:iDcK!nN3gPP:UDXp{P+}En`+]]ONHA~HV9zn:-5>Z0veq 7= =zn LJ AJN]mr&n]&nP[,58#iDɃNP''_R`nRo'ߎk#n߸>ZT)H>,N0B33c4#4#p@I=MJNnRO_R t8uHu|w,#yWJ N_e3eo18m u8 kBƭ|)Ƹ*Y aER c d:D d<-+ d<7 d dq dIk nMH qE? s/nu s( u~ wy ? N"Ѣ )S >; > >ο t/ k o ˔L F> g? ] == lS^ f f @ f A f S f Vu f Y\ f r f   # I YB LJ XоH Ynu ^ h).I +e1 J<7 JP   ) d Ÿ^b Mu ͓> ֕ ׏ D ٷS  Q. g  A:7k 0g &+* ?I Bzk LuO M Z$, [c~ vY@ E* ?=* S @4 SS g[ 4 c ( f? f 5 w s s s" ,} ȶ [ U ܾ @~^ ƙem lL > z0 ?@M  T^U T^\4 7wy4 Sus?/ ^ ^} mbDx n os }~ .H P9 P .bT k~ @ 0~^ | Er5.HaMB:$$ߎ`.{?EBL&R܎Ee>OysLY[qhQkLN#n ؾcVK26Y\ct1%+!q/ўc/ўWC^EQ:"YqdB+e3S`g^^Qp:tCXQs}&Ȟ\[ io AutorAuthor AboutDialogTekui prevodCurrent Translation AboutDialogProgramer Developer AboutDialogBProgramer, Administrator projektaDeveloper, Project Admin AboutDialog GreakaError AboutDialogBDatoteka '%1' se ne mo~e pronai.File '%1' could not be found. AboutDialogInformacije o tome kako prevoditi KeePassX mogu se pronai na web adresi:Zakrpe za bolju podraku MacOS X"Patches for better MacOS X support AboutDialogTimTeam AboutDialogZahvalnice Thanks To AboutDialog@Razli ite popravke i unapreenjaVarious fixes and improvements AboutDialogWeb dizajner Web Designer AboutDialogO programuAboutAboutDlg Svrha aplikacijeAppFuncAboutDlgIme aplikacijeAppNameAboutDlgCopyright (C) 2005 - 2009 KeePassX tim KeePassX je distribuiran pod uslovima General Public License (GPL) verzija 2.~Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2.AboutDlgZaslugeCreditsAboutDlgLicencaLicenseAboutDlg Prevod TranslationAboutDlg>http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlgDodaj ozna iva  Add BookmarkAddBookmarkDlg Sve datoteke (*) All Files (*)AddBookmarkDlgRazgledaj... Browse...AddBookmarkDlg Izmeni ozna iva  Edit BookmarkAddBookmarkDlgDatoteka:File:AddBookmarkDlg:Baze podataka KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgNaslov:Title:AddBookmarkDlg$Automatsko kucanje Auto-Type AutoTypeDlg\Klikni na stavku da bi se automatski otkucala."Click on an entry to auto-type it. AutoTypeDlg GrupaGroup AutoTypeDlg:KeePassX - Automatsko-kucanjeKeePassX - Auto-Type AutoTypeDlg NaslovTitle AutoTypeDlgKorisni ko imeUsername AutoTypeDlgF%1 nije valjani ceo broj (integer). '%1' is not valid integer value.CDbSettingsDlgXAES(Rijndael): 256 bitova (podrazumevano)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg GreakaErrorCDbSettingsDlg U reduOKCDbSettingsDlgNMolim odredite broj ciklusa enkripcije.1Please determine the number of encryption rounds.CDbSettingsDlgPodeaavanjaSettingsCDbSettingsDlgXBroj ciklusa enkripcije mora biti vei od 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg(Twofish: 256 bitovaTwofish: 256 BitCDbSettingsDlgUpozorenjeWarningCDbSettingsDlg%1 bit(ova)%1 Bit CEditEntryDlg1 mesec1 Month CEditEntryDlg1 nedelja1 Week CEditEntryDlg1 godina1 Year CEditEntryDlg2 nedelje2 Weeks CEditEntryDlg3 meseca3 Months CEditEntryDlg3 nedelje3 Weeks CEditEntryDlg6 meseci6 Months CEditEntryDlgDodaj prilog...Add Attachment... CEditEntryDlgKalendar... Calendar... CEditEntryDlg@Nisam mogao da otvorim datoteku.Could not open file. CEditEntryDlg Obrisati prilog?Delete Attachment? CEditEntryDlgIzmeni stavku Edit Entry CEditEntryDlg GreakaError CEditEntryDlgBGreaka tokom upisivanja datoteke.Error while writing the file. CEditEntryDlgNova stavka New Entry CEditEntryDlgNe, poniati No, Cancel CEditEntryDlg U reduOK CEditEntryDlgPonovo uneta lozinka se ne podudara sa zadatom lozinkom. Proverite unos molim.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg"Sa uvaj prilog...Save Attachment... CEditEntryDlgVIzabrana stavka nema priloga ili je prazna.2The chosen entry has no attachment or it is empty. CEditEntryDlg DanasToday CEditEntryDlgUpozorenjeWarning CEditEntryDlgDaYes CEditEntryDlgt}elite da obriaete prilog uz ovu stavku. Jeste li sigurni?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg([Neimenovana stavka][Untitled Entry] CEditEntryDlg%1 bitova%1 Bits CGenPwDialog"Generator lozinkePassword Generator CGenPwDialog@Datoteka %1 ne mo~e da se u ita.%1: File could not be loaded.CSelectIconDlg.Dodaj prilagoenu ikonuAdd Custom IconCSelectIconDlgDodaj ikone... Add Icons...CSelectIconDlg\Doalo je do greake tokom u itavanja ikon(e/a):+An error occured while loading the icon(s):CSelectIconDlgTDoalo je do greake tokom u itavanja ikone.(An error occured while loading the icon.CSelectIconDlg ObriaiDeleteCSelectIconDlg GreakaErrorCSelectIconDlgSlike (%1) Images (%1)CSelectIconDlgIzaberiPickCSelectIconDlgZameni... Replace...CSelectIconDlg.Izaberi direktorijum...Select a directory... CSettingsDlg6Izaberi izvranu datoteku...Select an executable... CSettingsDlgPodeaavanjaSettings CSettingsDlgSistemski jezikSystem Language CSettingsDlgKalendarCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Skup slu ajnih brojeva je uspeano regenerisan!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg6Skupljam entropiju... Molim da pomerate miaa i/ili pritiskate neke tastere dok se ne sakupi dovoljno entropije za usaivanje u generator slu ajnih brojeva.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg*Sakupljanje entropijeEntropy CollectionCollectEntropyDlg6Generator slu ajnih brojevaRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogIme prilogaAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialog Istaknuto (bold)BoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogCentriranoCenteredCustomizeDetailViewDialogNapomenaCommentCustomizeDetailViewDialogDatum kreiranja Creation DateCustomizeDetailViewDialogDijalogDialogCustomizeDetailViewDialogDatum istekaExpiration DateCustomizeDetailViewDialogVeli ina slova Font SizeCustomizeDetailViewDialog GrupaGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialog0Iskoaeno (kurziv/italik)ItalicCustomizeDetailViewDialog@Obostrano poravnanje (justified) JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog8Datum poslednjeg pristupanjaLast Access DateCustomizeDetailViewDialog,Dauom poslednje izmeneLast Modification DateCustomizeDetailViewDialogLevo poravnanje Left-AlignedCustomizeDetailViewDialogLozinkaPasswordCustomizeDetailViewDialogDRCustomizeDetailViewDialog(Urednik za Rich TextRich Text EditorCustomizeDetailViewDialog Desno poravnanje Right-AlignedCustomizeDetailViewDialogUTCustomizeDetailViewDialog$Uzorci (templates) TemplatesCustomizeDetailViewDialogBoja teksta Text ColorCustomizeDetailViewDialogVreme do istekaTime till ExpirationCustomizeDetailViewDialog NaslovTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialog,Podvu eno (underlined) UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialogKorisni ko imeUsernameCustomizeDetailViewDialog NikadNeverDatabaseAlgoritam: Algorithm:DatabaseSettingsDlgxIzra unaj cikluse za kaanjenje od 1 sekunde na ovom ra unaru6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg2Podeaavanja baze podatakaDatabase SettingsDatabaseSettingsDlgEnkripcija EncryptionDatabaseSettingsDlg&Ciklusi enkripcije:Encryption Rounds:DatabaseSettingsDlgNapomenaCommentDetailViewTemplateKreiranoCreationDetailViewTemplate GrupaGroupDetailViewTemplate"Poslednji pristup Last AccessDetailViewTemplateLozinkaPasswordDetailViewTemplate NaslovTitleDetailViewTemplateURLURLDetailViewTemplateKorisni ko imeUsernameDetailViewTemplate%1%1EditEntryDialog%1 bit(ova)%1 BitEditEntryDialogPrilog: Attachment:EditEntryDialogNapomena:Comment:EditEntryDialogIzmena stavke Edit EntryEditEntryDialogIsti e:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialog Grupa:Group:EditEntryDialog Ikona:Icon:EditEntryDialog NikadNeverEditEntryDialogLozinka: Password:EditEntryDialogKvalitet:Quality:EditEntryDialog"Ponovite lozinku:Repeat:EditEntryDialogNaslov:Title:EditEntryDialogURL:URL:EditEntryDialogKorisni ko ime: Username:EditEntryDialog>>EditGroupDialogSvojstva grupeGroup PropertiesEditGroupDialog Ikona:Icon:EditGroupDialogNaslov:Title:EditGroupDialogHDvoklik na stavku da preete na nju.'Double click on an entry to jump to it.ExpiredEntriesDialogIstekloExpiredExpiredEntriesDialogIstekle stavkeExpired EntriesExpiredEntriesDialog<Istekle stavke u bazi podatakaExpired Entries in the DatabaseExpiredEntriesDialog GrupaGroupExpiredEntriesDialog NaslovTitleExpiredEntriesDialogKorisni ko imeUsernameExpiredEntriesDialog Sve datoteke (*) All Files (*)Export_KeePassX_Xml*KeePassX XML datotekaKeePassX XML FileExport_KeePassX_Xml(XML datoteke (*.xml)XML Files (*.xml)Export_KeePassX_Xml Sve datoteke (*) All Files (*) Export_Txt&Tekstualna datoteka Text File Export_Txt6Tekstualne datoteke (*.txt)Text Files (*.txt) Export_TxtNeuspeo izvoz Export Failed ExporterBase$Izvezi datoteku...Export File... ExporterBase2Desila se fatalna greaka.A fatal error occurred. FileErrorshDoalo je do isteka vremenskog ograni enja (timeout).A timeout occurred. FileErrors`Doalo je do greake prilikom  itanja iz datoteke..An error occurred while reading from the file. FileErrorsdDoalo je do greake prilikom upisivanja u datoteku.,An error occurred while writing to the file. FileErrors2Desila se greaka resursa.An resource error occurred. FileErrors@Desila se nespecificirana geaka.An unspecified error occurred. FileErrorsBez greake.No error occurred. FileErrorsDDatoteci se nije moglo pristupiti.The file could not be accessed. FileErrorsBDatoteka se nije mogla prepisati.The file could not be copied. FileErrors:Datoteka se ne mo~e otvoriti.The file could not be opened. FileErrors@Datoteka se nije mogla ukloniti.The file could not be removed. FileErrorsHDatoteka se nije mogla preimenovati.The file could not be renamed. FileErrorsTVeli ina datoteke se nije mogla promeniti.The file could not be resized. FileErrors.Operacija je prekinuta.The operation was aborted. FileErrorsVPolo~aj u datoteci se nije mogao promeniti..The position in the file could not be changed. FileErrors&Mala slova&Lower LettersGenPwDlg &Minus&MinusGenPwDlg&Brojevi&NumbersGenPwDlg"&Specijalni znaci&Special CharactersGenPwDlg&Podvu eno &UnderlineGenPwDlg&Velika slova&Upper LettersGenPwDlg&Praznine &White SpacesGenPwDlg>Sakupljaj samo jednom po sesijiCollect only once per sessionGenPwDlgPrilagoenoCustomGenPwDlg:Omogui sakupljanje entropijeEnable entropy collectionGenPwDlgbOsiguraj da lozinka sadr~i znakove iz svake grupe9Ensure that password contains characters from every groupGenPwDlg.Isklju i sli ne znakoveExclude look-alike charactersGenPwDlgGeneriaiGenerateGenPwDlgDu~ina:Length:GenPwDlgMala slova Lower LettersGenPwDlgNova lozinka: New Password:GenPwDlgBrojeviNumbersGenPwDlg OpcijeOptionsGenPwDlg"Generator lozinkePassword GeneratorGenPwDlgIzgovorljivo PronounceableGenPwDlgKvalitet:Quality:GenPwDlgSlu ajni izborRandomGenPwDlg Specijalni znaciSpecial CharactersGenPwDlgVelika slova Upper LettersGenPwDlg>Upotrebi sledee grupe znakova:Use following character groups:GenPwDlg0Koristi sledee znakove:Use the following characters:GenPwDlgPrva strana First PageHelpDlg"Sadr~aj uputstava Help ContentsHelpDlgSledea strana Next PageHelpDlg Prethodna strana Previous PageHelpDlg Sve datoteke (*) All Files (*)Import_KWalletXml6Dokument ne sadr~i podatke.Document does not contain data.Import_KWalletXmlNeuspeo uvoz Import FailedImport_KWalletXml\Neispravni XML podaci (vidi detalje u stdout).*Invalid XML data (see stdout for details).Import_KWalletXml0Neispravna XML datoteka.Invalid XML file.Import_KWalletXml(XML datoteke (*.xml)XML Files (*.xml)Import_KWalletXml Sve datoteke (*) All Files (*)Import_KeePassX_XmlNeuspeo uvoz Import FailedImport_KeePassX_Xml:KeePassX XML datoteke (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlGreaka u razlaganju: Datoteka nije ispravna KeePassX XML datoteka.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlDoalo je do greake u XML razlaganju u redu %1 koloni %2: XML parsing error %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml Sve datoteke (*) All Files (*)Import_PwManagerZKomprimovane datoteke joa uvek nisu podr~ane.'Compressed files are not supported yet.Import_PwManager\Datoteka je oateena ("hash" test nije uspeo).#File is damaged (hash test failed).Import_PwManager&Datoteka je prazna.File is empty.Import_PwManagerTDatoteka nije ispravna PwManager datoteka. File is no valid PwManager file.Import_PwManagerNeuspeo uvoz Import FailedImport_PwManager\Neispravni XML podaci (vidi detalje u stdout).*Invalid XML data (see stdout for details).Import_PwManager4PwManager datoteke (*.pwm)PwManager Files (*.pwm)Import_PwManagerFNepopdr~an algoritam za enkripciju.!Unsupported encryption algorithm.Import_PwManager8Nepodr~ana verzija datoteke.Unsupported file version.Import_PwManager8Nepopdr~an "hash" algoritam.Unsupported hash algorithm.Import_PwManager"Pogreana lozinka.Wrong password.Import_PwManagerNeuspeo uvoz Import Failed ImporterBase"Uvezi datoteku...Import File... ImporterBase@Nisam mogao da otvorim datoteku.Could not open file. Kdb3DatabaseDekripcija nije uspela. Klju je pogreaan ili je datoteka oateena.;Decryption failed. The key is wrong or the file is damaged. Kdb3Database"Hash" test nije uspeo. Klju je pogreaan ili je datoteka oateena.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database2Neispravno grupno stablo.Invalid group tree. Kdb3Database<Datoteka sa klju em je prazna.Key file is empty. Kdb3DatabaseTBaza podataka je otvorena samo za  itanje.'The database has been opened read-only. Kdb3DatabasedBaza podataka mora da sadr~i najmanje jednu grupu.-The database must contain at least one group. Kdb3DatabaserNisam u mogunosti da inicijalizujem "twofish" algoritam.+Unable to initialize the twofish algorithm. Kdb3DatabaseTNeo ekivana greaka: Ofset je izvan opsega.)Unexpected error: Offset is out of range. Kdb3Database|Neo ekivana veli ina datoteke (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseBNepoznat algoritam za enkripciju.Unknown Encryption Algorithm. Kdb3DatabaseBNepoznat algoritam za enkripciju.Unknown encryption algorithm. Kdb3Database8Nepodr~ana verzija datoteke.Unsupported File Version. Kdb3DatabasePogreaan potpisWrong Signature Kdb3DatabaseBajtovaBytesKdb3Database::EntryHandleGBGiBKdb3Database::EntryHandleKBKiBKdb3Database::EntryHandleMBMiBKdb3Database::EntryHandlexJeste li sigurni da ~elite da obriaete ove(ih) %1 stavke(i)?1Are you sure you want to delete these %1 entries?KeepassEntryViewdJeste li sigurni da ~elite da obriaete ovu stavku?+Are you sure you want to delete this entry?KeepassEntryViewhMora postojati bar jedna grupa pre dodavanja stavke.5At least one group must exist before adding an entry.KeepassEntryView Prilog AttachmentKeepassEntryViewNapomeneCommentsKeepassEntryViewKreiranoCreationKeepassEntryViewObrisati?Delete?KeepassEntryView GreakaErrorKeepassEntryView Isti eExpiresKeepassEntryView GrupaGroupKeepassEntryView"Poslednji pristup Last AccessKeepassEntryView Poslednja izmena Last ChangeKeepassEntryView U reduOKKeepassEntryViewLozinkaPasswordKeepassEntryView NaslovTitleKeepassEntryViewURLURLKeepassEntryViewKorisni ko imeUsernameKeepassEntryViewJeste li sigurni da ~elite da obriaete ovu grupu, njene podreene grupe i sve njihove stavke?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewObrisati?Delete?KeepassGroupView$Rezultati pretrageSearch ResultsKeepassGroupView%1 dana%1 DaysKeepassMainWindow%1 mesec(a/i) %1 MonthsKeepassMainWindow%1 godina%1 YearsKeepassMainWindow0&Zaklju aj radni prostor&Lock WorkspaceKeepassMainWindow 1 dan1 DayKeepassMainWindow1 mesec1 MonthKeepassMainWindow1 godina1 YearKeepassMainWindow Sve datoteke (*) All Files (*)KeepassMainWindow Klonirati stavke Clone EntriesKeepassMainWindow Klonirati stavku Clone EntryKeepassMainWindow~Nisam mogao da kreiram datoteku za zaklju avanje baze podataka.#Couldn't create database lock file.KeepassMainWindowNisam mogao da kreiram datoteku za zaklju avanje. Otvram bazu podataka samo za  itanje.:Couldn't create lock file. Opening the database read-only.KeepassMainWindow~Nisam mogao da uklonim datoteku za zaklju avanje baze podataka.#Couldn't remove database lock file.KeepassMainWindowCtrl+BKeepassMainWindowCtrl+CKeepassMainWindowCtrl+DKeepassMainWindowCtrl+EKeepassMainWindowCtrl+FKeepassMainWindowCtrl+GKeepassMainWindowCtrl+IKeepassMainWindowCtrl+KKeepassMainWindowCtrl+LKeepassMainWindowCtrl+NKeepassMainWindowCtrl+OKeepassMainWindowCtrl+PKeepassMainWindowCtrl+QKeepassMainWindowCtrl+SKeepassMainWindowCtrl+UKeepassMainWindowCtrl+VKeepassMainWindowCtrl+WKeepassMainWindowCtrl+XKeepassMainWindowCtrl+YKeepassMainWindow6Baza podataka je zaklju anaDatabase lockedKeepassMainWindowObrisati stavkeDelete EntriesKeepassMainWindowObrisati stavku Delete EntryKeepassMainWindow GreakaErrorKeepassMainWindowIsteklaExpiredKeepassMainWindowBDatoteka se nije mogla sa uvati.File could not be saved.KeepassMainWindow:Baze podataka KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow2U itavam bazu podataka...Loading Database...KeepassMainWindow&Neuspelo u itavanjeLoading FailedKeepassMainWindow.Otvori bazu podataka...Open Database...KeepassMainWindow,Otvori samo za  itanjeOpen read-onlyKeepassMainWindowSpremanReadyKeepassMainWindow0Sa uvaj bazu podataka...Save Database...KeepassMainWindow8Sa uvati izmenjenu datoteku?Save modified file?KeepassMainWindow Shift+Ctrl+FKeepassMainWindow Shift+Ctrl+SKeepassMainWindowPrika~i &alate Show &ToolbarKeepassMainWindow|Tekua datoteka je izmenjena. Da li ~elite da sa uvate izmene??The current file was modified. Do you want to save the changes?KeepassMainWindow2Baza podataka ne postoji.!The database file does not exist.KeepassMainWindowBaza podataka koju pokuaavate da otvorite je zaklju ana. Ovo zna i da je ili neko drugi otvorio datoteku ili se KeePassX skraio kad je poslednji put otvarao bazu. Da li ~elite da je otvorite, kako god bilo?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowrTokom otvaranja baze podataka doalo je do sledee greake:7The following error occured while opening the database:KeepassMainWindow0&Otklju aj radni prostorUn&lock WorkspaceKeepassMainWindow`Nepoznata greaka tokom u itavanja baze podataka.%Unknown error while loading database.KeepassMainWindowmanje od 1 danless than 1 dayKeepassMainWindowzaklju anolockedKeepassMainWindownovonewKeepassMainWindow GreakaErrorMainBDatoteka '%1' se ne mo~e pronai.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&O programu... &About... MainWindow&Dodaj &ozna iva ...&Add Bookmark... MainWindow.&Dodaj novu podgrupu...&Add New Subgroup... MainWindow&Ozna iva i &Bookmarks MainWindow &Kloniraj stavku &Clone Entry MainWindow,&Zatvori bazu podataka&Close Database MainWindow&Kolone&Columns MainWindow&Napomena&Comment MainWindow:&Podeaavanja baze podataka...&Database Settings... MainWindow&Obriai grupu &Delete Group MainWindow &Izmeni grupu...&Edit Group... MainWindow&Stavke&Entries MainWindow&Izvezi u... &Export to... MainWindow&Datoteka&File MainWindow G&rupa&Group MainWindow &Grupe&Groups MainWindow &Pomo&Help MainWindow&Uvezi iz...&Import from... MainWindow,KeePassX &priru nik...&KeePassX Handbook... MainWindow"Poslednja &izmena &Last Change MainWindow0&Zaklju aj radni prostor&Lock Workspace MainWindow8&Upravljanje ozna iva ima...&Manage Bookmarks... MainWindow,&Nova baza podataka...&New Database... MainWindow0&Otvori bazu podataka...&Open Database... MainWindow&Otvori URL &Open URL MainWindow&Lozinka &Password MainWindow*&Generator lozinke...&Password Generator... MainWindow4Izvedi &automatsko kucanje&Perform AutoType MainWindow&Zavrai&Quit MainWindow,&Sa uvaj prilog kao...&Save Attachment As... MainWindow,&Sa uvaj bazu podataka&Save Database MainWindow&Podeaavanja... &Settings... MainWindow&Naslov&Title MainWindow&URL&URL MainWindow&Pogled&View MainWindow6&Pregledaj/izmeni stavku...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow&Prilog A&ttachment MainWindow*Dodaj &novu stavku...Add &New Entry... MainWindow&Dodaj novu grupu...Add New Group... MainWindowTPostavi ozna iva za &ovu bazu podataka...Bookmark &this Database... MainWindow&Kreirano C&reation MainWindow0Promeni &glavni klju ...Change &Master Key... MainWindowFPrepiai &korisni ko ime u ClipboardCopy &Username to Clipboard MainWindow8Prepiai &lozinku u ClipboardCopy Password &to Clipboard MainWindow.Prepiai URL u ClipboardCopy URL to Clipboard MainWindowO&briai stavku De&lete Entry MainWindow&Isti eE&xpires MainWindow&DodaciE&xtras MainWindow GrupeGroups MainWindow SakrijHide MainWindowSakrij &lozinkeHide &Passwords MainWindow.Sakrij &imena korisnikaHide &Usernames MainWindowKeePassXKeePassX MainWindow$Poslednji &pristup Last &Access MainWindow&Korpa za otpatke...Recycle Bin... MainWindow:Sa uvaj bazu podataka &kao...Save Database &As... MainWindow2&Tra~i u bazi podataka...Search &in Database... MainWindow,Tra~i u ovoj &grupi...Search in this &Group... MainWindow.Prika~i &detalje stavkeShow &Entry Details MainWindow4Prika~i &istekle stavke...Show &Expired Entries... MainWindow*Prika~i &statusni redShow &Statusbar MainWindowSortiraj grupe Sort groups MainWindow0Veli ina &ikona za alateToolbar &Icon Size MainWindowKorisni ko &ime User&name MainWindow0Upravljanje ozna iva imaManage BookmarksManageBookmarksDlg6%1: Datoteka je ne itljiva.%1: File is not readable.PasswordDialog`%1: Ne postoji takva datoteka niti direktorijum.%1: No such file or directory.PasswordDialog Sve datoteke (*) All Files (*)PasswordDialog(Promeni glavni klju Change Master KeyPasswordDialog<Napravi datoteku sa klju em...Create Key File...PasswordDialog&Klju baze podataka Database KeyPasswordDialog$Unesi glavni klju Enter Master KeyPasswordDialog6Datoteke sa klju em (*.key)Key Files (*.key)PasswordDialog$Poslednja datoteka Last FilePasswordDialogpMolim unesite lozinku ili odaberite datoteku sa klju em.-Please enter a Password or select a key file.PasswordDialog,Molim unesite lozinku.Please enter a Password.PasswordDialogHDostavite datoteku sa klju em molim.Please provide a key file.PasswordDialog6Izaberi datoteku sa klju emSelect a Key FilePasswordDialog&Podesi glavni klju Set Master KeyPasswordDialogZadati direktorijum sadr~i viae od jedne datoteke sa klju em. Molim vas da direktno navedete datoteku sa klju em.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogdZadati direktorijum ne sadr~i datoteke sa klju em.3The given directory does not contain any key files.PasswordDialogxIzabrana datoteka sa klju em ili direktorijum nisu  itljivi.3The selected key file or directory is not readable.PasswordDialog&Razgledaj... &Browse... PasswordDlg NazadBack PasswordDlghUnesite lozinku i/ili odaberite datoteku sa klju em.*Enter a Password and/or choose a key file. PasswordDlg>Generiai datoteku sa klju em...Generate Key File... PasswordDlg Klju Key PasswordDlg(Datoteka sa klju em: Key File: PasswordDlg$Poslednja datoteka Last File PasswordDlgLozinka: Password: PasswordDlg$Lozinke nisu iste.Passwords are not equal. PasswordDlgFMolim vas da ponovite vaau lozinku:Please repeat your password: PasswordDlg Tra~iSearch SearchDialog0Razlikuj &veli inu slova&Case Sensitive Search_DlgN&aslovi&Titles Search_Dlg"&Korisni ka imena &Usernames Search_DlgA&nhangA&nhang Search_Dlg&Napomene C&omments Search_Dlg:Uklju i podgrupe (rekurzivno)Include Subgroups (recursive) Search_DlgUklju i:Include: Search_Dlg&Lozinke Pass&words Search_Dlg &Regularni izrazRegular E&xpression Search_Dlg Tra~i: Search For: Search_DlgTra~i... Search... Search_Dlg&URL(ovi)U&RLs Search_DlgIzbor ikonaIcon Selection SelectIconDlgNaprednoAdvancedSettingsDialogNOboji naizmeni ne redove ("zebra" stil)Alternating Row ColorsSettingsDialogPUvek pitaj pre brisanja stavki ili grupa,Always ask before deleting entries or groupsSettingsDialog Izgled AppearanceSettingsDialog Autor:Author:SettingsDialogHFino podeaavanje automatskog kucanjaAuto-Type Fine TuningSettingsDialogfAutomatski sa uvaj bazu podataka posle svake izmene.Automatically save database after every changeSettingsDialogAutomatski sa uvaj bazu podataka i status radnog prostora pri izlasku iz programa9Automatically save database on exit and workspace lockingSettingsDialog*Boja trake (banner-a) Banner ColorSettingsDialogOzna iva i BookmarksSettingsDialogRazgledajBrowseSettingsDialogRazgledaj... Browse...SettingsDialog&Izmeni... C&hange...SettingsDialogIzmeni... Change...SettingsDialog*Obriai istoriju odmahClear History NowSettingsDialog.O isti Clipboard posle:Clear clipboard after:SettingsDialogBoja 1:Color 1:SettingsDialogBoja 2:Color 2:SettingsDialogKonfiguriai... Configure...SettingsDialogTPrilagoena komanda pregleda a (browser-a)Custom Browser CommandSettingsDialogJPrilagodi pogled na detalje stavke...Customize Entry Detail View...SettingsDialog>Dijalogu za klju baze podatakaDatabase Key DialogSettingsDialogKaanjenje izmeu dva simulirana pritiska na taster. Poveajte ovaj parametar ako automatsko kucanje povremeno preska e znakove.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogRObriai rezervne kopjie stavki starije od:!Delete backup entries older than:SettingsDialog,Ne otvaraj nijedan redDo not expand any itemSettingsDialog2Dijalogu za izmenu stavkeEdit Entry DialogSettingsDialogOsposobite ovu opciju ako ~elite da koristite vaae ozna iva e i poslednju otvorenu datoteku nezavisno od njihovih apsolutnih putanja. Ovo je naro ito korisno kada koristite KeePass kao prenosiv i samim tim sa promenljivim ta kama montiranja u sistem datoteka.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog"Otvori sve redoveExpand all itemsSettingsDialogOpata (1) General (1)SettingsDialogOpata (2) General (2)SettingsDialogNGlobalna pre ica za automatsko kucanje:Global Auto-Type Shortcut:SettingsDialogRIntegracija sa Gnome Desktop-om (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogFGrupno stablo prilkom zapo injanja:Group tree at start-up:SettingsDialog>Integracija sa KDE 4 Desktop-omKDE 4 Desktop IntegrationSettingsDialog:Kaanjenje pritiska na taster:Key Stroke Delay:SettingsDialog JezikLanguageSettingsDialog Jezik: Language:SettingsDialogZZaklju aj bazu podataka nakon neaktivnosti od!Lock database after inactivity ofSettingsDialog|Zaklju aj radni prostor prilikom minimiziranja glavnog prozora.Lock workspace when minimizing the main windowSettingsDialogKoren medijuma: Media Root:SettingsDialogtMinimiziraj u fioku (tray) umesto u red zadataka (Taskbar)#Minimize to tray instead of taskbarSettingsDialog NiataNoneSettingsDialog*Priklju ci (Plug-Ins)Plug-InsSettingsDialog"Prethodni razmak:Pre-Gap:SettingsDialogLUpamti poslednji tip klju a i lokaciju#Remember last key type and locationSettingsDialogDUpamti poslednju otvorenu datotekuRemember last opened fileSettingsDialog4Uspostavi poslednje stanjeRestore last stateSettingsDialogtSa uvaj rezervne kopije izmenjenih stavki u 'Backup' grupi8Save backups of modified entries into the 'Backup' groupSettingsDialogjSa uvaj skoraanje direktorijume dijaloga o datotekama'Save recent directories of file dialogsSettingsDialogvSa uvaj relativne putanje (ozna iva i i poslednja datoteka)-Save relative paths (bookmarks and last file)SettingsDialogBezbednostSecuritySettingsDialogPodeaavanjaSettingsSettingsDialog:Prika~i tekstualne lozinke u:Show plain text passwords in:SettingsDialog\Prika~i ikonu u sistemskoj fioci (system tray)Show system tray iconSettingsDialogBUvek prika~i prozor povrh ostalihShow window always on topSettingsDialog"Zapo ni zaklju an Start lockedSettingsDialog&Zapo ni minimiziranStart minimizedSettingsDialogBoja teksta: Text Color:SettingsDialogDirektorijum gde se uobi ajeno montiraju spremiani ureaji kao ato su CD-ovi i memorijski atapii.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogVreme izmeu aktivacije akcije automatskog kucanja od strane korisnika i prvog simuliranog pritiska na taster.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogUpotrebi naslov stavki da odgovara prozoru za Globalno automatsko kucanje;Use entries' title to match the window for Global Auto-TypeSettingsDialog Ovde mo~ete onesposobiti nekoliko funkcionalnosti KeePassX-a u skladu sa vaaim potrebama da bi ste o uvali jednostavnost korisni kog interfejsa.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialog^Morate restartovati program pre primene izmena.?You need to restart the program before the changes take effect.SettingsDialogdanadaysSettingsDialogmsmsSettingsDialogsekundisecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget(Unesite vaau lozinkuEnter your PasswordSimplePasswordDialogLozinka: Password:SimplePasswordDialog\Automatsko upisivanje: Izaberite ciljni prozorAuto-Type: Select Target WindowTargetWindowDlgDa navedete ciljni prozor ili odaberite postojei ve otvoreni prozor iz padajue liste, ili ru no unesite naslov prozora:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg0Srpski latinica (Srbija)$LANGUAGE_NAME Translation Ljubomir irovi$TRANSLATION_AUTHOR Translation0ljubacirovic@sezampro.yu$TRANSLATION_AUTHOR_EMAIL Translation\<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Radni prostor je zaklju an.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget*Zatvori bazu podatakaClose DatabaseWorkspaceLockedWidgetObrazacFormWorkspaceLockedWidgetOtklju ajUnlockWorkspaceLockedWidget ) , keepassx-0.4.3/share/keepassx/i18n/keepassx-gl_ES.qm0000664000175000017500000015114711342454754021242 0ustar felixfelix=%B+C,PI.L/R1WT2aU39@'A($B(XD(F(H(P)(R)\T)V)X)f*,r*`*;;;;fCH4:Ma%Q QaZSaZl9HZlf\4A]_tvl$,֍.SVEVEo<}#&n*%{&*0{\+R+3JhGH8fJ `Lb.LbLbLbCLbdLbo'LbvM M};,N {N.cN7N?NeCO;O=T4T;W34XqY[ % [ %3[ %9[ %@1[ %f[Z\^bTa.7"u-tePe03[..Z_328.qE*S+]^f/~ kJGJyq_}L˓'8e~ ,.]f<\ z=WHDsjz[ 3#mi} ~IUI9J[npFwjRwvW|ED %L`yQA0 n- l La:>83#NR$#U&:^N-Kc 5ۻ55idBUI0q ~= =pn~ KJ %JEtmjJ&n&nM8#bpP''_R`5'cnv߸>T)H>,NJ0B44#gI=MJRO_RtuHuDw,#nJ NZ ej1 8fL ~K7gdbƭqWb:Ȟ譾}N#^ ѕA Ad Db LYb gw8 l[~w  C$ O ("' d  :% C G C4x C9x C@k Cf D MT) n%m ^n{ l6 3 9.G 5sr 5tcs J ' LZ~I OZOr\ T> cyO d:y d<, d<7% d d~ dIv< nMS qE?c s(s u~ ~z w  N" )t >; > > t/M d g> F>{ ` XD ==L f f @ f A f N! f P f S f i f 8m  u # I Y LJ7 Xо Yn ^s h).I +eM J ֕x Q. ` s A:6 / &+* ?I Bo LuL M Z$, vY# D ?< S @3 g% 4W c  _ 5 wz s s sy , ȶ  P" ܾ @~YT ƙ^ e > oZ  T^OX T^V 7wyo Sus? ^ ^} n }~v .H P PD .\ k~ @zE 0~{ Er5>.HaL2B$.{?ErBL&R܎e>M[h|kK#n ؾK16u(6oh%+!/ў[/ўvC^3Q:sYqdB1g^Xp:tC|sqȞ\[ ii¦ AutorAuthor AboutDialog Traducin actualCurrent Translation AboutDialogDesenvolvedor Developer AboutDialog0Developer, Project AdminDeveloper, Project Admin AboutDialogErroError AboutDialog<Non se achou o ficheiro '%1' .File '%1' could not be found. AboutDialogjPode atopar informacin de como traducir KeePassX en:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg Engadir Marcador Add BookmarkAddBookmarkDlg,Todos os ficheiros (*) All Files (*)AddBookmarkDlgNavegador... Browse...AddBookmarkDlg$Modificar marcador Edit BookmarkAddBookmarkDlgFicheiro:File:AddBookmarkDlg:Base de datos KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgTtulo:Title:AddBookmarkDlgTipo automtico Auto-Type AutoTypeDlgNPrema nunha entrada de tipo automtico."Click on an entry to auto-type it. AutoTypeDlg GrupoGroup AutoTypeDlg8KeePassX - Tipo - AutomticoKeePassX - Auto-Type AutoTypeDlg TtuloTitle AutoTypeDlgNome de usuarioUsername AutoTypeDlgF'%1' non un valor enteiro vlido. '%1' is not valid integer value.CDbSettingsDlgFAES(Rijndael): 256 Bit (default)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgErroErrorCDbSettingsDlgAceptarOKCDbSettingsDlg`Por favor, defina o nmero de voltas de cifrado.1Please determine the number of encryption rounds.CDbSettingsDlgPreferenciasSettingsCDbSettingsDlgfO nmero de voltas de cifrado debe ser maior que 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgAdvertenciaWarningCDbSettingsDlg %1 Bit%1 Bit CEditEntryDlg 1 mes1 Month CEditEntryDlg1 semana1 Week CEditEntryDlg 1 ano1 Year CEditEntryDlg2 semanas2 Weeks CEditEntryDlg3 meses3 Months CEditEntryDlg3 semanas3 Weeks CEditEntryDlg6 meses6 Months CEditEntryDlg Engadir anexo...Add Attachment... CEditEntryDlgCalendario... Calendar... CEditEntryDlg<Non se puido abrir o ficheiro.Could not open file. CEditEntryDlg"Eliminar o anexo?Delete Attachment? CEditEntryDlg"Modificar entrada Edit Entry CEditEntryDlgErroError CEditEntryDlg8Erro ao escribir o ficheiro.Error while writing the file. CEditEntryDlgNova entrada New Entry CEditEntryDlgNon, Cancelar No, Cancel CEditEntryDlg AceparOK CEditEntryDlgOs contrasinais non coinciden. Comprobe que os inseriu axeitadamente.HPassword and password repetition are not equal. Please check your input. CEditEntryDlgGardar anexo...Save Attachment... CEditEntryDlg`A entrada elixida non ten anexo ou est baleira.2The chosen entry has no attachment or it is empty. CEditEntryDlgHoxeToday CEditEntryDlgAdvertenciaWarning CEditEntryDlgSiYes CEditEntryDlg~Est a punto de eliminar o adjunto desta entrada. Est seguro?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg([Entrada sen ttulo][Untitled Entry] CEditEntryDlg%1 Bits%1 Bits CGenPwDialog.Xerador de contrasinaisPassword Generator CGenPwDialogJ%1: O ficheiro non puido ser cargado.%1: File could not be loaded.CSelectIconDlg6Engadir icona personalizadaAdd Custom IconCSelectIconDlg"Engadir iconas... Add Icons...CSelectIconDlg^Produciuse un erro mentres cargaba a/s icona/s:+An error occured while loading the icon(s):CSelectIconDlgPOcorreu un erro mentres cargaba a icona.(An error occured while loading the icon.CSelectIconDlgEliminarDeleteCSelectIconDlgErroErrorCSelectIconDlgImaxes (%1) Images (%1)CSelectIconDlgEscollaPickCSelectIconDlgSubstitur... Replace...CSelectIconDlg2Seleccione un cartafol...Select a directory... CSettingsDlg6Seleccione un executabel...Select an executable... CSettingsDlgPreferenciasSettings CSettingsDlgCalendarioCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Obtvose correctamente unha combinacin aleatoria nova!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg.Coleccin desordenada... Por favor mova o rato e/ou prema algunha tecla mentres se recolle a suficiente informacin polo xerador de nmeros aleatorios.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg*Coleccin desordenadaEntropy CollectionCollectEntropyDlg4Xerador de nmeros ao chouRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogNome do anexoAttachment NameCustomizeDetailViewDialogGBCustomizeDetailViewDialog GrosaBoldCustomizeDetailViewDialogNCCustomizeDetailViewDialogCentradoCenteredCustomizeDetailViewDialogComentarioCommentCustomizeDetailViewDialog Data de creacin Creation DateCustomizeDetailViewDialogDilogoDialogCustomizeDetailViewDialog$Data de expiracinExpiration DateCustomizeDetailViewDialogTamao da letra Font SizeCustomizeDetailViewDialog GrupoGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogCICustomizeDetailViewDialogCursivaItalicCustomizeDetailViewDialogXustificado JustifiedCustomizeDetailViewDialogELCustomizeDetailViewDialog*Data do ltimo accesoLast Access DateCustomizeDetailViewDialog6Data da ltima modificacinLast Modification DateCustomizeDetailViewDialog$Aliado esquerda Left-AlignedCustomizeDetailViewDialogContrasinalPasswordCustomizeDetailViewDialogDRCustomizeDetailViewDialog>Procesador de texto enriquecidoRich Text EditorCustomizeDetailViewDialog"Aliado dereita Right-AlignedCustomizeDetailViewDialogMTCustomizeDetailViewDialog Temas TemplatesCustomizeDetailViewDialogCor de texto Text ColorCustomizeDetailViewDialog"Tempo at expirarTime till ExpirationCustomizeDetailViewDialog TtuloTitleCustomizeDetailViewDialogSUCustomizeDetailViewDialogSubliada UnderlinedCustomizeDetailViewDialogURLUrlCustomizeDetailViewDialogNome de usuarioUsernameCustomizeDetailViewDialog NuncaNeverDatabaseAlgoritmo: Algorithm:DatabaseSettingsDlgxCalcular voltas para un segundo de retraso nesta computadora6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg:Preferencias da base de datosDatabase SettingsDatabaseSettingsDlgCifrado EncryptionDatabaseSettingsDlg$Voltas de cifrado:Encryption Rounds:DatabaseSettingsDlgComentarioCommentDetailViewTemplateCreacinCreationDetailViewTemplateExpiracin ExpirationDetailViewTemplate GrupoGroupDetailViewTemplateltimo acceso Last AccessDetailViewTemplate&ltima modificacinLast ModificationDetailViewTemplateContrasinalPasswordDetailViewTemplate TtuloTitleDetailViewTemplateURLURLDetailViewTemplateNome de usuarioUsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialog Anexo: Attachment:EditEntryDialogComentario:Comment:EditEntryDialog"Modificar entrada Edit EntryEditEntryDialogExpira:Expires:EditEntryDialog Xe&r.Ge&n.EditEntryDialog Grupo:Group:EditEntryDialog Icona:Icon:EditEntryDialog NuncaNeverEditEntryDialogContrasinal: Password:EditEntryDialogCalidade:Quality:EditEntryDialogTtulo:Title:EditEntryDialogURL:URL:EditEntryDialogUsuario: Username:EditEntryDialog>>EditGroupDialog(Propiedades do grupoGroup PropertiesEditGroupDialog Icona:Icon:EditGroupDialogTtulo:Title:EditGroupDialogdDoble clic nunha entrada para desprazarse mesma.'Double click on an entry to jump to it.ExpiredEntriesDialogExpirouExpiredExpiredEntriesDialog$Entradas expiradasExpired EntriesExpiredEntriesDialogNEntradas que expiraron na base de datosExpired Entries in the DatabaseExpiredEntriesDialog GrupoGroupExpiredEntriesDialog TtuloTitleExpiredEntriesDialogNome de usuarioUsernameExpiredEntriesDialog,Todos os ficheiros (*) All Files (*)Export_KeePassX_Xml*Ficheiro XML KeePassXKeePassX XML FileExport_KeePassX_Xml"XML Files (*.xml)XML Files (*.xml)Export_KeePassX_Xml,Todos os ficheiros (*) All Files (*) Export_Txt"Ficheiro de texto Text File Export_Txt&Texto plano (*.txt)Text Files (*.txt) Export_Txt$Fallou ao exportar Export Failed ExporterBase,Ocorreu un erro fatal.A fatal error occurred. FileErrors@Produciuse un excedido de tempo.A timeout occurred. FileErrorsTOcorreu un erro mentres se la o ficheiro..An error occurred while reading from the file. FileErrors`Ocorreu un erro mentres se escriba no ficheiro.,An error occurred while writing to the file. FileErrors6Ocorreu un erro no recurso.An resource error occurred. FileErrors6Ocorreu un erro inesperado.An unspecified error occurred. FileErrors*Non se produciu erro.No error occurred. FileErrorsHNon foi posible acceder ao ficheiro.The file could not be accessed. FileErrorsDNon foi posibel copiar o ficheiro.The file could not be copied. FileErrorsBNon foi posibel abrir o ficheiro.The file could not be opened. FileErrorsHNon foi posibel eliminar o ficheiro.The file could not be removed. FileErrorsHNon foi posibel renomear o ficheiro.The file could not be renamed. FileErrorsVNon foi posibel mudar o tamao ao ficheiro.The file could not be resized. FileErrors,Abortouse a operacin.The operation was aborted. FileErrorsZNon foi posibel mudar a posicin no ficheiro..The position in the file could not be changed. FileErrorsMinscu&las&Lower LettersGenPwDlg&Nmeros&NumbersGenPwDlg*Caracteres e&speciais&Special CharactersGenPwDlgMaisc&ulas&Upper LettersGenPwDlg8Recoller unha vez por sesinCollect only once per sessionGenPwDlg@Permitir a recollida de entropaEnable entropy collectionGenPwDlg XerarGenerateGenPwDlgLonxitude:Length:GenPwDlg"Novo contrasinal: New Password:GenPwDlgOpcinsOptionsGenPwDlg.Xerador de contrasinaisPassword GeneratorGenPwDlgCalidade:Quality:GenPwDlg,Todos os ficheiros (*) All Files (*)Import_KWalletXml<O documento non contien datos.Document does not contain data.Import_KWalletXml$Fallou o importado Import FailedImport_KWalletXmlzOs datos XML non son vlidos (ver stdout para mis detalles).*Invalid XML data (see stdout for details).Import_KWalletXml0Ficheiro XML non vlido.Invalid XML file.Import_KWalletXml"XML Files (*.xml)XML Files (*.xml)Import_KWalletXml,Todos os ficheiros (*) All Files (*)Import_KeePassX_Xml$Fallou o importado Import FailedImport_KeePassX_Xml8icheiro XML KeePassX (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlnErro na sintaxe: non un ficheiro KeePassX XML vlido.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlPErrode sintaxe na lia %1 columna %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml,Todos os ficheiros (*) All Files (*)Import_PwManagerhOs ficheiros comprimidos anda non estn soportados.'Compressed files are not supported yet.Import_PwManagerpO ficheiro est danado (a comprobacin da firma fallou).#File is damaged (hash test failed).Import_PwManager"Ficheiro baleiro.File is empty.Import_PwManagerFNon un ficheiro PwManager vlido. File is no valid PwManager file.Import_PwManager$Fallou o importado Import FailedImport_PwManagerzOs datos XML non son vlidos (ver stdout para mis detalles).*Invalid XML data (see stdout for details).Import_PwManager.PwManager Files (*.pwm)PwManager Files (*.pwm)Import_PwManagerLNon se soporta o algoritmo de cifrado.!Unsupported encryption algorithm.Import_PwManagerJNon se soporta a versin do ficheiro.Unsupported file version.Import_PwManagerHNon se soporta o algoritmo da firma.Unsupported hash algorithm.Import_PwManager.Contrasinal incorrecto.Wrong password.Import_PwManager$Fallou o importado Import Failed ImporterBase(Importar ficheiro...Import File... ImporterBaseBNon foi posibel abrir o ficheiro.Could not open file. Kdb3DatabasepFallo ao descifrar. A chave incorrecta ou est danada.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseFallou a comprobacin da firma. A chave incorrecta ou est danada.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database>O grupo da rbore non valido.Invalid group tree. Kdb3Database<O ficheiro chave est baleiro.Key file is empty. Kdb3Database`A base de datos ten que ter polo menos un grupo.-The database must contain at least one group. Kdb3DatabaseZErro inesperado: Desprazamento fora de rango.)Unexpected error: Offset is out of range. Kdb3Database|Tamao de ficheiro inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseFDescoecese o algoritmo de cifrado.Unknown Encryption Algorithm. Kdb3DatabaseJNon se soporta a versin do ficheiro.Unsupported File Version. Kdb3Database&Sinatura incorrectaWrong Signature Kdb3Database BytesBytesKdb3Database::EntryHandleGBGiBKdb3Database::EntryHandleKBKiBKdb3Database::EntryHandleMBMiBKdb3Database::EntryHandleVSeguro que quere borrar estas %1 entradas? 1Are you sure you want to delete these %1 entries?KeepassEntryViewLSeguro que quere borrar esta entrada? +Are you sure you want to delete this entry?KeepassEntryViewTen que haber polo menos un grupo antes de engadir unha entrada.5At least one group must exist before adding an entry.KeepassEntryView Anexo AttachmentKeepassEntryViewComentariosCommentsKeepassEntryViewCreacinCreationKeepassEntryViewBorrar?Delete?KeepassEntryViewErroErrorKeepassEntryView ExpiraExpiresKeepassEntryView GrupoGroupKeepassEntryViewltimo acceso Last AccessKeepassEntryView&ltima modificacin Last ChangeKeepassEntryViewAceptarOKKeepassEntryViewContrasinalPasswordKeepassEntryView TtuloTitleKeepassEntryViewURLURLKeepassEntryViewNome de usuarioUsernameKeepassEntryViewBorrar?Delete?KeepassGroupView*Resultados da procuraSearch ResultsKeepassGroupView%1 das%1 DaysKeepassMainWindow%1 meses %1 MonthsKeepassMainWindow%1 anos%1 YearsKeepassMainWindow8B&loquear espazo de traballo&Lock WorkspaceKeepassMainWindow 1 da1 DayKeepassMainWindow 1 mes1 MonthKeepassMainWindow 1 ano1 YearKeepassMainWindow,Todos os ficheiros (*) All Files (*)KeepassMainWindowClonar entradas Clone EntriesKeepassMainWindowClonar entrada Clone EntryKeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ACtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindowBorrar entradasDelete EntriesKeepassMainWindowBorrar entrada Delete EntryKeepassMainWindowErroErrorKeepassMainWindowExpiradoExpiredKeepassMainWindowDNon foi posibel gardar o ficheiro.File could not be saved.KeepassMainWindow:Base de datos KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow<Cargando ficheiro de claves...Loading Database...KeepassMainWindowA carga fallouLoading FailedKeepassMainWindow6Abrir ficheiro de claves...Open Database...KeepassMainWindow ListoReadyKeepassMainWindow.Gardar base de datos...Save Database...KeepassMainWindow<Gardar o ficheiro modificado?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow8Amosar barra de ferramen&tas Show &ToolbarKeepassMainWindowNO ficheiro da base de datos non existe.!The database file does not exist.KeepassMainWindowfProduciuse o seguinte erro abrindo a base de datos:7The following error occured while opening the database:KeepassMainWindow>Desb&loquear espazo de traballoUn&lock WorkspaceKeepassMainWindowTErro descoecido cargando a base de datos.%Unknown error while loading database.KeepassMainWindowmenos dun daless than 1 dayKeepassMainWindow novo/anewKeepassMainWindowErroErrorMainNNon foi posibel atopar o ficheiro '%1'.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&Acerca de... &About... MainWindow(Eng&adir marcador...&Add Bookmark... MainWindow&Marcadores &Bookmarks MainWindow&Clonar entrada &Clone Entry MainWindow4Fechar ficheiro de &claves&Close Database MainWindow&Columnas&Columns MainWindow&Comentario&Comment MainWindowL&Preferencias do ficheiro de claves...&Database Settings... MainWindowB&orrar Grupo &Delete Group MainWindow&&Modificar grupo...&Edit Group... MainWindow&Exportar a... &Export to... MainWindow&Ficheiro&File MainWindow &Axuda&Help MainWindow&Importar de...&Import from... MainWindow*&KeePassX Handbook...&KeePassX Handbook... MainWindow"U&ltima variacin &Last Change MainWindow8B&loquear espazo de traballo&Lock Workspace MainWindow0&Xestionar marcadores...&Manage Bookmarks... MainWindow,&Nova base de datos...&New Database... MainWindow8&Abrir ficheiro de claves...&Open Database... MainWindow&Abrir URL &Open URL MainWindow&Contrasinal &Password MainWindow6&Xerador de contrasinais...&Password Generator... MainWindow,&Facer tipo automtico&Perform AutoType MainWindow &Sair&Quit MainWindow*Gardar &anexo como...&Save Attachment As... MainWindow*Gardar ba&se de datos&Save Database MainWindow Preferencia&s... &Settings... MainWindow&Ttulo&Title MainWindow&URL&URL MainWindow&Ver&View MainWindow2&Ver/modificar entrada...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow A&nexo A&ttachment MainWindow0Engadir &nova entrada...Add &New Entry... MainWindow<Base de da&tos a marcadores...Bookmark &this Database... MainWindowC&reacin C&reation MainWindow>Trocar o contrasinal &mestre...Change &Master Key... MainWindowVCopiar o nome de &usuario no portarretallosCopy &Username to Clipboard MainWindowNCopiar o con&trasinal no portarretallosCopy Password &to Clipboard MainWindow&Borrar entrada De&lete Entry MainWindowE&xpiraE&xpires MainWindowE&xtrasE&xtras MainWindow GruposGroups MainWindowAgocharHide MainWindow*Agochar &contrasinaisHide &Passwords MainWindow2Agochar nomes de &usuarioHide &Usernames MainWindowKeePassXKeePassX MainWindowltimo &acceso Last &Access MainWindowLixo...Recycle Bin... MainWindow:G&ardar base de datos como...Save Database &As... MainWindow:Procurar &na base de datos...Search &in Database... MainWindow0Procurar neste &grupo...Search in this &Group... MainWindow6Amosar detalles da &entradaShow &Entry Details MainWindow:Amosar &entradas expiradas...Show &Expired Entries... MainWindow.Amosar barra de e&stadoShow &Statusbar MainWindowTTamao das &iconas da barra de ferramentasToolbar &Icon Size MainWindow &Nome de usuario User&name MainWindow(Xestionar marcadoresManage BookmarksManageBookmarksDlgF%1: O ficheiro non puido ser lido.%1: File is not readable.PasswordDialogV%1: Non se atopa o ficheiro ou directorio.%1: No such file or directory.PasswordDialog,Todos os ficheiros (*) All Files (*)PasswordDialog&Trocar chave mestraChange Master KeyPasswordDialog.Crear ficheiro chave...Create Key File...PasswordDialog,Chave da base de datos Database KeyPasswordDialog0Introduza a chave mestraEnter Master KeyPasswordDialog.Ficheiros chave (*.key)Key Files (*.key)PasswordDialogltimo ficheiro Last FilePasswordDialogrIntroduza un contrasinal ou seleccione un ficheiro chave.-Please enter a Password or select a key file.PasswordDialog2Introduza un contrasinal.Please enter a Password.PasswordDialog4Forneza un ficheiro chave.Please provide a key file.PasswordDialog8Seleccione un ficheiro chaveSelect a Key FilePasswordDialog0Estableza a chave mestraSet Master KeyPasswordDialogO cartafol contn mis dun ficheiro de claves. Especifique un ficheiro de claves directamente.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialoglO cartafol fornecido non contn ningn ficheiro chave.3The given directory does not contain any key files.PasswordDialogNon foi posibel ler o ficheiro ou directorio chave seleccionado.3The selected key file or directory is not readable.PasswordDialog&Navegar... &Browse... PasswordDlg AtrsBack PasswordDlg|Introduza un contrasinal e/ou seleccione un ficheiro de clave.*Enter a Password and/or choose a key file. PasswordDlg.Xerar ficheiro chave...Generate Key File... PasswordDlg ChaveKey PasswordDlgFicheiro chave: Key File: PasswordDlgltimo ficheiro Last File PasswordDlgContrasinal: Password: PasswordDlg<Os contrasinais non concordan.Passwords are not equal. PasswordDlg*Repita o contrasinal:Please repeat your password: PasswordDlgProcurarSearch SearchDialogFDistinguir &maisculas e minsculas&Case Sensitive Search_Dlg&Ttulos&Titles Search_Dlg&Usuarios &Usernames Search_Dlg&ApndiceA&nhang Search_DlgC&omentarios C&omments Search_Dlg:Incluir subgrupos (recursivo)Include Subgroups (recursive) Search_DlgIncluir:Include: Search_Dlg&Contrasinais Pass&words Search_Dlg$E&xpresin regularRegular E&xpression Search_DlgProcurar: Search For: Search_DlgProcurar... Search... Search_Dlg U&RLsU&RLs Search_Dlg$Seleccin de iconaIcon Selection SelectIconDlgAvanzadoAdvancedSettingsDialog2Alternar cores de columnaAlternating Row ColorsSettingsDialogfPreguntar sempre antes de borrar entradas ou grupos,Always ask before deleting entries or groupsSettingsDialog<Axuste fino de tipo automticoAuto-Type Fine TuningSettingsDialogGardar automticamente a base de datos ao sar e ao bloquear o espazo de traballo9Automatically save database on exit and workspace lockingSettingsDialogCor de cartel Banner ColorSettingsDialogMarcadores BookmarksSettingsDialogExaminarBrowseSettingsDialogExaminar... Browse...SettingsDialogTroca&r... C&hange...SettingsDialogTrocar... Change...SettingsDialog0Limpar agora o histricoClear History NowSettingsDialogBBorrar portarretallos despois de:Clear clipboard after:SettingsDialog Cor 1:Color 1:SettingsDialog Cor 2:Color 2:SettingsDialogConfigurar... Configure...SettingsDialogDComando personalizado do navegadorCustom Browser CommandSettingsDialogfPersonalizar visualizacin do detalle da entrada...Customize Entry Detail View...SettingsDialogBDilogo da chave da base de datosDatabase Key DialogSettingsDialogPrazo entre a simulacin de das voltas de chave. Incrementar isto se o tipo automatico salta caracteres ao chou.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialog0Non expandir ningn itemDo not expand any itemSettingsDialog8Modificar dilogo de entradaEdit Entry DialogSettingsDialogActive isto se quere usar seus marcadores e o ultimo ficheiro aberto, independentemente do camio absoluto. Isto especialmente util cando usa KeePassX de xeito portatil e por tanto hai variacins no punto de montaxe.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog.Expandir todos os itemsExpand all itemsSettingsDialogBAtallo global do tipo automatico:Global Auto-Type Shortcut:SettingsDialogRIntegracin co escritorio Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog:Grupo de rbores no arranque:Group tree at start-up:SettingsDialog>Integracin do escritorio KDE 4KDE 4 Desktop IntegrationSettingsDialog0Tempo de volta de chave:Key Stroke Delay:SettingsDialoghBloquear base de datos despois dunha inactividade de!Lock database after inactivity ofSettingsDialogxBloquear espazo de traballo ao minimizar a fiestra principal.Lock workspace when minimizing the main windowSettingsDialogMedios da raiz: Media Root:SettingsDialog|Minimizar ao rea de notificacin no canto da barra de tarefas#Minimize to tray instead of taskbarSettingsDialogMinimizar ao rea de notificacin ao premer no botn de pechar da fiestra principal=Minimize to tray when clicking the main window's close buttonSettingsDialogNadaNoneSettingsDialogEngadidosPlug-InsSettingsDialogVolta inicial:Pre-Gap:SettingsDialogXRecordar ltimo tipo de clave e localizacin#Remember last key type and locationSettingsDialog@Lembrar o ltimo ficheiro abertoRemember last opened fileSettingsDialog4Restaurar ao ltimo estadoRestore last stateSettingsDialog~Gardar os cartafoles recentes dos cadros de dilogo de ficheiro'Save recent directories of file dialogsSettingsDialognGardar camios relativos (marcadores e ultimo ficheiro)-Save relative paths (bookmarks and last file)SettingsDialogSeguranzaSecuritySettingsDialogPreferenciasSettingsSettingsDialogLAmosar contrasinais en texto plano en:Show plain text passwords in:SettingsDialogRAmosar unha icona no rea de notificacinShow system tray iconSettingsDialog"Comezar bloqueado Start lockedSettingsDialog$Comezar minimizadoStart minimizedSettingsDialogCor de texto: Text Color:SettingsDialogO cartafol onde normalmente se montan os dispositivos de almacenamento como CDs e tarxetas de memoria.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTempo entre a activacin dun tipo automtico de accin feita polo usuario e a primeira volta de chave.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogUsar entradas do ttulo altura da fiestra para tipos automticos globais;Use entries' title to match the window for Global Auto-TypeSettingsDialogPode desactivar varias caractersticas de KeePassX aqu, de acordo coas sas necesidades coa fin de manter a interface do usuario limpa.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogPrecisa reiniciar o programa para que tean efecto as modificacins.?You need to restart the program before the changes take effect.SettingsDialogmsmsSettingsDialogsegundossecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget2Introduza seu contrasinalEnter your PasswordSimplePasswordDialogContrasinal: Password:SimplePasswordDialog damufo$TRANSLATION_AUTHOR Translation&proxecto@trasno.net$TRANSLATION_AUTHOR_EMAIL Translationn<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">O espazo de traballo est bloqueado.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget(Fechar base de datosClose DatabaseWorkspaceLockedWidgetFormularioFormWorkspaceLockedWidgetDesbloquearUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/qt_nl.qm0000664000175000017500000043051511342454754017544 0ustar felixfelixGeHIPQ?RSTUV,WSXzY]Hg;(!;M0;\MHO'O3F-}HmH+;+;J?+;Q"+O+OJ19E@fFH4HYbH I+JJLKULDaLPS!QO@Rg WRZr,[`0[` `\_.b_31R Jm\X=$c$I,/yK)X=9d;PYEIEYu'%%Z" n֍֍g֍֍c0'0Ly0I00! 0Y5!3 DOz Da+&,P,1v?fYNo Ob`<`,.`UyjD@e!eOebį>į?~5^5EQ<3(4^G(4^{(5^(5^*y(G*y*y;*Tk*06*0X+F*+FZ+LX<+f+fU+z>S+(+^+<@+z>+l+VI+k++[+į(+į+į7X:9;xrC:ÉGJHw9'JHw9JHQ I'cI WTWT)XMXSeX˙N5X*YhYLY+Y]kZg+ZkNZj[;^\\]4I\]4/\b\atpgclGx|^;cvIvW|1fsM4L5.6CcIA$[M"cI&ɵnCɵnɵnɵnOɵnɵnյɵn ɵn o7v_ B*1)MEy.><i5%UT(Ŏ_T*4G5vO dbtby#eAiOur ѭ "lj)9-t#/=N,1$5~o< ?2?N]AMRUi/W~ X]"`E`)lgtvtyAvty1g"oKZTy])|66Z^^s(}*< RT=J~.r;4* EE ? ?{?48AAqL4F&Mے mMMZ$EnnEww&Lwo In 9 !eE%&tJ)-*/e-5-;EcFI0OZf>>`cփ&fuzg&4jC_mnq6kqu(!]{>il{~o ֖y $$fadi+(.)ʁr̝^g}KK n,4I?OA6=&H.l/"?IxS=R>zYMnYMx^Xh^/Ci4sscs}wrzU<o/xb%ۊ?Oat~N<(]]( II' I'IKI I1IXI#MY#i#y#"e""#!"+I%W$o$$%$5uDruD|DYo,,,,2,=S]?ɘe5$\fR&fR\6N \ec2WSgPquVLVNSfRU!3 e O *%C/v&~f&v)+,?"+KN:MMR!V|h]9]gMk)Oy^+5tS(F\*[hFG%lnصuǥ\+5++et/ ^UF;j8xAjl9\i,^si/Ͼ%<{C-.5(C^|ƨpƨ3˾^ҝzi8է?2Z>y ߺ9yf[m^! l$~b[~baol! +3 /14~Ϊ6 *? 2W'A[DmEGmGb`LAU:PѧKQzSnTلUU2ZZZ:Zp[YA]k*[]F^ned_peeisi|akQzQoNs y;2{}u(}w}w/{}w}Cwb_r"tӺv"tSt.5./PiUaDNDaKYZt7txt8o_ (+TFtCʢGʢ1ƴdGdd5d d0R,593NSݝ3gUVdފBhh ww I? 'V+~,DPM/>2Q426tg7Dr:Խ?;ICU]NDhgINJ0KKSU|_V7\qar bt|(^S|P|}wZD}$}$/)}$}ϗjZVNDNK<Lf+Ld·@·\ý ׳/zEUsElHŢvu%5aST e~i~itwJsb#H%s'+-..v5kEu=Ch=G??nCtIdP=XU ZbD,bGf2fdHzgA$2hIf5i$.x1 z*2Td׭JU(.5 'zRSc.~҉1BZrTtmm^Mn&$*$†5U}icgCNʴ5iʴ5ZʶԄ_۔#D_A'NddF5,WF5YB+>IIZAs Gs }$a qev ڤ ڥ E E  Ac Ac] 35 ; & r n2 K Y+ K*X A 팤 l~| %'@m  % =m qid  }  ) */ .> 5 7ug. ;o =m J"ɛ J" Rۮk Ty T^ Uj46 ] ` ` ~ b0 b c( cE d2T eu e[r e{Y f1p f* g5U gnfI k, i rD"& t>υ :> f  f W] 4 .j s sY AAt 9 K 9r - m,!t #-t 0N: A4 CUkh LL L7 LXo Mc\N RX S V W ]$E- io>j; m`. w+ xR yrIn F ֮ H0 HV 9H $Xk .@-B %8 ) > = %U J JY p? t.` k; Ӈ* M ' N> ̺lZ -Dmi . ۷U r k k U)} y <-Y B&  0' O  z+Q  r^  { IeS %k Nl (A Iu xHd .=~ 7Fe >u^ >v >w > > > >Ƿ > ?t|F% DT I< P@ > RV^ RVV RV4 S.1 SGˉ S# Y[@ Y [Cq c` hۮd j7oT p= k . B i TDH T T3 T D F ^ e )dţ T BA ;>? .D . . .* . .   aŠ y,  hNҁ ҂q d W N |;  % Xt6 t a8& - :b} Uq k ?  r0   #$R %n +>? +k 0Ec ;ɾ< Fgo K9Ȏ Pt0 Pt[ dB e1.K fe4 feg iFC 3 i[= i kGn m9M nv u( u7 v г v& v{8 w w. w w}F w}. w} |[}  o x %Gc ^ } RE PV # xN U ɰe- FI w- X &| D + t5w t5[   >  \r )/ .t @aT8=MtYoAgT8*7M*X/E=B$I_~K/OOXRuCXt[ ^a.L2nyG{vɅ"y$~>4$&~'+4G S8^ǗQ:B5D rݖ^݈ 6 XGs"#$U!%4O1%4a-vA0i)&0'(1c2wT&H<s<(D/H JdgK#^L$.`}Wac5jc5 :g3"mhKpyC0{~a%Y5)&&{7[m> t Y=>bMHNS"~LLn.B!t2;x  UFi <html>Stappen over op het geluidsafspeel apparaat <b>%1</b><br/>deze is net beschikbaar gekomen en verdient de voorkeur.</html>xSwitching to the audio playback device %1
which just became available and has higher preference. AudioOutput<html>Het apparaat <b>%1</b> , dat geluid afspeelt, werkt niet.<br/>In plaats daarvan wordt <b>%2</b> gebruikt.</html>^The audio playback device %1 does not work.
Falling back to %2. AudioOutput:Terugkeren naar apparaat '%1'Revert back to device '%1' AudioOutput Toegankelijkheid AccessibilityPhonon::communicatie CommunicationPhonon::SpelletjesGamesPhonon:: MuziekMusicPhonon::mededeling NotificationsPhonon:: VideoVideoPhonon::Waarschuwing: De "GStreamer plugins" blijken niet genstalleerd. Alle audio en video ondersteuning is gedeactiveerd~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::Backend Waarschuwing: Het pakker "gstreamer0.10 plugins" is niet goed genstalleerd. Sommige video mogelijkheden zijn gedeactiveerd.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendEen noodzakelijke codec mist. U moet de volgende codec installeren om deze inhoud af te spelen: %0De noodzakelijke codecs missen. U moet de volgende codecs installeren om deze inhoud af te spelen: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObjectKan het afspelen niet starten. Controleer de installatie van "Gstreamer" en zorg ervoor dat de "libgstreamer plugins basis is genstalleer.wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectBKan de media bron niet decoderen.Could not decode media source.Phonon::Gstreamer::MediaObject<Kan de media bron niet vinden.Could not locate media source.Phonon::Gstreamer::MediaObjectKan het audio apparaat niet openen. Het apparaat wordt al gebruikt.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObject<Kan de media bron niet openen.Could not open media source.Phonon::Gstreamer::MediaObject&Bron type ongeldig.Invalid source type.Phonon::Gstreamer::MediaObjectGebruik deze schuif om het geluid aan te passen. De meest linkse positie is 0%, de meest rechtse positie is %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSlider0%1, %2 niet gedefinieerd%1, %2 not definedQ3Accel>Dubbelzinnig %1 niet uitgevoerdAmbiguous %1 not handledQ3AccelVerwijderenDelete Q3DataTable OnwaarFalse Q3DataTableInvoegenInsert Q3DataTableWaarTrue Q3DataTableBijwerkenUpdate Q3DataTabler%1 Bestand niet gevonden. Controleer pad en bestandsnaam.+%1 File not found. Check path and filename. Q3FileDialog&Verwijderen&Delete Q3FileDialog&Nee&No Q3FileDialog&OK&OK Q3FileDialog&Openen&Open Q3FileDialog&Hernoemen&Rename Q3FileDialogOp&slaan&Save Q3FileDialog&Ongesorteerd &Unsorted Q3FileDialog&Ja&Yes Q3FileDialogj<qt>Weet u zeker dat u %1 "%2" wilt verwijderen?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog$Alle bestanden (*) All Files (*) Q3FileDialogAttribuut Attributes Q3FileDialog TerugBack Q3FileDialogAnnulerenCancel Q3FileDialog>Bestand kopiren of verplaatsenCopy or Move a File Q3FileDialog.Maak een nieuwe map aanCreate New Folder Q3FileDialog DatumDate Q3FileDialog%1 verwijderen Delete %1 Q3FileDialogDetail weergave Detail View Q3FileDialogMapDir Q3FileDialog Mappen Directories Q3FileDialogMap: Directory: Q3FileDialogFoutError Q3FileDialogBestandFile Q3FileDialogBestands&naam: File &name: Q3FileDialog &Soort bestands: File &type: Q3FileDialogZoek een mapFind Directory Q3FileDialog"niet toegankelijk Inaccessible Q3FileDialogLijst weergave List View Q3FileDialog&Kijk bij: Look &in: Q3FileDialogNaamName Q3FileDialogNieuwe map New Folder Q3FileDialogNieuwe map %1 New Folder %1 Q3FileDialogNieuwe map 1 New Folder 1 Q3FileDialogEen map omhoogOne directory up Q3FileDialogOpenOpen Q3FileDialog@Voorbeeldweergave bestandsinhoudPreview File Contents Q3FileDialogHVoorbeeldweergave bestandsinformatiePreview File Info Q3FileDialog&Opnieuw ladenR&eload Q3FileDialogAlleen lezen Read-only Q3FileDialogLezen/schrijven Read-write Q3FileDialogLees: %1Read: %1 Q3FileDialogOpslaan alsSave As Q3FileDialog4Verbo&rgen bestanden tonenShow &hidden files Q3FileDialogFormaatSize Q3FileDialogSorterenSort Q3FileDialog$Op &datum sorteren Sort by &Date Q3FileDialog"Op &Naam sorteren Sort by &Name Q3FileDialog(Op grootte &sorteren Sort by &Size Q3FileDialogSpeciaalSpecial Q3FileDialog2Snelkoppeling naar de mapSymlink to Directory Q3FileDialog<Snelkoppeling naar het bestandSymlink to File Q3FileDialogBSnelkoppeling naar iets speciaalsSymlink to Special Q3FileDialog SoortType Q3FileDialog Alleen schrijven Write-only Q3FileDialogSchrijven: %1 Write: %1 Q3FileDialog De map the directory Q3FileDialogHet bestandthe file Q3FileDialog De snelkoppeling the symlink Q3FileDialog6Kan de map niet aanmaken %1Could not create directory %1 Q3LocalFs&Kan: %1 niet openenCould not open %1 Q3LocalFs0Kan de map niet lezen %1Could not read directory %1 Q3LocalFsZKan het bestand of de map niet verwijderen %1%Could not remove file or directory %1 Q3LocalFs<Kan: %1 niet hernoemen naar %2Could not rename %1 to %2 Q3LocalFs,Kan niet schrijven: %1Could not write %1 Q3LocalFsAanpassen... Customize... Q3MainWindowRangschikkenLine up Q3MainWindow>Actie gestopd door de gebruikerOperation stopped by the userQ3NetworkProtocolAnnulerenCancelQ3ProgressDialogToepassenApply Q3TabDialogAnnulerenCancel Q3TabDialogStandaardsDefaults Q3TabDialogHelpHelp Q3TabDialogOkOK Q3TabDialog&Kopiren&Copy Q3TextEdit&Plakken&Paste Q3TextEditOp&nieuw&Redo Q3TextEdit&Ongedaan maken&Undo Q3TextEdit WissenClear Q3TextEditK&nippenCu&t Q3TextEdit Alles selecteren Select All Q3TextEditSluitenClose Q3TitleBar"Sluit het vensterCloses the window Q3TitleBarVBevat opdrachten om het venster te bewerken*Contains commands to manipulate the window Q3TitleBarGeeft de naam van venster weer en bevat knoppen om deze te bewerkenFDisplays the name of the window and contains controls to manipulate it Q3TitleBar:Maak het venster beeldvullendMakes the window full screen Q3TitleBarMaximaliserenMaximize Q3TitleBarMinimaliserenMinimize Q3TitleBarBVerplaatst het venster uit de wegMoves the window out of the way Q3TitleBarLZet gemaximaliseerd terug naar normaal&Puts a maximized window back to normal Q3TitleBarLZet geminimaliseerd terug naar normaalPuts a minimized back to normal Q3TitleBar$Omlaag terugzetten Restore down Q3TitleBar$Omhoog terugzetten Restore up Q3TitleBarSysteemSystem Q3TitleBarMeer...More... Q3ToolBar(onbekend) (unknown) Q3UrlOperatorHet protocol `%1' ondersteund niet het kopiren van bestanden of mappenIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorHet protocol `%1' ondersteund niet het aanmaken van nieuwe mappen;The protocol `%1' does not support creating new directories Q3UrlOperatorxHet protocol `%1' ondersteund niet het ophalen van bestanden0The protocol `%1' does not support getting files Q3UrlOperatorHet protocol `%1' ondersteund geen opname in een lijst van mappen6The protocol `%1' does not support listing directories Q3UrlOperator|Het protocol `%1' ondersteund niet het wegzetten van bestanden0The protocol `%1' does not support putting files Q3UrlOperatorHet protocol `%1' ondersteund niet het verwijderen van bestanden of mappen@The protocol `%1' does not support removing files or directories Q3UrlOperatorHet protocol `%1' ondersteund niet het herbenoemen van bestanden of mappen@The protocol `%1' does not support renaming files or directories Q3UrlOperatorPHet protocol `%1' wordt niet ondersteund"The protocol `%1' is not supported Q3UrlOperator&Annuleren&CancelQ3Wizard &Klaar&FinishQ3Wizard &Help&HelpQ3Wizard&Volgende >&Next >Q3Wizard< &Terug< &BackQ3Wizard(Verbinding geweigerdConnection refusedQAbstractSocket,Gastheer niet gevondenHost not foundQAbstractSocket0Socket is niet verbondenSocket is not connectedQAbstractSocketbTijdslimiet verstreken voor de actie op de socketSocket operation timed outQAbstractSocket"Alles &selecteren &Select AllQAbstractSpinBox&ophogen??&Step upQAbstractSpinBox&Afnemen?? Step &downQAbstractSpinBoxActiverenActivate QApplicationZActiveert het hoofd venster van het programma#Activates the program's main window QApplicationdProgramma '%1' vereist Qt %2; maar Qt %3 gevonden.,Executable '%1' requires Qt %2, found Qt %3. QApplicationBQt bibliotheek is niet compatibelIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationAfvinkenCheck QCheckBoxOmschakelenToggle QCheckBoxUitgummenUncheck QCheckBoxB&Toevoegen aan aangepaste kleuren&Add to Custom Colors QColorDialog&Basis kleuren &Basic colors QColorDialog&&Aangepaste kleuren&Custom colors QColorDialog&Groen:&Green: QColorDialog &Rood:&Red: QColorDialog&Verzadiging:&Sat: QColorDialog&Helderheid:&Val: QColorDialogA&lpha kanaal:A&lpha channel: QColorDialogBla&uw:Bl&ue: QColorDialog &Tint:Hu&e: QColorDialog&Selecteer een kleur Select color QColorDialogSluitenClose QComboBox OnwaarFalse QComboBox OpenenOpen QComboBoxWaarTrue QComboBox%1: bestaat al%1: already existsQCoreApplication %1: bestaat niet%1: doesn't existsQCoreApplication%1: ftok vaalt%1: ftok failedQCoreApplication6%1:Ongeldige sleutel (leeg)%1: key is emptyQCoreApplication2%1: geen hulpbronnen meer%1: out of resourcesQCoreApplication(%1: geen toestemming%1: permission deniedQCoreApplication:%1: Kan geen sleutel aanmaken%1: unable to make keyQCoreApplication*%1: onbekende fout %2%1: unknown error %2QCoreApplicationBKan de transactie niet bevestigenUnable to commit transaction QDB2Driver2Kan geen verbinding makenUnable to connect QDB2DriverFKan de transactie niet terugdraaienUnable to rollback transaction QDB2DriverZKan het automatisch bevestigen niet instellenUnable to set autocommit QDB2Driver2Kan geen variabele bindenUnable to bind variable QDB2Result@Kan de instructie niet uitvoerenUnable to execute statement QDB2Result4Kan de eerste niet ophalenUnable to fetch first QDB2Result8Kan de volgende niet ophalenUnable to fetch next QDB2Result<Kan het record %1 niet ophalenUnable to fetch record %1 QDB2ResultFKan de instructie niet voorbereidenUnable to prepare statement QDB2ResultVMAM QDateTimeEditNMPM QDateTimeEditNMam QDateTimeEditnmpm QDateTimeEdit QDialQDialQDialSchuifhandel SliderHandleQDialTachometer SpeedoMeterQDial KlaarDoneQDialogWat is dit? What's This?QDialog&Nee&NoQDialogButtonBox&OK&OKQDialogButtonBox&Ja&YesQDialogButtonBoxAfbrekenAbortQDialogButtonBoxToepassenApplyQDialogButtonBoxAnnulerenCancelQDialogButtonBoxSluitenCloseQDialogButtonBox4Sluiten zonder op te slaanClose without SavingQDialogButtonBoxVerwerpenDiscardQDialogButtonBoxNiet opslaan Don't SaveQDialogButtonBoxHelpHelpQDialogButtonBoxNegerenIgnoreQDialogButtonBoxNee voor &alles N&o to AllQDialogButtonBoxOkOKQDialogButtonBox OpenenOpenQDialogButtonBoxTerugzettenResetQDialogButtonBox0Standaards terugplaatsenRestore DefaultsQDialogButtonBoxNogmaalsRetryQDialogButtonBoxOpslaanSaveQDialogButtonBoxAlles opslaanSave AllQDialogButtonBoxJa, &alles Yes to &AllQDialogButtonBoxDatum gewijzigd Date Modified QDirModelAardKind QDirModelNaamName QDirModel OmvangSize QDirModelTypeType QDirModelSluitenClose QDockWidgetKoppelenDock QDockWidgetDrijvenFloat QDockWidget MinderLessQDoubleSpinBoxMeerMoreQDoubleSpinBox&OK&OK QErrorMessage<&Geef dit bericht opnieuw weer&Show this message again QErrorMessageTest bericht:Debug Message: QErrorMessageFatale fout: Fatal Error: QErrorMessageWaarschuwing:Warning: QErrorMessage%1 Map niet gevonden. Controleer of de juiste naam van de map is opgegeven.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Bestand niet gevonden. Controleer of de juiste bestandnaam is opgegeven.A%1 File not found. Please verify the correct file name was given. QFileDialogJ%1 Bestaat al. Wilt u deze vervangen?-%1 already exists. Do you want to replace it? QFileDialog&Kiezen&Choose QFileDialog&Verwijderen&Delete QFileDialog&Nieuwe map &New Folder QFileDialog&Openen&Open QFileDialog&Hernoemen&Rename QFileDialog&Opslaan&Save QFileDialog'%1' is beschermd tegen overschrijven. Wilt u het toch verwijderen?9'%1' is write protected. Do you want to delete it anyway? QFileDialog$Alle bestanden (*) All Files (*) QFileDialogNWeet u zeker dat u %1 wilt verwijderen?!Are sure you want to delete '%1'? QFileDialog TerugBack QFileDialog8Kan de map niet verwijderen.Could not delete directory. QFileDialog.Maak een nieuwe map aanCreate New Folder QFileDialogDetail weergave Detail View QFileDialog Mappen Directories QFileDialogMap: Directory: QFileDialogStationDrive QFileDialogBestandFile QFileDialogBestands&naam: File &name: QFileDialog.Bestanden van het type:Files of type: QFileDialogZoek een mapFind Directory QFileDialogVooruitForward QFileDialogLijst weergave List View QFileDialogKijk bij:Look in: QFileDialogMijn computer My Computer QFileDialogNieuwe map New Folder QFileDialog OpenenOpen QFileDialog"Bovenliggende mapParent Directory QFileDialogVerwijderRemove QFileDialogOpslaan alsSave As QFileDialogWeergevenShow  QFileDialog<&Geef verborgen bestanden weerShow &hidden files QFileDialogOnbekendUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 bytes%1 bytesQFileSystemModel<b>De naam "%1" kan niet worden gebruikt.</b><p>Geef een andere naam op met minder tekens of zonder leestekens.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelComputerComputerQFileSystemModelDatum gewijzigd Date ModifiedQFileSystemModel,Ongeldige bestandsnaamInvalid filenameQFileSystemModelAardKindQFileSystemModelMijn computer My ComputerQFileSystemModelNaamNameQFileSystemModel OmvangSizeQFileSystemModelTypeTypeQFileSystemModelAlleAny QFontDatabaseArabischArabic QFontDatabaseArmekaansArmenian QFontDatabaseBengaalsBengali QFontDatabase ZwartBlack QFontDatabaseVetBold QFontDatabaseCyrillischCyrillic QFontDatabaseHalfDemi QFontDatabasehalf vet Demi Bold QFontDatabaseDevanagari Devanagari QFontDatabaseGeorgischGeorgian QFontDatabase GrieksGreek QFontDatabaseGujaratiGujarati QFontDatabaseGurmukhiGurmukhi QFontDatabaseHebreewsHebrew QFontDatabaseCursiefItalic QFontDatabase JapansJapanese QFontDatabaseKannadaKannada QFontDatabase KhmerKhmer QFontDatabaseKoreaansKorean QFontDatabaseLaoLao QFontDatabaseLatijnsLatin QFontDatabase lichtLight QFontDatabaseMalayalam Malayalam QFontDatabaseMyanmarMyanmar QFontDatabaseNormaalNormal QFontDatabase SchuinOblique QFontDatabase OghamOgham QFontDatabase OriyaOriya QFontDatabase RunenRunic QFontDatabase"Eenvoudig ChineesSimplified Chinese QFontDatabaseSinhalaSinhala QFontDatabaseSymboolSymbol QFontDatabaseSyrischSyriac QFontDatabase TamilTamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabase ThaisThai QFontDatabaseTibetaansTibetan QFontDatabase(Traditioneel ChineesTraditional Chinese QFontDatabaseVietnamees Vietnamese QFontDatabase&Lettertype&Font QFontDialog&Omvang&Size QFontDialog&Onderstrepen &Underline QFontDialogEffectenEffects QFontDialog"&Soort lettertype Font st&yle QFontDialogVoorbeeldSample QFontDialog(Selecteer lettertype Select Font QFontDialogDoor&halen Stri&keout QFontDialog&SchrijfsysteemWr&iting System QFontDialogDveranderen van map is misluktl: %1Changing directory failed: %1QFtp2Verbonden met de gastheerConnected to hostQFtp8Verbonden met de gastheer %1Connected to host %1QFtpFVerbinding met gastheer mislukt: %1Connecting to host failed: %1QFtp*Verbinding afgeslotenConnection closedQFtpZVerbinding voor gegevens verbinding geweigerd&Connection refused for data connectionQFtp6Verbinding met %1 geweigerdConnection refused to host %1QFtp8Verbinding met %1 afgeslotenConnection to %1 closedQFtp>Aanmaken van map is mislukt: %1Creating directory failed: %1QFtpJDownloaden van bestand is mislukt: %1Downloading file failed: %1QFtp(Gastheer %1 gevonden Host %1 foundQFtp2Gastheer %1 niet gevondenHost %1 not foundQFtp"Gastheer gevonden Host foundQFtpLWeergeven van de mappen is mislukt: %1Listing directory failed: %1QFtp,Aanmelding mislukt: %1Login failed: %1QFtpGeen verbinding Not connectedQFtpDVerwijderen van map is mislukt: %1Removing directory failed: %1QFtpLVerwijderen van bestand is mislukt: %1Removing file failed: %1QFtpOnbekende fout Unknown errorQFtpFUploaden van bestand is mislukt: %1Uploading file failed: %1QFtpOnbekende fout Unknown error QHostInfo,gastheer niet gevondenHost not foundQHostInfoAgent(Onbekend soort adresUnknown address typeQHostInfoAgentOnbekende fout Unknown errorQHostInfoAgent*Authenticatie vereistAuthentication requiredQHttp2Verbonden met de gastheerConnected to hostQHttp8Verbonden met de gastheer %1Connected to host %1QHttp*Verbinding afgeslotenConnection closedQHttp(Verbinding geweigerdConnection refusedQHttpZVerbinding geweigerd (tijdslimiet verstreken)!Connection refused (or timed out)QHttp8Verbinding met %1 afgeslotenConnection to %1 closedQHttp6gegevens zijn onbetrouwbaarData corruptedQHttp.HTTP verzoek is misluktHTTP request failedQHttp|HTTPS verginding vereist maar SSL ondersteuning niet opgenomen:HTTPS connection requested but SSL support not compiled inQHttp(Gastheer %1 gevonden Host %1 foundQHttp2Gastheer %1 niet gevondenHost %1 not foundQHttp"Gastheer gevonden Host foundQHttpBDe gastheer vereist authenticatieHost requires authenticationQHttp8Ongeldige HTTP gebroken bodyInvalid HTTP chunked bodyQHttp@Ongeldige HTTP antwoord (header)Invalid HTTP response headerQHttpTGeen server aangewezen om mee te verbindenNo server set to connect toQHttp4Proxy authentcatie vereistProxy authentication requiredQHttp<De proxy vereist authenticatieProxy requires authenticationQHttp$verzoek afgebrokenRequest abortedQHttp.SSL handdruk is misluktSSL handshake failedQHttp^Server heeft de verbinding onverwacht verbroken%Server closed connection unexpectedlyQHttpOnbekende fout Unknown errorQHttp@Onbekend protocol gespecificeerdUnknown protocol specifiedQHttp@Lengte van de inhoud is verkeerdWrong content lengthQHttp*Authenticatie vereistAuthentication requiredQHttpSocketEngine<Kan de transactie niet startenCould not start transaction QIBaseDriver6Kan de database niet openenError opening database QIBaseDriverBKan de transactie niet bevestigenUnable to commit transaction QIBaseDriverFKan de transactie niet terugdraaienUnable to rollback transaction QIBaseDriver@Kan de instructie niet toewijzenCould not allocate statement QIBaseResultRKan de invoer instructie niet beschrijven"Could not describe input statement QIBaseResultDKan de instructie niet beschrijvenCould not describe statement QIBaseResultDKan het volgende item niet ophalenCould not fetch next item QIBaseResult*Kan geen array vindenCould not find array QIBaseResult>Kan geen array gegevens ophalenCould not get array data QIBaseResultBKan geen array informatie ophalenCould not get query info QIBaseResult\Kan geen informatie over de instructie krijgenCould not get statement info QIBaseResultFKan de instructie niet voorbereidenCould not prepare statement QIBaseResult<Kan de transactie niet startenCould not start transaction QIBaseResult@Kan de instructie niet afsluitenUnable to close statement QIBaseResultBKan de transactie niet bevestigenUnable to commit transaction QIBaseResult,Kan geen BLOB aanmakenUnable to create BLOB QIBaseResult>Kan de zoekvraag niet uitvoerenUnable to execute query QIBaseResult(Kan geen BLOB openenUnable to open BLOB QIBaseResult&Kan geen BLOB lezenUnable to read BLOB QIBaseResult4Kan geen BLOB wegschrijvenUnable to write BLOB QIBaseResult@Geen ruimte meer op het apparaatNo space left on device QIODevice6Bestand of map bestaat nietNo such file or directory QIODevice Geen toestemmingPermission denied QIODevice,Te veel bestanden openToo many open files QIODeviceOnbekende fout Unknown error QIODevice.Mac OS X invoer methodeMac OS X input method QInputContext,Windows invoer methodeWindows input method QInputContextXIMXIM QInputContext$XIM invoer methodeXIM input method QInputContext6Kan '%1': %2 niet mmappen??Could not mmap '%1': %2QLibrary8kan '%1': %2 niet unmappen??Could not unmap '%1': %2QLibrarydPlugin controle gegevens komen niet overeen in '%1)Plugin verification data mismatch in '%1'QLibraryfQLibrary::load_sys: %1 kan niet worden geladen (%2)'QLibrary::load_sys: Cannot load %1 (%2)QLibraryQLibrary::resolve_sys: Het symbool "%1" is niet in %2 gedefinieerd (%3)7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibrarylQLibrary::unload_sys: %1 kan niet worden ontladen (%2)+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryNBestand '%1' is geen geldige Qt plugin.'The file '%1' is not a valid Qt plugin.QLibraryPlugin '%1' gebruikt een QT biblitheek, (%2.%3.%4) [%5], die niet compatibel is=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryPlugin '%1' gebruikt een QT bibliotheek die niet compatibel is. (kan geen test en productie biblitheek doorelkaar gebruiken.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryPlugin '%1' gebruikt een QT biblitheek die niet compatibel is. Verwacht bouw sleutel "%2" maar kreeg "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryVDe dynamische bibliotheek is niet gevonden.!The shared library was not found.QLibraryOnbekende fout Unknown errorQLibrary&Kopiren&Copy QLineEdit&Plakken&Paste QLineEditOp&nieuw&Redo QLineEdit&Ongedaan maken&Undo QLineEditK&nippenCu&t QLineEditVerwijderenDelete QLineEdit Alles selecteren Select All QLineEdit(%1: Adres in gebruik%1: Address in use QLocalServer&%1: Fout in de naam%1: Name error QLocalServer(%1: geen toestemming%1: Permission denied QLocalServer*%1: Onbekende fout %2%1: Unknown error %2 QLocalServer2%1: Fout in de verbinding%1: Connection error QLocalSocket0%1: Verbinding geweigerd%1: Connection refused QLocalSocket8%1: Het datagram is te groot%1: Datagram too large QLocalSocket$%1: Ongeldige naam%1: Invalid name QLocalSocket^%1: De verbinding vanuit andere kant afgesloten%1: Remote closed QLocalSocketH%1:fout in de toegang naar de socket%1: Socket access error QLocalSocket^%1: Tijdslimiet verstreken voor de socket actie%1: Socket operation timed out QLocalSocket`%1:fout in de toegang naar de bron van de socket%1: Socket resource error QLocalSocketX%1: Deze socket actie wordt niet ondersteund)%1: The socket operation is not supported QLocalSocket*%1: Onbekende fout %2%1: Unknown error %2 QLocalSocketFKan niet beginnen met de transactieUnable to begin transaction QMYSQLDriverBKan de transactie niet bevestigenUnable to commit transaction QMYSQLDriver2Kan geen verbinding makenUnable to connect QMYSQLDriver:Kan de database niet openen 'Unable to open database ' QMYSQLDriverFKan de transactie niet terugdraaienUnable to rollback transaction QMYSQLDriver4Kan geen overwaarde bindenUnable to bind outvalues QMYSQLResult,Kan geen waarde bindenUnable to bind value QMYSQLResultPKan de volgende zoekvraag niet uitvoerenUnable to execute next query QMYSQLResult>Kan de zoekvraag niet uitvoerenUnable to execute query QMYSQLResult<Kan de opdracht niet uitvoerenUnable to execute statement QMYSQLResult8Kan de gegevens niet ophalenUnable to fetch data QMYSQLResultBKan de opdracht niet voorbereidenUnable to prepare statement QMYSQLResult@Kan de opdracht niet terugzettenUnable to reset statement QMYSQLResultLKan het volgene resultaat niet opslaanUnable to store next result QMYSQLResult<Kan het resultaat niet opslaanUnable to store result QMYSQLResult\Kan het resultaat van de opdracht niet opslaan!Unable to store statement results QMYSQLResult(Zonder titel) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindowSl&uiten&Close QMdiSubWindow&Verplaatsen&Move QMdiSubWindow&Terugzetten&Restore QMdiSubWindow&Omvang&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindowSluitenClose QMdiSubWindowHelpHelp QMdiSubWindowMa&ximaliseren Ma&ximize QMdiSubWindowMaximaliserenMaximize QMdiSubWindowMenuMenu QMdiSubWindowMi&nimaliseren Mi&nimize QMdiSubWindowMinimaliserenMinimize QMdiSubWindowTerugzettenRestore QMdiSubWindow$Omlaag terugzetten Restore Down QMdiSubWindowArcerenShade QMdiSubWindow0Op de &Voorgrond blijven Stay on &Top QMdiSubWindow"Arcering opheffenUnshade QMdiSubWindowSluitenCloseQMenuUitvoerenExecuteQMenu OpenenOpenQMenu<h3>Info over Qt</h3>%1<p>Qt is een C++ gereedschapskist voor applicatie ontwikkeling over platformen heen.</p><p>Qt levert n enkele bron overdraagbaarheid met MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux en alle belangrijke commercile Unix variantenn. Qt is ook beschikbaar voor ingebouw apparaten zoals Qt voor inbouw Linux en Qt voor Windows CE.</p><p>Qt is een Nokia product. Kijk bij <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> voor meer informatie.</p>

About Qt

%1

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is a Nokia product. See www.trolltech.com/qt/ for more information.

 QMessageBox<p>Dit programma gebruikt Qt Open Source editie versie %1.</p><p>Qt Open Source editie is bedoeld voor het ontwikkelen van Open Source applicaties. U heeft een commercile Qt license nodig voor het ontwikkelen van proprietary (closed source) applicaties.</p><p>Kijk bij <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> voor een overzicht van Qt licenties.</p>|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxV<p>Dit programma gebruikt Qt versie %1.</p>'

This program uses Qt version %1.

 QMessageBoxInfo over QtAbout Qt QMessageBoxHelpHelp QMessageBox(Details verbergen...Hide Details... QMessageBoxOKOK QMessageBox(Details weergeven...Show Details... QMessageBoxSelecteer IM Select IMQMultiInputContextBSchakelaar tussen invoer methodesMultiple input method switcherQMultiInputContextPluginSchakelaar tussen invoer methodes die gebruik maakt van het context menu of de tekst widgetsMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin`Eenn andere socket luisterd al op dezelfde poort4Another socket is already listening on the same portQNativeSocketEngineProbeert IPv socket te gebruiken op een platform die IPv6 niet ondersteund=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine(Verbinding geweigerdConnection refusedQNativeSocketEngineXVerbinding heeft de tijdslimiet overschredenConnection timed outQNativeSocketEngineJ Datagram is te groot om te verzendenDatagram was too large to sendQNativeSocketEngine2Gastheer niet te bereikenHost unreachableQNativeSocketEngine6Ongeldige socket deskriptorInvalid socket descriptorQNativeSocketEngineNetwerk fout Network errorQNativeSocketEngine^Tijdslimiet van de netwerk operatie is verlopenNetwork operation timed outQNativeSocketEngine6Netwerk is niet te bereikenNetwork unreachableQNativeSocketEngine6Operatie op een niet-socketOperation on non-socketQNativeSocketEngine*Geen hulpbronnen meerOut of resourcesQNativeSocketEngine Geen toestemmingPermission deniedQNativeSocketEngine>Soort protocol niet ondersteundProtocol type not supportedQNativeSocketEngine:Het adres is niet beschikbaarThe address is not availableQNativeSocketEngine,Het adres is beschermdThe address is protectedQNativeSocketEngineHHet opgegeven adres is al in gebruik#The bound address is already in useQNativeSocketEngine^De operatie is niet geldig voor dit soort proxy,The proxy type is invalid for this operationQNativeSocketEnginehDe gastheer op afstand heeft de verbinding verbroken%The remote host closed the connectionQNativeSocketEnginefKan het, rondstrooiende , socket niet initialiseren%Unable to initialize broadcast socketQNativeSocketEnginehKan het, niet blokkerende, socket niet initialiseren(Unable to initialize non-blocking socketQNativeSocketEngine<Kan het bericht niet ontvangenUnable to receive a messageQNativeSocketEngine<Kan het bericht niet verzendenUnable to send a messageQNativeSocketEngine*Kan niet wegschrijvenUnable to writeQNativeSocketEngineOnbekende fout Unknown errorQNativeSocketEngineBNiet ondersteunde socket operatieUnsupported socket operationQNativeSocketEngineDKan %1 niet openen: Het pad is map#Cannot open %1: Path is a directoryQNetworkAccessFileBackend6Openen van %1: %2 gaat foutError opening %1: %2QNetworkAccessFileBackendDLees fout bij het lezen van %1: %2Read error reading from %1: %2QNetworkAccessFileBackendlVerzoek om bestand %1 te openen, dat niet locaal staat%Request for opening non-local file %1QNetworkAccessFileBackendTSchrijf fout bij het schrijven naar %1: %2Write error writing to %1: %2QNetworkAccessFileBackend<Kan %1 niet openen: is een mapCannot open %1: is a directoryQNetworkAccessFtpBackendBFout tijdens het downloaden%1: %2Error while downloading %1: %2QNetworkAccessFtpBackend>Fout tijdens het uploaden%1: %2Error while uploading %1: %2QNetworkAccessFtpBackendvLogboek bij houden in %1 is mislukt: authenticatie is nodig0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendhFout tijdens het downloaden%1 - server antwoorde: %2)Error downloading %1 - server replied: %2 QNetworkReply4Protocol "%1" is onbekend Protocol "%1" is unknown QNetworkReply(Operatie geanulleerdOperation canceledQNetworkReplyImplFKan niet beginnen met de transactieUnable to begin transaction QOCIDriverBKan de transactie niet bevestigenUnable to commit transaction QOCIDriver,Kan niet initialiserenUnable to initialize QOCIDriver(Kan u niet aanmeldenUnable to logon QOCIDriverFKan de transactie niet terugdraaienUnable to rollback transaction QOCIDriver@Kan de instructie niet toewijzenUnable to alloc statement QOCIResultdKan de kolom niet binden voor een batch uitvoering'Unable to bind column for batch execute QOCIResult,Kan geen waarde bindenUnable to bind value QOCIResultLKan de batch instructie niet uitvoeren!Unable to execute batch statement QOCIResultRKan de "select" instructie niet uitvoeren"Unable to execute select statement QOCIResult@Kan de instructie niet uitvoerenUnable to execute statement QOCIResult<Kan niet naar de volgende gaanUnable to goto next QOCIResultFKan de instructie niet voorbereidenUnable to prepare statement QOCIResultBKan de transactie niet bevestigenUnable to commit transaction QODBCDriver2Kan geen verbinding makenUnable to connect QODBCDriverKan geen verbinding maken - Stuurprogramma ondersteund niet alle benodigde functionaliteitCUnable to connect - Driver doesn't support all needed functionality QODBCDriver^Kan het automatisch bevestigen niet deactiverenUnable to disable autocommit QODBCDriverZKan het automatisch bevestigen niet activerenUnable to enable autocommit QODBCDriverFKan de transactie niet terugdraaienUnable to rollback transaction QODBCDriver0QODBCResult::terugzetten: 'SQL_CURSOR_STATIC' kan niet als een attribuut van instructie meegeven. controleer de configuratie van het ODBC stuurprogrammayQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult2Kan geen variabele bindenUnable to bind variable QODBCResult@Kan de instructie niet uitvoerenUnable to execute statement QODBCResult"Kan niets ophalenUnable to fetch QODBCResult4Kan de eerste niet ophalenUnable to fetch first QODBCResult6Kan de laatste niet ophalenUnable to fetch last QODBCResult8Kan de volgende niet ophalenUnable to fetch next QODBCResult4Kan de vorige niet ophalenUnable to fetch previous QODBCResultFKan de instructie niet voorbereidenUnable to prepare statement QODBCResult"Ongeldige URI: %1Invalid URI: %1QObject>Operatie op %1 niet ondersteundOperation not supported on %1QObject^Protocol fout:Een leeg gegevenspakket ontvangen)Protocol error: packet of size 0 receivedQObjectDLees fout bij het lezen van %1: %2Read error reading from %1: %2QObjectDe gastheer op afstand heeft de verbinding voortijdig verbroken op %13Remote host closed the connection prematurely on %1QObject*Socket fout op %1: %2Socket error on %1: %2QObjectTSchrijf fout bij het schrijven naar %1: %2Write error writing to %1: %2QObjectNaamNameQPPDOptionsModel WaardeValueQPPDOptionsModel<Kan de transactie niet startenCould not begin transaction QPSQLDriverBKan de transactie niet bevestigenCould not commit transaction QPSQLDriverFKan de transactie niet terugdraaienCould not rollback transaction QPSQLDriver2Kan geen verbinding makenUnable to connect QPSQLDriver2Inschrijven niet mogelijkUnable to subscribe QPSQLDriver4Uitschrijven niet mogelijkUnable to unsubscribe QPSQLDriver6Kan geen zoekvraag aanmakenUnable to create query QPSQLResultFKan de instructie niet voorbereidenUnable to prepare statement QPSQLResult Centimeters (cm)Centimeters (cm)QPageSetupWidgetFormulierFormQPageSetupWidgetHoogte:Height:QPageSetupWidgetInches (in) Inches (in)QPageSetupWidgetLiggend LandscapeQPageSetupWidget MargesMarginsQPageSetupWidgetMillimeter (mm)Millimeters (mm)QPageSetupWidgetLigging OrientationQPageSetupWidgetPapierformaat: Page size:QPageSetupWidget PapierPaperQPageSetupWidgetPapierlade: Paper source:QPageSetupWidgetPunten (pt) Points (pt)QPageSetupWidget StaandPortraitQPageSetupWidget"Liggend omgekeerdReverse landscapeQPageSetupWidget Staand omgekeerdReverse portraitQPageSetupWidgetBreedte:Width:QPageSetupWidgetondermarge bottom marginQPageSetupWidgetLinkermarge left marginQPageSetupWidgetRechtermarge right marginQPageSetupWidgetBovenmarge top marginQPageSetupWidget6De plugin was niet geladen.The plugin was not loaded. QPluginLoaderOnbekende fout Unknown error QPluginLoaderR%1 bestaat al. Wilt u deze overschrijven?/%1 already exists. Do you want to overwrite it? QPrintDialogX%1 is een map. Kies een andere bestandsnaam.7%1 is a directory. Please choose a different file name. QPrintDialog&Opties <<  &Options << QPrintDialog&Opties >> &Options >> QPrintDialog&Printen&Print QPrintDialogA0A0 QPrintDialogA1A1 QPrintDialogA2A2 QPrintDialogA3A3 QPrintDialogA4A4 QPrintDialogA5A5 QPrintDialogA6A6 QPrintDialogA7A7 QPrintDialogA8A8 QPrintDialogA9A9 QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0B0 QPrintDialogB1B1 QPrintDialogB10B10 QPrintDialogB2B2 QPrintDialogB3B3 QPrintDialogB4B4 QPrintDialogB5B5 QPrintDialogB6B6 QPrintDialogB7B7 QPrintDialogB8B8 QPrintDialogB9B9 QPrintDialogC5EC5E QPrintDialogAangepastCustom QPrintDialogDLEDLE QPrintDialogExecutive Executive QPrintDialogHet bestand %1 kan niet worden beschreven. Kies een andere bestandsnaam.=File %1 is not writable. Please choose a different file name. QPrintDialog FolioFolio QPrintDialog LedgerLedger QPrintDialog LegalLegal QPrintDialog LetterLetter QPrintDialogLocaal bestand Local file QPrintDialog<Afdrukken naar een bestand ...Print To File ... QPrintDialog@Afdrukken naar een bestand (PDF)Print to File (PDF) QPrintDialogNAfdrukken naar een bestand (Postscript)Print to File (Postscript) QPrintDialogTabloidTabloid QPrintDialog,US Common #10 EnvelopeUS Common #10 Envelope QPrintDialog$Schrijf %1 bestand Write %1 file QPrintDialog Locaal verbondenlocally connected QPrintDialogonbekendunknown QPrintDialogSluitenCloseQPrintPreviewDialogEerste pagina First pageQPrintPreviewDialog Pagina aanpassenFit pageQPrintPreviewDialog"Breedte aanpassen Fit widthQPrintPreviewDialogLiggend LandscapeQPrintPreviewDialogLaatste pagina Last pageQPrintPreviewDialogVolgende pagina Next pageQPrintPreviewDialog"Pagina instelling Page SetupQPrintPreviewDialog"Pagina instelling Page setupQPrintPreviewDialog StaandPortraitQPrintPreviewDialogVorige pagina Previous pageQPrintPreviewDialog PrintPrintQPrintPreviewDialogPrint voorbeeld Print PreviewQPrintPreviewDialog<Geef gespiegelde pagina's weerShow facing pagesQPrintPreviewDialogHGeef een overzicht met alle pagina'sShow overview of all pagesQPrintPreviewDialog8Geeft een enkele pagina weerShow single pageQPrintPreviewDialogInzoomenZoom inQPrintPreviewDialogUitzoomenZoom outQPrintPreviewDialogGeavanceerdAdvancedQPrintPropertiesWidgetFormulierFormQPrintPropertiesWidget PaginaPageQPrintPropertiesWidgetSorterenCollateQPrintSettingsOutput KleurColorQPrintSettingsOutputKleur modus Color ModeQPrintSettingsOutputKopienCopiesQPrintSettingsOutputKopien:Copies:QPrintSettingsOutput(Dubbelzijdig printenDuplex PrintingQPrintSettingsOutputFormulierFormQPrintSettingsOutputGrijswaarden GrayscaleQPrintSettingsOutputLange zijde Long sideQPrintSettingsOutputGeenNoneQPrintSettingsOutput OptiesOptionsQPrintSettingsOutput(Uitvoer instellingenOutput SettingsQPrintSettingsOutputVanaf pagina Pages fromQPrintSettingsOutputAlles printen Print allQPrintSettingsOutputPrint bereik Print rangeQPrintSettingsOutputOmgedraaidReverseQPrintSettingsOutputSelectie SelectionQPrintSettingsOutputKorte zijde Short sideQPrintSettingsOutputtottoQPrintSettingsOutput &Naam:&Name: QPrintWidget...... QPrintWidgetFormulierForm QPrintWidgetLocatie: Location: QPrintWidget Uitvoer&bestand: Output &file: QPrintWidget&Eigenschappen P&roperties QPrintWidgetVoorbeeldPreview QPrintWidgetPrinterPrinter QPrintWidget Type:Type: QPrintWidgetAnnulerenCancelQProgressDialog OpenenOpen QPushButtonControleerCheck QRadioButtonBVerkeerd teken in zinsbouw klassebad char class syntaxQRegExpJVerkeerde zinsbouw voor vooruitkijkenbad lookahead syntaxQRegExp<Verkeerde zinsbouw herhalingenbad repetition syntaxQRegExp:Gedeactiveerde optie gebruiktdisabled feature usedQRegExp0Ongeldige octale waarde invalid octal valueQRegExp,Interne limiet bereiktmet internal limitQRegExp,Mist linker begrenzingmissing left delimQRegExp(Geen fout opgetredenno error occurredQRegExp Onverwacht eindeunexpected endQRegExp6Kan de database niet openenError to open databaseQSQLite2Driver>Kan de transactie niet beginnenUnable to begin transactionQSQLite2DriverBKan de transactie niet bevestigenUnable to commit transactionQSQLite2DriverFKan de transactie niet terugdraaienUnable to rollback TransactionQSQLite2Driver@Kan de instructie niet uitvoerenUnable to execute statementQSQLite2Result<Kan het resultaat niet ophalenUnable to fetch resultsQSQLite2Result8Kan de database niet sluitenError closing database QSQLiteDriver6Kan de database niet openenError opening database QSQLiteDriverFKan niet beginnen met de transactieUnable to begin transaction QSQLiteDriverBKan de transactie niet bevestigenUnable to commit transaction QSQLiteDriverFKan de transactie niet terugdraaienUnable to rollback transaction QSQLiteDriver"Geen zoekopdrachtNo query QSQLiteResult@Het aantal parameters klopt nietParameter count mismatch QSQLiteResult4Kan geen parameters bindenUnable to bind parameters QSQLiteResult@Kan de instructie niet uitvoerenUnable to execute statement QSQLiteResult.Kan de rij niet ophalenUnable to fetch row QSQLiteResult@Kan de opdracht niet terugzettenUnable to reset statement QSQLiteResult OnderBottom QScrollBarLinker rand Left edge QScrollBarLijn onder?? Line down QScrollBarRangschikkenLine up QScrollBar.Een pagina naar beneden Page down QScrollBar*Een pagina naar links Page left QScrollBar,Een pagina naar rechts Page right QScrollBar"Een pagina omhoogPage up QScrollBarPositiePosition QScrollBarRechter rand Right edge QScrollBar&Naar onder scrollen Scroll down QScrollBarHier scrollen Scroll here QScrollBar&Naar links scrollen Scroll left QScrollBar(Naar rechts scrollen Scroll right QScrollBar&Naar boven scrollen Scroll up QScrollBar bovenTop QScrollBar%1: bestaat al%1: already exists QSharedMemoryB%1: aanmaakgrote is kleiner dan 0%1: create size is less then 0 QSharedMemory %1: bestaat niet%1: doesn't exists QSharedMemory0%1: ftok aanroep mislukt%1: ftok failed QSharedMemory&%1: sleutel is leeg%1: key is empty QSharedMemory$%1: niet gekoppeld%1: not attached QSharedMemory2%1: geen hulpbronnen meer%1: out of resources QSharedMemory(%1: geen toestemming%1: permission denied QSharedMemory`%1: door systeem afgedwongen limiet op de omvang$%1: system-imposed size restrictions QSharedMemory(%1: kan niet sluiten%1: unable to lock QSharedMemory:%1: kan geen sleutel aanmaken%1: unable to make key QSharedMemoryN%1: kan geen sleutel op het slot zetten%1: unable to set key on lock QSharedMemory&%1: kan niet openen%1: unable to unlock QSharedMemoryP%1: het unix sleutelbestand bestaat niet %1: unix key file doesn't exists QSharedMemory*%1: onbekende fout %2%1: unknown error %2 QSharedMemory++ QShortcutAltAlt QShortcut TerugBack QShortcutBackspace Backspace QShortcutTab terugBacktab QShortcutBass boost Bass Boost QShortcutBass <- Bass Down QShortcutBass ->Bass Up QShortcutAanroepCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutContext1Context1 QShortcutContext2Context2 QShortcutContext3Context3 QShortcutKontext4Context4 QShortcutCtrlCtrl QShortcutDelDel QShortcut DeleteDelete QShortcutNaar benedenDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavorieten Favorites QShortcutOmdraaienFlip QShortcutVooruitForward QShortcutOphangenHangup QShortcutHelpHelp QShortcutHomeHome QShortcutStartpagina Home Page QShortcutInsIns QShortcut InsertInsert QShortcutStart (0) Launch (0) QShortcutStart (1) Launch (1) QShortcutStart (2) Launch (2) QShortcutStart (3) Launch (3) QShortcutStart (4) Launch (4) QShortcutStart (5) Launch (5) QShortcutStart (6) Launch (6) QShortcutStart (7) Launch (7) QShortcutStart (8) Launch (8) QShortcutStart (9) Launch (9) QShortcutStart (A) Launch (A) QShortcutStart (B) Launch (B) QShortcutStart (C) Launch (C) QShortcutStart (D) Launch (D) QShortcutStart (E) Launch (E) QShortcutStart (F) Launch (F) QShortcutStart mail Launch Mail QShortcut$Start media speler Launch Media QShortcut LinksLeft QShortcutVolgende Media Next QShortcutAfspelen Media Play QShortcut VorigeMedia Previous QShortcutOpnemen Media Record QShortcutStoppen Media Stop QShortcutMenuMenu QShortcutMetaMeta QShortcutNeeNo QShortcutNum LockNum Lock QShortcutNumLockNumLock QShortcutNumber Lock Number Lock QShortcutOpen URLOpen URL QShortcutPage Down Page Down QShortcutPage UpPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcut$Druk het scherm af Print Screen QShortcutVerversenRefresh QShortcut ReturnReturn QShortcut RechtsRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcut ZoekenSearch QShortcutselecterenSelect QShortcut ShiftShift QShortcut SpatieSpace QShortcutStand-byStandby QShortcutStoppenStop QShortcut SysReqSysReq QShortcutSystem RequestSystem Request QShortcutTabTab QShortcuttoon hoogte <- Treble Down QShortcuttoon hoogte -> Treble Up QShortcut OmhoogUp QShortcutVolume <- Volume Down QShortcutVolume uit Volume Mute QShortcutVolume -> Volume Up QShortcutJaYes QShortcut.Een pagina naar beneden Page downQSlider*Een pagina naar links Page leftQSlider,Een pagina naar rechts Page rightQSlider"Een pagina omhoogPage upQSliderPositiePositionQSliderXTijdslimiet verlopen bij de netwerk operatieNetwork operation timed outQSocks5SocketEngineSocks5 tijdslimiet verlopen tijdens verdinging zoeken met de socks server/Socks5 timeout error connecting to socks serverQSocks5SocketEngine MinderLessQSpinBoxMeerMoreQSpinBoxAnnulerenCancelQSql,Wijzigingen annuleren?Cancel your edits?QSqlBevestigenConfirmQSqlVerwijderenDeleteQSql.Dit record verwijderen?Delete this record?QSqlInvoegenInsertQSqlNeeNoQSql(Wijzigingen opslaan? Save edits?QSqlBijwerkenUpdateQSqlJaYesQSql^Kan geen certificaat leveren zonder sleutel, %1,Cannot provide a certificate with no key, %1 QSslSocketZFout bij het aanmaken van de SSL context (%1)Error creating SSL context (%1) QSslSocketVFout bij het aanmaken van de SSL sessie, %1Error creating SSL session, %1 QSslSocketVFout bij het aanmaken van de SSL sessie: %1Error creating SSL session: %1 QSslSocketHFout tijdens de SSL uitwisseling: %1Error during SSL handshake: %1 QSslSocketbFout bij het laden van het locale certificaat, %1#Error loading local certificate, %1 QSslSocketVFout bij het laden van de prive sleutel, %1Error loading private key, %1 QSslSocket4Fout bij het lezen van: %1Error while reading: %1 QSslSocketFOngeldige of lege sleutellijst (%1)!Invalid or empty cipher list (%1) QSslSockethPrive sleutel certificeerd geen publieke sleutel, %1/Private key does not certificate public key, %1 QSslSocketJKan de gegevens niet wegschrijven: %1Unable to write data: %1 QSslSocket>Kan de verbinding niet openen 'Unable to open connection QTDSDriver<Kan de database niet gebruikenUnable to use database QTDSDriver&Naar links scrollen Scroll LeftQTabBar(Naar rechts scrollen Scroll RightQTabBar&Kopiren&Copy QTextControl&Plakken&Paste QTextControlOp&nieuw&Redo QTextControl&Ongedaan maken&Undo QTextControl0Kopier &link en locatieCopy &Link Location QTextControl&KnippenCu&t QTextControlVerwijderenDelete QTextControl Alles selecteren Select All QTextControl OpenenOpen QToolButtonDruk opPress QToolButtonDDit platform ondersteund geen IPv6#This platform does not support IPv6 QUdpSocketOpnieuwRedo QUndoGroupOngedaan makenUndo QUndoGroup <leeg> QUndoModelOpnieuwRedo QUndoStackOngedaan makenUndo QUndoStackFVoeg een unicode controle teken toe Insert Unicode control characterQUnicodeControlCharacterMenuRLRE Start van links-naar-rechts imbedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu>LRM Links-naar-rechts markeringLRM Left-to-right markQUnicodeControlCharacterMenuTLRO Start van links-naar-rechts tenietdoen#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu:PDF Pop richtingsformatteringPDF Pop directional formattingQUnicodeControlCharacterMenuRRLE Start van rechts-naar-links imbedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu>RLM Rechts-naar-links markeringRLM Right-to-left markQUnicodeControlCharacterMenuTRLO Start van rechts-naar-links tenietdoen#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu8ZWJ Koppelaar zonder breedteZWJ Zero width joinerQUnicodeControlCharacterMenuDZWNJ Niet-koppelaar zonder breedteZWNJ Zero width non-joinerQUnicodeControlCharacterMenu4ZWSP Spatie zonder breedteZWSP Zero width spaceQUnicodeControlCharacterMenuFDer URL kann nicht angezeigt werdenCannot show URL QWebFrame@Kan het mime type niet weergevenCannot show mimetype QWebFrame(Bestand bestaat nietFile does not exist QWebFrameLaden van het frame onderbroken door een wijziging in het beleid&Frame load interruped by policy change QWebFrame&verzoek geblokkeerdRequest blocked QWebFrame&Verzoek geannuleerdRequest cancelled QWebFrame"%1 (%2x%3 pixels)%1 (%2x%3 pixels)QWebPage(Aan de map toevoegenAdd To DictionaryQWebPage*Ongeldig HTTP verzoekBad HTTP requestQWebPageVetBoldQWebPageHControleer gramatica met de spellingCheck Grammar With SpellingQWebPage&Controleer spellingCheck SpellingQWebPageJControleer spelling tijdens het typenCheck Spelling While TypingQWebPageKies bestand Choose FileQWebPage6Recente zoekvragen opruimenClear recent searchesQWebPageKopirenCopyQWebPageKopier plaatje Copy ImageQWebPageKopier link Copy LinkQWebPageKnippenCutQWebPageStandaardDefaultQWebPageRichting DirectionQWebPageLettertypenFontsQWebPageGa terugGo BackQWebPageGa vooruit Go ForwardQWebPage:Verberg spelling en gramaticaHide Spelling and GrammarQWebPageNegerenIgnoreQWebPageNegeren Ignore Grammar context menu itemIgnoreQWebPageInspecterenInspectQWebPageCursiefItalicQWebPage*Van links naar rechtsLTRQWebPage6In het woordenboek opzoekenLook Up In DictionaryQWebPage.Geen schatting gevondenNo Guesses FoundQWebPage2Geen bestand geselecteerdNo file selectedQWebPage.Geen recente zoekvragenNo recent searchesQWebPageFrame openen Open FrameQWebPagePlaatje openen Open ImageQWebPageLink openen Open LinkQWebPage6Openen in een nieuw vensterOpen in New WindowQWebPageOutlineOutlineQWebPagePlakkenPasteQWebPage*Van rechts naar linksRTLQWebPage$Recente zoekvragenRecent searchesQWebPageOpnieuw ladenReloadQWebPageTerugzettenResetQWebPagePlaatje opslaan Save ImageQWebPageLink opslaan... Save Link...QWebPage Doorzoek het WebSearch The WebQWebPage>Geef spelling en gramatica weerShow Spelling and GrammarQWebPageSpellingSpellingQWebPageStopStopQWebPageVoorleggenSubmitQWebPageVoorleggenQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPage`Deze index is te doorzoeken.Geef trefwoorden op:3This is a searchable index. Enter search keywords: QWebPageOnderstrepen UnderlineQWebPageOnbekendUnknownQWebPage&Web Inspecteur - %2Web Inspector - %2QWebPageWat is dit? What's This?QWhatsThisAction**QWidget &Klaar&FinishQWizard &Help&HelpQWizard&Volgende&NextQWizard&Volgende >&Next >QWizard< &Terug< &BackQWizardAnnulerenCancelQWizardAnwendenCommitQWizardDoorgaanContinueQWizard KlaarDoneQWizard VorigeGo BackQWizardHelpHelpQWizardBeendenQuitQWizard%1 - [%2] %1 - [%2] QWorkspace&Sluiten&Close QWorkspace&Verplaatsen&Move QWorkspace&Terugzetten&Restore QWorkspace&Omvang&Size QWorkspace&Unshade&Unshade QWorkspaceSluitenClose QWorkspaceMa&ximaliseren Ma&ximize QWorkspaceMi&nimaliseren Mi&nimize QWorkspaceMinimaliserenMinimize QWorkspaceRestore Down Restore Down QWorkspace Sh&adeSh&ade QWorkspace0Op de &Voorgrond blijven Stay on &Top QWorkspaceBij het lezen van de XML declaratie wordt een coderende declaratie of op zichzelf staande declaratie verwachtYencoding declaration or standalone declaration expected while reading the XML declarationQXmlhFout in de tekst declaratie van een externe entiteit3error in the text declaration of an external entityQXmlfFout opgetreden bij het ontleden van het commentaar$error occurred while parsing commentQXml\Fout opgetreden bij het ontleden van de inhoud$error occurred while parsing contentQXmlfout opgetreden bij het ontleden van het document type definitie5error occurred while parsing document type definitionQXmlJFout bij het ontleden van het element$error occurred while parsing elementQXmlNFout bij het ontleden van de referentie&error occurred while parsing referenceQXmlDFout door de consument veroorzaakterror triggered by consumerQXmlin een DTD is geen externe algemene entity referentie toegestaan;external parsed general entity reference not allowed in DTDQXmlin een attribuut waarde is geen externe entiteit referentie toegestaanGexternal parsed general entity reference not allowed in attribute valueQXmlin een DTD is geen interne algemene entity referentie toegestaan4internal general entity reference not allowed in DTDQXmlHOngeldige naam voor procesinstructie'invalid name for processing instructionQXml2Een letter wordt verwachtletter is expectedQXmlTMeerdere definities van het soort document&more than one document type definitionQXml(Geen fout opgetredenno error occurredQXml$recursive entiteitrecursive entitiesQXmlop zichzelf staande declaratie verwacht bij het lezen een XML declaratieAstandalone declaration expected while reading the XML declarationQXml>Verkeerde combinatie met labels tag mismatchQXml Onverwacht tekenunexpected characterQXmlBOnverwachts einde van het bestandunexpected end of fileQXmlpNiet ontlede entiteit referentie in de verkeerde context*unparsed entity reference in wrong contextQXml`Versie verwacht bij het lezen een XML declaratie2version expected while reading the XML declarationQXmlpVerkeerde waarde voor een op zichzelf staande declaratie&wrong value for standalone declarationQXml@%1 is een ongeldige PUBLIEKE id.#%1 is an invalid PUBLIC identifier. QXmlStreamD%1 is een ongeldige coderingsnaam.%1 is an invalid encoding name. QXmlStream`%1 is ongeldige naam voor een proces instructie.-%1 is an invalid processing instruction name. QXmlStream, maar kreeg ' , but got ' QXmlStream>Attribuut opnieuw gedefinieerd.Attribute redefined. QXmlStreamJCoderen van %1 wordt niet ondersteundEncoding %1 is unsupported QXmlStreamNNiet correct gecodeerde inhoud ontdekt.(Encountered incorrectly encoded content. QXmlStreamDEntieit '%1' is niet gedeclareerd.Entity '%1' not declared. QXmlStreamVerwacht  Expected  QXmlStream>Verwacht een teken als gegeven.Expected character data. QXmlStreamXExtra inhoud aan het einde van het document.!Extra content at end of document. QXmlStream@Ongeldige naamruimte declaratie.Illegal namespace declaration. QXmlStream&Ongeldig XML teken.Invalid XML character. QXmlStream&Ongeldige XML naam.Invalid XML name. QXmlStream8Ongeldige XML versie opgave.Invalid XML version string. QXmlStreamPOngeldig attribuut in de XML declaratie.%Invalid attribute in XML declaration. QXmlStreamHOngeldige verwijzing naar een teken.Invalid character reference. QXmlStream$Ongeldig document.Invalid document. QXmlStream4Ongeldige waarde entiteit.Invalid entity value. QXmlStreamTOngeldige naam voor een proces instructie.$Invalid processing instruction name. QXmlStreamTNDATA in de parameter entiteit declaratie.&NDATA in parameter entity declaration. QXmlStreambDe naamruimte voorvoegsel '%1' is niet declareerd"Namespace prefix '%1' not declared QXmlStreamTOpening en afsluit tag komen niet overeen. Opening and ending tag mismatch. QXmlStreamDVoortijdig einde van het document.Premature end of document. QXmlStream>Een recursive entiteit ontdekt.Recursive entity detected. QXmlStreamzVerwijzing naar externe entiteit '%1' in de attribuut waarde.5Reference to external entity '%1' in attribute value. QXmlStreamVReferentie naar niet ontlede entiteit '%1'."Reference to unparsed entity '%1'. QXmlStreamdDe volgorde ']]>' is niet toegestaan in de inhoud.&Sequence ']]>' not allowed in content. QXmlStream^Op zichzelf staand accepteerd alleen ja of nee."Standalone accepts only yes or no. QXmlStream&Start tag verwacht.Start tag expected. QXmlStreamHet op zichzelf staande pseudo attribuut moet na de codering volgen.?The standalone pseudo attribute must appear after the encoding. QXmlStreamOnverwacht ' Unexpected ' QXmlStreamh'%1' wordt niet verwacht in een publieke id literal./Unexpected character '%1' in public id literal. QXmlStreamNDeze XML versie wordt niet ondersteund.Unsupported XML version. QXmlStreamxDe XML declaratie staat niet aan heb begin van het document.)XML declaration not at start of document. QXmlStream~%1 en %2 komen aan het begin en het einde van de regel overeen.,%1 and %2 match the start and end of a line. QtXmlPatterns@%1 kan niet terug gehaald worden%1 cannot be retrieved QtXmlPatterns%1 is een complex soort. Overgaan naar een complex soort is niet mogelijk. Hoewel overgaan van zeer kleine soorten zoals %2 werkt.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns"%1 is ongeldig %2%1 is an invalid %2 QtXmlPatterns%1 is een ongeldige vlag voor een reguliere expressie. Geldige vlaggen zijn:?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsF%1 is een ongeldige naamruimte URI.%1 is an invalid namespace URI. QtXmlPatternsf%1 is een ongeldige reguliere expressie patroon: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatterns@%1 is een onbekend soort schema.%1 is an unknown schema type. QtXmlPatternsB%1 is een ongeldig XML 1.0 teken.$%1 is not a valid XML 1.0 character. QtXmlPatterns%1 is geen geldige naam voor een proces instructie. Daarom zal deze naam test nooit werken._%1 is not a valid name for a processing-instruction. Therefore this name test will never match. QtXmlPatternsH%1 is geen geldige numerike literal."%1 is not a valid numeric literal. QtXmlPatterns%1 is geen geldige doelnaam in een proces instructie. Deze moet %2 waarde zijn, bijvoorbeeld %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsX%1 is een ongeldige waarde van het soort %2.#%1 is not a valid value of type %2. QtXmlPatternsJ%1 is geen geheel getal voor minuten.$%1 is not a whole number of minutes. QtXmlPatterns%1 is geen zeer kleine soort. Overgaan is alleen mogeijk naar zeer kleine soorten.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 valt niet in het bereik van de attribuut declaraties. Let op: het kenmerk "schema import" wordt niet ondersteund.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatternsd%1 is niet geldig als een waarde van het soort %2.&%1 is not valid as a value of type %2. QtXmlPatternsZ%1 komt overeen met tekens voor nieuwe regels%1 matches newline characters QtXmlPatterns%1 moet gevolgd worden door %2 of %3; maar niet aan het einde van een vervangende reeks.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatternsv%1 vereist tenminste %n argument(en) %2 is daarom ongeldig.v%1 vereist tenminste %n argument(en) %2 is daarom ongeldig.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatternsx%1 heeft ten hoogste %n argument(en). %2 is daarom ongeldig.x%1 heeft ten hoogste %n argument(en). %2 is daarom ongeldig.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns&%1 was aangeroepen.%1 was called. QtXmlPatternsFEen commentaar kan geen %1 bevattenA comment cannot contain %1 QtXmlPatternsNEen commentaar kan niet op %1 eindigen.A comment cannot end with a %1. QtXmlPatternsEen standaard naamruimte declaratie moet bestaan voor een functie, variabele en optie declaraties.^A default namespace declaration must occur before function, variable, and option declarations. QtXmlPatternsEen directe element constructor is niet goed gevormeerd. %1 eindigt met %2.EA direct element constructor is not well-formed. %1 is ended with %2. QtXmlPatternsVEen functie met handtekening %1 bestaat al.0A function already exists with the signature %1. QtXmlPatternsEen bibliotheek module kan niet direct gevalueerd worden. Deze moet via een hoofd module gemporteerd worden.VA library module cannot be evaluated directly. It must be imported from a main module. QtXmlPatternsEen positioneel gezegde moet evalueren naar een enkele numerieke waarde.?A positional predicate must evaluate to a single numeric value. QtXmlPatternsEen waarde van het soort %1 kan geen gezegde zijn. Een gezegde moet of een numerieke soort of een effectieve booleanse waarde soort hebben.yA value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. QtXmlPatternsEn waarde van het soort %1 kan geen effectieve booleanse waarde hebben.:A value of type %1 cannot have an Effective Boolean Value. QtXmlPatternsEen waarde van het soort %1 moet een even aantal getallen bevatten. De waarde %2 heeft dat niet.PA value of type %1 must contain an even number of digits. The value %2 does not. QtXmlPatternsEen variabele met de naam %1 is al gedeclareerd in de inleiding.>A variable by name %1 has already been declared in the prolog. QtXmlPatternsEen zone uitloper moet binnen de reeks %1..%2 (inklusief) vallen. %3 valt buiten het bereik.HA zone offset must be in the range %1..%2 inclusive. %3 is out of range. QtXmlPatternsEen %1 attribuut moest een geldige %2 als waarde hebben en dat is niet %3.>An %1-attribute must have a valid %2 as value, which %3 isn't. QtXmlPatternsjEen %1 attribuut met de waarde %2 is al gedeclareerd.8An %1-attribute with value %2 has already been declared. QtXmlPatternsEen argument met de naam %1 is al gedeclareerd. Elke naam van een argument moet uniek zijn.UAn argument by name %1 has already been declared. Every argument name must be unique. QtXmlPatterns|Een attribuut met de naam %1 is al voorgekomen op dit element.=An attribute by name %1 has already appeared on this element. QtXmlPatterns\Een attribuut met de naam %1 is al aangemaakt.1An attribute by name %1 has already been created. QtXmlPatternsEen attribuut node kan geen kind zijn van een document node. Daarom is het attribuut %1 niet op zijn plaats.dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatternsVTenminste n component moet aanwezig zijn.'At least one component must be present. QtXmlPatterns~Tenminste n tijd component moet voorkomen na de %1 begrenzer.?At least one time component must appear after the %1-delimiter. QtXmlPatternsAttribuut %1 kan niet geserialiseerd worden omdat deze op het hoogste niveau voortkomt.EAttribute %1 can't be serialized because it appears at the top level. QtXmlPatternsOvergaan naar %1 is niet mogelijk omdat dit een abstracte soort is en kan daarom nooit geconcretiseerd worden.fCasting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. QtXmlPatternsBDag %1 is ongeldig voor maand %2.Day %1 is invalid for month %2. QtXmlPatternsFDag %1 valt buiten de reeks %2..%3.#Day %1 is outside the range %2..%3. QtXmlPatternsDelen van een waarde van het soort %1 door %2 (geen getal) is niet toegestaan.@Dividing a value of type %1 by %2 (not-a-number) is not allowed. QtXmlPatternsDelen van een waarde van het soort %1 door %2 of %3 (plus of min nul) is niet toegestaan.LDividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. QtXmlPatternsfDe deling (%1) door nul (%2) is niet gedefinieerd.(Division (%1) by zero (%2) is undefined. QtXmlPatternsEen effectieve boolsche waarde kan niet worden berekend voor een serrie die meer dan twee zeer kleine waarden bevat.aEffective Boolean Value cannot be calculated for a sequence containing two or more atomic values. QtXmlPatternsElement %1 kan niet geserialiseerd worden omdat buiten het document element voorkomt.OElement %1 can't be serialized because it appears outside the document element. QtXmlPatternsRDe overgang van %1 naar %2 is mislukt: %3&Failure when casting from %1 to %2: %3 QtXmlPatternsHebben beide waarden zone uitlopers, dan moeten ze dezelfde zone uitloper hebben. %1 en %2 zijn niet hetzelfde.bIf both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. QtXmlPatternsJIs het eerste argument lege volgorde of een reeks met lengte nul (geen naamruimte), dan kan geen voorvoegsel worden gespecificeerd. Voorvoegsel %1 is gespecificeerd.If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatternsIn de vervangende reeks kan %1 alleen worden gebruikt om zichzelf in te dekken of %2 maar niet %3MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatternsIn de vervangende reeks moet %1 gevolgd worden door tenminste n cijfer als deze niet door een escape teken wordt gedekt.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatternsDe deling met gehele getallen (%1) door nul (%2) is niet gedefinieerd.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternspHet is niet mogelijk om voorvoegsel %1 opnieuw te binden+It is not possible to bind to the prefix %1 QtXmlPatternspHet is niet mogelijk om %1 over te laten gaan vanuit %2.)It is not possible to cast from %1 to %2. QtXmlPatternszHet is niet mogelijk om voorvoegsel %1 opnieuw te declareren.*It is not possible to redeclare prefix %1. QtXmlPatternsThet is niet mogelijk om %1 terug te halen.'It will not be possible to retrieve %1. QtXmlPatternsHet is niet mogelijk om attributen toe te voegen na enig ander soort node.AIt's not possible to add attributes after any other kind of node. QtXmlPatternsHet is niet mogelijk om de waarde %1 van soort %2 over te laten gaan naar %37It's not possible to cast the value %1 of type %2 to %3 QtXmlPatternsZOvereenkomsten zijn niet hoofdletter gevoeligMatches are case insensitive QtXmlPatternsModule import moet voorkomen voor functie, variabele en optie declaraties.MModule imports must occur before function, variable, and option declarations. QtXmlPatternsrDe modulo deling (%1) door nul (%2) is niet gedefinieerd.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatternsPDe maand %1 valt buiten de reeks %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatternsVermenigvuldigen van een waarde van het soort %1 met %2 of %3 (plus of min oneindig) is niet toegestaan.YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsNaamruimte %1 kan alleen gebonden worden aan %2 (en is in elk geval voorgedeclareerd).ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsNaamruimte declaaraties moet voorkomen voor functie, variabele en optie declaraties.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatternsPTijdslimiet van het netwerk is verlopen.Network timeout. QtXmlPatternshEen overgang is niet mogelijk met %1 als doel soort.2No casting is possible with %1 as the target type. QtXmlPatternshMet soort %1 zijn geen vergelijkingen uit te voeren.1No comparisons can be done involving the type %1. QtXmlPatternsExterne funkties worden niet ondersteund. Alle ondersteunde functies kunnen direct worden gebruikt zonder deze als extern te declareren{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatternsXEen functie met naam %1 is niet beschikbaar.$No function by name %1 is available. QtXmlPatternsXGeen functie beschikbaar met handtekening %1*No function with signature %1 is available QtXmlPatternsvEen naamruimte binding bestaat niet voor het voorvoegsel %1-No namespace binding exists for the prefix %1 QtXmlPatternsEen naamruimte binding bestaat niet voor het voorvoegsel %1 in %23No namespace binding exists for the prefix %1 in %2 QtXmlPatternsGeen operand bij deling %1, van gehele getallen, kan een %2 zijin.1No operand in an integer division, %1, can be %2. QtXmlPatternsVoor de externe variabele met de naam %1 is geen waarde beschikbaar.;No value is available for the external variable by name %1. QtXmlPatternsJEen variabele met naam %1 betaat nietNo variable by name %1 exists QtXmlPatternsGeen van de pragmatische expressies worden ondersteund. Daarom moet een terugval expressie aanwezig zijn^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatternsMaar n %1 declaratie kan voorkomen in de inleiding van een zoekvraag.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsAlleen de Unicode codepunt samenwerking wordt ondersteund (%1). %2 wordt niet ondersteund.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsAlleen voorvoegsel %1 kan gedeclareerd worden om te binden met naamruimte %2. Standaard is deze al gebonden met voorvoegsel %1.nOnly the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. QtXmlPatternsOperator %1 kan niet gebruikt worden op zeer kleine waarden van de soorent %2 en %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatternsdOperator %1 kan niet worden gebruikt bij soort %2.&Operator %1 cannot be used on type %2. QtXmlPatternsOperator %1 is niet beschikbaar voor zeer kleine waarden van het soort %2 en %3.EOperator %1 is not available between atomic values of type %2 and %3. QtXmlPatternsRKan datum %1 niet weergeven (loopt over)."Overflow: Can't represent date %1. QtXmlPatternsRKan de datum niet weergeven (loopt over).$Overflow: Date can't be represented. QtXmlPatternsVoorvoegsel %1 kan alleen gebonden worden aan %2 (en is in elk geval voorgedeclareerd).LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsdVoorvoegsel %1 is al gedeclareerd in de inleiding.,Prefix %1 is already declared in the prolog. QtXmlPatternsHet opwaarderen van %1 maar %2 kan verlies van de nauwkeurigheid veroorzaken./Promoting %1 to %2 may cause loss of precision. QtXmlPatterns^Het vereiste hoofdtelwoord is %1 maar kreeg %2./Required cardinality is %1; got cardinality %2. QtXmlPatternsZHet vereiste soort is %1 maar %2 is gevonden.&Required type is %1, but %2 was found. QtXmlPatternsZDe %1 as wordt niet ondersteund in een XQuery$The %1-axis is unsupported in XQuery QtXmlPatternsDe import kenmerken, voor het schema, wordt niet ondersteund en daarom kunnen declaraties %1 niet voorkomen.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatternsHet kenmerk "schema validatie" wordt niet ondersteund. Daarom mogen %1 expressies niet worden gebruikt. VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatternsDe gegevens van een proces instructie kunnen niet de reeks %1 bevattenAThe data of a processing instruction cannot contain the string %1 QtXmlPatternsZDe standaard verzameling is niet gedefinieerd#The default collection is undefined QtXmlPatternsDe codering %1 is ongeldig. Deze mag alleen latijnse tekens bevatten, geen witruimte en moet overeenkomen met de reguliere expressie %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatternstHet eerste argument van %1 kan niet van het soort %2 zijn..The first argument to %1 cannot be of type %2. QtXmlPatternsHet eerste argument van %1 kan niet van het soort %2 zijn. Het moet numeriek, xs:jaarMaandDuur of xs:dagTijdDuur, zijn.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatternsHet eerste argument van %1 kan niet van het soort %2 zijn. Het moet van het soort %3, %4 of %5 zijn.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatternsDe eerste operand in een deling met gehele getallen, %1, kan niet oneindig zijn (%2).FThe first operand in an integer division, %1, cannot be infinity (%2). QtXmlPatterns<De focus in niet gedefinieerd.The focus is undefined. QtXmlPatternspDe initialisering van variabele %1 hangt van zichzelf af3The initialization of variable %1 depends on itself QtXmlPatternspHet item %1 komt niet overeen met het vereiste soort %2./The item %1 did not match the required type %2. QtXmlPatternsDe laatste stap in een pad moet of nodes of zeer kleine waarden bevatten. En combinatie van de twee kan niet.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsdHet kenmerk "import module" wordt niet ondersteund*The module import feature is not supported QtXmlPatternslDe naam %1 heeft verwijst niet naar enig soort schema..The name %1 does not refer to any schema type. QtXmlPatternsDe naam voor een berekend attribuut kan niet de naamruimte URI %1 hebben met de locale naam %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatterns*De naam van de variabele, gebonden in een "for" expressie moet verschillen van de positionele variabele. Daarom botsen de twee variabelen genaamd %1.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatternsDe naam van een aanvullende expressie moet in de naamruimte aanwezig zijn.;The name of an extension expression must be in a namespace. QtXmlPatternsDe naam van een optie moet een voorvoegsel hebben. Er bestaat geen standaard naamruimte voor opties.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatternsjDe naamruimte %1 is gereserveerd. Daarom kunnen eigen gedefineerde functies niet worden gebruikt. Probeer het voorgedefinieerde voorvoegsel %2) deze bestaat voor dit soort gevallen.The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsDe naamruimte URI kan niet een lege reeks zijn als deze gebonden wordt aan voorvoegsel %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsDe naamruimte URI inde naam voor berekende attribuut kan geen %1 zijn.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsEen naamruimte URI moet een constante zijn en kan geen ingesloten expressie zijn.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatterns$De naamruimte for een eige gedefinieerde functie kan niet leeg zijn (probeer een voorgedefinieerd voorvoegsel %1 die voor dit soort zaken bestaat)yThe namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) QtXmlPatternsZDe naamruimte van een zelf gedefinieerde functie, in een biblitheek module, moet overeenkomen met de module naamruimte. Met andere woorden: het moet %1 zijn in plaats van %2The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatternsDe normalisatie vorm %1 wordt niet ondersteund. De ondersteunde vormen zijn %2, %3, %4, %5 ,en "geen", dus de lege reeks (geen normalisatie).The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatternsDe wortel node van het tweede argument voor functie %1 moet een document node zijn. %2 is geen document node.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsHet tweede argument van %1 kan niet van het soort %2 zijn. Het moet van het soort %3, %4 of %5 zijn.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatternsxDe tweede operand in een deling, %1 kan niet null zijn (%2).:The second operand in a division, %1, cannot be zero (%2). QtXmlPatternsDe doelnaam, in een proces instructie, kan geen %1 zijn, in enige combinatie van hoofd- of kleine letters. Daarom is %2 ongeldig.~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. QtXmlPatternsbDe doel naamruimte van een %1 kan niet leeg zijn.-The target namespace of a %1 cannot be empty. QtXmlPatternsFDe variabele %1 wordt niet gebruiktThe variable %1 is unused QtXmlPatterns:Tijd %1:%2:%3.%4 is ongeldig.Time %1:%2:%3.%4 is invalid. QtXmlPatterns24 uurs tijd:%1:%2.%3 zijn ongeldig. Het uur is 24 maar de minuten, seconden en milliseconden zijn niet allemaal 0. _Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatternsTwee attributen voor een naamruimte declaratie hebben dezelfde naam: %1.=B+C,NI.L/R1AT29U39@'A(B(PD(F(H(P) R)TT)V)X)f*$r*X*;;;;lCVH4˵MgwQQgSgZl9JZlm%\4=]t_tl$,֍.wVEVEo=#})# n*%*0Q+K+3JpfGH8J g<Lb.LbLbLbCLbk'LbyPLbM M};bM4N }N.cN8N@NkO;O>/T4T<VW3X|ZYB[ % [ %3[ %9[ %A[ %l[ZG\^Tua.7"u-;Pe01`c.._318.}qFt*Y+]df/~NhOTkJJ0:{{2_A˓'%8e@~] ,.b<\ z=\Dsj([ 2mq]} ~IeI:JX[nzFRvWK4|F %O `yWHA0 n-  /P Lh:>8p#NW$#&:^T:-KiT5ۻ5 5pBr2jy6TV[^b\n(Ėt't_ttuu?uwuuvvWvvvw7woww x, ]M0W-eb}vNDl;WN:e{l:;lsH/ LnFJ / FYsFYuFrozHpVt]ee.ޚK]P Q<>fG6ÌOÎ#Kc056/m#4j%G^G!"C#C-326G6G:mCjmC:zDcK!N2PP:UDX{P}En_]VV\HB5HV+9zn-5e>Z0veq = =zRnz LJ J`mq&n9&nPB,5w8#hDɃNP''z_R`WnRV'ߎj,n߸>Z)DH>r,N0Cw3.344#oAI=UMJNRO_R=tuHuPw,#xJ N_. e608l D7yjAƭ{Ƹ*<:Ȟ譾N#^ ѕA A Db LYn gwD l[~ / D& O ("'w d  :7 C G C4 C9 CA: Cma D4 MT n% p ^n l6 3( 9.H. 5s}\ 5tc} 8Q3 G?nr J ' LZ~J OZO| T> aER c d: d<, d<7; d dL dI" nM qE@$ s/m s(u u~ w  N"ϱ )4 ><7 > > t/K j n ˔K F> ft ] == lS f f A f B f S f V f Y7 f q f 8  u # I Y LJ Xо" Yn ^, h).I +e J ֕l բ o ٷS 8 Q. f y A:6 / &+* ?I By LuN M^ Z$, [c9 vY E ?=a Sq @3 SS g̠ 4 c  e e 5 wn s s sG , ȶ  U ܾ @~^| ƙd k_ ?J y ?@M  T^U T^[ 7wyq Sus? ^ ^} mbDxO nr oq }~ .I P# P~ .a k~{ @ 0~q Er5J.HaMcB:A$$ߎc.{??ErBL&ŭR܎e>OysL|=[ ozhQkL5#n ؾÊDK1r67gcs%+!/ўa/ўC^=Q:YqdBe3SYg^^p;tDXQs|Ȟ\[ Yi~ 2B>@Author AboutDialog">B>G=89 ?5@5:;04Current Translation AboutDialog >7@>1=8: Developer AboutDialog6 >7@>1=8:, :5@V2=8: ?@>5:BCDeveloper, Project Admin AboutDialog><8;:0Error AboutDialog:5 240TBLAO 7=09B8 D09; '%1'.File '%1' could not be found. AboutDialogp=D>@<0FVO ?@> B5 O: ?5@5:;0AB8 KeePassX 7=0E>48BLAO =0:;>2=89 7=0G>: ?@>3@0<8Main Application Icon AboutDialog\?52=VBLAO, I> ?@>3@0<0 2AB0=>2;5=0 ?@028;L=>.2Make sure that the program is installed correctly. AboutDialog#:@0W=AL:0None AboutDialog 0@074OK AboutDialogD0B:8 4;O :@0I>W ?V4B@8<:8 MacOS X"Patches for better MacOS X support AboutDialog><0=40Team AboutDialog >4O:8 Thanks To AboutDialogB V7=V 28?@02;5==O B0 2?@>20465==OVarious fixes and improvements AboutDialog.8709=5@ AB>@V=:8 B5=5B Web Designer AboutDialog@> ?@>3@0<CAboutAboutDlgAppFuncAppFuncAboutDlgAppNameAppNameAboutDlgCopyright (C) 2005 - 2009 ><0=40 KeePassX KeePassX @>7?>2AN46CTBLAO ?V4 ;VF5=7VTN General Public License (GPL) version 2.~Copyright (C) 2005 - 2009 KeePassX Team KeePassX is distributed under the terms of the General Public License (GPL) version 2.AboutDlg >4O:8CreditsAboutDlgVF5=7VOLicenseAboutDlg5@5:;04 TranslationAboutDlg>http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg>40B8 70:;04:C Add BookmarkAddBookmarkDlgAV D09;8 (*) All Files (*)AddBookmarkDlg5@53;O=CB8... Browse...AddBookmarkDlg& 5403C20B8 70:;04:C Edit BookmarkAddBookmarkDlg $09;:File:AddBookmarkDlg4078 40=8E KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlg 0720:Title:AddBookmarkDlg"2B><0B8G=89 4@C: Auto-Type AutoTypeDlgj;0F=VBL ?> 70?8AC, I>1 02B><0B8G=> =04@C:C20B8 9>3>."Click on an entry to auto-type it. AutoTypeDlg @C?0Group AutoTypeDlg8KeePassX - 2B><0B8G=89 4@C:KeePassX - Auto-Type AutoTypeDlg 0720Title AutoTypeDlg <'O :>@8ABC20G0Username AutoTypeDlgN'%1' =5?@028;L=5 7=0G5==O FV;>3> G8A;0. '%1' is not valid integer value.CDbSettingsDlgFAES(Rijndael): 256 1VB (B8?>289)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg><8;:0ErrorCDbSettingsDlg 0@074OKCDbSettingsDlgbC4L ;0A:0, 287=0GB5 :V;L:VABL F8:;V2 H8@2C20==O.1Please determine the number of encryption rounds.CDbSettingsDlg0;0HBC20==OSettingsCDbSettingsDlgdV;L:VABL F8:;V2 H8D@C20==O <0T 1CB8 1V;LH>N 70 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 1VBTwofish: 256 BitCDbSettingsDlg0AB5@565==OWarningCDbSettingsDlg %1 1VB%1 Bit CEditEntryDlg1 <VAOFL1 Month CEditEntryDlg1 B8645=L1 Week CEditEntryDlg 1 @V:1 Year CEditEntryDlg2 B86=V2 Weeks CEditEntryDlg2 <VAOFV3 Months CEditEntryDlg3 B86=V3 Weeks CEditEntryDlg6 <VAOFV26 Months CEditEntryDlg&>40B8 4>;CG5==O...Add Attachment... CEditEntryDlg0;5=40@... Calendar... CEditEntryDlg45 240TBLAO 2V4:@8B8 D09;.Could not open file. CEditEntryDlg&840;8B8 4>;CG5==O?Delete Attachment? CEditEntryDlg  5403C20B8 70?8A Edit Entry CEditEntryDlg><8;:0Error CEditEntryDlg,><8;:0 G8B0==O D09;C.Error while writing the file. CEditEntryDlg>289 70?8A New Entry CEditEntryDlgV, A:0AC20B8 No, Cancel CEditEntryDlg 0@074OK CEditEntryDlg0@>;L B0 ?>B2>@=> 22545=89 ?0@>;L =5 71V30NBLAO. C4L ;0A:0, ?5@52V@B5 I> =04@C:C20;8.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg*15@53B8 4>;CG5==O...Save Attachment... CEditEntryDlgX81@0=89 70?8A =5 <0T 4>;CG5=L 01> ?>@>6=V9.2The chosen entry has no attachment or it is empty. CEditEntryDlg!L>3>4=VToday CEditEntryDlg0AB5@565==OWarning CEditEntryDlg"0:Yes CEditEntryDlgb8 2?52=5=V, I> E>G5B5 2840;8B8 4>;CG5==O 70?8AC?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg"[0?8A 157 =0728][Untitled Entry] CEditEntryDlg %1 1VB%1 Bits CGenPwDialog"5=5@0B>@ ?0@>;V2Password Generator CGenPwDialogD$09; %1 =5 <>65 1CB8 7020=B065=89.%1: File could not be loaded.CSelectIconDlg.>40B8 =5B8?>289 7=0G>:Add Custom IconCSelectIconDlg >40B8 7=0G:8... Add Icons...CSelectIconDlgX!B0;0AO ?><8;:0 ?V4 G0A 7020=B065==O 7=0G:0:+An error occured while loading the icon(s):CSelectIconDlgX!B0;0AO ?><8;:0 ?V4 G0A 7020=B065==O 7=0G:0.(An error occured while loading the icon.CSelectIconDlg840;8B8DeleteCSelectIconDlg><8;:0ErrorCSelectIconDlg>1@065==O (%1) Images (%1)CSelectIconDlg81@0B8PickCSelectIconDlg0<V=8B8... Replace...CSelectIconDlg 815@VBL B5:C...Select a directory... CSettingsDlg8815@VBL 28:>=C20=89 D09;...Select an executable... CSettingsDlg0;0HBC20==OSettings CSettingsDlg!8AB5<=0 <>20System Language CSettingsDlg0;5=40@CalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">8?04:>2V 40=V CA?VH=> 7V1@0=V!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg&18@0TBLAO 5=B@>?VO... C4L ;0A:0, @CE09B5 <8H:>N 01> =0B8A:09B5 @V7=V :;02VHV ?>:8 =5 718@5BLAO 4>AB0BAO 5=B@>?VO 4;O 35=5@0B>@0 28?04:>28E G8A5;.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg1V@ 5=B@>?VWEntropy CollectionCollectEntropyDlg45=5@0B>@ 28?04:>28E G8A5;Random Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialog0720 4>;CG5==OAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialog 8@=89BoldCustomizeDetailViewDialogCCCustomizeDetailViewDialog>A5@548=VCenteredCustomizeDetailViewDialog@8<VB:0CommentCustomizeDetailViewDialog0B0 AB2>@5==O Creation DateCustomizeDetailViewDialog V0;>3DialogCustomizeDetailViewDialog00B0 B5@<V=C ?@840B=>ABVExpiration DateCustomizeDetailViewDialog >7<V@ H@8DB0 Font SizeCustomizeDetailViewDialog @C?0GroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialog C@A82ItalicCustomizeDetailViewDialog> H8@8=V JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog.0B0 >AB0==L>3> 4>ABC?CLast Access DateCustomizeDetailViewDialog(0=0 >AB0==L>W 7<V=8Last Modification DateCustomizeDetailViewDialog(8@V2=N20==O ;V2>@CG Left-AlignedCustomizeDetailViewDialog 0@>;LPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog$ 540:B>@ Rich TextRich Text EditorCustomizeDetailViewDialog*8@V2=N20==O ?@02>@CG Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialog (01;>= TemplatesCustomizeDetailViewDialog>;V@ B5:ABC Text ColorCustomizeDetailViewDialog@'0A 4> :V=FO B5@<V=C ?@840B=>ABVTime till ExpirationCustomizeDetailViewDialog 0720TitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogV4:@5A;5=89 UnderlinedCustomizeDetailViewDialog4@5A0 URLUrlCustomizeDetailViewDialog <'O :>@8ABC20G0UsernameCustomizeDetailViewDialog V:>;8NeverDatabase;3>@8B<: Algorithm:DatabaseSettingsDlgt1G8A;8B8 F8:;8 4;O A5:C=4=>W 70B@8<:8 =0 FL><C :><?'NB5@V6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg.0;0HBC20==O 1078 40=8EDatabase SettingsDatabaseSettingsDlg(8D@C20==O EncryptionDatabaseSettingsDlg8V;L:VABL F8:;V2 H8D@C20==O:Encryption Rounds:DatabaseSettingsDlg@8<VB:0CommentDetailViewTemplate!B2>@5==OCreationDetailViewTemplate!?;820T G0A ExpirationDetailViewTemplate @C?0GroupDetailViewTemplateAB0==V9 4>ABC? Last AccessDetailViewTemplateAB0==O 7<V=0Last ModificationDetailViewTemplate 0@>;LPasswordDetailViewTemplate 0720TitleDetailViewTemplate4@5A0 URLURLDetailViewTemplate <'O :>@8ABC20G0UsernameDetailViewTemplate%1%1EditEntryDialog %1 1VB%1 BitEditEntryDialog>;CG5==O: Attachment:EditEntryDialog@8<VB:0:Comment:EditEntryDialog  5403C20B8 70?8A Edit EntryEditEntryDialog0"5@<V= 4VW 70:V=GCTBLAO:Expires:EditEntryDialog &5=.Ge&n.EditEntryDialog @C?0:Group:EditEntryDialog=0G>::Icon:EditEntryDialog V:>;8NeverEditEntryDialog0@>;L: Password:EditEntryDialog/:VABL:Quality:EditEntryDialog>2B>@5==O:Repeat:EditEntryDialog 0720:Title:EditEntryDialog4@5A0 URL:URL:EditEntryDialog"<'O :>@8ABC20G0: Username:EditEntryDialog>>EditGroupDialog$0;0HBC20==O 3@C?8Group PropertiesEditGroupDialog=0G>::Icon:EditGroupDialog 0720:Title:EditGroupDialog^;0F=VBL 42VGV ?> 70?8AC, I>1 ?5@59B8 4> =L>3>.'Double click on an entry to jump to it.ExpiredEntriesDialog."5@<V= 4VW 70:V=GCTBLAOExpiredExpiredEntriesDialogD0?8A8, B5@<V= 4VW O:8E 70:V=G82AOExpired EntriesExpiredEntriesDialog^0?8A8 2 107V 40=8E, B5@<V= 4VW O:8E 70:V=G82AOExpired Entries in the DatabaseExpiredEntriesDialog @C?0GroupExpiredEntriesDialog 0720TitleExpiredEntriesDialog <'O :>@8ABC20G0UsernameExpiredEntriesDialogAV D09;8 (*) All Files (*)Export_KeePassX_Xml"$09;8 KeePass XMLKeePassX XML FileExport_KeePassX_Xml"$09;8 XML (*.xml)XML Files (*.xml)Export_KeePassX_XmlAV D09;8 (*) All Files (*) Export_Txt"5:AB>289 D09; Text File Export_Txt,"5:AB>2V D09;8 (*.txt)Text Files (*.txt) Export_Txt*><8;:0 5:A?>@BC20==O Export Failed ExporterBase(:A?>@BC20B8 D09;...Export File... ExporterBase2!B0;0AO A5@9>7=0 ?><8;:0.A fatal error occurred. FileErrors,'0A >GV:C20==O 289H>2.A timeout occurred. FileErrorsL!B0;0AO ?><8;:0 ?V4 G0A G8B0==O D09;C..An error occurred while reading from the file. FileErrorsJ!B0;0AO ?><8;:0 ?V4 G0A 70?8AC D09;C.,An error occurred while writing to the file. FileErrors ><8;:0 @5AC@AC.An resource error occurred. FileErrors8!B0;0AO =5287=0G5=0 ?><8;:0.An unspecified error occurred. FileErrors5<0T ?><8;>:.No error occurred. FileErrorsH5 2;0;>AO >B@8<0B8 4>ABC? 4> D09;C.The file could not be accessed. FileErrors65 240;>AO A:>?VN20B8 D09;.The file could not be copied. FileErrors25 240;>AO 2V4:@8B8 D09;.The file could not be opened. FileErrors25 240;>AO 2840;8B8 D09;.The file could not be removed. FileErrors>5 240;>AO 7<V=8B8 =072C D09;C.The file could not be renamed. FileErrors@5 240;>AO 7<V=8B8 @>7<V@ D09;C.The file could not be resized. FileErrorsVO A:0A>20=0.The operation was aborted. FileErrorsL5 240;>AO 7<V=8B8 @>7B0HC20==O D09;C..The position in the file could not be changed. FileErrors&0;V ;VB5@8&Lower LettersGenPwDlg &V=CA&MinusGenPwDlg &'8A;0&NumbersGenPwDlg&&!?5FV0;L=V A8<2>;8&Special CharactersGenPwDlg$&=0: ?V4:@5A;5==O &UnderlineGenPwDlg&5;8:V ;VB5@8&Upper LettersGenPwDlg&@>1V;8 &White SpacesGenPwDlg@18@0B8 BV;L:8 >48= @07 70 A50=ACollect only once per sessionGenPwDlg5B8?>2VCustomGenPwDlg.#2V<:=CB8 71V@ 5=B@>?VWEnable entropy collectionGenPwDlgb?52=8B8AO, I> ?0@>;V <VABOBL A8<2>;8 7 CAVE 3@C?9Ensure that password contains characters from every groupGenPwDlg.8:;NG8B8 AE>6V A8<2>;8Exclude look-alike charactersGenPwDlg5=5@C20B8GenerateGenPwDlg>268=0:Length:GenPwDlg0;V ;VB5@8 Lower LettersGenPwDlg>289 ?0@>;L: New Password:GenPwDlg '8A;0NumbersGenPwDlg0;0HBC20==OOptionsGenPwDlg"5=5@0B>@ ?0@>;V2Password GeneratorGenPwDlg8<>2=V PronounceableGenPwDlg/:VABL:Quality:GenPwDlg8?04:>2VRandomGenPwDlg$!?5FV0;L=V A8<2>;8Special CharactersGenPwDlg5;8:V ;VB5@8 Upper LettersGenPwDlgP8:>@8AB>2C20B8 =0ABC?=V 3@C?8 A8<2>;V2:Use following character groups:GenPwDlgB8:>@8AB>2C20B8 =0ABC?=V A8<2>;8:Use the following characters:GenPwDlg5@H0 AB>@V=:0 First PageHelpDlg<VAB 4>?><>38 Help ContentsHelpDlg"0ABC?=0 AB>@V=:0 Next PageHelpDlg$>?5@54=O AB>@V=:0 Previous PageHelpDlgAV D09;8 (*) All Files (*)Import_KWalletXml4>:C<5=B =5 <VAB8BL 40=8E.Document does not contain data.Import_KWalletXml(><8;:0 V<?>@BC20==O Import FailedImport_KWalletXmlj5?@028;L=V 40=V XML (482VBLAO stdout 4;O ?>4@>18FL).*Invalid XML data (see stdout for details).Import_KWalletXml,5?@028;L=89 D09; XML.Invalid XML file.Import_KWalletXml"$09;8 XML (*.xml)XML Files (*.xml)Import_KWalletXmlAV D09;8 (*) All Files (*)Import_KeePassX_Xml@<?>@BC20==O 7025@H8;>AL =5240;> Import FailedImport_KeePassX_Xml2$09;8 KeePass XML (*.xml)KeePass XML Files (*.xml)Import_KeePassX_Xmlt><8;:0 @>71>@C: D09; =5 T ?@028;L=8< D09;>< XML KeePassX.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_Xml\><8;:0 @>71>@C XML C @O4:C %1, AB>2?FV %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_XmlAV D09;8 (*) All Files (*)Import_PwManagerF!B8A=5=V D09;8 I5 =5 ?V4B@8<CNBLAO.'Compressed files are not supported yet.Import_PwManagerB$09; ?>H:>465=89 (E5H =5 71V3AO).#File is damaged (hash test failed).Import_PwManager$09; ?>@>6=V9.File is empty.Import_PwManagerL$09; =5 T ?@028;L=8< D09;>< PwManager. File is no valid PwManager file.Import_PwManager(><8;:0 V<?>@BC20==O Import FailedImport_PwManagerj5?@028;L=V 40=V XML (482VBLAO stdout 4;O ?>4@>18FL).*Invalid XML data (see stdout for details).Import_PwManager.$09;8 PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManagerH5?V4B@8<C20=89 0;3>@8B< H8D@C20==O.!Unsupported encryption algorithm.Import_PwManager85?V4B@8<C20=0 25@AVO D09;C.Unsupported file version.Import_PwManager<5?V4B@8<C20=89 0;3>@8B< E5HC.Unsupported hash algorithm.Import_PwManager(5?@028;L=89 ?0@>;L.Wrong password.Import_PwManager(><8;:0 V<?>@BC20==O Import Failed ImporterBase&<?>@BC20B8 D09;...Import File... ImporterBase45 240TBLAO 2V4:@8B8 D09;.Could not open file. Kdb3Database5 240;>AO @>7H8D@C20B8. 5?@028;L=89 :;NG 01> D09; ?>H:>465=89.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseN5?@028;L=89 :;NG 01> D09; ?>H:>465=89.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database05?@028;L=5 45@52> 3@C?.Invalid group tree. Kdb3Database;NG ?>@>6=V9.Key file is empty. Kdb3DatabaseN070 40=8E 2V4:@8B0 BV;L:8 4;O G8B0==O.'The database has been opened read-only. Kdb3DatabaseZ070 40=8E <0T <VAB8B8 I>=09<5=H5 >4=C 3@C?C.-The database must contain at least one group. Kdb3DatabaseV5 240;>AO V=VFV0;V7C20B8 0;3>@8B< twofish.+Unable to initialize the twofish algorithm. Kdb3Databaseh5>GV:C20=0 ?><8;:0: 7<VI5==O 70 <560<8 4>?CAB8<>3>.)Unexpected error: Offset is out of range. Kdb3Databaset5A?>4V20=89 @>7<V@ D09;C (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database<52V4><89 0;3>@8B< H8D@C20==O.Unknown Encryption Algorithm. Kdb3Database<52V4><89 0;3>@8B< H8D@C20==O.Unknown encryption algorithm. Kdb3Database85?V4B@8<C20=0 25@AVO D09;C.Unsupported File Version. Kdb3Database&5?@028;L=89 ?V4?8AWrong Signature Kdb3Database109BBytesKdb3Database::EntryHandleGiBKdb3Database::EntryHandle:KiBKdb3Database::EntryHandleMiBKdb3Database::EntryHandleP8 4V9A=> E>G5B5 2840;8B8 FV %1 70?8AV2?1Are you sure you want to delete these %1 entries?KeepassEntryViewH8 4V9A=> E>G5B5 2840;8B8 F59 70?8A?+Are you sure you want to delete this entry?KeepassEntryView~)>=09<5=H5 >4=0 3@C?0 <0T VA=C20B8 ?5@54 B8< O: 4>4020B8 70?8A.5At least one group must exist before adding an entry.KeepassEntryView>;CG5==O AttachmentKeepassEntryView@8<VB:0CommentsKeepassEntryView!B2>@5==OCreationKeepassEntryView840;8B8?Delete?KeepassEntryView><8;:0ErrorKeepassEntryView."5@<V= 4VW 70:V=GCTBLAOExpiresKeepassEntryView @C?0GroupKeepassEntryViewAB0==V9 4>ABC? Last AccessKeepassEntryViewAB0==O 7<V=0 Last ChangeKeepassEntryView 0@074OKKeepassEntryView 0@>;LPasswordKeepassEntryView 0720TitleKeepassEntryView4@5A0 URLURLKeepassEntryView <'O :>@8ABC20G0UsernameKeepassEntryView8 4V9A=> E>G5B5 2840;8B8 FN 3@C?C, 2AV ?V43@C?8 B0 2AV WE 70?8A8?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupView40;8B8?Delete?KeepassGroupView" 57C;LB0B8 ?>HC:CSearch ResultsKeepassGroupView %1 4V1%1 DaysKeepassMainWindow%1 <VAOFV2 %1 MonthsKeepassMainWindow%1 @>:V2%1 YearsKeepassMainWindow6&01;>:C20B8 @>1>GC >1;0ABL&Lock WorkspaceKeepassMainWindow 1 4>101 DayKeepassMainWindow1 <VAOFL1 MonthKeepassMainWindow 1 @V:1 YearKeepassMainWindowAV D09;8 (*) All Files (*)KeepassMainWindow0:@8B8 70?8A Clone EntriesKeepassMainWindow>42>WB8 70?8A Clone EntryKeepassMainWindowT5 240TBLAO AB2>@8B8 lock-D09; 1078 40=8E.#Couldn't create database lock file.KeepassMainWindow5 240;>AO AB2>@8B8 lock-D09;. 070 40=8E 2V4:@820TBLAO BV;L:8 4;O G8B0==O.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowT5 240TBLAO 28;CG8B8 lock-D09; 1078 40=8E.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow,070 40=8E 701;>:>20=0Database lockedKeepassMainWindow840;8B8 70?8A8Delete EntriesKeepassMainWindow840;8B8 70?8A Delete EntryKeepassMainWindow><8;:0ErrorKeepassMainWindow*"5@<V= 4VW 70:V=G82AOExpiredKeepassMainWindow45 240TBLAO 715@53B8 D09;.File could not be saved.KeepassMainWindow4078 40=8E KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow4020=B065==O 1078 40=8E...Loading Database...KeepassMainWindow(><8;:0 7020=B065==OLoading FailedKeepassMainWindow,V4:@8B8 107C 40=8E...Open Database...KeepassMainWindow6V4:@8B8 BV;L:8 4;O G8B0==OOpen read-onlyKeepassMainWindow>B>289ReadyKeepassMainWindow,15@53B8 107C 40=8E...Save Database...KeepassMainWindow.15@53B8 7<V=5=89 D09;?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow:>:070;8 &?0=5;L V=AB@C<5=BV2 Show &ToolbarKeepassMainWindowj>B>G=89 D09; 1C;> 7<V=5=>. 8 E>G5B5 715@53B8 7<V=8??The current file was modified. Do you want to save the changes?KeepassMainWindow2$09; 1078 40=8E =5 VA=CT.!The database file does not exist.KeepassMainWindow070 40=8E, O:C 28 =0<030TB5AL 2V4:@8B8, 701;>:>20=0. &5 >7=0G0T, I> EB>AL 265 2V4:@82 D09; 01> KeePassX =5?@028;L=> 7025@H82 @>1>BC <8=C;>3> @07C, :>;8 2V4:@8202 107C 40=8E. 8 E>G5B5 2V4:@8B8 WW =572060NG8 =V =0 I>?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindown!B0;0AO =0ABC?=0 ?><8;:0, :>;8 2V4:@820;0AO 1070 40=8E:7The following error occured while opening the database:KeepassMainWindow8& >71;>:C20B8 @>1>GC >1;0ABLUn&lock WorkspaceKeepassMainWindowb52V4><0 ?><8;:0 ?V4 G0A 7020=B065==O 1078 40=8E.%Unknown error while loading database.KeepassMainWindow <5=H5 =V6 1 4>10less than 1 dayKeepassMainWindow701;>:>20=0lockedKeepassMainWindow=>20newKeepassMainWindow><8;:0ErrorMain:5 240TBLAO 7=09B8 D09; '%1'.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow &@> ?@>3@0<C... &About... MainWindow&&>40B8 70:;04:C...&Add Bookmark... MainWindow0>40B8 =>2C &?V43@C?C...&Add New Subgroup... MainWindow&0:;04:8 &Bookmarks MainWindow>&42>WB8 70?8A &Clone Entry MainWindow&&0:@8B8 107C 48=8E&Close Database MainWindow&!B>2?FV&Columns MainWindow&@8<VB:0&Comment MainWindow6&0;0HBC20==O 1078 40=8E...&Database Settings... MainWindow&840;8B8 3@C?C &Delete Group MainWindow(& 5403C20B8 3@C?C...&Edit Group... MainWindow&0?8A8&Entries MainWindow&&:A?>@BC20B8 4>... &Export to... MainWindow &$09;&File MainWindow &@C?0&Group MainWindow &@C?8&Groups MainWindow&>2V4:0&Help MainWindow"&<?>@BC20B8 7...&Import from... MainWindow*>2V4=8: &KeePassX...&KeePassX Handbook... MainWindowAB0==O &7<V=0 &Last Change MainWindow6&01;>:C20B8 @>1>GC >1;0ABL&Lock Workspace MainWindow0&5@C20==O 70:;04:0<8...&Manage Bookmarks... MainWindow&&>20 1070 40=8E...&New Database... MainWindow.&V4:@8B8 107C 40=8E...&Open Database... MainWindow(V4:@8B8 &04@5AC URL &Open URL MainWindow&0@>;L &Password MainWindow*&5=5@0B>@ ?0@>;V2...&Password Generator... MainWindowB0AB>AC20B8 &02B><0B8G=5 22545==O&Perform AutoType MainWindow &89B8&Quit MainWindow2&15@53B8 4>;CG5==O O:...&Save Attachment As... MainWindow(&15@53B8 107C 40=8E&Save Database MainWindow &0;0HBC20==O... &Settings... MainWindow &0720&Title MainWindow&4@5A0 URL&URL MainWindow&83;O4&View MainWindowH&5@53;O=CB8 01> @5403C20B8 70?8A...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow&>;CG5==O A&ttachment MainWindow,>40B8 =>289 &70?8A...Add &New Entry... MainWindow(>40B8 =>2C 3@C?C...Add New Group... MainWindowN>40B8 &70:;04:C 4;O FVTW 1078 40=8E...Bookmark &this Database... MainWindow!&B2>@5==O C&reation MainWindow2<V=8B8 &3>;>2=89 :;NG...Change &Master Key... MainWindowX>?VN20B8 &V<'O :>@8ABC20G0 4> 1CD5@C >1<V=CCopy &Username to Clipboard MainWindowD>?VN20B8 &?0@>;L 4> 1CD5@C >1<V=CCopy Password &to Clipboard MainWindowJ>?VN20B8 04@5AC URL 4> 1CD5@C >1<V=CCopy URL to Clipboard MainWindow&840;8B8 70?8A De&lete Entry MainWindow0&"5@<V= 4VW 70:V=GCTBLAOE&xpires MainWindow&>40B:8E&xtras MainWindow @C?8Groups MainWindow!E>20B8Hide MainWindow!&E>20B8 ?0@>;VHide &Passwords MainWindow6&!E>20B8 V<5=V :>@8ABC20GV2Hide &Usernames MainWindowKeePassXKeePassX MainWindow AB0==V9 &4>ABC? Last &Access MainWindow!<VB=8:...Recycle Bin... MainWindow415@53B8 107C 40=8E &O:...Save Database &As... MainWindow,&>HC: 2 107V 40=8E...Search &in Database... MainWindow*>HC: 2 FV9 &3@C?V...Search in this &Group... MainWindow4>:070B8 &?>4@>18FV 70?8ACShow &Entry Details MainWindow^>:070B8 &70?8A8, B5@<V= 4VW O:8E 70:V=G82AO...Show &Expired Entries... MainWindow,>:070;8 ?0=5;L &AB0=CShow &Statusbar MainWindow$?>@O4:C20B8 3@C?8 Sort groups MainWindowF >7<V@ &7=0G:V2 ?0=5;V V=AB@C<5=BV2Toolbar &Icon Size MainWindow"&<'O :>@8ABC20G0 User&name MainWindow(5@C20==O 70:;04:0<8Manage BookmarksManageBookmarksDlg>%1: $09; =5 240TBLAO ?@>G8B0B8.%1: File is not readable.PasswordDialog8%1: $09; G8 B5:0 =5 VA=CNBL.%1: No such file or directory.PasswordDialogAV D09;8 (*) All Files (*)PasswordDialog*<V=8B8 3>;>2=89 :;NGChange Master KeyPasswordDialog2!B2>@8B8 D09; 7 :;NG5<...Create Key File...PasswordDialog;NG 1078 40=8E Database KeyPasswordDialog(25AB8 3>;>2=89 :;NGEnter Master KeyPasswordDialog,$09;8 7 :;NG5< (*.key)Key Files (*.key)PasswordDialogAB0==V9 D09; Last FilePasswordDialoglC4L ;0A:0, 2254VBL ?0@>;L 01> 2845@VBL D09; 7 :;NG5<.-Please enter a Password or select a key file.PasswordDialog6C4L ;0A:0, 2254VBL ?0@>;L.Please enter a Password.PasswordDialogDC4L ;0A:0, 2:06VBL D09; 7 :;NG5<.Please provide a key file.PasswordDialog,815@VBL D09; 7 :;NG5<Select a Key FilePasswordDialog0AB0=>28B8 3>;>2=89 :;NGSet Master KeyPasswordDialog0=0 B5:0 <VAB8BL 1V;LH5 =V6 >48= D09; 7 :;NG5<. C4L ;0A:0, 2:06VBL :;NG 157?>A5@54=L>.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogX0=0 B5:0 =5 <VAB8BL 6>4=>3> D09;0 7 :;NG5<.3The given directory does not contain any key files.PasswordDialogh81@0=V D09; 7 :;NG5< 01> B5:C =5 240;>AO ?@>G8B0B8.3The selected key file or directory is not readable.PasswordDialog&3;O4... &Browse... PasswordDlg 0704Back PasswordDlg^254VBL ?0@>;L B0 (01>) 2815@VBL D09; 7 :;NG5<.*Enter a Password and/or choose a key file. PasswordDlg65=5@C20B8 D09; 7 :;NG5<...Generate Key File... PasswordDlg;NGKey PasswordDlg$09; 7 :;NG5<: Key File: PasswordDlgAB0==V9 D09; Last File PasswordDlg0@>;L: Password: PasswordDlg*0@>;L =5 71V30TBLAO.Passwords are not equal. PasswordDlg:C4L ;0A:0, ?>2B>@VBL ?0@>;L:Please repeat your password: PasswordDlg >HC:Search SearchDialogB& >7@V7=OB8 25;8:V B0 <0;V ;VB5@8&Case Sensitive Search_Dlg &0728&Titles Search_Dlg&&<5=0 :>@8ABC20GV2 &Usernames Search_Dlg&>;CG5==OA&nhang Search_Dlg&@8<VB:8 C&omments Search_Dlg<:;NG8B8 ?V43@C?8 (@5:C@A82=>)Include Subgroups (recursive) Search_Dlg:;NG8B8:Include: Search_Dlg&0@>;V Pass&words Search_Dlg" 53C;O@=89 &28@07Regular E&xpression Search_Dlg(C:0B8: Search For: Search_Dlg>HC:... Search... Search_Dlg&4@5A8 URLU&RLs Search_Dlg81V@ 7=0G:0Icon Selection SelectIconDlg >7H8@5=VAdvancedSettingsDialog05@5<V==V :>;L>@8 @O4:V2Alternating Row ColorsSettingsDialogn02648 70?8BC20B8 ?5@54 B8< O: 2840;OB8 70?8A8 G8 3@C?8,Always ask before deleting entries or groupsSettingsDialog 83;O4 AppearanceSettingsDialog 2B>@:Author:SettingsDialogL">=:V =0;0HBC20==O 02B><0B8G=>3> 4@C:CAuto-Type Fine TuningSettingsDialogd2B><0B8G=> 715@53B8 107C 40=8E ?VA;O :>6=>W 7<V=8.Automatically save database after every changeSettingsDialog2B><0B8G=> 715@53B8 107C 40=8E ?5@54 28E>4>< 01> 1;>:C20==O< @>1>G>W >1;0ABV9Automatically save database on exit and workspace lockingSettingsDialog>;V@ 10=5@0 Banner ColorSettingsDialog0:;04:8 BookmarksSettingsDialog 3;O4BrowseSettingsDialog3;O4... Browse...SettingsDialog&<V=8B8... C&hange...SettingsDialog<V=8B8... Change...SettingsDialog*G8AB8B8 70@07 6C@=0;Clear History NowSettingsDialog8G8AB8B8 1CD5@ >1<V=C ?VA;O:Clear clipboard after:SettingsDialog>;V@ 1:Color 1:SettingsDialog>;V@ 2:Color 2:SettingsDialog0;0HBC20==O... Configure...SettingsDialogD5B8?>20 :><0=40 ?5@53;O40G0 B5=5BCustom Browser CommandSettingsDialogR0;0HBC20==O 283;O4C ?>4@>18FL 70?8AV2...Customize Entry Detail View...SettingsDialog2V0;>7V :;NGV2 1078 40=8EDatabase Key DialogSettingsDialog0B@8<:0 <V6 42><0 22545==O<8 A8<2>;V2. 1V;LHVBL WW, O:I> 02B><0B8G=5 22545==O 28?04:>2> ?@>?CA:0T A8<2>;8.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogX840;8B8 @575@2=V :>?VW 70?8AV2 AB0@VHV =V6:!Delete backup entries older than:SettingsDialog85 @>73>@B0B8 6>4=>3> 70?8ACDo not expand any itemSettingsDialog6V0;>7V @5403C20==O 70?8AV2Edit Entry DialogSettingsDialog#2V<:=VBL, O:I> E>G5B5 28:>@8AB>2C20B8 70:;04:8 V >AB0==V9 2V4:@8B89 D09; =570;56=> 2V4 WE 01A>;NB=>3> H;OEC. &5 >A>1;82> :>@8A=>, :>;8 28:>@8AB>2CTBLAO ?5@5=>A=0 25@AVO KeePassX V B><C 7<V=NTBLAO B>G:0 <>=BC20==O C D09;>2V9 A8AB5<V.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog* >73>@=CB8 2AV 70?8A8Expand all itemsSettingsDialogA=>2=V (1) General (1)SettingsDialogA=>2=V (2) General (2)SettingsDialogn;>10;L=5 A:>@>G5==O :;02VH 4;O 02B><0B8G=>3> 22545==O:Global Auto-Type Shortcut:SettingsDialogN=B53@0FVO 7 ABV;L=8F5N Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogD?>@O4:C20B8 45@52> ?VA;O 70?CA:C:Group tree at start-up:SettingsDialog:=B53@0FVO 7 ABV;L=8F5N KDE 4KDE 4 Desktop IntegrationSettingsDialog@0B@8<:0 <V6 22545==O< A8<2>;V2:Key Stroke Delay:SettingsDialog>20LanguageSettingsDialog >20: Language:SettingsDialogP;>:C20B8 107C 40=8E ?VA;O 1574VO;L=>ABV!Lock database after inactivity ofSettingsDialogp;>:C20B8 @>1>GC >1;0ABL ?VA;O 7<5=H5==O 3>;>2=>3> 2V:=0.Lock workspace when minimizing the main windowSettingsDialog>@V=L <54V0: Media Root:SettingsDialogP<5=HC20B8 4> ;>B:0 70<VABL ?0=5;V 7040G#Minimize to tray instead of taskbarSettingsDialog 5<0TNoneSettingsDialog>40B:8Plug-InsSettingsDialog&>?5@54=O 70B@8<:0:Pre-Gap:SettingsDialogV0?0<'OB0B8 >AB0==V9 B8? V @>7<VI5==O :;NG0#Remember last key type and locationSettingsDialogF0?0<'OB0B8 >AB0==V9 2V4:@8B89 D09;Remember last opened fileSettingsDialog.V4=>28B8 >AB0==V9 AB0=Restore last stateSettingsDialogr15@53B8 @575@2=C :>?VN 7<V=5=8E 70?8AV2 2 3@C?C "Backup"8Save backups of modified entries into the 'Backup' groupSettingsDialogN15@53B8 >AB0==N B5:C D09;>2>3> 4V0;>3C'Save recent directories of file dialogsSettingsDialogh15@V30B8 2V4=>A=V H;OE8 (70:;04:8 B0 >AB0==V9 D09;)-Save relative paths (bookmarks and last file)SettingsDialog57?5:0SecuritySettingsDialog0;0HBC20==OSettingsSettingsDialogL>:07C20B8 ?0@>;V 728G09=8< B5:AB>< C:Show plain text passwords in:SettingsDialogH>:07C20B8 7=0G>: C A8AB5<=><C ;>B:CShow system tray iconSettingsDialog: >7?>G0B8 @>1>BC 701;>:>20=8< Start lockedSettingsDialog4 >7?>G0B8 @>1>BC 7<5=H5=8<Start minimizedSettingsDialog>;V@ B5:ABC: Text Color:SettingsDialog"5:0, 45 70728G09 <>=BCNBLAO ?@8AB@>W 715@V30==O, B0:V O: CD 01> :0@B8 ?0<'OBV.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialog'0A <V6 ?>G0B:>< 02B><0B8G=>3> 4@C:C :>@8ABC20G5< V 22545==O< ?5@H>3> @O4:C.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialog8:>@8AB>2C20B8 =0728 70?8AV2, I>1 7=09B8 2V:=> 4;O 02B><0B8G=>3> 22545==O;Use entries' title to match the window for Global Auto-TypeSettingsDialog8 <>65B5 28<:=CB8 45:V;L:0 DC=:FV9 KeePassX 73V4=> 4> 20H8E ?>B@510<, I>1 A?@>AB8B8 V=B5@D59A :>@8ABC20G0.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialog0< =5>1EV4=> ?5@570?CAB8B8 ?@>3@0<C 4;O B>3> I>1 7<V=8 ?>G0;8 4VOB8.?You need to restart the program before the changes take effect.SettingsDialog4V1daysSettingsDialog<AmsSettingsDialog A5:C=4secondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget254VBL ?0@>;LEnter your PasswordSimplePasswordDialog0@>;L: Password:SimplePasswordDialogX2B><0B8G=5 22545==O: 2815@VBL FV;L>25 2V:=>Auto-Type: Select Target WindowTargetWindowDlg)>1 281@0B8 FV;L>25 2V:=>, 01> 2815@VBL VA=CNG5 2V4:@8B5 2V:=> 7V A?04=>3> ?5@5;V:C, 01> 2254VBL =072C 2V:=0 >A>18AB>:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg#:@0W=AL:0$LANGUAGE_NAME Translation&;5:A0=4@ >20;5=:>$TRANSLATION_AUTHOR Translation.alx.kovalenko@gmail.com$TRANSLATION_AUTHOR_EMAIL Translation\<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;"> >1>G0 >1;0ABL 701;>:>20=0.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget$0:@8B8 107C 40=8EClose DatabaseWorkspaceLockedWidget $>@<0FormWorkspaceLockedWidget >71;>:C20B8UnlockWorkspaceLockedWidget ) , keepassx-0.4.3/share/keepassx/i18n/keepassx-de_DE.qm0000664000175000017500000017247711342454754021222 0ustar felixfelix>B-C."I0L1RR3T3U5L;W@)A)B*&D*ZF*H*P*R+*T+^V+X+f+r,.,;I;0;;sGCDH4اMmQQmSn1Zl:Zls\5]l_tYl^$-֍L0^KVEVEo>}}#`n*%*0?++3JwFGBH8J mLbFLbLbDLbmLbrLb~LbM M}<M4N N0N9NANruO=/O?yT6TT=fVW3XXlY4[ % x[ %5[ %:[ %B$[ %s[Z9\^tT]a.9P"u.Pe1e.".dM338.aqH>*\+]if/~hRfkMեJ : R_5˓(8e@y ,.h<\ =`lDsj^[ 4mxA} ~ II;M[nF<RmvWZN|G %XR6`yZ:2m n/} ǥ /S Lnh:>8ʢ#NZ$#&:^W-Ko5ۻ45j5wBG?IBÌRÎ#NA5/Gm4&^I!"C#C -'2s6G6GV:Cq3C;Dc.K!N4]PP<4UD[{S(}End]4`HCWHY)9Aznu-6|>^[0veq = E=n\ OJ kJmx&n=&nS\,C58#o4DɃQyP''_RX`SnU`'^ߎ=pn߸>])H>f,N 0D3344#v)I=MJNRO)_R!tluHuw,#J7 NcIe2:ksr "9 qr!ƭƸ*>:Ȟ3`譾N#^ ѕB A Db LY gwH l[~ EB OV (")U dm  ; C C6 C; CB\ Ct D MTo n% ^no l8 3 9.J^ 5sv 5tc 8TU G?ny J m LZ~L OZO T? aEU c d: d<. d<8 d dL dI nM qEAZ s/tV s( u~w ~ w K N" )l >= > > t1 q u ˔N F> l a =? lS f  f B f C f V f Y f \ f w f :   # I Yr LJ Xо Yn ^n h).K +e J= JS _ = < )κ Ÿ^g M ͓> ֕D ܩ ٷV L Q.( m6  A:8c 1 &+*o ?I B LuR M Z$.S [c vYa G ?> S @5} SV g٘ 4 c ` kr l0 5 wR s s Q s , ȶP  X ܾ5 @~c" ƙj r9 @  ?@P  T^W T^_ 7wy_ Sus@ ^S ^} mbD nd ox }~\ .Ko P Pj .gU k~I @v 0~ݹ Er6.JaP3B:$$ߎ-.{'?E|BgL& R܎Ye>RysOH[bvrhTkN#n 'ؾ> K346 czv%-Z!/ўw/ўC^eQ:sYqdDe3VAg^bXp<tEXTsȞ\[ i AutorAuthor AboutDialog(Aktuelle bersetzungCurrent Translation AboutDialogEntwickler Developer AboutDialogFEntwickler und ProjektadministratorDeveloper, Project Admin AboutDialog FehlerError AboutDialogTDie Datei '%1' kann nicht gefunden werden.File '%1' could not be found. AboutDialogInformationen wie Sie KeePassX bersetzen knnen, finden Sie unter:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg,Lesezeichen hinzufgen Add BookmarkAddBookmarkDlg Alle Dateien (*) All Files (*)AddBookmarkDlgDurchsuchen ... Browse...AddBookmarkDlg,Lesezeichen bearbeiten Edit BookmarkAddBookmarkDlg Datei:File:AddBookmarkDlg6KeePass-Datenbanken (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlg Titel:Title:AddBookmarkDlgAuto-Type Auto-Type AutoTypeDlgKlicken Sie auf einen Eintrag, um diesen mit Auto-Type auszufhren."Click on an entry to auto-type it. AutoTypeDlg GruppeGroup AutoTypeDlg$KeePassX Auto-TypeKeePassX - Auto-Type AutoTypeDlg TitelTitle AutoTypeDlgBenutzernameUsername AutoTypeDlgH'%1' ist kein gltiger Ganzzahlwert. '%1' is not valid integer value.CDbSettingsDlgDAES (Rijndael): 256 Bit (Standard)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg FehlerErrorCDbSettingsDlgOKOKCDbSettingsDlgnBitte geben Sie die Zahl der Verschlsselungsrunden an.1Please determine the number of encryption rounds.CDbSettingsDlgEinstellungenSettingsCDbSettingsDlg~Die Anzahl an Verschlsselungsrunden muss grer als Null sein.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgWarnungWarningCDbSettingsDlg %1 Bit%1 Bit CEditEntryDlg1 Monat1 Month CEditEntryDlg1 Woche1 Week CEditEntryDlg 1 Jahr1 Year CEditEntryDlg2 Wochen2 Weeks CEditEntryDlg3 Monate3 Months CEditEntryDlg3 Wochen3 Weeks CEditEntryDlg6 Monate6 Months CEditEntryDlg(Anhang hinzufgen...Add Attachment... CEditEntryDlgKalender... Calendar... CEditEntryDlgJDie Datei kann nicht geffnet werden.Could not open file. CEditEntryDlgAnhang lschen?Delete Attachment? CEditEntryDlg$Eintrag bearbeiten Edit Entry CEditEntryDlg FehlerError CEditEntryDlghBeim Schreiben der Datei ist ein Fehler aufgetreten.Error while writing the file. CEditEntryDlgNeuer Eintrag New Entry CEditEntryDlgNein, abbrechen No, Cancel CEditEntryDlgOKOK CEditEntryDlgDas Passwort und die Passwortwiederholung stimmen nicht berein. Bitte berprfen Sie Ihre Eingabe.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg&Anhang speichern...Save Attachment... CEditEntryDlgDer ausgewhlte Eintrag hat keinen Anhang oder der Anhang ist leer.2The chosen entry has no attachment or it is empty. CEditEntryDlg HeuteToday CEditEntryDlgWarnungWarning CEditEntryDlgJaYes CEditEntryDlgSind Sie sicher, dass Sie den Anhang dieses Eintrags lschen wollen?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg[Neuer Eintrag][Untitled Entry] CEditEntryDlg%1 Bits%1 Bits CGenPwDialog"PasswortgeneratorPassword Generator CGenPwDialogTDie Datei '%1' kann nicht geffnet werden.%1: File could not be loaded.CSelectIconDlg$Symbole hinzufgenAdd Custom IconCSelectIconDlg*Symbole hinzufgen... Add Icons...CSelectIconDlgdBeim Laden der Symbole ist ein Fehler aufgetreten:+An error occured while loading the icon(s):CSelectIconDlgdBeim Laden des Symbols ist ein Fehler aufgetreten.(An error occured while loading the icon.CSelectIconDlgLschenDeleteCSelectIconDlg FehlerErrorCSelectIconDlgSymbole (%1) Images (%1)CSelectIconDlgAuswhlenPickCSelectIconDlgErsetzen ... Replace...CSelectIconDlgBWhlen Sie ein Verzeichnis aus...Select a directory... CSettingsDlg<Ausfhrbare Datei auswhlen...Select an executable... CSettingsDlgEinstellungenSettings CSettingsDlgSystemspracheSystem Language CSettingsDlgKalenderCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css">(new line)p, li { white-space: pre-wrap; }(new line)</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">(new line)<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Zufallsdatenfeld erfolgreich gefllt!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlglEntropie wird gesammelt ... Bitte bewegen Sie die Maus und/oder drcken Sie einige Tasten bis gengend Entropie gesammelt wurde, damit der Zufallszahlengenerator gefllt werden kann.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg EntropiesammlungEntropy CollectionCollectEntropyDlg,ZufallszahlengeneratorRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialog AnhangsdateinameAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogFettBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogZentriertCenteredCustomizeDetailViewDialogKommentarCommentCustomizeDetailViewDialog Erstellungsdatum Creation DateCustomizeDetailViewDialog DialogDialogCustomizeDetailViewDialogAblaufdatumExpiration DateCustomizeDetailViewDialogSchriftgre Font SizeCustomizeDetailViewDialog GruppeGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialog KursivItalicCustomizeDetailViewDialogBlocksatz JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog4Datum des letzten ZugriffsLast Access DateCustomizeDetailViewDialog4Datum der letzten nderungLast Modification DateCustomizeDetailViewDialogLinksbndig Left-AlignedCustomizeDetailViewDialogPasswortPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog Rich-Text-EditorRich Text EditorCustomizeDetailViewDialogRechtsbndig Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialogVorlagen TemplatesCustomizeDetailViewDialogTextfarbe Text ColorCustomizeDetailViewDialog&Zeit bis zum AblaufTime till ExpirationCustomizeDetailViewDialog TitelTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogUnterstrichen UnderlinedCustomizeDetailViewDialogURLUrlCustomizeDetailViewDialogBenutzernameUsernameCustomizeDetailViewDialogNieNeverDatabaseAlgorithmus: Algorithm:DatabaseSettingsDlgRunden fr eine 1-sekndige Verzgerung auf diesem Computer berechnen6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg,DatenbankeinstellungenDatabase SettingsDatabaseSettingsDlgVerschlsselung EncryptionDatabaseSettingsDlg.Verschlsselungsrunden:Encryption Rounds:DatabaseSettingsDlgKommentarCommentDetailViewTemplateErstellt amCreationDetailViewTemplate Ablauf ExpirationDetailViewTemplate GruppeGroupDetailViewTemplateLetzter Zugriff Last AccessDetailViewTemplateLetzte nderungLast ModificationDetailViewTemplatePasswortPasswordDetailViewTemplate TitelTitleDetailViewTemplateURLURLDetailViewTemplateBenutzernameUsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialogAnhang: Attachment:EditEntryDialogKommentar:Comment:EditEntryDialog$Eintrag bearbeiten Edit EntryEditEntryDialogLuft ab:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialogGruppe:Group:EditEntryDialogSymbol:Icon:EditEntryDialogNieNeverEditEntryDialogPasswort: Password:EditEntryDialogQualitt:Quality:EditEntryDialog Wdh.:Repeat:EditEntryDialog Titel:Title:EditEntryDialogURL:URL:EditEntryDialogBenutzername: Username:EditEntryDialog>>EditGroupDialog*Gruppen-EigenschaftenGroup PropertiesEditGroupDialogSymbol:Icon:EditGroupDialog Titel:Title:EditGroupDialogKlicken Sie doppelt auf einen Eintrag, um zu diesem zu springen.'Double click on an entry to jump to it.ExpiredEntriesDialogAbgelaufenExpiredExpiredEntriesDialog(Abgelaufene EintrgeExpired EntriesExpiredEntriesDialogJAbgelaufene Eintrge in der DatenbankExpired Entries in the DatabaseExpiredEntriesDialog GuppeGroupExpiredEntriesDialog TitelTitleExpiredEntriesDialogBenutzernameUsernameExpiredEntriesDialog alle Dateien (*) All Files (*)Export_KeePassX_Xml$KeePassX XML-DateiKeePassX XML FileExport_KeePassX_Xml&XML-Dateien (*.xml)XML Files (*.xml)Export_KeePassX_Xml Alle Dateien (*) All Files (*) Export_TxtTextdatei Text File Export_Txt&Textdateien (*.txt)Text Files (*.txt) Export_Txt*Export fehlgeschlagen Export Failed ExporterBase(Datei exportieren...Export File... ExporterBaseVEin schwerwiegender Fehler ist aufgetreten.A fatal error occurred. FileErrorsPEine Zeitberschreitung ist aufgetreten.A timeout occurred. FileErrorsfEs ist ein Fehler beim lesen der Datei aufgetreten..An error occurred while reading from the file. FileErrorsnEs ist ein Fehler beim schreiben der Datei aufgetreten.,An error occurred while writing to the file. FileErrorsHEin Resourcenfehler ist aufgetreten.An resource error occurred. FileErrorsXEin unspezifizierter Fehler ist aufgetreten.An unspecified error occurred. FileErrors>Es ist kein Fehler aufgetreten.No error occurred. FileErrorsZDer Zugriff auf die Datei ist fehlgeschlagen.The file could not be accessed. FileErrorsHDie Datei kann nicht kopiert werden.The file could not be copied. FileErrorsJDie Datei kann nicht geffnet werden.The file could not be opened. FileErrorsNDie Datei kannte nicht gelscht werden.The file could not be removed. FileErrorsLDie Datei kann nicht umbenannt werden.The file could not be renamed. FileErrors^Die Gre der Datei kann nicht gendert werden.The file could not be resized. FileErrorsDDie Aktion ist abgebrochen worden.The operation was aborted. FileErrorsjDie Position in der Datei kann nicht gendert werden..The position in the file could not be changed. FileErrors &Kleinbuchstaben&Lower LettersGenPwDlg &Minus&MinusGenPwDlg&Zahlen&NumbersGenPwDlg&Sonderzeichen&Special CharactersGenPwDlg&Unterstrich &UnderlineGenPwDlg&Grobuchstaben&Upper LettersGenPwDlg&Leerzeichen &White SpacesGenPwDlg<Nur einmal pro Sitzung sammelnCollect only once per sessionGenPwDlgSpeziellCustomGenPwDlg8Entropie-Sammlung aktivierenEnable entropy collectionGenPwDlgSicherstellen, dass das Passwort Zeichen von jeder Gruppe enthlt9Ensure that password contains characters from every groupGenPwDlgNhnlich aussehende Zeichen ausschlieenExclude look-alike charactersGenPwDlgErzeugenGenerateGenPwDlg Lnge:Length:GenPwDlgKleinbuchstaben Lower LettersGenPwDlgNeues Passwort: New Password:GenPwDlgNummernNumbersGenPwDlgOptionenOptionsGenPwDlg"PasswortgeneratorPassword GeneratorGenPwDlgAussprechbar PronounceableGenPwDlgQualitt:Quality:GenPwDlg ZufallRandomGenPwDlgSonderzeichenSpecial CharactersGenPwDlgGrobuchstaben Upper LettersGenPwDlg@Benutze folgende Zeichengruppen:Use following character groups:GenPwDlg2Benutze folgende Zeichen:Use the following characters:GenPwDlgErste Seite First PageHelpDlgHandbuch Help ContentsHelpDlgNchste Seite Next PageHelpDlgVorherige Seite Previous PageHelpDlg Alle Dateien (*) All Files (*)Import_KWalletXml<Die Datei enthlt keine Daten.Document does not contain data.Import_KWalletXml*Import fehlgeschlagen Import FailedImport_KWalletXml^Ungltige XML-Daten (siehe stdout fr Details).*Invalid XML data (see stdout for details).Import_KWalletXmlLDie Datei ist keine gltige XML-Datei.Invalid XML file.Import_KWalletXml&XML-Dateien (*.xml)XML Files (*.xml)Import_KWalletXml Alle Dateien (*) All Files (*)Import_KeePassX_Xml*Import fehlgeschlagen Import FailedImport_KeePassX_Xml2KeePass-XML-Datei (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlVerarbeitungsfehler: Die Datei ist keine gltige KeePassX XML-Datei.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlEs ist ein Fehler beim Verarbeiten der XML-Datei in der Zeile %1, Spalte %2 aufgetreten: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml Alle Dateien (*) All Files (*)Import_PwManagerfKomprimierte Dateien werden noch nicht untersttzt.'Compressed files are not supported yet.Import_PwManagerxDie Datei ist beschdigt (der Hash-Test ist fehlgeschlagen).#File is damaged (hash test failed).Import_PwManager8Die Datei hat keinen Inhalt.File is empty.Import_PwManagerXDie Datei ist keine gltige PwManager-Datei. File is no valid PwManager file.Import_PwManager*Import fehlgeschlagen Import FailedImport_PwManager^Ungltige XML-Daten (siehe stdout fr Details).*Invalid XML data (see stdout for details).Import_PwManager2PwManager-Dateien (*.pwm)PwManager Files (*.pwm)Import_PwManagerDer von der Datei verwendete Verschlsselungsalgorithmus wird nicht untersttzt.!Unsupported encryption algorithm.Import_PwManagerZDie Version der Datei wird nicht untersttzt.Unsupported file version.Import_PwManagerDer von der Datei verwendete Hash-Algorithmus wird nicht untersttzt.Unsupported hash algorithm.Import_PwManagerHDas eingegebene Passwort ist falsch.Wrong password.Import_PwManager*Import fehlgeschlagen Import Failed ImporterBase(Datei importieren...Import File... ImporterBaseJDie Datei kann nicht geffnet werden.Could not open file. Kdb3DatabaseDie Entschlsselung ist fehlgeschlagen. Der Schlssel ist falsch oder die Datei ist beschdigt.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseDer Hash-Test ist fehlgeschlagen. Der Schlssel ist falsch oder die Datei ist beschdigt.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database.Ungltiger Gruppenbaum.Invalid group tree. Kdb3DatabaseJDie Schlsseldatei hat keinen Inhalt.Key file is empty. Kdb3DatabasefDie Datenbank ist schreibgeschtzt geffnet worden.'The database has been opened read-only. Kdb3DatabasehDie Datenbank muss mindestens eine Gruppe enthalten.-The database must contain at least one group. Kdb3DatabasepDer Twofish-Algorithmus kann nicht initialisiert werden.+Unable to initialize the twofish algorithm. Kdb3DatabaserUnerwarteter Fehler: Offset ist auserhalb der Reichweite.)Unexpected error: Offset is out of range. Kdb3DatabasenUnerwartete Dateigre (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseUnbekannter bzw. nicht unterstzter Verschlsselungsalgorithmus.Unknown Encryption Algorithm. Kdb3DatabaseNUnbekannter Verschlsslungsalgorithmus.Unknown encryption algorithm. Kdb3Database@Nicht untersttzte Dateiversion.Unsupported File Version. Kdb3Database Falsche SignaturWrong Signature Kdb3Database BytesBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandlevSind Sie sicher, dass Sie diese %1 Eintrge lschen wollen?1Are you sure you want to delete these %1 entries?KeepassEntryViewpSind Sie sicher, dass Sie diesen Eintrag lschen wollen?+Are you sure you want to delete this entry?KeepassEntryViewEs muss mindestens eine Gruppe existieren, bevor ein Eintrag hinzugefgt werden kann.5At least one group must exist before adding an entry.KeepassEntryView Anhang AttachmentKeepassEntryViewKommentarCommentsKeepassEntryViewErstellt amCreationKeepassEntryView"Eintrge lschen?Delete?KeepassEntryView FehlerErrorKeepassEntryViewLuft abExpiresKeepassEntryView GruppeGroupKeepassEntryViewLetzter Zugriff Last AccessKeepassEntryViewLetzte nderung Last ChangeKeepassEntryViewOKOKKeepassEntryViewPasswortPasswordKeepassEntryView TitelTitleKeepassEntryViewURLURLKeepassEntryViewBenutzernameUsernameKeepassEntryViewSind Sie sicher, dass Sie diese Gruppe mitsamt ihren Untergruppen und Eintrgen lschen wollen?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewGruppe lschen?Delete?KeepassGroupViewSuchergebnisseSearch ResultsKeepassGroupView%1 Tage%1 DaysKeepassMainWindow%1 Monate %1 MonthsKeepassMainWindow%1 Jahre%1 YearsKeepassMainWindow.&Arbeitsbereich sperren&Lock WorkspaceKeepassMainWindow 1 Tag1 DayKeepassMainWindow1 Monat1 MonthKeepassMainWindow 1 Jahr1 YearKeepassMainWindow Alle Dateien (*) All Files (*)KeepassMainWindow(Eintrge duplizieren Clone EntriesKeepassMainWindow&Eintrag duplizieren Clone EntryKeepassMainWindowrKonnten die Sperrdatei fr die Datenbank nicht erstellen.#Couldn't create database lock file.KeepassMainWindowEs kann keine Sperrdatei erstellt werden. Die Datenbank wird schreibgeschtzt geffnet.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowTKonnte Datenbaksperrdatei nicht entfernen.#Couldn't remove database lock file.KeepassMainWindow Strg+BCtrl+BKeepassMainWindow Strg+CCtrl+CKeepassMainWindow Strg+DCtrl+DKeepassMainWindow Strg+ECtrl+EKeepassMainWindow Strg+FCtrl+FKeepassMainWindow Strg+GCtrl+GKeepassMainWindow Strg+ICtrl+IKeepassMainWindow Strg+KCtrl+KKeepassMainWindow Strg+LCtrl+LKeepassMainWindow Strg+NCtrl+NKeepassMainWindow Strg+OCtrl+OKeepassMainWindow Strg+PCtrl+PKeepassMainWindow Strg+QCtrl+QKeepassMainWindow Strg+SCtrl+SKeepassMainWindow Strg+UCtrl+UKeepassMainWindow Strg+VCtrl+VKeepassMainWindow Strg+WCtrl+WKeepassMainWindow Strg+XCtrl+XKeepassMainWindow Strg+YCtrl+YKeepassMainWindow$Datenbank gesperrtDatabase lockedKeepassMainWindow Eintrge lschenDelete EntriesKeepassMainWindowEintrag lschen Delete EntryKeepassMainWindow FehlerErrorKeepassMainWindowAbgelaufenExpiredKeepassMainWindowPDie Datei kann nicht gespeichert werden.File could not be saved.KeepassMainWindow2KeePass-Datenbank (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow$Datenbank laden...Loading Database...KeepassMainWindow(Laden fehlgeschlagenLoading FailedKeepassMainWindow&Datenbank ffnen...Open Database...KeepassMainWindow.Schreibgeschtzt ffnenOpen read-onlyKeepassMainWindow BereitReadyKeepassMainWindow,Datenbank speichern...Save Database...KeepassMainWindow8Bearbeitete Datei speichern?Save modified file?KeepassMainWindowUmschalt+Strg+F Shift+Ctrl+FKeepassMainWindowUmschalt+Strg+S Shift+Ctrl+SKeepassMainWindow0&Werkzeugleiste anzeigen Show &ToolbarKeepassMainWindowDie aktuelle Datei wurde gendert. Mchten Sie die nderungen speichern??The current file was modified. Do you want to save the changes?KeepassMainWindowFDie Datenbankdatei existiert nicht.!The database file does not exist.KeepassMainWindowDie Datenbank, die Sie zu ffnen versuchen, ist gesperrt. Das bedeutet, dass jemand anders die Datei geffnet hat oder KeePassX das letzte mal abgestrtzt ist, als die Datenbank geffnet war. Wollen Sie die Datenbank trotzdem ffnen?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindow|Der folgende Fehler ist beim ffnen der Datenbank aufgetreten:7The following error occured while opening the database:KeepassMainWindow4Arbeits&bereich entsperrenUn&lock WorkspaceKeepassMainWindowBeim laden der Datenbank ist ein unbekannter Fehler aufgetreten.%Unknown error while loading database.KeepassMainWindow*weniger als einem Tagless than 1 dayKeepassMainWindowgesperrtlockedKeepassMainWindowneunewKeepassMainWindow FehlerErrorMainTDie Datei '%1' kann nicht gefunden werden.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&ber ... &About... MainWindow6Lesezeichen &hinzufgen ...&Add Bookmark... MainWindow@Neue &Untergruppe hinzufgen ...&Add New Subgroup... MainWindow&Lesezeichen &Bookmarks MainWindow(Eintrag &duplizieren &Clone Entry MainWindow(Datenbank s&chlieen&Close Database MainWindowS&palten&Columns MainWindow&Kommentar&Comment MainWindow6&Datenbankeinstellungen ...&Database Settings... MainWindowGruppe &lschen &Delete Group MainWindow,Gruppe b&earbeiten ...&Edit Group... MainWindow&Eintrge&Entries MainWindow(&Exportieren nach... &Export to... MainWindow &Datei&File MainWindow&Gruppe&Group MainWindow&Gruppen&Groups MainWindow &Hilfe&Help MainWindow&&Importieren aus...&Import from... MainWindow0&Handbuch zu KeePassX...&KeePassX Handbook... MainWindow Letzte &nderung &Last Change MainWindow.A&rbeitsbereich sperren&Lock Workspace MainWindow4Lesezeichen &verwalten ...&Manage Bookmarks... MainWindow&&Neue Datenbank ...&New Database... MainWindow*Da&tenbank ffnen ...&Open Database... MainWindowU&RL ffnen &Open URL MainWindowPass&wort &Password MainWindow,Pass&wortgenerator ...&Password Generator... MainWindow(&Auto-Type ausfhren&Perform AutoType MainWindow&Beenden&Quit MainWindow6Anhang &speichern unter ...&Save Attachment As... MainWindow(Datenbank &speichern&Save Database MainWindow$Ein&stellungen ... &Settings... MainWindow &Titel&Title MainWindowU&RL&URL MainWindow&Ansicht&View MainWindow@Eintrag anzeigen/&bearbeiten ...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow&Anhang A&ttachment MainWindow:&Neuen Eintrag hinzufgen ...Add &New Entry... MainWindow4Neue Gruppe hinzufgen ...Add New Group... MainWindowXLesezeichen &fr diese Datenbank anlegen ...Bookmark &this Database... MainWindow&Erstellt am C&reation MainWindow4Hau&ptschlssel ndern ...Change &Master Key... MainWindowZ&Benutzernamen in die Zwischenablage kopierenCopy &Username to Clipboard MainWindowPPass&wort in die Zwischenablage kopierenCopy Password &to Clipboard MainWindowDURL in die Zwischenablage kopierenCopy URL to Clipboard MainWindow Eintrag &lschen De&lete Entry MainWindow&Luft abE&xpires MainWindowE&xtrasE&xtras MainWindowGruppenGroups MainWindowAusblendenHide MainWindow,Pass&wrter versteckenHide &Passwords MainWindow2Ben&utzernamen versteckenHide &Usernames MainWindowKeePassXKeePassX MainWindow Letzter &Zugriff Last &Access MainWindowMlleimer ...Recycle Bin... MainWindow<D&atenbank speichern unter ...Save Database &As... MainWindow0In &Datenbank suchen ...Search &in Database... MainWindow8In dieser &Gruppe suchen ...Search in this &Group... MainWindow2&Eintragsdetails anzeigenShow &Entry Details MainWindowDAbgelaufene &Eintrge anzeigen ...Show &Expired Entries... MainWindow,&Statusleiste anzeigenShow &Statusbar MainWindow"Gruppen sortieren Sort groups MainWindowS&ymbolgreToolbar &Icon Size MainWindowBen&utzername User&name MainWindow*Lesezeichen verwaltenManage BookmarksManageBookmarksDlg>%1: Die Datei ist nicht lesbar.%1: File is not readable.PasswordDialogT%1: Datei oder Verzeichnis nicht gefunden.%1: No such file or directory.PasswordDialog Alle Dateien (*) All Files (*)PasswordDialog*Hauptschlssel ndernChange Master KeyPasswordDialog6Schlsseldatei erzeugen ...Create Key File...PasswordDialog$Datenbankschlssel Database KeyPasswordDialog.Hauptschlssel eingebenEnter Master KeyPasswordDialog0Schlsseldateien (*.key)Key Files (*.key)PasswordDialog.Zuletzt geffnete Datei Last FilePasswordDialogBitte geben Sie ein Passwort ein oder whlen Sie eine Schlsseldatei aus.-Please enter a Password or select a key file.PasswordDialogBBitte geben Sie ein Passwort ein.Please enter a Password.PasswordDialogRBitte whlen Sie eine Schlsseldatei aus.Please provide a key file.PasswordDialog*Schlsseldatei whlenSelect a Key FilePasswordDialog0Hauptschlssel festlegenSet Master KeyPasswordDialogDas angegebene Verzeichnis enthlt mehr als eine Schlsseldatei. Bitte whlen Sie die Schlsseldatei direkt aus.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogtDas angegebene Verzeichnis enthlt keine Schlsseldateien.3The given directory does not contain any key files.PasswordDialogDie ausgewhlte Schlsseldatei oder -Verzeichnis kann nicht gelesen werden.3The selected key file or directory is not readable.PasswordDialog &Durchsuchen ... &Browse... PasswordDlg ZurckBack PasswordDlgGeben Sie ein Passwort ein und/oder whlen Sie eine Schlsseldatei aus.*Enter a Password and/or choose a key file. PasswordDlg6Schlsseldatei erzeugen ...Generate Key File... PasswordDlgSchlsselKey PasswordDlgSchlsseldatei: Key File: PasswordDlg.Zuletzt geffnete Datei Last File PasswordDlgPasswort: Password: PasswordDlgHDie Passwrter sind nicht identisch.Passwords are not equal. PasswordDlgDGeben Sie das Passwort erneut ein:Please repeat your password: PasswordDlg SucheSearch SearchDialogF&Gro- und Kleinschreibung beachten&Case Sensitive Search_Dlg &Titel&Titles Search_Dlg&Benutzernamen &Usernames Search_Dlg&AnhangA&nhang Search_Dlg&Kommentare C&omments Search_DlgFUntergruppen einbeziehen (rekursiv)Include Subgroups (recursive) Search_Dlg2In die Suche einbeziehen:Include: Search_DlgPass&wrter Pass&words Search_Dlg&R&egulrer AusdruckRegular E&xpression Search_DlgSuchen nach: Search For: Search_DlgSuche... Search... Search_Dlg U&RLsU&RLs Search_DlgSymbolauswahlIcon Selection SelectIconDlgFortgeschrittenAdvancedSettingsDialog2Abwechselnde ZeilenfarbenAlternating Row ColorsSettingsDialogjFrage immer vor dem lschen von Eintrgen und Gruppen,Always ask before deleting entries or groupsSettingsDialog Erscheinungsbild AppearanceSettingsDialog Autor:Author:SettingsDialog"Auto-Type-DetailsAuto-Type Fine TuningSettingsDialogfDatenbank automatisch nach jeder nderung speichern.Automatically save database after every changeSettingsDialogDatenbank beim Beenden und Sperren des Arbeitsbereiches automatisch speichern9Automatically save database on exit and workspace lockingSettingsDialogBannerfarbe Banner ColorSettingsDialogLesezeichen BookmarksSettingsDialogDurchsuchenBrowseSettingsDialogDurchsuchen ... Browse...SettingsDialog&ndern ... C&hange...SettingsDialogndern ... Change...SettingsDialogVerlauf lschenClear History NowSettingsDialog6Zwischenablage leeren nach:Clear clipboard after:SettingsDialogFarbe 1:Color 1:SettingsDialogFarbe 2:Color 2:SettingsDialogEinrichten ... Configure...SettingsDialog>Benutzerdefinierter Web-BrowserCustom Browser CommandSettingsDialogNAnsicht der Eintragdetails anpassen ...Customize Entry Detail View...SettingsDialog2Datenbankschlssel-DialogDatabase Key DialogSettingsDialogVerzgerung zwischen zwei simulierten Tasteneingaben. Erhhen Sie dies, wenn Auto-Type unregelmig Zeichen auslsst.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogvSicherheitskopien der Eintrge lschen, die lter sind als:!Delete backup entries older than:SettingsDialog4Gruppen eingeklappt haltenDo not expand any itemSettingsDialogFDialog zum Bearbeiten von EintrgenEdit Entry DialogSettingsDialogAktivieren Sie diese Option, wenn Sie Ihre Lesezeichen und die zuletzt geffnete Datei unabhnig von deren absoluten Pfaden verwenden wollen. Dies ist besonders sinnvoll, wenn Sie KeePassX flexibel einsetzen und sich dadurch die Einhngepunkte im Dateisystem ndern.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog.Alle Gruppen aufklappenExpand all itemsSettingsDialogAllgemein (1) General (1)SettingsDialogAllgemein (2) General (2)SettingsDialog<Globaler Auto-Type-Kurzbefehl:Global Auto-Type Shortcut:SettingsDialogLGNOME-Oberflchenintegration (GTK 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogJGruppen-Baumansicht nach dem starten:Group tree at start-up:SettingsDialog8KDE-4-OberflchenintegrationKDE 4 Desktop IntegrationSettingsDialog@Pause nach jedem Tastenanschlag:Key Stroke Delay:SettingsDialogSpracheLanguageSettingsDialogSprache: Language:SettingsDialogLDatenbank bei Inaktivitt sperren nach!Lock database after inactivity ofSettingsDialogtArbeisbereich sperren wenn das Hauptfenster minimiert wird.Lock workspace when minimizing the main windowSettingsDialog.Hauptmedienverzeichnis: Media Root:SettingsDialogIn den Systemabschnitt der Kontrolleiste anstatt zur Fensterleiste minimieren#Minimize to tray instead of taskbarSettingsDialogIn den Systemabschnitt senden, wenn der Schlieen-Knopf bettigt wird=Minimize to tray when clicking the main window's close buttonSettingsDialog nichtsNoneSettingsDialogPluginsPlug-InsSettingsDialog@Pause vor erstem Tastenanschlag:Pre-Gap:SettingsDialognArt und Ort des Schlssels der letzten Datenbank merken#Remember last key type and locationSettingsDialog<Zuletzt geffnete Datei merkenRemember last opened fileSettingsDialog@Letzten Zustand wiederherstellenRestore last stateSettingsDialogSicherheitskopien der bearbeiteten Eintrge in der Gruppe Backup  speichern8Save backups of modified entries into the 'Backup' groupSettingsDialogfVerzeichnisse der zuletzt geffneten Dateien merken'Save recent directories of file dialogsSettingsDialogRelative Pfade speichern (Lesezeichen und zuletzt geffnete Datei)-Save relative paths (bookmarks and last file)SettingsDialogSicherheitSecuritySettingsDialogEinstellungenSettingsSettingsDialog@Passwrter im Klartext anzeigen:Show plain text passwords in:SettingsDialogjSymbol im Systemabschnitt der Kontrollleiste anzeigenShow system tray iconSettingsDialogLHalte das Fenster immer im VordergrundShow window always on topSettingsDialogJMit gesperrtem Arbeitsbereich starten Start lockedSettingsDialog4KeepassX minimiert startenStart minimizedSettingsDialogTextfarbe: Text Color:SettingsDialogDas Verzeichnis, in dem normalerweise Speichermedien (Festplatten, CDs, DVDs, USB-Sticks) eingehngt werden.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogZeit zwischen der Aktivierung einer Auto-Type-Aktion durch den Benutzer bis zum ersten simulierten Tastenanschlag.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogVergleiche den Titel der Eintrge mit Fenter fr globales Auto-Type;Use entries' title to match the window for Global Auto-TypeSettingsDialogSie knnen hier Funktionen von KeePassX nach Ihren Wnschen deaktivieren, um das Erscheinungsbild gering zu halten.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogSie mssen das Programm neu starten, damit die nderungen wirksam werden.?You need to restart the program before the changes take effect.SettingsDialogTagedaysSettingsDialogmsmsSettingsDialogSekundensecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetStrgCtrlShortcutWidgetUmschaltShiftShortcutWidgetWinWinShortcutWidget4Geben Sie Ihr Passwort einEnter your PasswordSimplePasswordDialogPasswort: Password:SimplePasswordDialog@Auto-Type: Zielfenster auswhlenAuto-Type: Select Target WindowTargetWindowDlg*Um das Zielfenster auszuwhlen, whlen Sie entweder ein bereits geffnetes Fenster aus der Auswhlliste, oder geben Sie den Fenstertitel manuell ein:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg*Deutsch (Deutschland)$LANGUAGE_NAME Translation.Panagiotis Papadopoulos$TRANSLATION_AUTHOR Translationpano_90@gmx.net$TRANSLATION_AUTHOR_EMAIL Translation`<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Der Arbeitsbereich ist gesperrt.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget&Datenbank schlieenClose DatabaseWorkspaceLockedWidgetFormFormWorkspaceLockedWidgetEntsperrenUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/qt_it.qm0000664000175000017500000023705111342454754017547 0ustar felixfelix+O+O81~E@FKH4HYPHݗIJyJHK LDLLPSRTiZr[`0[`"\y{__1?8b .Eڠ$Qo$:,ym XW9Q>2E7E% %G֍Ī֍֍ʨ0d0:T0J00`05ތ D=I DOi+F,>,7F`H5 H5=wH5OH5jVEǏff.8f;*fJ)ff́fglC*<@=P'``7yWi2.behe=ePdįįp~^Qi(4K(4L(5LJ(5L~*y*y*y*TXk*0%*0;+F1+F+Lh+f+fC+z,N++ +=+z,+R+D +X++.+įI+į:+įo+,G8Hw9Hw98I*UI̭J+}J6'J6-J69@J6>J6J6LJ6J6JcbbKQKGLZLL. Lb M5>fMeMNRO|-_PFEzPFEfPFEIQT RTT.Tʴ.TtU|7U}UV1ȯVwV6VUWWTWTX;[X&X˙<XYUYYKZgZV\\]4M\]4\\lG|^v7v f_4Lt5.6CQIAJ[;ɵn1ɵnpɵn}ɵnɵnhɵn&c B{Me5%UT(ŎL*4?tfCCeKD"D1^-MaR?DQfPsloR(Porw^Nc.GS22 {'.?RAiy i{turu |-`1$5~\< yM]`3`_vty/1T W H )wD66^`KT=ɓ~.J1ة EE!39!{8A A^4ДHmMMRE[CEdy I)*/eF7%OZf'f2jCLqPu(޶Vlz~M p$ͮ$ R (`KKh n,q;2-AIxS*YM[YMdh^`i#[xPۊ-.N*]ֹ]II cIII9IIIIuD_iuDhD5o,,,ܢ,=,N]o; ɘem5$@fR fRIN(JUS=c!pSTPqbKV:VfRCo So  Jv`%C&~T3,KN>V|U]o]skc5tFJgUKG%Yصǥ;+itb;WxAWA9\V)sV-%*C-D5C^iƨ^ƨn˾tHҝz qi{է?jZ>f^ ~bI~bO+3/1l4~G6 ? 2[AŜDGZGbNLAUPѧ9vQg`Sn_UwUZwZۯZZ[e]k*IV^n e#i_ihkQRy;~{}u}w}w}w 8xtrvet t«./.D CYt&8tewt_ Fʢ5 ʢd5dddB59rN UdBw} r+k ,D02?6a7DyCU]DuKK\U|arъtz|(^|S}wZ}$״}$D}$ϗ˥ZDmK<:f+·.׳/fUEYXu %5O T=i~ixwmb %h'5kE=15?!?CtIRPXU HLbDYbGzfdgAhISx1 =d 5_z@.c.k҉|>0mZl^n2†5iQ4C u( K 팤  = qV] R ) 7u* ;~h =Y J"% J" Rۮj Uj4 ]^ `o ` b c( d e + eI f1]W f*& gn) k,A rD" t| ̺Y# -DZ0 . kُ k! U)i / 0 z+  _!  hF IR %W I  xHn7 .+q >b >b >c >mt >xI >Z > > ?t| DT I* RVK RV! RV S. SG Sj Yh hۮR| j7oBv p+ . Bt  T2# T T Tv u 4 W S .2 .p . .\ . .ӛ  a ҂ \ w ^ a :bj  r~ +>, ;ɾ K9 Pt' Pt fe fe iFCݾ iH i m9N n u us w2 w wC w}n w} w} |[Z  \p e( % ^ P  UX F X & t5z t5   )- T&gT'U*%*/EI_jK[  aa.:nyGvɅby$~l4Sw^ǗB$rݖ  F"#C$U%4<%4N1cCDHyJdlL$. ]ac5hc5 yCY5C&R&[) F3NA&Bbt2)!ҖU i">Ripristino del dispositivo '%1'Revert back to device '%1' AudioOutputAccessibilit AccessibilityPhonon::Comunicazione CommunicationPhonon:: GiochiGamesPhonon:: MusicaMusicPhonon::Notifiche NotificationsPhonon:: VideoVideoPhonon::8Tipo di sorgente non valido.Invalid source type.Phonon::Gstreamer::MediaObjectUtilizza questo cursore per regolare il volume. La posizione all'estrema sinistra 0%, a destra %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSlider&%1, %2 non definito%1, %2 not definedQ3Accel6Ambiguit di %1 non gestitaAmbiguous %1 not handledQ3AccelEliminaDelete Q3DataTable FalsoFalse Q3DataTableInserisciInsert Q3DataTableVeroTrue Q3DataTableAggiornaUpdate Q3DataTable|%1 File non trovato. Controlla il percorso e il nome del file.+%1 File not found. Check path and filename. Q3FileDialog&Elimina&Delete Q3FileDialog&No&No Q3FileDialog&OK&OK Q3FileDialog &Apri&Open Q3FileDialog&Rinomina&Rename Q3FileDialog &Salva&Save Q3FileDialog&Non ordinati &Unsorted Q3FileDialog&S&Yes Q3FileDialog^<qt>Sei sicuro di voler eliminare %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog Tutti i file (*) All Files (*) Q3FileDialogAttributi Attributes Q3FileDialogIndietroBack Q3FileDialogAnnullaCancel Q3FileDialog,Copia o sposta un fileCopy or Move a File Q3FileDialog.Crea una nuova cartellaCreate New Folder Q3FileDialogDataDate Q3FileDialogElimina %1 Delete %1 Q3FileDialog"Vista dettagliata Detail View Q3FileDialogCartellaDir Q3FileDialogCartelle Directories Q3FileDialogCartella: Directory: Q3FileDialog ErroreError Q3FileDialogFile Q3FileDialog&Nome file: File &name: Q3FileDialog&Tipo file: File &type: Q3FileDialogTrova cartellaFind Directory Q3FileDialogInaccessibile Inaccessible Q3FileDialogVista a elenco List View Q3FileDialogCerca &in: Look &in: Q3FileDialogNomeName Q3FileDialogNuova cartella New Folder Q3FileDialog"Nuova cartella %1 New Folder %1 Q3FileDialog Nuova cartella 1 New Folder 1 Q3FileDialog"Livello superioreOne directory up Q3FileDialogApriOpen Q3FileDialogRi&caricaR&eload Q3FileDialogSola lettura Read-only Q3FileDialog"Lettura-scrittura Read-write Q3FileDialogLettura: %1Read: %1 Q3FileDialogSalva comeSave As Q3FileDialog*Mos&tra file nascostiShow &hidden files Q3FileDialogDimensioneSize Q3FileDialog OrdinaSort Q3FileDialog Ordina per &data Sort by &Date Q3FileDialog Ordina per &nome Sort by &Name Q3FileDialog,Ordina per dimen&sione Sort by &Size Q3FileDialogSpecialeSpecial Q3FileDialogJCollegamento simbolico a una cartellaSymlink to Directory Q3FileDialog@Collegamento simbolico a un fileSymlink to File Q3FileDialogTipoType Q3FileDialogSola scrittura Write-only Q3FileDialogScrittua: %1 Write: %1 Q3FileDialogla cartella the directory Q3FileDialogil filethe file Q3FileDialog2il collegamento simbolico the symlink Q3FileDialogBImpossibile creare la cartella %1Could not create directory %1 Q3LocalFs*Impossibile aprire %1Could not open %1 Q3LocalFsDImpossibile leggere la cartella %1Could not read directory %1 Q3LocalFs\Impossibile rimuovere il file o la cartella %1%Could not remove file or directory %1 Q3LocalFs>Impossibile rinominare %1 in %2Could not rename %1 to %2 Q3LocalFs.Impossibile scrivere %1Could not write %1 Q3LocalFsPersonalizza... Customize... Q3MainWindow<Operazione fermata dall'utenteOperation stopped by the userQ3NetworkProtocolAnnullaCancelQ3ProgressDialogApplicaApply Q3TabDialogAnnullaCancel Q3TabDialogPredefinitiDefaults Q3TabDialog AiutoHelp Q3TabDialogOK Q3TabDialog &Copia&Copy Q3TextEdit&Incolla&Paste Q3TextEdit &Rifai&Redo Q3TextEditA&nnulla&Undo Q3TextEditPulisciClear Q3TextEdit&TagliaCu&t Q3TextEditSeleziona tutto Select All Q3TextEdit ChiudiClose Q3TitleBar$Chiude la finestraCloses the window Q3TitleBarVContiene comandi per manipolare la finestra*Contains commands to manipulate the window Q3TitleBarVisualizza il nome della finestra e contiene i controlli per manipolarlaFDisplays the name of the window and contains controls to manipulate it Q3TitleBarMassimizzaMaximize Q3TitleBarMinimizzaMinimize Q3TitleBarMinimizza Restore down Q3TitleBarRipristina Restore up Q3TitleBarSistemaSystem Q3TitleBarAltro...More... Q3ToolBar(sconosciuto) (unknown) Q3UrlOperatorIl protocollo %1 non supporta la copia o lo spostamento di file o cartelleIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperator|Il protocollo %1 non supporta la creazione di nuove cartelle;The protocol `%1' does not support creating new directories Q3UrlOperatorhIl protocollo %1 non supporta la ricezione di file0The protocol `%1' does not support getting files Q3UrlOperatorxIl protocollo %1 non supporta l'elencazione delle cartelle6The protocol `%1' does not support listing directories Q3UrlOperator^Il protocollo %1 non supporta l'invio di file0The protocol `%1' does not support putting files Q3UrlOperator~Il protocollo %1 non supporta la rimozione di file o cartelle@The protocol `%1' does not support removing files or directories Q3UrlOperator|Il protocollo %1 non supporta la rinomina di file o cartelle@The protocol `%1' does not support renaming files or directories Q3UrlOperatorFIl protocollo %1 non supportato"The protocol `%1' is not supported Q3UrlOperatorA&nnulla&CancelQ3Wizard &Fine&FinishQ3Wizard Ai&uto&HelpQ3Wizard&Avanti >&Next >Q3Wizard< &Indietro< &BackQ3Wizard*Connessione rifiutataConnection refusedQAbstractSocket Host non trovatoHost not foundQAbstractSocket0Il socket non connessoSocket is not connectedQAbstractSocket8Operazione di socket scadutaSocket operation timed outQAbstractSocket &Seleziona tutto &Select AllQAbstractSpinBox AttivaActivate QApplicationVAttiva la finestra principale del programma#Activates the program's main window QApplication`L'eseguibile %1 richiede Qt %2, trovate Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationFErrore di libreria Qt incompatibileIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationSelezionaCheck QCheckBoxCommutaToggle QCheckBoxDeselezionaUncheck QCheckBoxD&Aggiungi ai colori personalizzati&Add to Custom Colors QColorDialogColori di &base &Basic colors QColorDialog,&Colori personalizzati&Custom colors QColorDialog&Verde:&Green: QColorDialog&Rosso:&Red: QColorDialog &Sat:&Sat: QColorDialog &Val:&Val: QColorDialogCanale a&lpha:A&lpha channel: QColorDialog Bl&u:Bl&ue: QColorDialog T&on:Hu&e: QColorDialog Seleziona colore Select color QColorDialog ChiudiClose QComboBox FalsoFalse QComboBoxApriOpen QComboBoxVeroTrue QComboBox%1: esiste gi%1: already existsQCoreApplication%1: non esiste%1: doesn't existsQCoreApplication*%1: ftok non riuscito%1: ftok failedQCoreApplication*%1: la chiave vuota%1: key is emptyQCoreApplication2%1: risorse insufficienti%1: out of resourcesQCoreApplication&%1: permesso negato%1: permission deniedQCoreApplication@%1: impossibile creare la chiave%1: unable to make keyQCoreApplication2%1: errore sconosciuto %2%1: unknown error %2QCoreApplicationHImpossibile applicare la transazioneUnable to commit transaction QDB2Driver.Impossibile connettersiUnable to connect QDB2DriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QDB2DriverDImpossibile impostare l'autocommitUnable to set autocommit QDB2DriverDImpossibile associare la variabileUnable to bind variable QDB2ResultBImpossibile eseguire l'istruzioneUnable to execute statement QDB2Result>Impossibile recuperare il primoUnable to fetch first QDB2ResultDImpossibile recuperare il prossimoUnable to fetch next QDB2ResultBImpossibile ottenere il record %1Unable to fetch record %1 QDB2ResultBImpossible preparare l'istruzioneUnable to prepare statement QDB2ResultAM QDateTimeEditPM QDateTimeEditam QDateTimeEditpm QDateTimeEditQDialQDialSliderHandle SliderHandleQDialSpeedoMeter SpeedoMeterQDialCompletatoDoneQDialog Cos'? What's This?QDialog&No&NoQDialogButtonBox&OK&OKQDialogButtonBox&S&YesQDialogButtonBoxInterrompiAbortQDialogButtonBoxApplicaApplyQDialogButtonBoxAnnullaCancelQDialogButtonBox ChiudiCloseQDialogButtonBox(Chiudi senza salvareClose without SavingQDialogButtonBox ScartaDiscardQDialogButtonBoxNon salvare Don't SaveQDialogButtonBox AiutoHelpQDialogButtonBox IgnoraIgnoreQDialogButtonBoxN&o a tutti N&o to AllQDialogButtonBoxOKQDialogButtonBoxApriOpenQDialogButtonBoxRipristinaResetQDialogButtonBox:Ripristina valori predefinitiRestore DefaultsQDialogButtonBoxRiprovaRetryQDialogButtonBox SalvaSaveQDialogButtonBoxSalva tuttoSave AllQDialogButtonBoxS &a tutti  Yes to &AllQDialogButtonBox Data di modifica Date Modified QDirModel SpecieKind QDirModelNomeName QDirModelDimensioneSize QDirModelTipoType QDirModel ChiudiClose QDockWidgetAgganciaDock QDockWidget MobileFloat QDockWidgetMenoLessQDoubleSpinBoxPiMoreQDoubleSpinBox&OK QErrorMessage>Mo&stra ancora questo messaggio&Show this message again QErrorMessage&Messaggio di debug:Debug Message: QErrorMessageErrore grave: Fatal Error: QErrorMessageAvviso:Warning: QErrorMessage%1 Cartella non trovata. Verifica che sia stato fornito il nome corretto della cartella.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 File non trovato. Verifica che sia stato fornito il nome file corretto.A%1 File not found. Please verify the correct file name was given. QFileDialog@%1 gi esiste. Vuoi sostituirlo?-%1 already exists. Do you want to replace it? QFileDialogS&cegli&Choose QFileDialog&Elimina&Delete QFileDialog&Nuova cartella &New Folder QFileDialog &Apri&Open QFileDialog&Rinomina&Rename QFileDialog &Salva&Save QFileDialogl%1 protetto da scrittua. Vuoi eliminarlo comunque?9'%1' is write protected. Do you want to delete it anyway? QFileDialog Tutti i file (*) All Files (*) QFileDialogFSei sicuro di voler eliminare '%1'?!Are sure you want to delete '%1'? QFileDialogIndietroBack QFileDialogDImpossibile eliminare la cartella.Could not delete directory. QFileDialog&Crea nuova cartellaCreate New Folder QFileDialog"Vista dettagliata Detail View QFileDialogCartelle Directories QFileDialogCartella: Directory: QFileDialog DiscoDrive QFileDialogFile QFileDialog&Nome file: File &name: QFileDialogFile di tipo:Files of type: QFileDialogTrova cartellaFind Directory QFileDialog AvantiForward QFileDialogVista a elenco List View QFileDialogCerca in:Look in: QFileDialog(Risorse del computer My Computer QFileDialogNuova cartella New Folder QFileDialogApriOpen QFileDialog$Cartella genitriceParent Directory QFileDialogRimuoviRemove QFileDialogSalva comeSave As QFileDialog MostraShow  QFileDialog*Mos&tra file nascostiShow &hidden files QFileDialogSconosciutoUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 byte%1 bytesQFileSystemModel <b>Il nome "%1" non pu essere utilizzato.</b><p>Prova a utilizzare un altro nome, con meno caratteri e nessun segno di punteggiatura.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelComputerQFileSystemModel Data di modifica Date ModifiedQFileSystemModel(Nome file non validoInvalid filenameQFileSystemModel SpecieKindQFileSystemModel(Risorse del computer My ComputerQFileSystemModelNomeNameQFileSystemModelDimensioneSizeQFileSystemModelTipoTypeQFileSystemModelQualunqueAny QFontDatabase AraboArabic QFontDatabase ArmenoArmenian QFontDatabaseBengaleseBengali QFontDatabaseGrassettoBold QFontDatabaseCirillicoCyrillic QFontDatabaseDemi QFontDatabaseDemi grassetto Demi Bold QFontDatabase Devanagari QFontDatabaseGeorgianoGeorgian QFontDatabase GrecoGreek QFontDatabaseGujarati QFontDatabaseGurmukhi QFontDatabase EbreoHebrew QFontDatabaseCorsivoItalic QFontDatabaseGiapponeseJapanese QFontDatabaseKannada QFontDatabaseKhmer QFontDatabaseCoreanoKorean QFontDatabaseLao QFontDatabase LatinoLatin QFontDatabase Malayalam QFontDatabaseMyanmar QFontDatabaseNormaleNormal QFontDatabaseObliquoOblique QFontDatabaseOgham QFontDatabaseOriya QFontDatabase RunicoRunic QFontDatabase&Cinese semplificatoSimplified Chinese QFontDatabaseSinhala QFontDatabaseSimboloSymbol QFontDatabaseSirianoSyriac QFontDatabaseTamil QFontDatabaseTelugu QFontDatabaseThaana QFontDatabaseThaiThai QFontDatabaseTibetanoTibetan QFontDatabase&Cinese tradizionaleTraditional Chinese QFontDatabaseVietnamita Vietnamese QFontDatabase&Carattere&Font QFontDialogDimen&sione&Size QFontDialogS&ottolineato &Underline QFontDialogEffettiEffects QFontDialog(S&tile del carattere Font st&yle QFontDialogEsempioSample QFontDialog&Seleziona carattere Select Font QFontDialogS&barrato Stri&keout QFontDialog(S&istema di scrittuaWr&iting System QFontDialogJCambiamento cartella non riuscito: %1Changing directory failed: %1QFtp(Connessione all'hostConnected to hostQFtp.Connessione all'host %1Connected to host %1QFtpJConnessione all'host non riuscita: %1Connecting to host failed: %1QFtp$Connessione chiusaConnection closedQFtpZConnessione rifiutata per la connessione dati&Connection refused for data connectionQFtpBConnessione all'host %1 rifiutataConnection refused to host %1QFtp.Connessione a %1 chiusaConnection to %1 closedQFtpFCreazione cartella non riuscita: %1Creating directory failed: %1QFtpDScaricamento file non riuscito: %1Downloading file failed: %1QFtp"Trovato l'host %1 Host %1 foundQFtp&Host %1 non trovatoHost %1 not foundQFtpHost trovato Host foundQFtpVElencazione della cartella non riuscita: %1Listing directory failed: %1QFtp0Accesso non riuscito: %1Login failed: %1QFtpNon connesso Not connectedQFtpFRimozione cartella non riuscita: %1Removing directory failed: %1QFtp>Rimozione file non riuscita: %1Removing file failed: %1QFtp$Errore sconosciuto Unknown errorQFtp6Invio file non riuscito: %1Uploading file failed: %1QFtp$Errore sconosciuto Unknown error QHostInfo Host non trovatoHost not foundQHostInfoAgent:Tipo di indirizzo sconosciutoUnknown address typeQHostInfoAgent$Errore sconosciuto Unknown errorQHostInfoAgent0Autenticazione richiestaAuthentication requiredQHttp(Connessione all'hostConnected to hostQHttp.Connessione all'host %1Connected to host %1QHttp$Connessione chiusaConnection closedQHttp*Connessione rifiutataConnection refusedQHttpNConnessione rifiutata (o tempo scaduto)!Connection refused (or timed out)QHttp.Connessione a %1 chiusaConnection to %1 closedQHttp Dati danneggiatiData corruptedQHttp6Richiesta HTTP non riuscitaHTTP request failedQHttpRichiesta una connessione HTTPS, ma il supporto SSL non stato compilato:HTTPS connection requested but SSL support not compiled inQHttpHost %1 trovato Host %1 foundQHttp&Host %1 non trovatoHost %1 not foundQHttpHost trovato Host foundQHttp@L'host richiede l'autenticazioneHost requires authenticationQHttpJContenutoHTTP spezzettato non validoInvalid HTTP chunked bodyQHttpVIntestazione della risposta HTTP non validaInvalid HTTP response headerQHttpTNessun server impostato per la connessioneNo server set to connect toQHttp<Richiesta autenticazione proxyProxy authentication requiredQHttpDIl proxy richiede l'autenticazioneProxy requires authenticationQHttp(Richiesta interrottaRequest abortedQHttp:Negoziazione SSL non riuscitaSSL handshake failedQHttpnIl server ha terminato inaspettatamente la connessione %Server closed connection unexpectedlyQHttp$Errore sconosciuto Unknown errorQHttpDProtocollo specificato sconosciutoUnknown protocol specifiedQHttpHLunghezza del contenuto non correttaWrong content lengthQHttp0Autenticazione richiestaAuthentication requiredQHttpSocketEngineDImpossibile avviare la transazioneCould not start transaction QIBaseDriver>Errore di apertura del databaseError opening database QIBaseDriverHImpossibile applicare la transazioneUnable to commit transaction QIBaseDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QIBaseDriverFImpossibile descrivere l'istruzioneCould not describe statement QIBaseResultVImpossibile recuperare il prossimo elementoCould not fetch next item QIBaseResult<Impossibile trovare il vettoreCould not find array QIBaseResultNImpossibile ottenere il vettore di datiCould not get array data QIBaseResultDImpossibile preparare l'istruzioneCould not prepare statement QIBaseResultFImpossibile iniziare la transazioneCould not start transaction QIBaseResultBImpossibile chiudere l'istruzioneUnable to close statement QIBaseResult.Impossibile creare BLOBUnable to create BLOB QIBaseResult:Impossibile eseguire la queryUnable to execute query QIBaseResult.Impossibile aprire BLOBUnable to open BLOB QIBaseResult0Impossibile leggere BLOBUnable to read BLOB QIBaseResult2Impossibile scrivere BLOBUnable to write BLOB QIBaseResultHNon rimasto spazio sul dispositivoNo space left on device QIODevice,Nessun file o cartellaNo such file or directory QIODevicePermesso negatoPermission denied QIODevice$Troppi file apertiToo many open files QIODevice$Errore sconosciuto Unknown error QIODevice<Metodo di inserimento Mac OS XMac OS X input method QInputContext:Metodo di inserimento WindowsWindows input method QInputContextXIM QInputContext2Metodo di inserimento XIMXIM input method QInputContextMancata corrispondenza dei dati di verifica dell'estensione in '%1')Plugin verification data mismatch in '%1'QLibrary`QLibrary::load_sys: Impossibile caricare %1 (%2)'QLibrary::load_sys: Cannot load %1 (%2)QLibraryvQLibrary::resolve_sys: Simbolo "%1" non definito in %2 (%3)7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibraryfQLibrary::unload_sys: Impossibile rimuovere %1 (%2)+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryVIl file %1 non un'estensione Qt valida.'The file '%1' is not a valid Qt plugin.QLibraryIl plugin '%1' utilizza librerie QT non compatibili. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryL'estensione %1 utilizza una libreria Qt incompatibile. (Non possibile mischiare librerie di debug e di rilascio.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryTLa libreria condivisa non stata trovata.!The shared library was not found.QLibrary$Errore sconosciuto Unknown errorQLibrary &Copia&Copy QLineEdit&Incolla&Paste QLineEdit &Rifai&Redo QLineEditA&nnulla&Undo QLineEdit&TagliaCu&t QLineEditEliminaDelete QLineEditSeleziona tutto Select All QLineEdit(%1: Indirizzo in uso%1: Address in use QLocalServer&%1: Errore nel nome%1: Name error QLocalServer&%1: Permesso negato%1: Permission denied QLocalServer2%1: Errore sconosciuto %2%1: Unknown error %2 QLocalServer2%1: Errore di connessione%1: Connection error QLocalSocket2%1: Connessione rifiutata%1: Connection refused QLocalSocket8%1: Datagramma troppo grande%1: Datagram too large QLocalSocket&%1: Nome non valido%1: Invalid name QLocalSocket>%1: Errore di accesso al socket%1: Socket access error QLocalSocket2%1: Errore sconosciuto %2%1: Unknown error %2 QLocalSocketFImpossibile iniziare la transazioneUnable to begin transaction QMYSQLDriverdImpossibile effettuare il commit della transazioneUnable to commit transaction QMYSQLDriver.Impossibile connettersiUnable to connect QMYSQLDriver@Impossibile aprire il database 'Unable to open database ' QMYSQLDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QMYSQLDriver>Impossibile associare il valoreUnable to bind value QMYSQLResultPImpossibile eseguire la query successivaUnable to execute next query QMYSQLResult:Impossibile eseguire la queryUnable to execute query QMYSQLResultBImpossibile eseguire l'istruzioneUnable to execute statement QMYSQLResult6Impossibile ottenere i datiUnable to fetch data QMYSQLResultDImpossibile preparare l'istruzioneUnable to prepare statement QMYSQLResultJImpossibile ripristinare l'istruzioneUnable to reset statement QMYSQLResultFImpossibile memorizzare i risultatiUnable to store result QMYSQLResult(Senza titolo) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Chiudi&Close QMdiSubWindowS&posta&Move QMdiSubWindow&Ripristina&Restore QMdiSubWindowDimen&sione&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow ChiudiClose QMdiSubWindow AiutoHelp QMdiSubWindowMassimi&zza Ma&ximize QMdiSubWindowMassimizzaMaximize QMdiSubWindowMenuMenu QMdiSubWindowMi&nimizza Mi&nimize QMdiSubWindowMinizzaMinimize QMdiSubWindow&Ripristina in basso Restore Down QMdiSubWindow,Sempre in &primo piano Stay on &Top QMdiSubWindow ChiudiCloseQMenu EseguiExecuteQMenuApriOpenQMenuB<p>Questo programma utilizza la versione Qt Open Source Edition %1.</p><p>Qt Open Source Edition destinata allo sviluppo di applicazioni Open Source. Per lo sviluppo di applicazioni proprietarie (sorgente chiuso) necessario disporre di una licenza Qt commerciale.</p><p>Vedere <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> per una panoramica del sistema di licenze Qt.</p>|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxl<p>Questo programma utilizza la versione %1 di Qt.</p>'

This program uses Qt version %1.

 QMessageBox$Informazioni su QtAbout Qt QMessageBox AiutoHelp QMessageBox(Nascondi dettagli...Hide Details... QMessageBoxOK QMessageBox$Mostra dettagli...Show Details... QMessageBoxSeleziona IM Select IMQMultiInputContextfUn altro socket gi in ascolto sulla stessa porta4Another socket is already listening on the same portQNativeSocketEngine*Connessione rifiutataConnection refusedQNativeSocketEngine>Connessione fuori tempo massimoConnection timed outQNativeSocketEngineHDatagramma troppo grande per l'invioDatagram was too large to sendQNativeSocketEngine,Host non raggiungibileHost unreachableQNativeSocketEngine@Descrittore di socket non validoInvalid socket descriptorQNativeSocketEngineErrore di rete Network errorQNativeSocketEngineLOperazione di rete fuori tempo massimoNetwork operation timed outQNativeSocketEngine,Rete non raggiungibileNetwork unreachableQNativeSocketEngine*Risorse insufficientiOut of resourcesQNativeSocketEnginePermesso negatoPermission deniedQNativeSocketEngineBTipo di protocollo non supportatoProtocol type not supportedQNativeSocketEngine:L'indirizzo non disponibileThe address is not availableQNativeSocketEngine,L'indirizzo protettoThe address is protectedQNativeSocketEngineLL'indirizzo associato gi utilizzato#The bound address is already in useQNativeSocketEngineRL'host remoto ha terminato la connessione%The remote host closed the connectionQNativeSocketEngineBImpossibile ricevere un messaggioUnable to receive a messageQNativeSocketEngine@Impossibile inviare un messaggioUnable to send a messageQNativeSocketEngine(Impossibile scrivereUnable to writeQNativeSocketEngine$Errore sconosciuto Unknown errorQNativeSocketEngineFOperazione su socket non supportataUnsupported socket operationQNativeSocketEnginebImpossibile aprire %1: il percorso una cartella#Cannot open %1: Path is a directoryQNetworkAccessFileBackendHErrore in fase di apertura di %1: %2Error opening %1: %2QNetworkAccessFileBackend6Errore di lettura da %1: %2Read error reading from %1: %2QNetworkAccessFileBackendXRichiesta di apertura del file non locale %1%Request for opening non-local file %1QNetworkAccessFileBackendJErrore in fase di scrittura di %1: %2Write error writing to %1: %2QNetworkAccessFileBackendJImpossibile aprire %1: una cartellaCannot open %1: is a directoryQNetworkAccessFtpBackendErrore durante lo scaricamento di %1 - il server ha risposto: %2)Error downloading %1 - server replied: %2 QNetworkReply@Il protocollo "%1" sconosciutoProtocol "%1" is unknown QNetworkReply(Operazione annullataOperation canceledQNetworkReplyImplFImpossibile iniziare la transazioneUnable to begin transaction QOCIDriver2Impossibile inizializzareUnable to initialize QOCIDriver(Impossibile accedereUnable to logon QOCIDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QOCIDriver>Impossibile associare il valoreUnable to bind value QOCIResult\Impossibile eseguire l'istruzione di selezione"Unable to execute select statement QOCIResultBImpossibile eseguire l'istruzioneUnable to execute statement QOCIResultBImpossible preparare l'istruzioneUnable to prepare statement QOCIResultdImpossibile effettuare il commit della transazioneUnable to commit transaction QODBCDriver.Impossibile connettersiUnable to connect QODBCDriverImpossibile connettersi - Il driver non supporta tutte le funzionalit richiesteCUnable to connect - Driver doesn't support all needed functionality QODBCDriverJImpossibile disabilitare l'autocommitUnable to disable autocommit QODBCDriverDImpossibile abilitare l'autocommitUnable to enable autocommit QODBCDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QODBCDriverQODBCResult::reset: Impossibile impostare 'SQL_CURSOR_STATIC' come attributo dell'istruzione. Controlla la configurazione del driver ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResultDImpossibile associare la variabileUnable to bind variable QODBCResultBImpossibile eseguire l'istruzioneUnable to execute statement QODBCResult>Impossibile recuperare il primoUnable to fetch first QODBCResultDImpossibile recuperare il prossimoUnable to fetch next QODBCResultDImpossibile preparare l'istruzioneUnable to prepare statement QODBCResult$URI non valido: %1Invalid URI: %1QObject>Operazione non supportata su %1Operation not supported on %1QObject6Errore di lettura da %1: %2Read error reading from %1: %2QObject:Errore di scrittura su %1: %2Write error writing to %1: %2QObjectNomeNameQPPDOptionsModel ValoreValueQPPDOptionsModelFImpossibile iniziare la transazioneCould not begin transaction QPSQLDriverBImpossibile appliare l'istruzioneCould not commit transaction QPSQLDriverhImpossibile effettuare il rollback della transazioneCould not rollback transaction QPSQLDriver.Impossibile connettersiUnable to connect QPSQLDriver0Impossibile creare queryUnable to create query QPSQLResultOrizzontale LandscapeQPageSetupWidget$Dimensioni pagina: Page size:QPageSetupWidgetOrigine carta: Paper source:QPageSetupWidgetVerticalePortraitQPageSetupWidgetDL'estensione non stata caricata.The plugin was not loaded. QPluginLoader$Errore sconosciuto Unknown error QPluginLoaderF%1 esiste gi. Vuoi sovrascriverlo?/%1 already exists. Do you want to overwrite it? QPrintDialogT%1 una cartella. Scegli un nome diverso.7%1 is a directory. Please choose a different file name. QPrintDialog&Opzioni << &Options << QPrintDialog&Opzioni >> &Options >> QPrintDialogStam&pa&Print QPrintDialogA0 QPrintDialogA1 QPrintDialogA2 QPrintDialogA3 QPrintDialogA4 QPrintDialogA5 QPrintDialogA6 QPrintDialogA7 QPrintDialogA8 QPrintDialogA9 QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0 QPrintDialogB1 QPrintDialogB10 QPrintDialogB2 QPrintDialogB3 QPrintDialogB4 QPrintDialogB5 QPrintDialogB6 QPrintDialogB7 QPrintDialogB8 QPrintDialogB9 QPrintDialogC5E QPrintDialogPersonalizzatoCustom QPrintDialogDLE QPrintDialogrIl file %1 non scrivibile. Scegli un nome file diverso.=File %1 is not writable. Please choose a different file name. QPrintDialogLetteraLetter QPrintDialogFile locale Local file QPrintDialog"Stampa su file...Print To File ... QPrintDialog(Stampa su file (PDF)Print to File (PDF) QPrintDialog6Stampa su file (Postscript)Print to File (Postscript) QPrintDialog&connessa localmentelocally connected QPrintDialogsconosciutounknown QPrintDialog ChiudiCloseQPrintPreviewDialogOrizzontale LandscapeQPrintPreviewDialog&Impostazioni pagina Page setupQPrintPreviewDialogVerticalePortraitQPrintPreviewDialog StampaPrintQPrintPreviewDialogMostra pagineShow facing pagesQPrintPreviewDialogJMostra l'anteprima di tutte le pagineShow overview of all pagesQPrintPreviewDialog*Mostra pagina singolaShow single pageQPrintPreviewDialogAvanzateAdvancedQPrintPropertiesWidget ModuloFormQPrintPropertiesWidget PaginaPageQPrintPropertiesWidgetFascicolaCollateQPrintSettingsOutput ColoreColorQPrintSettingsOutputModalit colore Color ModeQPrintSettingsOutput CopieCopiesQPrintSettingsOutput Copie:Copies:QPrintSettingsOutput&Stampa fronte/retroDuplex PrintingQPrintSettingsOutput ModuloFormQPrintSettingsOutputScala di grigio GrayscaleQPrintSettingsOutputLato lungo Long sideQPrintSettingsOutputNessunaNoneQPrintSettingsOutputOpzioniOptionsQPrintSettingsOutput*Impostazioni d'uscitaOutput SettingsQPrintSettingsOutputPagine da Pages fromQPrintSettingsOutputStampa tutto Print allQPrintSettingsOutput(Intervallo di stampa Print rangeQPrintSettingsOutputInversaReverseQPrintSettingsOutputSelezione SelectionQPrintSettingsOutputLato corto Short sideQPrintSettingsOutputatoQPrintSettingsOutput &Nome:&Name: QPrintWidget...... QPrintWidget ModuloForm QPrintWidgetPosizione: Location: QPrintWidget &File di uscita: Output &file: QPrintWidgetP&ropriet P&roperties QPrintWidgetAnteprimaPreview QPrintWidgetStampantePrinter QPrintWidget Tipo:Type: QPrintWidgetAnnullaCancelQProgressDialogApriOpen QPushButtonSelezionaCheck QRadioButton0valore ottale non validoinvalid octal valueQRegExp<delimitatore sinistro mancantemissing left delimQRegExp@non si verificato alcun erroreno error occurredQRegExpfine inattesaunexpected endQRegExpNErrore in fase di apertura del databaseError to open databaseQSQLite2DriverDImpossibile inizare la transazioneUnable to begin transactionQSQLite2DriverDImpossibile applicare l'istruzioneUnable to commit transactionQSQLite2DriverhImpossibile effettuare il rollback della transazioneUnable to rollback TransactionQSQLite2DriverBImpossibile eseguire l'istruzioneUnable to execute statementQSQLite2Result<Impossibile ottenere risultatiUnable to fetch resultsQSQLite2ResultNErrore in fase di chiusura del databaseError closing database QSQLiteDriverNErrore in fase di apertura del databaseError opening database QSQLiteDriverFImpossibile iniziare la transazioneUnable to begin transaction QSQLiteDriverDImpossibile applicare l'istruzioneUnable to commit transaction QSQLiteDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QSQLiteDriverNIl numero dei parametri non corrispondeParameter count mismatch QSQLiteResultBImpossibile associare i parametriUnable to bind parameters QSQLiteResultBImpossibile eseguire l'istruzioneUnable to execute statement QSQLiteResult8Impossibile ottenere la rigaUnable to fetch row QSQLiteResultJImpossibile ripristinare l'istruzioneUnable to reset statement QSQLiteResultIn bassoBottom QScrollBarBordo sinistro Left edge QScrollBarPagina gi Page down QScrollBarPagina sinistra Page left QScrollBarPagina destra Page right QScrollBarPagina suPage up QScrollBarPosizionePosition QScrollBarBordo destro Right edge QScrollBar(Scorrimento in basso Scroll down QScrollBarScorri qui Scroll here QScrollBar,Scorrimento a sinistra Scroll left QScrollBar(Scorrimento a destra Scroll right QScrollBar&Scorrimento in alto Scroll up QScrollBarIn altoTop QScrollBar+ QShortcutAlt QShortcutIndietroBack QShortcut ChiamaCall QShortcutBloc Maiusc Caps Lock QShortcutBlocMaiuscCapsLock QShortcutContesto1Context1 QShortcutContesto2Context2 QShortcutContesto3Context3 QShortcutContesto4Context4 QShortcutCtrl QShortcutCancDel QShortcutCancDelete QShortcutGiDown QShortcutFineEnd QShortcut InvioEnter QShortcutEsc QShortcutEscEscape QShortcutF%1F%1 QShortcutPreferiti Favorites QShortcut AvantiForward QShortcutRiagganciaHangup QShortcut AiutoHelp QShortcutHomeHome QShortcutPagina iniziale Home Page QShortcutIns QShortcutInsInsert QShortcutSinistraLeft QShortcutMenu QShortcutMeta QShortcutNo QShortcutBllocc NumNum Lock QShortcutBlocNumNumLock QShortcut(Blocco tast numerico Number Lock QShortcutApri URLOpen URL QShortcutPag Gi Page Down QShortcut Pag SuPage Up QShortcut PausaPause QShortcut PagGiPgDown QShortcut PagSuPgUp QShortcut StampPrint QShortcutStampa schermo Print Screen QShortcutAggiornaRefresh QShortcut InvioReturn QShortcut DestraRight QShortcutBloc Scorr Scroll Lock QShortcutBlocScorr ScrollLock QShortcut CercaSearch QShortcutSelezionaSelect QShortcut MaiuscShift QShortcut SpazioSpace QShortcut FermaStop QShortcut R sistSysReq QShortcut R sistSystem Request QShortcutTab QShortcutSuUp QShortcutRiduci volume Volume Down QShortcutSilenzia volume Volume Mute QShortcutAumenta volume Volume Up QShortcutSYes QShortcutPagina gi Page downQSliderPagina sinistra Page leftQSliderPagina destra Page rightQSliderPagina suPage upQSliderPosizionePositionQSliderLOperazione di rete fuori tempo massimoNetwork operation timed outQSocks5SocketEnginebConnessione al server Socks5 fuori tempo massimo /Socks5 timeout error connecting to socks serverQSocks5SocketEngineMenoLessQSpinBoxPiMoreQSpinBoxAnnullaCancelQSql.Annullare le modifiche?Cancel your edits?QSqlConfermaConfirmQSqlEliminaDeleteQSql>Eliminare questa registrazione?Delete this record?QSqlInserisciInsertQSqlNoQSql*Salvare le modifiche? Save edits?QSqlAggiornaUpdateQSqlSYesQSqlfImpossibile fornire un certificato senza chiave, %1,Cannot provide a certificate with no key, %1 QSslSocketbErrore in fase di creazione del contesto SSL (%1)Error creating SSL context (%1) QSslSocketdErrore durante la creazione della sessione SSL, %1Error creating SSL session, %1 QSslSocketdErrore durante la creazione della sessione SSL: %1Error creating SSL session: %1 QSslSocketDErrore durante l'handshake SSL: %1Error during SSL handshake: %1 QSslSocket`Errore di caricamento del certificato locale, %1#Error loading local certificate, %1 QSslSocket\Errore di caricamento della chiave privata, %1Error loading private key, %1 QSslSocket:Errore in fase di lettura: %1Error while reading: %1 QSslSocketTLista di cifratura non valida o vuota (%1)!Invalid or empty cipher list (%1) QSslSocketlLa chiave privata non certifica la chiave pubblica, %1/Private key does not certificate public key, %1 QSslSocket>Impossibile scrivere i dati: %1Unable to write data: %1 QSslSocketBImpossibile aprire la connessioneUnable to open connection QTDSDriverDImpossibile utilizzare il databaseUnable to use database QTDSDriver,Scorrimento a sinistra Scroll LeftQTabBar(Scorrimento a destra Scroll RightQTabBar &Copia&Copy QTextControl&Incolla&Paste QTextControl &Rifai&Redo QTextControlA&nnulla&Undo QTextControlBCopia posizione del co&llegamentoCopy &Link Location QTextControl&TagliaCu&t QTextControlEliminaDelete QTextControlSeleziona tutto Select All QTextControlApriOpen QToolButton PremiPress QToolButtonHQuesta piattaforma non supporta IPv6#This platform does not support IPv6 QUdpSocket RifaiRedo QUndoGroupAnnullaUndo QUndoGroup<vuoto> QUndoModel RifaiRedo QUndoStackAnnullaUndo QUndoStack<Impossibile visualizzare l'URLCannot show URL QWebFrameJImpossibile visualizzare il tipo mimeCannot show mimetype QWebFrame$Il file non esisteFile does not exist QWebFramepCaricamento frame interrotto da un cambiamento di regole&Frame load interruped by policy change QWebFrame"Richiest bloccataRequest blocked QWebFrame&Richiesta annullataRequest cancelled QWebFrame %1 (%2x%3 pixel)%1 (%2x%3 pixels)QWebPage,Aggiungi al dizionarioAdd To DictionaryQWebPage2Richiesta HTTP non validaBad HTTP requestQWebPageGrassettoBoldQWebPage(Controlla ortografiaCheck SpellingQWebPageZControlla l'ortografia durante la digitazioneCheck Spelling While TypingQWebPageScegli file Choose FileQWebPage CopiaCopyQWebPageCopia immagine Copy ImageQWebPage$Copia collegamento Copy LinkQWebPage TagliaCutQWebPagePredefinitaDefaultQWebPageDirezione DirectionQWebPageCaratteriFontsQWebPageIndietroGo BackQWebPage Avanti Go ForwardQWebPage IgnoraIgnoreQWebPage Ignora Ignore Grammar context menu itemIgnoreQWebPageCorsivoItalicQWebPage.Nessun file selezionatoNo file selectedQWebPageApri immagine Open ImageQWebPage"Apri collegamento Open LinkQWebPage4Apri in una nuova finestraOpen in New WindowQWebPageIncollaPasteQWebPage Ricerche recentiRecent searchesQWebPageRicaricaReloadQWebPageRipristinaResetQWebPageSalva immagine Save ImageQWebPage*Salva collegamento... Save Link...QWebPageCerca nel WebSearch The WebQWebPage FermaStopQWebPage InviaSubmitQWebPage InviaQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPageQuesto l'indice ricercabile. Digita la parola chiave di ricerca: 3This is a searchable index. Enter search keywords: QWebPageSottolineato UnderlineQWebPageSconosciutaUnknownQWebPage*Analizzatore web - %2Web Inspector - %2QWebPage Cos'? What's This?QWhatsThisAction*QWidget &Fine&FinishQWizard Ai&uto&HelpQWizardAva&nti&NextQWizardAva&nti >&Next >QWizard< &Indietro< &BackQWizardAnnullaCancelQWizardApplicaCommitQWizardContinuaContinueQWizardCompletatoDoneQWizardIndietroGo BackQWizard AiutoHelpQWizardEsciQuitQWizard%1 - [%2] %1 - [%2] QWorkspace&Chiudi&Close QWorkspace&Sposta&Move QWorkspace&Ripristina&Restore QWorkspace&Dimensioni&Size QWorkspace&Srotola&Unshade QWorkspace ChiudiClose QWorkspaceMa&ssimizza Ma&ximize QWorkspaceMi&nimizza Mi&nimize QWorkspaceMinimizzaMinimize QWorkspace&Ripristina in basso Restore Down QWorkspace&ArrotolaSh&ade QWorkspace,Sempre in &primo piano Stay on &Top QWorkspaceperrore nella dichiarazione di testo di un'entit esterna3error in the text declaration of an external entityQXmlbriscontrato errore durante l'analisi del commento$error occurred while parsing commentQXmldriscontrato errore durante l'analisi del contenuto$error occurred while parsing contentQXmlriscontrato errore durante l'analisi della definizione del tipo di documento5error occurred while parsing document type definitionQXmldriscontrato errore durante l'analisi dell'elemento$error occurred while parsing elementQXmlhriscontrato errore durante l'analisi dei riferimenti&error occurred while parsing referenceQXml^nome dell'istruzione di elaborazione non valido'invalid name for processing instructionQXmlXpi di una definizione del tipo di documento&more than one document type definitionQXml@non si verificato alcun erroreno error occurredQXml entit ricorsiverecursive entitiesQXml,tag non corrispondente tag mismatchQXml$carattere inattesounexpected characterQXml$fine file inattesaunexpected end of fileQXmlR%1 un identificatore PUBLIC non valido.#%1 is an invalid PUBLIC identifier. QXmlStreamH%1 un nome di codifica non valido.%1 is an invalid encoding name. QXmlStream, ma ricevuto ' , but got ' QXmlStream*Attributo ridefinito.Attribute redefined. QXmlStream>La codifica %1 non supportataEncoding %1 is unsupported QXmlStreamfRiscontrato contenuto non codificato correttamente.(Encountered incorrectly encoded content. QXmlStream6Entit '%1' non dichiarata.Entity '%1' not declared. QXmlStreamAtteso  Expected  QXmlStreamZContenuto aggiuntivo alla fine del documento.!Extra content at end of document. QXmlStream2Carattere XML non valido.Invalid XML character. QXmlStream(Nome XML non valido.Invalid XML name. QXmlStreamFStringa di versione XML non valida.Invalid XML version string. QXmlStreamZAttributo non valido nella dichiarazione XML.%Invalid attribute in XML declaration. QXmlStream*Documento non valido.Invalid document. QXmlStream<Valore dell'entit non valido.Invalid entity value. QXmlStream^Prefisso di spazio dei nomi '%1' non dichiarato"Namespace prefix '%1' not declared QXmlStream<Fine imprevista del documento.Premature end of document. QXmlStream4Rilevata entit ricorsiva.Recursive entity detected. QXmlStreamZSequenza ']]>' non consentita nel contenuto.&Sequence ']]>' not allowed in content. QXmlStream(Atteso tag iniziale.Start tag expected. QXmlStreamInatteso ' Unexpected ' QXmlStream8Versione XML non supportata.Unsupported XML version. QXmlStreamhLa dichiarazione XML non all'inizio del documento.)XML declaration not at start of document. QXmlStream*%1 un %2 non valido%1 is an invalid %2 QtXmlPatterns@Un commento non pu contenere %1A comment cannot contain %1 QtXmlPatternsRUn commentio non pu terminare con un %1.A comment cannot end with a %1. QtXmlPatterns<La variabile %1 inutilizzataThe variable %1 is unused QtXmlPatterns vuotoempty QtXmlPatternsesattamente uno exactly one QtXmlPatternsuno o pi one or more QtXmlPatternszero o pi zero or more QtXmlPatternszero o uno zero or one QtXmlPatternsSilenziatoMuted VolumeSliderVolume: %1% Volume: %1% VolumeSliderIn bassoBottomWebCore::PlatformScrollbarBordo sinistro Left edgeWebCore::PlatformScrollbarPagina gi Page downWebCore::PlatformScrollbarPagina sinistra Page leftWebCore::PlatformScrollbarPagina destra Page rightWebCore::PlatformScrollbarPagina suPage upWebCore::PlatformScrollbarBordo destro Right edgeWebCore::PlatformScrollbar(Scorrimento in basso Scroll downWebCore::PlatformScrollbarScorri qui Scroll hereWebCore::PlatformScrollbar,Scorrimento a sinistra Scroll leftWebCore::PlatformScrollbar(Scorrimento a destra Scroll rightWebCore::PlatformScrollbar&Scorrimento in alto Scroll upWebCore::PlatformScrollbarIn altoTopWebCore::PlatformScrollbarkeepassx-0.4.3/share/keepassx/i18n/keepassx-fr_FR.qm0000664000175000017500000016715511342454754021255 0ustar felixfelix@B.gC.I1^L2R3T4U6V<}@*bA*B*D*F+2H+fP+R+T,V,6X,jf,r,-h;;;K;mC~H4MhQ>QhSiZl;Zln^\6]Ҡ_=tlQ$.?֍1$?VEyVEßo?}M#n*%*0++|3JqGH8 J hSLbPLbLbLbyLblrLbzALbM M}>M4N N0N:NBNlO>oO@T7^T>VW3X|Yn[ %>[ %6[ %;[ %C[ %n*[Z\^nT1a.:T"u/BPe2c ..a34t8.;nqI*[$+l]ef/~ hRkMJq|1_˓)8eO@ ,.d<\ t=^Dsj[ 5mr} ~ 0IaI<ME[n{FRvW0NC|H % R\`yX 931 n0/  /S Li7:>8H#NY($#ͷ&:^U-Kj5ۻ55rCBW/b~vNG%mfWN?:l:>5ls / nIJ 1FYsFYsFrpHpVt ]ee0ޚIK]TdH m?^@IÌS&Î#Nr=5*/mF4'^Jm!"C #C-k2M6G6GT:CkC=*DcK!N5CPP=pUDZ{SX}Enb]Ǻ_HDdHW9+znl-7>\2veq X= ={3n OJ Jims1&n&nS,8#iDɃQP''_RF`'>ߎkmnzS߸>[)nH>,N!0E3344#pI=MJNRO_RUtuHuHw,#yJ  pNace3;m :kƭ|:Ȟ譾NB#^ ѕD A Db LY gw` l[~ Fc O (") dѧ  < Cm C7 C<, CCS Cn D$ MT n% * ^n l9/ 3< 9.J 5s~# 5tc~m 8T J ! LZ~L OZO} TA c d:2 d</E d<9 dG d dIi nM qEBI s/n s( k u~5 ~· w  N"ց ) >> > >B t1 l4 p ˔N F> g _ =@B lSQ f f C f D f U, f W f Z f rw f  ;   # I YH LJu Xо Yn ^ h).LO +eŜ J?$ JT/   * )Ȇ M, ͓> ֕ ~ 1 Ӑ Q. g  A:9s 2K &+*M ?I/ Bz LuR) Mx Z$/ [c vYy G ?? S @6 g 4 cc  g 5 w s s!] s , ȶ  W5 ܾM @~` ƙf7 l A zx ?@P  T^Vu T^] 7wy? SusA ^_ ^}F mbDy* n@ os }~l .K P P .dt k~ @ 0~= Er7.K[aPYB:$h$ߎ.{E?EbB1L&R܎=e>RysO[q`hTkO8#n ؾ!K463ctC%-!/ў/ўC^ wQ:aYqndEg^`)p=tF(s}2Ȟ{\[ cit AuteurAuthor AboutDialog&Traduction couranteCurrent Translation AboutDialogDveloppeur Developer AboutDialogNDveloppeur et Administrateur du ProjetDeveloper, Project Admin AboutDialog ErreurError AboutDialogHLe fichier '%1' n'a pu tre trouv.File '%1' could not be found. AboutDialogToutes les informations concernant la mthode pour traduire KeePassX peuvent tre obtenues l'adresse suivante:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg"Ajouter un Signet Add BookmarkAddBookmarkDlg*Tous les Fichiers (*) All Files (*)AddBookmarkDlgParcourir... Browse...AddBookmarkDlg$Modifier un Signet Edit BookmarkAddBookmarkDlgFichier :File:AddBookmarkDlg@Bases de Donnes KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgTtre :Title:AddBookmarkDlg$Saisie Automatique Auto-Type AutoTypeDlglCliquer sur une entre pour la saisir automatiquement."Click on an entry to auto-type it. AutoTypeDlg GroupeGroup AutoTypeDlg:KeePassX - Saisie AutomatiqueKeePassX - Auto-Type AutoTypeDlg TtreTitle AutoTypeDlg"Nom d'utilisateurUsername AutoTypeDlgN'%1' n'est pas un nombre entier valide. '%1' is not valid integer value.CDbSettingsDlgFAES(Rijndael): 256 Bits (dfaut)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg ErreurErrorCDbSettingsDlgAccepterOKCDbSettingsDlg>Dfinissez le nombre de passes.1Please determine the number of encryption rounds.CDbSettingsDlgPrfrencesSettingsCDbSettingsDlgXLe nombre de passes doit tre suprieur 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg$Twofish : 256 BitsTwofish: 256 BitCDbSettingsDlgAvertissementWarningCDbSettingsDlg%1 Bits%1 Bit CEditEntryDlg 1 mois1 Month CEditEntryDlg1 semaine1 Week CEditEntryDlg1 an1 Year CEditEntryDlg2 semaines2 Weeks CEditEntryDlg 3 mois3 Months CEditEntryDlg3 semaines3 Weeks CEditEntryDlg 6 mois6 Months CEditEntryDlg6Ajouter une pice jointe...Add Attachment... CEditEntryDlgCalendrier... Calendar... CEditEntryDlg:N'a pas pu ouvrir le fichier.Could not open file. CEditEntryDlg6Supprimer la pice jointe ?Delete Attachment? CEditEntryDlg0Modification de l'entre Edit Entry CEditEntryDlg ErreurError CEditEntryDlgJErreur lors de l'criture du fichier.Error while writing the file. CEditEntryDlgNouvelle Entre New Entry CEditEntryDlgNon, annuler No, Cancel CEditEntryDlgOKOK CEditEntryDlgLe mot de passe et sa confirmation ne sont pas identiques ! Veuillez vrifier votre saisie.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg<Enregistrer la pice jointe...Save Attachment... CEditEntryDlgfL'entre choisie n'a pas d'attachement ou est vide.2The chosen entry has no attachment or it is empty. CEditEntryDlgAujourd'huiToday CEditEntryDlgAvertissementWarning CEditEntryDlgOuiYes CEditEntryDlgVous tes sur le point de supprimer la pice jointe de cette entre. En tes-vous sr ?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg"[Entre sans Nom][Untitled Entry] CEditEntryDlg%1 Bits%1 Bits CGenPwDialog6Gnrateur de mots de passePassword Generator CGenPwDialogD%1: Le fichier n'a pu tre charg.%1: File could not be loaded.CSelectIconDlg>Ajouter une icne personnaliseAdd Custom IconCSelectIconDlg(Ajouter une icne... Add Icons...CSelectIconDlgUne erreur est survenue lors du chargement (des) de l'icne(s) :+An error occured while loading the icon(s):CSelectIconDlglUne erreur est survenue lors du chargement de l'icne.(An error occured while loading the icon.CSelectIconDlgSupprimerDeleteCSelectIconDlg ErreurErrorCSelectIconDlgImages (%1) Images (%1)CSelectIconDlgSlectionnerPickCSelectIconDlgRemplacer...  Replace...CSelectIconDlg<Slectionner un rpertoire....Select a directory... CSettingsDlg<Slectionner un excutable....Select an executable... CSettingsDlgPrfrencesSettings CSettingsDlg"Langue du SystmeSystem Language CSettingsDlgCalendrierCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Groupe d'alas gnr avec succs !</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg&Collecte d'alas... Bougez la souris et/ou appuyez sur des touches jusqu' en avoir collect suffisamment pour une gnration de nombre alatoire.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg Collecte d'alasEntropy CollectionCollectEntropyDlg<Gnrateur alatoire de nombreRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialog,Nom de la Pice jointeAttachment NameCustomizeDetailViewDialogGBCustomizeDetailViewDialogGrasBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialog CentrCenteredCustomizeDetailViewDialogCommentaireCommentCustomizeDetailViewDialog Date de cration Creation DateCustomizeDetailViewDialogDialogueDialogCustomizeDetailViewDialog"Date d'expirationExpiration DateCustomizeDetailViewDialog Taille de Police Font SizeCustomizeDetailViewDialog GroupeGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogItaliqueItalicCustomizeDetailViewDialogJustifi JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog*Date de dernier accsLast Access DateCustomizeDetailViewDialog:Date de dernire modificationLast Modification DateCustomizeDetailViewDialogAlign Gauche Left-AlignedCustomizeDetailViewDialogMot de passePasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog.Editeur de texte avancRich Text EditorCustomizeDetailViewDialogAlign Droite Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialogModles TemplatesCustomizeDetailViewDialog Couleur du texte Text ColorCustomizeDetailViewDialog<Temps restant avant expirationTime till ExpirationCustomizeDetailViewDialog TtreTitleCustomizeDetailViewDialogSUCustomizeDetailViewDialogSoulign UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialog"Nom d'utilisateurUsernameCustomizeDetailViewDialog JamaisNeverDatabaseAlgorithme : Algorithm:DatabaseSettingsDlgCalcul des passes pour un dlai d'une seconde sur cet ordinateur6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlgBPrfrences de la base de donnesDatabase SettingsDatabaseSettingsDlgChiffrage EncryptionDatabaseSettingsDlg$Nombre de passes :Encryption Rounds:DatabaseSettingsDlgCommentaireCommentDetailViewTemplateCrationCreationDetailViewTemplateExpiration ExpirationDetailViewTemplate GroupeGroupDetailViewTemplateDernier accs Last AccessDetailViewTemplate*Dernire modificationLast ModificationDetailViewTemplateMot de passePasswordDetailViewTemplate TtreTitleDetailViewTemplateURLURLDetailViewTemplate"Nom d'utilisateurUsernameDetailViewTemplate%1%1EditEntryDialog%1 Bits%1 BitEditEntryDialogPice jointe : Attachment:EditEntryDialogCommentaire :Comment:EditEntryDialog"Modifier l'entre Edit EntryEditEntryDialogExpire le :Expires:EditEntryDialog &Gen.Ge&n.EditEntryDialogGroupe :Group:EditEntryDialogIcne :Icon:EditEntryDialog JamaisNeverEditEntryDialogMot de passe : Password:EditEntryDialogQualitQuality:EditEntryDialogTtre :Title:EditEntryDialog URL :URL:EditEntryDialog&Nom d'utilisateur : Username:EditEntryDialog>>EditGroupDialog(Proprits du groupeGroup PropertiesEditGroupDialogIcne :Icon:EditGroupDialogTtre :Title:EditGroupDialogXDouble cliquez sur une entre pour l'ouvrir.'Double click on an entry to jump to it.ExpiredEntriesDialog ExpirExpiredExpiredEntriesDialog Entres expiresExpired EntriesExpiredEntriesDialogPEntres expires dans la base de donnesExpired Entries in the DatabaseExpiredEntriesDialog GroupeGroupExpiredEntriesDialog TtreTitleExpiredEntriesDialog"Nom d'utilisateurUsernameExpiredEntriesDialog*Tous les Fichiers (*) All Files (*)Export_KeePassX_Xml&Fichier XML KeePassKeePassX XML FileExport_KeePassX_Xml(Fichiers XML (*.xml)XML Files (*.xml)Export_KeePassX_Xml*Tous les Fichiers (*) All Files (*) Export_TxtFichier texte Text File Export_Txt,Fichiers texte (*.txt)Text Files (*.txt) Export_Txt&Exportation choue Export Failed ExporterBase&Exporter Fichier...Export File... ExporterBase>Une erreur fatale est survenue.A fatal error occurred. FileErrorsDlai dpass.A timeout occurred. FileErrorslUne erreur est survenue lors de la lecture du fichier..An error occurred while reading from the file. FileErrorslUne erreur est survenue lors de l'criture du fichier.,An error occurred while writing to the file. FileErrorsJUne erreur de ressource est survenue.An resource error occurred. FileErrorsLUne erreur non spcifie est survenue.An unspecified error occurred. FileErrorsAucune erreur.No error occurred. FileErrors@Le fichier n'est pas accessible.The file could not be accessed. FileErrors:Le fichier n'a pu tre copi.The file could not be copied. FileErrors<Le fichier n'a pu tre ouvert.The file could not be opened. FileErrors<Le fichier n'a pu tre enlev.The file could not be removed. FileErrors>Le fichier n'a pu tre renomm.The file could not be renamed. FileErrorsLLe fichier ne peut tre redimensionn.The file could not be resized. FileErrors4L'opration a t annule.The operation was aborted. FileErrors`La position dans le fichier n'a pu tre change..The position in the file could not be changed. FileErrors&Lettres minuscu&les&Lower LettersGenPwDlg &Moins&MinusGenPwDlg&Nombres&NumbersGenPwDlg(Caractres &Spciaux&Special CharactersGenPwDlgSo&ulign &UnderlineGenPwDlg&Lettres majusc&ules&Upper LettersGenPwDlgEspaces blancs &White SpacesGenPwDlgPCollecter seulement une fois par sessionCollect only once per sessionGenPwDlg6Activer la collecte d'alasEnable entropy collectionGenPwDlgS'assurer que le mot de passe contienne des caractres de chaque groupe9Ensure that password contains characters from every groupGenPwDlgFExclure les caractres ressemblantsExclude look-alike charactersGenPwDlgGnrerGenerateGenPwDlgLongueur:Length:GenPwDlgMinuscules Lower LettersGenPwDlg,Nouveau mot de passe : New Password:GenPwDlgNombresNumbersGenPwDlgOptionsOptionsGenPwDlg6Gnrateur de mots de passePassword GeneratorGenPwDlgPrononable PronounceableGenPwDlgQualit:Quality:GenPwDlgAlatoireRandomGenPwDlg&Caractres spciauxSpecial CharactersGenPwDlgMajuscules Upper LettersGenPwDlg*Tous les Fichiers (*) All Files (*)Import_KWalletXmlNLe document ne contient pas de donne.Document does not contain data.Import_KWalletXml&Importation choue Import FailedImport_KWalletXmlpDonne XML invalide (voir 'stdout pour plus de dtails).*Invalid XML data (see stdout for details).Import_KWalletXml*Fichier XML invalide.Invalid XML file.Import_KWalletXml(Fichiers XML (*.xml)XML Files (*.xml)Import_KWalletXml*Tous les Fichiers (*) All Files (*)Import_KeePassX_Xml&Importation choue Import FailedImport_KeePassX_Xml8Fichiers XML KeePass (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlErreur d'analyse : le fichier n'est pas un fichier XML KeePassX valide.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlfErreur d'analyse XML la ligne %1 colonne %2 : %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml*Tous les Fichiers (*) All Files (*)Import_PwManagerjLes fichiers compresss ne sont pas encore supports.'Compressed files are not supported yet.Import_PwManagernLe fichier est endommag (le test de hachage a chou).#File is damaged (hash test failed).Import_PwManager(Le fichier est vide.File is empty.Import_PwManagerbLe fichier n'est pas un fichier PwManager valide. File is no valid PwManager file.Import_PwManager&Importation choue Import FailedImport_PwManagerpDonne XML invalide (voir 'stdout pour plus de dtails).*Invalid XML data (see stdout for details).Import_PwManager4Fichiers PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManagerJAlgorithme d'encryptage non support.!Unsupported encryption algorithm.Import_PwManagerBVersion de fichier non supporte.Unsupported file version.Import_PwManagerHAlgorithme de hachage non support. Unsupported hash algorithm.Import_PwManager*Mauvais mot de passe.Wrong password.Import_PwManager&Importation choue Import Failed ImporterBase&Importer fichier...Import File... ImporterBase2N'a pu ouvrir le fichier.Could not open file. Kdb3DatabaseLe dcryptage a chou. La cl est mauvaise ou le fichier est endommag.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseLe test de hachage a chou. La cl est mauvaise ou le fichier est endommag.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database@Arborescence de groupe invalide.Invalid group tree. Kdb3Database0Le fichier cl est vide.Key file is empty. Kdb3DatabasehLa base de donnes doit contenir au moins un groupe.-The database must contain at least one group. Kdb3Database`Erreur inattendue : Le dcalage est hors limite.)Unexpected error: Offset is out of range. Kdb3DatabasezTaille de fichier inattendue (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database>Algorithme de cryptage inconnu.Unknown Encryption Algorithm. Kdb3DatabaseBVersion de fichier non supporte.Unsupported File Version. Kdb3Database$Mauvaise signatureWrong Signature Kdb3Database OctetsBytesKdb3Database::EntryHandleGioGiBKdb3Database::EntryHandlekioKiBKdb3Database::EntryHandleMioMiBKdb3Database::EntryHandlebEtes vous sr de vouloir effacer ces %1 entres ?1Are you sure you want to delete these %1 entries?KeepassEntryView^Etes vous sr de vouloir effacer cette entre ?+Are you sure you want to delete this entry?KeepassEntryViewvAu moins un groupe doit exister avant d'ajouter une entre.5At least one group must exist before adding an entry.KeepassEntryViewPice jointe AttachmentKeepassEntryViewCommentairesCommentsKeepassEntryViewCr leCreationKeepassEntryViewEffacer ?Delete?KeepassEntryView ErreurErrorKeepassEntryViewExpire leExpiresKeepassEntryView GroupeGroupKeepassEntryViewDernier accs Last AccessKeepassEntryView$Dernier changement Last ChangeKeepassEntryViewOKOKKeepassEntryViewMot de passePasswordKeepassEntryView TtreTitleKeepassEntryViewURLURLKeepassEntryView"Nom d'utilisateurUsernameKeepassEntryViewEtes vous sr de vouloir effacer ce groupe, ses groupes enfants et toutes leurs entres ?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewEffacer ?Delete?KeepassGroupView2Rsultats de la rechercheSearch ResultsKeepassGroupView%1 jours%1 DaysKeepassMainWindow%1 mois %1 MonthsKeepassMainWindow %1 ans%1 YearsKeepassMainWindow>Verrouille l'espace de travai&l&Lock WorkspaceKeepassMainWindow 1 jour1 DayKeepassMainWindow 1 mois1 MonthKeepassMainWindow1 an1 YearKeepassMainWindow*Tous les Fichiers (*) All Files (*)KeepassMainWindow*Dupliquer les entres Clone EntriesKeepassMainWindow$Dupliquer l'entre Clone EntryKeepassMainWindowtImpossible de crer le fichier de verrouillage de la base.#Couldn't create database lock file.KeepassMainWindowvImpossible d'enlever le fichier de verrouillage de la base.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+ACtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow6Base de donnes verrouilleDatabase lockedKeepassMainWindow&Effacer les entresDelete EntriesKeepassMainWindow Effacer l'entre Delete EntryKeepassMainWindow ErreurErrorKeepassMainWindow ExpirExpiredKeepassMainWindowDLe fichier n'a pu tre enregistr.File could not be saved.KeepassMainWindow@Bases de donnes KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindowFChargement de la base de donnes...Loading Database...KeepassMainWindow,Le chargement a chouLoading FailedKeepassMainWindow8Ouvrir la base de donnes...Open Database...KeepassMainWindowPrtReadyKeepassMainWindowBEnregistrer la base de donnes...Save Database...KeepassMainWindow@Enregistrer le fichier modifi ?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow2Afficher la barre ou&tils Show &ToolbarKeepassMainWindowLe fichier courant a t modifi. Voulez-vous enregistrer les changements ??The current file was modified. Do you want to save the changes?KeepassMainWindow@La base de donnes n'existe pas.!The database file does not exist.KeepassMainWindowLa base de donnes que vous essayez d'ouvrir est verrouille.Cela signifie soit que quelqu'un d'autre a ouvert le fichier soit que KeePassX a plant la dernire fois qu'il a ouvert la base.Voulez-vous l'ouvrir quand mme ?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowL'erreur suivante est survenue lors de l'ouverture de la base de donnes :7The following error occured while opening the database:KeepassMainWindowBDverrouille l'espace de travai&lUn&lock WorkspaceKeepassMainWindowrErreur inconnue lors du chargement de la base de donnes.%Unknown error while loading database.KeepassMainWindowMoins d'un jourless than 1 dayKeepassMainWindownouveaunewKeepassMainWindow ErreurErrorMainHLe fichier '%1' n'a pu tre trouv.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow pr&opos... &About... MainWindow*&Ajouter un Signet...&Add Bookmark... MainWindowD&Ajouter un nouveau sous-groupe...&Add New Subgroup... MainWindow&Signets &Bookmarks MainWindow&&Dupliquer l'entre &Clone Entry MainWindow4Fer&mer la base de donnes&Close Database MainWindow&Colonnes&Columns MainWindow&Commentaire&Comment MainWindowJParam&trage de la base de donnes...&Database Settings... MainWindow$&Effacer le groupe &Delete Group MainWindow,Modifi&er le groupe...&Edit Group... MainWindow&Entres&Entries MainWindow"&Exporter vers... &Export to... MainWindow&Fichier&File MainWindow&Groupes&Groups MainWindow Ai&de&Help MainWindow"&Importer d'un...&Import from... MainWindow2Le manuel de &KeePassX...&KeePassX Handbook... MainWindow&&Dernier changement &Last Change MainWindow>Verrouille l'espace de travai&l&Lock Workspace MainWindow*&Grer les Signets...&Manage Bookmarks... MainWindow8&Nouvelle base de donnes...&New Database... MainWindow<&Ouvrir une base de donnes...&Open Database... MainWindow&Ouvrir l'URL &Open URL MainWindowMot de &passe &Password MainWindow>Gnrateur de mots de &passe...&Password Generator... MainWindow<Excuter la Saisie Automatique&Perform AutoType MainWindow&Quitter&Quit MainWindowHEnregi&strer la pice jointe sous...&Save Attachment As... MainWindow>&Enregistrer la base de donnes&Save Database MainWindow&Prfrences... &Settings... MainWindow &Ttre&Title MainWindow&URL&URL MainWindow&Affichage&View MainWindow<&Modifier/Afficher l'entre...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindowPice join&te A&ttachment MainWindow>&Ajouter une nouvelle entre...Add &New Entry... MainWindow8Ajouter un nouveau groupe...Add New Group... MainWindow\Crer un Signe&t pour cette base de donnes...Bookmark &this Database... MainWindowC&ration C&reation MainWindow2&Changer la cl maitre...Change &Master Key... MainWindowVCopier l'&utilisateur dans le presse-papierCopy &Username to Clipboard MainWindowZCopier le mot de passe &vers le presse-papierCopy Password &to Clipboard MainWindowFCopier l'URL vers le presse-papiersCopy URL to Clipboard MainWindow"&Effacer l'entre De&lete Entry MainWindow$Date d'&expirationE&xpires MainWindowE&xtrasE&xtras MainWindowGroupesGroups MainWindow CacherHide MainWindow4Masquer les mots de &passeHide &Passwords MainWindow,Masquer l'&utilisateurHide &Usernames MainWindowKeePassXKeePassX MainWindowDernier &accs Last &Access MainWindowCorbeille...Recycle Bin... MainWindowNEnre&gistrer la base de donnes sous...Save Database &As... MainWindowL&Rechercher dans la base de donnes...Search &in Database... MainWindow:Rechercher dans ce &groupe...Search in this &Group... MainWindowBAfficher les dtails de l'&entreShow &Entry Details MainWindow:Afficher &Entres expires...Show &Expired Entries... MainWindow:Afficher la barre de &statutShow &Statusbar MainWindow"Trier les groupes Sort groups MainWindowNTaille des &icnes de la barre d'outilsToolbar &Icon Size MainWindow$&Nom d'utilisateur User&name MainWindow"Grer les SignetsManage BookmarksManageBookmarksDlg.%1 : Fichier illisible.%1: File is not readable.PasswordDialogL%1 : Fichier ou rpertoire inexistant.%1: No such file or directory.PasswordDialog*Tous les Fichiers (*) All Files (*)PasswordDialog*Changer la cl maitreChange Master KeyPasswordDialog.Crer le fichier cl...Create Key File...PasswordDialog2Cl de la base de donnes Database KeyPasswordDialog(Entrer la cl maitreEnter Master KeyPasswordDialog(Fichiers cl (*.key)Key Files (*.key)PasswordDialogDernier Fichier Last FilePasswordDialoglEntrer un mot de passe ou slectionner un fichier cl.-Please enter a Password or select a key file.PasswordDialog.Entrer un mot de passe.Please enter a Password.PasswordDialog8Slectionner un fichier cl.Please provide a key file.PasswordDialog8Selectionner un fichier clSelect a Key FilePasswordDialog*Dfinir la cl maitreSet Master KeyPasswordDialogLe rpertoire dsign contient plus d'un fichier cl. Pourriez-vous slectionner le fichier cl dsir.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialoghLe rpertoire dsign ne contient aucun fichier cl.3The given directory does not contain any key files.PasswordDialogPLe fichier cl choisi n'est pas lisible.3The selected key file or directory is not readable.PasswordDialog&Parcourir... &Browse... PasswordDlgPrcdentBack PasswordDlgrEntrer un mot de passe et/ou slectionner un fichier cl.*Enter a Password and/or choose a key file. PasswordDlg2Gnrer le fichier cl...Generate Key File... PasswordDlgCl maitreKey PasswordDlgFichier cl : Key File: PasswordDlgDernier Fichier Last File PasswordDlgMot de passe : Password: PasswordDlgRLes mots de passe ne sont pas identiques.Passwords are not equal. PasswordDlg<R-entrer votre mot de passe :Please repeat your password: PasswordDlgRechercherSearch SearchDialog&Respecter la &casse&Case Sensitive Search_Dlg&Ttres&Titles Search_Dlg&Nom d'&utilisateurs &Usernames Search_DlgA&nnexeA&nhang Search_DlgC&ommentaires C&omments Search_DlgFInclure les sous-groupes (rcursif)Include Subgroups (recursive) Search_DlgInclure :Include: Search_DlgMot de &passe Pass&words Search_Dlg*E&xpression RgulireRegular E&xpression Search_DlgRecherche de : Search For: Search_DlgRechercher... Search... Search_Dlg U&RLsU&RLs Search_DlgChoix d'icnesIcon Selection SelectIconDlg AvancAdvancedSettingsDialogHCouleurs alternes pour les ranges Alternating Row ColorsSettingsDialogxToujours demander avant d'effacer les entres ou les groupes,Always ask before deleting entries or groupsSettingsDialogApparence AppearanceSettingsDialogAuteur :Author:SettingsDialogHRglage fin de la saisie automatiqueAuto-Type Fine TuningSettingsDialogEnregistrer automatiquement la base de donnes aprs chaque changement.Automatically save database after every changeSettingsDialogSauvegarde automatique de la base de donnes la sortie et au verrouillage de l'espace de travail9Automatically save database on exit and workspace lockingSettingsDialog$Couleur du bandeau Banner ColorSettingsDialogSignets BookmarksSettingsDialogParcourirBrowseSettingsDialogParcourir... Browse...SettingsDialogC&hanger... C&hange...SettingsDialogChanger... Change...SettingsDialog8Vide l'historique maintenantClear History NowSettingsDialog>Effacer le presse-papier aprs:Clear clipboard after:SettingsDialogCouleur 1 :Color 1:SettingsDialogCouleur 2 :Color 2:SettingsDialogConfigurer... Configure...SettingsDialogHCommande personnalise du navigateurCustom Browser CommandSettingsDialogZPersonnaliser la vue de dtail de l'entre...Customize Entry Detail View...SettingsDialogDDialogue de cl de base de donnesDatabase Key DialogSettingsDialogDlai entre deux frappes de touches simules. Augmenter le si la Saisie Automatique saute alatoirement des caractres.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialog\Effacer les entres de sauvegarde de plus de :!Delete backup entries older than:SettingsDialog4Ne dveloppe aucun lmentDo not expand any itemSettingsDialogBDialogue de modification d'entreEdit Entry DialogSettingsDialogActiver ceci si vous voulez utiliser vos signets et le dernier fichier ouvert indpendamment de leurs chemins absolus. Particulirement utile en cas d'utilisation portable de KeePassX et par consquent avec des points de montage variables.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog8Dvelopper tous les lmentsExpand all itemsSettingsDialogGnral (1) General (1)SettingsDialogGnral (2) General (2)SettingsDialogPRaccourci global de Saisie Automatique :Global Auto-Type Shortcut:SettingsDialog:Intgration Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogJArborescence de groupe au dmarrage :Group tree at start-up:SettingsDialog$Intgration KDE4KDE 4 Desktop IntegrationSettingsDialog:Dlai de frappe des touches :Key Stroke Delay:SettingsDialog LangueLanguageSettingsDialogLangue : Language:SettingsDialoglVerrouille la base de donnes aprs une inactivit de !Lock database after inactivity ofSettingsDialogVerrouille l'espace de travail lors de la minimisation de la fentre.Lock workspace when minimizing the main windowSettingsDialog$Racine des Media : Media Root:SettingsDialogRduit dans la zone de notification au lieu de la barre des tches#Minimize to tray instead of taskbarSettingsDialogRduit dans la zone de notification au lieu de quitter l'application=Minimize to tray when clicking the main window's close buttonSettingsDialog AucunNoneSettingsDialogGreffonsPlug-InsSettingsDialogPre-Gap :Pre-Gap:SettingsDialogSe souvenir de la dernire saisie de cl et du dernier emplacement#Remember last key type and locationSettingsDialogJSe souvenir du dernier fichier ouvertRemember last opened fileSettingsDialog2Restaure l'tat prcdentRestore last stateSettingsDialogEnregistrer les sauvegardes des entres modifies dans le groupe 'Sauvegarde'8Save backups of modified entries into the 'Backup' groupSettingsDialogxEnregistre les rpertoires rcents des dialogues de fichiers'Save recent directories of file dialogsSettingsDialog|Enregistrert les chemins relatifs (signets et dernier fichier)-Save relative paths (bookmarks and last file)SettingsDialogScuritSecuritySettingsDialogPrfrencesSettingsSettingsDialogTAfficher les mots de passe en clair dans :Show plain text passwords in:SettingsDialogXAffiche l'icne dans la zone de notificationShow system tray iconSettingsDialog$Dmarre verrouill Start lockedSettingsDialogDmarre rduitStart minimizedSettingsDialog$Couleur du texte : Text Color:SettingsDialogLe rpertoire o sont normalement monts les priphriques tels que les CD et les cls USB.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTemps entre l'activation d'une action de saisie automatique par l'utilisateur et le premire frappe de touche simule.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogUtiliser le titre de l'entre pour correspondre la fentre globale de Saisie Automatique;Use entries' title to match the window for Global Auto-TypeSettingsDialogVous pouvez dsactiver plusieurs fonctions de KeePassX ici selon vos besoins pour conserver l'interface utilisateur claire.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogVous devez redmarrer le programme pour que les changements prennent effet.?You need to restart the program before the changes take effect.SettingsDialog joursdaysSettingsDialogmsmsSettingsDialogsecondessecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetSuper_LWinShortcutWidget2Entrer votre mot de passeEnter your PasswordSimplePasswordDialogMot de passe : Password:SimplePasswordDialogvSaisie Automatique : Slectionnez la fentre de destinationAuto-Type: Select Target WindowTargetWindowDlg8Pour spcifier la fentre de destination, slectionnez une fentre actuellement ouverte dans le menu droulant ou entrez le nom de la fentre manuellement :To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg"Franais (France)$LANGUAGE_NAME Translation fat115$TRANSLATION_AUTHOR TranslationD <b>Courriel:</b> fat115@free.fr $TRANSLATION_AUTHOR_EMAIL Translationl<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">L'espace de travail est verrouill.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget2Fermer la base de donnesClose DatabaseWorkspaceLockedWidgetFormulaireFormWorkspaceLockedWidgetDverrouillerUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/qt_gl_ES.qm0000664000175000017500000043320111342454754020117 0ustar felixfelix^>1aQ&3P(4^e(4^(5^(5_*y(i*y*yD*Tl*063*0`+FF+Fc+La,+f+fU+z=+(++EL+z=++V%+lC++c+į)+į+įE+>7:9;C:ǿGJfHw9'bHw9JHZ!I'cI;I J+)6J6)J6?7J6KJ6OJ6 J6$J6VJ6dcJcbAKQZ^KYLZ'hLIL?fLbM5PSMbeMeVhMNetO|>PFE,xPFEkPFEe QfRgR|RgS8^TTʴ T#U?^U|HU}hV1VV[lV1ViWG WTWT2cXMDX\;X˙MX3IYi1Y8Y4yY]Zg4ZkWZj][;^\ F\]4Ç\]48\R\jatygclG |^scvIv`b1Ufs4LM5.6CdSIA$[M"-I/RɵnBɵnɵnɵnWɵnɵn_ɵnɵnu7)w Bµ* 2MEzn><rJ5U%UTŵ(Ŏ_r*45vXQ~"ESžaR?VXefPwlqoR9or\pNw^xc@FcGfWK2u2eQG{'S.QRz.AiR3 P@ dkktBͯy#giur  "ls)9#-t/=N51$5~py< ?2$?Nf1M[UioW~4XŖ]"o`E`lgvty@vtyE1g"xCZ`ڙ)j66cN^t` R(ER|T=~.zD43zEGE_{H"8AIArRLa<EdmMMcEnEy(w&lw(m IJ jBk!eN%&}v)6*/e65-;EcFHOZfG<`cփ/ f~g&4jC_5mnq?[qyu()S{>idl-~w Ry DQ$0$ojld+(7!ʁ rП^piKK  n,8>O4A? ,=&H.uS/?wIxS<<R>YMoFYMyy^Hh^/'i4gsscswzUoxcQcۊ>atN;h]q] V<II''I'IJI vI:IaI+[Y+i+y,*k**+)*/I-w,,,-;,KuDs2uD}fDao,,,&,;x,F_]ɘe'5$@fRfR\ZN(\fc2Sh-PqvVL^VW}fRUtx)<  fM X; *>v%C/Z&~g#&)+,?"kKNC5M$!RiV|hd]]gk2 y^+5t\F]3hG%mDnصԃǥe4+4?t*/ n^;jxAj9\i58sj+.Ͼ-%;{C-50C^~ ƨƨ<˾TҝzyiAvէ?;Z>aߺEfom^!R t$~b\~bb9oD!I+3|/1 4~Ҟ6 3? 2`AuDvGnfGb`LAUCPѧKOQ|7SnTUU\Z%Z%Z& Z&X[b3]k*[]^nn2_pe)isi}kQsoN|y;L{}u1}w;}w8W}w }/jr"%t,v tt%..8P iUfaDDiYt6tzt.x\_ 1+]F.CʢFʢ?ƴdGddd7d0[859MNSII[As G }$[ qew ڤ ڥ E E  Ac~ Ac] 35 Y    nX T Y+!8 K*\ J 팤 l~j %'I[  - =v[ qi  }N  )z */# .> 5 7up ; =mv J" J"5 Rۮt7 Ty T^$s Uj4 ]L ` `v b b c( cE d;F e# e[ e{! f1p f* g5U gno+ k, C rD"& t> :=U f M f W1 4 .k0 s sY~ AAu 9m K 9 a m,!P #-t 0N:' A= CUk LUI L6a La_ Mc\N R S V W ]$Ds io>s m`. w xRy yrI, J  H HU 8 $XE .@6, %D ) F % JS JY y t. kD Ӈ* MB ' N>I ̺l -Dm . ۷e rO k k U)~ M <- AB  00` X ; z+Z  r  } Ie %ki Nؠ 0 R xH( .< 7Fn >v< >w& >x] >M > >! > > ?t|O] DT_ I< P@ RV^( RV_ RV S.: SGϏ S_ Yd Y [L c`Ȝ hۮe8 j7oTy p<  .e B q TC~ T T T!  F N e )dɳ T KM ;> .C .} . .N .݌ .   aƼ y, M hN ҂z & O 2 | ` % XtJ th aA  :b~ UqD  C  r9s  | #$ %ns +>>9 +k 0ElS ;ɾE Fg K9 Pt, Ptd dBʳ e1. fe fe iFC( i[M i(~ kGn m9V n u1R u@ v 7 v& v{ wd w7 w w} w}7 w} C |[9  p/ y %P ^7 }/ RNR P^ ́ xN U! ɰe Fc  X & D + Z t5 t5d   >  eD ) .P @aT7VbogT7*6*a/E*=BxI_K YOOXRuMXv[ g[a.KnyGvɅ"y$~> Օ4&'4P2S:^ǗZ:B5CM<rݖO^  XG}"#$U %4N%4a9-vJ0i).0/1c2wT.t<c<(D/H {JdK#"L$.iWa4c5c5Ng3mhMpyC0{~a-Y5&&{%[v> ~Y%>bW QNS|"~LLndB7t2:nHUOi<html>Cambiando ao dispositivo de reproducin de audio <b>%1</b><br/>que agora est dispobel e ten mis prioridade.</html>xSwitching to the audio playback device %1
which just became available and has higher preference. AudioOutput<html>O dispositivo de reproducin de audio <b>%1</b> non funciona.<br/>Volvendo a <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2. AudioOutput4Volver ao dispositivo '%1'Revert back to device '%1' AudioOutputAccesibilidade AccessibilityPhonon::Comunicacin CommunicationPhonon:: XogosGamesPhonon:: MsicaMusicPhonon::Notificacins NotificationsPhonon:: VdeoVideoPhonon:: Aviso: Semella que non ten instalados os plugins bsicos do GStreamer. Toda a compatibilidade de audio e vdeo desactivouse~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::Backend Aviso: Semella que non ten instalado o paquete gstreamer0.10-plugins-good. Algunhas caractersticas de vdo desactivronse.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendFalta un cdec requirido. Necesita instalar o(s) seguinte(s) cdec(s) para reproducir este contido: %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObject,Non foi posbel iniciar a reproducin. Comprobe a sa instalacin de Gstreamer e asegrese de que ten instalado o paquete libgstreamer-plugins-base.wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObject\Non foi posbel descodificar o medio de orixe.Could not decode media source.Phonon::Gstreamer::MediaObjectVNon foi posbel localizar o medio de orixe.Could not locate media source.Phonon::Gstreamer::MediaObjectNon foi posbel abrir o dispositivo de audio. O dispositivo xa se est usando.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectNNon foi posbel abrir o medio de orixe.Could not open media source.Phonon::Gstreamer::MediaObject2Tipo de orixe non vlido.Invalid source type.Phonon::Gstreamer::MediaObjectEmprega este control desprazbel para axustar o volume. A posicin mis a esquerda 0%, a mis a dereita %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSlider$%1, %2 sen definir%1, %2 not definedQ3Accel2%1 ambiguo non xestionadoAmbiguous %1 not handledQ3Accel BorrarDelete Q3DataTable FalsoFalse Q3DataTableInserirInsert Q3DataTableVerdadeiroTrue Q3DataTableActualizarUpdate Q3DataTable%1 Non se atopou o ficheiro. Comprobar o camio e o nome do ficheiro.+%1 File not found. Check path and filename. Q3FileDialog&Borrar&Delete Q3FileDialog&Non&No Q3FileDialog&Aceptar&OK Q3FileDialog &Abrir&Open Q3FileDialog&Renomear&Rename Q3FileDialog&Gardar&Save Q3FileDialogSen or&denar &Unsorted Q3FileDialog&Si&Yes Q3FileDialogd<qt>Est seguro de que desexa borrar %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog,Todos os ficheiros (*) All Files (*) Q3FileDialogAtributos (*) Attributes Q3FileDialog VolverBack Q3FileDialogCancelarCancel Q3FileDialog6Copiar ou mover un ficheiroCopy or Move a File Q3FileDialog,Crear un novo cartafolCreate New Folder Q3FileDialogDataDate Q3FileDialogBorrar %1 Delete %1 Q3FileDialog.Visualizacin detallada Detail View Q3FileDialogCartafolDir Q3FileDialogCartafoles Directories Q3FileDialogCartafol: Directory: Q3FileDialogErroError Q3FileDialogFicheiroFile Q3FileDialog$&Nome do ficheiro: File &name: Q3FileDialog$&Tipo do ficheiro: File &type: Q3FileDialogAtopar cartafolFind Directory Q3FileDialogInaccesbel Inaccessible Q3FileDialog,Visualizacin da lista List View Q3FileDialogExam&inar: Look &in: Q3FileDialogNomeName Q3FileDialogNovo cartafol New Folder Q3FileDialog Novo cartafol %1 New Folder %1 Q3FileDialogNovo cartafol 1 New Folder 1 Q3FileDialog"Subir un cartafolOne directory up Q3FileDialog AbrirOpen Q3FileDialogFPrevisualizar o contido do ficheiroPreview File Contents Q3FileDialogNPrevisualizar a informacin do ficheiroPreview File Info Q3FileDialogR&ecargarR&eload Q3FileDialogS de lectura Read-only Q3FileDialog Lectura-escribir Read-write Q3FileDialogLer: %1Read: %1 Q3FileDialogGardar comoSave As Q3FileDialog:Mostrar os fic&heiros ocultosShow &hidden files Q3FileDialog TamaoSize Q3FileDialogOrdenarSort Q3FileDialog"Ordenar por &data Sort by &Date Q3FileDialog"Ordenar por &nome Sort by &Name Q3FileDialog&Ordenar por &tamao Sort by &Size Q3FileDialogEspecialSpecial Q3FileDialog8Ligazn simblica a cartafolSymlink to Directory Q3FileDialog8Ligazn simblica a ficheiroSymlink to File Q3FileDialog4Ligazn simblica especialSymlink to Special Q3FileDialogTipoType Q3FileDialogS de escritura Write-only Q3FileDialogEscribir: %1 Write: %1 Q3FileDialogo cartafol the directory Q3FileDialogo ficheirothe file Q3FileDialog$o enlace simblico the symlink Q3FileDialogFNon foi posbel crear o cartafol %1Could not create directory %1 Q3LocalFs0Non foi posbel abrir %1Could not open %1 Q3LocalFsBNon foi posbel ler o cartafol %1Could not read directory %1 Q3LocalFshNon foi posbel eliminar o ficheiro ou o cartafol %1%Could not remove file or directory %1 Q3LocalFs@Non foi posbel renomear %1 a %2Could not rename %1 to %2 Q3LocalFs6Non foi posbel escribir %1Could not write %1 Q3LocalFsPersonalizar... Customize... Q3MainWindowLia arribaLine up Q3MainWindow:Operacin detida polo usuarioOperation stopped by the userQ3NetworkProtocolCancelarCancelQ3ProgressDialogAplicarApply Q3TabDialogCancelarCancel Q3TabDialogPredefinidosDefaults Q3TabDialog AxudaHelp Q3TabDialogAceptarOK Q3TabDialog&Copiar&Copy Q3TextEdit &Pegar&Paste Q3TextEdit&Refacer&Redo Q3TextEditD&esfacer&Undo Q3TextEdit LimparClear Q3TextEditCor&tarCu&t Q3TextEdit Seleccionar todo Select All Q3TextEdit PecharClose Q3TitleBarPecha a xanelaCloses the window Q3TitleBarHContn ordes para manipular a xanela*Contains commands to manipulate the window Q3TitleBarrMostra o nome da xanela e contn controis para manipulalaFDisplays the name of the window and contains controls to manipulate it Q3TitleBar@Pr a xanela a pantalla completaMakes the window full screen Q3TitleBarMaximizarMaximize Q3TitleBarMinimizarMinimize Q3TitleBar.Bota a un lado a xanelaMoves the window out of the way Q3TitleBarXDevolve a xanela maximizada ao estado normal&Puts a maximized window back to normal Q3TitleBarXDevolve a xanela minimizada ao estado normalPuts a minimized back to normal Q3TitleBar(Restaurar minimizado Restore down Q3TitleBar(Restaurar maximizado Restore up Q3TitleBarSistemaSystem Q3TitleBarMis...More... Q3ToolBar(descoecido) (unknown) Q3UrlOperatorO protocolo `%1' non permite copiar ou mover ficheiros ou cartafolesIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorfO protocolo `%1' non permite crear novos cartafoles;The protocol `%1' does not support creating new directories Q3UrlOperatorjO protocolo `%1' non permite a obtencin de ficheiros0The protocol `%1' does not support getting files Q3UrlOperatorbO protocolo `%1' non permite listar os cartafoles6The protocol `%1' does not support listing directories Q3UrlOperatorbO protocolo `%1' non permite o envo de ficheiros0The protocol `%1' does not support putting files Q3UrlOperatorO protocolo `%1' non permite eliminar novos ficheiros ou cartafoles@The protocol `%1' does not support removing files or directories Q3UrlOperatorzO protocolo `%1' non permite renomear ficheiros ou cartafoles@The protocol `%1' does not support renaming files or directories Q3UrlOperator>O protocolo `%1' non se permite"The protocol `%1' is not supported Q3UrlOperator&Cancelar&CancelQ3Wizard&Finalizar&FinishQ3Wizard A&xuda&HelpQ3WizardSegui&nte>&Next >Q3Wizard< Vo&lver< &BackQ3Wizard$Conexin rexeitadaConnection refusedQAbstractSocket0Non se atopou o servidorHost not foundQAbstractSocket6O scket non est conectadoSocket is not connectedQAbstractSocketXA operacin do scket esgotou o tempo-lmiteSocket operation timed outQAbstractSocket"&Seleccionar todo &Select AllQAbstractSpinBox&Aumentar&Step upQAbstractSpinBox&Reducir Step &downQAbstractSpinBoxActivarActivate QApplicationJActiva a xanela principal do programa#Activates the program's main window QApplication`O executbel '%1' require Qt %2, atopouse Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationVErro por incompatibilidade da biblioteca QtIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplication MarcarCheck QCheckBoxAlternarToggle QCheckBoxDesmarcarUncheck QCheckBox@Eng&adir s cores personalizadas&Add to Custom Colors QColorDialogCores &bsicas &Basic colors QColorDialog*&Cores personalizadas&Custom colors QColorDialog&Verde:&Green: QColorDialogVe&rmello:&Red: QColorDialog&Saturacin:&Sat: QColorDialog&Brillo:&Val: QColorDialogCan&le alfa:A&lpha channel: QColorDialog Az&ul:Bl&ue: QColorDialogMat&iz:Hu&e: QColorDialog"Seleccionar a cor Select color QColorDialog PecharClose QComboBox FalsoFalse QComboBox AbrirOpen QComboBoxVerdadeiroTrue QComboBox%1: xa existe%1: already existsQCoreApplication%1: non existe%1: doesn't existsQCoreApplication%1: fallou ftok%1: ftok failedQCoreApplication"%1: chave baleira%1: key is emptyQCoreApplication6%1: esgotronse os recursos%1: out of resourcesQCoreApplication(%1: permiso denegado%1: permission deniedQCoreApplication>%1: foi imposbel crear a chave%1: unable to make keyQCoreApplication.%1: erro descoecido %2%1: unknown error %2QCoreApplicationPResultou imposbel remitir a transaccinUnable to commit transaction QDB2Driver6Resultou imposbel conectarUnable to connect QDB2DriverRResultou imposbel reverter a transaccinUnable to rollback transaction QDB2DriverZResultou imposbel estabelecer a autoremisinUnable to set autocommit QDB2DriverJResultou imposbel asociar a varibelUnable to bind variable QDB2ResultPResultou imposbel executar a instrucinUnable to execute statement QDB2ResultFResultou imposbel obter o primeiroUnable to fetch first QDB2ResultFResultou imposbel obter o seguinteUnable to fetch next QDB2ResultLResultou imposbel obter o rexistro %1Unable to fetch record %1 QDB2ResultPResultou imposbel preparar a instrucinUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit QDialQDialQDial.Asa da barra deslizante SliderHandleQDialVelocmetro SpeedoMeterQDial FeitoDoneQDialogQue isto? What's This?QDialog&Non&NoQDialogButtonBox&Aceptar&OKQDialogButtonBox&Si&YesQDialogButtonBoxInterromperAbortQDialogButtonBoxAplicarApplyQDialogButtonBoxCancelarCancelQDialogButtonBox PecharCloseQDialogButtonBox"Pechar sen gardarClose without SavingQDialogButtonBoxDescartarDiscardQDialogButtonBoxNon gardar Don't SaveQDialogButtonBox AxudaHelpQDialogButtonBoxIgnorarIgnoreQDialogButtonBoxN&on a todo N&o to AllQDialogButtonBoxAceptarOKQDialogButtonBox AbrirOpenQDialogButtonBoxRestabelecerResetQDialogButtonBox2Restabelecer predefinidasRestore DefaultsQDialogButtonBoxTentar de novoRetryQDialogButtonBox GardarSaveQDialogButtonBoxGardar todoSave AllQDialogButtonBoxSi &a todo Yes to &AllQDialogButtonBox(Data de modificacin Date Modified QDirModel ClaseKind QDirModelNomeName QDirModel TamaoSize QDirModelTipoType QDirModel PecharClose QDockWidgetAncorarDock QDockWidgetFlotanteFloat QDockWidget MenosLessQDoubleSpinBoxMisMoreQDoubleSpinBox&Aceptar&OK QErrorMessage>Mo&strar esta mensaxe outra vez&Show this message again QErrorMessage.Mensaxes de depuracin:Debug Message: QErrorMessageErro moi grave: Fatal Error: QErrorMessage Aviso:Warning: QErrorMessage%1 Non se atopou o cartafol. Verifique que o nome do cartafol dado correcto.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Non se atopou o ficheiro. Verifique que o nome do ficheiro dado correcto.A%1 File not found. Please verify the correct file name was given. QFileDialog@%1 xa existe. Quere substitulo?-%1 already exists. Do you want to replace it? QFileDialogEs&coller&Choose QFileDialog&Borrar&Delete QFileDialog&Novo cartafol &New Folder QFileDialog &Abrir&Open QFileDialog&Renomear&Rename QFileDialog&Gardar&Save QFileDialog'%1' est protexido contra escritura. Anda as quere eliminalo?9'%1' is write protected. Do you want to delete it anyway? QFileDialog,Todos os ficheiros (*) All Files (*) QFileDialogJEst seguro de que quere borrar '%1'?!Are sure you want to delete '%1'? QFileDialog VolverBack QFileDialogHNon foi posbel eliminar o cartafol.Could not delete directory. QFileDialog,Crear un novo cartafolCreate New Folder QFileDialog.Visualizacin detallada Detail View QFileDialogCartafoles Directories QFileDialogCartafol: Directory: QFileDialogUnidadeDrive QFileDialogFicheiroFile QFileDialog$&Nome do ficheiro: File &name: QFileDialog$Ficheiros de tipo:Files of type: QFileDialogAtopar cartafolFind Directory QFileDialogSeguinteForward QFileDialog,Visualizacin da lista List View QFileDialogExaminar:Look in: QFileDialogMeu computador My Computer QFileDialogNovo cartafol New Folder QFileDialog AbrirOpen QFileDialogCartafol paiParent Directory QFileDialogEliminarRemove QFileDialogGardar comoSave As QFileDialogMostrar Show  QFileDialog:Mostrar os fic&heiros ocultosShow &hidden files QFileDialogDescoecidoUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 bytes%1 bytesQFileSystemModel<b>Non posbel empregar o nome "%1".</b><p>Tente empregar outro nome, con menos caracteres ou sen signos de puntuacin.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelComputadorComputerQFileSystemModel(Data de modificacin Date ModifiedQFileSystemModel>O nome do ficheiro non vlidoInvalid filenameQFileSystemModel ClaseKindQFileSystemModelMeu computador My ComputerQFileSystemModelNomeNameQFileSystemModel TamaoSizeQFileSystemModelTipoTypeQFileSystemModelCalqueraAny QFontDatabase rabeArabic QFontDatabaseArmenioArmenian QFontDatabaseBengalBengali QFontDatabase NegroBlack QFontDatabase NegraBold QFontDatabaseCirlicoCyrillic QFontDatabaseSemiDemi QFontDatabaseSeminegra Demi Bold QFontDatabaseDevanagari Devanagari QFontDatabaseXeorxianoGeorgian QFontDatabase GregoGreek QFontDatabaseGuxaratiGujarati QFontDatabaseGurmukhiGurmukhi QFontDatabase HebreoHebrew QFontDatabaseCursivaItalic QFontDatabaseXaponsJapanese QFontDatabaseKannadaKannada QFontDatabase KhmerKhmer QFontDatabaseCoreanoKorean QFontDatabaseLaosianoLao QFontDatabase LatnLatin QFontDatabase ClaroLight QFontDatabaseMalaialam Malayalam QFontDatabaseMyanmarMyanmar QFontDatabase NormalNormal QFontDatabaseOblicuaOblique QFontDatabase OghamOgham QFontDatabase OriyaOriya QFontDatabase RnicoRunic QFontDatabase&Chins simplificadoSimplified Chinese QFontDatabaseSinhalaSinhala QFontDatabaseSmboloSymbol QFontDatabase SirioSyriac QFontDatabase TamilTamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabaseTailandsThai QFontDatabaseTibetanoTibetan QFontDatabase$Chins tradicionalTraditional Chinese QFontDatabaseVietnamita Vietnamese QFontDatabase&Tipo de letra&Font QFontDialog&Tamao&Size QFontDialogS&ubliado &Underline QFontDialogEfectosEffects QFontDialog0Esti&lo do tipo de letra Font st&yle QFontDialog MostraSample QFontDialog2Seleccionar tipo de letra Select Font QFontDialogRiscad&o Stri&keout QFontDialog*Sistema de escr&ituraWr&iting System QFontDialogZProduciuse un fallo ao cambiar o cartafol: %1Changing directory failed: %1QFtp&Conectado ao equipoConnected to hostQFtp,Conectado ao equipo %1Connected to host %1QFtpZProduciuse un fallo ao conectar ao equipo: %1Connecting to host failed: %1QFtp Conexin pechadaConnection closedQFtp:Conexin para datos rexeitada&Connection refused for data connectionQFtp>O equipo %1 rexeitou a conexinConnection refused to host %1QFtp0Pechouse a conexin a %1Connection to %1 closedQFtpVProduciuse un fallo ao crear o cartafol: %1Creating directory failed: %1QFtp^Produciuse un fallo ao descargar o ficheiro: %1Downloading file failed: %1QFtp(Atopouse o equipo %1 Host %1 foundQFtp2Non se atopou o equipo %1Host %1 not foundQFtp"Atopouse o equipo Host foundQFtpXProduciuse un fallo ao listar o cartafol: %1Listing directory failed: %1QFtpVProduciuse un fallo no inicio de sesin: %1Login failed: %1QFtpSen conectar Not connectedQFtp\Produciuse un fallo ao eliminar o cartafol: %1Removing directory failed: %1QFtp\Produciuse un fallo ao eliminar o ficheiro: %1Removing file failed: %1QFtp<Produciuse un erro descoecido Unknown errorQFtpVProduciuse un fallo ao subir o ficheiro: %1Uploading file failed: %1QFtp<Produciuse un erro descoecido Unknown error QHostInfo0Non se atopou o servidorHost not foundQHostInfoAgent8Tipo de enderezo descoecidoUnknown address typeQHostInfoAgent<Produciuse un erro descoecido Unknown errorQHostInfoAgent.Autenticacin requiridaAuthentication requiredQHttp&Conectado ao equipoConnected to hostQHttp,Conectado ao equipo %1Connected to host %1QHttp Conexin pechadaConnection closedQHttp$Conexin rexeitadaConnection refusedQHttpbConexin rexeitada (ou excedeu o tempo de espera)!Connection refused (or timed out)QHttp0Pechouse a conexin a %1Connection to %1 closedQHttp4Os datos estn corrompidosData corruptedQHttpBOcorreu un fallo na peticin HTTPHTTP request failedQHttpRequiriuse conexin HTTPS pero a compatibilidade SSL non foi compilada:HTTPS connection requested but SSL support not compiled inQHttp(Atopouse o equipo %1 Host %1 foundQHttp2Non se atopou o equipo %1Host %1 not foundQHttp"Atopouse o equipo Host foundQHttpBO anfitrin require autenticacinHost requires authenticationQHttpFO corpo HTTP recortado non vlidoInvalid HTTP chunked bodyQHttpRA cabeceira de resposta HTTP non vlidaInvalid HTTP response headerQHttpfNon ten ningn servidor ao que conectar configuradoNo server set to connect toQHttp:O proxy require autenticacinProxy authentication requiredQHttp:O proxy require autenticacinProxy requires authenticationQHttp.Solicitude interrompidaRequest abortedQHttp2Fallou na negociacin SSLSSL handshake failedQHttpXO servidor pechou a conexin inesperadamente%Server closed connection unexpectedlyQHttp<Produciuse un erro descoecido Unknown errorQHttpDProtocolo descoecido especificadoUnknown protocol specifiedQHttp8Tamao de contido incorrectoWrong content lengthQHttp.Autenticacin requiridaAuthentication requiredQHttpSocketEngineJNon foi posbel comezar a transaccinCould not start transaction QIBaseDriver:Erro ao abrir a base de datosError opening database QIBaseDriverPResultou imposbel remitir a transaccinUnable to commit transaction QIBaseDriverRResultou imposbel reverter a transaccinUnable to rollback transaction QIBaseDriverHNon foi posbel asignar a instrucinCould not allocate statement QIBaseResultbNon foi posbel describir a instrucin de entrada"Could not describe input statement QIBaseResultLNon foi posbel describir a instrucinCould not describe statement QIBaseResultRNon foi posbel obter o elemento seguinteCould not fetch next item QIBaseResultBNon foi posbel encontrar o arrayCould not find array QIBaseResultLNon foi posbel obter o array de datosCould not get array data QIBaseResult^Non foi posbel obter a informacin da consultaCould not get query info QIBaseResultbNon foi posbel obter a informacin da instrucinCould not get statement info QIBaseResultJNon foi posbel preparar a instrucinCould not prepare statement QIBaseResultJNon foi posbel comezar a transaccinCould not start transaction QIBaseResultLResultou imposbel pechar a instrucinUnable to close statement QIBaseResultPResultou imposbel remitir a transaccinUnable to commit transaction QIBaseResult>Resultou imposbel crear o BLOBUnable to create BLOB QIBaseResultLResultou imposbel executar a consultaUnable to execute query QIBaseResult>Resultou imposbel abrir o BLOBUnable to open BLOB QIBaseResult:Resultou imposbel ler o BLOBUnable to read BLOB QIBaseResultDResultou imposbel escribir o BLOBUnable to write BLOB QIBaseResultFNon hai espazo libre no dispositivoNo space left on device QIODeviceJNon existe tal ficheiro ou directorioNo such file or directory QIODevice Permiso denegadoPermission denied QIODevice@Hai demasiados ficheiros abertosToo many open files QIODevice<Produciuse un erro descoecido Unknown error QIODevice:Mtodo de entrada de Mac OS XMac OS X input method QInputContext8Mtodo de entrada de WindowsWindows input method QInputContextXIMXIM QInputContext*Mtodo de entrada XIMXIM input method QInputContextJNon foi posbel aplicar mmap '%1': %2Could not mmap '%1': %2QLibraryLNon foi posbel aplicar unmap '%1': %2Could not unmap '%1': %2QLibrarypA verificacin dos datos do plugin non coinciden en '%1')Plugin verification data mismatch in '%1'QLibrary`QLibrary::load_sys: Non posbel cargar %1 (%2)'QLibrary::load_sys: Cannot load %1 (%2)QLibraryvQLibrary::resolve_sys: Smbolo "%1" non definido en %2 (%3)7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibraryfQLibrary::load_sys: Non posbel descargar %1 (%2)+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryZO ficheiro '%1' non un plugin de Qt vlido.'The file '%1' is not a valid Qt plugin.QLibraryO plugin '%1' emprega unha biblioteca Qt non compatbel. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryO plugin '%1' emprega unha biblioteca Qt non compatbel. (Non posbel combinar bibliotecas de depuracin e finais.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryO plugin '%1' emprega unha biblioteca Qt non compatbel. Esperbase a chave de compilacin "%2", no seu lugar obtvose "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryRA biblioteca compartida non se encontrou.!The shared library was not found.QLibrary<Produciuse un erro descoecido Unknown errorQLibrary&Copiar&Copy QLineEdit &Pegar&Paste QLineEdit&Refacer&Redo QLineEditD&esfacer&Undo QLineEditCor&tarCu&t QLineEdit BorrarDelete QLineEdit Seleccionar todo Select All QLineEdit&%1: Enderezo en uso%1: Address in use QLocalServer %1: Erro de nome%1: Name error QLocalServer(%1: Permiso denegado%1: Permission denied QLocalServer.%1: Erro descoecido %2%1: Unknown error %2 QLocalServer(%1: Erro de conexin%1: Connection error QLocalSocket,%1: Conexin rexeitada%1: Connection refused QLocalSocket:%1: Datagram demasiado grande%1: Datagram too large QLocalSocket&%1: Nome non vlido%1: Invalid name QLocalSocket.%1: Pechado remotamente%1: Remote closed QLocalSocket8%1: Erro de acceso ao scket%1: Socket access error QLocalSocket`%1: A operacin do scket esgotou o tempo lmite%1: Socket operation timed out QLocalSocket<%1: Erro de recursos de scket%1: Socket resource error QLocalSocketP%1: Non se permite a operacin no scket)%1: The socket operation is not supported QLocalSocket.%1: Erro descoecido %2%1: Unknown error %2 QLocalSocketPResultou imposbel comezar a transaccinUnable to begin transaction QMYSQLDriverPResultou imposbel remitir a transaccinUnable to commit transaction QMYSQLDriver6Resultou imposbel conectarUnable to connect QMYSQLDriverTResultou imposbel abrir a base de datos 'Unable to open database ' QMYSQLDriverRResultou imposbel reverter a transaccinUnable to rollback transaction QMYSQLDriverfResultou imposbel resolver os valores sobrepasadosUnable to bind outvalues QMYSQLResultDResultou imposbel asociar o valorUnable to bind value QMYSQLResult^Resultou imposbel executar a seguinte consultaUnable to execute next query QMYSQLResultLResultou imposbel executar a consultaUnable to execute query QMYSQLResultPResultou imposbel executar a instrucinUnable to execute statement QMYSQLResultBResultou imposbel obter os datosUnable to fetch data QMYSQLResultPResultou imposbel preparar a instrucinUnable to prepare statement QMYSQLResultRResultou imposbel reiniciar a instrucinUnable to reset statement QMYSQLResultbResultou imposbel almacenar o seguinte resultadoUnable to store next result QMYSQLResultPResultou imposbel almacenar o resultadoUnable to store result QMYSQLResultpResultou imposbel almacenar os resultados da instrucin!Unable to store statement results QMYSQLResult(Sen ttulo) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Cerrar&Close QMdiSubWindow &Mover&Move QMdiSubWindow&Restaurar&Restore QMdiSubWindow&Tamao&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow PecharClose QMdiSubWindow AxudaHelp QMdiSubWindowMa&ximizar Ma&ximize QMdiSubWindowMaximizarMaximize QMdiSubWindowMenMenu QMdiSubWindowMi&nimizar Mi&nimize QMdiSubWindowMinimizarMinimize QMdiSubWindowRestaurarRestore QMdiSubWindow(Restaurar minimizado Restore Down QMdiSubWindowEnsombrecerShade QMdiSubWindow<Permanecer en pri&meiro plano Stay on &Top QMdiSubWindowDesensombrecerUnshade QMdiSubWindow PecharCloseQMenuExecutarExecuteQMenu AbrirOpenQMenu<h3>Sobre Qt</h3>%1<p>Qt un toolkit de C++ para o desenvolvemento de aplicativos multiplataforma.</p><p>Qt proporciona portabilidade de cdigo nico entre MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, e todas as principais variantes comerciais de Unix. Qt tamn est dispobel para dispositivos incrustados como Qt for Embedded Linux e Qt for Windows CE.</p><p>Qt un produto de Nokia. Consulte <a href="http://www.trolltech.com/qt/">www.trolltech.com/qt/</a> para mis informacin.</p>

About Qt

%1

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.

Qt is a Nokia product. See www.trolltech.com/qt/ for more information.

 QMessageBoxN<p>Este programa emprega a versin %1 de Qt Open Source Edition.</p><p>Qt Open Source Edition est destinada ao desenvolvemento de aplicativos de cdigo aberto. Precisa unha licenza comercial de Qt para o desenvolvemento de aplicativos privativos (cdigo fonte pechado).</p><p>Consulte <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> para unha visin xeral do licenciamento de Qt.</p>|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxV<p>Este programa emprega Qt versin %1.</p>'

This program uses Qt version %1.

 QMessageBoxSobre QtAbout Qt QMessageBox AxudaHelp QMessageBox,Ocultar os detalles...Hide Details... QMessageBoxAceptarOK QMessageBox,Mostrar os detalles...Show Details... QMessageBoxSeleccionar IM Select IMQMultiInputContextNSelector de mtodos de entrada mltiplaMultiple input method switcherQMultiInputContextPluginSelector entre mtodos de entrada que usa o men contextual dos widgets de textoMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPlugin\Outro scket xa est escoitando no mesmo porto4Another socket is already listening on the same portQNativeSocketEngineTentouse empregar un scket IPv6 sobre unha plataforma que non admite IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine$Conexin rexeitadaConnection refusedQNativeSocketEngineNExcedeuse o tempo de espera na conexinConnection timed outQNativeSocketEngineZO datagrama grande de mis para ser enviadoDatagram was too large to sendQNativeSocketEngine(Equipo non atinxbelHost unreachableQNativeSocketEngineDO descritor de scket non vlidoInvalid socket descriptorQNativeSocketEngineErro da rede Network errorQNativeSocketEngine`Excedeuse o tempo de espera na operacin de redeNetwork operation timed outQNativeSocketEngine$Rede non atinxbelNetwork unreachableQNativeSocketEngine.Operacin de non scketOperation on non-socketQNativeSocketEngine.Esgotronse os recursosOut of resourcesQNativeSocketEngine Permiso denegadoPermission deniedQNativeSocketEngineDO tipo de protocolo non se permiteProtocol type not supportedQNativeSocketEngine<O enderezo non est dispobelThe address is not availableQNativeSocketEngine2O enderezo est protexidoThe address is protectedQNativeSocketEngineFO enderezo vinculado xa est en uso#The bound address is already in useQNativeSocketEngine`O tipo de proxy non vlido para esta operacin,The proxy type is invalid for this operationQNativeSocketEngineBO equipo remoto pechou a conexin%The remote host closed the connectionQNativeSocketEnginedResultou imposbel inicializar o scket bloqueante%Unable to initialize broadcast socketQNativeSocketEnginelResultou imposbel inicializar o scket non bloqueante(Unable to initialize non-blocking socketQNativeSocketEngineHResultou imposbel recibir a mensaxeUnable to receive a messageQNativeSocketEngineFResultou imposbel enviar a mensaxeUnable to send a messageQNativeSocketEngine$Imposbel escribirUnable to writeQNativeSocketEngine<Produciuse un erro descoecido Unknown errorQNativeSocketEngineDOperacin de scket non se permiteUnsupported socket operationQNativeSocketEngine\Non posbel abrir %1: O camio un cartafol#Cannot open %1: Path is a directoryQNetworkAccessFileBackend(Erro ao abrir %1: %2Error opening %1: %2QNetworkAccessFileBackend*Erro ao ler de %1: %2Read error reading from %1: %2QNetworkAccessFileBackend^Requirimento para abrir o ficheiro non local %1%Request for opening non-local file %1QNetworkAccessFileBackend2Erro ao escribir a %1: %2Write error writing to %1: %2QNetworkAccessFileBackendJNon posbel abrir %1: un cartafolCannot open %1: is a directoryQNetworkAccessFtpBackend0Erro ao descargar %1: %2Error while downloading %1: %2QNetworkAccessFtpBackend(Erro ao subir %1: %2Error while uploading %1: %2QNetworkAccessFtpBackendProduciuse un fallo ao iniciar sesin en %1: autenticacin requirida0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackend^Erro ao descargar %1 - o servidor respondeu: %2)Error downloading %1 - server replied: %2 QNetworkReply8Descocese o protocolo "%1"Protocol "%1" is unknown QNetworkReply&Operacin canceladaOperation canceledQNetworkReplyImplPResultou imposbel comezar a transaccinUnable to begin transaction QOCIDriverPResultou imposbel remitir a transaccinUnable to commit transaction QOCIDriver2Foi imposbel inicializarUnable to initialize QOCIDriver8Foi imposbel iniciar sesinUnable to logon QOCIDriverRResultou imposbel reverter a transaccinUnable to rollback transaction QOCIDriverNResultou imposbel asignar a instrucinUnable to alloc statement QOCIResultlFoi imposbel ligar a columna para a execucin en lote'Unable to bind column for batch execute QOCIResultDResultou imposbel asociar o valorUnable to bind value QOCIResult`Resultou imposbel executar a instrucin en lote!Unable to execute batch statement QOCIResultjResultou imposbel executar a instrucin seleccionada"Unable to execute select statement QOCIResultPResultou imposbel executar a instrucinUnable to execute statement QOCIResultBResultou imposbel ir ao seguinteUnable to goto next QOCIResultPResultou imposbel preparar a instrucinUnable to prepare statement QOCIResultPResultou imposbel remitir a transaccinUnable to commit transaction QODBCDriver6Resultou imposbel conectarUnable to connect QODBCDriverResultou imposbel conectar - O controlador non permite todas as funcionalidades requiridasCUnable to connect - Driver doesn't support all needed functionality QODBCDriverXResultou imposbel desactivar a autoremisinUnable to disable autocommit QODBCDriverRResultou imposbel activar a autoremisinUnable to enable autocommit QODBCDriverRResultou imposbel reverter a transaccinUnable to rollback transaction QODBCDriver.QODBCResult::reset: Resultou imposbel establecer 'SQL_CURSOR_STATIC' como un atributo da declaracin. Comprobe a configuracin do seu controlador ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResultJResultou imposbel asociar a varibelUnable to bind variable QODBCResultPResultou imposbel executar a instrucinUnable to execute statement QODBCResult0Resultou imposbel obterUnable to fetch QODBCResultFResultou imposbel obter o primeiroUnable to fetch first QODBCResultBResultou imposbel obter o ltimoUnable to fetch last QODBCResultFResultou imposbel obter o seguinteUnable to fetch next QODBCResultFResultou imposbel obter o anteriorUnable to fetch previous QODBCResultPResultou imposbel preparar a instrucinUnable to prepare statement QODBCResult$URI non vlido: %1Invalid URI: %1QObject@Non se permite a operacin en %1Operation not supported on %1QObjectfErro de protocolo: recibiuse paquete de tamao cero)Protocol error: packet of size 0 receivedQObject*Erro ao ler de %1: %2Read error reading from %1: %2QObjectlO equipo remoto pechou a conexin prematuramente en %13Remote host closed the connection prematurely on %1QObject0Erro do scket en %1: %2Socket error on %1: %2QObject2Erro ao escribir a %1: %2Write error writing to %1: %2QObjectNomeNameQPPDOptionsModel ValorValueQPPDOptionsModelJNon foi posbel iniciar a transaccinCould not begin transaction QPSQLDriverPNon foi posbel actualizar a transaccinCould not commit transaction QPSQLDriverLNon foi posbel reverter a transaccinCould not rollback transaction QPSQLDriver6Resultou imposbel conectarUnable to connect QPSQLDriver4Foi imposbel subscribirseUnable to subscribe QPSQLDriverDFoi imposbel anular a subscricinUnable to unsubscribe QPSQLDriverFResultou imposbel crear a consultaUnable to create query QPSQLResultPResultou imposbel preparar a instrucinUnable to prepare statement QPSQLResult Centmetros (cm)Centimeters (cm)QPageSetupWidgetFormularioFormQPageSetupWidgetAltura:Height:QPageSetupWidgetPolgadas (in) Inches (in)QPageSetupWidgetHorizontal LandscapeQPageSetupWidget MarxesMarginsQPageSetupWidgetMilmetros (mm)Millimeters (mm)QPageSetupWidgetOrientacin OrientationQPageSetupWidget"Tamao de pxina: Page size:QPageSetupWidget PapelPaperQPageSetupWidgetOrixe do papel: Paper source:QPageSetupWidgetPuntos (pt) Points (pt)QPageSetupWidgetVerticalPortraitQPageSetupWidget(Horizontal invertidoReverse landscapeQPageSetupWidget$Vertical invertidoReverse portraitQPageSetupWidgetLargura:Width:QPageSetupWidgetmarxe inferior bottom marginQPageSetupWidgetmarxe esquerda left marginQPageSetupWidgetmarxe dereita right marginQPageSetupWidgetmarxe superior top marginQPageSetupWidget2O plugin non foi cargado.The plugin was not loaded. QPluginLoader<Produciuse un erro descoecido Unknown error QPluginLoaderD%1 xa existe. Quere sobrescribilo?/%1 already exists. Do you want to overwrite it? QPrintDialogv%1 un cartafol. Seleccione un nome de ficheiro diferente.7%1 is a directory. Please choose a different file name. QPrintDialog&Opcins << &Options << QPrintDialog&Opcins >> &Options >> QPrintDialogIm&primir&Print QPrintDialogA0A0 QPrintDialogA1A1 QPrintDialogA2A2 QPrintDialogA3A3 QPrintDialogA4A4 QPrintDialogA5A5 QPrintDialogA6A6 QPrintDialogA7A7 QPrintDialogA8A8 QPrintDialogA9A9 QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0B0 QPrintDialogB1B1 QPrintDialogB10B10 QPrintDialogB2B2 QPrintDialogB3B3 QPrintDialogB4B4 QPrintDialogB5B5 QPrintDialogB6B6 QPrintDialogB7B7 QPrintDialogB8B8 QPrintDialogB9B9 QPrintDialogC5EC5E QPrintDialogPersonalizadoCustom QPrintDialogDLEDLE QPrintDialogExecutivo Executive QPrintDialogO ficheiro %1 non dispn de permisos de escritura. Seleccione un nome de ficheiro diferente.=File %1 is not writable. Please choose a different file name. QPrintDialog FolioFolio QPrintDialogLibro maiorLedger QPrintDialog LegalLegal QPrintDialog CartaLetter QPrintDialogFicheiro local Local file QPrintDialog2Imprimir a un ficheiro...Print To File ... QPrintDialog8Imprimir a un ficheiro (PDF)Print to File (PDF) QPrintDialogFImprimir a un ficheiro (Postscript)Print to File (Postscript) QPrintDialogTabloideTabloid QPrintDialog,US Common #10 EnvelopeUS Common #10 Envelope QPrintDialog*Escribe o ficheiro %1 Write %1 file QPrintDialog(conectado localmentelocally connected QPrintDialogdescoecidounknown QPrintDialog PecharCloseQPrintPreviewDialogPrimeira pxina First pageQPrintPreviewDialog Axustar pxinaFit pageQPrintPreviewDialog&Axustarse largura Fit widthQPrintPreviewDialogHorizontal LandscapeQPrintPreviewDialogltima pxina Last pageQPrintPreviewDialogSeguinte pxina Next pageQPrintPreviewDialog.Configuracin de pxina Page SetupQPrintPreviewDialog.Configuracin de pxina Page setupQPrintPreviewDialogVerticalPortraitQPrintPreviewDialogPxina anterior Previous pageQPrintPreviewDialogImprimirPrintQPrintPreviewDialog:Previsualizacin da impresin Print PreviewQPrintPreviewDialog.Mostrar pxinas opostasShow facing pagesQPrintPreviewDialogTMostrar a visin xeral de todas as pxinasShow overview of all pagesQPrintPreviewDialog.Mostrar unha soa pxinaShow single pageQPrintPreviewDialogAmpliarZoom inQPrintPreviewDialogReducirZoom outQPrintPreviewDialogAvanzadoAdvancedQPrintPropertiesWidgetFormularioFormQPrintPropertiesWidget PxinaPageQPrintPropertiesWidgetOrdenarCollateQPrintSettingsOutputCorColorQPrintSettingsOutputModo de cor Color ModeQPrintSettingsOutput CopiasCopiesQPrintSettingsOutputCopias:Copies:QPrintSettingsOutput4Impresin polas das carasDuplex PrintingQPrintSettingsOutputFormularioFormQPrintSettingsOutput&Escala de cincentos GrayscaleQPrintSettingsOutputLado longo Long sideQPrintSettingsOutput NingnNoneQPrintSettingsOutputOpcinsOptionsQPrintSettingsOutput.Configuracins de sadaOutput SettingsQPrintSettingsOutputDesde a pxina Pages fromQPrintSettingsOutputImprimir todo Print allQPrintSettingsOutput,Intervalo de impresin Print rangeQPrintSettingsOutputInverterReverseQPrintSettingsOutputSeleccin SelectionQPrintSettingsOutputLado curto Short sideQPrintSettingsOutputatoQPrintSettingsOutput &Nome:&Name: QPrintWidget...... QPrintWidgetFormularioForm QPrintWidgetLocalizacin: Location: QPrintWidget&&Ficheiro de sada: Output &file: QPrintWidgetP&ropiedades P&roperties QPrintWidget PrevisualizacinPreview QPrintWidgetImpresoraPrinter QPrintWidget Tipo:Type: QPrintWidgetCancelarCancelQProgressDialog AbrirOpen QPushButton MarcarCheck QRadioButtonHsintaxe incorrecta para a clase charbad char class syntaxQRegExpXsintaxe incorrecta para a busca cara diante bad lookahead syntaxQRegExpHsintaxe incorrecta para a repeticinbad repetition syntaxQRegExpRempregase unha caracterstica desactivadadisabled feature usedQRegExp,valor octal non vlidoinvalid octal valueQRegExp4acadouse un lmite internomet internal limitQRegExp8falta o delimitador esquerdomissing left delimQRegExp.non ocorreu ningn errono error occurredQRegExp final inesperadounexpected endQRegExp:Erro ao abrir a base de datosError to open databaseQSQLite2DriverPResultou imposbel comezar a transaccinUnable to begin transactionQSQLite2DriverPResultou imposbel remitir a transaccinUnable to commit transactionQSQLite2DriverHFoi imposbel reverter a transaccinUnable to rollback TransactionQSQLite2DriverPResultou imposbel executar a instrucinUnable to execute statementQSQLite2ResultLResultou imposbel obter os resultadosUnable to fetch resultsQSQLite2Result<Erro ao pechar a base de datosError closing database QSQLiteDriver:Erro ao abrir a base de datosError opening database QSQLiteDriverPResultou imposbel comezar a transaccinUnable to begin transaction QSQLiteDriverPResultou imposbel remitir a transaccinUnable to commit transaction QSQLiteDriverRResultou imposbel reverter a transaccinUnable to rollback transaction QSQLiteDriverSen consultasNo query QSQLiteResultFO nmero de parmetros non coincideParameter count mismatch QSQLiteResultPResultou imposbel asociar os parmetrosUnable to bind parameters QSQLiteResultPResultou imposbel executar a instrucinUnable to execute statement QSQLiteResult>Resultou imposbel obter a filaUnable to fetch row QSQLiteResultRResultou imposbel reiniciar a instrucinUnable to reset statement QSQLiteResultInferiorBottom QScrollBarBordo esquerdo Left edge QScrollBarLia abaixo Line down QScrollBarLia arribaLine up QScrollBarAvanzar pxina Page down QScrollBar"Pxina esquerda Page left QScrollBar Pxina dereita Page right QScrollBar"Retroceder pxinaPage up QScrollBarPosicinPosition QScrollBarBordo dereito Right edge QScrollBar Desprazar abaixo Scroll down QScrollBar*Desprazar cara a aqu Scroll here QScrollBar2Desprazar cara esquerda Scroll left QScrollBar0Desprazar cara dereita Scroll right QScrollBar Desprazar arriba Scroll up QScrollBarSuperiorTop QScrollBar%1: xa existe%1: already exists QSharedMemoryL%1: o tamao de creacin menor que 0%1: create size is less then 0 QSharedMemory%1: non existe%1: doesn't exists QSharedMemory%1: fallou ftok%1: ftok failed QSharedMemory"%1: chave baleira%1: key is empty QSharedMemory %1: sen conectar%1: not attached QSharedMemory6%1: esgotronse os recursos%1: out of resources QSharedMemory(%1: permiso denegado%1: permission denied QSharedMemory^%1: restricins de tamao impostas polo sistema$%1: system-imposed size restrictions QSharedMemory4%1: foi imposbel bloquear%1: unable to lock QSharedMemory>%1: foi imposbel crear a chave%1: unable to make key QSharedMemory^%1: foi imposbel establecer a chave de bloqueo%1: unable to set key on lock QSharedMemory:%1: foi imposbel desbloquear%1: unable to unlock QSharedMemoryP%1: o ficheiro de chaves unix non existe %1: unix key file doesn't exists QSharedMemory.%1: erro descoecido %2%1: unknown error %2 QSharedMemory++ QShortcutAltAlt QShortcut VolverBack QShortcutRetroceso Backspace QShortcutTab atrsBacktab QShortcut*Potenciador de graves Bass Boost QShortcut Baixar os graves Bass Down QShortcutSubir os gravesBass Up QShortcut ChamarCall QShortcut$Bloqueo maisculas Caps Lock QShortcutBloq maisCapsLock QShortcutContexto1Context1 QShortcutContexto2Context2 QShortcutContexto3Context3 QShortcutContexto4Context4 QShortcutCtrlCtrl QShortcutSuprDel QShortcut BorrarDelete QShortcut AbaixoDown QShortcutFinEnd QShortcut IntroEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutPreferidos Favorites QShortcutVoltearFlip QShortcutSeguinteForward QShortcut"Colgar a conexinHangup QShortcut AxudaHelp QShortcut InicioHome QShortcut Pxina de inicio Home Page QShortcutInsIns QShortcutInserirInsert QShortcutLanzar (0) Launch (0) QShortcutLanzar (1) Launch (1) QShortcutLanzar (2) Launch (2) QShortcutLanzar (3) Launch (3) QShortcutLanzar (4) Launch (4) QShortcutLanzar (5) Launch (5) QShortcutLanzar (6) Launch (6) QShortcutLanzar (7) Launch (7) QShortcutLanzar (8) Launch (8) QShortcutLanzar (9) Launch (9) QShortcutLanzar (A) Launch (A) QShortcutLanzar (B) Launch (B) QShortcutLanzar (C) Launch (C) QShortcutLanzar (D) Launch (D) QShortcutLanzar (E) Launch (E) QShortcutLanzar (F) Launch (F) QShortcutLanzar correo Launch Mail QShortcut"Lanzar multimedia Launch Media QShortcutEsquerdaLeft QShortcutSeguinte media Media Next QShortcut*Reproducir multimedia Media Play QShortcutMedia anteriorMedia Previous QShortcut"Gravar multimedia Media Record QShortcut Deter multimedia Media Stop QShortcutMenMenu QShortcutMetaMeta QShortcutNonNo QShortcutBloqueo nmNum Lock QShortcutBloq nmNumLock QShortcut Bloqueo numrico Number Lock QShortcutAbrir URLOpen URL QShortcut Pxina posterior Page Down QShortcutPxina anteriorPage Up QShortcut DeterPause QShortcut AvPxPgDown QShortcut RePxPgUp QShortcutImprimirPrint QShortcut"Imprimir pantalla Print Screen QShortcutActualizarRefresh QShortcut IntroReturn QShortcutDereitaRight QShortcut0Bloqueo de desprazamento Scroll Lock QShortcutBloq despr ScrollLock QShortcut BuscarSearch QShortcutSeleccionarSelect QShortcut MaisShift QShortcut EspazoSpace QShortcutEn esperaStandby QShortcut PararStop QShortcutPet sisSysReq QShortcut&Peticin do sistemaSystem Request QShortcutTabTab QShortcut Baixar os agudos Treble Down QShortcutSubir os agudos Treble Up QShortcut ArribaUp QShortcutBaixar o volume Volume Down QShortcutSen volume Volume Mute QShortcutSubir o volume Volume Up QShortcutSiYes QShortcutAvanzar pxina Page downQSlider"Pxina esquerda Page leftQSlider Pxina dereita Page rightQSlider"Retroceder pxinaPage upQSliderPosicinPositionQSlider`Excedeuse o tempo de espera na operacin de redeNetwork operation timed outQSocks5SocketEngineErro de tempo de conexin excedido Socks5 ao conectar co servidor socks/Socks5 timeout error connecting to socks serverQSocks5SocketEngine MenosLessQSpinBoxMisMoreQSpinBoxCancelarCancelQSql@Quere cancelar as sas edicins?Cancel your edits?QSqlConfirmarConfirmQSql BorrarDeleteQSql:Quere eliminar este rexistro?Delete this record?QSqlInserirInsertQSqlNonNoQSql Gardar edicins? Save edits?QSqlActualizarUpdateQSqlSiYesQSqlxResultou imposbel proporcionar un certificado sen chave, %1,Cannot provide a certificate with no key, %1 QSslSocketBErro ao crear o contexto SSL (%1)Error creating SSL context (%1) QSslSocketXProduciuse un erro ao crear a sesin SSL, %1Error creating SSL session, %1 QSslSocketXProduciuse un erro ao crear a sesin SSL: %1Error creating SSL session: %1 QSslSocket`Produciuse un erro durante a negociacin SSL: %1Error during SSL handshake: %1 QSslSocketLErro ao cargar o certificado local, %1#Error loading local certificate, %1 QSslSocketDErro ao cargar a chave privada, %1Error loading private key, %1 QSslSocket:Produciuse un erro ao ler: %1Error while reading: %1 QSslSocketVLista de cifrado baleira ou non vlida (%1)!Invalid or empty cipher list (%1) QSslSocketbA chave privada non certifica a chave pblica, %1/Private key does not certificate public key, %1 QSslSocketBFoi imposbel escribir o dato: %1Unable to write data: %1 QSslSocket<Foi imposbel abrir a conexinUnable to open connection QTDSDriverVResultou imposbel empregar a base de datosUnable to use database QTDSDriver2Desprazar cara esquerda Scroll LeftQTabBar0Desprazar cara dereita Scroll RightQTabBar&Copiar&Copy QTextControl &Pegar&Paste QTextControl&Refacer&Redo QTextControlD&esfacer&Undo QTextControl>Copiar &localizacin da ligaznCopy &Link Location QTextControlCor&tarCu&t QTextControl BorrarDelete QTextControl Seleccionar todo Select All QTextControl AbrirOpen QToolButton PremerPress QToolButton@Esta plataforma non permite IPv6#This platform does not support IPv6 QUdpSocketRefacerRedo QUndoGroupDesfacerUndo QUndoGroup<baleiro> QUndoModelRefacerRedo QUndoStackDesfacerUndo QUndoStackLInserir un carcter de control Unicode Insert Unicode control characterQUnicodeControlCharacterMenubLRE Inicio de incorporacin de esquerda-a-dereita$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu>LRM Marca de esquerda-a-dereitaLRM Left-to-right markQUnicodeControlCharacterMenubLRO Inicio de sobreposicin de esquerda-a-dereita#LRO Start of left-to-right overrideQUnicodeControlCharacterMenuBPDF Mostrar formatado direccionalPDF Pop directional formattingQUnicodeControlCharacterMenubRLE Inicio de incorporacin de dereita-a-esquerda$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu>RLM Marca de dereita-a-esquerdaRLM Right-to-left markQUnicodeControlCharacterMenubRLO Inicio de sobreposicin de dereita-a-esquerda#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu<ZWJ Ensamblaxe de largura ceroZWJ Zero width joinerQUnicodeControlCharacterMenuDZWNJ Desensamblaxe de largura ceroZWNJ Zero width non-joinerQUnicodeControlCharacterMenu6ZWSP Espazo de largura ceroZWSP Zero width spaceQUnicodeControlCharacterMenu6Non posbel mostrar o URLCannot show URL QWebFrame@Non posbel mostrar o mimetypeCannot show mimetype QWebFrame*O ficheiro non existeFile does not exist QWebFramevA carga do cadro foi interrompida por un cambio de poltica&Frame load interruped by policy change QWebFrame Pedido bloqueadoRequest blocked QWebFrame Pedido canceladoRequest cancelled QWebFrame"%1 (%2x%3 pixels)%1 (%2x%3 pixels)QWebPage*Engadir ao dicionarioAdd To DictionaryQWebPage4Solicitude HTTP non validaBad HTTP requestQWebPage NegraBoldQWebPageDComprobar gramtica con ortografaCheck Grammar With SpellingQWebPage0Comprobacin ortogrficaCheck SpellingQWebPageRComprobar a ortografa mentres se escribeCheck Spelling While TypingQWebPageElixir ficheiro Choose FileQWebPage,Limpar buscar recentesClear recent searchesQWebPage CopiarCopyQWebPageCopiar imaxe Copy ImageQWebPageCopiar ligazn Copy LinkQWebPage CortarCutQWebPagePredefinidoDefaultQWebPageDireccin DirectionQWebPageTipos de letraFontsQWebPage VolverGo BackQWebPageAdiante Go ForwardQWebPage<Ocultar ortografa e gramticaHide Spelling and GrammarQWebPageIgnorarIgnoreQWebPageIgnorar Ignore Grammar context menu itemIgnoreQWebPageInspeccionarInspectQWebPageCursivaItalicQWebPageLTRLTRQWebPage(Buscar no dicionarioLook Up In DictionaryQWebPageBNon se encontrou ningn convidadoNo Guesses FoundQWebPageDNon se seleccionou ningn ficheiroNo file selectedQWebPage&Sen buscas recentesNo recent searchesQWebPageAbrir marco Open FrameQWebPageAbrir imaxe Open ImageQWebPageAbrir ligazn Open LinkQWebPage.Abrir nunha nova xanelaOpen in New WindowQWebPageContornoOutlineQWebPage PegarPasteQWebPageRTLRTLQWebPageBuscas recentesRecent searchesQWebPageRecargarReloadQWebPageRestabelecerResetQWebPageGardar imaxe Save ImageQWebPage"Gardar ligazn... Save Link...QWebPageBuscar na webSearch The WebQWebPage<Mostrar ortografa e gramticaShow Spelling and GrammarQWebPageOrtografaSpellingQWebPage PararStopQWebPage EnviarSubmitQWebPage EnviarQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPageEste ndice permite buscas. Introduza palabras chave para buscar: 3This is a searchable index. Enter search keywords: QWebPageSubliado UnderlineQWebPageDescoecidoUnknownQWebPage$Inspector web - %2Web Inspector - %2QWebPageQue isto? What's This?QWhatsThisAction**QWidget&Finalizar&FinishQWizard A&xuda&HelpQWizardSegui&nte&NextQWizardSegui&nte>&Next >QWizard< Vo&lver< &BackQWizardCancelarCancelQWizardActualizarCommitQWizardContinuarContinueQWizard FeitoDoneQWizard VolverGo BackQWizard AxudaHelpQWizardSarQuitQWizard%1 - [%2] %1 - [%2] QWorkspace&Cerrar&Close QWorkspace &Mover&Move QWorkspace&Restaurar&Restore QWorkspace&Tamao&Size QWorkspaceDesensom&brecer&Unshade QWorkspace PecharClose QWorkspaceMa&ximizar Ma&ximize QWorkspaceMi&nimizar Mi&nimize QWorkspaceMinimizarMinimize QWorkspace(Restaurar minimizado Restore Down QWorkspaceSombr&aSh&ade QWorkspace<Permanecer en pri&meiro plano Stay on &Top QWorkspaceesperbase unha declaracin de codificacin ou declaracin autnoma ao ler a declaracin XMLYencoding declaration or standalone declaration expected while reading the XML declarationQXml`erro na declaracin de texto da entidade externa3error in the text declaration of an external entityQXmlPocorreu un erro ao analizar o comentario$error occurred while parsing commentQXmlJocorreu un erro ao analizar o contido$error occurred while parsing contentQXmlzocorreu un erro ao analizar a definicin do tipo de documento5error occurred while parsing document type definitionQXmlLocorreu un erro ao analizar o elemento$error occurred while parsing elementQXmlPocorreu un erro ao analizar a referencia&error occurred while parsing referenceQXml<erro disparado polo consumidorerror triggered by consumerQXmlnon se permiten referencias a unha entidade xeral externa procesada no DTD;external parsed general entity reference not allowed in DTDQXmlnon se permiten referencias a unha entidade xeral externa procesada no valor do atributoGexternal parsed general entity reference not allowed in attribute valueQXmlnon se permiten as referencias a entidades xerais internas na DTD4internal general entity reference not allowed in DTDQXmldo nome non vlido para o procesado da instrucin'invalid name for processing instructionQXml*esperbase unha letraletter is expectedQXmlTmis dunha definicin de tipo de documento&more than one document type definitionQXml.non ocorreu ningn errono error occurredQXml(entidades recursivasrecursive entitiesQXmlzesperbase unha declaracin autnoma ao ler a declaracin XMLAstandalone declaration expected while reading the XML declarationQXml.a etiqueta non coincide tag mismatchQXml&carcter inesperadounexpected characterQXml8fin de ficheiro non esperadounexpected end of fileQXmlvreferencia a entidade non procesada nun contexto incorrecto*unparsed entity reference in wrong contextQXmlRversin esperada ao ler a declaracin XML2version expected while reading the XML declarationQXmlXvalor incorrecto para a declaracin autnoma&wrong value for standalone declarationQXmlNO identificador PUBLIC %1 non vlido.#%1 is an invalid PUBLIC identifier. QXmlStreamNO nome de codificacin %1 non vlido.%1 is an invalid encoding name. QXmlStreampNon vlido %1 como nome de instrucin de procesamento.-%1 is an invalid processing instruction name. QXmlStream", mais obtvose ' , but got ' QXmlStream4Atributo definido de novo.Attribute redefined. QXmlStream@Non se permite a codificacin %1Encoding %1 is unsupported QXmlStream^Encontrouse contido codificado incorrectamente.(Encountered incorrectly encoded content. QXmlStreamDA entidade '%1' non foi declarada.Entity '%1' not declared. QXmlStreamEsperado  Expected  QXmlStream<Esperbanse datos de carcter.Expected character data. QXmlStreamLContido adicional na fin do documento.!Extra content at end of document. QXmlStream\A declaracin de espazo de nomes non vlida.Illegal namespace declaration. QXmlStream8O carcter XML non vlido.Invalid XML character. QXmlStream0O nome XML non vlido.Invalid XML name. QXmlStreamHA cadea de versin XML non vlida.Invalid XML version string. QXmlStreamVO atributo non vlido na declaracin XML.%Invalid attribute in XML declaration. QXmlStreamLA referencia do carcter non vlida.Invalid character reference. QXmlStream2O documento non vlido.Invalid document. QXmlStreamBO valor da entidade non vlido.Invalid entity value. QXmlStreamdNon vlido o nome da instrucin de procesamento.$Invalid processing instruction name. QXmlStream\NDATA no parmetro de declaracin da entidade.&NDATA in parameter entity declaration. QXmlStreamfO prefixo no espazo de nomes '%1' non foi declarado"Namespace prefix '%1' not declared QXmlStreamhAs etiquetas de apertura e cerramento non coinciden. Opening and ending tag mismatch. QXmlStream:Final prematuro do documento.Premature end of document. QXmlStreamFDetectouse unha entidade recursiva.Recursive entity detected. QXmlStreampReferencia a entidade externa '%1' no valor do atributo.5Reference to external entity '%1' in attribute value. QXmlStream^A referencia entidade '%1' non foi procesada."Reference to unparsed entity '%1'. QXmlStreamXNon se permite a secuencia ']]>' no contido.&Sequence ']]>' not allowed in content. QXmlStream4Autnomo acepta si ou non."Standalone accepts only yes or no. QXmlStreamFEsperbase o inicio dunha etiqueta.Start tag expected. QXmlStream|O seudo-atributo autnomo debe aparecer antes da codificacin.?The standalone pseudo attribute must appear after the encoding. QXmlStreamInesperado ' Unexpected ' QXmlStreamhCarcter '%1' non esperado no id do literal pblico./Unexpected character '%1' in public id literal. QXmlStreamDA versin de XML non compatbel.Unsupported XML version. QXmlStream^Falta a declaracin XML ao inicio do documento.)XML declaration not at start of document. QXmlStream^%1 e %2 coinciden co inicio e o fin dunha lia.,%1 and %2 match the start and end of a line. QtXmlPatterns4Non posbel recuperar %1%1 cannot be retrieved QtXmlPatterns%1 non un tipo complexo. A conversin a tipos complexos non posbel. Porn, a conversin de tipos atmicos como %2 funciona.s%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. QtXmlPatterns*%1 non un %2 vlido%1 is an invalid %2 QtXmlPatterns%1 non unha marca vlida para expresins regulares. As marcas vlidas son:?%1 is an invalid flag for regular expressions. Valid flags are: QtXmlPatternsT%1 non un URI de espazo de nomes vlido.%1 is an invalid namespace URI. QtXmlPatternsd%1 non un patrn de expresin regular vlido: %2/%1 is an invalid regular expression pattern: %2 QtXmlPatternsH%1 un tipo de esquema descoecido.%1 is an unknown schema type. QtXmlPatternsH%1 non un carcter XML 1.0 vlido.$%1 is not a valid XML 1.0 character. QtXmlPatterns%1 non un nome vlido para unha instrucin de procesamento. Polo tanto esta proba do nome nunca coincidir._%1 is not a valid name for a processing-instruction. Therefore this name test will never match. QtXmlPatternsH%1 non un literal numrico vlido."%1 is not a valid numeric literal. QtXmlPatterns%1 non un nome de destino vlido nunha instrucin de procesamento Debe ser un valor %2, i. e. %3.Z%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. QtXmlPatternsH%1 non un valor vlido do tipo %2.#%1 is not a valid value of type %2. QtXmlPatternsN%1 non un nmero completo de minutos.$%1 is not a whole number of minutes. QtXmlPatterns%1 non un tipo atmico. S e posbel converter a tipos atmicos.C%1 is not an atomic type. Casting is only possible to atomic types. QtXmlPatterns%1 non est no mbito de declaracins do atributo. Nota que non se permite a caracterstica de importacin de esquemas.g%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. QtXmlPatternsR%1 non vlido como un valor do tipo %2.&%1 is not valid as a value of type %2. QtXmlPatternsN%1 coincide cos caracteres de nova lia%1 matches newline characters QtXmlPatterns%2 ou %3 deben seguir a %1, e non ao final a cadea de substitucin.J%1 must be followed by %2 or %3, not at the end of the replacement string. QtXmlPatterns%1 require como mnimo %n argumento(s). Polo tanto, %2 non vlido.=%1 requires at least %n argument(s). %2 is therefore invalid. QtXmlPatterns%1 recibe como mximo %n argumento(s). Polo tanto, %2 non vlido.9%1 takes at most %n argument(s). %2 is therefore invalid. QtXmlPatterns%1 foi chamado.%1 was called. QtXmlPatterns@Un comentario non pode conter %1A comment cannot contain %1 QtXmlPatternsNUn comentario non pode terminar cun %1.A comment cannot end with a %1. QtXmlPatternsUnha declaracin predefinida de espazo de nomes debe ir antes que as declaracins de funcins, varibeis e opcins.^A default namespace declaration must occur before function, variable, and option declarations. QtXmlPatternsUn construtor dun elemento directo non est ben formado. %1 finaliza con %2.EA direct element constructor is not well-formed. %1 is ended with %2. QtXmlPatternsNXa existe unha funcin coa sinatura %1.0A function already exists with the signature %1. QtXmlPatternsUn mdulo de biblioteca non se pode avaliar directamente. Dbese importar desde un mdulo principal.VA library module cannot be evaluated directly. It must be imported from a main module. QtXmlPatternsUn predicado posicional debe dar como resultado un nico valor numrico.?A positional predicate must evaluate to a single numeric value. QtXmlPatternsUn valor do tipo %1 non pode ser un predicado. Un predicado debe ter ben sexa un tipo numrico ben sexa un tipo de valor booleano efectivo.yA value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. QtXmlPatternsxUn valor do tipo %1 non pode ter un valor efectivo booleano.:A value of type %1 cannot have an Effective Boolean Value. QtXmlPatternsUn valor de tipo %1 debe conter un certo nmero de dxitos. O valor %2 non existe.PA value of type %1 must contain an even number of digits. The value %2 does not. QtXmlPatternsjUnha varibel de nome %1 xa foi declarada no prlogo.>A variable by name %1 has already been declared in the prolog. QtXmlPatternsUnha zona de desprazamento debe estar no intervalo %1..%2, includos. %3 est fra do intervalo.HA zone offset must be in the range %1..%2 inclusive. %3 is out of range. QtXmlPatterns|Un atributo %1 debe ter un %2 vlido como valor, e %3 non o .>An %1-attribute must have a valid %2 as value, which %3 isn't. QtXmlPatternsZUn atributo %1 con valor %2 xa foi declarado.8An %1-attribute with value %2 has already been declared. QtXmlPatternsUn argumento de nome %1 xa foi declarado. Cada nome de argumento debe ser nico.UAn argument by name %1 has already been declared. Every argument name must be unique. QtXmlPatternslUn atributo para o nome %1 xa apareceu neste elemento.=An attribute by name %1 has already appeared on this element. QtXmlPatternsJUn atributo co nome %1 xa foi creado.1An attribute by name %1 has already been created. QtXmlPatternsUn nodo atributo non pode ser un fillo dun documento nodo. En calquera caso, o atributo %1 est fra de lugar.dAn attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. QtXmlPatternsZPolo menos un compoente debe estar presente.'At least one component must be present. QtXmlPatternsPolo menos un compoente da hora debe aparecer despois do delimitador %1.?At least one time component must appear after the %1-delimiter. QtXmlPatternsO atributo %1 non pode ser serializado porque aparece no nivel mis alto.EAttribute %1 can't be serialized because it appears at the top level. QtXmlPatternsNon posbel converter a %1 porque un tipo abstracto, e polo tanto nunca ser instanciado.fCasting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. QtXmlPatternsHO da %1 non vlido para o mes %2.Day %1 is invalid for month %2. QtXmlPatternsFO da %1 est fora do rango %2..%3.#Day %1 is outside the range %2..%3. QtXmlPatternsNon se permite dividir un valor do tipo %1 por %2 (non un nmero).@Dividing a value of type %1 by %2 (not-a-number) is not allowed. QtXmlPatternsNon se permite dividir un valor do tipo %1 por %2 ou %3 (mis ou menos cero).LDividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. QtXmlPatterns`A divisin (%1) por cero (%2) non est definida.(Division (%1) by zero (%2) is undefined. QtXmlPatternsO valor efectivo booleano non se pode calcular para unha secuencia que contea dous ou mis valores atmicos.aEffective Boolean Value cannot be calculated for a sequence containing two or more atomic values. QtXmlPatternsO elemento %1 non posbel serializalo porque aparece fora do elemento do documento.OElement %1 can't be serialized because it appears outside the document element. QtXmlPatterns^Produciuse un fallo ao converter de %1 a %2: %3&Failure when casting from %1 to %2: %3 QtXmlPatternsSe ambos valores teen zonas de desprazamento, deben ter a mesma zona de desprazamento. %1 e %2 non son o mesmo.bIf both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. QtXmlPatternsNSe o primeiro argumento unha secuencia baleira ou unha cadea de lonxitude cero (sen espazo de nomes), non se pode especificar un prefixo. Especificouse o prefixo %1.If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. QtXmlPatternsNa cadea de substitucin, %1 s pode ser usado para escaparse a si mesmo ou a %2, non a %3MIn the replacement string, %1 can only be used to escape itself or %2, not %3 QtXmlPatternsNa cadea de substitucin, %1 debe ir seguindo cando menos por un dxito cando non escapado.VIn the replacement string, %1 must be followed by at least one digit when not escaped. QtXmlPatternspA divisin enteira (%1) por cero (%2) non est definida.0Integer division (%1) by zero (%2) is undefined. QtXmlPatternsFNon posbel asociar co prefixo %1+It is not possible to bind to the prefix %1 QtXmlPatternsFNon posbel converter de %1 a %2.)It is not possible to cast from %1 to %2. QtXmlPatternsZNon posbel volver a declarar o prefixo %1.*It is not possible to redeclare prefix %1. QtXmlPatterns<Non ser posbel recuperar %1.'It will not be possible to retrieve %1. QtXmlPatternsNon posbel engadir atributos despois de calquera outro tipo de nodo.AIt's not possible to add attributes after any other kind of node. QtXmlPatternsdNon posbel converter o valor %1 do tipo %2 a %37It's not possible to cast the value %1 of type %2 to %3 QtXmlPatternspAs coincidencias non distinguen maisculas de minsculasMatches are case insensitive QtXmlPatternsA importacin de mdulos ir antes que a declaracin de funcins, varibeis e opcins.MModule imports must occur before function, variable, and option declarations. QtXmlPatternstA divisin de mdulo (%1) por cero (%2) non est definida.0Modulus division (%1) by zero (%2) is undefined. QtXmlPatternsFO mes %1 est fora do rango %2..%3.%Month %1 is outside the range %2..%3. QtXmlPatternsNon se permite a multiplicacin dun valor do tipo %1 por %2 ou %3 (mis ou menos infinito).YMultiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. QtXmlPatternsO espazo de nomes %1 s pode ser vinculado a %2 (e, en calquera caso, declrase previamente).ONamespace %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsAs declaracins de espazo de nomes deben ir antes que as declaracins de funcins, varibeis e opcins.UNamespace declarations must occur before function, variable, and option declarations. QtXmlPatterns0Tempo de espera da rede.Network timeout. QtXmlPatternsjNon posbel a conversin a %1 como tipo de destino.2No casting is possible with %1 as the target type. QtXmlPatternsVNon se poden facer comparativas co tipo %1.1No comparisons can be done involving the type %1. QtXmlPatternsNon se permiten funcins externas. Todas as funcins admitidas pdense empregar directamente se declaralas primeiro como externas{No external functions are supported. All supported functions can be used directly, without first declaring them as external QtXmlPatterns`Non est dispobel ningunha funcin de nome %1.$No function by name %1 is available. QtXmlPatternshNon est dispobel ningunha funcin coa sinatura %1*No function with signature %1 is available QtXmlPatternsnNon existe combinacin no espazo de nomes co prefixo %1-No namespace binding exists for the prefix %1 QtXmlPatternszNon existe combinacin do espazo de nomes co prefixo %1 en %23No namespace binding exists for the prefix %1 in %2 QtXmlPatternspNon hai operando nunha divisin enteira %1, pode ser %2.1No operand in an integer division, %1, can be %2. QtXmlPatternsNingn valor est dispobel para a varibel externa de nome %1.;No value is available for the external variable by name %1. QtXmlPatternsNNon existe ningunha varibel co nome %1No variable by name %1 exists QtXmlPatternsNon se permite ningunha das expresins de tipo pragma. Polo tanto, unha expresin de modo de emerxencia debe estar presente^None of the pragma expressions are supported. Therefore, a fallback expression must be present QtXmlPatternsrS unha declaracin %1 pode darse no prlogo da consulta.6Only one %1 declaration can occur in the query prolog. QtXmlPatternsS se permite o Unicode Codepoint Collation(%1). Non se permite %2.IOnly the Unicode Codepoint Collation is supported(%1). %2 is unsupported. QtXmlPatternsS o prefixo %1 pode declararse para asociarse ao espazo de nomes %2. De forma predefinida, xa se vincula ao prefixo %1.nOnly the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. QtXmlPatternsO operador %1 non se pode empregar en valores atmicos do tipo %2 e %3.>Operator %1 cannot be used on atomic values of type %2 and %3. QtXmlPatterns\O operador %1 non se pode empregar co tipo %2.&Operator %1 cannot be used on type %2. QtXmlPatternsO operador %1 non est dispobel entre valores atmicos do tipo %2 e %3.EOperator %1 is not available between atomic values of type %2 and %3. QtXmlPatternsfDesbordamento: Non posbel representar a data %1."Overflow: Can't represent date %1. QtXmlPatterns\Desbordamento: a hora non se pode representar.$Overflow: Date can't be represented. QtXmlPatternsO prefixo %1 s pode ser vinculado a %2 (e, en calquera caso declrase previamente).LPrefix %1 can only be bound to %2 (and it is, in either case, pre-declared). QtXmlPatternsTO prefixo %1 xa est declarado no prlogo.,Prefix %1 is already declared in the prolog. QtXmlPatterns`A subida %1 a %2 pode causar perda de precisin./Promoting %1 to %2 may cause loss of precision. QtXmlPatternsA cardinalidade requirida %1, pero obtvose a cardinalidade %2./Required cardinality is %1; got cardinality %2. QtXmlPatternsTRequiriuse o tipo %1, pero encontrouse %2.&Required type is %1, but %2 was found. QtXmlPatternsDNon se permite o eixo %1 en XQuery$The %1-axis is unsupported in XQuery QtXmlPatternsNon se permite a caracterstica importacin de esquemas, e polo tanto as declaracins do tipo %1 non poden ocorrer.WThe Schema Import feature is not supported, and therefore %1 declarations cannot occur. QtXmlPatternsNon se permite a caracterstica de validacin de esquemas. Polo tanto, non se poden usar as expresins %1.VThe Schema Validation Feature is not supported. Hence, %1-expressions may not be used. QtXmlPatternsOs datos dunha instrucin de procesamento non poden conter a cadea %1AThe data of a processing instruction cannot contain the string %1 QtXmlPatternsXA coleccin predeterminada non est definida#The default collection is undefined QtXmlPatternsA codificacin %1 non vlida. S debe conter caracteres latinos, non debe conter espazos en branco e debe coincidir coa expresin regular %2.The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. QtXmlPatternsjO primeiro argumento para %1 non pode ser do tipo %2..The first argument to %1 cannot be of type %2. QtXmlPatternsO primeiro argumento para %1 non pode ser do tipo %2. Debe ser un tipo numrico, xs:yearMonthDuration ou xs:dayTimeDuration.uThe first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. QtXmlPatternsO primeiro argumento para %1 non pode ser do tipo %2. Debe ser do tipo %3, %4 ou %5.PThe first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatternsO primeiro operando nunha divisin enteira, %1, non pode ser infinito (%2).FThe first operand in an integer division, %1, cannot be infinity (%2). QtXmlPatterns2O foco non est definido.The focus is undefined. QtXmlPatternsfA inicializacin da varibel %1 depende de si mesma3The initialization of variable %1 depends on itself QtXmlPatterns`O elemento %1 non coincide co tipo %2 requirido./The item %1 did not match the required type %2. QtXmlPatternsO ltimo paso nun camio debe conter ben sexa nodos ben sexa valores atmicos. Non pode ser unha mestura entre os dous.kThe last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. QtXmlPatternsrNon se permite a caracterstica de importacin de mdulos*The module import feature is not supported QtXmlPatternsO espazo de nomes %1 non ten referencia a ningn tipo de esquema..The name %1 does not refer to any schema type. QtXmlPatternsO nome dun atributo computado non pode ter o URI do espazo de nomes %1 co nome local %2.ZThe name for a computed attribute cannot have the namespace URI %1 with the local name %2. QtXmlPatternsO nome dunha varibel asociada a unha expresin for debe ser diferente da varibel posicional. Polo tanto, das varibeis chamadas %1 chocan.The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. QtXmlPatternsO nome dunha expresin de extensin debe estar contido nun espazo de nomes.;The name of an extension expression must be in a namespace. QtXmlPatternsO nome dunha opcin debe ter un prefixo. Non hai un espazo de nomes predefinido para as opcins.TThe name of an option must have a prefix. There is no default namespace for options. QtXmlPatternsXO espazo de nomes %1 est reservado; polo tanto as funcins definidas polo usuario non poden empregalo. Tente empregar o prefixo predefinido %2 que existe para estes casos.The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. QtXmlPatternsO URI do espazo de nomes non pode ser a cadea baleira cando se asocia a un prefixo, %1.JThe namespace URI cannot be the empty string when binding to a prefix, %1. QtXmlPatternsO URI do espazo de nomes no nome para un atributo computado non pode ser %1.DThe namespace URI in the name for a computed attribute cannot be %1. QtXmlPatternsO URI do espazo de nomes debe ser unha constante e non pode encerrar expresins.IThe namespace URI must be a constant and cannot use enclosed expressions. QtXmlPatternsFO espazo de nomes para unha funcin definida polo usuario non pode estar baleira (tente usar o prefixo predefinido %1 que existe precisamente para casos coma este)yThe namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) QtXmlPatternsbO espazo de nomes dunha funcin definida polo usuario nunha mdulo de biblioteca debe ser equivalente ao espazo de nomes dun mdulo. Noutras palabras, debera ser %1 en ve de %2The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 QtXmlPatternsNon se permite a forma de normalizacin %1. Permtense as formas %2, %3, %4 e %5 ou ningunha. Por exemplo a cadea baleira (sen normalizacin).The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). QtXmlPatternsO nodo raz do segundo argumento da funcin %1 debe ser un nodo documento. %2 non un nodo documento.gThe root node of the second argument to function %1 must be a document node. %2 is not a document node. QtXmlPatternsO segundo argumento para %1 non pode ser do tipo %2. Debe ser do tipo %3, %4 ou %5.QThe second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. QtXmlPatterns|O segundo operando nunha divisin, %1, non pode ser cero (%2).:The second operand in a division, %1, cannot be zero (%2). QtXmlPatterns O nome de destino nunha instrucin de procesamento non pode ter %1 ningunha combinacin de maisculas e minsculas. Polo tanto, %2 non vlido.~The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. QtXmlPatternsrO espazo de nomes de destino dun %1 non pode ser baleiro.-The target namespace of a %1 cannot be empty. QtXmlPatterns>A varibel %1 est sen empregarThe variable %1 is unused QtXmlPatterns@A hora %1:%2:%3.%4 non vlida.Time %1:%2:%3.%4 is invalid. QtXmlPatternsA hora 24:%1:%2.%3 non vlida. A hora est correctamente en 24 horas pero minutos, segundos e milisegundos non estn totalmente a 0; _Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0;  QtXmlPatternsDous atributos de declaracin de espazos de nomes teen o mesmo nome: %1.:WB)C*:I,L-jR.T/U1$6@%A&B&RD&F&H&P'"R'VT'V'X'f(&r(Z(;;V;;cCH4M^QQ_S_NZl6Zld\1]_qtylm$*P֍S,vVEVE$o-9}^#nT*%~`*0~+8+3JgGH8J ^LbFLb&LbLbLbbLboLbyM WM}8`M4N N,7N5AN<NcO8O:T2&T8VuQW3EXrVY[ % [ %0[ %6R[ %=5[ %dN[Z\^Ta.4"u*wPe-Yk`..XB3/v8.$qBM*R+][f/~hJkF`J|:rqZ_x˓%%8e@t ,.[c<\ 0=UyDsj[ 0mh} ~\II7'F![npFzhRzvWF|A %[J`yPU.O n+ z /K L_:>8#NP$#v&:^M-K`5ۻ5:5h)B\HO^9BznaT-2R>Sx8veq = =pn HeJ J1mh?&n&nK,$8#`EDɃJP''=_RA`'ߎ{Oanp߸e>S)H>;,N0?3e344#fI=VMJNRO_RtuHuw,#oJ NWe'.6d M4b7ƭqEs:}Ȟ*譾N#^ ѕ> A DbN LY~ gwk l[~z $ @ OY ("%y d  7] C C1 C6 C=o Cd D MT n% ^n~ l3 3B 9.C 5ss< 5tcs 8L G?niB J LZ~E OZOr T;= c|| d:| d<* d<4w d d dIyX nM qE91 >> >9 t-! bz f) ˔G F>4 ] Vu =:~ lS~ f f = f > f MB f O f R6 f h] f 5  x # * I Y LJ XоL Yn ^t h).E; +e J9n JLC O   )- Ÿ^Z M ͓>  ֕|4  { Q. ^Y  A:4 - &+* ?I Bp LuJi M+ Z$*k [c} vY Af ?: S @1U g 4 c T ]w 5 J w~ s sc sj , ȶU  O ܾ @~Wc ƙ\ b ; o ?@II f T^Nc T^T 7wy Sus< ^ ^}w mbDn n }~ .D Pc P8 .Z k~j @}P 0~ 2 Er2.DOaHB:$$ߎ.{.?E*BL&XR܎e>KysH'[9gdhLkG#n qؾK/6xHcjQ%)! /ўs/ўzC^Q:Yqdd>g^Vp8&t@!srȞ\[ iForfatterAuthor AboutDialog,Nvrende oversettelseCurrent Translation AboutDialogUtvikler Developer AboutDialog>Utvikler, prosjektadministratorDeveloper, Project Admin AboutDialogFeilError AboutDialog2Fil '%1' ble ikke funnet.File '%1' could not be found. AboutDialogxInformasjon om hvordan man oversetter KeePassX finnes under:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg"Legg til bokmerke Add BookmarkAddBookmarkDlgAll filer (*) All Files (*)AddBookmarkDlgBrowse... Browse...AddBookmarkDlgEditer bokmerke Edit BookmarkAddBookmarkDlgFil:File:AddBookmarkDlg0KeePass database (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgTittel:Title:AddBookmarkDlgAuto-Inntasting Auto-Type AutoTypeDlgfKlikk p et element for taste det inn automatisk."Click on an entry to auto-type it. AutoTypeDlg GruppeGroup AutoTypeDlg4KeePassX - Auto-InntastingKeePassX - Auto-Type AutoTypeDlg TittelTitle AutoTypeDlgBrukernavnUsername AutoTypeDlg8'%1' er ikke et gyldig tall. '%1' is not valid integer value.CDbSettingsDlgFAES(Rijndael): 256 Bit (default)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgFeilErrorCDbSettingsDlgOKOKCDbSettingsDlg<Velg antall krypteringssykler.1Please determine the number of encryption rounds.CDbSettingsDlgInnstillingerSettingsCDbSettingsDlg\Antall krypteringssykler m vre strre enn 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgAdvarselWarningCDbSettingsDlg %1 bit%1 Bit CEditEntryDlg1 mned1 Month CEditEntryDlg 1 uke1 Week CEditEntryDlg1 r1 Year CEditEntryDlg 2 uker2 Weeks CEditEntryDlg3 mneder3 Months CEditEntryDlg 3 uker3 Weeks CEditEntryDlg6 mneder6 Months CEditEntryDlg&Legg til vedlegg...Add Attachment... CEditEntryDlgKalender... Calendar... CEditEntryDlg$Kan ikke pne fil.Could not open file. CEditEntryDlgSlett vedlegg?Delete Attachment? CEditEntryDlgEditer element Edit Entry CEditEntryDlgFeilError CEditEntryDlg6Feil under skriving av fil.Error while writing the file. CEditEntryDlgNytt element New Entry CEditEntryDlgNei, avbryt No, Cancel CEditEntryDlgOKOK CEditEntryDlgfPassordene er ikke like. Vennligst kontroller dem.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg Lagre vedlegg...Save Attachment... CEditEntryDlgdDet valgte element har ikke vedlegg eller er tomt.2The chosen entry has no attachment or it is empty. CEditEntryDlg I dagToday CEditEntryDlgAdvarselWarning CEditEntryDlgJaYes CEditEntryDlgDu er i ferd med slette vedlegget for dette elementet. Er du sikker?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg[ikke navngitt][Untitled Entry] CEditEntryDlg%1 bits%1 Bits CGenPwDialog PassordgeneratorPassword Generator CGenPwDialog0%1: Fil kan ikke lastes.%1: File could not be loaded.CSelectIconDlg$Legg til eget ikonAdd Custom IconCSelectIconDlg$Legg til ikoner... Add Icons...CSelectIconDlg<Feil under lesing av ikon(er):+An error occured while loading the icon(s):CSelectIconDlg4Feil under lesing av ikon.(An error occured while loading the icon.CSelectIconDlg SlettDeleteCSelectIconDlgFeilErrorCSelectIconDlgBilder (%1) Images (%1)CSelectIconDlgVelgPickCSelectIconDlgErstatt... Replace...CSelectIconDlg$Velg en katalog...Select a directory... CSettingsDlg4Velg en eksekverbar fil...Select an executable... CSettingsDlgInnstillingerSettings CSettingsDlgSystemsprkSystem Language CSettingsDlgKalenderCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Funnet nytt fr for tilfeldig nummer!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgSamler entropi... Beveg musen eller trykk noen taster p tastaturet til nok entropi er samlet.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlgEntropisamlingEntropy CollectionCollectEntropyDlg4Tilfeldig nummer-generatorRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogVedleggAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogFetBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogSentrertCenteredCustomizeDetailViewDialogKommentarCommentCustomizeDetailViewDialog Opprettelsesdato Creation DateCustomizeDetailViewDialog DialogDialogCustomizeDetailViewDialogUtgttdatoExpiration DateCustomizeDetailViewDialogTekststrrelse Font SizeCustomizeDetailViewDialog GruppeGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialog KursivItalicCustomizeDetailViewDialogJustified JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialogSist aksessertLast Access DateCustomizeDetailViewDialogSist endretLast Modification DateCustomizeDetailViewDialogVentrejustert Left-AlignedCustomizeDetailViewDialogPassordPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog Rik-tekst-editorRich Text EditorCustomizeDetailViewDialogHyrejustert Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialog Maler TemplatesCustomizeDetailViewDialogTekstfarge Text ColorCustomizeDetailViewDialogTid til utgttTime till ExpirationCustomizeDetailViewDialog TittelTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogUnderstreket UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialogBrukernavnUsernameCustomizeDetailViewDialog AldriNeverDatabaseAlgortime: Algorithm:DatabaseSettingsDlg|Beregn sykler for et 1-sekunds forsinkelse p denne datamaskin6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg(DatabaseinstillingerDatabase SettingsDatabaseSettingsDlgKryptering EncryptionDatabaseSettingsDlg$Krypteringssykler:Encryption Rounds:DatabaseSettingsDlgKommentarCommentDetailViewTemplateOpprettelseCreationDetailViewTemplateUtgttdato ExpirationDetailViewTemplate GruppeGroupDetailViewTemplateSist aksessert Last AccessDetailViewTemplateSist endretLast ModificationDetailViewTemplatePassordPasswordDetailViewTemplate TittelTitleDetailViewTemplateURLURLDetailViewTemplateBrukernavnUsernameDetailViewTemplate%1%1EditEntryDialog %1 bit%1 BitEditEntryDialogVedlegg: Attachment:EditEntryDialogKommentar:Comment:EditEntryDialogEditer element Edit EntryEditEntryDialogGr ut:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialogGruppe:Group:EditEntryDialog Ikon:Icon:EditEntryDialog AldriNeverEditEntryDialogPassord: Password:EditEntryDialogKvalitet:Quality:EditEntryDialogTittel:Title:EditEntryDialogURL:URL:EditEntryDialogBrukernavn: Username:EditEntryDialog>>EditGroupDialog GruppeegenskaperGroup PropertiesEditGroupDialog Ikon:Icon:EditGroupDialogTittel:Title:EditGroupDialogVDobbelklikk p et element for g til det.'Double click on an entry to jump to it.ExpiredEntriesDialog UtgttExpiredExpiredEntriesDialog"Utgtte elementerExpired EntriesExpiredEntriesDialog:Utgtte elememter i databasenExpired Entries in the DatabaseExpiredEntriesDialog GruppeGroupExpiredEntriesDialog TittelTitleExpiredEntriesDialogBrukernavnUsernameExpiredEntriesDialogAll filer (*) All Files (*)Export_KeePassX_Xml KeePassX XML FilKeePassX XML FileExport_KeePassX_Xml"XML Filer (*.xml)XML Files (*.xml)Export_KeePassX_XmlAll filer (*) All Files (*) Export_TxtText Fil Text File Export_Txt$Text Filer (*.txt)Text Files (*.txt) Export_TxtEksport feilet Export Failed ExporterBaseExport fil...Export File... ExporterBase0En alvrolig feil oppsto.A fatal error occurred. FileErrors2En tidsavbrytelse oppsto.A timeout occurred. FileErrors2Feil under lesing av fil..An error occurred while reading from the file. FileErrors6Feil under skriving av fil.,An error occurred while writing to the file. FileErrors,En ressursfeil oppsto.An resource error occurred. FileErrors8En uspesifisert feil oppsto.An unspecified error occurred. FileErrorsIngen feil.No error occurred. FileErrors.Filen kunne ikke leses.The file could not be accessed. FileErrors4Filen kunne ikke kopieres.The file could not be copied. FileErrors.Filen kunne ikke pnes.The file could not be opened. FileErrors2Filen kunne ikke slettes.The file could not be removed. FileErrors@Ikke mulig gi filen nytt navn.The file could not be renamed. FileErrorsBFilen kunne ikke endre strrelse.The file could not be resized. FileErrors.Handlingen ble avbrutt.The operation was aborted. FileErrorsJPosisjonen i filen kunne ikke endres..The position in the file could not be changed. FileErrorsSm bokstaver&Lower LettersGenPwDlg Minus&MinusGenPwDlgTall&NumbersGenPwDlgSpesielle tegn&Special CharactersGenPwDlgUnderstrek &UnderlineGenPwDlgStore bokstaver&Upper LettersGenPwDlgSkilletegn &White SpacesGenPwDlg>Samle inn kun en gang pr sesjonCollect only once per sessionGenPwDlg6Muliggjr entropiinnsamlingEnable entropy collectionGenPwDlgfSikre at passordet inneholder tegn fra alle grupper9Ensure that password contains characters from every groupGenPwDlg*Fjern tegn som lignerExclude look-alike charactersGenPwDlgGenererGenerateGenPwDlgLengde:Length:GenPwDlgSm bokstaver Lower LettersGenPwDlgNytt passord: New Password:GenPwDlgTallNumbersGenPwDlgValgOptionsGenPwDlg PassordgeneratorPassword GeneratorGenPwDlgMulig uttale PronounceableGenPwDlgKvalitet:Quality:GenPwDlgTilfeldigRandomGenPwDlgSpesielle tegnSpecial CharactersGenPwDlgStore bokstaver Upper LettersGenPwDlgAll filer (*) All Files (*)Import_KWalletXmlBDokumentet inneholder ingen data.Document does not contain data.Import_KWalletXmlImport feilet Import FailedImport_KWalletXmlTUgyldig XML data (se stdout for detaljer).*Invalid XML data (see stdout for details).Import_KWalletXml Ugyldig XML fil.Invalid XML file.Import_KWalletXml"XML Filer (*.xml)XML Files (*.xml)Import_KWalletXmlAll filer (*) All Files (*)Import_KeePassX_XmlImport feilet Import FailedImport_KeePassX_Xml2KeePass XML Filer (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmljParse-feil: Filen er ikke en gyldig KeePassX XML fil.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlXXML-parsing feilet p linje %1 kolonne %2 %3*XML parsing error on line %1 column %2: %3Import_KeePassX_XmlAll filer (*) All Files (*)Import_PwManagerNKomprimerte filer er ikke stttet enda.'Compressed files are not supported yet.Import_PwManagerHFilen er skadet (hashtesten feilet).#File is damaged (hash test failed).Import_PwManagerFilen er tom.File is empty.Import_PwManagerLFilen er ikke en gyldig PwManager fil. File is no valid PwManager file.Import_PwManagerImport feilet Import FailedImport_PwManagerTUgyldig XML data (se stdout for detaljer).*Invalid XML data (see stdout for details).Import_PwManager.PwManager Filer (*.pwm)PwManager Files (*.pwm)Import_PwManagerLKrypteringsalgoritmen er ikke stttet.!Unsupported encryption algorithm.Import_PwManager0Filversjon ikke stttet.Unsupported file version.Import_PwManager@Hash-algortimen er ikke stttet.Unsupported hash algorithm.Import_PwManagerFeil passord.Wrong password.Import_PwManagerImport feilet Import Failed ImporterBaseImport fil...Import File... ImporterBase(Kunne ikke pne fil.Could not open file. Kdb3DatabasepDekrypterng feilet. Nkkelen er feil eller filen skadet.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabasejHashtest feilet. Nkkelen er feil eller filen skadet.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database$Ugyldig gruppetre.Invalid group tree. Kdb3Database"Nkkelfil er tom.Key file is empty. Kdb3Database>Databsen er pnet for bare-les.'The database has been opened read-only. Kdb3DatabaseNDatabasen m inneholde minst en gruppe.-The database must contain at least one group. Kdb3DatabasenEn uspesifisert feil oppsto: Offset er utenfor grensen.)Unexpected error: Offset is out of range. Kdb3DatabasejUventet filstrrelse (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database:Ukjent krypteringsalgoritmen.Unknown Encryption Algorithm. Kdb3Database0Filversjon ikke stttet.Unsupported File Version. Kdb3DatabaseFeil signaturWrong Signature Kdb3Database bytesBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandlejEr du sikker p at du vil slette disse %1 elementene?1Are you sure you want to delete these %1 entries?KeepassEntryViewbEr du sikker p at du vil slette dette elementet?+Are you sure you want to delete this entry?KeepassEntryViewfMinst en gruppe m finnes fr et element opprettes.5At least one group must exist before adding an entry.KeepassEntryViewVedlegg AttachmentKeepassEntryViewKommentarerCommentsKeepassEntryViewOpprettelseCreationKeepassEntryView Slett?Delete?KeepassEntryViewFeilErrorKeepassEntryView Gr utExpiresKeepassEntryView GruppeGroupKeepassEntryViewSist aksessert Last AccessKeepassEntryViewSiste endring Last ChangeKeepassEntryViewOKOKKeepassEntryViewPassordPasswordKeepassEntryView TittelTitleKeepassEntryViewURLURLKeepassEntryViewBrukernavnUsernameKeepassEntryViewEr du sikker at p at du vil slette denne gruppen, alle undergrupper og alle deres elementer?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupView Slett?Delete?KeepassGroupViewSkeresultatSearch ResultsKeepassGroupView%1 dager%1 DaysKeepassMainWindow%1 mneder %1 MonthsKeepassMainWindow %1 r%1 YearsKeepassMainWindow Ls arbeidsflate&Lock WorkspaceKeepassMainWindow 1 dag1 DayKeepassMainWindow1 mned1 MonthKeepassMainWindow1 r1 YearKeepassMainWindowAll filer (*) All Files (*)KeepassMainWindowKlon elementer Clone EntriesKeepassMainWindowKlon element Clone EntryKeepassMainWindowdKanikke lage lsefil. pner databsen for bare-les.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowPKan ikke slette lsefilen til databasen.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindowDatabase lstDatabase lockedKeepassMainWindowSlett elementerDelete EntriesKeepassMainWindowSlett Element Delete EntryKeepassMainWindowFeilErrorKeepassMainWindow UtgttExpiredKeepassMainWindow.Filen kunne ikke lages.File could not be saved.KeepassMainWindow0KeePass database (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow&Laster databasen...Loading Database...KeepassMainWindowLasting feiletLoading FailedKeepassMainWindow pne database...Open Database...KeepassMainWindow"pne for bare-lesOpen read-onlyKeepassMainWindowKlarReadyKeepassMainWindow"Lagre database...Save Database...KeepassMainWindow"Lagre endret fil?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindowVis statslinje Show &ToolbarKeepassMainWindowRFilen er endret. Vil du lagre endringene??The current file was modified. Do you want to save the changes?KeepassMainWindow4Databasefilen finnes ikke.!The database file does not exist.KeepassMainWindowNDatabasen du forsker pne er lst. Dette betyr at neon andre bruker den eller at KeePassX krsjet forrige gang denne databsen ble pnet. Vil du pne den allikevel?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowjFlgende feil oppsto nr databasen ble forskt pnet:7The following error occured while opening the database:KeepassMainWindow(Ls opp arbeidsflateUn&lock WorkspaceKeepassMainWindowfUkjent feil i forbindelse med lasting av databasen.%Unknown error while loading database.KeepassMainWindow mindre enn 1 dagless than 1 dayKeepassMainWindownynewKeepassMainWindowFeilErrorMain2Fil '%1' ble ikke funnet.File '%1' could not be found.Main 16x16&16x16 MainWindow 22x22&22x22 MainWindow Om... &About... MainWindow(Legg til bokmerke...&Add Bookmark... MainWindow4Legg til ny undergruppe...&Add New Subgroup... MainWindowBokmerker &Bookmarks MainWindowKlon element &Clone Entry MainWindowLukk database&Close Database MainWindowKolonner&Columns MainWindowKommentar&Comment MainWindow0Databaseinnstillinger...&Database Settings... MainWindowSlett gruppe &Delete Group MainWindow Editer gruppe...&Edit Group... MainWindowElementer&Entries MainWindowExport til... &Export to... MainWindowFil&File MainWindowGrupper&Groups MainWindow Hjelp&Help MainWindowImport fra...&Import from... MainWindow&KeePassX Hndbok...&KeePassX Handbook... MainWindowSiste endring &Last Change MainWindow Ls arbeidsflate&Lock Workspace MainWindow$Ordne bokmerker...&Manage Bookmarks... MainWindowNew database...&New Database... MainWindow pne database...&Open Database... MainWindowpne URL &Open URL MainWindowPassord &Password MainWindow&Passordgenerator...&Password Generator... MainWindow*Utfr auto-inntasting&Perform AutoType MainWindowAvslutt&Quit MainWindow(Lagre vedlegg som...&Save Attachment As... MainWindowLagre database&Save Database MainWindow Innstillinger... &Settings... MainWindow Tittel&Title MainWindowURL&URL MainWindowView&View MainWindow.Se p/editer element...&View/Edit Entry... MainWindow 28x282&8x28 MainWindowVedlegg A&ttachment MainWindow0Legg til nytt element...Add &New Entry... MainWindow*Legg til ny gruppe...Add New Group... MainWindowPLegg til bokmerke for denne databasen...Bookmark &this Database... MainWindowOpprettet C&reation MainWindow*Endre masternkkel...Change &Master Key... MainWindowHKopier brukernavn til utklippstavlenCopy &Username to Clipboard MainWindowBKopier passord til utklippstavlenCopy Password &to Clipboard MainWindow8Kopier URL til utklippstavleCopy URL to Clipboard MainWindowSlett element De&lete Entry MainWindow Gr utE&xpires MainWindow EkstraE&xtras MainWindowGrupperGroups MainWindow SkjulHide MainWindowSkjul passordHide &Passwords MainWindow Skjul brukernavnHide &Usernames MainWindowKeePassXKeePassX MainWindowSist aksessert Last &Access MainWindowSppelkasse...Recycle Bin... MainWindow*Lagre database som...Save Database &As... MainWindow"Sk i database...Search &in Database... MainWindow,Sk i denne gruppen...Search in this &Group... MainWindow*Se p elementdetaljerShow &Entry Details MainWindow0Vis utgtte elementer...Show &Expired Entries... MainWindowVis statslinjeShow &Statusbar MainWindowSorter grupper Sort groups MainWindow<Ikonstrrelse p verktylinjenToolbar &Icon Size MainWindowBrukernavn User&name MainWindowOrdne bokmerkerManage BookmarksManageBookmarksDlg2%1: Filen er ikke lesbar.%1: File is not readable.PasswordDialogD%1: Fil eller katalog ikke funnet.%1: No such file or directory.PasswordDialogAll filer (*) All Files (*)PasswordDialog$Endre masternkkelChange Master KeyPasswordDialog Lag nkkelfil...Create Key File...PasswordDialogDatabasenkkel Database KeyPasswordDialog,Skriv inn masternkkelEnter Master KeyPasswordDialog&Nkkelfiler (*.key)Key Files (*.key)PasswordDialogSiste fil Last FilePasswordDialogRLegg inn passord eller velg en nkkelfil.-Please enter a Password or select a key file.PasswordDialog"Legg inn passord.Please enter a Password.PasswordDialogFinn nkkelfil.Please provide a key file.PasswordDialog"Velg en nkkelfilSelect a Key FilePasswordDialog"Sett masternkkelSet Master KeyPasswordDialogxKatalogen inneholder mer enn en nkkelfil. Spesifiser filen.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogNKatalogen inneholder ingen nkkelfiler.3The given directory does not contain any key files.PasswordDialogVNkkelfilen eller katalogen er ikke lesbar.3The selected key file or directory is not readable.PasswordDialogBrowse... &Browse... PasswordDlgTilbakeBack PasswordDlgRLegg inn passord og/eller velg nkkelfil.*Enter a Password and/or choose a key file. PasswordDlg(Generer nkkelfil...Generate Key File... PasswordDlg NkkelKey PasswordDlgNkkelfil: Key File: PasswordDlgSiste fil Last File PasswordDlgPassord: Password: PasswordDlg0Passordene er ikke like.Passwords are not equal. PasswordDlgGjenta passord:Please repeat your password: PasswordDlgSkSearch SearchDialogCase Sensitive&Case Sensitive Search_DlgTittler&Titles Search_DlgBrukernavn &Usernames Search_DlgA&nhangA&nhang Search_DlgKommentarer C&omments Search_DlgBInkluder undergrupper (rekursivt)Include Subgroups (recursive) Search_DlgInkluder:Include: Search_DlgPassord Pass&words Search_Dlg Regulrt uttrykkRegular E&xpression Search_DlgSk etter: Search For: Search_Dlg Sk... Search... Search_Dlg URLerU&RLs Search_DlgIkonvalgIcon Selection SelectIconDlgAvansertAdvancedSettingsDialog,Alternerende radfargerAlternating Row ColorsSettingsDialogfSpr alltid fr sletting av grupper eller elementer,Always ask before deleting entries or groupsSettingsDialogUtseende AppearanceSettingsDialogForfatter:Author:SettingsDialog2Auto-inntasting fintuningAuto-Type Fine TuningSettingsDialogZAutomaitsk lagre databasen etter hver endring.Automatically save database after every changeSettingsDialoglAutomaitsk lagre databasen ved avslutning eller lsing9Automatically save database on exit and workspace lockingSettingsDialogBannerfarge Banner ColorSettingsDialogBokmerker BookmarksSettingsDialog BrowseBrowseSettingsDialogBrowse... Browse...SettingsDialogEndre... C&hange...SettingsDialogEndre... Change...SettingsDialog$Slett historikk nClear History NowSettingsDialog4Slett utklippstavle etter:Clear clipboard after:SettingsDialogFarge 1:Color 1:SettingsDialogFarge 2:Color 2:SettingsDialogKonfiguerer... Configure...SettingsDialog,Egen nettleserkommandoCustom Browser CommandSettingsDialogBTilpass elementdetaljer-viewet...Customize Entry Detail View...SettingsDialog*Databasenkkel-dialogDatabase Key DialogSettingsDialogForsinkelse mellom to simulerte taster. k dene hvis auto-inntasting hopper over tegn.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialog@Slett backupelementer eldre enn:!Delete backup entries older than:SettingsDialog0Ikke ekspander elementerDo not expand any itemSettingsDialog*Editer Element dialogEdit Entry DialogSettingsDialogVelg denne hvis du nsker bruke dine bokmerker og siste filer uavhengig av deres absolutte stier. Dette er nyttig nr man bruker KeePassX portabelt og dermed har forskjellige 'mount-points' i filsystemet.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog0Ekspander alle elementerExpand all itemsSettingsDialogGenerelt (1) General (1)SettingsDialogGenerelt (2) General (2)SettingsDialogHGlobalt auto-innstasting hurtigvalg:Global Auto-Type Shortcut:SettingsDialogFGnome Desktop-integrasjon (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog.Gruppetre ved oppstart:Group tree at start-up:SettingsDialog2KDE 4 Desktop-integrasjonKDE 4 Desktop IntegrationSettingsDialog"Tasteforsinkelse:Key Stroke Delay:SettingsDialog SprkLanguageSettingsDialog Sprk: Language:SettingsDialog<Ls databasen etter inaktivtet!Lock database after inactivity ofSettingsDialogTLs arbeidsflaten nr programmet minimeres.Lock workspace when minimizing the main windowSettingsDialogMedia Root: Media Root:SettingsDialogFMinimize to tray instead of taskbar#Minimize to tray instead of taskbarSettingsDialogzMinimize to tray when clicking the main window's close button=Minimize to tray when clicking the main window's close buttonSettingsDialog IngenNoneSettingsDialogPluginsPlug-InsSettingsDialogPre-Gap:Pre-Gap:SettingsDialogJHusk forrige nkkeltype og plassering#Remember last key type and locationSettingsDialog&Husk sist pnet filRemember last opened fileSettingsDialog4Gjenopprett siste tilstandRestore last stateSettingsDialogjLagre backups av endrede elementer i 'Backup' gruppen8Save backups of modified entries into the 'Backup' groupSettingsDialogNSave recent directories of file dialogs'Save recent directories of file dialogsSettingsDialog\Lagre relavtive stier (bokmerker og siste fil)-Save relative paths (bookmarks and last file)SettingsDialogSikkerhetSecuritySettingsDialogInnstillingerSettingsSettingsDialog2Vis klarttekst passord i:Show plain text passwords in:SettingsDialog*Show system tray iconShow system tray iconSettingsDialogStart lst Start lockedSettingsDialogStart minimertStart minimizedSettingsDialogtekstfarge: Text Color:SettingsDialogrKatalogen hvor CDer og minnebrikker vanligvis er montert.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTid mellom aktivering av auto-inntasting-handling av brukeren og frste simulrte tasting.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogBruk elementers tittel for matche vinduet for global auto-inntasting;Use entries' title to match the window for Global Auto-TypeSettingsDialogDu kan sl av funksjonalitet i KeePassX her for f et rent brukergrensesnitt.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialoghDu m starte programmet p nytt for se endringene.?You need to restart the program before the changes take effect.SettingsDialog dagerdaysSettingsDialogmsmsSettingsDialogsukundersecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget Legg inn passordEnter your PasswordSimplePasswordDialogPassord: Password:SimplePasswordDialog<Auto-inntasting: Velg mlvinduAuto-Type: Select Target WindowTargetWindowDlgFor velge et mlvindu, enten velg et pent vindy fra drop-down-listen eller skriv inn vindustittelen manuelt:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg2Norwegian bokml (Norway)$LANGUAGE_NAME TranslationFredrik Rdland$TRANSLATION_AUTHOR Translationftranslate [aaaatttt] rodland.no - http://rodland.no$TRANSLATION_AUTHOR_EMAIL TranslationT<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Arbeidsflatebn er lst.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidgetLukk databaseClose DatabaseWorkspaceLockedWidgetFormFormWorkspaceLockedWidgetLs oppUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-pl_PL.qm0000664000175000017500000014433511342454754021260 0ustar felixfelix8nB'C'I*BL+R,U/5;;;;cCH4M_'QQ_^S_Zl4Zld\/]_tul$'L*wVEVEo7}#2n*%z*0z+~7+3JgGH8JJ ^LbHLbLbLb LbbLbkLbuM M}6qM47N N)N34N;Nc#O6O8T0T7VqRW3XnY[ % [ %.[ %4Q[ %;N[ %dQ[Z\^HTa.2"u(\sPe+Y@..W3-T8.q@*Q+~]\(f/~KhISkE/bJy#:nUm_|˓%@p ,.[<\ =TDsjF[ .Lmh} ~II52D[nm6FvRvvW@Ep|@d %TI`yO2, n) ( /J| L_:>8L#NO&:^L-K`5ۻ55hTB)# =puN w9k+3j+cW38E=}BIZ3]r-y1cLNSW b\in>(p,W(bovN?4cWNy:%?l:6lsH/ nA+J *sFYsFY/FrfHpVt]mee)tK]J 79 AtÌIÎ#Ew55,/mx4$%^A!"Cw#C-{2U6G6G4:CbC5DcK!<N-PBP5UDP{J}EnX0]LUXH<HN9 znZ-0?m>R0veq }j= -=ln} FJ gJpmi0&n?&nJ/,8#`pDɃH|P''`'ߎwanu߸>R)H>,N@0=3344#fI=MJNRO_Rt8uHu|w,#ki NWz!e,y4d }2b@ƭn:Ȟ譾}"N#^U ѕ<& A Db LY, gw l[~v $ >t O ("&E d  5p C ? C/ C4 C; Cd MT) n%S n ^n{ l1 3 9.BN 8K( G?ni{ J s LZ~D? OZOo@ T9T cx d:x d<( d<2j dq dZ dIui nMo qE: s/e s( u~ ~ we I N" )( >7F > >i t* b f ˔F F>{a ^& U =8 lSz f  f ; f < f K f Nv f Q7 f h f \ 3  t # I Y LJ Xо Yn ^p h).C +ej J7 JJ   D )" 3 Ÿ^Z Mb ͓> { ֕x] Q. ^ ; A:2 +5 &+* ?Io Bla LuH M Z$' [cz vY ? ?8+ Se @/6 g 4W c  ] 5 wz; s s si , ȶ ^ M ܾS @~V ƙ\ b : l( ?@G  T^L T^T# 7wy Sus:R ^9 ^} mbDk .C; P P .Z k~~y @y} 0~ Er0.BaG`Bt:$$ߎ.{?E`L&mR܎e>IysF[Ngy|hKukFc#n ؾK,6tmCcj} %&!/ўu/ўv!C^Q:{Yqd=.g^VTp67t>|jsnȞ\[ il AutorAuthor AboutDialog&Bie|ce tBumaczenieCurrent Translation AboutDialogProgramista Developer AboutDialogHProgramista i administrator projektuDeveloper, Project Admin AboutDialogBBdError AboutDialog<Nie mo|na odnalez pliku '%1'.File '%1' could not be found. AboutDialogxInformacje jak tBumaczy KeePassX mo|na znalez pod adresem:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlgDodaj zakBadk Add BookmarkAddBookmarkDlg&Wszystkie pliki (*) All Files (*)AddBookmarkDlgPrzegldaj... Browse...AddBookmarkDlgEdytuj ZakBadk Edit BookmarkAddBookmarkDlg Plik:File:AddBookmarkDlg(Bazy KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlg TytuB:Title:AddBookmarkDlgAuto-Type Auto-Type AutoTypeDlgBKliknij na wpis, to auto-type it."Click on an entry to auto-type it. AutoTypeDlg GrupaGroup AutoTypeDlg(KeePassX - Auto-TypeKeePassX - Auto-Type AutoTypeDlg TytuBTitle AutoTypeDlgU|ytkownikUsername AutoTypeDlg>'%1' nie jest liczb caBkowit. '%1' is not valid integer value.CDbSettingsDlgNAES(Rijndael): 256 Bitw (domy[lnie)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgBBdErrorCDbSettingsDlgOKOKCDbSettingsDlgBPodaj ilo[ powtrzeD szyfrowania1Please determine the number of encryption rounds.CDbSettingsDlgUstawieniaSettingsCDbSettingsDlgdIlo[ powtrzeD szyfrowania musi by wiksza od 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg&Twofish: 256 BitwTwofish: 256 BitCDbSettingsDlg Uwaga!WarningCDbSettingsDlg%1 bit(w)%1 Bit CEditEntryDlg1 miesic1 Month CEditEntryDlg1 tydzieD1 Week CEditEntryDlg 1 rok1 Year CEditEntryDlg2 tygodnie2 Weeks CEditEntryDlg3 miesice3 Months CEditEntryDlg3 tygodnie3 Weeks CEditEntryDlg6 miesicy6 Months CEditEntryDlg$Dodaj zaBcznik...Add Attachment... CEditEntryDlgKalendarz... Calendar... CEditEntryDlg2Nie mo|na otworzy pliku.Could not open file. CEditEntryDlg"Usun zaBcznik?Delete Attachment? CEditEntryDlgEdytuj wpis Edit Entry CEditEntryDlgBBdError CEditEntryDlg:BBd podczas zapisu do pliku.Error while writing the file. CEditEntryDlgNowy wpis New Entry CEditEntryDlgNie. Anuluj No, Cancel CEditEntryDlgOKOK CEditEntryDlgJPodane hasBa s r|ne. Sprawdz hasBa.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg&Zapisz zaBcznik...Save Attachment... CEditEntryDlg\Wybrany wpis nie ma zaBcznika lub jest pusty.2The chosen entry has no attachment or it is empty. CEditEntryDlgDzi[Today CEditEntryDlg UwagaWarning CEditEntryDlgTakYes CEditEntryDlg<Czy na pewno usun zaBcznik?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlgNowy wpis[Untitled Entry] CEditEntryDlg%1 Bit(w)%1 Bits CGenPwDialogGenerator haseBPassword Generator CGenPwDialog:%1: Nie mo|na otworzy pliku.%1: File could not be loaded.CSelectIconDlg$Dodaj wBasn ikonAdd Custom IconCSelectIconDlgDodaj ikony... Add Icons...CSelectIconDlgJWystpiB bBd podczas Badowania ikon:+An error occured while loading the icon(s):CSelectIconDlgLWystpiB bBd podczas Badowania ikony.(An error occured while loading the icon.CSelectIconDlgUsuDDeleteCSelectIconDlgBBdErrorCSelectIconDlgObrazy (%1) Images (%1)CSelectIconDlgWybierzPickCSelectIconDlgZmieD... Replace...CSelectIconDlg$Wybierz katalog...Select a directory... CSettingsDlg4Wybierz plik wykonawczy...Select an executable... CSettingsDlgUstawieniaSettings CSettingsDlgDomy[lny jzykSystem Language CSettingsDlgKalendarzCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Nowe ziarno (seed) dla gereratora zebrane pomy[lnie!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg Zbieranie entropii... Prosz porusza mysz i/lub naciska dowolne znaki na klawiaturze w celu zebrania etropii dla ziarna generatora.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg$Zbieranie entropiiEntropy CollectionCollectEntropyDlg<Generator liczb pseudolosowychRandom Number GeneratorCollectEntropyDlg Nazwa zaBcznikaAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogPogrubienieBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogWy[rodkowanieCenteredCustomizeDetailViewDialogKomentarzCommentCustomizeDetailViewDialogData utworzenia Creation DateCustomizeDetailViewDialog.SzczegBowy widok wpisuDialogCustomizeDetailViewDialog Data wyga[niciaExpiration DateCustomizeDetailViewDialog Rozmiar czcionki Font SizeCustomizeDetailViewDialog GrupaGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogKursywaItalicCustomizeDetailViewDialogWyjustowanie JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog.Data ostatniego odczytuLast Access DateCustomizeDetailViewDialog4Data ostatniej modyfikacjiLast Modification DateCustomizeDetailViewDialog&Wyrwnanie do lewej Left-AlignedCustomizeDetailViewDialog HasBoPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog,Edytor Rich Text (rtf)Rich Text EditorCustomizeDetailViewDialog(Wyrwnanie do prawej Right-AlignedCustomizeDetailViewDialogSzablon TemplatesCustomizeDetailViewDialogKolor tekstu Text ColorCustomizeDetailViewDialog:Czas pozostaBy do wyga[niciaTime till ExpirationCustomizeDetailViewDialog TytuBTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogPokre[lenie UnderlinedCustomizeDetailViewDialogAdress URLUrlCustomizeDetailViewDialogU|ytkownikUsernameCustomizeDetailViewDialog NigdyNeverDatabaseAlgorytm: Algorithm:DatabaseSettingsDlgOszacuj ilo[ szyfrowaD mo|liwych w 1 sekundzie na tym komputerze6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg,Ustawienia bazy danychDatabase SettingsDatabaseSettingsDlgSzyfrowanie EncryptionDatabaseSettingsDlg Ilo[ szyfrowaD:Encryption Rounds:DatabaseSettingsDlgKomentarzCommentDetailViewTemplateData utworzeniaCreationDetailViewTemplate Wygasa ExpirationDetailViewTemplate GrupaGroupDetailViewTemplateOstatni odczyt Last AccessDetailViewTemplate(Ostatnia modyfikacjaLast ModificationDetailViewTemplate HasBoPasswordDetailViewTemplate TytuBTitleDetailViewTemplateAdress URLURLDetailViewTemplateU|ytkownikUsernameDetailViewTemplate%1%1EditEntryDialog%1 Bit(w)%1 BitEditEntryDialogZaBcznik: Attachment:EditEntryDialogKomentarz:Comment:EditEntryDialogEdytuj wpis Edit EntryEditEntryDialogWygasa:Expires:EditEntryDialogGenerujGe&n.EditEntryDialog Grupa:Group:EditEntryDialog Ikona:Icon:EditEntryDialog NigdyNeverEditEntryDialog HasBo: Password:EditEntryDialogJako[:Quality:EditEntryDialog TytuB:Title:EditEntryDialogAdres URL:URL:EditEntryDialogU|ytkownik: Username:EditEntryDialog>>EditGroupDialog"WBa[ciwo[ci grupyGroup PropertiesEditGroupDialog Ikona:Icon:EditGroupDialog TytuBTitle:EditGroupDialog^Kliknij dwukrotnie na wpis aby do niego przej['Double click on an entry to jump to it.ExpiredEntriesDialog Data wyga[niciaExpiredExpiredEntriesDialogWygasBe wpisyExpired EntriesExpiredEntriesDialog*WygasBe wpisy w bazieExpired Entries in the DatabaseExpiredEntriesDialog GrupaGroupExpiredEntriesDialog TytuBTitleExpiredEntriesDialogU|ytkownikUsernameExpiredEntriesDialog&Wszystkie pliki (*) All Files (*)Export_KeePassX_Xml"Plik XML KeePassXKeePassX XML FileExport_KeePassX_Xml"Pliki XML (*.xml)XML Files (*.xml)Export_KeePassX_Xml&Wszystkie pliki (*) All Files (*) Export_TxtPlik tekstowy Text File Export_Txt,Pliki tekstowe (*.txt)Text Files (*.txt) Export_Txt.Eksport si nie powidB Export Failed ExporterBaseEksportuj plikExport File... ExporterBase0WystpiB krytyczny bBd.A fatal error occurred. FileErrors(UpBynB limit czasu.A timeout occurred. FileErrorsLWystpij bBd podczas odczytu z pliku..An error occurred while reading from the file. FileErrorsLWystpij bBd podczas zapisu do pliku.,An error occurred while writing to the file. FileErrorsBBd zasobw.An resource error occurred. FileErrors6WystpiB nieokre[lony bBd.An unspecified error occurred. FileErrorsBrak bBdw.No error occurred. FileErrors,Brak dostpu do pliku.The file could not be accessed. FileErrors4Nie mo|na skopiowa pliku.The file could not be copied. FileErrors2Nie mo|na otworzy pliku.The file could not be opened. FileErrorsBUsunicie pliku nie powiodBo si.The file could not be removed. FileErrorsHZmiana nazwy pliku nie powiodBa si.The file could not be renamed. FileErrorsBNie mo|na zmieni rozmiaru pliku.The file could not be resized. FileErrors&Przerwano operacj.The operation was aborted. FileErrorsDNie mo|na zmieni pozycji w pliku..The position in the file could not be changed. FileErrorsMaBe litery&Lower LettersGenPwDlg Minus&MinusGenPwDlg Cyfry&NumbersGenPwDlgZnaki specjalne&Special CharactersGenPwDlg"Znak podkre[lenia &UnderlineGenPwDlgWielkie litery&Upper LettersGenPwDlg Spacja &White SpacesGenPwDlgFPobierz jednokrotnie w czasie sesjiCollect only once per sessionGenPwDlgDAktywuj pobieranie danych losowychEnable entropy collectionGenPwDlgLU|yj znakw z ka|dej z powy|szych grup9Ensure that password contains characters from every groupGenPwDlg6Nie u|ywaj podobnych znakwExclude look-alike charactersGenPwDlgGenerujGenerateGenPwDlgDBugo[:Length:GenPwDlgMaBe litery Lower LettersGenPwDlgNowe hasBo: New Password:GenPwDlg CyfryNumbersGenPwDlg OpcjeOptionsGenPwDlgGenerator haseBPassword GeneratorGenPwDlg Do wypowiedzenia PronounceableGenPwDlgJako[:Quality:GenPwDlg LosoweRandomGenPwDlgZnaki specjalneSpecial CharactersGenPwDlgWielkie litery Upper LettersGenPwDlg&Wszystkie pliki (*) All Files (*)Import_KWalletXml@Plik nie zawiera |adnych danych.Document does not contain data.Import_KWalletXml,Import si nie powidB Import FailedImport_KWalletXmldNiepoprawne dane XML (po szczegBy zobacz stdout).*Invalid XML data (see stdout for details).Import_KWalletXml:Niepoprawny format pliku XML.Invalid XML file.Import_KWalletXml"Pliki XML (*.xml)XML Files (*.xml)Import_KWalletXml&Wszystkie pliki (*) All Files (*)Import_KeePassX_Xml,Import si nie powidB Import FailedImport_KeePassX_Xml"Plik KeePassX XMLKeePass XML Files (*.xml)Import_KeePassX_XmlBBd przetwarzania: Plik nie jest poprawnym plikiem XML programu KeePassX2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmldBBd przetwarzania XML w linii %1, kolumnie %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml&Wszystkie pliki (*) All Files (*)Import_PwManagerBSpakowane pliki nie s wspierane.'Compressed files are not supported yet.Import_PwManagerdPlik jest uszkodzony (Test hasza si nie powidB).#File is damaged (hash test failed).Import_PwManager Plik jest pusty.File is empty.Import_PwManagerdPlik nie jest poprawnym plikiem formatu PwManager. File is no valid PwManager file.Import_PwManager,Import si nie powidB Import FailedImport_PwManager|Niepoprawne dane XML (sczczegBy: zobacz standardowe wyj[cie).*Invalid XML data (see stdout for details).Import_PwManager.Pliki PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManagerDNiewspierany algorytm szyfrowania.!Unsupported encryption algorithm.Import_PwManager4Niewspierana wersja pliku.Unsupported file version.Import_PwManager6Niewspierany algorytm hasz.Unsupported hash algorithm.Import_PwManager"HasBo niepoprawneWrong password.Import_PwManager,Import si nie powidB Import Failed ImporterBase Importuj plik...Import File... ImporterBase2Nie mo|na otworzy pliku.Could not open file. Kdb3DatabaseDeszyfrowanie nie powiodBo si. Klucz jest niepoprawny lub plik z kluczem jest uszkodzony.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseNiepoprawny hasz. Klucz jest niepoprawny lub plik z kluczem jest uszkodzony.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database0Niepoprawne drzewo grup.Invalid group tree. Kdb3Database4Plik z kluczem jest pusty.Key file is empty. Kdb3Database<Baza otwarta tylko do odczytu.'The database has been opened read-only. Kdb3DatabaseXBaza musi posiada przynajmniej jedn grup.-The database must contain at least one group. Kdb3DatabasepWystpiB nieoczekiwany bBd: Offset jest poza zasigiem.)Unexpected error: Offset is out of range. Kdb3DatabasetNiepoprawny rozmiar pliku (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database<Nieznany algorytm szyfrowania.Unknown Encryption Algorithm. Kdb3Database4Niewspierana wersja pliku.Unsupported File Version. Kdb3Database$Niepoprawny podpisWrong Signature Kdb3Database BajtwBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandleNCzy na pewno usun wybrane wpisy (%1)?1Are you sure you want to delete these %1 entries?KeepassEntryView:Czy na pewno usun ten wpis?+Are you sure you want to delete this entry?KeepassEntryViewlAby doda wpis, musi istnie przynajmniej jedna grupa.5At least one group must exist before adding an entry.KeepassEntryViewZaBcznik AttachmentKeepassEntryViewKomentarzCommentsKeepassEntryViewUtworzonoCreationKeepassEntryViewUsun?Delete?KeepassEntryViewBBdErrorKeepassEntryView WygasaExpiresKeepassEntryView GrupaGroupKeepassEntryViewOstani odczyt Last AccessKeepassEntryViewOstatnia zmiana Last ChangeKeepassEntryViewOKOKKeepassEntryView HasBoPasswordKeepassEntryView TytuBTitleKeepassEntryViewAdres URLURLKeepassEntryViewU|ytkownikUsernameKeepassEntryViewCzy na pewno chcesz usun t grup wraz z wszystkimi podgrupami i wpisami?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewUsun?Delete?KeepassGroupView&Wyniki wyszukiwaniaSearch ResultsKeepassGroupView %1 dni%1 DaysKeepassMainWindow,%1 (miesice) miesicy %1 MonthsKeepassMainWindow%1 lat(a)%1 YearsKeepassMainWindow.Zablokuj obszar roboczy&Lock WorkspaceKeepassMainWindow1 dzieD1 DayKeepassMainWindow1 miesic1 MonthKeepassMainWindow 1 rok1 YearKeepassMainWindow&Wszystkie pliki (*) All Files (*)KeepassMainWindowDuplikuj wpis Clone EntriesKeepassMainWindowDuplikuj wpis Clone EntryKeepassMainWindowNie mo|na utworzy pliku blokady (.lock). Baza zostanie otwarta tylko do odczytu.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowNNie mo|na usun pliku blokady (.lock).#Couldn't remove database lock file.KeepassMainWindow Baza zablokowanaDatabase lockedKeepassMainWindowUsuD wpisyDelete EntriesKeepassMainWindowUsuD wpis Delete EntryKeepassMainWindowBBdErrorKeepassMainWindow WygasBExpiredKeepassMainWindow0Nie mo|na zapisa pliku.File could not be saved.KeepassMainWindow(Bazy KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow Otwieram baz...Loading Database...KeepassMainWindow@Otwieranie bazy nie powiodBo siLoading FailedKeepassMainWindowOtwrz baz...Open Database...KeepassMainWindow.Otwrz tylko do odczytuOpen read-onlyKeepassMainWindow GotoweReadyKeepassMainWindowZapisz baz...Save Database...KeepassMainWindow.Zapisa zmieniony plik?Save modified file?KeepassMainWindow(Poka| pasek narzdzi Show &ToolbarKeepassMainWindowrW bie|cym pliku s niezpisane zmiany. Zapisa te zmiany??The current file was modified. Do you want to save the changes?KeepassMainWindow2Plik z baz nie istnieje.!The database file does not exist.KeepassMainWindowBaza, ktr prbujesz odczyta jest zablokowana. To oznacza, |e albo inny u|ytkownik jej u|ywa lub program KeePassX nie zakoDczyB poprawnie ostatniej sesji. Czy mimo wszystko chcesz j otworzy?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowXPoni|szy bld wystpiB podczas odczytu bazy:7The following error occured while opening the database:KeepassMainWindow.Odblokuj obszar roboczyUn&lock WorkspaceKeepassMainWindowLNieznany bBd podczas otwierania bazy.%Unknown error while loading database.KeepassMainWindow"mniej ni| 1 dzieDless than 1 dayKeepassMainWindowNowa bazanewKeepassMainWindowBBdErrorMain<Nie mo|na odnalez pliku '%1'.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&O programie &About... MainWindowDodaj zakBadk&Add Bookmark... MainWindow,Dodaj now podgrup...&Add New Subgroup... MainWindowZakBadki &Bookmarks MainWindowDuplikuj wpis &Clone Entry MainWindowZamknij baz&Close Database MainWindow Widoczne kolumny&Columns MainWindowKomentarz&Comment MainWindow&&Ustawienia bazy...&Database Settings... MainWindowUsuD grup &Delete Group MainWindowEdytuj grup...&Edit Group... MainWindow &Wpisy&Entries MainWindow &Eksportuj do... &Export to... MainWindow &Plik&File MainWindow &Grupy&Groups MainWindow &Pomoc&Help MainWindow&Importuj z...&Import from... MainWindow0Ksi|ka pomocy &KeePassX&KeePassX Handbook... MainWindowOstatnia zmiana &Last Change MainWindow.Zablokuj obszar roboczy&Lock Workspace MainWindow.Zarzdzaj zakBadkami...&Manage Bookmarks... MainWindow(Utwrz &now baz...&New Database... MainWindow&Otwrz baz&Open Database... MainWindow Otwrz adres URL &Open URL MainWindow HasBo &Password MainWindowGenerator haseB&Password Generator... MainWindowZamknij program&Quit MainWindow Zapisz zaBcznik&Save Attachment As... MainWindowZapi&sz baz&Save Database MainWindow&Ustawienia &Settings... MainWindow TytuB&Title MainWindowAdres URL&URL MainWindow &Widok&View MainWindow*Zobacz/Edytuj wpis...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindowZaBcznik A&ttachment MainWindow$Dodaj nowy wpis...Add &New Entry... MainWindow&Dodaj now grup...Add New Group... MainWindow2Dodaj baz do zakBadek...Bookmark &this Database... MainWindowUtworzono C&reation MainWindow$ZmieD gBwny kluczChange &Master Key... MainWindow<Skopiuj u|ytkownika do schowkaCopy &Username to Clipboard MainWindow0Skopiuj hasBo do schowkaCopy Password &to Clipboard MainWindow8Skopiuj adres URL do schowkaCopy URL to Clipboard MainWindowUsuD wpis De&lete Entry MainWindow WygasaE&xpires MainWindowE&xtrasE&xtras MainWindow GrupyGroups MainWindow UkryjHide MainWindowUkryj hasBaHide &Passwords MainWindow.Ukryj nazw u|ytkownikaHide &Usernames MainWindowKeePassXKeePassX MainWindowOstatni odczyt Last &Access MainWindowKoszRecycle Bin... MainWindowZapisz j&ako...Save Database &As... MainWindow"Szukaj w bazie...Search &in Database... MainWindow,Szukaj w tej grupie...Search in this &Group... MainWindow*Poka| szczegBy wpisuShow &Entry Details MainWindow,Poka| wygasBe wpisy...Show &Expired Entries... MainWindow"Poka| pasek stanuShow &Statusbar MainWindowSortuj grupy Sort groups MainWindow6Rozmiar ikon paska narzdziToolbar &Icon Size MainWindowU|ytkownik User&name MainWindow(Zarzdzaj zakBadkamiManage BookmarksManageBookmarksDlg>%1: Brak praw odczytu do pliku.%1: File is not readable.PasswordDialogL%1: Nie ma takiego pliku lub katalogu.%1: No such file or directory.PasswordDialog&Wszystkie pliki (*) All Files (*)PasswordDialog$ZmieD gBowny kluczChange Master KeyPasswordDialog0Utwrz plik z kluczem...Create Key File...PasswordDialogKlucz do bazy Database KeyPasswordDialog$Wpisz gBwny kluczEnter Master KeyPasswordDialog.Pliki z kluczem (*.key)Key Files (*.key)PasswordDialogOstatni plik Last FilePasswordDialogNPodaj hasBo lub wybierz plik z kluczem.-Please enter a Password or select a key file.PasswordDialogPodaj hasBo.Please enter a Password.PasswordDialog*Podaj plik z kluczem.Please provide a key file.PasswordDialog,Wybierz plik z kluczemSelect a Key FilePasswordDialog(Wybierz gBwny kluczSet Master KeyPasswordDialogWybrany katalog zawiera wicej ni| jeden plik z kluczem. Wybierz konkretny plik z kluczem.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialoghW wybranym katalogu nie ma |adnych plikw z kluczem.3The given directory does not contain any key files.PasswordDialogdBrak praw odczytu do wybranego pliku lub katalogu.3The selected key file or directory is not readable.PasswordDialogPrzegldaj... &Browse... PasswordDlg WsteczBack PasswordDlgRWpisz hasBo i/lub wybierz plik z kluczem.*Enter a Password and/or choose a key file. PasswordDlg2Generuj plik z kluczem...Generate Key File... PasswordDlg KluczKey PasswordDlgPlik z kluczem: Key File: PasswordDlgOstatni plik Last File PasswordDlg HasBo: Password: PasswordDlg>Podane hasBa nie s identyczne.Passwords are not equal. PasswordDlgPowtrz hasBo:Please repeat your password: PasswordDlg SzukajSearch SearchDialog4Uwzgldnij wielko[ znakw&Case Sensitive Search_Dlg TytuBy&Titles Search_Dlg$Nazwy u|ytkownikw &Usernames Search_DlgZaBcznikiA&nhang Search_DlgKomentarze C&omments Search_DlgBSzukaj w podgrupach (rekursywnie)Include Subgroups (recursive) Search_DlgUwzgldnij:Include: Search_Dlg HasBa Pass&words Search_Dlg&Wyra|enia regularneRegular E&xpression Search_DlgSzukaj: Search For: Search_DlgSzukaj... Search... Search_DlgAdresy URLU&RLs Search_DlgWybierz ikonIcon Selection SelectIconDlgZaawansowaneAdvancedSettingsDialog6Naprzemienne kolory wierszyAlternating Row ColorsSettingsDialogDPytaj przed usuniciem grup wpisw,Always ask before deleting entries or groupsSettingsDialog Wygld AppearanceSettingsDialog Autor:Author:SettingsDialogVAutomatycznie zapisz baz po ka|dej zmianie.Automatically save database after every changeSettingsDialogAutomatycznie zapisz baz przy wyj[ciu z programu lub blokadzie obszaru roboczego9Automatically save database on exit and workspace lockingSettingsDialogKolor baneru Banner ColorSettingsDialogZakBadki BookmarksSettingsDialogPrzegldaj...BrowseSettingsDialogPrzegldaj... Browse...SettingsDialogZmieD... C&hange...SettingsDialogZmieD... Change...SettingsDialog&UsuD teraz historiClear History NowSettingsDialog&Wyczy[ schowek po:Clear clipboard after:SettingsDialogKolor 1:Color 1:SettingsDialogKolor 2:Color 2:SettingsDialogKonfiguruj... Configure...SettingsDialogHPolecenie uruchamiajce przegldarkCustom Browser CommandSettingsDialog>Dopasuj szczegBowy widok wpisuCustomize Entry Detail View...SettingsDialog"oknie klucza bazyDatabase Key DialogSettingsDialog@UsuD kopie zapasowe starsze ni|:!Delete backup entries older than:SettingsDialog(Nie rozwijaj pozycjiDo not expand any itemSettingsDialog,oknie edytowania wpisuEdit Entry DialogSettingsDialog0RozwiD wszystkie pozycjeExpand all itemsSettingsDialogGBwne (1) General (1)SettingsDialogGBwne (2) General (2)SettingsDialog4Integracja Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog4Grupuj drzewko na starcie:Group tree at start-up:SettingsDialog Integracja KDE 4KDE 4 Desktop IntegrationSettingsDialog JzykLanguageSettingsDialog Jzyk: Language:SettingsDialog4Zablokuj obszar roboczy po!Lock database after inactivity ofSettingsDialogrZablokuj obszar roboczy, przy minimaliyacji gBwnego okna.Lock workspace when minimizing the main windowSettingsDialogKatalog gBwny: Media Root:SettingsDialog^Minimalizuj do tray'a zamiast do paska narzdzi#Minimize to tray instead of taskbarSettingsDialogrMinimalizuj do tray'a, gdy gBwne okno zostanie zamknite=Minimize to tray when clicking the main window's close buttonSettingsDialog NoneSettingsDialogWtyczkiPlug-InsSettingsDialog\Zapamitaj typ i lokalizacj ostatniego klucza#Remember last key type and locationSettingsDialog@Zapamitaj ostatnio otwarty plikRemember last opened fileSettingsDialog*Przywr ostatni stanRestore last stateSettingsDialogZrb kopi zapasow modyfikowanego wpisu w grupie 'Kopie Zapasowe'8Save backups of modified entries into the 'Backup' groupSettingsDialogZZapamitaj katalogi ostatnio otwartych plikw'Save recent directories of file dialogsSettingsDialogZapamitaj [cie|ki jako wzgldne (zakBadki i ostatnio otwarty plik)-Save relative paths (bookmarks and last file)SettingsDialogBezpieczeDstwoSecuritySettingsDialogUstawieniaSettingsSettingsDialog(Poka| jawne hasBa w:Show plain text passwords in:SettingsDialog(Poka| ikon w tray'uShow system tray iconSettingsDialog&Uruchom zablokowany Start lockedSettingsDialog.Uruchom zminimalizowanyStart minimizedSettingsDialogKolor tekstu: Text Color:SettingsDialog~Katalog, w ktrym wymienne no[niki (CD, pendrive) s montowane.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogInterfejs u|ytkownika mo|na uczyni bardziej przejrzystym, wyBczajc niektre opcje KeePassXsYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogxAby uaktywni ustawienia, nale|y uruchomi program ponownie.?You need to restart the program before the changes take effect.SettingsDialogdnidaysSettingsDialogmsmsSettingsDialogsekundachsecondsSettingsDialogAltAltShortcutWidgetPrawy AltAltGrShortcutWidgetControlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidgetPodaj hasBoEnter your PasswordSimplePasswordDialog HasBo: Password:SimplePasswordDialogPolski (Polska)$LANGUAGE_NAME Translation(Daniel Mariusz Kmie$TRANSLATION_AUTHOR Translation http://kmiec.eu/$TRANSLATION_AUTHOR_EMAIL Translation`<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Obszar roboczy jest zablokowany.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidgetZamknij bazClose DatabaseWorkspaceLockedWidgetOdblokujUnlockWorkspaceLockedWidget , keepassx-0.4.3/share/keepassx/i18n/qt_fi.qm0000664000175000017500000013342711342454754017533 0ustar felixfelixįį(4;=(4;q(5;(5;*y*yW*y*0#c*0+FZ~+F6+f+f3 +z&+ +W+E++3+>H+Z++įJ+įX/+įG*7Hw9Hw9*qJ+xJ6$J6'J6*J6/J6[J6\J6nyJ6K7 LZzLL'LbPFEPFE\1PFETU?^V1p"V}WTo%WTX-XX˙-XYY:wZg\]4a\]4O\i+v)dvBfCIAL[-9I'ɵn(mɵnNɵnTEɵnXɵngɵnh-ɵnr"ɵnr$YF B`1Mj-5`o%UTcCCe D"bD1AMaR?3fP H2\k2,ROurU-Df/=N`1$_5~@l]^07p6ZJ6^DWp~.uiEuEuS{=8ARAB-MZ ME>EGwws)*/em5;^(Zf_cփfjC< u(|~$q$%(,PPk'v&HO/O^IxS%YM?KYMGh^i!ws?ۊ'=]s]I8III*IqkIII~Y(ijy}~ ~b~}Z}I80ruDBuDIDoo\,V,z|,ninɘe{Q5$ fR fR9PN|D9cyPqEV,VfR2}* IVF%CMw]Nk]S_ky^*F9ǥz+tKx5eƨƨ˾Sҝz Fէ?Z>fe 3~b9 ~b=go !R /pp6 >DG>wGb e  e8 f1@ k, rD" tE >F= >F >MM >V >WC >f >j DT RV; RV RVn= S. So Y j7o1 p&< BT  T( TYM Th Ti] U ad y ҂ z :bK +>& Pt[ Pt fesH fe iFC{ i8M i| u ws w, w# w}t2 w}c w}m @$ HK X &/ D  t5[O t5JT$8gT%*#*K/Eb&I_Ky[ a.+nyG<vɅ~L^kB"d8ݖl  6$U%4.%4<0i)0q1cc 2wTKD+HZJdLqc5u*c5^yC&{~a[6UN0i(%1, %2 ei mritelty%1, %2 not definedQ3Accel PoistaDelete Q3DataTableEptosiFalse Q3DataTable LisInsert Q3DataTableTosiTrue Q3DataTablePivitUpdate Q3DataTablez%1 tiedostoa ei ole olemassa. Tarkista polku ja tiedostonimi.+%1 File not found. Check path and filename. Q3FileDialog&Poista&Delete Q3FileDialog&Ei&No Q3FileDialog&OK&OK Q3FileDialog &Avaa&Open Q3FileDialog Nime &uudestaan&Rename Q3FileDialog&Tallenna&Save Q3FileDialogEi &jrjestetty &Unsorted Q3FileDialog &Kyll&Yes Q3FileDialogV<qt>Haluatko varmasti poistaa %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog(Kaikki tiedostot (*) All Files (*) Q3FileDialogAttribuutit Attributes Q3FileDialogTakaisinBack Q3FileDialogPeruCancel Q3FileDialog4Kopioi tai siirr tiedostoCopy or Move a File Q3FileDialogLuo uusi kansioCreate New Folder Q3FileDialogPivysDate Q3FileDialogPoista %1 Delete %1 Q3FileDialog&Yksityiskohtankym Detail View Q3FileDialog KansioDir Q3FileDialogKansiot Directories Q3FileDialogKansio: Directory: Q3FileDialog VirheError Q3FileDialogTiedostoFile Q3FileDialogTiedosto&nimi: File &name: Q3FileDialog Tiedosto&tyyppi: File &type: Q3FileDialogEtsi kansioFind Directory Q3FileDialogEi oikeuksia Inaccessible Q3FileDialogListankym List View Q3FileDialog Etsi &kohteista: Look &in: Q3FileDialogNimiName Q3FileDialogUusi kansio New Folder Q3FileDialogUusi kansio %1 New Folder %1 Q3FileDialogUusi kansio 1 New Folder 1 Q3FileDialog"Yksin kansio ylsOne directory up Q3FileDialogAvaaOpen Q3FileDialog:Esikatsele tiedoston sisltPreview File Contents Q3FileDialog8Esikatsele tiedoston tietojaPreview File Info Q3FileDialog Lataa uud&estaanR&eload Q3FileDialogVain luku Read-only Q3FileDialogLuku-kirjoitus Read-write Q3FileDialogLue: %1Read: %1 Q3FileDialog Tallenna nimellSave As Q3FileDialog6Nyt &piilotetut tiedostotShow &hidden files Q3FileDialogKokoSize Q3FileDialogJrjestSort Q3FileDialog6Jrjest &pivyksen mukaan Sort by &Date Q3FileDialog,Jrjest &nimen mukaan Sort by &Name Q3FileDialog*Jrjest &koon mukaan Sort by &Size Q3FileDialogErikoistiedostoSpecial Q3FileDialog4Symbolinen linkki kansioonSymlink to Directory Q3FileDialog8Symbolinen linkki tiedostoonSymlink to File Q3FileDialogFSymbolinen linkki erikoistiedostoonSymlink to Special Q3FileDialog TyyppiType Q3FileDialogVain kirjoitus Write-only Q3FileDialogKirjoita: %1 Write: %1 Q3FileDialog kansio the directory Q3FileDialogtiedostothe file Q3FileDialog"symbolinen linkki the symlink Q3FileDialog4Kansiota %1 ei voitu luodaCould not create directory %1 Q3LocalFs"%1 ei voitu avataCould not open %1 Q3LocalFs4Kansiota %1 ei voitu lukeaCould not read directory %1 Q3LocalFsTTiedostoa tai kansiota %1 ei voitu poistaa%Could not remove file or directory %1 Q3LocalFs`Kohdetta %1 ei voitu nimet uudestaan nimelle %2Could not rename %1 to %2 Q3LocalFs,%1 ei voitu kirjoittaaCould not write %1 Q3LocalFsRivi ylsLine up Q3MainWindow8Kyttj keskeytti toiminnonOperation stopped by the userQ3NetworkProtocolPeruCancelQ3ProgressDialogToteutaApply Q3TabDialogPeruCancel Q3TabDialog OletusDefaults Q3TabDialogOhjeHelp Q3TabDialogOKOK Q3TabDialog&Kopioi&Copy Q3TextEditL&iiit&Paste Q3TextEdit&Tee uudestaan&Redo Q3TextEdit &Peru&Undo Q3TextEditTyhjennClear Q3TextEdit&LeikkaaCu&t Q3TextEditValitse kaikki Select All Q3TextEdit SuljeClose Q3TitleBarSulkee ikkunanCloses the window Q3TitleBarbSislt ikkunan muokkaukseen liittyvi komentoja*Contains commands to manipulate the window Q3TitleBar|Nytt ikkunan nimen ja sislt ohjaimia ikkunan ksittelyynFDisplays the name of the window and contains controls to manipulate it Q3TitleBar:Nyt ikkuna kokoruututilassaMakes the window full screen Q3TitleBarSuurennaMaximize Q3TitleBarPienennMinimize Q3TitleBar6Siirt ikkunan pois tieltMoves the window out of the way Q3TitleBar:Palauttaa suurennetun ikkunan&Puts a maximized window back to normal Q3TitleBar:Palauttaa pienennetyn ikkunanPuts a minimized back to normal Q3TitleBarJrjestelmSystem Q3TitleBarLis...More... Q3ToolBar(tuntematon) (unknown) Q3UrlOperatorProtokolla "%1" ei tue tiedostojen tai kansioiden kopiointia tai siirtoaIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorRProtokolla "%1" ei tue kansioiden luontia;The protocol `%1' does not support creating new directories Q3UrlOperatorRProtokolla "%1" ei tue tiedostojen noutoa0The protocol `%1' does not support getting files Q3UrlOperatorNProtokolla "%1" ei tue kansiolistauksia6The protocol `%1' does not support listing directories Q3UrlOperatorVProtokolla "%1" ei tue tiedostojen lisyst0The protocol `%1' does not support putting files Q3UrlOperatorrProtokolla "%1" ei tue tiedostojen tai kansioiden poistoa@The protocol `%1' does not support removing files or directories Q3UrlOperatorProtokolla "%1" eitue tiedostojen tai kansioiden uudelleennimemist@The protocol `%1' does not support renaming files or directories Q3UrlOperator:protokolla "%1" ei ole tuettu"The protocol `%1' is not supported Q3UrlOperator &Peru&CancelQ3Wizard&Valmis&FinishQ3Wizard O&hje&HelpQ3Wizard&Seuraava >&Next >Q3Wizard< &Takaisin< &BackQ3Wizard Yhteys estettiinConnection refusedQAbstractSocket&Isnt ei lytynytHost not foundQAbstractSocket2Pistoke ei ole yhdistettySocket is not connectedQAbstractSocket<Pistekeoperaation aikakatkaisuSocket operation timed outQAbstractSocket*&Lis omiin vreihin&Add to Custom Colors QColorDialog&Perusvrit &Basic colors QColorDialog&Omat vrit&Custom colors QColorDialog&Vihre:&Green: QColorDialog&Punainen:&Red: QColorDialogA&lphakanava:A&lpha channel: QColorDialog&Sininen:Bl&ue: QColorDialogValitse vri Select color QColorDialog SuljeClose QComboBoxEptosiFalse QComboBoxAvaaOpen QComboBoxTosiTrue QComboBox>Transaktiota ei voitu toteuttaaUnable to commit transaction QDB2Driver"Yhteytt ei saatuUnable to connect QDB2Driver ValmisDoneQDialogMik tm on? What's This?QDialog&Ei&NoQDialogButtonBox&OK&OKQDialogButtonBox &Kyll&YesQDialogButtonBoxKeskeytAbortQDialogButtonBoxToteutaApplyQDialogButtonBoxPeruCancelQDialogButtonBox SuljeCloseQDialogButtonBox&Sulje tallentamattaClose without SavingQDialogButtonBox HylkDiscardQDialogButtonBoxl tallenna Don't SaveQDialogButtonBoxOhjeHelpQDialogButtonBoxl huomioiIgnoreQDialogButtonBoxE&i kaikkiin N&o to AllQDialogButtonBoxOKOKQDialogButtonBoxAvaaOpenQDialogButtonBox NollaaResetQDialogButtonBox"Palauta oletuksetRestore DefaultsQDialogButtonBoxYrit uudestaanRetryQDialogButtonBoxTallennaSaveQDialogButtonBoxTallenna kaikkiSave AllQDialogButtonBoxKyll k&aikkiin Yes to &AllQDialogButtonBoxMuokattu Date Modified QDirModel TyyppiKind QDirModelNimiName QDirModelKokoSize QDirModel TyyppiType QDirModel SuljeClose QDockWidget&OK&OK QErrorMessage%1 kansiota ei lydy. Varmista, ett annoit oikean kansion nimen.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 tiedostoa ei lydy. Tarkista, ett annoit oikean tiedostonimen.A%1 File not found. Please verify the correct file name was given. QFileDialogP%1 on jo olemassa. Haluatko korvata sen?-%1 already exists. Do you want to replace it? QFileDialog&Valitse&Choose QFileDialog&Poista&Delete QFileDialog&Uusi kansio &New Folder QFileDialog &Avaa&Open QFileDialog &Nime uudestaan&Rename QFileDialog&Tallenna&Save QFileDialogl"%1" on kirjoitussuojattu. Haluatko silti poistaa sen?9'%1' is write protected. Do you want to delete it anyway? QFileDialog(Kaikki tiedostot (*) All Files (*) QFileDialogNHaluatko varmasti poistaa kohteen "%1"?!Are sure you want to delete '%1'? QFileDialogTakaisinBack QFileDialog4Kansiota ei voitu poistaa.Could not delete directory. QFileDialogLuo uusi kansioCreate New Folder QFileDialogYksityiskohdat Detail View QFileDialogKansiot Directories QFileDialogKansio: Directory: QFileDialog AsemaDrive QFileDialogTiedostoFile QFileDialogTiedosto&nimi: File &name: QFileDialog$Tiedostot tyyppi:Files of type: QFileDialogEtsi kansioFind Directory QFileDialogEteenpinForward QFileDialogListankym List View QFileDialogEtsi kohteista:Look in: QFileDialogOma tietokone My Computer QFileDialogUusi kansio New Folder QFileDialogAvaaOpen QFileDialogYlkansioParent Directory QFileDialog PoistaRemove QFileDialog Tallenna nimellSave As QFileDialog NytShow  QFileDialog*Nyt &piilotiedostotShow &hidden files QFileDialogTuntematonUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 tavua%1 bytesQFileSystemModelTietokoneComputerQFileSystemModelMuokattu Date ModifiedQFileSystemModel2Virheellinen tiedostonimiInvalid filenameQFileSystemModel TyyppiKindQFileSystemModelOma Tietokone My ComputerQFileSystemModelNimiNameQFileSystemModelKokoSizeQFileSystemModel TyyppiTypeQFileSystemModel &Koko&Size QFontDialogHKansioon siirtyminen eponnistui: %1Changing directory failed: %1QFtp,Yhdistetty palvelimeenConnected to hostQFtp2Yhdistetty palvelimeen %1Connected to host %1QFtpDYhteys palvelimeen eponnistui: %1Connecting to host failed: %1QFtpYhteys suljettuConnection closedQFtp8Datayhteyden avaus estettiin&Connection refused for data connectionQFtp2Palvelin %1 esti yhteydenConnection refused to host %1QFtp@Yhteys palvelimeen %1 suljettiinConnection to %1 closedQFtp<Kansion luonti eponnistui: %1Creating directory failed: %1QFtp>Tiedoston nouto eponnistui: %1Downloading file failed: %1QFtp$Palvelin %1 lytyi Host %1 foundQFtp,Palvelinta %1 ei lydyHost %1 not foundQFtpPalvelin lytyi Host foundQFtpNKansion sislln nytt eponnistui. %1Listing directory failed: %1QFtp:Kirjautuminen eponnistui: %1Login failed: %1QFtpEi yhteytt Not connectedQFtp<Kansion poisto eponnistui: %1Removing directory failed: %1QFtp@Tiedoston poisto eponnistui: %1Removing file failed: %1QFtp Tuntematon virhe Unknown errorQFtp@Tiedoston vienti eponnistui: %1Uploading file failed: %1QFtp Tuntematon virhe Unknown error QHostInfo&Isnt ei lytynytHost not foundQHostInfoAgent Tuntematon virhe Unknown errorQHostInfoAgent4Tunnistautuminen vaaditaanAuthentication requiredQHttp,Yhdistetty palvelimeenConnected to hostQHttp2Yhdistetty palvelimeen %1Connected to host %1QHttpYhteys suljettuConnection closedQHttp Yhteys estettiinConnection refusedQHttp>Yhteys palvelimeen %1 katkaistuConnection to %1 closedQHttp.HTTP-pyynt eponnistuiHTTP request failedQHttp$Palvelin %1 lytyi Host %1 foundQHttp,Palvelinta %1 ei lydyHost %1 not foundQHttpPalvelin lytyi Host foundQHttpDVirheellinen HTTP-paloiteltu runkoInvalid HTTP chunked bodyQHttp>Virheellinen HTTP-vastausotsakeInvalid HTTP response headerQHttpDEi palvelinta johon ottaa yhteyttNo server set to connect toQHttpHVlipalvelin vaatii tunnistautumisenProxy authentication requiredQHttp(Pyynt keskeytettiinRequest abortedQHttpLPalvelin katkaisi yhteyden odottamatta%Server closed connection unexpectedlyQHttp Tuntematon virhe Unknown errorQHttp8Virheellinen sislln pituusWrong content lengthQHttp4Tunnistautuminen vaaditaanAuthentication requiredQHttpSocketEngine<Transaktiota ei voitu aloittaaCould not start transaction QIBaseDriver>Transaktiota ei voitu toteuttaaUnable to commit transaction QIBaseDriver4Lauseketta ei voitu varataCould not allocate statement QIBaseResult>Sytelauseketta ei voitu kuvata"Could not describe input statement QIBaseResult4Lauseketta ei voitu kuvataCould not describe statement QIBaseResultDSeuraavaa kohdetta ei voitu noutaaCould not fetch next item QIBaseResult*Taulukkoa ei lytynytCould not find array QIBaseResult2Taulukon tietoja ei saatuCould not get array data QIBaseResult,Kyselytietoja ei saatuCould not get query info QIBaseResult:Tietoja lausekkeesta ei saatuCould not get statement info QIBaseResult>Lauseketta ei voitu valmistellaCould not prepare statement QIBaseResult<Transaktiota ei voitu aloittaaCould not start transaction QIBaseResult4Lauseketta ei voitu sulkeaUnable to close statement QIBaseResult>Transaktiota ei voitu toteuttaaUnable to commit transaction QIBaseResult,BLOB:ia ei voitu luodaUnable to create BLOB QIBaseResult4Kysely ei voitu suorittaaUnable to execute query QIBaseResult(BLOB:ia ei voi avataUnable to open BLOB QIBaseResult(BLOB:ia ei voi lukeaUnable to read BLOB QIBaseResult8BLOB:iin ei voitu kirjoittaaUnable to write BLOB QIBaseResultLupa evttyPermission denied QIODevice Tuntematon virhe Unknown error QIODevice Tuntematon virhe Unknown errorQLibrary&Kopioi&Copy QLineEditL&iiit&Paste QLineEdit&Tee uudestaan&Redo QLineEdit &Peru&Undo QLineEdit&LeikkaaCu&t QLineEditValitse kaikki Select All QLineEdit>Transaktiota ei voitu toteuttaaUnable to commit transaction QMYSQLDriver"Yhteytt ei saatuUnable to connect QMYSQLDriver4Kysely ei voitu suorittaaUnable to execute query QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow &Sulje&Close QMdiSubWindow&Siirr&Move QMdiSubWindow&Palauta&Restore QMdiSubWindow &Koko&Size QMdiSubWindow SuljeClose QMdiSubWindowS&uurenna Ma&ximize QMdiSubWindowSuurennaMaximize QMdiSubWindowMenuMenu QMdiSubWindowP&ienenn Mi&nimize QMdiSubWindowPienennMinimize QMdiSubWindow(Pid &pllimmisen Stay on &Top QMdiSubWindow SuljeCloseQMenuAvaaOpenQMenuTietoja Qt:staAbout Qt QMessageBoxOKOK QMessageBoxRToinen pistoke kuuntelee jo samaa porttia4Another socket is already listening on the same portQNativeSocketEngineYritettiin kytt IPv6-pistoketta alustalla joka ei sisll IPv6-tukea=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine Yhteys estettiinConnection refusedQNativeSocketEngine,Yhteys aikakatkaistiinConnection timed outQNativeSocketEngineLPaketti oli liian suuri lhetettvksiDatagram was too large to sendQNativeSocketEngine6Palvelinta ei voi saavuttaaHost unreachableQNativeSocketEngine>Virheellinen pistokkeen kuvaajaInvalid socket descriptorQNativeSocketEngineVerkkovirhe Network errorQNativeSocketEngine<Verkkotoiminto aikakatkaistiinNetwork operation timed outQNativeSocketEngine0Verkko ei ole saatavillaNetwork unreachableQNativeSocketEngine<Toiminnon kohde ei ole pistokeOperation on non-socketQNativeSocketEngine&Resurssit loppuivatOut of resourcesQNativeSocketEngineLupa evttyPermission deniedQNativeSocketEngine<Protokollatyyppi ei ole tuettuProtocol type not supportedQNativeSocketEngine0Osoite ei ole saatavillaThe address is not availableQNativeSocketEngine$Osoite on suojattuThe address is protectedQNativeSocketEngine:Sidottu osoite on jo kytss#The bound address is already in useQNativeSocketEngine:Viesti ei voitu vastaanottaaUnable to receive a messageQNativeSocketEngine2Viesti ei voitu lhettUnable to send a messageQNativeSocketEngine&Ei voitu kirjoittaaUnable to writeQNativeSocketEngine Tuntematon virhe Unknown errorQNativeSocketEngine:Pistoketoiminto ei ole tuettuUnsupported socket operationQNativeSocketEngine>Transaktiota ei voitu toteuttaaUnable to commit transaction QOCIDriver>Transaktiota ei voitu toteuttaaUnable to commit transaction QODBCDriver"Yhteytt ei saatuUnable to connect QODBCDriverNimiNameQPPDOptionsModelArvoValueQPPDOptionsModel"Yhteytt ei saatuUnable to connect QPSQLDriver Vaaka LandscapeQPageSetupWidgetSivun koko: Page size:QPageSetupWidgetPaperin lhde: Paper source:QPageSetupWidget PystyPortraitQPageSetupWidget Tuntematon virhe Unknown error QPluginLoader^%1 on jo olemassa. Haluatko kirjoittaa sen yli?/%1 already exists. Do you want to overwrite it? QPrintDialogT%1 on kansio. Valitse toinen tiedostonimi.7%1 is a directory. Please choose a different file name. QPrintDialogAliakset: %1 Aliases: %1 QPrintDialogTiedosto %1 ei ole kirjoitettavissa. Valitse toinen tiedostonimi.=File %1 is not writable. Please choose a different file name. QPrintDialog*Tulosta tiedostoon...Print To File ... QPrintDialog0paikallisesti yhdistettylocally connected QPrintDialogtuntematonunknown QPrintDialog SuljeCloseQPrintPreviewDialog Vaaka LandscapeQPrintPreviewDialog PystyPortraitQPrintPreviewDialog PrintPrintQPrintPreviewDialog KopiotCopiesQPrintSettingsOutputValinnatOptionsQPrintSettingsOutputSivut alkaen Pages fromQPrintSettingsOutputTulosta kaikki Print allQPrintSettingsOutputTulostusalue Print rangeQPrintSettingsOutputValinta SelectionQPrintSettingsOutput saakkatoQPrintSettingsOutputTulostinPrinter QPrintWidgetPeruCancelQProgressDialogAvaaOpen QPushButton,virhett ei tapahtunutno error occurredQRegExp>Transaktiota ei voitu toteuttaaUnable to commit transactionQSQLite2Driver>Transaktiota ei voitu toteuttaaUnable to commit transaction QSQLiteDriverAlasBottom QScrollBarVasen reuna Left edge QScrollBarRivi alas Line down QScrollBarRivi ylsLine up QScrollBarSivu alas Page down QScrollBarSivu vasemmalle Page left QScrollBarSivu oikealle Page right QScrollBarSivu ylsPage up QScrollBarSijaintiPosition QScrollBarOikea reuna Right edge QScrollBarVierit alas Scroll down QScrollBarVierit thn Scroll here QScrollBar$Vierit vasemmalle Scroll left QScrollBar Vierit oikealle Scroll right QScrollBarVierit yls Scroll up QScrollBarYlsTop QScrollBar++ QShortcutAltAlt QShortcutTakaisinBack QShortcutAskelpalautin Backspace QShortcutBacktabBacktab QShortcutBasson korostus Bass Boost QShortcutBasson vhennys Bass Down QShortcutBasson lisysBass Up QShortcut SoitaCall QShortcutCapsLock Caps Lock QShortcutCapsLockCapsLock QShortcutKonteksti1Context1 QShortcutKonteksti2Context2 QShortcutKonteksti3Context3 QShortcutKonteksti4Context4 QShortcutCtrlCtrl QShortcutDelDel QShortcut DeleteDelete QShortcutAlasDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutSuosikit Favorites QShortcut KnnFlip QShortcutEteenpinForward QShortcutKatkaiseHangup QShortcutHelpHelp QShortcutHomeHome QShortcutKotisivu Home Page QShortcutInsIns QShortcut InsertInsert QShortcutKynnist (0) Launch (0) QShortcutKynnist (1) Launch (1) QShortcutKynnist (2) Launch (2) QShortcutKynnist (3) Launch (3) QShortcutKynnist (4) Launch (4) QShortcutKynnist (5) Launch (5) QShortcutKynnist (6) Launch (6) QShortcutKynnist (7) Launch (7) QShortcutKynnist (8) Launch (8) QShortcutKynnist (9) Launch (9) QShortcutKynnist (A) Launch (A) QShortcutKynnist (B) Launch (B) QShortcutKynnist (C) Launch (C) QShortcutKynnist (D) Launch (D) QShortcutKynnist (E) Launch (E) QShortcutKynnist (F) Launch (F) QShortcut(Kynnist shkposti Launch Mail QShortcut*Kynnist mediasoitin Launch Media QShortcut VasenLeft QShortcut Media - seuraava Media Next QShortcutMedian - toista Media Play QShortcut"Media - edellinenMedia Previous QShortcut Media - tallenna Media Record QShortcut Median - pysyt Media Stop QShortcutMenuMenu QShortcutMetaMeta QShortcutEiNo QShortcutNumLockNum Lock QShortcutNumLockNumLock QShortcutNumerolukko Number Lock QShortcutAvaa URLOpen URL QShortcutSivu alas Page Down QShortcutSivu ylsPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutPrintScreen Print Screen QShortcutPivitRefresh QShortcut ReturnReturn QShortcut OikeaRight QShortcutScrollLock Scroll Lock QShortcutScrollLock ScrollLock QShortcutEtsiSearch QShortcutValintaSelect QShortcutVaihtonppinShift QShortcutVlilyntiSpace QShortcutKeskeytystilaStandby QShortcutPysytStop QShortcut SysReqSysReq QShortcutSystemRequestSystem Request QShortcutSarkainTab QShortcut$Diskantin vhennys Treble Down QShortcut Diskantin lisys Treble Up QShortcutYlsUp QShortcut(nenvoimakkuus alas Volume Down QShortcutVaimenna net Volume Mute QShortcut(nenvoimakkuus yls Volume Up QShortcut KyllYes QShortcutSivu alas Page downQSliderSivu vasemmalle Page leftQSliderSivu oikealle Page rightQSliderSivu ylsPage upQSliderSijaintiPositionQSlider<Verkkotoiminto aikakatkaistiinNetwork operation timed outQSocks5SocketEnginePeruCancelQSqlPeru muutokset?Cancel your edits?QSqlVahvistaConfirmQSql PoistaDeleteQSql2Poistetaanko tm tietue?Delete this record?QSql LisInsertQSqlEiNoQSql&Tallenna muutokset? Save edits?QSqlPivitUpdateQSql KyllYesQSql&Kopioi&Copy QTextControlL&iiit&Paste QTextControl&Tee uudestaan&Redo QTextControl &Peru&Undo QTextControl&LeikkaaCu&t QTextControlValitse kaikki Select All QTextControlAvaaOpen QToolButton4Tm alusta ei tue IPv6:ta#This platform does not support IPv6 QUdpSocketTee uudestaanRedo QUndoGroupPeruUndo QUndoGroup<tyhj> QUndoModelTee uudestaanRedo QUndoStackPeruUndo QUndoStackSiirry takaisinGo BackQWebPagel huomioiIgnoreQWebPagel huomioi Ignore Grammar context menu itemIgnoreQWebPage NollaaResetQWebPagePysytStopQWebPageTuntematonUnknownQWebPageMik tm on? What's This?QWhatsThisAction**QWidget&Viimeistele&FinishQWizard O&hje&HelpQWizard&Seuraava >&Next >QWizard< &Takaisin< &BackQWizardPeruCancelQWizardToteutaCommitQWizard JatkaContinueQWizard ValmisDoneQWizardSiirry takaisinGo BackQWizardOhjeHelpQWizard SuljeQuitQWizard%1 - [%2] %1 - [%2] QWorkspace &Sulje&Close QWorkspace&Siirr&Move QWorkspace&Palauta&Restore QWorkspace &Koko&Size QWorkspace(&Palauta varjostettu&Unshade QWorkspace SuljeClose QWorkspaceS&uurenna Ma&ximize QWorkspaceP&ienenn Mi&nimize QWorkspacePienennMinimize QWorkspace&VarjostaSh&ade QWorkspace(Pid &pllimmisen Stay on &Top QWorkspaceZvirhe ulkoisen entiteetin tekstimrittelyss3error in the text declaration of an external entityQXml,virhett ei tapahtunutno error occurredQXml$odottamaton merkkiunexpected characterQXml8tiedosto pttyi odottamattaunexpected end of fileQXmlV%1 on virheellinen merkistkoodauksen nimi.%1 is an invalid encoding name. QXmlStream", mutta saatiin " , but got ' QXmlStreamFAttribuutti mriteltiin uudestaan.Attribute redefined. QXmlStream@Merkistkoodaus %1 ei ole tuettuEncoding %1 is unsupported QXmlStreamFEntiteetti "%1" ei ole mritelty.Entity '%1' not declared. QXmlStreamOdotettiin Expected  QXmlStreamPTiedoston lopussa on ylimrist tietoa!Extra content at end of document. QXmlStream0Virheellinen XML-merkki.Invalid XML character. QXmlStream,Virheellinen XML-nimi.Invalid XML name. QXmlStreamHVirheellinen XML-version merkkijono.Invalid XML version string. QXmlStream:Virheellinen entiteetin arvo.Invalid entity value. QXmlStream`Nimiavaruuden etuliitett "%1" ei ole mritelty"Namespace prefix '%1' not declared QXmlStreamVSekvenssi "]]>" ei ole sallittu sisllss.&Sequence ']]>' not allowed in content. QXmlStreamOdottamaton " Unexpected ' QXmlStream`Odottamaton merkki "%1" julkisessa tunnisteessa./Unexpected character '%1' in public id literal. QXmlStream2XMl-versio ei ole tuettu.Unsupported XML version. QXmlStreamAlasBottomWebCore::PlatformScrollbarVasen reuna Left edgeWebCore::PlatformScrollbarSivu alas Page downWebCore::PlatformScrollbarSivu vasemmalle Page leftWebCore::PlatformScrollbarSivu oikealle Page rightWebCore::PlatformScrollbarSivu ylsPage upWebCore::PlatformScrollbarOikea reuna Right edgeWebCore::PlatformScrollbarVierit alas Scroll downWebCore::PlatformScrollbarVierit thn Scroll hereWebCore::PlatformScrollbar$Vierit vasemmalle Scroll leftWebCore::PlatformScrollbar Vierit oikealle Scroll rightWebCore::PlatformScrollbarVierit yls Scroll upWebCore::PlatformScrollbarYlsTopWebCore::PlatformScrollbarkeepassx-0.4.3/share/keepassx/i18n/keepassx-ja_JP.qm0000664000175000017500000014131511342454754021230 0ustar felixfelix3B%C%nI'L(BR)T*SU+0a@! A!TB!D!F!H"$P"XR"T"V"X#(f#\r#$&;1; j;5;ZCH4.MUQQVSVIZl/ZlZ\,]_)tnGlx\$%8֍'`|VEVE,o93?}#n~**%r*0s{+w+x3J]bGH8ZJ ULbLb <Lb.LbLbY LbeLbntM M}1M4{N qN'%N.N5NYqO2 O4T,xT2>VjW3)XhY[ % [ %+Y[ %/[ %6*[ %Zy[Z\^~T{Ta.."u&lmPe(P`R.X.Oi3*8.zޏu-|q:*JO+w]S&f/~hB"k>Jq~:gg6_ut˓ 8ev@i ,.R<\=LDsj[ + m^K} ~dIGI0>([nfFnRo1vWs>|: %x'A`yHZ)  n&  /C! LV:>8#NH$#\&:^E-KW5ۻ55]BKM$*ve7q v= 5=fnnv @JJm^}5&nw&nB,5n8#WDɃAP''_R}`nDp'ߎoX:n<yJ߸|e>J)WH>,N08m3}3C4C4#\eI=&MJeNRO_RtuHu w,#e J NO ue)M/ZB vM.mXzxƭgƸ*2[:Ȟ譾uN#^8 ѕ6 A Dbl LY gw3 l[~oh 9 O+ (" d  0 C  C,8 C0( C6` CZ D MTW n%b ^ns l- 3 9.<\ 5sh 5tci: 8C G?n_F J LZ~= OZOh T4~ aED cq d:qG d<% d<.7 d d9 dIm nM qE5 s/[ s( u~[ ~ w[  N" ) >2k >p >k t( X [ ˔?x F>s U M =3 lSsE f C f 6 f 7 f E f G f J f ^ f  /K  m[ # I Y LJ Xо Yn ^jd h).=t +e J2 JCY S  ~ }{ )y Ÿ^Q M ͓> O ֕p F ٷEP Q. Uf  A:- (s &+* ?I Bf LuA M Z$% [cr] vY. : ?3o S @+ SD g 4{ c 8 TP T 5 wr s s9 s ,g ȶ } G ܾ~ @~N ƙS Y= 4 e ?@@  T^F T^L_ 7wy{ Sus56 ^& ^} mbDd n o^ }~ .= P P .Q[ k~wN @q 0~p |. Er,.<a@B :$R$ߎy.{?EjB<L&R܎ e>BRys?[y]thCk?#n ؾfK)6mw'c_%$!}/ў/ўnC^Q:}Yqd7e3E!g^N(p1jt9TXDtshGȞ\[iKO\Author AboutDialog sW(0n3Current Translation AboutDialogvz Developer AboutDialogvz0000000{tDeveloper, Project Admin AboutDialog000Error AboutDialog,0000 '%1' 0L0d0K00~0[00g0W0_0File '%1' could not be found. AboutDialogFKeePassX 030Y0el0k0d0D0f0n`X10ok!0nN 0k0d0K00~0Y:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg0000000nR Add BookmarkAddBookmarkDlg0Y0y0f0n0000 (*) All Files (*)AddBookmarkDlg Sqg... Browse...AddBookmarkDlg0000000n} Edit BookmarkAddBookmarkDlg 0000:File:AddBookmarkDlg,KeePass 000000 (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlg 0000:Title:AddBookmarkDlgRQeR Auto-Type AutoTypeDlg.RQeR0Y00k0o00000N 0g00000W0~0Y0"Click on an entry to auto-type it. AutoTypeDlg0000Group AutoTypeDlgKeePassX - RQeRKeePassX - Auto-Type AutoTypeDlg0000Title AutoTypeDlg 0000T Username AutoTypeDlg('%1' 0og R0jetepP$0g0o0B00~0[00 '%1' is not valid integer value.CDbSettingsDlg<AES(Rijndael): 256 000 (e[)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg000ErrorCDbSettingsDlgOKOKCDbSettingsDlg"fSS0nThVep0lz[0W0f0O0`0U0D01Please determine the number of encryption rounds.CDbSettingsDlg-[SettingsCDbSettingsDlg.fSS0nThVep0o 0 00Y0D_ʼn0L0B00~0Y0:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 000Twofish: 256 BitCDbSettingsDlgfTJWarningCDbSettingsDlg %1 000%1 Bit CEditEntryDlg 1 0g1 Month CEditEntryDlg1 11 Week CEditEntryDlg1 ^t1 Year CEditEntryDlg2 12 Weeks CEditEntryDlg 3 0g3 Months CEditEntryDlg3 13 Weeks CEditEntryDlg 6 0g6 Months CEditEntryDlgmN0nR...Add Attachment... CEditEntryDlg00000... Calendar... CEditEntryDlg000000Q0~0[00g0W0_0Could not open file. CEditEntryDlgmN0RJd0W0~0Y0K?Delete Attachment? CEditEntryDlg000000n} Edit Entry CEditEntryDlg000Error CEditEntryDlg"00000nf0M0N-0n0000g0Y0Error while writing the file. CEditEntryDlge0W0D00000 New Entry CEditEntryDlg0D0D0H000000 No, Cancel CEditEntryDlgOKOK CEditEntryDlg@QeR0W0_000000LN0W0~0[00 QeR000000W0f0O0`0U0D0HPassword and password repetition are not equal. Please check your input. CEditEntryDlgmN00000O[X...Save Attachment... CEditEntryDlg*xb0U00_000000omN0L0j0D0Kzz0g0Y02The chosen entry has no attachment or it is empty. CEditEntryDlgNeToday CEditEntryDlgfTJWarning CEditEntryDlg0o0DYes CEditEntryDlgF0S0n000000nmN0RJd0W00F0h0W0f0D0~0Y0 g,_S0k000W0D0g0Y0K?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg[q!L0n00000][Untitled Entry] CEditEntryDlg %1 000%1 Bits CGenPwDialog00000ubPassword Generator CGenPwDialog(%1: 00000o000~0[00g0W0_0%1: File could not be loaded.CSelectIconDlg0000 00000nRAdd Custom IconCSelectIconDlg00000nR... Add Icons...CSelectIconDlg,00000n00N-0k0000Lvzu0W0~0W0_:+An error occured while loading the icon(s):CSelectIconDlg,00000n00N-0k0000Lvzu0W0~0W0_0(An error occured while loading the icon.CSelectIconDlgRJdDeleteCSelectIconDlg000ErrorCSelectIconDlg0000 (%1) Images (%1)CSelectIconDlgxbPickCSelectIconDlg nc... Replace...CSelectIconDlg0000000nxb...Select a directory... CSettingsDlg[L00000nxb...Select an executable... CSettingsDlg-[Settings CSettingsDlg00000nSystem Language CSettingsDlg 00000CalendarCalendarDialog|<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">0000 0000Lkc^80kQ0000U00~0W0_!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg0000000SΖ0W0f0D0~0Y... Nqep0000000nQ0000kSAR0j0000000LSΖ0U000~0g0000R0K0Y0KOU0K000b0W0f0O0`0U0D0Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg0000000nSΖEntropy CollectionCollectEntropyDlgNqep000000Random Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogmN0000T Attachment NameCustomizeDetailViewDialogY*BCustomizeDetailViewDialogY*[WBoldCustomizeDetailViewDialogN-CCustomizeDetailViewDialogN-Y.c0HCenteredCustomizeDetailViewDialog0000CommentCustomizeDetailViewDialogO\be Creation DateCustomizeDetailViewDialog 00000DialogCustomizeDetailViewDialogg RgPExpiration DateCustomizeDetailViewDialog0000 000 Font SizeCustomizeDetailViewDialog0000GroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogeICustomizeDetailViewDialogeOSItalicCustomizeDetailViewDialogN!zc0H JustifiedCustomizeDetailViewDialog]LCustomizeDetailViewDialogg}B0000eLast Access DateCustomizeDetailViewDialog g}BY feLast Modification DateCustomizeDetailViewDialog]c0H Left-AlignedCustomizeDetailViewDialog 00000PasswordCustomizeDetailViewDialogSRCustomizeDetailViewDialog00000000000Rich Text EditorCustomizeDetailViewDialogSc0H Right-AlignedCustomizeDetailViewDialog0TCustomizeDetailViewDialog 000000 TemplatesCustomizeDetailViewDialog 00000nr Text ColorCustomizeDetailViewDialog g RgP0~0gTime till ExpirationCustomizeDetailViewDialog0000TitleCustomizeDetailViewDialogN UCustomizeDetailViewDialogN } UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialog 0000T UsernameCustomizeDetailViewDialog0j0WNeverDatabase000000: Algorithm:DatabaseSettingsDlg00S0n0000000g 1 y0K0K0Vep0{0W0~0Y6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg0000000n-[Database SettingsDatabaseSettingsDlgfSS EncryptionDatabaseSettingsDlgfSS0nVep:Encryption Rounds:DatabaseSettingsDlg0000CommentDetailViewTemplateO\bCreationDetailViewTemplateg RgP ExpirationDetailViewTemplate0000GroupDetailViewTemplate g}B0000 Last AccessDetailViewTemplateg}BY fLast ModificationDetailViewTemplate 00000PasswordDetailViewTemplate0000TitleDetailViewTemplateURLURLDetailViewTemplate 0000T UsernameDetailViewTemplate%1%1EditEntryDialog %1 000%1 BitEditEntryDialogmN: Attachment:EditEntryDialog 0000:Comment:EditEntryDialog000000n} Edit EntryEditEntryDialog g RgP:Expires:EditEntryDialogub(&N).Ge&n.EditEntryDialog 0000:Group:EditEntryDialog 0000:Icon:EditEntryDialog0j0WNeverEditEntryDialog 00000: Password:EditEntryDialogT:Quality:EditEntryDialog 00FN^:Repeat:EditEntryDialog 0000:Title:EditEntryDialogURL:URL:EditEntryDialog 0000T : Username:EditEntryDialog>>EditGroupDialog00000n00000Group PropertiesEditGroupDialog 0000:Icon:EditGroupDialog 0000:Title:EditGroupDialog,00000000000000Y00hyR0W0~0Y0'Double click on an entry to jump to it.ExpiredEntriesDialog g RgPR0ExpiredExpiredEntriesDialogg RgPR00n00000Expired EntriesExpiredEntriesDialog&000000Q0ng RgPR000000Expired Entries in the DatabaseExpiredEntriesDialog0000GroupExpiredEntriesDialog0000TitleExpiredEntriesDialog 0000T UsernameExpiredEntriesDialog0Y0y0f0n0000 (*) All Files (*)Export_KeePassX_Xml"KeePassX XML 0000KeePassX XML FileExport_KeePassX_Xml XML 0000 (*.xml)XML Files (*.xml)Export_KeePassX_Xml0Y0y0f0n0000 (*) All Files (*) Export_Txt0000 0000 Text File Export_Txt"0000 0000 (*.txt)Text Files (*.txt) Export_Txt0000000LY1eW0W0~0W0_ Export Failed ExporterBase00000n000000...Export File... ExporterBaseT}v0j0000Lvzu0W0~0W0_0A fatal error occurred. FileErrors0000000Lvzu0W0~0W0_0A timeout occurred. FileErrors000000K00n0S0N-0k0000Lvzu0W0~0W0_0.An error occurred while reading from the file. FileErrors.00000x0nf0M0N-0k0000Lvzu0W0~0W0_0,An error occurred while writing to the file. FileErrors 0000 0000Lvzu0W0~0W0_0An resource error occurred. FileErrors Ng0W0j0D0000Lvzu0W0~0W0_0An unspecified error occurred. FileErrors0000Lvzu0W0~0[00g0W0_0No error occurred. FileErrors$00000o00000g0M0~0[00g0W0_0The file could not be accessed. FileErrors"00000o0000g0M0~0[00g0W0_0The file could not be copied. FileErrors00000o0Q0~0[00g0W0_0The file could not be opened. FileErrors 00000oRJd0g0M0~0[00g0W0_0The file could not be removed. FileErrors&00000oT RM0Y f0g0M0~0[00g0W0_0The file could not be renamed. FileErrors(00000o0000Y f0g0M0~0[00g0W0_0The file could not be resized. FileErrorsdO\0oN-kb0U00~0W0_0The operation was aborted. FileErrors&00000nOMn0oY f0g0M0~0[00g0W0_0.The position in the file could not be changed. FileErrors\e[W(&L)&Lower LettersGenPwDlg0000(&M)&MinusGenPwDlg ep[W(&N)&NumbersGenPwDlgryke[W(&S)&Special CharactersGenPwDlg N }(&U) &UnderlineGenPwDlgY'e[W(&U)&Upper LettersGenPwDlg zzv}(&W) &White SpacesGenPwDlg(SΖ0o 1 000000B0_0 1 V0n0Collect only once per sessionGenPwDlg0000CustomGenPwDlg0000000nSΖ0g R0k0Y0Enable entropy collectionGenPwDlg.Ou(0Y000000ne[W0L_0ZT+0~0000F0k0Y09Ensure that password contains characters from every groupGenPwDlg00OO<0_e[W0dY0Y0Exclude look-alike charactersGenPwDlgubGenerateGenPwDlgw0U:Length:GenPwDlg\e[W Lower LettersGenPwDlge0W0D00000: New Password:GenPwDlgep[WNumbersGenPwDlg 00000OptionsGenPwDlg00000ubPassword GeneratorGenPwDlgvz0g0M0e[W PronounceableGenPwDlgT:Quality:GenPwDlg0000RandomGenPwDlgryke[WSpecial CharactersGenPwDlgY'e[W Upper LettersGenPwDlgNN 0ne[W00000Ou(0Y0:Use following character groups:GenPwDlgNN 0ne[W0Ou(0Y0:Use the following characters:GenPwDlg gR0n000 First PageHelpDlg000 Help ContentsHelpDlg k!0n000 Next PageHelpDlg RM0n000 Previous PageHelpDlg0Y0y0f0n0000 (*) All Files (*)Import_KWalletXml"0000000L0000T+00~0[00Document does not contain data.Import_KWalletXml000000LY1eW0W0~0W0_ Import FailedImport_KWalletXmlFN kc0j XML 0000g0Y (s}00o stdout 00T0O0`0U0D)0*Invalid XML data (see stdout for details).Import_KWalletXmlN kc0j XML 0000g0Y0Invalid XML file.Import_KWalletXml XML 0000 (*.xml)XML Files (*.xml)Import_KWalletXml0Y0y0f0n0000 (*) All Files (*)Import_KeePassX_Xml000000LY1eW0W0~0W0_ Import FailedImport_KeePassX_Xml0KeePass XML 0000 (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlVieg000: 00000og R0j KeePassX XML 00000g0o0B00~0[002Parsing error: File is no valid KeePassX XML file.Import_KeePassX_Xml8L %1 R %2 0g0n XML ieg000: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml0Y0y0f0n0000 (*) All Files (*)Import_PwManager*W'~.00000o0~0`00000U00f0D0~0[00'Compressed files are not supported yet.Import_PwManager@00000od [0S0Q0f0D0~0Y (00000000LY1eW0W0~0W0_)0#File is damaged (hash test failed).Import_PwManager00000ozz0g0Y0File is empty.Import_PwManager>00000og R0j PwManager 00000g0o0B00~0[00 File is no valid PwManager file.Import_PwManager000000LY1eW0W0~0W0_ Import FailedImport_PwManagerFN kc0j XML 0000g0Y (s}00o stdout 00T0O0`0U0D)0*Invalid XML data (see stdout for details).Import_PwManager,PwManager 0000 (*.pwm)PwManager Files (*.pwm)Import_PwManager$g*00000nfSS0000000g0Y0!Unsupported encryption algorithm.Import_PwManager$g*00000n0000000000g0Y0Unsupported file version.Import_PwManager&g*00000n00000000000g0Y0Unsupported hash algorithm.Import_PwManagerU0c0_000000g0Y0Wrong password.Import_PwManager000000LY1eW0W0~0W0_ Import Failed ImporterBase00000n00000...Import File... ImporterBase000000Q0~0[00g0W0_0Could not open file. Kdb3DatabaseJ_SS0LY1eW0W0~0W0_0 000LU0c0f0D00K00000Ld [0S0Q0f0D0~0Y0;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseR00000000LY1eW0W0~0W0_0 000LU0c0f0D00K00000Ld [0S0Q0f0D0~0Y0:Hash test failed. The key is wrong or the file is damaged. Kdb3DatabaseN kc0j00000000g0Y0Invalid group tree. Kdb3Database0000000ozz0g0Y0Key file is empty. Kdb3Database*0000000o0S0\u(0g0K00~0W0_0'The database has been opened read-only. Kdb3Database@0000000o\0j0O0h0 1 0d0n00000T+0_ʼn0L0B00~0Y0-The database must contain at least one group. Kdb3Database6twofish 0000000RgS0g0M0~0[00g0W0_0+Unable to initialize the twofish algorithm. Kdb3Database,Ng0W0j0D000: 000000o{VY0g0Y0)Unexpected error: Offset is out of range. Kdb3Database^Ng0W0j0D00000000g0Y (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseN f0jfSS0000000g0Y0Unknown Encryption Algorithm. Kdb3DatabaseN f0jfSS0000000g0Y0Unknown encryption algorithm. Kdb3Database$g*00000n0000000000g0Y0Unsupported File Version. Kdb3Database U0c0_rT Wrong Signature Kdb3Database000BytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandlexb0U00_0000000~0_0o0000000o0S00g0M0~0[003The selected key file or directory is not readable.PasswordDialogSqg(&B)... &Browse... PasswordDlgb;0Back PasswordDlg0000000QeR0Y00K0000000xb0W0~0Y0*Enter a Password and/or choose a key file. PasswordDlg0000000nub...Generate Key File... PasswordDlg00Key PasswordDlg000000: Key File: PasswordDlgg_0n0000 Last File PasswordDlg 00000: Password: PasswordDlg000000LN0W0~0[00Passwords are not equal. PasswordDlg&00000000FN^QeR0W0f0O0`0U0D:Please repeat your password: PasswordDlgi}"Search SearchDialog Y'e[W0h\e[W0S:R%0Y0(&C)&Case Sensitive Search_Dlg0000(&T)&Titles Search_Dlg0000T (&U) &Usernames Search_Dlg00000(&N)A&nhang Search_Dlg0000(&O) C&omments Search_Dlg 0000000T+00 (Q^0v)Include Subgroups (recursive) Search_Dlg i}"[a:Include: Search_Dlg00000(&W) Pass&words Search_Dlgkchs(&X)Regular E&xpression Search_Dlgi}"0Y0e[WR: Search For: Search_Dlg i}"... Search... Search_DlgURL(&R)U&RLs Search_Dlg00000nxbIcon Selection SelectIconDlgs}0-[AdvancedSettingsDialogNRn0M0nforAlternating Row ColorsSettingsDialog*000000h00000nRJdRM0k^80kx0Y0,Always ask before deleting entries or groupsSettingsDialogY AppearanceSettingsDialogO\:Author:SettingsDialogRQeR0n_etAuto-Type Fine TuningSettingsDialog(Y f0Y00T0h0k0000000RO[X0Y0.Automatically save database after every changeSettingsDialogF00000000X0_0h0M0h000000000000W0_0h0M0kRO[X0Y09Automatically save database on exit and workspace lockingSettingsDialog 0000nr Banner ColorSettingsDialog 000000 BookmarksSettingsDialogSqgBrowseSettingsDialog Sqg... Browse...SettingsDialogY f(&H)... C&hange...SettingsDialog Y f... Change...SettingsDialogN0Y0P\ekt0000Clear History NowSettingsDialog000000000000Y0:Clear clipboard after:SettingsDialogr 1:Color 1:SettingsDialogr 2:Color 2:SettingsDialog ib... Configure...SettingsDialog000000000000Custom Browser CommandSettingsDialog(000000ns}0hy:0n000000...Customize Entry Detail View...SettingsDialog [00000000] 00000Database Key DialogSettingsDialogr2 0d0n000000n000000000n0nE^0g0Y0RQeR0L00000ke[W000000Y0X4T0o0S00N 0R0~0Y0dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogL"backup" 00000n000000k!0neep0L}LN_0kRv0kRJd0Y0:!Delete backup entries older than:SettingsDialog0Y0y0f0n00000b0us0Do not expand any itemSettingsDialog [000000n}] 00000Edit Entry DialogSettingsDialog0000000h0]000n}v[000K0rz0W0_g_0k0K00_00000Ou(0W0_0DX4T0o0S00g R0k0W0~0Y00S00ory0k000000k KeePassX 0Ou(0W0]0n0_0000000000n000000000nY f0L0B00h0M0kg u(0g0Y0Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog0Y0y0f0n00000\U0Y0Expand all itemsSettingsDialog N, (1) General (1)SettingsDialog N, (2) General (2)SettingsDialog(000000jRQeR000000000:Global Auto-Type Shortcut:SettingsDialog0Gnome 000000}qT (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialogwRfB0n0000000:Group tree at start-up:SettingsDialogKDE 4 000000}qTKDE 4 Desktop IntegrationSettingsDialog00000000nE^:Key Stroke Delay:SettingsDialogLanguageSettingsDialog: Language:SettingsDialog0k!0nfB0L}LN0W0_0Rv0k0000000000!Lock database after inactivity ofSettingsDialog6000000000ng\SfB0k000000000000Y0.Lock workspace when minimizing the main windowSettingsDialog0000000: Media Root:SettingsDialog&000000nN000k0000xg\S0Y0#Minimize to tray instead of taskbarSettingsDialog@000000000n0X0000000000W0_00000xg\S0Y0=Minimize to tray when clicking the main window's close buttonSettingsDialog0j0WNoneSettingsDialog 00000Plug-InsSettingsDialog000000:Pre-Gap:SettingsDialog g_0n000nz.^0hX4b@0a0Y0#Remember last key type and locationSettingsDialog g_0k0K00_00000a0Y0Remember last opened fileSettingsDialogg_0nraK0_QC0Y0Restore last stateSettingsDialogH000000Y f0W0_0h0M0o "Backup" 00000k0000000Y08Save backups of modified entries into the 'Backup' groupSettingsDialog60000000000gg_0k0D0_0000000a0Y0'Save recent directories of file dialogsSettingsDialog6v[00 (0000000hg_0n0000) 0O[X0Y0-Save relative paths (bookmarks and last file)SettingsDialog 000000SecuritySettingsDialog-[SettingsSettingsDialog000000000ghy:0Y0:Show plain text passwords in:SettingsDialog 000000000000hy:0Y0Show system tray iconSettingsDialog000000^80kRMb0khy:0Y0Show window always on topSettingsDialogwRfB0k0000Y0 Start lockedSettingsDialogwRfB0kg\S0Y0Start minimizedSettingsDialog00000nr: Text Color:SettingsDialogXCD 0000000000n00F0j0000000000L^800000U000000000g0Y0TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogZ00000k00RQeR0n00000S0hgR0n000000n000000000n0nfB0g0Y0bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogH000000jRQeR0n000000x0nN0k000000n00000Ou(0Y0;Use entries' title to match the window for Global Auto-TypeSettingsDialogv00000000000000000k}c0Y00o_ʼn0k_0X0f0S0S0g KeePassX 0n0D0O0d0K0nj_0q!R0k0g0M0~0Y0sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialog:Y f0iu(0Y00_00k000000QwR0Y0_ʼn0L0B00~0Y0?You need to restart the program before the changes take effect.SettingsDialoge_daysSettingsDialog00ymsSettingsDialogy_secondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget000000QeR0W0~0YEnter your PasswordSimplePasswordDialog 00000: Password:SimplePasswordDialog&RQeR: [a000000xb0W0~0YAuto-Type: Select Target WindowTargetWindowDlg[a000000ry[0Y00_00k0sW(0D0f0D000000000000000000K0xb0Y00K00000000000QeR0W0f0O0`0U0D:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlgeg, (eg,)$LANGUAGE_NAME Translation&Nardog, Koji Tanaka$TRANSLATION_AUTHOR TranslationZhttp://nardog.takoweb.com, http://tenkoma.net$TRANSLATION_AUTHOR_EMAIL TranslationJ<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">00000000o0000U00f0D0~0Y0</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget00000000X0Close DatabaseWorkspaceLockedWidget0000FormWorkspaceLockedWidget 000dUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/qt_tr.qm0000664000175000017500000021241011342454754017550 0ustar felixfelix+z+++p++z+V+g+>+I+x++į+įp+į++; G3Hw9Hw93I)WIJ+J6J6,J64NJ68J6xPJ6zYJ6J6fKBvLZLL,LbM59RO|,CPFEYPFEyPFETU?^oU|1V1VCWqWTWTX6gX5X˙6XYEZg\]4\]4À\#ath|^zv2v:fQIA[6Iɵn-^ɵn]{ɵnc ɵnrɵnyɵnVɵnɵn$T2 BMWEh<5%UT*4lCCe D"ND1O+MaR??)fP loR'0w^|kWҍ2z 2ٵ.:"R, dgVij8urd9 "l)&-Q/=N1$ 5~M< g?N]`/`"{JBa)e6wx6_^QJpuͥ=|x~.9E"Ef{z8AAOL:/mt8_Mw;M%EL3EUw)wS&)*/e5;SF2'OWZfϜ`vcփfjCGHq]u(li~ $!$)(^ nJ,_Y,sA&H^.h/^wIxS)R>^YMLYMUh^i"ssc}wLdۊ,N)]]*IIIJI4I'IIIYi<y|<|<|I<|uDPuDXDo,,q9,`,,(ɘe55$ fR fRDN"DcPqSgV5VӷfR>AY d%C/?"sKN3MR}]\]b0kpy^FE=xG%JصǥـL+vt>%)5!ƨsƨ˾bҝz iJէ?Z>f ~bDR~bHo C!`+3/(6 DGKGbGLAȔPѧ4SnUfUEZiZZZ[B]k*D^ne <iPiXskQoNy;r{O}u}w6}w}w3tftttc.t.RPDrt$tVtD?_ FuIʢ0Aʢ5d0dudddu59`&ƥUBw=l< `+Y2:6R(CU]DK U|arUt G}wZ}$}$}$SZK<5/WnEJ^u%5HTai~%.5kErXU C$bDnbGhgAai$Ex1 3z*2dU5z;2҉kmK^nGC7mʴ5wʴ5׾Ԅ?DdF5(F5xYIIChAs( 0 }$vb qeT ڤ~ Et8 E Ac 9 AcE 35y K!?@7 bb b` b` i3!F la{z xq | t tEi .  ;h w >  c t K %'ї  < =6  ) */ 7uc ;m =J Rۮb T^X ] `] ` c( dŰ e R eC f1N3 gn k, rD"W t & ˔I P# P& N V 68 :* f  f ? 4_ sz sB AAR 4 m, #-t 0N' A L$ LՄ Mc\7 Sac Ve, ]$. io>F m`p w yr2y H H> & $A .@ ' D qc J JB@  t.q k1 Ӈ z N>k ̺J' -DK .o k k/ U)X < 0  P5  W T xH[ .*U 7F_ >S# >S >T >[r >f >o >2 >> DT I) RVF= RVԌ RV S.? S Y+ [ j7o=@ p* . Bc < T- Tr T T d / )d .. .] .sF . . .. a y ҂H z  t a :bY  r +>+ 0E ;ɾH PtyL Pt fe feo iFC iC i n1 u uh w wi w w} w}¤ w} |[ MV VL ^{ }nb X &! D t5x t5ؔ y 1 )V %T%0Ӄ֠gT%*$N*շ/E/=Bh1I_Y[ a.5nyG*vɅ0y$^~ZSfS^1B# ݖ1 1 AcS"#$U%47%4G-v 0i)K0)1c2wTDrH"JdZL$.azc5c5yCu{~a[\AN%1 "%2" gesini silmek istediinizden emin misiniz?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog Tm Dosyalar (*) All Files (*) Q3FileDialogNitelikler Attributes Q3FileDialogGeriBack Q3FileDialog 0ptalCancel Q3FileDialog8Bir Dosya Kopyala ya da Ta_1Copy or Move a File Q3FileDialog$Yeni Dizin Olu_turCreate New Folder Q3FileDialog TarihDate Q3FileDialog%1 konumunu sil Delete %1 Q3FileDialog"Ayr1nt1l1 Grnm Detail View Q3FileDialog DizinDir Q3FileDialogDizinler Directories Q3FileDialog Dizin: Directory: Q3FileDialogHataError Q3FileDialog DosyaFile Q3FileDialogDosya &ad1: File &name: Q3FileDialogDosya &tipi: File &type: Q3FileDialogDizin BulFind Directory Q3FileDialogEri_ilemez Inaccessible Q3FileDialogListe Grnm List View Q3FileDialogKo&num: Look &in: Q3FileDialog0simName Q3FileDialogYeni Dizin New Folder Q3FileDialogYeni Dizin %1 New Folder %1 Q3FileDialogYeni Dizin 1 New Folder 1 Q3FileDialog Bir dizin yukar1One directory up Q3FileDialogAOpen Q3FileDialog,Dosya 0eriini nizlePreview File Contents Q3FileDialog,Dosya Bilgisini nizlePreview File Info Q3FileDialogY&eniden YkleR&eload Q3FileDialogSalt-okunur Read-only Q3FileDialogOku-yaz Read-write Q3FileDialogOku: %1Read: %1 Q3FileDialogFarkl1 KaydetSave As Q3FileDialog.Gizli &dosyalar1 gsterShow &hidden files Q3FileDialog BoyutSize Q3FileDialog S1ralaSort Q3FileDialog&Ta&rihe Gre S1rala Sort by &Date Q3FileDialog"0s&me Gre S1rala Sort by &Name Q3FileDialog&B&oyuta Gre S1rala Sort by &Size Q3FileDialogzelSpecial Q3FileDialog0Dizine sembolik balant1Symlink to Directory Q3FileDialog2Dosyaya sembolik balant1Symlink to File Q3FileDialog:zel konuma sembolik balant1Symlink to Special Q3FileDialogTipType Q3FileDialogSadece-yaz Write-only Q3FileDialogYaz: %1 Write: %1 Q3FileDialog dizin the directory Q3FileDialog dosyathe file Q3FileDialog"sembolik balant1 the symlink Q3FileDialog.Dizin olu_turulamad1 %1Could not create directory %1 Q3LocalFsA1lamad1 %1Could not open %1 Q3LocalFs$Dizin okunamad1 %1Could not read directory %1 Q3LocalFs&Dizin silinemedi %1%Could not remove file or directory %1 Q3LocalFs:Yeniden adland1r1lamad1 %1 %2Could not rename %1 to %2 Q3LocalFsYaz1lamad1 %1Could not write %1 Q3LocalFszelle_tir... Customize... Q3MainWindowDizLine up Q3MainWindowJ0_lem kullan1c1 taraf1ndan durdurulduOperation stopped by the userQ3NetworkProtocol 0ptalCancelQ3ProgressDialog UygulaApply Q3TabDialog 0ptalCancel Q3TabDialogntan1ml1larDefaults Q3TabDialog Yard1mHelp Q3TabDialog TAMAMOK Q3TabDialog&Kopyala&Copy Q3TextEdit&Yap1_t1r&Paste Q3TextEdit&Yinele&Redo Q3TextEdit&Geri Al&Undo Q3TextEditTemizleClear Q3TextEditK&esCu&t Q3TextEditTmn Se Select All Q3TextEdit KapatClose Q3TitleBar"Pencereyi kapat1rCloses the window Q3TitleBarxPencereyi durumunu dei_tirmek iin gereken komutlar1 ierir*Contains commands to manipulate the window Q3TitleBarPencerenin ad1n1 gsterir ve pencereyi dei_tirebilecek kontrolleri ierirFDisplays the name of the window and contains controls to manipulate it Q3TitleBar2Pencereyi tam ekran yaparMakes the window full screen Q3TitleBar BytMaximize Q3TitleBar KltMinimize Q3TitleBarPencereyi ta_1rMoves the window out of the way Q3TitleBar\Bytlm_ bir pencereyi nceki haline getirir&Puts a maximized window back to normal Q3TitleBar^Kltlm_ bir pencereyi nceki haline getirirPuts a minimized back to normal Q3TitleBar A_a1 geri ykle Restore down Q3TitleBar"Yukar1 geri ykle Restore up Q3TitleBar SistemSystem Q3TitleBarDaha Fazlas1...More... Q3ToolBar(bilinmeyen) (unknown) Q3UrlOperator`%1' protokol dosya veya dizinleri kopyalamy1 ya da ta_1may1 desteklemiyorIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorh`%1' protokol yeni dizin olu_turmay1 desteklemiyor;The protocol `%1' does not support creating new directories Q3UrlOperator\`%1' protokol dosyalar1 almay1 desteklemiyor0The protocol `%1' does not support getting files Q3UrlOperator^`%1' protokol dizin listelemeyi desteklemiyor6The protocol `%1' does not support listing directories Q3UrlOperatorV`%1' protokol dosya koymay1 desteklemiyor0The protocol `%1' does not support putting files Q3UrlOperatort`%1' protokol dosya veya dizinleri silmeyi desteklemiyor@The protocol `%1' does not support removing files or directories Q3UrlOperator`%1' protokol dosya veya dizinleri yeniden adland1rmay1 desteklemiyor@The protocol `%1' does not support renaming files or directories Q3UrlOperator:`%1' protokol desteklenmiyor"The protocol `%1' is not supported Q3UrlOperator &0ptal&CancelQ3Wizard &Bitir&FinishQ3Wizard&Yard1m&HelpQ3Wizard&0leri >&Next >Q3Wizard< &Geri< &BackQ3Wizard&Balant1 reddedildiConnection refusedQAbstractSocket"Makine bulunamad1Host not foundQAbstractSocket"Soket bal1 deilSocket is not connectedQAbstractSocketBSoket i_leminde zamana_1m1 olu_tuSocket operation timed outQAbstractSocket&Tmn Se &Select AllQAbstractSpinBox"Bir dzey &yukar1&Step upQAbstractSpinBox Bir dzey &a_a1 Step &downQAbstractSpinBoxEtkinle_tirActivate QApplicationRUygulaman1n ana penceresini etkinle_tirir#Activates the program's main window QApplication'%1' al1_t1r1labilir dosyas1 Qt %2 gerektiriyor, sistemde Qt %3 bulundu.,Executable '%1' requires Qt %2, found Qt %3. QApplication:Uyumsuz Qt Ktphanesi Hatas1Incompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationKontrol EtCheck QCheckBoxDei_tirToggle QCheckBox0_aretlemeUncheck QCheckBox$&zel Renkler Ekle&Add to Custom Colors QColorDialog&Temel renkler &Basic colors QColorDialog&zel renkler&Custom colors QColorDialog&Ye_il:&Green: QColorDialog&K1rm1z1:&Red: QColorDialog&Doygunluk:&Sat: QColorDialog&Deer:&Val: QColorDialogA&lfa kanal1:A&lpha channel: QColorDialog Ma&vi:Bl&ue: QColorDialog T&on:Hu&e: QColorDialogRenk se Select color QColorDialog KapatClose QComboBox Yanl1_False QComboBoxAOpen QComboBox DoruTrue QComboBox<0_lem (transaction) yap1lamad1Unable to commit transaction QDB2DriverBalan1lamad1Unable to connect QDB2DriverD0_lem (transaction) geri al1namad1Unable to rollback transaction QDB2Driver<Otomatik uygulama ayarlanamad1Unable to set autocommit QDB2Driver$Dei_ken atanamad1Unable to bind variable QDB2Result*0fade al1_t1r1lamad1Unable to execute statement QDB2Result<ncelikle birinci getirilemediUnable to fetch first QDB2Result(Sonraki getirilemediUnable to fetch next QDB2Result*%1 kayd1 getirilemediUnable to fetch record %1 QDB2Result&0fade haz1rlanamad1Unable to prepare statement QDB2ResultAM QDateTimeEditSPM QDateTimeEditam QDateTimeEditspm QDateTimeEdit QDialQDialQDial,Kayd1rma ubuu Tutucu SliderHandleQDialH1z ler SpeedoMeterQDial TamamDoneQDialogBu nedir? What's This?QDialog &Hay1r&NoQDialogButtonBox &TAMAM&OKQDialogButtonBox &Evet&YesQDialogButtonBox 0ptalAbortQDialogButtonBox UygulaApplyQDialogButtonBox 0ptalCancelQDialogButtonBox KapatCloseQDialogButtonBox"Kaydetmeden KapatClose without SavingQDialogButtonBox VazgeDiscardQDialogButtonBoxKaydetme Don't SaveQDialogButtonBox Yard1mHelpQDialogButtonBox YoksayIgnoreQDialogButtonBoxTmne &Hay1r N&o to AllQDialogButtonBox TAMAMOKQDialogButtonBoxAOpenQDialogButtonBoxS1f1rlaResetQDialogButtonBox"ntan1ml1lara DnRestore DefaultsQDialogButtonBoxYeniden DeneRetryQDialogButtonBox KaydetSaveQDialogButtonBoxTmn KaydetSave AllQDialogButtonBox&Tmne Evet Yes to &AllQDialogButtonBox&Dei_tirilme Tarihi Date Modified QDirModelTipKind QDirModel0simName QDirModel BoyutSize QDirModelTipType QDirModel KapatClose QDockWidget GmlDock QDockWidget FloatFloat QDockWidgetDaha AzLessQDoubleSpinBoxDaha FazlaMoreQDoubleSpinBox &TAMAM&OK QErrorMessage2&Bu iletiyi tekrar gster&Show this message again QErrorMessage,Hata Ay1klama 0letisi:Debug Message: QErrorMessagelmcl Hata: Fatal Error: QErrorMessage Uyar1:Warning: QErrorMessage%1 Dizin bulunamad1. Ltfen verilen ismin doruluunu kontrol edin.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Dosya bulunamad1. Ltfen verilen ismin doruluunu kontrol edin.A%1 File not found. Please verify the correct file name was given. QFileDialogV%1 zaten var. zerine yazmak ister misiniz?-%1 already exists. Do you want to replace it? QFileDialogSe&&Choose QFileDialog&Sil&Delete QFileDialog&Yeni Dizin &New Folder QFileDialog&A&Open QFileDialog"&Yeniden Adland1r&Rename QFileDialog&Kaydet&Save QFileDialogh'%1' yazma korumal1. Yine de silmek istiyor musunuz?9'%1' is write protected. Do you want to delete it anyway? QFileDialog Tm Dosyalar (*) All Files (*) QFileDialogb'%1' konumunu silmek istediinizden emin misiniz?!Are sure you want to delete '%1'? QFileDialogGeriBack QFileDialog"Dizin silinemedi.Could not delete directory. QFileDialog$Yeni Dizin Olu_turCreate New Folder QFileDialog"Ayr1nt1l1 Grnm Detail View QFileDialogDizinler Directories QFileDialog Dizin: Directory: QFileDialogDisk SrcsDrive QFileDialog DosyaFile QFileDialogDosya &ad1: File &name: QFileDialogDosya tr:Files of type: QFileDialogDizin BulFind Directory QFileDialog 0leriForward QFileDialogListe Grnm List View QFileDialog Konum:Look in: QFileDialogBilgisayar1m My Computer QFileDialogYeni Dizin New Folder QFileDialogAOpen QFileDialogst DizinParent Directory QFileDialogSilRemove QFileDialogFarkl1 KaydetSave As QFileDialogGster Show  QFileDialog.Gizli &dosyalar1 gsterShow &hidden files QFileDialogBilinmeyenUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 bayt%1 bytesQFileSystemModelKk DiziniComputerQFileSystemModel&Dei_tirilme Tarihi Date ModifiedQFileSystemModel$Geersiz dosya ad1Invalid filenameQFileSystemModelTipKindQFileSystemModelBilgisayar1m My ComputerQFileSystemModel0simNameQFileSystemModel BoyutSizeQFileSystemModelTipTypeQFileSystemModel&Yaz1tipi&Font QFontDialog &Boyut&Size QFontDialog&Alt1izili &Underline QFontDialogEfektlerEffects QFontDialog Yaz1tipi B&iemi Font st&yle QFontDialog rnekSample QFontDialogYaz1tipi Se Select Font QFontDialog&zeriizili Stri&keout QFontDialogYa&zma SistemiWr&iting System QFontDialogTDizin dei_tirme i_lemi ba_ar1s1z oldu: %1Changing directory failed: %1QFtp&Makineye balan1ld1Connected to hostQFtp0%1 makinesine balan1ld1Connected to host %1QFtp@Makineye balant1 reddedildi: %1Connecting to host failed: %1QFtp$Balant1 kapat1ld1Connection closedQFtpPVeri balant1s1 iin balant1 reddedildi&Connection refused for data connectionQFtpB%1 makinesine balant1 reddedildiConnection refused to host %1QFtpP%1 makinesine yap1lan balant1 kapat1ld1Connection to %1 closedQFtpRDizin olu_turma i_lemi ba_ar1s1z oldu: %1Creating directory failed: %1QFtpNDosya indirme i_lemi ba_ar1s1z oldu: %1Downloading file failed: %1QFtp&%1 makinesi bulundu Host %1 foundQFtp,%1 makinesi bulunamad1Host %1 not foundQFtpMakine bulundu Host foundQFtpRDizin listeleme i_lemi ba_ar1s1z oldu: %1Listing directory failed: %1QFtp&Giri_ ba_ar1s1z: %1Login failed: %1QFtpBal1 deil Not connectedQFtpJDizin silme i_lemi ba_ar1s1z oldu: %1Removing directory failed: %1QFtpJDosya silme i_lemi ba_ar1s1z oldu: %1Removing file failed: %1QFtpBilinmeyen hata Unknown errorQFtpPDosya gnderme i_lemi ba_ar1s1z oldu: %1Uploading file failed: %1QFtpBilinmeyen hata Unknown error QHostInfo"Makine bulunamad1Host not foundQHostInfoAgent*Bilinmeyen adres tipiUnknown address typeQHostInfoAgentBilinmeyen hata Unknown errorQHostInfoAgent8Kimlik dorulamas1 gerekiyorAuthentication requiredQHttp&Makineye balan1ld1Connected to hostQHttp0%1 makinesine balan1ld1Connected to host %1QHttp$Balant1 kapat1ld1Connection closedQHttp&Balant1 reddedildiConnection refusedQHttpP%1 makinesine yap1lan balant1 kapat1ld1Connection to %1 closedQHttp4HTTP istei ba_ar1s1z olduHTTP request failedQHttp&%1 makinesi bulundu Host %1 foundQHttp,%1 makinesi bulunamad1Host %1 not foundQHttpMakine bulundu Host foundQHttp6Geersiz HTTP y11n gvdesiInvalid HTTP chunked bodyQHttp6Geersiz HTTP yan1t ba_l11Invalid HTTP response headerQHttp@Balan1lacak sunucu ayarlanmam1_No server set to connect toQHttpXVekil sunucu kimlik dorulamas1 gerektiriyorProxy authentication requiredQHttp$0stek iptal edildiRequest abortedQHttpZSunucu balant1y1 beklenmedik _ekilde kapatt1%Server closed connection unexpectedlyQHttpBilinmeyen hata Unknown errorQHttp,Yanl1_ ierik uzunluuWrong content lengthQHttp8Kimlik dorulamas1 gerekiyorAuthentication requiredQHttpSocketEngineB0_lem (transaction) ba_lat1lamad1Could not start transaction QIBaseDriver@Veritaban1 a1l1rken hata olu_tuError opening database QIBaseDriver<0_lem (transaction) yap1lamad1Unable to commit transaction QIBaseDriverD0_lem (transaction) geri al1namad1Unable to rollback transaction QIBaseDriver,0fade yerle_tirilemediCould not allocate statement QIBaseResult6Girdi ifadesi tan1mlanamad1"Could not describe input statement QIBaseResult&0fade tan1mlanamad1Could not describe statement QIBaseResult0Sonraki ge getirilemediCould not fetch next item QIBaseResult.Dizi (array) bulunamad1Could not find array QIBaseResult:Dizi (array) verisi al1namad1Could not get array data QIBaseResult.Sorgu bilgisi al1namad1Could not get query info QIBaseResult.0fade bilgisi al1namad1Could not get statement info QIBaseResult&0fade haz1rlanamad1Could not prepare statement QIBaseResultB0_lem (transaction) ba_lat1lamad1Could not start transaction QIBaseResult$0fade kapat1lamad1Unable to close statement QIBaseResult<0_lem (transaction) yap1lamad1Unable to commit transaction QIBaseResult&BLOB olu_turulamad1Unable to create BLOB QIBaseResult Sorgu yap1lamad1Unable to execute query QIBaseResultBLOB a1lamad1Unable to open BLOB QIBaseResultBLOB okunamad1Unable to read BLOB QIBaseResultBLOB yaz1lamad1Unable to write BLOB QIBaseResult2Disk srcde yer kalmad1No space left on device QIODevice>Byle bir dosya ya da dizin yokNo such file or directory QIODevice0zin verilmediPermission denied QIODevice(ok fazla a1k dosyaToo many open files QIODeviceBilinmeyen hata Unknown error QIODevice*Mac OS X girdi metoduMac OS X input method QInputContext(Windows girdi metoduWindows input method QInputContextXIMXIM QInputContext XIM girdi metoduXIM input method QInputContext.mmap ba_ar1s1z '%1': %2Could not mmap '%1': %2QLibrary0unmap ba_ar1s1z '%1': %2Could not unmap '%1': %2QLibraryh'%1' ierisindeki eklenti dorulama verisi uyu_muyor)Plugin verification data mismatch in '%1'QLibraryNQLibrary::load_sys: %1 (%2) yklenemedi'QLibrary::load_sys: Cannot load %1 (%2)QLibraryQLibrary::resolve_sys: Symbol "%1" %2 (%3) ierisinde tan1mlanmam1_7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibraryVQLibrary::unload_sys: %1 (%2) kald1r1lamad1+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryH'%1' geerli bir Qt eklentisi deil.'The file '%1' is not a valid Qt plugin.QLibrary'%1' eklentisi uyumsuz Qt ktphanesi kullan1yor. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibrary'%1' eklentisi uyumsuz Qt ktphanesi kullan1yor. (Hata ay1klama ve uygulama ktphaneleri kar1_1k olamaz.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibrary'%1' eklentisi uyumsuz bir Qt kitapl11 kullan1yor. Beklenen in_a anahtar1 "%2", al1nan "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibrary6Ortak ktphane bulunamad1.!The shared library was not found.QLibraryBilinmeyen hata Unknown errorQLibrary&Kopyala&Copy QLineEdit&Yap1_t1r&Paste QLineEdit&Yinele&Redo QLineEdit&Geri Al&Undo QLineEditK&esCu&t QLineEditSilDelete QLineEditTmn Se Select All QLineEdit@0_leme (transaction) ba_lanamad1Unable to begin transaction QMYSQLDriver<0_lem (transaction) yap1lamad1Unable to commit transaction QMYSQLDriverBalan1lamad1Unable to connect QMYSQLDriver,Veritaban1 a1lamad1 'Unable to open database ' QMYSQLDriverD0_lem (transaction) geri al1namad1Unable to rollback transaction QMYSQLDriver6Otomatik deerler atanamad1Unable to bind outvalues QMYSQLResultDeer atanamad1Unable to bind value QMYSQLResult Sorgu yap1lamad1Unable to execute query QMYSQLResult*0fade al1_t1r1lamad1Unable to execute statement QMYSQLResult"Veri getirilemediUnable to fetch data QMYSQLResult&0fade haz1rlanamad1Unable to prepare statement QMYSQLResult&0fade s1f1rlanamad1Unable to reset statement QMYSQLResult&Sonu kaydedilemediUnable to store result QMYSQLResult:0fade sonular1 kaydedilemedi!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow &Kapat&Close QMdiSubWindow &Ta_1&Move QMdiSubWindow&Geri Ykle&Restore QMdiSubWindow &Boyut&Size QMdiSubWindow KapatClose QMdiSubWindow Yard1mHelp QMdiSubWindow B&yt Ma&ximize QMdiSubWindow BytMaximize QMdiSubWindowMenMenu QMdiSubWindow&Klt Mi&nimize QMdiSubWindow KltMinimize QMdiSubWindow$A_a1ya Geri Ykle Restore Down QMdiSubWindow&Herzaman stte Stay on &Top QMdiSubWindow KapatCloseQMenual1_t1rExecuteQMenuAOpenQMenu^<p>Bu uygulama Qt %1 srm kullanmaktad1r.</p>'

This program uses Qt version %1.

 QMessageBoxQt Hakk1ndaAbout Qt QMessageBox Yard1mHelp QMessageBox(Ayr1nt1lar1 Gizle...Hide Details... QMessageBox TAMAMOK QMessageBox*Ayr1nt1lar1 Gster...Show Details... QMessageBoxoklu Girdi Se Select IMQMultiInputContext2oklu girdi metodu seiciMultiple input method switcherQMultiInputContextPluginoklu girdi metodu seici metin parac1klar1 genel mensn kullan1rMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginfAyn1 port zerinde zaten ba_ka bir soket dinleniyor4Another socket is already listening on the same portQNativeSocketEngineIPv6 destei olmayan bir platformda IPv6 soketi kullan1lmaya al1_1ld1=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine&Balant1 reddedildiConnection refusedQNativeSocketEngine*Balant1da zamana_1m1Connection timed outQNativeSocketEngineHVeri paketi gndermek iin ok bykDatagram was too large to sendQNativeSocketEngine2Makine eri_ilemez durumdaHost unreachableQNativeSocketEngine4Geersiz soket tan1mlay1c1Invalid socket descriptorQNativeSocketEngineA hatas1 Network errorQNativeSocketEngine.A i_leminde zamana_1m1Network operation timed outQNativeSocketEngine*A eri_ilemez durumdaNetwork unreachableQNativeSocketEngineSoketsiz i_lemOperation on non-socketQNativeSocketEngineYetersiz kaynakOut of resourcesQNativeSocketEngine0zin verilmediPermission deniedQNativeSocketEngine8Protokol tipi desteklenmiyorProtocol type not supportedQNativeSocketEngine0Adres eri_ilebilir deilThe address is not availableQNativeSocketEngineAdres korumal1The address is protectedQNativeSocketEngineJBalan1lacak adres zaten kullan1l1yor#The bound address is already in useQNativeSocketEngine<Uzak makine balant1y1 kapatt1%The remote host closed the connectionQNativeSocketEngine4Yay1n soketi ba_lat1lamad1%Unable to initialize broadcast socketQNativeSocketEngine<T1kanmas1z soket ba_lat1lamad1(Unable to initialize non-blocking socketQNativeSocketEngine&Bir ileti al1namad1Unable to receive a messageQNativeSocketEngine.Bir ileti gnderilemediUnable to send a messageQNativeSocketEngineYaz1lamad1Unable to writeQNativeSocketEngineBilinmeyen hata Unknown errorQNativeSocketEngine6Desteklenmeyen soket i_lemiUnsupported socket operationQNativeSocketEngine@0_leme (transaction) ba_lanamad1Unable to begin transaction QOCIDriver<0_lem (transaction) yap1lamad1Unable to commit transaction QOCIDriverBa_lat1lamad1Unable to initialize QOCIDriverGirilemediUnable to logon QOCIDriverD0_lem (transaction) geri al1namad1Unable to rollback transaction QOCIDriver,0fade yerle_tirilemediUnable to alloc statement QOCIResultJToplu al1_t1rma iin stun atanamad1'Unable to bind column for batch execute QOCIResultDeer atanamad1Unable to bind value QOCIResult6Toplu ifade al1_t1r1lamad1!Unable to execute batch statement QOCIResult<Select ifadesi al1_t1r1lamad1"Unable to execute select statement QOCIResult*0fade al1_t1r1lamad1Unable to execute statement QOCIResult(Sonrakine gidilemediUnable to goto next QOCIResult&0fade haz1rlanamad1Unable to prepare statement QOCIResult<0_lem (transaction) yap1lamad1Unable to commit transaction QODBCDriverBalan1lamad1Unable to connect QODBCDriverlBalan1lamad1 - Src gereken i_levleri desteklemiyorCUnable to connect - Driver doesn't support all needed functionality QODBCDriverHOtomatik uygulama pasifle_tirilemediUnable to disable autocommit QODBCDriverHOtomatik uygulama etkinle_tirilemediUnable to enable autocommit QODBCDriverD0_lem (transaction) geri al1namad1Unable to rollback transaction QODBCDriverQODBCResult::reset: 'SQL_CURSOR_STATIC' sorgu nitelii olarak ayarlanamad1. Ltfen ODBC src yap1land1rman1z1 kontrol edinyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult$Dei_ken atanamad1Unable to bind variable QODBCResult*0fade al1_t1r1lamad1Unable to execute statement QODBCResult<ncelikle birinci getirilemediUnable to fetch first QODBCResult(Sonraki getirilemediUnable to fetch next QODBCResult&0fade haz1rlanamad1Unable to prepare statement QODBCResult0simNameQPPDOptionsModel DeerValueQPPDOptionsModel@0_leme (transaction) ba_lanamad1Could not begin transaction QPSQLDriver<0_lem (transaction) yap1lamad1Could not commit transaction QPSQLDriverD0_lem (transaction) geri al1namad1Could not rollback transaction QPSQLDriverBalan1lamad1Unable to connect QPSQLDriver(Sorgu olu_turulamad1Unable to create query QPSQLResult&0fade haz1rlanamad1Unable to prepare statement QPSQLResult Yatay LandscapeQPageSetupWidgetSayfa boyutu: Page size:QPageSetupWidgetSayfa kayna1: Paper source:QPageSetupWidget DikeyPortraitQPageSetupWidget&Eklenti yklenmedi.The plugin was not loaded. QPluginLoaderBilinmeyen hata Unknown error QPluginLoaderV%1 zaten var. zerine yazmak ister misiniz?/%1 already exists. Do you want to overwrite it? QPrintDialog^%1 bir dizin. Ltfen ba_ka bir dosya ad1 sein.7%1 is a directory. Please choose a different file name. QPrintDialogTakma adlar: %1 Aliases: %1 QPrintDialog~%1 dosyas1 yaz1labilir deil. Ltfen ba_ka bir dosya ad1 sein.=File %1 is not writable. Please choose a different file name. QPrintDialog"Dosyaya Yazd1r...Print To File ... QPrintDialog$yerel olarak bal1locally connected QPrintDialogUnbekanntunknown QPrintDialog KapatCloseQPrintPreviewDialog Yatay LandscapeQPrintPreviewDialog DikeyPortraitQPrintPreviewDialog Yazd1rPrintQPrintPreviewDialogHarmanlaCollateQPrintSettingsOutput KopyaCopiesQPrintSettingsOutputSeeneklerOptionsQPrintSettingsOutputBu sayfadan Pages fromQPrintSettingsOutputTmn yazd1r Print allQPrintSettingsOutputYazd1rma oran1 Print rangeQPrintSettingsOutput Seim SelectionQPrintSettingsOutputbu sayfayatoQPrintSettingsOutput Yaz1c1Printer QPrintWidget 0ptalCancelQProgressDialogAOpen QPushButtonKontrol EtCheck QRadioButton>kt karakter s1n1f1 sz dizimibad char class syntaxQRegExp:ileriye dnk kt sz dizimibad lookahead syntaxQRegExp4kt tekrarlama sz dizimibad repetition syntaxQRegExpFpasifle_tirilmi_ zellik kullan1ld1disabled feature usedQRegExp.geersiz sekizlik deerinvalid octal valueQRegExp$i limite ula_1ld1met internal limitQRegExphata yokno error occurredQRegExp"beklenmeyen biti_unexpected endQRegExp,Veritaban1 ama hatas1Error to open databaseQSQLite2Driver@0_leme (transaction) ba_lanamad1Unable to begin transactionQSQLite2Driver<0_lem (transaction) yap1lamad1Unable to commit transactionQSQLite2DriverD0_lem (transaction) geri al1namad1Unable to rollback TransactionQSQLite2Driver*0fade al1_t1r1lamad1Unable to execute statementQSQLite2Result&Sonular e_lenemediUnable to fetch resultsQSQLite2Result2Veritaban1 kapatma hatas1Error closing database QSQLiteDriver@Veritaban1 a1l1rken hata olu_tuError opening database QSQLiteDriver@0_leme (transaction) ba_lanamad1Unable to begin transaction QSQLiteDriver<0_lem (transaction) yap1lamad1Unable to commit transaction QSQLiteDriverD0_lem (transaction) geri al1namad1Unable to rollback transaction QSQLiteDriver2Parametre say1s1 tutmuyorParameter count mismatch QSQLiteResult,Parametreler atanamad1Unable to bind parameters QSQLiteResult*0fade al1_t1r1lamad1Unable to execute statement QSQLiteResult$Sat1r getirilemediUnable to fetch row QSQLiteResult&0fade s1f1rlanamad1Unable to reset statement QSQLiteResultEn A_a1Bottom QScrollBarSol glge Left edge QScrollBarSat1r a_a1 Line down QScrollBarDizLine up QScrollBarSayfa a_a1 Page down QScrollBarSayfa sola Page left QScrollBarSayfa saa Page right QScrollBarSayfa yukar1Page up QScrollBar KonumPosition QScrollBarSa glge Right edge QScrollBarA_a1 kayd1r Scroll down QScrollBarBuraya kayd1r Scroll here QScrollBarSola kayd1r Scroll left QScrollBarSaa kayd1r Scroll right QScrollBarYukar1 kayd1r Scroll up QScrollBarEn Yukar1Top QScrollBar++ QShortcutGeriBack QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcutBas1 Glendir Bass Boost QShortcutBas1 Alalt Bass Down QShortcutBas1 YkseltBass Up QShortcutAraCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutBalam1Context1 QShortcutBalam2Context2 QShortcutBalam3Context3 QShortcutBalam4Context4 QShortcutDelDel QShortcutSilDelete QShortcut A_a1Down QShortcut BitirEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutYer 0mleri Favorites QShortcut evirFlip QShortcut 0leriForward QShortcutAHangup QShortcut Yard1mHelp QShortcutBa_lang1Home QShortcutWeb Sayfas1 Home Page QShortcutInsIns QShortcutEkleInsert QShortcutal1_t1r (0) Launch (0) QShortcutal1_t1r (1) Launch (1) QShortcutal1_t1r (2) Launch (2) QShortcutal1_t1r (3) Launch (3) QShortcutal1_t1r (4) Launch (4) QShortcutal1_t1r (5) Launch (5) QShortcutal1_t1r (6) Launch (6) QShortcutal1_t1r (7) Launch (7) QShortcutal1_t1r (8) Launch (8) QShortcutal1_t1r (9) Launch (9) QShortcutal1_t1r (A) Launch (A) QShortcutal1_t1r (B) Launch (B) QShortcutal1_t1r (C) Launch (C) QShortcutal1_t1r (D) Launch (D) QShortcutal1_t1r (E) Launch (E) QShortcutal1_t1r (F) Launch (F) QShortcut.E-posta Uygulamas1n1 A Launch Mail QShortcutokluortam A Launch Media QShortcutSolLeft QShortcut$okluortam Sonraki Media Next QShortcutokluortam al Media Play QShortcut"okluortam ncekiMedia Previous QShortcut"okluortam Kaydet Media Record QShortcutokluortam Dur Media Stop QShortcutMenMenu QShortcutMetaMeta QShortcut Hay1rNo QShortcutNum LockNum Lock QShortcutNumLockNumLock QShortcutNumber Lock Number Lock QShortcutAdres AOpen URL QShortcutSayfa A_a1 Page Down QShortcutSayfa Yukar1Page Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut Yazd1rPrint QShortcut$Ekran Grnts Al Print Screen QShortcut YenileRefresh QShortcut ReturnReturn QShortcutSaRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcutAraSearch QShortcutSeSelect QShortcut SpaceSpace QShortcut$Bekleme Kipine GeStandby QShortcutDurStop QShortcut SysReqSysReq QShortcutSistem 0steiSystem Request QShortcutTabTab QShortcutTizi Alalt Treble Down QShortcutTizi Ykselt Treble Up QShortcut Yukar1Up QShortcutSesi Ykselt Volume Down QShortcutSesi Kapat Volume Mute QShortcutSesi Alalt Volume Up QShortcutEvetYes QShortcutSayfa a_a1 Page downQSliderSayfa sola Page leftQSliderSayfa saa Page rightQSliderSayfa yukar1Page upQSlider KonumPositionQSlider.A i_leminde zamana_1m1Network operation timed outQSocks5SocketEnginejSocks sunucusuna balan1rken Socks5 zamana_1m1 hatas1/Socks5 timeout error connecting to socks serverQSocks5SocketEngineDaha AzLessQSpinBoxDaha FazlaMoreQSpinBox 0ptalCancelQSqlFDei_iklikleriniz iptal edilsin mi?Cancel your edits?QSqlDorulaConfirmQSqlSilDeleteQSql*Bu kay1t silinsin mi?Delete this record?QSqlEkleInsertQSql Hay1rNoQSqlKaydedilsin mi? Save edits?QSqlGncelleUpdateQSqlEvetYesQSqlXAnahtar olmadan bir sertifika salanamaz, %1,Cannot provide a certificate with no key, %1 QSslSocketHSSL balam1 olu_turulurken hata (%1)Error creating SSL context (%1) QSslSocket@SSL oturumu olu_turma hatas1, %1Error creating SSL session, %1 QSslSocket@SSL oturumu olu_turma hatas1: %1Error creating SSL session: %1 QSslSocketDSSL tokala_mas1 s1ras1nda hata: %1Error during SSL handshake: %1 QSslSocketHYerel sertifika yklenirken hata, %1#Error loading local certificate, %1 QSslSocketPYerel gizli anahtar yklenirken hata, %1Error loading private key, %1 QSslSocket Okuma hatas1: %1Error while reading: %1 QSslSocketLGeersiz ya da bo_ edinme listesi (%1)!Invalid or empty cipher list (%1) QSslSocket&Veri yaz1lamad1: %1Unable to write data: %1 QSslSocket$Balant1 a1lamad1Unable to open connection QTDSDriver0Veritaban1 kullan1lamad1Unable to use database QTDSDriverSola Kayd1r Scroll LeftQTabBarSaa Kayd1r Scroll RightQTabBar&Kopyala&Copy QTextControl&Yap1_t1r&Paste QTextControl&Yinele&Redo QTextControl&Geri Al&Undo QTextControl4Balant1 Konumunu Kopya&laCopy &Link Location QTextControlK&esCu&t QTextControlSilDelete QTextControlTmn Se Select All QTextControlAOpen QToolButtonBasPress QToolButton<Bu platform IPv6 desteklemiyor#This platform does not support IPv6 QUdpSocket YineleRedo QUndoGroupGeri AlUndo QUndoGroup <bo_> QUndoModel YineleRedo QUndoStackGeri AlUndo QUndoStack<Unicode kontrol karakteri ekle Insert Unicode control characterQUnicodeControlCharacterMenu4LRE Soldan-saa gml yap$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu&LRM Soldan-saa yapLRM Left-to-right markQUnicodeControlCharacterMenu4RLE Sadan-sola gml yap$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu&RLM Sadan-sola yapRLM Right-to-left markQUnicodeControlCharacterMenuGeri GitGo BackQWebPage YoksayIgnoreQWebPage Yoksay Ignore Grammar context menu itemIgnoreQWebPageS1f1rlaResetQWebPageDurStopQWebPageBilinmeyenUnknownQWebPageBu nedir? What's This?QWhatsThisAction**QWidget &Bitir&FinishQWizard&Yard1m&HelpQWizard&0leri >&Next >QWizard< &Geri< &BackQWizard 0ptalCancelQWizard GnderCommitQWizardDevam EtContinueQWizard TamamDoneQWizardGeri GitGo BackQWizard Yard1mHelpQWizard1kQuitQWizard%1 - [%2] %1 - [%2] QWorkspace &Kapat&Close QWorkspace &Ta_1&Move QWorkspace&Geri Ykle&Restore QWorkspace &Boyut&Size QWorkspaceGlgele&me&Unshade QWorkspace KapatClose QWorkspace B&yt Ma&ximize QWorkspace&Klt Mi&nimize QWorkspace KltMinimize QWorkspace$A_a1ya Geri Ykle Restore Down QWorkspaceG&lgeleSh&ade QWorkspace&Herzaman stte Stay on &Top QWorkspaceXML bildirimi okunurken kodlama bildirmi ya da ba1ms1z bildirim beklenirYencoding declaration or standalone declaration expected while reading the XML declarationQXmlpd1_ varl1k referans1n1n (entity) metin bildiriminde hata3error in the text declaration of an external entityQXmlByorum ayr1_t1r1l1rken hata olu_tu$error occurred while parsing commentQXmlD0erik ayr1_t1r1l1rken hata olu_tu$error occurred while parsing contentQXmldBelge tipi tan1mlamas1 ayr1_t1r1l1rken hata olu_tu5error occurred while parsing document type definitionQXml>ge ayr1_t1r1l1rken hata olu_tu$error occurred while parsing elementQXmlHReferans ayr1_t1r1l1rken hata olu_tu&error occurred while parsing referenceQXmlFhata tketici taraf1ndan tetiklendierror triggered by consumerQXmlDTD ierisinde ayr1_t1r1lm1_ genel d1_ varl1k referans1lar1na (entity) izin verilmez;external parsed general entity reference not allowed in DTDQXmlNitelik deeri ierisinde ayr1_t1r1lm1_ genel d1_ varl1k referans1lar1na (entity) izin verilmezGexternal parsed general entity reference not allowed in attribute valueQXmlDTD ierisinde genel i varl1k referans1lar1na (entity) izin verilmez4internal general entity reference not allowed in DTDQXml@i_leme komutu iin geersiz isim'invalid name for processing instructionQXmlharf beklenirletter is expectedQXmlFbirden fazla belge tipi tan1mlamas1&more than one document type definitionQXmlhata yokno error occurredQXmlRzyinelemeli varl1k referanslar1 (entity)recursive entitiesQXmldXML bildirimi okunurken ba1ms1z bildirim beklenirAstandalone declaration expected while reading the XML declarationQXml$etiket uyumsuzluu tag mismatchQXml(beklenmeyen karakterunexpected characterQXml,beklenmeyen dosya sonuunexpected end of fileQXmllhatal1 yerde ayr1_t1r1lmam1_ varl1k referans1 (entity)*unparsed entity reference in wrong contextQXmlLXML bildirimi okunurken srm beklenir2version expected while reading the XML declarationQXmlFba1ms1z bildirim iin hatal1 deer&wrong value for standalone declarationQXmlH%1 geerisiz bir PUBLIC tan1mlay1c1.#%1 is an invalid PUBLIC identifier. QXmlStream>%1 geersiz bir kodlama ad1d1r.%1 is an invalid encoding name. QXmlStreamD%1 geersiz bir i_leme komutu ad1.-%1 is an invalid processing instruction name. QXmlStream, al1nan ' , but got ' QXmlStream6Nitelik yeniden tan1mland1.Attribute redefined. QXmlStream6%1 kodlamas1 desteklenmiyorEncoding %1 is unsupported QXmlStreamXDoru _ekilde kodlanmam1_ ierie rastland1.(Encountered incorrectly encoded content. QXmlStreamZVarl1k referans1 (entity) '%1' bildirilmemi_.Entity '%1' not declared. QXmlStreamBeklenen  Expected  QXmlStream2Beklenen karakter verisi.Expected character data. QXmlStreamDBelge sonunda fazladan ierik var.!Extra content at end of document. QXmlStream@Geersiz isimlendirme bildirimi.Illegal namespace declaration. QXmlStream.Geersiz XML karakteri.Invalid XML character. QXmlStream"Geersiz XML ad1.Invalid XML name. QXmlStream6Geersiz XML srm ifadesi.Invalid XML version string. QXmlStreamDXML bildiriminde geersiz nitelik.%Invalid attribute in XML declaration. QXmlStream8Geersiz karakter referans1.Invalid character reference. QXmlStreamGeersiz belge.Invalid document. QXmlStreamTGeersiz varl1k referans1 (entity) deeri.Invalid entity value. QXmlStream>Geersiz bir i_leme komutu ad1.$Invalid processing instruction name. QXmlStreamrVarl1k referans1 (entity) bildirimi parametresinde NDATA.&NDATA in parameter entity declaration. QXmlStreamH0simlendirme neki '%1' bildirilmedi"Namespace prefix '%1' not declared QXmlStreamVAma etiketi ile kapatma etiketi uyu_muyor. Opening and ending tag mismatch. QXmlStream2Tamamlanmam1_ belge sonu.Premature end of document. QXmlStream^zyinelemeli varl1k referans1 (entity) bulundu.Recursive entity detected. QXmlStream '%1' d1_ varl1k referans1n1n (entity) nitelik deerine referans.5Reference to external entity '%1' in attribute value. QXmlStreamt'%1' ayr1_t1r1lmam1_ varl1k referans1na (entity) referans."Reference to unparsed entity '%1'. QXmlStream^0erik ierisinde ']]>' dizisine izin verilmez.&Sequence ']]>' not allowed in content. QXmlStreamXBa1ms1z sadece evet ya da hay1r kabul eder."Standalone accepts only yes or no. QXmlStream2Ba_lama etiketi beklenir.Start tag expected. QXmlStreamnBa1ms1z yalanc1 nitelik kodlamadan sonra belirmelidir.?The standalone pseudo attribute must appear after the encoding. QXmlStreamBeklenmeyen ' Unexpected ' QXmlStreamdA1k kimlik bilgisinde beklenmeyen '%1' karakteri./Unexpected character '%1' in public id literal. QXmlStream4Desteklenmeyen XML srm.Unsupported XML version. QXmlStreamVXML bildirimi belgenin ba_lang1c1nda deil.)XML declaration not at start of document. QXmlStreamEn A_a1BottomWebCore::PlatformScrollbarSol glge Left edgeWebCore::PlatformScrollbarSayfa a_a1 Page downWebCore::PlatformScrollbarSayfa sola Page leftWebCore::PlatformScrollbarSayfa saa Page rightWebCore::PlatformScrollbarSayfa yukar1Page upWebCore::PlatformScrollbarSa glge Right edgeWebCore::PlatformScrollbarA_a1 kayd1r Scroll downWebCore::PlatformScrollbarBuraya kayd1r Scroll hereWebCore::PlatformScrollbarSola kayd1r Scroll leftWebCore::PlatformScrollbarSaa kayd1r Scroll rightWebCore::PlatformScrollbarYukar1 kayd1r Scroll upWebCore::PlatformScrollbarEn Yukar1TopWebCore::PlatformScrollbarkeepassx-0.4.3/share/keepassx/i18n/keepassx-tr_TR.qm0000664000175000017500000015070011342454754021275 0ustar felixfelix;B+SC+I.^L/&R0T1U3$8?@'dA'B'D(F(4H(hP(R(T)V)8X)lf)r)*j;;;;fCH4+MaQQaSb&Zl7ZlgV\3]_tzlrG$+֍.$VEVEo;;.}#8nV*%*0J++3JjGH8WJ aLbDLbLbLbLbeLbroLbzM M}9M4fN N-N6}N>sNeO:O<&T40T:PW3XtY[ % [ %2[ %7[ %>[ %g [Z%\^Ta.66"u,xrPe/\..[31Z8.qD]*UN+]^f/~$hLkHJ}t3_.˓&8e@v ,.^c<\ =XDsj[ 2smk} ~fII8iH[nsF{?R{pvW_H|C %?L`yRW0) n-1 F /N; Lb[:>8#NSf$#&:^O-Kc5ۻ5<5k BVDve?q = =sOnE JoJ -J mk7&n&nM, 8#cDɃLP''`"'ߎ|0dnl߸G>U)H>,N0A43344#iI=MJNRO_Rt@uHurw,#qJr ON[M9e0y7Of 5dƭt:mȞ>譾N#^ ѕ? AE Db LYf gw l[~{ A O? ("& d  8 C M C3 C7 C> Cg D MT? n%  ^n| l4 3& 9.E 5su 5tcvG 8N J C LZ~G OZOu T< c}k d:} d<,; d<5 d d dIz7 nM qE= s/g s( u~ ~6 w  N"u ) >: >< >r t. e< h ˔I F> ` Y =; f f ?. f @G f Or f R' f T f k? f 6 s y # I Y LJ Xо@ Ynq ^w h).G! +e J: JNy  b $ )K M ͓> ֕} J ; Q.K a;  A:5C /W &+*^ ?I Br LuL M/ Z$+ vY C` ?;b S @3U g 4 c<  `I 5 w~ s s s , ȶ  Qe ܾ @~Z ƙ_ e =? r ?@KS | T^P T^W 7wy Sus= ^P ^}s mbDq nY ol. .F Pm PV .^ k~> @~? 0~# .FIaJB:Q$$ߎ.{r?E$B6L&R܎e>M<ysJ)%[j:qhO.kI#n ؾK06yclu%+!/ўq/ўzC^Q:Yqhd@g^Zp9htBmsuȞ\[ iiSerdar SoytetirAuthor AboutDialog^imdiki eviriCurrent Translation AboutDialogGeli_tirici Developer AboutDialog:Geli_tirici, Proje YneticisiDeveloper, Project Admin AboutDialogHataError AboutDialog0'%1' dosyas1 bulunamad1.File '%1' could not be found. AboutDialogKeePassX uygulamas1n1n nas1l evrileceine ili_kin bilgileri burada bulabilirsiniz:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlgYer 0mi Ekle Add BookmarkAddBookmarkDlg Tm Dosyalar (*) All Files (*)AddBookmarkDlgGzat... Browse...AddBookmarkDlg"Yer 0mini Dzenle Edit BookmarkAddBookmarkDlg Dosya:File:AddBookmarkDlg<KeePassX Veritabanlar1 (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgBa_l1k:Title:AddBookmarkDlgOtomatik-Tip Auto-Type AutoTypeDlglBir girdiyi otomatik-tip yapmak iin zerine t1klay1n."Click on an entry to auto-type it. AutoTypeDlgGrupGroup AutoTypeDlg.KeePassX - Otomatik-TipKeePassX - Auto-Type AutoTypeDlg Ba_l1kTitle AutoTypeDlgKullan1c1 Ad1Username AutoTypeDlgN'%1' geerli bir tam say1 deeri deil. '%1' is not valid integer value.CDbSettingsDlgJAES(Rijndael): 256 Bit (ntan1ml1)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgHataErrorCDbSettingsDlg TAMAMOKCDbSettingsDlgtLtfen _ifrelemenin ka basamak ile yap1laca1n1 belirtin.1Please determine the number of encryption rounds.CDbSettingsDlgAyarlarSettingsCDbSettingsDlgS1f1rdan byk olmas1 gereken ve _ifrelemenin ka basamakl1 olaca1n1 belirten say1.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg$ Twofish: 256 BitTwofish: 256 BitCDbSettingsDlg Uyar1WarningCDbSettingsDlg %1 Bit%1 Bit CEditEntryDlg1 Ay1 Month CEditEntryDlg1 Hafta1 Week CEditEntryDlg 1 Y1l1 Year CEditEntryDlg1 Hafta2 Weeks CEditEntryDlg3 Ay3 Months CEditEntryDlg3 Hafta3 Weeks CEditEntryDlg6 Ay6 Months CEditEntryDlgEklenti Ekle...Add Attachment... CEditEntryDlgTakvim... Calendar... CEditEntryDlg Dosya a1lamad1.Could not open file. CEditEntryDlg(Eklenti silinsin mi?Delete Attachment? CEditEntryDlgGirdiyi Dzenle Edit Entry CEditEntryDlgHataError CEditEntryDlg,Dosya yaz1l1rken hata.Error while writing the file. CEditEntryDlgYeni Girdi New Entry CEditEntryDlgHay1r, 0ptal Et No, Cancel CEditEntryDlg TAMAMOK CEditEntryDlgParola ve parola tekrar1 birbirini tutmuyor. Ltfen girdilerinizi kontrol edin.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg&Eklentiyi kaydet...Save Attachment... CEditEntryDlgRSeilen girdinin eklentisi yok ya da bo_.2The chosen entry has no attachment or it is empty. CEditEntryDlg BugnToday CEditEntryDlg Uyar1Warning CEditEntryDlgEvetYes CEditEntryDlgpBu girdinin eklentisini silmek zeresiniz. Emin misiniz?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg"[Ba_l1ks1z Girdi][Untitled Entry] CEditEntryDlg %1 Bit%1 Bits CGenPwDialog"Parola Olu_turucuPassword Generator CGenPwDialog,%1: Dosya yklenemedi.%1: File could not be loaded.CSelectIconDlgzel Simge EkleAdd Custom IconCSelectIconDlgSimge Ekle... Add Icons...CSelectIconDlgJSimgeler yklenirken bir hata olu_tu:+An error occured while loading the icon(s):CSelectIconDlgDSimge yklenirken bir hata olu_tu.(An error occured while loading the icon.CSelectIconDlgSilDeleteCSelectIconDlgHataErrorCSelectIconDlgResimler (%1) Images (%1)CSelectIconDlgAlPickCSelectIconDlgDei_tir... Replace...CSelectIconDlg$Bir dizin sein...Select a directory... CSettingsDlgFBir al1_t1r1labilir dosya sein...Select an executable... CSettingsDlgAyarlarSettings CSettingsDlgSistem DiliSystem Language CSettingsDlg TakvimCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Rastgele havuzu ba_ar1l1 bir _ekilde yeniden olu_turuldu!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgAt1l enerji toplan1yor... Rastgele say1 olu_turucudan yeterli at1l enerji toplan1rken fareyi oynat1n ya da rastgele tu_lara bas1n.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlgEnerji ToplamaEntropy CollectionCollectEntropyDlg0Rastgele Say1 Olu_turucuRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogEklenti Ad1Attachment NameCustomizeDetailViewDialogKBCustomizeDetailViewDialog Kal1nBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogOrtalanm1_CenteredCustomizeDetailViewDialog Yorum Sat1r1 YapCommentCustomizeDetailViewDialog$Olu_turulma Tarihi Creation DateCustomizeDetailViewDialogPencereDialogCustomizeDetailViewDialog$Sre Dolumu TarihiExpiration DateCustomizeDetailViewDialog Yaz1 Tipi Boyutu Font SizeCustomizeDetailViewDialogGrupGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogYICustomizeDetailViewDialog Yat1kItalicCustomizeDetailViewDialog"0ki Tarafa Dayal1 JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog"Son Eri_im TarihiLast Access DateCustomizeDetailViewDialog.Son Dei_tirilme TarihiLast Modification DateCustomizeDetailViewDialogSola-Dayal1 Left-AlignedCustomizeDetailViewDialog ParolaPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog0Zengin Metin DzenleyiciRich Text EditorCustomizeDetailViewDialogSaa-Dayal1 Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialog^ablonlar TemplatesCustomizeDetailViewDialogMetin Rengi Text ColorCustomizeDetailViewDialog0Sre Dolumuna Kalan SreTime till ExpirationCustomizeDetailViewDialog Ba_l1kTitleCustomizeDetailViewDialogAUCustomizeDetailViewDialogAlt1 izgili UnderlinedCustomizeDetailViewDialog AdresUrlCustomizeDetailViewDialogKullan1c1 Ad1UsernameCustomizeDetailViewDialogAslaNeverDatabaseAlgoritma: Algorithm:DatabaseSettingsDlg&Veritaban1 Ayarlar1Database SettingsDatabaseSettingsDlg^ifreleme EncryptionDatabaseSettingsDlg&^ifreleme Basama1:Encryption Rounds:DatabaseSettingsDlg Yorum Sat1r1 YapCommentDetailViewTemplateOlu_turulmaCreationDetailViewTemplateSre Dolumu ExpirationDetailViewTemplateGrupGroupDetailViewTemplateSon Eri_im Last AccessDetailViewTemplate Son Dei_tirilmeLast ModificationDetailViewTemplate ParolaPasswordDetailViewTemplate Ba_l1kTitleDetailViewTemplate AdresURLDetailViewTemplateKullan1c1 Ad1UsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialogEklenti: Attachment:EditEntryDialogA1klama:Comment:EditEntryDialogGirdiyi Dzenle Edit EntryEditEntryDialogSre Dolumu:Expires:EditEntryDialogOlu&_tur.Ge&n.EditEntryDialog Grup:Group:EditEntryDialog Simge:Icon:EditEntryDialogAslaNeverEditEntryDialogParola: Password:EditEntryDialogKalite:Quality:EditEntryDialogBa_l1k:Title:EditEntryDialog Adres:URL:EditEntryDialogKullan1c1 ad1: Username:EditEntryDialog>>EditGroupDialog Grup zellikleriGroup PropertiesEditGroupDialog Simge:Icon:EditGroupDialogBa_l1k:Title:EditGroupDialog\Bir girdiye gemek iin zerine ift t1klay1n.'Double click on an entry to jump to it.ExpiredEntriesDialogSresi Dolmu_ExpiredExpiredEntriesDialog,Sresi Dolmu_ GirdilerExpired EntriesExpiredEntriesDialog>Veritaban1ndaki Dolmu_ GirdilerExpired Entries in the DatabaseExpiredEntriesDialogGrupGroupExpiredEntriesDialog Ba_l1kTitleExpiredEntriesDialogKullan1c1 Ad1UsernameExpiredEntriesDialog Tm Dosyalar (*) All Files (*)Export_KeePassX_Xml(KeePassX XML Dosyas1KeePassX XML FileExport_KeePassX_Xml*XML Dosyalar1 (*.xml)XML Files (*.xml)Export_KeePassX_Xml Tm Dosyalar (*) All Files (*) Export_TxtMetin Dosyas1 Text File Export_Txt.Metin Dosyalar1 (*.txt)Text Files (*.txt) Export_TxtLD1_ar1ya Aktarma 0_lemi Ba_ar1s1z Oldu Export Failed ExporterBase Dosyaya Aktar...Export File... ExporterBase:Sonland1r1c1 bir hata olu_tu.A fatal error occurred. FileErrors.Bir zaman a_1m1 olu_tu.A timeout occurred. FileErrorsFDosyadan okunurken bir hata olu_tu..An error occurred while reading from the file. FileErrorsFDosyaya yaz1l1rken bir hata olu_tu.,An error occurred while writing to the file. FileErrors2Bir kaynak hatas1 olu_tu.An resource error occurred. FileErrors4Belirtilmemi_ hata olu_tu.An unspecified error occurred. FileErrors$Hi hata olu_mad1.No error occurred. FileErrors(Dosyaya eri_ilemedi.The file could not be accessed. FileErrors(Dosya kopyalanamad1.The file could not be copied. FileErrors Dosya a1lamad1.The file could not be opened. FileErrors"Dosya silinemedi.The file could not be removed. FileErrors<Dosya yeniden adland1r1lamad1.The file could not be renamed. FileErrorsBDosya yeniden boyutland1r1lamad1.The file could not be resized. FileErrors(0_lem sonland1r1ld1.The operation was aborted. FileErrorsXDosyan1n ierisindeki konum dei_tirilemedi..The position in the file could not be changed. FileErrors&Kk Harfler&Lower LettersGenPwDlg &Eksi&MinusGenPwDlgRaka&mlar&NumbersGenPwDlg"&zel Karakterler&Special CharactersGenPwDlgAlt1 &izili &UnderlineGenPwDlg&Byk Harfler&Upper LettersGenPwDlgBeyaz Alanla&r &White SpacesGenPwDlg<Her oturum iin bir kere toplaCollect only once per sessionGenPwDlg8Enerji toplamay1 etkinle_tirEnable entropy collectionGenPwDlgjParolan1n her gruptan karakter ierdiinden emin olun9Ensure that password contains characters from every groupGenPwDlgDBuna benzer karakterleri hari tutExclude look-alike charactersGenPwDlgOlu_turGenerateGenPwDlgUzunluk:Length:GenPwDlgKk Harfler Lower LettersGenPwDlgYeni Parola: New Password:GenPwDlgRakamlarNumbersGenPwDlgSeeneklerOptionsGenPwDlg"Parola Olu_turucuPassword GeneratorGenPwDlgOkunabilir PronounceableGenPwDlgKalite:Quality:GenPwDlgRastgeleRandomGenPwDlg zel KarakterlerSpecial CharactersGenPwDlgByk Harfler Upper LettersGenPwDlg Tm Dosyalar (*) All Files (*)Import_KWalletXml*Belge veri iermiyor.Document does not contain data.Import_KWalletXml80eri Aktarma Ba_ar1s1z Oldu Import FailedImport_KWalletXmlvGeersiz XML verisi (detaylar iin stdout 1kt1s1na bak1n).*Invalid XML data (see stdout for details).Import_KWalletXml*Geersiz XML dosyas1.Invalid XML file.Import_KWalletXml*XML Dosyalar1 (*.xml)XML Files (*.xml)Import_KWalletXml Tm Dosyalar (*) All Files (*)Import_KeePassX_Xml80eri Aktarma Ba_ar1s1z Oldu Import FailedImport_KeePassX_Xml<KeePassX XML Dosyalar1 (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlAyr1_t1rma hatas1: Dosya geerli bir KeePassX XML dosyas1 deil.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmljSat1r %1 stun %2 konumunda XML ayr1_t1rma hatas1: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml Tm Dosyalar (*) All Files (*)Import_PwManagerXS1k1_t1r1lm1_ dosyalar henz desteklenmiyor.'Compressed files are not supported yet.Import_PwManagerVDosya bozulmu_ (zet testi ba_ar1s1z oldu).#File is damaged (hash test failed).Import_PwManagerDosya bo_.File is empty.Import_PwManagerTDosya geerli bir PwManager dosyas1 deil. File is no valid PwManager file.Import_PwManager80eri Aktarma Ba_ar1s1z Oldu Import FailedImport_PwManagervGeersiz XML verisi (detaylar iin stdout 1kt1s1na bak1n).*Invalid XML data (see stdout for details).Import_PwManager6PwManager Dosyalar1 (*.pwm)PwManager Files (*.pwm)Import_PwManagerJDesteklenmeyen _ifreleme algoritmas1.!Unsupported encryption algorithm.Import_PwManager8Desteklenmeyen dosya srm.Unsupported file version.Import_PwManager@Desteklenmeyen zet algoritmas1.Unsupported hash algorithm.Import_PwManagerYanl1_ parola.Wrong password.Import_PwManager80eri Aktarma Ba_ar1s1z Oldu Import Failed ImporterBase,0eriye Dosya Aktar...Import File... ImporterBase Dosya a1lamad1.Could not open file. Kdb3Database~^ifre zme i_lemi ba_ar1s1z. Anahtar yanl1_ ya da dosya bozuk.;Decryption failed. The key is wrong or the file is damaged. Kdb3Databasezzet kontrol ba_ar1s1z. Anahtar yanl1_ ya da dosya bozulmu_.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database(Geersiz grup aac1.Invalid group tree. Kdb3Database(Anahtar dosyas1 bo_.Key file is empty. Kdb3DatabaseLVeritaban1 en az bir grup iermelidir.-The database must contain at least one group. Kdb3Database:Beklenmeyen hata: Konum d1_1.)Unexpected error: Offset is out of range. Kdb3DatabaserBeklenmeyen dosya boyutu (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseBBilinmeyen ^ifreleme Algoritmas1.Unknown Encryption Algorithm. Kdb3Database8Desteklenmeyen Dosya Srm.Unsupported File Version. Kdb3DatabaseYanl1_ 0mzaWrong Signature Kdb3DatabaseBaytBytesKdb3Database::EntryHandleGBGiBKdb3Database::EntryHandleKBKiBKdb3Database::EntryHandleMBMiBKdb3Database::EntryHandlebBu %1 girdiyi silmek istediinizden emin misiniz?1Are you sure you want to delete these %1 entries?KeepassEntryView\Bu girdiyi silmek istediinizden emin misiniz?+Are you sure you want to delete this entry?KeepassEntryViewfBir girdi eklenmeden nce en az bir grup olmal1d1r.5At least one group must exist before adding an entry.KeepassEntryViewEklenti AttachmentKeepassEntryViewYorumlarCommentsKeepassEntryViewOlu_turulmaCreationKeepassEntryViewSilinsin mi?Delete?KeepassEntryViewHataErrorKeepassEntryViewSre DolumuExpiresKeepassEntryViewGrupGroupKeepassEntryViewSon Eri_im Last AccessKeepassEntryViewSon Dei_iklik Last ChangeKeepassEntryView TAMAMOKKeepassEntryView ParolaPasswordKeepassEntryView Ba_l1kTitleKeepassEntryView AdresURLKeepassEntryViewKullan1c1 Ad1UsernameKeepassEntryViewBu grubu silmek istediinizden emin misiniz, tm alt gruplar ve girdileri de silinecek?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewSilinsin mi?Delete?KeepassGroupViewArama Sonular1Search ResultsKeepassGroupView %1 Gn%1 DaysKeepassMainWindow %1 Ay %1 MonthsKeepassMainWindow %1 Y1l%1 YearsKeepassMainWindow0al1_ma A&lan1n1 Kilitle&Lock WorkspaceKeepassMainWindow 1 Gn1 DayKeepassMainWindow1 Ay1 MonthKeepassMainWindow 1 Y1l1 YearKeepassMainWindow Tm Dosyalar (*) All Files (*)KeepassMainWindowGirdileri 0kile Clone EntriesKeepassMainWindowGirdiyi 0kile Clone EntryKeepassMainWindowPVeritaban1 kilit dosyas1 olu_turulamad1.#Couldn't create database lock file.KeepassMainWindowHVeritaban1 kilit dosyas1 silinemedi.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow$Veritaban1 kilitliDatabase lockedKeepassMainWindowGirdileri SilDelete EntriesKeepassMainWindowGirdiyi Sil Delete EntryKeepassMainWindowHataErrorKeepassMainWindowSresi Dolmu_ExpiredKeepassMainWindow(Dosya kaydedilemedi.File could not be saved.KeepassMainWindow<KeePassX Veritabanlar1 (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow0Veritaban1 Ykleniyor...Loading Database...KeepassMainWindow,Ykleme Ba_ar1s1z OlduLoading FailedKeepassMainWindow Veritaban1 A...Open Database...KeepassMainWindow Haz1rReadyKeepassMainWindow,Veritaban1n1 Kaydet...Save Database...KeepassMainWindowDDei_tirilmi_ dosya kaydeilsin mi?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow*&Ara ubuunu Gster Show &ToolbarKeepassMainWindowGeerli dosya zerinde dei_iklikler yap1ld1. Dei_iklikleri kaydetmek ister misiniz??The current file was modified. Do you want to save the changes?KeepassMainWindow.Veritaban1 dosyas1 yok.!The database file does not exist.KeepassMainWindowHVeritaban1 a1l1rken _u hata olu_tu:7The following error occured while opening the database:KeepassMainWindow:al1_ma A&lan1n1n Kilidini AUn&lock WorkspaceKeepassMainWindowdVeritaban1 yklenirken bilinmeyen bir hata olu_tu.%Unknown error while loading database.KeepassMainWindow1 gnden azless than 1 dayKeepassMainWindowyeninewKeepassMainWindowHataErrorMain0'%1' dosyas1 bulunamad1.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindowH&akk1nda... &About... MainWindow &Yer 0mi Ekle...&Add Bookmark... MainWindow,&Yeni Alt Grup Ekle...&Add New Subgroup... MainWindow&Yer 0mleri &Bookmarks MainWindowGirdiyi &oalt &Clone Entry MainWindow&Veritaban1n1 &Kapat&Close Database MainWindow&Stunlar&Columns MainWindow&A1klama&Comment MainWindow.Veri&taban1 Ayarlar1...&Database Settings... MainWindowGrubu &Sil &Delete Group MainWindow"&Grubu Dzenle...&Edit Group... MainWindow D&1_ar1 aktar... &Export to... MainWindow &Dosya&File MainWindow&Yard1m&Help MainWindow&0eri aktar...&Import from... MainWindow,&KeePassX El Kitab1...&KeePassX Handbook... MainWindow&Son Dei_iklik &Last Change MainWindow0al1_ma A&lan1n1 Kilitle&Lock Workspace MainWindow,&Yer 0mlerini Ynet...&Manage Bookmarks... MainWindow&&Yeni Veritaban1...&New Database... MainWindow"&Veritaban1 A...&Open Database... MainWindow&Adres A &Open URL MainWindow&Parola &Password MainWindow*Parola &Olu_turucu...&Password Generator... MainWindow>&Otomatik Tip 0yile_tirmesi Yap&Perform AutoType MainWindow&1k&Quit MainWindow6&Eklentiyi Farkl1 Kaydet...&Save Attachment As... MainWindow(Veritaban1n1 Kayde&t&Save Database MainWindowA&yarlar... &Settings... MainWindow&Ba_l1k&Title MainWindow &Adres&URL MainWindow&Grnm&View MainWindow4&Girdiyi Gster/Dzenle...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow&Eklenti A&ttachment MainWindow&Yeni &Girdi Ekle...Add &New Entry... MainWindow"Yeni Grup Ekle...Add New Group... MainWindowJ&Bu Veritaban1n1 Yer 0mlerine Ekle...Bookmark &this Database... MainWindow&Olu_turulma C&reation MainWindow@Uygulama Anahtar1n1 De&i_tir...Change &Master Key... MainWindow>Kullan1c1 &Ad1n1 Panoya KopyalaCopy &Username to Clipboard MainWindow0Parolay1 Panoya &KopyalaCopy Password &to Clipboard MainWindow*Adresi Panoya KopyalaCopy URL to Clipboard MainWindowGirdiyi &Sil De&lete Entry MainWindow&Sre DolumuE&xpires MainWindowDaha Fa&zlas1E&xtras MainWindowGruplarGroups MainWindow GizleHide MainWindow"Parolalar1 &GizleHide &Passwords MainWindow2Kullan1c1 &Adlar1n1 GizleHide &Usernames MainWindowKeePassXKeePassX MainWindowSon &Eri_im Last &Access MainWindowp Kutusu...Recycle Bin... MainWindow<Veritaban1n1 &Farkl1 Kaydet...Save Database &As... MainWindow*&Veritaban1nda Ara...Search &in Database... MainWindow4&Bu Grup ierisinde Ara...Search in this &Group... MainWindow6&Girdi Ayr1nt1lar1n1 GsterShow &Entry Details MainWindowD&Sresi Dolmu_ Girdileri Gster...Show &Expired Entries... MainWindow,&Durum ubuunu GsterShow &Statusbar MainWindow2Ara ubuu &Simge BoyutuToolbar &Icon Size MainWindow&Kullan1c1 Ad1 User&name MainWindow"Yerimlerini YnetManage BookmarksManageBookmarksDlg6%1: Dosya okunabilir deil.%1: File is not readable.PasswordDialogH%1: Byle bir dosya ya da dizin yok.%1: No such file or directory.PasswordDialog Tm Dosyalar (*) All Files (*)PasswordDialog*Ana Anahtar1 Dei_tirChange Master KeyPasswordDialog4Anahtar Dosyas1 Olu_tur...Create Key File...PasswordDialog&Veritaban1 Anahtar1 Database KeyPasswordDialog Ana Anahtar1 GirEnter Master KeyPasswordDialog*Key Dosyalar1 (*.key)Key Files (*.key)PasswordDialogSon Dosya Last FilePasswordDialoghLtfen gir parola girin ya da anahtar dosyas1 sein.-Please enter a Password or select a key file.PasswordDialog0Ltfen bir parola girin.Please enter a Password.PasswordDialog:Ltfen bir key dosyas1 girin.Please provide a key file.PasswordDialog*Anahtar dosyas1n1 SeSelect a Key FilePasswordDialog&Ana Anahtar1 AyarlaSet Master KeyPasswordDialogVerilen dizin birden fazla anahtar dosyas1 ieriyor. Ltfen anahtar dosyas1n1 belirtin.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogXVerilen dizin bir anahtar dosyas1 iermiyor.3The given directory does not contain any key files.PasswordDialogjSeilen anahtar dosyas1 ya da dizin okunabilir deil.3The selected key file or directory is not readable.PasswordDialog&Gzat... &Browse... PasswordDlgGeriBack PasswordDlgbBir parola girin ya da bir anahtar dosyas1 sein.*Enter a Password and/or choose a key file. PasswordDlg4Anahtar Dosyas1 Olu_tur...Generate Key File... PasswordDlgAnahtarKey PasswordDlg Anahtar Dosyas1: Key File: PasswordDlgSon Dosya Last File PasswordDlgParola: Password: PasswordDlg*Parolalar ayn1 deil.Passwords are not equal. PasswordDlg>Ltfen parolan1z1 tekrar girin:Please repeat your password: PasswordDlgAraSearch SearchDialog:B&yk Kk Harflere Duyarl1&Case Sensitive Search_Dlg&Ba_l1klar&Titles Search_Dlg"K&ullan1c1 Adlar1 &Usernames Search_Dlg&EkA&nhang Search_DlgA&1klamalar C&omments Search_Dlg@Alt Gruplar1 0er (zyinelemeli)Include Subgroups (recursive) Search_Dlg0ersin:Include: Search_DlgPar&olalar Pass&words Search_DlgDzenli 0&fadeRegular E&xpression Search_Dlg^unu Ara: Search For: Search_Dlg Ara... Search... Search_DlgA&dreslerU&RLs Search_DlgSimge SeimiIcon Selection SelectIconDlgGeli_mi_AdvancedSettingsDialogBSat1r Renkleri Farkl1la_t1r1l1yorAlternating Row ColorsSettingsDialog\Bir grubu ya da girdiyi silerken her zaman sor,Always ask before deleting entries or groupsSettingsDialogGrnm AppearanceSettingsDialog Yazar:Author:SettingsDialog4Otomatik-Tip 0yile_tirmesiAuto-Type Fine TuningSettingsDialoghHer dei_iklikte veritaban1n1 otomatik olarak kaydet.Automatically save database after every changeSettingsDialog1k1_ta veritaban1n1 otomatik olarak kaydet ve al1_ma alan1n1 kilitle9Automatically save database on exit and workspace lockingSettingsDialogst Alan Rengi Banner ColorSettingsDialogYerimleri BookmarksSettingsDialog GzatBrowseSettingsDialogGzat... Browse...SettingsDialogDei&_tir... C&hange...SettingsDialogDei_tir... Change...SettingsDialog*Gemi_i ^imdi TemizleClear History NowSettingsDialog>Bu sre geince panoyu temizle:Clear clipboard after:SettingsDialogRenk 1:Color 1:SettingsDialogRenk 2:Color 2:SettingsDialogYap1land1r... Configure...SettingsDialog(zel Taray1c1 KomutuCustom Browser CommandSettingsDialogPAyr1nt1l1 Girdi Grnmn zelle_tir...Customize Entry Detail View...SettingsDialog:Veritaban1 Anahtar1 PenceresiDatabase Key DialogSettingsDialog4Bundan eski girdileri sil:!Delete backup entries older than:SettingsDialog"Hibir geyi amaDo not expand any itemSettingsDialog2Girdi Dzenleme PenceresiEdit Entry DialogSettingsDialogTm geleri aExpand all itemsSettingsDialogGenel (1) General (1)SettingsDialogGenel (2) General (2)SettingsDialog8Genel Otomatik-Tip K1sayolu:Global Auto-Type Shortcut:SettingsDialogJGnome Masast Btnle_mesi (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog.Ba_lang1ta grup aac1:Group tree at start-up:SettingsDialog4KDE4 Masast Btnle_mesiKDE 4 Desktop IntegrationSettingsDialog$Anahtar Gecikmesi:Key Stroke Delay:SettingsDialogDilLanguageSettingsDialogDil: Language:SettingsDialog\^u kadar etkinlik olmazsa veritaban1n1 kilitle!Lock database after inactivity ofSettingsDialogbAna pencereyi kltrken al1_ma alan1n1 kilitle.Lock workspace when minimizing the main windowSettingsDialog"Ortam Kk Dizini: Media Root:SettingsDialogZGrev ubuu yerine sistem ekmecesine klt#Minimize to tray instead of taskbarSettingsDialoghAna pencere kapat1ld11nda sistem ekmecesine klt=Minimize to tray when clicking the main window's close buttonSettingsDialogHibiriNoneSettingsDialogEklentilerPlug-InsSettingsDialogPre-Gap:Pre-Gap:SettingsDialogLSon anahtar tipini ve konumunu hat1rla#Remember last key type and locationSettingsDialog4Son a1lan dosyay1 hat1rlaRemember last opened fileSettingsDialog&Son duruma geri dnRestore last stateSettingsDialogxDzenlenen girdileri yedeklemek iin 'Backup' grubunu kullan8Save backups of modified entries into the 'Backup' groupSettingsDialoglDosya pencerelerinin son kullan1lan dizinlerini kaydet'Save recent directories of file dialogsSettingsDialoghDei_ken yollar1 kaydet (yer imleri ve son dosyalar)-Save relative paths (bookmarks and last file)SettingsDialogGvenlikSecuritySettingsDialogAyarlarSettingsSettingsDialogDDz metin parolalar1 byle gster:Show plain text passwords in:SettingsDialogBSistem ekmecesi simgesini gsterShow system tray iconSettingsDialog$Kilitlenmi_ ba_lat Start lockedSettingsDialog$Kltlm_ ba_latStart minimizedSettingsDialogMetin Rengi: Text Color:SettingsDialogCD ve bellek ubuklar1 gibi depolama ortamlar1n1n baland11 dizin.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogGenel Otomatik Tip iin Pencereleri e_lemek amac1yla girdinin ba_l11n1 kullan;Use entries' title to match the window for Global Auto-TypeSettingsDialogDei_ikliklerin etkin olabilmesi iin uygulamay1 yeniden ba_latman1z gerekir.?You need to restart the program before the changes take effect.SettingsDialoggndaysSettingsDialogmsmsSettingsDialog saniyesecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget Parolan1z1 GirinEnter your PasswordSimplePasswordDialogParola: Password:SimplePasswordDialogFOtomatik-Tip: Hedef Pencereyi SeinAuto-Type: Select Target WindowTargetWindowDlg Trke$LANGUAGE_NAME TranslationSerdar Soytetir$TRANSLATION_AUTHOR Translation$tulliana@gmail.com$TRANSLATION_AUTHOR_EMAIL TranslationR<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">al1_ma alan1 kilitli.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget$Veritaban1n1 KapatClose DatabaseWorkspaceLockedWidgetFormFormWorkspaceLockedWidgetKilidi AUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/qt_hu.qm0000664000175000017500000030051011342454754017536 0ustar felixfelix@+F+F@+L>k+f+fR+z;+%+K+'+z;R+E+R+g++AY+į%+įx+į'+;7s;XcC:GGYHw9$!Hw9GH7(I'_I95IKJ+&J6&J6<J6H J6LJ6}J6_J6J6AJcbKQ7KVFLL=LbM5MNMbMe3MNaSO|Zf \\]4\]4\\datR9gc|^`vFv=.fol4L56C`@IA![JHI4ɵn@ɵn~ɵnɵnɵnSɵnȭɵnɵn4r B* M,Eua<K5%UT(Ŏ[*45v5?tvyCCe:D"D1msM IQ~ aR?S1efPtloR74or:`w^;xc=c)Gb22C-.{'1.NRRAi/iur5 " r"lM9)6-pT/=N 1$5~k< ?2?NCxM9 Uiנ]`B`lgvty>vty1c"QDVVY)6[6@^o%^'RYTP=~.Sq&r_-EE_P_{*8AAmL C}M/mIMM@mEjSEsw#!w  I%&UI)*/e!5*;FF!OZf)`McփfVgg&4jC[dq# u(*e#l~Py$9$IG`(Xr^J8K RK\ nx,ݢ<A#s&H.N/IxS9YMjYMtPh^,Ni1sscuwkx_@Şۊ<N8]h]\INI#I$VIGIII?I YIiy IIII  uDnuDwD?>os,v,, ,M,(]جɘe 5$fRfRXyNXac/pScPqqVI_V4fRRGe b* 5p ' %C,&~b+8,?"KN%M 2RV|d+]}]kgy^(5t9_FY9d_G%hصǥB+ty/';;fQxAf9\ese,%9jC-5ZC^xƨ9ƨ ^˾nҝzzi$է?xZ>YߺےfJ^!o NR$d~bX:~b^0oK!d+3)/4~6 ? 2=`A2DO^GiGb]LAU&dPѧHBQw*SnU(UZ Z Z Z A[?x]k*W^nHK_pe*ioix:kQZ,y;{P}u}w}w}w^}j)rvtڸt0.R.PiUaDDFY?t4vtu tQ_ +;FʢCʢƴrdDdVd-dd08g59NSR UdMBK9h͢w= 0Z +z6,D6t2N6p?;ܞCU]4DJJ0KK9U| F\artU|(^9|6|}wZٳ}$}$L}$^1ϗ=ZuD|K<If+2·=·Q׳/vEhu%5]Ti~i2w0#%T'.V5kE"=@[= b??CtI`XU VbDbGhfd.gA!hIbZi$Ƴx1  mdɈU 5zOc.z҉`?sr:mi^3un" †5;i_CK]ʴ5ʴ5AʶԄEm۔#DDdGF5)FF5%Y֩IIW2As Df }$ qer ڤq ڥy E EJ Aci AcY 35   n 1 Y+ K'9 팤ƒ q  =O qe Ԃ }A ) .># 7uI ; =i J"P J"Ѳ RۮM Ty  T^ Uj4 ] `~( ` b c( cE d e: eW e{ | f1lq f* g5U gnI$ k,J rD"#Y t8 $ %p6g ,C ,R 6 t33 `{_ t< ˔h P3 P> l u 68T :: f  f S 4 .f s< sU AAq 9v H 9 & m,_ #-t 0N7 A!X CUgs L2v L4 L> Mc\K S VJ ]$B io>L m`+ w yrFG  H HR 6 $T .@_ " &h  ) %( J| JV Q t.3 k' Ӈ& M $ N> ̺hU -Di` . ۷h k k`- U)x 5 <*@ >  04 6- j z+7  n]  w~ Ia %g  / xH| .:[ 7FH >q >r= >sH >|^ > > >f >U ?t|, DT I9 P@  RVZY RV=( RV_ S. SG S YA Y" [,K hۮa j7oQR p: .. B] K TA9 T5 T' T~ C  a )d T< .A . . .ħ .ʱ .^ a y) ҂S  |@ " t a$ :bye  r +>; ;ɾ(= Fg, K97 Pt PtB: fe fe]; iFC, iW i m94 nW{ u u$ v& v{ wI w w] w} w} w}] |[[ О k t %- ^ } P<4  xN U ɰeJ W X &[e D + t5 t5A S B ) +T5>3?gT5*4@*>/E9=BeI_yOOp[ Da.HnyGZvɅy$~{44-S^&Ǘ8:,B2ir_ݖR  U#T"#*$U%4K%4]R-v+0i)0z1c+2wTdD,HJd{L$.Eac5c5^g3EpDyC-{~aY5 &&A[P%UU>b4P/2NPcCBt28mJ?qU-ia<html>A hangeszkz <b>%1</b> most nem hasznlhat.<br/>Visszalls erre: <b>%2</b>.</html>^The audio playback device %1 does not work.
Falling back to %2. AudioOutput(KisegtQ lehetQsgek AccessibilityPhonon::Trsalgs CommunicationPhonon::JtkokGamesPhonon::ZeneMusicPhonon:: Figyelmeztetsek NotificationsPhonon:: VideVideoPhonon::Figyelmeztets: gy tqnik nincs semmilyen GStreamer plugin teleptve. Minden hang s videtmogats le lesz tiltva~Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabledPhonon::Gstreamer::BackendFigyelmeztets: gy tqnik, a gstreamer0.10-plugins-good nincs teleptve. Nhny videval kapcsolatos lehetQsg le lesz tiltva.Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.Phonon::Gstreamer::BackendHinyzik egy kodek a lejtszshoz. Krem teleptse a kvetkezQ kodek(eket): %0`A required codec is missing. You need to install the following codec(s) to play this content: %0Phonon::Gstreamer::MediaObject"A lejtszs elindtsa sikertelen. Krem, ellenQrizze, hogy a libgstreamer-plugins-base teleptett-e, s a gstreamer belltsai megfelelQk-e.wCannot start playback. Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.Phonon::Gstreamer::MediaObjectHA mdiaforrs dekdolsa sikertelen.Could not decode media source.Phonon::Gstreamer::MediaObject8A mdiaforrs nem tallhat.Could not locate media source.Phonon::Gstreamer::MediaObject|A hangeszkz megnyitsa sikertelen, mert valami mr hasznlja.:Could not open audio device. The device is already in use.Phonon::Gstreamer::MediaObjectHA mdiaforrs megnyitsa sikertelen.Could not open media source.Phonon::Gstreamer::MediaObject&rvnytelen forrs.Invalid source type.Phonon::Gstreamer::MediaObjectA csszka segtsgvel llthatja be a hangerQt. A bal szlsQ pozci 0%-ot, a jobb szlsQ %1%-ot jelentWUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderHangerQ: %1% Volume: %1%Phonon::VolumeSlider.%1, %2 nincs definilva%1, %2 not definedQ3AccelHA nem egyrtelmq %1 nem lesz kezelveAmbiguous %1 not handledQ3Accel TrlsDelete Q3DataTable HamisFalse Q3DataTableBeszrsInsert Q3DataTableIgazTrue Q3DataTableFrisstsUpdate Q3DataTable%1 A fjl nem tallhat. EllenQrizze a fjl nevt s elrsi tjt.+%1 File not found. Check path and filename. Q3FileDialog&Trls&Delete Q3FileDialog&Nem&No Q3FileDialog&OK&OK Q3FileDialog&Megnyits&Open Q3FileDialogt&nevezs&Rename Q3FileDialogMent&s&Save Q3FileDialogNin&cs rendezs &Unsorted Q3FileDialog &Igen&Yes Q3FileDialogL<qt>Biztosan trld ezt: %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogMinden fjl (*) All Files (*) Q3FileDialogAttribtumok Attributes Q3FileDialog VisszaBack Q3FileDialog MgsemCancel Q3FileDialog<Fjl msolsa vagy thelyezseCopy or Move a File Q3FileDialog.j knyvtr ltrehozsaCreate New Folder Q3FileDialog DtumDate Q3FileDialog%1 trlse Delete %1 Q3FileDialogRszletes nzet Detail View Q3FileDialogKnyvtrDir Q3FileDialogKnyvtrak Directories Q3FileDialogKnyvtr: Directory: Q3FileDialogHibaError Q3FileDialogFjlFile Q3FileDialogFjl &neve: File &name: Q3FileDialogFjl &tpusa: File &type: Q3FileDialog*Keress a knyvtrbanFind Directory Q3FileDialogNem elrhetQ Inaccessible Q3FileDialogLista nzet List View Q3FileDialogKeress &itt: Look &in: Q3FileDialogNvName Q3FileDialogj knyvtr New Folder Q3FileDialogj knyvtr %1 New Folder %1 Q3FileDialogj knyvtr 1 New Folder 1 Q3FileDialog(Egy szinttel feljebbOne directory up Q3FileDialogMegnyitsOpen Q3FileDialog,Fjltartalom elQnzetePreview File Contents Q3FileDialog2Fjlinformcik elQnzetePreview File Info Q3FileDialogB&etlts jraR&eload Q3FileDialogCsak olvashat Read-only Q3FileDialog rhat-olvashat Read-write Q3FileDialogOlvass: %1Read: %1 Q3FileDialogMents mskntSave As Q3FileDialog:&Rejtett fjlok megjelentseShow &hidden files Q3FileDialog MretSize Q3FileDialogRendezsSort Q3FileDialog.Rendezs &dtum szerint Sort by &Date Q3FileDialog*Rendezs &nv szerint Sort by &Name Q3FileDialog.Rendezs &mret szerint Sort by &Size Q3FileDialogSpecilis fjlSpecial Q3FileDialog:Szimbolikus link a knyvtrraSymlink to Directory Q3FileDialog2Szimbolikus link a fjlraSymlink to File Q3FileDialogFSzimbolikus link a specilis fjlraSymlink to Special Q3FileDialog TpusType Q3FileDialogCsak rhat Write-only Q3FileDialogrs: %1 Write: %1 Q3FileDialoga knyvtr the directory Q3FileDialog a fjlthe file Q3FileDialog$a szimbolikus link the symlink Q3FileDialog@A knyvtr nem hozhat ltre: %1Could not create directory %1 Q3LocalFs(Nem nyithat meg: %1Could not open %1 Q3LocalFs8A knyvtr nem olvashat: %1Could not read directory %1 Q3LocalFsLA fjl vagy knyvtr nem trlhetQ: %1%Could not remove file or directory %1 Q3LocalFs8Nem nevezhetQ t %1 erre: %2Could not rename %1 to %2 Q3LocalFsNem rhat: %1Could not write %1 Q3LocalFsTestreszabs... Customize... Q3MainWindowIgaztsLine up Q3MainWindowNA mqveletet a felhasznl megszaktottaOperation stopped by the userQ3NetworkProtocol MgsemCancelQ3ProgressDialogAlkalmazApply Q3TabDialog MgsemCancel Q3TabDialog AlaprtelmezsekDefaults Q3TabDialogSegtsgHelp Q3TabDialogOKOK Q3TabDialog&Msols&Copy Q3TextEdit&Beilleszts&Paste Q3TextEdit j&ra&Redo Q3TextEdit&Visszavons&Undo Q3TextEdit TrlsClear Q3TextEdit&KivgsCu&t Q3TextEdit"sszes kijellse Select All Q3TextEditBezrsClose Q3TitleBar$Bezrja az ablakotCloses the window Q3TitleBarTParancsokat tartalmaz az ablak kezelshez*Contains commands to manipulate the window Q3TitleBar|Megjelenti az ablak nevt, s kezelQket a megvltoztatsukhozFDisplays the name of the window and contains controls to manipulate it Q3TitleBarTAz ablakot teljes kpernyQ mretqre nveliMakes the window full screen Q3TitleBarTeljes mretMaximize Q3TitleBarMinimalizlsMinimize Q3TitleBar<Elmozgatja az ablakot az tblMoves the window out of the way Q3TitleBarlA teljes mretq ablakot norml mretqre lltja vissza&Puts a maximized window back to normal Q3TitleBarfA kis mretq ablakot norml mretqre lltja visszaPuts a minimized back to normal Q3TitleBarElQzQ mret Restore down Q3TitleBarVisszallts Restore up Q3TitleBarRendszerSystem Q3TitleBarTovbbiak...More... Q3ToolBar(ismeretlen) (unknown) Q3UrlOperatorA(z) '%1' protokoll nem tmogatja a fjlok vagy knyvtrak msolst vagy thelyezstIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorrA(z) `%1' protokoll nem tmogatja knyvtrak ltrehozst;The protocol `%1' does not support creating new directories Q3UrlOperatorjA(z) '%1' protokoll nem tmogatja a fjlok letltst0The protocol `%1' does not support getting files Q3UrlOperatorA(z) `%1' protokoll nem tmogatja a knyvtrak tartalmnak listzst6The protocol `%1' does not support listing directories Q3UrlOperatorlA(z) '%1' protokoll nem tmogatja a fjlok feltltst0The protocol `%1' does not support putting files Q3UrlOperatorA(z) '%1' protokoll nem tmogatja a fjlok vagy knyvtrak trlst@The protocol `%1' does not support removing files or directories Q3UrlOperatorA(z) '%1' protokoll nem tmogatja a fjlok vagy knyvtrak tnevezst@The protocol `%1' does not support renaming files or directories Q3UrlOperatorDA(z) `%1' protokoll nem tmogatott"The protocol `%1' is not supported Q3UrlOperator&Mgsem&CancelQ3Wizard&Befejezs&FinishQ3Wizard &Sg&HelpQ3Wizard&KvetkezQ >&Next >Q3Wizard< &Vissza< &BackQ3Wizard,A kapcsolat elutastvaConnection refusedQAbstractSocket4A kiszolgl nem tallhatHost not foundQAbstractSocket2A socket nem kapcsoldottSocket is not connectedQAbstractSocket4Socket mqvelet idQtllpsSocket operation timed outQAbstractSocketLps &lefel &Select AllQAbstractSpinBoxLps &felfel&Step upQAbstractSpinBoxLps &lefel Step &downQAbstractSpinBoxAktivlsActivate QApplicationBAktvv teszi a program fQablakt#Activates the program's main window QApplicationf'%1' program Qt %2-t ignyel (Qt %3 van teleptve).,Executable '%1' requires Qt %2, found Qt %3. QApplicationPHiba: inkompatbilis Qt fggvnyknyvtrIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationKijellsCheck QCheckBox VltsToggle QCheckBox.Kijells megszntetseUncheck QCheckBox8Hozz&ads a sajt sznekhez&Add to Custom Colors QColorDialogAla&p sznek &Basic colors QColorDialog&Sajt sznek&Custom colors QColorDialog &Zld:&Green: QColorDialog&Vrs:&Red: QColorDialog&Teltettsg:&Sat: QColorDialog&FnyerQ:&Val: QColorDialogA&lfa csatorna:A&lpha channel: QColorDialog &Kk:Bl&ue: QColorDialog&rnyalat:Hu&e: QColorDialog"Szn kivlasztsa Select color QColorDialogBezrsClose QComboBox HamisFalse QComboBoxMegnyitsOpen QComboBoxIgazTrue QComboBox%1: mr ltezik%1: already existsQCoreApplication%1: mr ltezik%1: doesn't existsQCoreApplication6%1: ftok hibt adott vissza%1: ftok failedQCoreApplication(%1: a kulcs hinyzik%1: key is emptyQCoreApplication8%1: az erQforrsok elfogytak%1: out of resourcesQCoreApplication2%1: hozzfrs megtagadva%1: permission deniedQCoreApplicationD%1: a kulcs elksztse sikertelen%1: unable to make keyQCoreApplication,%1: ismeretlen hiba %2%1: unknown error %2QCoreApplication>A tranzakci nem vglegesthetQUnable to commit transaction QDB2Driver0Nem sikerlt kapcsoldniUnable to connect QDB2DriverDA tranzakci nem grgethetQ visszaUnable to rollback transaction QDB2DriverXAz automatikus vglegests nem llthat beUnable to set autocommit QDB2Driver0A vltoz nem rgzthetQUnable to bind variable QDB2Result8A mqvelet nem hajthat vgreUnable to execute statement QDB2Result8Az elsQ rekord nem rhetQ elUnable to fetch first QDB2ResultFA kvetkezQ rekord nem olvashat kiUnable to fetch next QDB2Result@A(z) %1. rekord nem olvashat kiUnable to fetch record %1 QDB2ResultJA mqvelet elQksztse nem lehetsgesUnable to prepare statement QDB2ResultDEAM QDateTimeEditDUPM QDateTimeEditdeam QDateTimeEditdupm QDateTimeEditQDialQDial SliderHandleQDial SpeedoMeterQDialKszDoneQDialog Mi ez? What's This?QDialog&Nem&NoQDialogButtonBox&OK&OKQDialogButtonBox &Igen&YesQDialogButtonBoxMegszaktsAbortQDialogButtonBoxAlkalmazApplyQDialogButtonBox MgsemCancelQDialogButtonBoxBezrsCloseQDialogButtonBox*Bezrs ments nlklClose without SavingQDialogButtonBoxElvetsDiscardQDialogButtonBoxNincs ments Don't SaveQDialogButtonBoxSegtsgHelpQDialogButtonBoxKihagysIgnoreQDialogButtonBoxMindent &kihagy N&o to AllQDialogButtonBoxOKOKQDialogButtonBoxMegnyitsOpenQDialogButtonBox TrlsResetQDialogButtonBox>Alaprtelmezsek visszalltsaRestore DefaultsQDialogButtonBoxjraRetryQDialogButtonBox MentsSaveQDialogButtonBoxMindet mentiSave AllQDialogButtonBox &Mindent elfogad Yes to &AllQDialogButtonBox Mdosts dtuma Date Modified QDirModel TpusKind QDirModelNvName QDirModel MretSize QDirModel TpusType QDirModelBezrsClose QDockWidgetDokkoltDock QDockWidget LebegQFloat QDockWidgetKevesebbLessQDoubleSpinBoxTbbMoreQDoubleSpinBox&OK&OK QErrorMessage6zenet megjelentse i&smt&Show this message again QErrorMessageDebug zenet:Debug Message: QErrorMessageVgzetes hiba: Fatal Error: QErrorMessageFigyelmeztets:Warning: QErrorMessage%1 A knyvtr nem tallhat. EllenQrizd, hogy jl adta-e meg a knyvtr nevt.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 A fjl nem tallhat. EllenQrizze, hogy jl adta-e meg a fjl nevt.A%1 File not found. Please verify the correct file name was given. QFileDialog4%1 mr ltezik. Lecserli?-%1 already exists. Do you want to replace it? QFileDialog&Kivlaszts&Choose QFileDialog&Trls&Delete QFileDialog&j knyvtr &New Folder QFileDialog&Megnyits&Open QFileDialogt&nevezs&Rename QFileDialogMent&s&Save QFileDialogB'%1' rsvdett. Biztosan trld?9'%1' is write protected. Do you want to delete it anyway? QFileDialogMinden fjl (*) All Files (*) QFileDialog.Biztosan trld '%1'-t?!Are sure you want to delete '%1'? QFileDialog VisszaBack QFileDialog2A knyvtr nem trlhetQ.Could not delete directory. QFileDialog.j knyvtr ltrehozsaCreate New Folder QFileDialogRszletes nzet Detail View QFileDialogKnyvtrak Directories QFileDialogKnyvtr: Directory: QFileDialogMeghajtDrive QFileDialogFjlFile QFileDialogFjl &neve: File &name: QFileDialogFjlok tpusa:Files of type: QFileDialog*Keress a knyvtrbanFind Directory QFileDialog ElQreForward QFileDialogLista nzet List View QFileDialogKeress itt:Look in: QFileDialogSzmtgp My Computer QFileDialogj knyvtr New Folder QFileDialogMegnyitsOpen QFileDialogSzlQknyvtrParent Directory QFileDialog TrlsRemove QFileDialogMents mskntSave As QFileDialogMegjelents Show  QFileDialog:&Rejtett fjlok megjelentseShow &hidden files QFileDialogIsmeretlenUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 bjt%1 bytesQFileSystemModel<b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelSzmtgpComputerQFileSystemModel Mdosts dtuma Date ModifiedQFileSystemModel&rvnytelen fjlnvInvalid filenameQFileSystemModelKindKindQFileSystemModelSzmtgp My ComputerQFileSystemModelNvNameQFileSystemModel MretSizeQFileSystemModel TpusTypeQFileSystemModelBrmelyikAny QFontDatabaseArabArabic QFontDatabase rmnyArmenian QFontDatabaseBengliBengali QFontDatabase FeketeBlack QFontDatabase KvrBold QFontDatabase CirillCyrillic QFontDatabaseFlDemi QFontDatabaseFlkvr Demi Bold QFontDatabaseDvangri Devanagari QFontDatabaseGergelyGeorgian QFontDatabase GrgGreek QFontDatabaseGujaratiGujarati QFontDatabaseGurmukhiGurmukhi QFontDatabase HberHebrew QFontDatabaseDQltItalic QFontDatabase JapnJapanese QFontDatabaseKannadaKannada QFontDatabase KhmerKhmer QFontDatabase KoreaiKorean QFontDatabaseLaoLao QFontDatabase LatinLatin QFontDatabaseVilgosLight QFontDatabase Malj Malayalam QFontDatabaseMiannmariMyanmar QFontDatabase NormlNormal QFontDatabase FerdeOblique QFontDatabase OghamOgham QFontDatabase OriyaOriya QFontDatabaseRnaRunic QFontDatabase(Egyszerqstett knaiSimplified Chinese QFontDatabaseSinhalaSinhala QFontDatabaseSzimbolumSymbol QFontDatabaseSzrSyriac QFontDatabase TamilTamil QFontDatabase TeluguTelugu QFontDatabase ThaanaThaana QFontDatabaseThaiThai QFontDatabase TibetiTibetan QFontDatabase"Hagyomnyos knaiTraditional Chinese QFontDatabaseVietnm Vietnamese QFontDatabase&Betqtpus&Font QFontDialog &Mret&Size QFontDialog&Alhzott &Underline QFontDialogHatsokEffects QFontDialog$Betqtpu&s stlusa Font st&yle QFontDialog MintaSample QFontDialog,Betqtpus kivlasztsa Select Font QFontDialog&thzott Stri&keout QFontDialog&rsmdWr&iting System QFontDialogBA knyvtrvlts nem sikerlt: %1Changing directory failed: %1QFtp6Kapcsoldva a kiszolglhozConnected to hostQFtp8Kapcsoldva %1 kiszolglhozConnected to host %1QFtp\A kapcsolds a kiszolglhoz nem sikerlt: %1Connecting to host failed: %1QFtp(A kapcsolat bezrultConnection closedQFtp6Az adatkapcsolat elutastva&Connection refused for data connectionQFtpRA kapcsolds %1 kiszolglhoz elutastvaConnection refused to host %1QFtpJA kapcsolat %1 kiszolglval bezrultConnection to %1 closedQFtp>A fjl trlse nem sikerlt: %1Creating directory failed: %1QFtpBA fjl letltse nem sikerlt: %1Downloading file failed: %1QFtp4%1 kiszolglt megtalltam Host %1 foundQFtp6%1 kiszolgl nem tallhatHost %1 not foundQFtp2A kiszolglt megtalltam Host foundQFtpJA knyvtr listzsa nem sikerlt: %1Listing directory failed: %1QFtp@A bejelentkezs nem sikerlt: %1Login failed: %1QFtpNincs kapcsolat Not connectedQFtpFA knyvtr trlse nem sikerlt: %1Removing directory failed: %1QFtp>A fjl trlse nem sikerlt: %1Removing file failed: %1QFtpIsmeretlen hiba Unknown errorQFtpDA fjl feltltse nem sikerlt: %1Uploading file failed: %1QFtpIsmeretlen hiba Unknown error QHostInfo4A kiszolgl nem tallhatHost not foundQHostInfoAgent&Ismeretlen cmtpusUnknown address typeQHostInfoAgentIsmeretlen hiba Unknown errorQHostInfoAgent(Azonosts szksgesAuthentication requiredQHttp6Kapcsoldva a kiszolglhozConnected to hostQHttp8Kapcsoldva %1 kiszolglhozConnected to host %1QHttp(A kapcsolat bezrultConnection closedQHttp,A kapcsolat elutastvaConnection refusedQHttpbA kapcsolat elutastva (vagy idQtllps trtnt)!Connection refused (or timed out)QHttpJA kapcsolat %1 kiszolglval bezrultConnection to %1 closedQHttp*Az adatok megsrltekData corruptedQHttp2A HTTP krs nem sikerltHTTP request failedQHttp:HTTPS connection requested but SSL support not compiled inQHttp4%1 kiszolglt megtalltam Host %1 foundQHttp6%1 kiszolgl nem tallhatHost %1 not foundQHttp2A kiszolglt megtalltam Host foundQHttp2A gp azonostst kvetelHost requires authenticationQHttp:rvnytelen HTTP trzsrszletInvalid HTTP chunked bodyQHttp<rvnytelen HTTP vlasz-fejlcInvalid HTTP response headerQHttp*Nincs szerver megadvaNo server set to connect toQHttp6A proxy azonostst kvetelProxy authentication requiredQHttp6A proxy azonostst kvetelProxy requires authenticationQHttp&A krs megszaktvaRequest abortedQHttp>Az SSL kzfogs sikertelen voltSSL handshake failedQHttpTA szerver vratlanul bezrta a kapcsolatot%Server closed connection unexpectedlyQHttpIsmeretlen hiba Unknown errorQHttp(Ismeretlen protokollUnknown protocol specifiedQHttp&Rossz tartalomhosszWrong content lengthQHttp(Azonosts szksgesAuthentication requiredQHttpSocketEngine4A tranzakci nem indthatCould not start transaction QIBaseDriver2Adatbzis megnyitsi hibaError opening database QIBaseDriver>A tranzakci nem vglegesthetQUnable to commit transaction QIBaseDriverDA tranzakci nem grgethetQ visszaUnable to rollback transaction QIBaseDriverDA mqvelet helyfoglalsa sikertelenCould not allocate statement QIBaseResultJA bemeneti mqvelet lersa sikertelen"Could not describe input statement QIBaseResult8A mqvelet lersa sikertelenCould not describe statement QIBaseResultBA kvetkezQ adat nem olvashat kiCould not fetch next item QIBaseResult(A tmb nem tallhatCould not find array QIBaseResult@A tmbbeli adatok nem rhetQk elCould not get array data QIBaseResultJA lekrdezs-informci nem rhetQ elCould not get query info QIBaseResult\A kvetkezQ mqvelet informcii nem rhetQk elCould not get statement info QIBaseResultBA mqvelet elQksztse sikertelenCould not prepare statement QIBaseResult4A tranzakci nem indthatCould not start transaction QIBaseResult:A mqvelet lezrsa sikertelenUnable to close statement QIBaseResult>A tranzakci nem vglegesthetQUnable to commit transaction QIBaseResult2A BLOB nem hozhat ltre Unable to create BLOB QIBaseResult8A mqvelet nem hajthat vgreUnable to execute query QIBaseResult.A BLOB nem nyithat megUnable to open BLOB QIBaseResult(A BLOB nem olvashatUnable to read BLOB QIBaseResult"A BLOB nem rhatUnable to write BLOB QIBaseResult6Nincs tbb hely az eszkznNo space left on device QIODevice<Nincs ilyen fjl vagy knyvtrNo such file or directory QIODevice*Hozzfrs megtagadvaPermission denied QIODevice.Tl sok fjl van nyitvaToo many open files QIODeviceIsmeretlen hiba Unknown error QIODevice*Mac OS X beviteli mdMac OS X input method QInputContext(Windows beviteli mdWindows input method QInputContextXIMXIM QInputContext XIM beviteli mdXIM input method QInputContextLNem sikerlt mmap-olni a(z) '%1'-t: %2Could not mmap '%1': %2QLibraryNNem sikerlt unmap-olni a(z) '%1'-t: %2Could not unmap '%1': %2QLibraryFPlugin ellenQrzQ adat eltrs: '%1')Plugin verification data mismatch in '%1'QLibraryVQLibrary::load_sys: %1 nem tlthetQ be (%2)'QLibrary::load_sys: Cannot load %1 (%2)QLibrary~QLibrary::load_sys: "%1" szimblum nem definilt ebben: %2 (%3)7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibrary\QLibrary::load_sys: %1 nem tvolthat el (%2)+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryLA(z) '%1' fjl nem rvnyes Qt plugin.'The file '%1' is not a valid Qt plugin.QLibraryA(z) '%1' plugin inkompatbilis Qt fggvnyknyvtrat hasznl. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryA(z) '%1' plugin inkompatbilis Qt knyvtrat hasznl. (A debug s a release knyvtrak nem keverhetQk.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryA(z) '%1' plugin inkompatbilis Qt fggvnyknyvtrat hasznl. A vrt build kucs "%2", a kapott "%3"OThe plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"QLibraryTAz osztott fggvnyknyvtr nem tallhat.!The shared library was not found.QLibraryIsmeretlen hiba Unknown errorQLibrary&Msols&Copy QLineEdit&Beilleszts&Paste QLineEdit j&ra&Redo QLineEdit&Visszavons&Undo QLineEdit&KivgsCu&t QLineEdit TrlsDelete QLineEdit"sszes kijellse Select All QLineEdit<%1: A cm mr hasznlatban van%1: Address in use QLocalServer%1: Hibs nv%1: Name error QLocalServer2%1: hozzfrs megtagadva%1: Permission denied QLocalServer,%1: ismeretlen hiba %2%1: Unknown error %2 QLocalServer*%1: Kapcsoldsi hiba%1: Connection error QLocalSocket4%1: A kapcsolat elutastva%1: Connection refused QLocalSocket*%1: A csomag tl nagy%1: Datagram too large QLocalSocket4%1: A kapcsolat elutastva%1: Invalid name QLocalSocket4%1: A kapcsolat elutastva%1: Remote closed QLocalSocket.%1: Socket elrsi hiba%1: Socket access error QLocalSocket4%1: IdQtllps a socketen%1: Socket operation timed out QLocalSocket:%1: Socket erQforrs problma%1: Socket resource error QLocalSocketT%1: A kvnt socket mqvelet nem tmogatott)%1: The socket operation is not supported QLocalSocketT%1: A kvnt socket mqvelet nem tmogatott%1: Unknown error %2 QLocalSocket4A tranzakci nem indthatUnable to begin transaction QMYSQLDriver>A tranzakci nem vglegesthetQUnable to commit transaction QMYSQLDriver0Nem sikerlt kapcsoldniUnable to connect QMYSQLDriver@Az adatbzis nem nyithat meg: 'Unable to open database ' QMYSQLDriverDA tranzakci nem grgethetQ visszaUnable to rollback transaction QMYSQLDriver@A kimenQ rtk ktse sikertelenUnable to bind outvalues QMYSQLResult6A vltoz ktse sikertelenUnable to bind value QMYSQLResultRA kvetkezQ lekrdezs nem hajthat vgreUnable to execute next query QMYSQLResult>A lekrdezs nem hajthat vgreUnable to execute query QMYSQLResult8A mqvelet nem hajthat vgreUnable to execute statement QMYSQLResult0Az adat nem olvashat kiUnable to fetch data QMYSQLResultJA mqvelet elQksztse nem lehetsgesUnable to prepare statement QMYSQLResultNA mqvelet visszalltsa nem lehetsgesUnable to reset statement QMYSQLResultDA kvetkezQ eredmny nem trolhatUnable to store next result QMYSQLResult2Az eredmny nem trolhatUnable to store result QMYSQLResultTA mqvelet eredmnynek trolsa sikertelen!Unable to store statement results QMYSQLResult(Nvtelen) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Bezrs&Close QMdiSubWindow&thelyezs&Move QMdiSubWindow&Visszallts&Restore QMdiSubWindow &Mret&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindowBezrsClose QMdiSubWindowSgHelp QMdiSubWindowTe&ljes mret Ma&ximize QMdiSubWindowTeljes mretMaximize QMdiSubWindowMenMenu QMdiSubWindow&Kis mret Mi&nimize QMdiSubWindowKis mretMinimize QMdiSubWindowVisszalltsRestore QMdiSubWindowElQzQ mret Restore Down QMdiSubWindowFelgrdtsShade QMdiSubWindow Mindig leg&fell Stay on &Top QMdiSubWindowLegrdtsUnshade QMdiSubWindowBezrsCloseQMenuVgrehajtsExecuteQMenuMegnyitsOpenQMenu<p>A program a Qt Open Source Edition %1 verzit hasznlja.</p><p>A Qt Open Source Edition az Open Source (nylt forrs) alkalmazsok fejlesztshez kszlt. Zrt forrs alkalmazsok fejlesztshez a kereskedelmi Qt licenszre van szksg.</p><p>A Qt licenszelsrQl tovbbi informci a <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> oldalon tallhat.</p>|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxZ<p>A program a Qt %1 verzijt hasznlja.</p>'

This program uses Qt version %1.

 QMessageBoxA Qt nvjegyeAbout Qt QMessageBoxSgHelp QMessageBox,Rszletek elrejtse...Hide Details... QMessageBoxOKOK QMessageBox4Rszletek megjelentse...Show Details... QMessageBox2Beviteli md kivlasztsa Select IMQMultiInputContext*Beviteli md vlasztMultiple input method switcherQMultiInputContextPluginA szveg elemeken megjelentendQ felbukkan beviteli md vlasztMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginREgy msik socket mr figyel ezen a porton4Another socket is already listening on the same portQNativeSocketEngineIPv6 socket hasznlatnak ksrlete IPv6 tmogats nlkli platformon=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine,A kapcsolat elutastvaConnection refusedQNativeSocketEngineFA kapcsolat vrakozsi ideje lejrtConnection timed outQNativeSocketEngineJA csomag mrete miatt nem kldhetQ elDatagram was too large to sendQNativeSocketEngine4A kiszolgl nem rhetQ elHost unreachableQNativeSocketEngine0rvnytelen socket lerInvalid socket descriptorQNativeSocketEngineHlzati hiba Network errorQNativeSocketEngineDIdQtllps hlzati mqvelet sornNetwork operation timed outQNativeSocketEngine.A hlzat nem rhetQ elNetwork unreachableQNativeSocketEngineJA csomag mrete miatt nem kldhetQ elOperation on non-socketQNativeSocketEngine0Az erQforrsok elfogytakOut of resourcesQNativeSocketEngine*Hozzfrs megtagadvaPermission deniedQNativeSocketEngine0Nem tmogatott protokollProtocol type not supportedQNativeSocketEngine$A cm nem elrhetQThe address is not availableQNativeSocketEngineA cm vdettThe address is protectedQNativeSocketEngineFA lefoglaland cm hasznlatban van#The bound address is already in useQNativeSocketEngineRA proxy tpusa nem megfelelQ a mqvelethez,The proxy type is invalid for this operationQNativeSocketEngineRA tvoli kiszolgl bezrta a kapcsolatot%The remote host closed the connectionQNativeSocketEngineTA broadcast socket elQksztse sikertelen%Unable to initialize broadcast socketQNativeSocketEngineZA nem-blokkolo socket elQksztse sikertelen(Unable to initialize non-blocking socketQNativeSocketEngine(Nem fogadhat zenetUnable to receive a messageQNativeSocketEngine&Nem kldhetQ zenetUnable to send a messageQNativeSocketEngineNem rhatUnable to writeQNativeSocketEngineIsmeretlen hiba Unknown errorQNativeSocketEngine:Nem tmogatott socket mqveletUnsupported socket operationQNativeSocketEngineJSikertelen megnyits: %1 egy knyvtr#Cannot open %1: Path is a directoryQNetworkAccessFileBackend<Hiba a(z) %1 megnyitsakor: %2Error opening %1: %2QNetworkAccessFileBackend@Hiba a(z) %1 olvassa kzben: %2Read error reading from %1: %2QNetworkAccessFileBackendTNem helyi fjl megnyitsnak ksrlete: %1%Request for opening non-local file %1QNetworkAccessFileBackend6Hiba a(z) %1 kirsakor: %2Write error writing to %1: %2QNetworkAccessFileBackendJSikertelen megnyits: %1 egy knyvtrCannot open %1: is a directoryQNetworkAccessFtpBackend:Hiba a(z) %1 letltsekor: %2Error while downloading %1: %2QNetworkAccessFtpBackend<Hiba a(z) %1 feltltsekor: %2Error while uploading %1: %2QNetworkAccessFtpBackendrA bejelentkezs sikertelen ide: %1, hitelests szksges0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendXHiba %1 letltsekor - a szerver vlasza: %2)Error downloading %1 - server replied: %2 QNetworkReply4Ismeretlen protokoll: "%1"Protocol "%1" is unknown QNetworkReply*A mqvelet megszaktvaOperation canceledQNetworkReplyImpl4A tranzakci nem indthatUnable to begin transaction QOCIDriver>A tranzakci nem vglegesthetQUnable to commit transaction QOCIDriver>Az inicializls nem lehetsgesUnable to initialize QOCIDriver<A bejelentkezs nem lehetsgesUnable to logon QOCIDriver>A tranzakci nem vglegesthetQUnable to rollback transaction QOCIDriverDAz utasts lefoglalsa sikertelenUnable to alloc statement QOCIResultfAz oszlop ktegelt vgrehajtshoz ktse sikertelen'Unable to bind column for batch execute QOCIResult6A vltoz ktse sikertelenUnable to bind value QOCIResultZA ktegelt utastsok vgrehajtsa sikertelen!Unable to execute batch statement QOCIResult:Az utasts nem vgrehajthatUnable to execute statement QOCIResult:Nem lehet a kvetkezQre lpniUnable to goto next QOCIResultFAz utasts elQksztse sikertelenUnable to prepare statement QOCIResult>A tranzakci nem vglegesthetQUnable to commit transaction QODBCDriver0Nem sikerlt kapcsoldniUnable to connect QODBCDriverVAz automatikus vglegests nem tilthat leUnable to disable autocommit QODBCDriver\Az automatikus vglegests nem engedlyezhetQUnable to enable autocommit QODBCDriverDA tranzakci nem grgethetQ visszaUnable to rollback transaction QODBCDriverQODBCResult::reset: Nem lehet a 'SQL_CURSOR_STATIC' attribtumot belltani a parancson. EllenQrizd az ODBC driver belltstyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult0A vltoz nem rgzthetQUnable to bind variable QODBCResult8A parancs nem hajthat vgreUnable to execute statement QODBCResult0Az eredmny nem elrhetQUnable to fetch QODBCResult<Az elsQ eredmny nem rhetQ elUnable to fetch first QODBCResult@Az utols eredmny nem rhetQ elUnable to fetch last QODBCResult8A kvetkezQ nem olvashat kiUnable to fetch next QODBCResult>Az elQzQ eredmny nem rhetQ elUnable to fetch previous QODBCResultJA parancs elQksztse nem lehetsgesUnable to prepare statement QODBCResult&rvnytelen cm: %1Invalid URI: %1QObjectFA mqvelett nem tmogatott a(z) %1-nOperation not supported on %1QObjectPProtokoll hiba: 0 mretq csomag rkezett)Protocol error: packet of size 0 receivedQObject@Hiba a(z) %1 olvassa kzben: %2Read error reading from %1: %2QObjectbA(z) %1 gp idQ elQtt megszaktotta a kapcsolatot3Remote host closed the connection prematurely on %1QObject2Socket hiba a(z) %1-n: %2Socket error on %1: %2QObject6Hiba a(z) %1 kirsakor: %2Write error writing to %1: %2QObjectNvNameQPPDOptionsModel rtkValueQPPDOptionsModel4A tranzakci nem indthatCould not begin transaction QPSQLDriver>A tranzakci nem vglegesthetQCould not commit transaction QPSQLDriverDA tranzakci nem grgethetQ visszaCould not rollback transaction QPSQLDriver0Nem sikerlt kapcsoldniUnable to connect QPSQLDriver2A feliratkozs sikertelenUnable to subscribe QPSQLDriver0A leiratkozs sikertelenUnable to unsubscribe QPSQLDriver<A lekrdezs nem kszthetQ elUnable to create query QPSQLResultJA parancs elQksztse nem lehetsgesUnable to prepare statement QPSQLResultCentimter (cm)Centimeters (cm)QPageSetupWidgetFormtumFormQPageSetupWidgetMagassg:Height:QPageSetupWidgetInch (in) Inches (in)QPageSetupWidget FekvQ LandscapeQPageSetupWidget MargkMarginsQPageSetupWidgetMillimter (mm)Millimeters (mm)QPageSetupWidgetOrientci OrientationQPageSetupWidgetPaprmret: Page size:QPageSetupWidget PaprPaperQPageSetupWidgetPaprforrs: Paper source:QPageSetupWidgetPont (pt) Points (pt)QPageSetupWidgetllPortraitQPageSetupWidgetFordtott fekvQReverse landscapeQPageSetupWidgetFordtott llReverse portraitQPageSetupWidgetSzlessg:Width:QPageSetupWidgetals marg bottom marginQPageSetupWidgetbal marg left marginQPageSetupWidgetjobb marg right marginQPageSetupWidgetfelsQ marg top marginQPageSetupWidget6A plugin nem lett betltve.The plugin was not loaded. QPluginLoaderIsmeretlen hiba Unknown error QPluginLoader4%1 mr ltezik. Fellrod?/%1 already exists. Do you want to overwrite it? QPrintDialogR%1 egy knyvtr. Vlassz msik fjlnevet.7%1 is a directory. Please choose a different file name. QPrintDialog&Opcik << &Options << QPrintDialog&Opcik >> &Options >> QPrintDialog&Nyomtats&Print QPrintDialogA0 QPrintDialogA1 QPrintDialogA2 QPrintDialogA3 QPrintDialogA4 QPrintDialogA5 QPrintDialogA6 QPrintDialogA7 QPrintDialogA8 QPrintDialogA9 QPrintDialoglnevek: %1 Aliases: %1 QPrintDialogB0 QPrintDialogB1 QPrintDialogB10 QPrintDialogB2 QPrintDialogB3 QPrintDialogB4 QPrintDialogB5 QPrintDialogB6 QPrintDialogB7 QPrintDialogB8 QPrintDialogB9 QPrintDialogC5E QPrintDialog EgyniCustom QPrintDialogDLE QPrintDialog Executive QPrintDialogX%1 fjl nem rhat. Vlassz msik fjlnevet.=File %1 is not writable. Please choose a different file name. QPrintDialog FliFolio QPrintDialogLedger QPrintDialogLegal QPrintDialog LevlLetter QPrintDialogHelyi fjl Local file QPrintDialog&Nyomtats fjlba...Print To File ... QPrintDialog,Nyomtats fjlba (PDF)Print to File (PDF) QPrintDialog:Nyomtats fjlba (PostScript)Print to File (Postscript) QPrintDialogTabloid QPrintDialog6US ltalnos #10-es bortkUS Common #10 Envelope QPrintDialogrs %1 fjlba Write %1 file QPrintDialog,helyben csatlakoztatvalocally connected QPrintDialogismeretlenunknown QPrintDialogBezrsCloseQPrintPreviewDialogElsQ oldal First pageQPrintPreviewDialogOldal igaztsaFit pageQPrintPreviewDialog&Szlessg igaztsa Fit widthQPrintPreviewDialog FekvQ LandscapeQPrintPreviewDialogUtols oldal Last pageQPrintPreviewDialogKvetkezQ oldal Next pageQPrintPreviewDialogOldalbellts Page SetupQPrintPreviewDialogOldalbellts Page setupQPrintPreviewDialogllPortraitQPrintPreviewDialogElQzQ oldal Previous pageQPrintPreviewDialogNyomtatsPrintQPrintPreviewDialogNyomtatsi kp Print PreviewQPrintPreviewDialog.Ktoldalas megjelentsShow facing pagesQPrintPreviewDialog:Az sszes oldal megjelentseShow overview of all pagesQPrintPreviewDialog0Egy oldalas megjelentsShow single pageQPrintPreviewDialogNagytsZoom inQPrintPreviewDialogKicsinytsZoom outQPrintPreviewDialogEgyebekAdvancedQPrintPropertiesWidgetFormQPrintPropertiesWidgetLapPageQPrintPropertiesWidgetEgyeztetsCollateQPrintSettingsOutputSznColorQPrintSettingsOutputSznmd Color ModeQPrintSettingsOutputMsolatokCopiesQPrintSettingsOutputMsolat:Copies:QPrintSettingsOutput Duplex nyomtatsDuplex PrintingQPrintSettingsOutputFormQPrintSettingsOutput Szrkernyalatos GrayscaleQPrintSettingsOutputHosszabb oldal Long sideQPrintSettingsOutput NincsNoneQPrintSettingsOutput OpcikOptionsQPrintSettingsOutput$Kimenet belltsaOutput SettingsQPrintSettingsOutputKezQoldal Pages fromQPrintSettingsOutput"sszes nyomtatsa Print allQPrintSettingsOutput(Nyomtatsi tartomny Print rangeQPrintSettingsOutputFordtottReverseQPrintSettingsOutputKijells SelectionQPrintSettingsOutputRvidebb oldal Short sideQPrintSettingsOutpututols oldaltoQPrintSettingsOutput &Nv:&Name: QPrintWidget...... QPrintWidgetForm QPrintWidget Hely: Location: QPrintWidgetKimeneti &fjl: Output &file: QPrintWidgetTula&jdonsgok P&roperties QPrintWidgetElQnzetPreview QPrintWidgetNyomtatPrinter QPrintWidget Tpus:Type: QPrintWidget MgsemCancelQProgressDialogMegnyitsOpen QPushButtonKijellsCheck QRadioButton>rossz karakterosztly-szintaxisbad char class syntaxQRegExp2rossz lookahead-szintaxisbad lookahead syntaxQRegExp0rossz ismtls-szintaxisbad repetition syntaxQRegExp<letiltott lehetQsg hasznlatadisabled feature usedQRegExp2rvnytelen oktlis rtkinvalid octal valueQRegExp&belsQ korlt elrvemet internal limitQRegExp4hinyz baloldali hatrolmissing left delimQRegExp nem trtnt hibano error occurredQRegExp$vratlan befejezsunexpected endQRegExp2Adatbzis megnyitsi hibaError to open databaseQSQLite2Driver4A tranzakci nem indthatUnable to begin transactionQSQLite2Driver>A tranzakci nem vglegesthetQUnable to commit transactionQSQLite2DriverDA tranzakci nem grgethetQ visszaUnable to rollback TransactionQSQLite2Driver8A parancs nem hajthat vgreUnable to execute statementQSQLite2Result>Az eredmnyek nem olvashatk kiUnable to fetch resultsQSQLite2Result.Adatbzis bezrsi hibaError closing database QSQLiteDriver2Adatbzis megnyitsi hibaError opening database QSQLiteDriver4A tranzakci nem indthatUnable to begin transaction QSQLiteDriver>A tranzakci nem vglegesthetQUnable to commit transaction QSQLiteDriverDA tranzakci nem grgethetQ visszaUnable to rollback transaction QSQLiteDriverres lekrdezsNo query QSQLiteResultBA paramterek szma nem megfelelQParameter count mismatch QSQLiteResult>A paramterek ktse sikertelenUnable to bind parameters QSQLiteResult8A parancs nem hajthat vgreUnable to execute statement QSQLiteResult,A sor nem olvashat kiUnable to fetch row QSQLiteResult8A parancs nem vonhat visszaUnable to reset statement QSQLiteResultLentBottom QScrollBarBal szlen Left edge QScrollBarSor lefel Line down QScrollBarSor felfelLine up QScrollBarOldal lefel Page down QScrollBar Egy oldalt balra Page left QScrollBarOldal jobbra Page right QScrollBarOldal felfelPage up QScrollBarHelyzetPosition QScrollBarJobb szlen Right edge QScrollBarGrgets lefel Scroll down QScrollBarGrgets itt Scroll here QScrollBarGrgets balra Scroll left QScrollBarGrgets jobbra Scroll right QScrollBar Grgets felfel Scroll up QScrollBarFentTop QScrollBar%1: mr ltezik%1: already exists QSharedMemoryF%1: a megadott mret kissebb mint 0%1: create size is less then 0 QSharedMemory"%1: nem tallhat%1: doesn't exists QSharedMemory6%1: ftok hibt adott vissza%1: ftok failed QSharedMemory(%1: a kulcs hinyzik%1: key is empty QSharedMemory*%1: nem lesz csatolva%1: not attached QSharedMemory8%1: az erQforrsok elfogytak%1: out of resources QSharedMemory2%1: hozzfrs megtagadva%1: permission denied QSharedMemoryV%1: a rendszer mretkorltokat lltott fel$%1: system-imposed size restrictions QSharedMemory0%1: a zrols sikertelen%1: unable to lock QSharedMemoryD%1: a kulcs elksztse sikertelen%1: unable to make key QSharedMemoryN%1:zrolsi kulcs belltsa sikertelen%1: unable to set key on lock QSharedMemory2%1: a felolds sikertelen%1: unable to unlock QSharedMemory<%1: az unix kulcsfjl hinyzik %1: unix key file doesn't exists QSharedMemory,%1: ismeretlen hiba %2%1: unknown error %2 QSharedMemory+ QShortcutAlt QShortcut VisszaBack QShortcut&Mly hang kiemelse Bass Boost QShortcut*Mly hang cskkentse Bass Down QShortcut$Mly hang nvelseBass Up QShortcut HvsCall QShortcut Caps Lock QShortcutCapsLock QShortcutKontextus1Context1 QShortcutKontextus2Context2 QShortcutKontextus3Context3 QShortcutKontextus4Context4 QShortcutCtrl QShortcutDelete QShortcutLeDown QShortcutEscape QShortcutF%1 QShortcutKedvencek Favorites QShortcut CsereFlip QShortcut ElQreForward QShortcutHvs vgeHangup QShortcutSegtsgHelp QShortcutKezdQoldal Home Page QShortcutInsert QShortcut(0) indtsa Launch (0) QShortcut(1) indtsa Launch (1) QShortcut(2) indtsa Launch (2) QShortcut(3) indtsa Launch (3) QShortcut(4) indtsa Launch (4) QShortcut(5) indtsa Launch (5) QShortcut(6) indtsa Launch (6) QShortcut(7) indtsa Launch (7) QShortcut(7) indtsa Launch (8) QShortcut(9) indtsa Launch (9) QShortcut(A) indtsa Launch (A) QShortcut(B) indtsa Launch (B) QShortcut(C) indtsa Launch (C) QShortcut(D) indtsa Launch (D) QShortcut(E) indtsa Launch (E) QShortcut(F) indtsa Launch (F) QShortcut0LevelezQprogram indtsa Launch Mail QShortcut,Mdialejtsz indtsa Launch Media QShortcut BalraLeft QShortcutKvetkezQ mdia Media Next QShortcut Mdia lejtszsa Media Play QShortcutElQzQ mdiaMedia Previous QShortcutMdia felvtel Media Record QShortcut Mdia lelltsa Media Stop QShortcutMenMenu QShortcutMeta QShortcutNemNo QShortcutNum Lock QShortcutNumLock QShortcut Number Lock QShortcutURL megynyitsaOpen URL QShortcut Page Down QShortcutPage Up QShortcut SznetPause QShortcutPgDown QShortcutPgUp QShortcutNyomtatsPrint QShortcut Print Screen QShortcutFrisstsRefresh QShortcut JobbraRight QShortcut Scroll Lock QShortcut ScrollLock QShortcutKeressSearch QShortcutKivlasztsSelect QShortcutShift QShortcut SzkzSpace QShortcutStandbyStandby QShortcutStopStop QShortcutSystem Request QShortcut,Magas hang cskkentse Treble Down QShortcut&Magas hang nvelse Treble Up QShortcutFelUp QShortcut&HangerQ cskkentse Volume Down QShortcutNmts Volume Mute QShortcut HangerQ nvelse Volume Up QShortcutIgenYes QShortcutEgy oldalt le Page downQSlider Egy oldalt balra Page leftQSlider"Egy oldalt jobbra Page rightQSliderEgy oldalt felPage upQSliderHelyzetPositionQSliderDIdQtllps hlzati mqvelet sornNetwork operation timed outQSocks5SocketEngineZIdQtllps a socks szerverhez kapcsoldskor/Socks5 timeout error connecting to socks serverQSocks5SocketEngineKevesebbLessQSpinBoxTbbMoreQSpinBox MgsemCancelQSql*Mdostsok elvetse?Cancel your edits?QSqlMegerQstsConfirmQSql TrlsDeleteQSqlRekord trlse?Delete this record?QSqlBeszrsInsertQSqlNemNoQSql(Mdostsok mentse? Save edits?QSqlFrisstsUpdateQSqlIgenYesQSqlZKulcs nlkl nem llthat ki tanustvny, %1,Cannot provide a certificate with no key, %1 QSslSocketXAz SSL kontextus ltrehozsa sikertelen (%1)Error creating SSL context (%1) QSslSocketRHiba az SSL munkamenet ltrehozsakor, %1Error creating SSL session, %1 QSslSocketRHiba az SSL munkamenet ltrehozsakor: %1Error creating SSL session: %1 QSslSocket*SSL kzfogs hiba: %1Error during SSL handshake: %1 QSslSocketZHiba a helyi tanstvny betltse kzben, %1#Error loading local certificate, %1 QSslSocketPHiba a titkos kulcs betltse kzben, %1Error loading private key, %1 QSslSocket"Olvassi hiba: %1Error while reading: %1 QSslSocket^rvnytelen vagy res a titkostk listja (%1)!Invalid or empty cipher list (%1) QSslSocket,Az adat nem rhat: %1Unable to write data: %1 QSslSocket8A kapcsolat nem nyithat megUnable to open connection QTDSDriver8Az adatbzis nem hasznlhatUnable to use database QTDSDriverGrgets balra Scroll LeftQTabBarGrgets jobbra Scroll RightQTabBar&Msols&Copy QTextControl&Beilleszts&Paste QTextControl j&ra&Redo QTextControl&Visszavons&Undo QTextControl.&Link helynek msolsaCopy &Link Location QTextControl&KivgsCu&t QTextControl TrlsDelete QTextControl"sszes kijellse Select All QTextControlMegnyitsOpen QToolButtonNyomd megPress QToolButtonFA platform nem tmogatja az IPv6-ot#This platform does not support IPv6 QUdpSocketjraRedo QUndoGroupVisszavonsUndo QUndoGroup <res> QUndoModeljraRedo QUndoStackVisszavonsUndo QUndoStackBUnicode vezrlQkarakter beszrsa Insert Unicode control characterQUnicodeControlCharacterMenu.LRM (Balrl jobbra jel)LRM Left-to-right markQUnicodeControlCharacterMenu.LRM (Jobbrl balra jel)RLM Right-to-left markQUnicodeControlCharacterMenu0A cm nem megjelenthetQCannot show URL QWebFrame8Nem megjelenthetQ fjltpusCannot show mimetype QWebFrame$A fjl nem ltezikFile does not exist QWebFramejA keret betltse szablyvltoztats miatt megszakadt&Frame load interruped by policy change QWebFrame&A krst blokkoltkRequest blocked QWebFrame&A krs megszaktvaRequest cancelled QWebFrame$%1 (%2x%3 kppont)%1 (%2x%3 pixels)QWebPage*Hozzads a sztrhozAdd To DictionaryQWebPage Hibs HTTP krsBad HTTP requestQWebPageFlkvrBoldQWebPage(Nyelvtan ellenQrzseCheck Grammar With SpellingQWebPage4Nyelvhelyessg ellenQrzseCheck SpellingQWebPageJNyelvhelyessg ellenQrzse gpelskorCheck Spelling While TypingQWebPageFjl tallzsa Choose FileQWebPage6Keressi elQzmnyek rtseClear recent searchesQWebPageMsolsCopyQWebPageKp msolsa Copy ImageQWebPage*Link cmnek msolsa Copy LinkQWebPageKivgsCutQWebPageAlaprtelmezettDefaultQWebPage Irny DirectionQWebPage(Nyelvtan ellenQrzseFontsQWebPage VisszaGo BackQWebPage ElQre Go ForwardQWebPage2Nyelvi eszkzk elrejtseHide Spelling and GrammarQWebPageKihagysIgnoreQWebPageKihagys Ignore Grammar context menu itemIgnoreQWebPageElemzsInspectQWebPageDQltItalicQWebPageBalrl jobbraLTRQWebPage&Keress a sztrbanLook Up In DictionaryQWebPageNincs tallatNo Guesses FoundQWebPage*Nincs fjl kivlaszvaNo file selectedQWebPage.Nincs keressi elQzmnyNo recent searchesQWebPage8Keret megnyitsa j ablakban Open FrameQWebPageKp megnyitsa Open ImageQWebPageLink megnyitsa Open LinkQWebPage*Megnyits j ablakbanOpen in New WindowQWebPagethzottOutlineQWebPageBeillesztsPasteQWebPageJobbrl balraRTLQWebPage&Keressi elQzmnyekRecent searchesQWebPageFrisstsReloadQWebPage TrlsResetQWebPageKp mentse Save ImageQWebPage8Link clpontjnak mentse... Save Link...QWebPageKeress a webenSearch The WebQWebPage:Nyelvi eszkzk megjelentseShow Spelling and GrammarQWebPageNyelvi eszkzkSpellingQWebPageStopStopQWebPage KldsSubmitQWebPage KldsQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPagelEz egy kereshetQ index. rja be a keresendQ szavakat: 3This is a searchable index. Enter search keywords: QWebPageAlhzott UnderlineQWebPageIsmeretlenUnknownQWebPageWeb elemzQ - %2Web Inspector - %2QWebPage Mi ez? What's This?QWhatsThisAction**QWidget&Befejezs&FinishQWizard &Sg&HelpQWizard&KvetkezQ&NextQWizard&KvetkezQ >&Next >QWizard< &Vissza< &BackQWizard MgsemCancelQWizardVglegestsCommitQWizardFolytatsContinueQWizardKszDoneQWizardVisszalpsGo BackQWizardSegtsgHelpQWizardKilpsQuitQWizard%1 - [%2] %1 - [%2] QWorkspace&Bezrs&Close QWorkspace&thelyezs&Move QWorkspace&Visszallts&Restore QWorkspace &Mret&Size QWorkspace&Legrdts&Unshade QWorkspaceBezrsClose QWorkspaceTe&ljes mret Ma&ximize QWorkspace&Kis mret Mi&nimize QWorkspaceKis mretMinimize QWorkspaceElQzQ mret Restore Down QWorkspace&FelgrdtsSh&ade QWorkspace Mindig leg&fell Stay on &Top QWorkspaceaz XML deklarcibl hinyzik a kdolsi informci vagy egy nll deklarciYencoding declaration or standalone declaration expected while reading the XML declarationQXml$rekurzv entitsok3error in the text declaration of an external entityQXml:hiba a komment rtelmezsnl$error occurred while parsing commentQXml<hiba a tartalom rtelmezsnl$error occurred while parsing contentQXml^hiba a dokumentumtpus definci rtelmezsnl5error occurred while parsing document type definitionQXml6hiba az elem rtelmezsnl$error occurred while parsing elementQXml@hiba a hivatkozs rtelmezsnl&error occurred while parsing referenceQXmlzA DTD-ben nincs megengedve belsQ ltalnos entits hasznlata4internal general entity reference not allowed in DTDQXmlNrvnytelen nv parancs feldolgozsakor'invalid name for processing instructionQXml a vrt elem betqletter is expectedQXml<tbb dokumentumtpus definci&more than one document type definitionQXml nem trtnt hibano error occurredQXml$rekurzv entitsokrecursive entitiesQXmldaz XML deklarcibl hinyzik az nll deklarciAstandalone declaration expected while reading the XML declarationQXmleltrQ tag hiba tag mismatchQXml"vratlan karakterunexpected characterQXml vratlan fjlvgunexpected end of fileQXmlrnem rtelmezett entits referencia egy rossz kontextusban*unparsed entity reference in wrong contextQXmlbaz XML deklarci nem tartalmaz verziinformcit2version expected while reading the XML declarationQXmlLrvnytelen rtk nll deklarciban&wrong value for standalone declarationQXmlL%1 egy rvnytelen publikus azonost.#%1 is an invalid PUBLIC identifier. QXmlStream8%1 nem egy rvnyes kdols.%1 is an invalid encoding name. QXmlStreamJ%1 nem rvnyes feldolgozi utasts.-%1 is an invalid processing instruction name. QXmlStream$, de ezt kaptam: ' , but got ' QXmlStreamFAz attributum jra lett definilva.Attribute redefined. QXmlStream2%1 kdols nem tmogatottEncoding %1 is unsupported QXmlStream<'%1' entits nincs deklarlva.Entity '%1' not declared. QXmlStreamAmit vrtam: Expected  QXmlStream4Karakteres adat szksges.Expected character data. QXmlStreamJNem vrt tartalom a dokumentum vgn.!Extra content at end of document. QXmlStream<rvnytelen nvtr deklarci.Illegal namespace declaration. QXmlStream2rvnytelen XML karakter.Invalid XML character. QXmlStream(rvnytelen XML nv.Invalid XML name. QXmlStream<rvnytelen XML verzi string.Invalid XML version string. QXmlStreamXrvnytelen attribtum az XML deklarciban.%Invalid attribute in XML declaration. QXmlStream.rvnytelen dokumentum.Invalid document. QXmlStream4rvnytelen entits rtk.Invalid entity value. QXmlStreamBrvnytelen feldolgozi utasts.$Invalid processing instruction name. QXmlStreamTNDATA a paramter-entits deklarcijban.&NDATA in parameter entity declaration. QXmlStreamPA(z) '%1' nvtr elQtag nincs deklarlva"Namespace prefix '%1' not declared QXmlStreamDA nyit s a zr tag nem egyezik. Opening and ending tag mismatch. QXmlStream@A dokumentum hirtelen vget rt.Premature end of document. QXmlStream6Rekurzv entitst talltam.Recursive entity detected. QXmlStream^Hivatkozs egy nem rtelmezett entitsra: '%1'."Reference to unparsed entity '%1'. QXmlStream^']]>' szekvencia nem megengedett a tartalomban.&Sequence ']]>' not allowed in content. QXmlStreamFCsak igen vagy nem lehet az rtke."Standalone accepts only yes or no. QXmlStream(KezdQ tag szksges.Start tag expected. QXmlStreamVratlan ' Unexpected ' QXmlStreamRVratlan '%1' karakter a publikus id-ben./Unexpected character '%1' in public id literal. QXmlStream4Nem tmogatott XML verzi.Unsupported XML version. QXmlStreamfAz XML deklarci nem a dokumentum elejn kezdQdik.)XML declaration not at start of document. QXmlStreamElnmtvaMuted VolumeSliderHangerQ: %1% Volume: %1% VolumeSlider AlulraBottomWebCore::PlatformScrollbarBal szlre Left edgeWebCore::PlatformScrollbarEgy oldalt le Page downWebCore::PlatformScrollbar Egy oldalt balra Page leftWebCore::PlatformScrollbar"Egy oldalt jobbra Page rightWebCore::PlatformScrollbarEgy oldalt felPage upWebCore::PlatformScrollbarJobb szlre Right edgeWebCore::PlatformScrollbarGrgets lefel Scroll downWebCore::PlatformScrollbarGrgets ide Scroll hereWebCore::PlatformScrollbarGrgets balra Scroll leftWebCore::PlatformScrollbarGrgets jobbra Scroll rightWebCore::PlatformScrollbar Grgets felfel Scroll upWebCore::PlatformScrollbarFellreTopWebCore::PlatformScrollbarkeepassx-0.4.3/share/keepassx/i18n/keepassx-pt_PT.qm0000664000175000017500000016771711342454754021311 0ustar felixfelix>B-C-I0zL1:R2T3U5R;%@)A)B)D*,F*`H*P*R*T+0V+dX+f+r,,;;;;pCH4-MkQQk6SkkZl:Zlp\5]_t=l3$-Ӌ֍0@VEVEo>C}қ#Pns*%^*0++^3JtGH8YJ jLb6LbLbLbiLbnLb}LbnM M}<M4eN N0N9cNANoIO<O?;T6PT=$V!W3*XYӺ[ %>[ %5[ %:z[ %A[ %p}[Zc\^Ta.9""u.Pe1c..bQ338.qG*[+X]gzf/~hQvkLJ:>z_˓(8ei@ ,.f<\ =_^Dsjv[ 4mu} ~IiI;OL[nFRAvWTM|G" %Q:`yY~ S2K n/O  /R Lk:>8Ŧ#NY$# &:^Vt-Km 5ۻ55tBvNEoWN: wl:<ls/ FnHJ 0FYsFYuFrs8HpVt ]ee/ޚGK]S0 > ?pHrÌRÎ#M15/m4&^H!"Cr#C-26G16Gh:Cn#C;Dc,K!N4_PP<UDZ{R4}Enb]Ȯ_=HCHXc9zn-6|#>]S0veq = =~n  NJ 9JmunT&nc&nRd,'58#l^DɃPP''_R͜`nT'ߎmn߸n>\)H>,N 0Dy3&34-4#rI=MJN RO_RѯtDuHuLw,#|Jk Na/e2:ApF 8nfƭƸ*=LX:Ȟ譾<N#^Q ѕB A, Db LY| gw l[~r E$ OD (") d  ; Co C6 C: CB Cp D MTC n%7 ^n) l8 38 9.Ix 5s 5tc 8Se G?nv J 7 LZ~K OZO7 T? aET cT d: d<.k d<8 d d dI nM qEA s/q" s( u~ w$  N"M )l >=W > >x t0 n rb ˔M F>u i `X => lS f f BK f Cr f V f X f [ f t f b 9   # I Y4 LJC Xо Yn ^ h).K +e J= JR   O )l  Ÿ^e| M ͓> ֕ ~ ٷU Զ Q. jr  A:8C 1k &+* ?I B~ LuQ M Z$.% [c vY˷ F ?>s S @5 SU@ g 4? c  h ix 5 w s s + sɩ , ȶ†  X ܾ @~aX ƙh& o @j } ?@O # T^WL T^^ 7wy Sus@ ^e ^} mbD| nf ou }~z .J} P5 P .e k~ @@ 0~? 9 Er6.IaO]B=:$$ߎ.{?EBL&UR܎e>QysNLI[Ss&hSkM#n ؾ nK36cw%-,!,/ўc/ўC^]Q:YqdCe3Ug^`pProgramador, Gestor do ProjectoDeveloper, Project Admin AboutDialogErroError AboutDialogFO ficheiro '%1' no foi encontrado.File '%1' could not be found. AboutDialogInformao sobre como traduzir o KeePassX pode ser encontrada em:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg$Adicionar Favorito Add BookmarkAddBookmarkDlg,Todos os Ficheiros (*) All Files (*)AddBookmarkDlgNavegar... Browse...AddBookmarkDlgEditar Favorito Edit BookmarkAddBookmarkDlgFicheiros:File:AddBookmarkDlgBBases de Dados do KeePass (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgTtulo:Title:AddBookmarkDlgAuto-Escrever Auto-Type AutoTypeDlgnClique na entrada para a transformar em auto-escrever. "Click on an entry to auto-type it. AutoTypeDlg GrupoGroup AutoTypeDlg0KeePassX - Auto-EscreverKeePassX - Auto-Type AutoTypeDlg TtuloTitle AutoTypeDlgUtilizadorUsername AutoTypeDlgF'%1' no um valor inteiro vlido. '%1' is not valid integer value.CDbSettingsDlgFAES(Rijndael): 256 Bit (omisso)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgErroErrorCDbSettingsDlgOKOKCDbSettingsDlgbPor favor indique o nmero de rondas de cifragem.1Please determine the number of encryption rounds.CDbSettingsDlgConfiguraesSettingsCDbSettingsDlgnO nmero de rondas de cifragem tem de ser superior a 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlg AvisoWarningCDbSettingsDlg %1 Bit%1 Bit CEditEntryDlg 1 Ms1 Month CEditEntryDlg1 Semana1 Week CEditEntryDlg 1 Ano1 Year CEditEntryDlg2 Semanas2 Weeks CEditEntryDlg3 Meses3 Months CEditEntryDlg3 Semanas3 Weeks CEditEntryDlg6 Meses6 Months CEditEntryDlg$Adicionar Anexo...Add Attachment... CEditEntryDlgCalendrio... Calendar... CEditEntryDlgDNo foi possvel abrir o ficheiro.Could not open file. CEditEntryDlg"Eliminar o Anexo?Delete Attachment? CEditEntryDlgEditar Entrada Edit Entry CEditEntryDlgErroError CEditEntryDlg8Erro ao escrever o ficheiro.Error while writing the file. CEditEntryDlgNova Entrada New Entry CEditEntryDlgNo, Cancelar No, Cancel CEditEntryDlgOKOK CEditEntryDlgA senha e a repetio da senha so diferentes. Por favor verifique os dados introduzidos.HPassword and password repetition are not equal. Please check your input. CEditEntryDlgGravar Anexo...Save Attachment... CEditEntryDlgtA entrada seleccionada no tem nenhum anexo ou est vazia.2The chosen entry has no attachment or it is empty. CEditEntryDlg TtuloToday CEditEntryDlg AvisoWarning CEditEntryDlgSimYes CEditEntryDlgzEst prestes a eliminar o anexo desta entrada. Tem a certeza?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg([Entrada sem Ttulo][Untitled Entry] CEditEntryDlg%1 Bits%1 Bits CGenPwDialog Gerador de SenhaPassword Generator CGenPwDialogL%1: O ficheiro no pode ser carregado.%1: File could not be loaded.CSelectIconDlg4Adicionar Icon CostumizadoAdd Custom IconCSelectIconDlg&Adicionar Icones... Add Icons...CSelectIconDlgTOcorreu um erro ao carregar o(s) icon(es):+An error occured while loading the icon(s):CSelectIconDlgFOcorreu um erro ao carregar o icon.(An error occured while loading the icon.CSelectIconDlgEliminarDeleteCSelectIconDlgErroErrorCSelectIconDlgImagens (%1) Images (%1)CSelectIconDlgEscolherPickCSelectIconDlgSubstituir... Replace...CSelectIconDlg0Escolha um directrio...Select a directory... CSettingsDlg0Escolha um executvel...Select an executable... CSettingsDlgConfiguraesSettings CSettingsDlg(Linguagem do SistemaSystem Language CSettingsDlgCalendrioCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Random pool successfully reseeded!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgxA coleccionar entropia... Por favor mova o ponteiro do rato e/ou pressione algumas teclas at que a entropia necessria para re-alimentar o gerador de nmeros aleatrios seja coleccionada.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg(Coleco de EntropiaEntropy CollectionCollectEntropyDlg:Gerador de Nmeros AleatriosRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogNome do AnexoAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogNegritoBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogCentradoCenteredCustomizeDetailViewDialogComentrioCommentCustomizeDetailViewDialogData de Criao Creation DateCustomizeDetailViewDialogDilogoDialogCustomizeDetailViewDialog Data de ValidadeExpiration DateCustomizeDetailViewDialog Tamanho da Fonte Font SizeCustomizeDetailViewDialog GrupoGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogItlicoItalicCustomizeDetailViewDialogJustificado JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog*Data do ltimo AcessoLast Access DateCustomizeDetailViewDialog4Data da ltima ModificaoLast Modification DateCustomizeDetailViewDialog&Alinhado Esquerda Left-AlignedCustomizeDetailViewDialog SenhaPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog0Editor de Texto AvanadoRich Text EditorCustomizeDetailViewDialog$Alinhado Direita Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialogModelos TemplatesCustomizeDetailViewDialogCor do Texto Text ColorCustomizeDetailViewDialog"Tempo at ExpirarTime till ExpirationCustomizeDetailViewDialog TtuloTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogSublinhado UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialogUtilizadorUsernameCustomizeDetailViewDialog NuncaNeverDatabaseAlgoritmo: Algorithm:DatabaseSettingsDlgrCalcular rondas para 1 segundo de atraso neste computador6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg<Configuraes da Base de DadosDatabase SettingsDatabaseSettingsDlg Cifra EncryptionDatabaseSettingsDlg&Rondas de Cifragem:Encryption Rounds:DatabaseSettingsDlgComentrioCommentDetailViewTemplateCriaoCreationDetailViewTemplateValidade ExpirationDetailViewTemplate GrupoGroupDetailViewTemplateltimo Acesso Last AccessDetailViewTemplate$ltima ModificaoLast ModificationDetailViewTemplate SenhaPasswordDetailViewTemplate TtuloTitleDetailViewTemplateURLURLDetailViewTemplateUtilizadorUsernameDetailViewTemplate%1%1EditEntryDialog %1 Bit%1 BitEditEntryDialog Anexo: Attachment:EditEntryDialogComentrio:Comment:EditEntryDialogEditar Entrada Edit EntryEditEntryDialogExpira:Expires:EditEntryDialog Ge&r.Ge&n.EditEntryDialog Grupo:Group:EditEntryDialog Icone:Icon:EditEntryDialog NuncaNeverEditEntryDialog Senha: Password:EditEntryDialogQualidade:Quality:EditEntryDialogRepetir:Repeat:EditEntryDialogTtulo:Title:EditEntryDialogURL:URL:EditEntryDialogUtilizador: Username:EditEntryDialog>>EditGroupDialog*Propriedades do GrupoGroup PropertiesEditGroupDialog Icone:Icon:EditGroupDialogTtulo:Title:EditGroupDialogrFazer duplo-clique sobre uma entrada para saltar para l.'Double click on an entry to jump to it.ExpiredEntriesDialogExpiradaExpiredExpiredEntriesDialog$Entradas ExpiradasExpired EntriesExpiredEntriesDialogFEntradas Expiradas na Base de DadosExpired Entries in the DatabaseExpiredEntriesDialog GrupoGroupExpiredEntriesDialog TtuloTitleExpiredEntriesDialogUtilizadorUsernameExpiredEntriesDialog,Todos os Ficheiros (*) All Files (*)Export_KeePassX_Xml*Ficheiro XML KeePassXKeePassX XML FileExport_KeePassX_Xml*Ficheiros XML (*.xml)XML Files (*.xml)Export_KeePassX_Xml,Todos os Ficheiros (*) All Files (*) Export_Txt"Ficheiro de Texto Text File Export_Txt4Ficheiros de Texto (*.txt)Text Files (*.txt) Export_Txt&A Exportao Falhou Export Failed ExporterBase(Exportar Ficheiro...Export File... ExporterBase,Ocorreu um erro fatal.A fatal error occurred. FileErrors4O tempo de espera expirou.A timeout occurred. FileErrorsFOcorreu um erro ao ler do ficheiro..An error occurred while reading from the file. FileErrorsXOcorreu um erro ao escrever para o ficheiro.,An error occurred while writing to the file. FileErrors6Ocorreu um erro de recurso.An resource error occurred. FileErrorsBOcorreu um erro no especificado.An unspecified error occurred. FileErrors0No ocorreu nenhum erro.No error occurred. FileErrorsFNo foi possvel aceder ao ficheiro.The file could not be accessed. FileErrorsFNo foi possvel copiar o ficheiro.The file could not be copied. FileErrorsDNo foi possvel abrir o ficheiro.The file could not be opened. FileErrorsHNo foi possvel remover o ficheiro.The file could not be removed. FileErrorsTNo foi possvel mudar o nome ao ficheiro.The file could not be renamed. FileErrorsTNo foi possvel redimensionar o ficheiro.The file could not be resized. FileErrors0A operao foi abortada.The operation was aborted. FileErrors^No foi possvel alterar a posio no ficheiro..The position in the file could not be changed. FileErrors$&Letras Minsculas&Lower LettersGenPwDlg &Menos&MinusGenPwDlg&Nmeros&NumbersGenPwDlg*Caracteres &Especiais&Special CharactersGenPwDlg&Sublinhado &UnderlineGenPwDlg$&Letras Maisculas&Upper LettersGenPwDlg$&Espaos em Branco &White SpacesGenPwDlgLColeccionar somente uma vez por sessoCollect only once per sessionGenPwDlgPersonalizadoCustomGenPwDlg:Permitir coleccionar entropiaEnable entropy collectionGenPwDlgrGarantir que a senha contm caracteres de todos os grupos9Ensure that password contains characters from every groupGenPwDlg<Excluir caracteres semelhantesExclude look-alike charactersGenPwDlg GerarGenerateGenPwDlgComprimento:Length:GenPwDlg"Letras Minsculas Lower LettersGenPwDlgNova Senha: New Password:GenPwDlgNmerosNumbersGenPwDlg OpesOptionsGenPwDlg"Gerador de SenhasPassword GeneratorGenPwDlgPronuncivel PronounceableGenPwDlgQualidade:Quality:GenPwDlgAleatrioRandomGenPwDlg(Caracteres EspeciaisSpecial CharactersGenPwDlg"Letras Maisculas Upper LettersGenPwDlgFUse o seguinte grupo de caracteres:Use following character groups:GenPwDlg8Use os seguintes caracteres:Use the following characters:GenPwDlgPrimeira Pgina First PageHelpDlg"Contedo de Ajuda Help ContentsHelpDlgPgina Seguinte Next PageHelpDlgPgina Anterior Previous PageHelpDlg,Todos os Ficheiros (*) All Files (*)Import_KWalletXml:O documento no contm dados.Document does not contain data.Import_KWalletXml&A Importao Falhou Import FailedImport_KWalletXmldDados XML Invlidos (veja o stdout para detalhes).*Invalid XML data (see stdout for details).Import_KWalletXml,Ficheiro XML Invlido.Invalid XML file.Import_KWalletXml(Ficheiro XML (*.xml)XML Files (*.xml)Import_KWalletXml,Todos os Ficheiros (*) All Files (*)Import_KeePassX_Xml&A Importao Falhou Import FailedImport_KeePassX_Xml:Ficheiros XML KeePass (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlErro de anlise: O ficheiro no um ficheiro XML KeePass vlido.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmltOcorreu um erro de anlise de XML na linha %1 coluna %2 %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml,Todos os Ficheiros (*) All Files (*)Import_PwManager^Ficheiros comprimidos ainda no so suportados.'Compressed files are not supported yet.Import_PwManagerhO ficheiro est danificado (o teste de hash falhou).#File is damaged (hash test failed).Import_PwManager,O ficheiro est vazio.File is empty.Import_PwManager\O ficheiro no um ficheiro PwManager vlido. File is no valid PwManager file.Import_PwManager&A Importao Falhou Import FailedImport_PwManagerdDados XML Invlidos (veja o stdout para detalhes).*Invalid XML data (see stdout for details).Import_PwManager6Ficheiros PwManager (*.pwm)PwManager Files (*.pwm)Import_PwManagerBAlgoritmo de cifra no suportado.!Unsupported encryption algorithm.Import_PwManagerBVerso no suportada do ficheiro.Unsupported file version.Import_PwManager@Algoritmo de hash no suportado.Unsupported hash algorithm.Import_PwManagerSenha errada.Wrong password.Import_PwManager&A Importao Falhou Import Failed ImporterBase(Importar Ficheiro...Import File... ImporterBaseDNo foi possvel abrir o ficheiro.Could not open file. Kdb3DatabaseA descifragem falhou. A chave est errada ou o ficheiro est danificado.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseO teste de hash falhou. A chave est errada ou o ficheiro est danificado.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database2rvore de grupo invlida.Invalid group tree. Kdb3Database>O ficheiro de chave est vazio.Key file is empty. Kdb3DatabaseVA base de dados foi aberta s para leitura.'The database has been opened read-only. Kdb3DatabasedA base de dados tem de conter pelo menos um grupo.-The database must contain at least one group. Kdb3DatabasebNo foi possvel inicializar o algoritmo twofish.+Unable to initialize the twofish algorithm. Kdb3DatabasebErro inesperado: O offset est fora do intervalo.)Unexpected error: Offset is out of range. Kdb3Database~Tamanho do ficheiro inesperado (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database@Algoritmo de Cifra Desconhecido.Unknown Encryption Algorithm. Kdb3Database@Algoritmo de cifra desconhecido.Unknown encryption algorithm. Kdb3DatabaseBVerso no Suportada do Ficheiro.Unsupported File Version. Kdb3Database"Assinatura ErradaWrong Signature Kdb3Database BytesBytesKdb3Database::EntryHandleGBGiBKdb3Database::EntryHandleKBKiBKdb3Database::EntryHandleMBMiBKdb3Database::EntryHandlehTem a certeza que deseja eliminar estas %1 entradas?1Are you sure you want to delete these %1 entries?KeepassEntryView^Tem a certeza que deseja eliminar esta entrada?+Are you sure you want to delete this entry?KeepassEntryViewPelo menos um grupo tem de existir antes de adicionar uma entrada.5At least one group must exist before adding an entry.KeepassEntryView Anexo AttachmentKeepassEntryViewComentriosCommentsKeepassEntryViewCriaoCreationKeepassEntryViewEliminar?Delete?KeepassEntryViewErroErrorKeepassEntryView ExpiraExpiresKeepassEntryView GrupoGroupKeepassEntryViewltimo Acesso Last AccessKeepassEntryView$ltima Modificao Last ChangeKeepassEntryViewOKOKKeepassEntryView SenhaPasswordKeepassEntryView TtuloTitleKeepassEntryViewURLURLKeepassEntryViewUtilizadorUsernameKeepassEntryViewTem a ceretza que deseja eliminar este grupo, todos os seus grupos filho e todas as suas entradas?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewEliminar?Delete?KeepassGroupView*Resultados da ProcuraSearch ResultsKeepassGroupView%1 Dias%1 DaysKeepassMainWindow%1 Meses %1 MonthsKeepassMainWindow%1 Anos%1 YearsKeepassMainWindow4&Bloquear rea de Trabalho&Lock WorkspaceKeepassMainWindow 1 Dia1 DayKeepassMainWindow 1 Ms1 MonthKeepassMainWindow 1 Ano1 YearKeepassMainWindow,Todos os Ficheiros (*) All Files (*)KeepassMainWindowClonar Entradas Clone EntriesKeepassMainWindowClonar Entrada Clone EntryKeepassMainWindow~No foi possvel criar o ficheiro de bloqueio da base de dados.#Couldn't create database lock file.KeepassMainWindowNo foi possvel criar o ficheiro de bloqueio. A abrir a base de dados.s em leitura.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowNo foi possvel remover o ficheiro de bloqueio da base de dados.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow<A base de dados est bloqueadaDatabase lockedKeepassMainWindow"Eliminar EntradasDelete EntriesKeepassMainWindow Eliminar Entrada Delete EntryKeepassMainWindowErroErrorKeepassMainWindowExpiradoExpiredKeepassMainWindowFNo foi possvel gravar o ficheiro.File could not be saved.KeepassMainWindow<Bases de Dados KeePass (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow:A Carregar a Base de Dados...Loading Database...KeepassMainWindow*O Carregamento FalhouLoading FailedKeepassMainWindow0Abrir a Base de Dados...Open Database...KeepassMainWindow*Abrir s para leituraOpen read-onlyKeepassMainWindow ProntoReadyKeepassMainWindow.Gravar Base de Dados...Save Database...KeepassMainWindow:Gravar o ficheiro modificado?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow:Mostrar &Barra de Ferramentas Show &ToolbarKeepassMainWindow|O ficheiro actual foi modificado. Deseja gravar as alteraes??The current file was modified. Do you want to save the changes?KeepassMainWindowNO ficheiro de base de dados no existe.!The database file does not exist.KeepassMainWindowA base de dados que est a tentar abrir est bloqueada. Isto significa que ou outra pessoa abriu o ficheiro ou o KeePassX teve algum problema a abrir a base de dados a ltima vez que foi utilizado. Quer abri-la de qualquer forma?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowhO seguinte erro ocorreu ao carregar a base de dados:7The following error occured while opening the database:KeepassMainWindow:Desb&loquear rea de TrabalhoUn&lock WorkspaceKeepassMainWindow\Erro desconhecido ao carregar a base de dados.%Unknown error while loading database.KeepassMainWindowmenos que 1 dialess than 1 dayKeepassMainWindowbloqueadolockedKeepassMainWindownovonewKeepassMainWindowErroErrorMainFO ficheiro '%1' no foi encontrado.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&Sobre... &About... MainWindow,&Adicionar Favorito...&Add Bookmark... MainWindow8&Adicionar Novo Sub-Grupo...&Add New Subgroup... MainWindow&Favoritos &Bookmarks MainWindow&Clonar Entrada &Clone Entry MainWindow.&Fechar a Base de Dados&Close Database MainWindow&Colunas&Columns MainWindow&Comentrio&Comment MainWindowDConfiguraes de Base de &Dados...&Database Settings... MainWindow&Eliminar Grupo &Delete Group MainWindow &Editar Grupo...&Edit Group... MainWindow&Entradas&Entries MainWindow"&Exportar para... &Export to... MainWindow&Ficheiro&File MainWindow &Grupo&Group MainWindow&Grupos&Groups MainWindow &Ajuda&Help MainWindow&Importar de...&Import from... MainWindow,Manual do &KeePassX...&KeePassX Handbook... MainWindow&ltima &Modificao &Last Change MainWindow4&Bloquear rea de Trabalho&Lock Workspace MainWindow&&Gerir Favoritos...&Manage Bookmarks... MainWindow,&Nova Base de Dados...&New Database... MainWindow.&Abrir Base de Dados...&Open Database... MainWindow&Abrir URL &Open URL MainWindow &Senha &Password MainWindow*Gerador de &Senhas...&Password Generator... MainWindow2&Efectuar Tipo-Automtico&Perform AutoType MainWindow &Sair&Quit MainWindow*&Gravar Anexo Como...&Save Attachment As... MainWindow.&Gravar a Base de Dados&Save Database MainWindow"&Configuraes... &Settings... MainWindow&Ttulo&Title MainWindow&URL&URL MainWindow &Vista&View MainWindow,&Ver/Editar Entrada...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow A&nexo A&ttachment MainWindow4Adicionar &Nova Entrada...Add &New Entry... MainWindow.Adicionar Novo Grupo...Add New Group... MainWindowVMarcar &esta Base de Dados como Favorita...Bookmark &this Database... MainWindowC&riao C&reation MainWindow0Alterar Chave &Mestre...Change &Master Key... MainWindow^Copiar &Utilizador para a rea de TransfernciaCopy &Username to Clipboard MainWindowTCopiar Senha &para a rea de-TransfernciaCopy Password &to Clipboard MainWindowRCopiar o URL para a rea de TransfernciaCopy URL to Clipboard MainWindow"E&liminar Entrada De&lete Entry MainWindowE&xpiraE&xpires MainWindowE&xtrasE&xtras MainWindow GruposGroups MainWindowEsconderHide MainWindow Esconder &SenhasHide &Passwords MainWindow,Esconder &UtilizadoresHide &Usernames MainWindowKeePassXKeePassX MainWindowltima &Acesso Last &Access MainWindowReciclagem...Recycle Bin... MainWindow:Gravar Base de Dados &Como...Save Database &As... MainWindow:Procurar &na Base de Dados...Search &in Database... MainWindow0Procurar neste &Grupo...Search in this &Group... MainWindow8Mostrar Detalhes da &EntradaShow &Entry Details MainWindow<Mostrar Entradas &Expiradas...Show &Expired Entries... MainWindow0Mostrar &Barra de EstadoShow &Statusbar MainWindowOrdenar grupos Sort groups MainWindowVTamanho dos &Icones da Barra de FerramentasToolbar &Icon Size MainWindowUtili&zador User&name MainWindowGerir FavoritosManage BookmarksManageBookmarksDlgF%1 No foi possvel ler o ficheiro.%1: File is not readable.PasswordDialogN%1 O ficheiro ou directrio no existe.%1: No such file or directory.PasswordDialog,Todos os Ficheiros (*) All Files (*)PasswordDialog*Altere a Chave MestreChange Master KeyPasswordDialog4Criar Ficheiro de Chave...Create Key File...PasswordDialog,Chave da Base de Dados Database KeyPasswordDialog*Insira a Chave MestreEnter Master KeyPasswordDialog4Ficheiros de Chave (*.key)Key Files (*.key)PasswordDialogltima Ficheiro Last FilePasswordDialog|Por favor insira uma Senha ou seleccione um ficheiro de chave.-Please enter a Password or select a key file.PasswordDialog6Por favor insira uma Senha.Please enter a Password.PasswordDialogNPor favor indique um ficheiro de chave.Please provide a key file.PasswordDialog8Escolha um Ficheiro de ChaveSelect a Key FilePasswordDialog0Configure a Chave MestreSet Master KeyPasswordDialogO directrio indicado contm mais do que um ficheiros de chaves. Por favor indique o ficheiro de chave directamente.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogvO directrio indicado no contm nenhum ficheiro de chaves.3The given directory does not contain any key files.PasswordDialogO ficheiro ou directrio de chave seleccionado no pode ser lido.3The selected key file or directory is not readable.PasswordDialog&Navegar... &Browse... PasswordDlg VoltarBack PasswordDlgfInsira uma Senha e/ou escolha um ficheiro de chave.*Enter a Password and/or choose a key file. PasswordDlg4Gerar Ficheiro de Chave...Generate Key File... PasswordDlg ChaveKey PasswordDlg$Ficheiro de Chave: Key File: PasswordDlgltimo Ficheiro Last File PasswordDlg Senha: Password: PasswordDlg2As senhas no so iguais.Passwords are not equal. PasswordDlg:Por favor repita a sua senha:Please repeat your password: PasswordDlgProcurarSearch SearchDialog.&Sensveis a Maisculas&Case Sensitive Search_Dlg&Ttulos&Titles Search_Dlg&Utilizadores &Usernames Search_DlgA&nhangA&nhang Search_DlgC&omentrios C&omments Search_Dlg<Incluir Sub-Grupos (recursivo)Include Subgroups (recursive) Search_DlgIncluir:Include: Search_DlgSen&has Pass&words Search_Dlg$E&xpresso RegularRegular E&xpression Search_DlgProcurar Por: Search For: Search_DlgProcurar... Search... Search_Dlg U&RLsU&RLs Search_Dlg"Seleco de IconeIcon Selection SelectIconDlgAvanadoAdvancedSettingsDialog6Cores Alternadas de ColunasAlternating Row ColorsSettingsDialogjPerguntar sempre antes de eliminar entradas ou grupos,Always ask before deleting entries or groupsSettingsDialogAparncia AppearanceSettingsDialog Autor:Author:SettingsDialogJAjuste Pormenorizado do Auto-EscreverAuto-Type Fine TuningSettingsDialogtAutomaticamente gravar a base de dados aps cada alterao.Automatically save database after every changeSettingsDialogAutomaticamente gravar a base de dados ao sair e ao bloquear a rea de trabalho9Automatically save database on exit and workspace lockingSettingsDialog"Cor do Estandarte Banner ColorSettingsDialogFavoritos BookmarksSettingsDialogNavegarBrowseSettingsDialogNavegar... Browse...SettingsDialogMo&dificar... C&hange...SettingsDialogModificar... Change...SettingsDialog,Limpar Histrico AgoraClear History NowSettingsDialogDLimpar rea de transferncia aps:Clear clipboard after:SettingsDialog Cor 1:Color 1:SettingsDialog Cor 2:Color 2:SettingsDialogConfigurar... Configure...SettingsDialogDComando Personalizado de NavegadorCustom Browser CommandSettingsDialog\Personalizar a Vista Detalhada das Entradas...Customize Entry Detail View...SettingsDialog@Janela da Chave de Base de DadosDatabase Key DialogSettingsDialogAtraso entre dois pressionar de teclas simulados. Aumente isto se o Auto-Escrever estiver aleatoriamente a saltar caracteres.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogjEliminar entradas de salvaguardas mais velhas do que:!Delete backup entries older than:SettingsDialog0No expandir nenhum itemDo not expand any itemSettingsDialog6Editar Janelas das EntradasEdit Entry DialogSettingsDialogActive isto se deseja usar os seus favoritos e o ltimo ficheiros aberto independentemente dos seus caminhos absolutos. Isto especialmente til quando usa o KeePassX de forma portvel e portanto com pontos de montagem diferentes em cada sistema de ficheiros.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog.Expandir todos os itemsExpand all itemsSettingsDialogGeral (1) General (1)SettingsDialogGeral (2) General (2)SettingsDialogFAtalho Global para o Auto-Escrever:Global Auto-Type Shortcut:SettingsDialoghIntegrao com o Ambiente de Janelas Gnome (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog:rvore de grupos no arranque:Group tree at start-up:SettingsDialogRIntegrao com o Ambiente de Janelas KDE4KDE 4 Desktop IntegrationSettingsDialog<Atraso no Pressionar da Tecla:Key Stroke Delay:SettingsDialogLinguagemLanguageSettingsDialogLinguagem: Language:SettingsDialogZBloquear a base de dados aps inactividade de!Lock database after inactivity ofSettingsDialog~Bloquear rea de trabalho quando se minimiza a janela principal.Lock workspace when minimizing the main windowSettingsDialogRaz de Media: Media Root:SettingsDialogxMinimizar para o tabuleiro em vez de para a barra de tarefas#Minimize to tray instead of taskbarSettingsDialog NenhumNoneSettingsDialogExtensesPlug-InsSettingsDialogPre-Gap:Pre-Gap:SettingsDialogXLembrar o ltimo tipo de chave e localizao#Remember last key type and locationSettingsDialog@Lembrar o ltimo ficheiro abertoRemember last opened fileSettingsDialog2Restaurar o ltimo estadoRestore last stateSettingsDialogzGravar salvaguardas de entradas modificadas no grupo 'Backup'8Save backups of modified entries into the 'Backup' groupSettingsDialoghGravar directrios recentes das janelas de navegao'Save recent directories of file dialogsSettingsDialognGravar caminhos relativos (favoritos e ltimo ficheiro)-Save relative paths (bookmarks and last file)SettingsDialogSeguranaSecuritySettingsDialogConfiguraesSettingsSettingsDialogBMostar senhas em texto aberto em:Show plain text passwords in:SettingsDialogHMostar icone no tabuleiro do sistemaShow system tray iconSettingsDialog:Mostrar janela sempre em cimaShow window always on topSettingsDialog"Iniciar bloqueado Start lockedSettingsDialog$Iniciar minimizadoStart minimizedSettingsDialogCor do texto: Text Color:SettingsDialogO directrio onde dispositivos de armazenamento como CD's e cartes de memria so normalmente montados.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogTempo entre a activao de uma aco de auto-escrever pelo utilizador e a primeira simulao de uma tecla pressionada.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogUsar o ttulo das entradas para emparelhar com a janela para o Auto-Escrever Global;Use entries' title to match the window for Global Auto-TypeSettingsDialogPode desactivar diversas funcionalidades do KeePassX aqui de acordo com as suas necessidades de forma a manter o aspecto mais limpo.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogPrecisa de reiniciar o programa para que as alteraes tenham efeito.?You need to restart the program before the changes take effect.SettingsDialogdiasdaysSettingsDialogmsmsSettingsDialogsegundossecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget$Insira a sua SenhaEnter your PasswordSimplePasswordDialog Senha: Password:SimplePasswordDialogNAuto-Escrever: Seleccione a Janela AlvoAuto-Type: Select Target WindowTargetWindowDlgPara especificar a janela alvo, ou seleccione uma janela actualmente aberta da lista, ou insira o ttulo da janela manualmente:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg*Portuguese (Portugal)$LANGUAGE_NAME TranslationLFlvio Moringa (Caixa Mgica Software)$TRANSLATION_AUTHOR Translation:flavio.moringa@caixamagica.pt$TRANSLATION_AUTHOR_EMAIL Translationj<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">A rea de trabalho est bloqueada.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget,Fechar a Base de DadosClose DatabaseWorkspaceLockedWidgetFormFormWorkspaceLockedWidgetDesbloquearUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-fi_FI.qm0000664000175000017500000016344711342454754021233 0ustar felixfelix=RB+C,jI.L/R17T2'U39@(A(4B(hD(F(H)P)8R)lT)V)X*f*<r*p+;;;;m1CxH4Mh+QQhbShZl9&Zlm\4]̚_tl$,$9֍,.VEVEyo<}E#n*%*0+S+3JpGH8J gLb@LbLbLb'LbkLbyLb,M M};M4N N.mN7N@NlYO;yO=T4T;V/W3X|Yh[ % >[ %3S[ %8[ %@L[ %m[Z\^T-a.7"u-,Pe0-a,}.._318.O"qE*Ys+]df/~c`hO"kJJn:|X{_c˓'98e@~ ,.cr<\ |=\Dsj@[ 2mq} ~IUI9J[n{?FRvW$J|E %N`yWE0 n-  /Po Lh:>8*#NW$#&:^S-Kj5ۻ55q^Bb\n (ttu)uauuv vAvyvvw!wYwwxx9xq x,]LW-}b~^vNDPlWN:Ņl:;Cls/ &nFkJ /FYsFYuFrpHpVt]ee.ޚK]P i<> FÌOÎ#K3`5f/m_4%I^GB!"C#C-c26G6G:Ck-C:BDcK!N2PP:UDXi{O}En`D]]Z#HAHV93zn-4>Z2veq = =zn LzJ 'J?xmrHt&nE&nP,58#ilDɃNUP''x_R`nR,'ߎjnd߸>Z)H>,Nd0B3H34 4#oI={MJNRO_RYtuHu(w,#y:J N_eV08m\ H7Uklƭ{Ƹ*D aER c d:3 d<, d<7 d dR dIb nM= qE? s/nB s(y u~ ~ w  N" ) >; > > t/Y k oB ˔K F> g ] ==y lSU f f @ f A f S f Vd f Y f q f n 8Y   # I YB LJ Xо0 Yn ^ h).I +eB J<, JP a  s ) ! Ÿ^b M ͓> ֕ Υ ٷSb b Q. g Y A:6 / &+* ?I} BzR LuN M Z$, [ck vY% D ?= SW @3 SR g 4 c  f* f 5 w s s s- , ȶ^ F U ܾu @~^ ƙeb l > z ?@M  T^T T^\ 7wy Sus?( ^ ^} mbDx n or }~ .H P PR .b} k~ @ 0~ϳ O Er5.H$aM+B:O$$ߎI.{?EnBL&R܎'e>OlysL@ [^phQpkK#n ؾjK1h6bC]ct %+!\/ўo/ўTC^ Q: YqdBFe3S#g^^lp:tCXQs|Ȟ\[ ciծ TekijAuthor AboutDialog*Tmnhetkinen knnsCurrent Translation AboutDialogKehittj Developer AboutDialog>Kehittj, projektin yllpitjDeveloper, Project Admin AboutDialog VirheError AboutDialog0Tiedostoa "%1" ei lydy.File '%1' could not be found. AboutDialoglTietoja KeePassX:n kntmisest voit lyt linkist:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg$Lis kirjanmerkki Add BookmarkAddBookmarkDlg(Kaikki tiedostot (*) All Files (*)AddBookmarkDlgSelaa... Browse...AddBookmarkDlg*Muokkaa kirjanmerkki Edit BookmarkAddBookmarkDlgTiedosto:File:AddBookmarkDlg6KeePass-tietokannat (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgOtsikko:Title:AddBookmarkDlg&Automaattikirjoitus Auto-Type AutoTypeDlglKirjoita tietue automaattisesti kaksoisnapsauttamalla."Click on an entry to auto-type it. AutoTypeDlg RyhmGroup AutoTypeDlg<KeePassX - automaattikirjoitusKeePassX - Auto-Type AutoTypeDlgOtsikkoTitle AutoTypeDlgKyttjtunnusUsername AutoTypeDlgJ"%1" ei ole kelvollinen kokonaisluku. '%1' is not valid integer value.CDbSettingsDlgDAES(Rijndael): 256 Bit (oletus)#AES(Rijndael): 256 Bit (default)CDbSettingsDlg VirheErrorCDbSettingsDlgOKOKCDbSettingsDlg@Anna salauskierrosten lukumr.1Please determine the number of encryption rounds.CDbSettingsDlgAsetuksetSettingsCDbSettingsDlgpSalauskierrosten lukumrn tytyy olla suurempi kuin 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgVaroitusWarningCDbSettingsDlg%1 bitti%1 Bit CEditEntryDlg1 kuukausi1 Month CEditEntryDlg1 viikko1 Week CEditEntryDlg1 vuosi1 Year CEditEntryDlg2 viikkoa2 Weeks CEditEntryDlg3 kuukautta3 Months CEditEntryDlg3 viikkoa3 Weeks CEditEntryDlg6 kuukautta6 Months CEditEntryDlgLis liite...Add Attachment... CEditEntryDlgKalenteri... Calendar... CEditEntryDlg2Tiedostoa ei voitu avata.Could not open file. CEditEntryDlg&Poistetaanko liite?Delete Attachment? CEditEntryDlg"Muokkaa tietuetta Edit Entry CEditEntryDlg VirheError CEditEntryDlg@Virhe kirjoitettaessa tiedostoa.Error while writing the file. CEditEntryDlgUusi tietue New Entry CEditEntryDlgEi, peru No, Cancel CEditEntryDlgOKOK CEditEntryDlgxSalasana ja salasanan varmistus eroavat. Tarkista sytteesi.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg"Tallenna liite...Save Attachment... CEditEntryDlgjValitussa tietueessa ei ole liitett tai se on tyhj.2The chosen entry has no attachment or it is empty. CEditEntryDlg TnnToday CEditEntryDlgVaroitusWarning CEditEntryDlg KyllYes CEditEntryDlgOlet poistamassa liitteen tst tietueesta. Haluatko varmasti poistaa sen?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg&[Nimemtn tietue][Untitled Entry] CEditEntryDlg%1 bitti%1 Bits CGenPwDialog(SalasanageneraattoriPassword Generator CGenPwDialog<%1: Tiedostoa ei voitu ladata.%1: File could not be loaded.CSelectIconDlg Lis oma kuvakeAdd Custom IconCSelectIconDlg&Lis kuvakkeita... Add Icons...CSelectIconDlgLTapahtui virhe ladattaessa kuvakkeita:+An error occured while loading the icon(s):CSelectIconDlgJTapahtui virhe ladattaessa kuvaketta.(An error occured while loading the icon.CSelectIconDlg PoistaDeleteCSelectIconDlg VirheErrorCSelectIconDlgKuvat (%1) Images (%1)CSelectIconDlg PoimiPickCSelectIconDlgKorvaa... Replace...CSelectIconDlg"Valitse kansio...Select a directory... CSettingsDlg>Valitse suoritettava ohjelma...Select an executable... CSettingsDlgAsetuksetSettings CSettingsDlg JrjestelmkieliSystem Language CSettingsDlgKalenteriCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">Satunnaisuuslhde alustettu onnistuneesti uudestaan!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlg8Kertn entropiaa... Liikuttele hiirt ja painele nppimi, kunnes tarpeeksi entropiaa satunnaislukugeneraattorin uudelleenalustamiseen on saatu kertty.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg Entropian kerysEntropy CollectionCollectEntropyDlg2SatunnaislukugeneraattoriRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogLiitteen nimiAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogKorostettuBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialogKeskitettyCenteredCustomizeDetailViewDialogKommenttiCommentCustomizeDetailViewDialogLuontipiv Creation DateCustomizeDetailViewDialog IkkunaDialogCustomizeDetailViewDialogVanhenemispivExpiration DateCustomizeDetailViewDialogKirjasimen koko Font SizeCustomizeDetailViewDialog RyhmGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogKursiiviItalicCustomizeDetailViewDialog Tasaus JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog"Viimeksi kytettyLast Access DateCustomizeDetailViewDialog"Viimeksi muutettuLast Modification DateCustomizeDetailViewDialog$Vasemmalle tasattu Left-AlignedCustomizeDetailViewDialogSalasanaPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog&Tekstieditori (RTF)Rich Text EditorCustomizeDetailViewDialog Oikealle tasattu Right-AlignedCustomizeDetailViewDialogMTCustomizeDetailViewDialog Mallit TemplatesCustomizeDetailViewDialogTekstin vri Text ColorCustomizeDetailViewDialog&Aikaa vanhenemiseenTime till ExpirationCustomizeDetailViewDialogOtsikkoTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogAlleviivattu UnderlinedCustomizeDetailViewDialogURLUrlCustomizeDetailViewDialogKyttjtunnusUsernameCustomizeDetailViewDialogEi koskaanNeverDatabaseAlgoritmi: Algorithm:DatabaseSettingsDlgLaske kierrosten lukumr yhden sekunnin viiveelle tll tietokoneella6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg*Tietokannan asetuksetDatabase SettingsDatabaseSettingsDlgSalausmenetelm EncryptionDatabaseSettingsDlg"Salauskierroksia:Encryption Rounds:DatabaseSettingsDlgKommenttiCommentDetailViewTemplate LuotuCreationDetailViewTemplateVanhenee ExpirationDetailViewTemplate RyhmGroupDetailViewTemplate"Viimeksi kytetty Last AccessDetailViewTemplate"Viimeksi muokattuLast ModificationDetailViewTemplateSalasanaPasswordDetailViewTemplateNimiTitleDetailViewTemplateURLURLDetailViewTemplateKyttjtunnusUsernameDetailViewTemplate%1%1EditEntryDialog%1 bitti%1 BitEditEntryDialog Liite: Attachment:EditEntryDialogKommentti:Comment:EditEntryDialog"Muokkaa tietuetta Edit EntryEditEntryDialogVanhenee:Expires:EditEntryDialog L&uo.Ge&n.EditEntryDialog Ryhm:Group:EditEntryDialogKuvake:Icon:EditEntryDialogEi koskaanNeverEditEntryDialogSalasana: Password:EditEntryDialog Laatu:Quality:EditEntryDialogToista:Repeat:EditEntryDialogOtsikko:Title:EditEntryDialogURL:URL:EditEntryDialogKyttjtunnus: Username:EditEntryDialog>>EditGroupDialog&Ryhmn ominaisuudetGroup PropertiesEditGroupDialogKuvake:Icon:EditGroupDialogOtsikko:Title:EditGroupDialogRSiirry tietueeseen kaksoisnapsauttamalla.'Double click on an entry to jump to it.ExpiredEntriesDialogVanhentuiExpiredExpiredEntriesDialog*Vanhentuneet tietueetExpired EntriesExpiredEntriesDialogBTietokannan vanhentuneet tietueetExpired Entries in the DatabaseExpiredEntriesDialog RyhmGroupExpiredEntriesDialogNimiTitleExpiredEntriesDialogKyttjtunnusUsernameExpiredEntriesDialog(Kaikki tiedostot (*) All Files (*)Export_KeePassX_Xml*KeePassX XML-tiedostoKeePassX XML FileExport_KeePassX_Xml*XML-tiedostot (*.xml)XML Files (*.xml)Export_KeePassX_Xml(Kaikki tiedostot (*) All Files (*) Export_TxtTekstitiedosto Text File Export_Txt.Tekstitiedostot (*.txt)Text Files (*.txt) Export_Txt$Vienti eponnistui Export Failed ExporterBaseVie tiedosto...Export File... ExporterBase4Tapahtui kriittinen virhe.A fatal error occurred. FileErrors,Tapahtui aikakatkaisu.A timeout occurred. FileErrorsLTapahtui virhe luettaessa tiedostosta..An error occurred while reading from the file. FileErrorsTTapahtui virhe kirjoitettaessa tiedostoon.,An error occurred while writing to the file. FileErrors.Tapahtui resurssivirhe.An resource error occurred. FileErrors>Tapahtui mrittelemtn virhe.An unspecified error occurred. FileErrors.Virhett ei tapahtunut.No error occurred. FileErrors:Tiedostoon ei psty ksiksi.The file could not be accessed. FileErrors8Tiedostoa ei voitu kopioida.The file could not be copied. FileErrors2Tiedostoa ei voitu avata.The file could not be opened. FileErrors6Tiedostoa ei voitu poistaa.The file could not be removed. FileErrorsHTiedostoa ei voitu nimet uudestaan.The file could not be renamed. FileErrorsBTiedoston kokoa ei voitu muuttaa.The file could not be resized. FileErrors.Toiminto keskeytettiin.The operation was aborted. FileErrorsZSijaintia tiedoston sisll ei voitu muuttaa..The position in the file could not be changed. FileErrors"&Pienet kirjaimet&Lower LettersGenPwDlg&Miinusmerkki&MinusGenPwDlg&Numerot&NumbersGenPwDlg&Erikoismerkit&Special CharactersGenPwDlg&Alleviivaus &UnderlineGenPwDlg"S&uuret kirjaimet&Upper LettersGenPwDlg&Tyhjeet &White SpacesGenPwDlg8Ker vain kerran istunnossaCollect only once per sessionGenPwDlgOma mrittelyCustomGenPwDlg0Kyt entropian kerystEnable entropy collectionGenPwDlgnVarmista, ett salasana sislt merkkej joka ryhmst9Ensure that password contains characters from every groupGenPwDlg6Poista samannkiset merkitExclude look-alike charactersGenPwDlgLuoGenerateGenPwDlgPituus:Length:GenPwDlg Pienet kirjaimet Lower LettersGenPwDlgUusi salasana: New Password:GenPwDlgNumerotNumbersGenPwDlgValinnatOptionsGenPwDlg(SalasanageneraattoriPassword GeneratorGenPwDlg$nettviss oleva PronounceableGenPwDlg Laatu:Quality:GenPwDlgSatunnainenRandomGenPwDlgErikoismerkitSpecial CharactersGenPwDlgIsot kirjaimet Upper LettersGenPwDlg:Kyt seuraavia merkkiryhmi:Use following character groups:GenPwDlg2Kyt seuraavia merkkej:Use the following characters:GenPwDlg Ensimminen sivu First PageHelpDlgOhjeen sislt Help ContentsHelpDlgSeuraava sivu Next PageHelpDlgEdellinen sivu Previous PageHelpDlg Kaikki tiedostot All Files (*)Import_KWalletXml6Tiedosto ei sisll tietoa.Document does not contain data.Import_KWalletXml$Tuonti eponnistui Import FailedImport_KWalletXml|Virheellist XML-tietoa (katso oletustulosteesta listietoja).*Invalid XML data (see stdout for details).Import_KWalletXml4Virheellinen XML-tiedosto.Invalid XML file.Import_KWalletXml*XML-tiedostot (*.xml)XML Files (*.xml)Import_KWalletXml Kaikki tiedostot All Files (*)Import_KeePassX_Xml$Tuonti eponnistui Import FailedImport_KeePassX_Xml:KeePass XML-tiedostot (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmlJsennysvirhe: Tiedosto ei ole kelvollinen KeePassX XML-tiedosto.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_Xml^XML-jsennysvirhe rivill %1 sarakkeessa %2: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_Xml(Kaikki tiedostot (*) All Files (*)Import_PwManagerRPakatut tiedostot eivt viel ole tuettu.'Compressed files are not supported yet.Import_PwManagertTiedosto on vioittunut (tiivisteen tarkistus eponnistui).#File is damaged (hash test failed).Import_PwManager$Tiedosto on tyhj.File is empty.Import_PwManager^Tiedosto ei ole kelvollinen PwManager-tiedosto. File is no valid PwManager file.Import_PwManager$Tuonti eponnistui Import FailedImport_PwManager|Virheellist XML-tietoa (katso listietoja oletustulosteesta).*Invalid XML data (see stdout for details).Import_PwManager6PwManager-tiedostot (*.pwm)PwManager Files (*.pwm)Import_PwManagerPTiedoston salausalgoritmi ei ole tuettu.!Unsupported encryption algorithm.Import_PwManager>Tiedoston versio ei ole tuettu.Unsupported file version.Import_PwManager@Tiivistealgoritmi ei ole tuettu.Unsupported hash algorithm.Import_PwManagerVr salasana.Wrong password.Import_PwManager$Tuonti eponnistui Import Failed ImporterBaseTuo tiedosto...Import File... ImporterBase2Tiedostoa ei voitu avata.Could not open file. Kdb3DatabaseSalauksen purku eponnstui. Avain on vr tai tiedosto on vioittunut.;Decryption failed. The key is wrong or the file is damaged. Kdb3DatabaseTiivisteen laskenta eponnistui. Avain on vr tai tiedosto on vioittunut.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database,Virheellinen ryhmpuu.Invalid group tree. Kdb3Database.Avaintiedosto on tyhj.Key file is empty. Kdb3DatabaseLTietokanta on avattu vain luettavaksi.'The database has been opened read-only. Kdb3Database^Tietokannan tytyy sislt ainakin yksi ryhm.-The database must contain at least one group. Kdb3DatabaseHTwofish-algoritmia ei voitu alustaa.+Unable to initialize the twofish algorithm. Kdb3DatabasefOdottamaton virhe: siirtym on alueen ulkopuolella.)Unexpected error: Offset is out of range. Kdb3DatabaserOdottamaton tiedostokoko (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3Database6Tuntematon salausalgoritmi.Unknown Encryption Algorithm. Kdb3Database6Tuntematon salausmenetelm.Unknown encryption algorithm. Kdb3Database>Tiedoston versio ei ole tuettu.Unsupported File Version. Kdb3Database4Virheellinen allekirjoitusWrong Signature Kdb3Database TavuaBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandleFHaluatko poistaa nm %1 tietuetta?1Are you sure you want to delete these %1 entries?KeepassEntryViewRHaluatko varmasti poistaa tmn tietueen?+Are you sure you want to delete this entry?KeepassEntryViewAinakin yksi ryhm tytyy olla mritelty ennen tietueiden lismist.5At least one group must exist before adding an entry.KeepassEntryView Liite AttachmentKeepassEntryViewKommentitCommentsKeepassEntryViewLuontipivCreationKeepassEntryViewPoista?Delete?KeepassEntryView VirheErrorKeepassEntryViewVanheneeExpiresKeepassEntryView RyhmGroupKeepassEntryView"Viimeksi kytetty Last AccessKeepassEntryView"Viimeksi muutettu Last ChangeKeepassEntryViewOKOKKeepassEntryViewSalasanaPasswordKeepassEntryViewNimiTitleKeepassEntryViewURLURLKeepassEntryViewKyttjtunnusUsernameKeepassEntryViewHaluatko varmasti poistaa tmn ryhmn ja sen sisltmt tietueet?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewPoista?Delete?KeepassGroupViewHaun tuloksetSearch ResultsKeepassGroupView%1 piv%1 DaysKeepassMainWindow%1 kuukautta %1 MonthsKeepassMainWindow%1 vuotta%1 YearsKeepassMainWindow &Lukitse tytila&Lock WorkspaceKeepassMainWindow1 piv1 DayKeepassMainWindow1 kuukausi1 MonthKeepassMainWindow1 vuosi1 YearKeepassMainWindow(Kaikki tiedostot (*) All Files (*)KeepassMainWindow"Kloonaa tietueita Clone EntriesKeepassMainWindowKloonaa tietue Clone EntryKeepassMainWindowTTietokannan lukkotiedostoa ei voitu luoda.#Couldn't create database lock file.KeepassMainWindowLukkotiedostoa ei voitu luoda. Avataan tietokanta vain luettavaksi.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowXTietokannan lukkotiedostoa ei voitu poistaa.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow$Tietokanta lukittuDatabase lockedKeepassMainWindow Poista tietueitaDelete EntriesKeepassMainWindowPoista tietue Delete EntryKeepassMainWindow VirheErrorKeepassMainWindowVanhentunutExpiredKeepassMainWindow:Tiedostoa ei voitu tallentaa.File could not be saved.KeepassMainWindow6KeePass-tietokannat (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow.Ladataan tietokantaa...Loading Database...KeepassMainWindow$Lataus eponnistuiLoading FailedKeepassMainWindow$Avaa tietokanta...Open Database...KeepassMainWindow*Avaa vain luettavaksiOpen read-onlyKeepassMainWindow ValmisReadyKeepassMainWindow,Tallenna tietokanta...Save Database...KeepassMainWindowBTallennetaanko muokattu tiedosto?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow(Nyt &tykalupalkki Show &ToolbarKeepassMainWindowTmnhetkist tiedostoa on muokattu. Haluatko tallentaa muutokset??The current file was modified. Do you want to save the changes?KeepassMainWindowFTietokantatiedosta ei ole olemassa.!The database file does not exist.KeepassMainWindowTietokanta, jota yritt avata, on lukittu. Tm tarkoittaa, ett joku muu on avannut sen jo tai ett KeePassX kaatui viimeksi tietokantaa kytettess. Haluatko avata tietokannan joka tapauksessa?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowjSeuraavat virheet havaittiin ladattaessa tietokantaa:7The following error occured while opening the database:KeepassMainWindow,&Avaa tytilan lukitusUn&lock WorkspaceKeepassMainWindowRTuntematon virhe ladattaessa tietokantaa.%Unknown error while loading database.KeepassMainWindow*Vhemmn kuin 1 pivless than 1 dayKeepassMainWindowlukittulockedKeepassMainWindowuusinewKeepassMainWindow VirheErrorMain6Tiedostoa "%1" ei lytynyt.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&Tietoja... &About... MainWindow,&Lis kirjanmerkki...&Add Bookmark... MainWindow.&Lis uusi aliryhm...&Add New Subgroup... MainWindow&Kirjanmerkit &Bookmarks MainWindow&Kloonaa tietue &Clone Entry MainWindow"&Sulje tietokanta&Close Database MainWindow&Sarakkeet&Columns MainWindow&Kommentti&Comment MainWindow2&Tietokannan asetukset...&Database Settings... MainWindow&Poista ryhm &Delete Group MainWindow$&Muokkaa ryhm...&Edit Group... MainWindowTietueet&Entries MainWindow &Vie muodossa... &Export to... MainWindow&Tiedosto&File MainWindow &Ryhm&Group MainWindow Ryhmt&Groups MainWindow O&hje&Help MainWindow&&Tuo tiedostosta...&Import from... MainWindow&&KeePassX-ohjekirja&KeePassX Handbook... MainWindow$&Viimeksi muutettu &Last Change MainWindow &Lukitse tytila&Lock Workspace MainWindow0&Hallitse kirjanmerkkej&Manage Bookmarks... MainWindow&&Uusi tietokanta...&New Database... MainWindow&&Avaa tietokanta...&Open Database... MainWindow&Avaa URL &Open URL MainWindow&Salasana &Password MainWindow0Salasana&generaattori...&Password Generator... MainWindow<&Kynnist automaattikirjoitus&Perform AutoType MainWindow&Lopeta&Quit MainWindow4&Tallenna liite nimell...&Save Attachment As... MainWindow(&Tallenna tietokanta&Save Database MainWindow&Asetukset... &Settings... MainWindow&Otsikko&Title MainWindow&URL&URL MainWindow &Nyt&View MainWindow>&Nyt tai muokkaa tietuetta...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindow &Liite A&ttachment MainWindow*Lis &uusi tietue...Add &New Entry... MainWindow&Lis uusi ryhm...Add New Group... MainWindowDLis kirjanmerkki tietokantaan...Bookmark &this Database... MainWindow &Luotu C&reation MainWindow(Muuta &pavainta...Change &Master Key... MainWindowHKopioi &kyttjtunnus leikepydlleCopy &Username to Clipboard MainWindow<Kopioi salasana &leikepydlleCopy Password &to Clipboard MainWindow0Kopioi URL leikepydlleCopy URL to Clipboard MainWindowP&oista tietue De&lete Entry MainWindow&VanheneeE&xpires MainWindow&LisosatE&xtras MainWindow RyhmtGroups MainWindowPiilotaHide MainWindow$Piilota &salasanatHide &Passwords MainWindow4Piilota &kyttjtunnuksetHide &Usernames MainWindowKeePassXKeePassX MainWindow$&Viimeksi kytetty Last &Access MainWindowRoskakori...Recycle Bin... MainWindow>Tallenna tietokanta &nimell...Save Database &As... MainWindow,Etsi &tietokannasta...Search &in Database... MainWindow.Etsi tst &ryhmst...Search in this &Group... MainWindow<Nyt tietueen &yksityiskohdatShow &Entry Details MainWindow>Nyt &vanhentuneet tietueet...Show &Expired Entries... MainWindowNyt &tilariviShow &Statusbar MainWindowJrjest ryhmt Sort groups MainWindow>Tykalupalkin &kuvakkeiden kokoToolbar &Icon Size MainWindow&Kyttjtunnus User&name MainWindow.Hallitse kirjanmerkkejManage BookmarksManageBookmarksDlg@%1: Tiedosto ei ole luettavissa.%1: File is not readable.PasswordDialogH%1: Tiedostoa tai kansiota ei lydy.%1: No such file or directory.PasswordDialog(Kaikki tiedostot (*) All Files (*)PasswordDialog&Vaihda psalasanaaChange Master KeyPasswordDialog(Luo avaintiedosto...Create Key File...PasswordDialog"Tietokannan avain Database KeyPasswordDialog"Syt psalasanaEnter Master KeyPasswordDialog,Avaintiedostot (*.key)Key Files (*.key)PasswordDialog$Viimeisin tiedosto Last FilePasswordDialogRSyt salasana tai valitse avaintiedosto.-Please enter a Password or select a key file.PasswordDialogSyt salasana.Please enter a Password.PasswordDialog(Syt avaintiedosto.Please provide a key file.PasswordDialog*Valitse avaintiedostoSelect a Key FilePasswordDialog"Aseta psalasanaSet Master KeyPasswordDialogAnnetussa kansiossa on useampi kuin yksi avaintiedosto. Valitse avaintiedosto suoraan.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogVAnnetussa kansiossa ei ole avaintiedostoja.3The given directory does not contain any key files.PasswordDialoghValittu avaintiedosto tai kansio ei ole luettavissa.3The selected key file or directory is not readable.PasswordDialogS&elaa... &Browse... PasswordDlgTakaisinBack PasswordDlgRSyt salasana tai valitse avaintiedosto.*Enter a Password and/or choose a key file. PasswordDlg(Luo avaintiedosto...Generate Key File... PasswordDlg AvainKey PasswordDlgAvaintiedosto: Key File: PasswordDlg$Viimeisin tiedosto Last File PasswordDlgSalasana: Password: PasswordDlg.Salasanat eivt tsm.Passwords are not equal. PasswordDlg Toista salasana:Please repeat your password: PasswordDlgEtsiSearch SearchDialog(&Huomioi kirjainkoko&Case Sensitive Search_DlgO&tsikot&Titles Search_Dlg$&Kyttjtunnukset &Usernames Search_Dlg &LiiteA&nhang Search_DlgK&ommentit C&omments Search_DlgHHae mys aliryhmist (rekursiivinen)Include Subgroups (recursive) Search_Dlg$Hae mys kentist:Include: Search_Dlg&Salasanat Pass&words Search_Dlg*Snnllinen &lausekeRegular E&xpression Search_Dlg(Haettava merkkijono: Search For: Search_DlgEtsi... Search... Search_DlgU&RLU&RLs Search_Dlg"Kuvakkeen valintaIcon Selection SelectIconDlgLisasetuksetAdvancedSettingsDialog0Vaihtelevat rivien vritAlternating Row ColorsSettingsDialogdKysy aina ennen tietueiden tai ryhmien poistamista,Always ask before deleting entries or groupsSettingsDialogUlkoasu AppearanceSettingsDialogTekij:Author:SettingsDialogBAutomaattikirjoituksen hienostAuto-Type Fine TuningSettingsDialogtTallenna tietokanta automaattisesti joka muutoksen jlkeen.Automatically save database after every changeSettingsDialogTallenna tietokanta automaattisesti suljettaessa ja lukittaessa tytila9Automatically save database on exit and workspace lockingSettingsDialogOtsakkeen vri Banner ColorSettingsDialogKirjanmerkit BookmarksSettingsDialog SelaaBrowseSettingsDialogSelaa... Browse...SettingsDialog&Muuta... C&hange...SettingsDialogMuuta... Change...SettingsDialog,Tyhjenn historia hetiClear History NowSettingsDialog<Tyhjenn leikepyt viiveell:Clear clipboard after:SettingsDialogVri 1:Color 1:SettingsDialogVri 2:Color 2:SettingsDialogMrittele... Configure...SettingsDialog"Oma selainkomentoCustom Browser CommandSettingsDialogVMuokkaa tietueen yksityiskohtien nkym...Customize Entry Detail View...SettingsDialog2Tietokanta-avaimen ikkunaDatabase Key DialogSettingsDialogViive simuloitujen nppinpainallusten vlill. Kasvata tt, jos automaattikirjoitus hukkaa satunnaisesti merkkej.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialognPoista varmuuskopiotietueet, jotka ovat vanhempia kuin:!Delete backup entries older than:SettingsDialog&l laajenna mitnDo not expand any itemSettingsDialog.Tietueen muokkausikkunaEdit Entry DialogSettingsDialogOta tm kyttn, os haluat kytt kirjanmerkkej ja viimeksi avattuja tiedostoja riippumatta niiden absoluuttisesta polusta. Tm en erityisen hydyllist kytettess ohjelmaa eri tietokoneissa ja liitospisteen vaihtuessa eri paikkoihin.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialogLaajenna kaikkiExpand all itemsSettingsDialog"Yleisasetuset (1) General (1)SettingsDialog"Yleisasetuset (2) General (2)SettingsDialogFAutomaattikirjoituksen pikanppin:Global Auto-Type Shortcut:SettingsDialogJGnome-typydn integrointi (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog4Ryhmpuu kynnistettess:Group tree at start-up:SettingsDialog4KDE4-typydn integrointiKDE 4 Desktop IntegrationSettingsDialog4Nppinpainallusten viive:Key Stroke Delay:SettingsDialog KieliLanguageSettingsDialog Kieli: Language:SettingsDialogFLukitse tietokanta sen oltua jouten!Lock database after inactivity ofSettingsDialogRLukitse tytila pienennettess pikkuna.Lock workspace when minimizing the main windowSettingsDialog8Liitospisteiden juurikansio: Media Root:SettingsDialogbPienenn ilmoitusalueelle ikkunaluettelon sijasta#Minimize to tray instead of taskbarSettingsDialogPienenn ilmoitusalueelle painettaessa pikkunan sulkemisnappia=Minimize to tray when clicking the main window's close buttonSettingsDialogEi mitnNoneSettingsDialogLisosatPlug-InsSettingsDialogEsitauko:Pre-Gap:SettingsDialogVMuista viimeisin avaimen tyyppi ja sijainti#Remember last key type and locationSettingsDialog@Muista viimeisin avattu tiedostoRemember last opened fileSettingsDialog,Palauta viimeisin tilaRestore last stateSettingsDialogzTallenna varmuuskopio muokatuista tietueista "Backup"-ryhmn8Save backups of modified entries into the 'Backup' groupSettingsDialogXTallenna kansioluettelo tiedostovalitsimissa'Save recent directories of file dialogsSettingsDialogTallenna suhteelliset polut (kirjanmerkit ja viimeisin tiedosto)-Save relative paths (bookmarks and last file)SettingsDialogTurvallisuusSecuritySettingsDialogAsetuksetSettingsSettingsDialog<Nyt selvkieliset salasanat:Show plain text passwords in:SettingsDialog6Nyt ilmoitusalueen kuvakeShow system tray iconSettingsDialog@Nyt ikkuna aina pllimmisenShow window always on topSettingsDialog&Kynnist lukittuna Start lockedSettingsDialog.Kynnist pienennettynStart minimizedSettingsDialogTekstin vri: Text Color:SettingsDialogKansio, jonne taltiot, kuten CD-levyt ja muistitikut normaalisti liitetn.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogAika automaattisen tydennyksen aktivoinnin ja ensimmisen simuloidun nppilyn vlill.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogKyt tietueen otsikkoa automaattitydennyksen kohdeikkunan tsmmiseen;Use entries' title to match the window for Global Auto-TypeSettingsDialogVoit poistaa monia ohjelman ominaisuuksia tarpeidesi mukaan ja pitksesi kyttliittymn selken.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogOhjelma tytyy kynnist uudestaan, jotta muutokset tulevat voimaan.?You need to restart the program before the changes take effect.SettingsDialog pivdaysSettingsDialogmsmsSettingsDialogsekuntiasecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidgetSyt salasanaEnter your PasswordSimplePasswordDialogSalasana: Password:SimplePasswordDialogPAutomaattikirjoitus: valitse kohdeikkunaAuto-Type: Select Target WindowTargetWindowDlgTo specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg"Finnish (Finland)$LANGUAGE_NAME Translation6Ilkka Tuohela, Jussi Sainio$TRANSLATION_AUTHOR Translationhile@iki.fi, -$TRANSLATION_AUTHOR_EMAIL TranslationL<html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Tytila on lukittu.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget Sulje tietokantaClose DatabaseWorkspaceLockedWidget LomakeFormWorkspaceLockedWidgetAvaa lukitusUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/keepassx/i18n/keepassx-hu_HU.qm0000664000175000017500000016231711342454754021262 0ustar felixfelix=B,oC,I/rL0(R1T2U4:@(xA(B(D)F)HH)|P)R)T*V*LX*f*r*+~;;;;iCșH4MdrQQdSdZl9ZljJ\4]ɽ_tl$,\֍[/8HVEVEo= }l#n*%*0n+L+3JmGH8*J d7Lb>LbLbLbULbhtLbv:Lb M M};M4N uN.N8KN@7NhO;O> T5"T<2V|oW3Xy(Yɋ[ % [ %3[ %9l[ %@s[ %j[ZK\^cTa.8 "u-~Pe0^~..]j32h8.{qE*W<+]af/~ehO,kJ,Jp:xw_`˓'8e@{ ,.`<\ x=ZDsjC[ 3mn} ~IiI:CJ[nwFRvWJ|E %N`yUC17 n.U  /P_ Le:>8C#NU~$#4&:^Q-Kf5ۻ55n!B?FÌOÎ#K0<5ӑ/mS4%^G?!"C#C-N26G6G:CgC:DcK!VN37P|P;UDVB{O}En]]AZHAHS9zn-5LL>X~2veq = =wn LoJ J@amo&n]&nP,8#eDɃNUP''_R`<'ߎgqnz߸>W)H>,N0B33;4)4#lI=MJNRO_RvtuHuHw,#uJ N]ey191i U7gNƭxR%7:ȞJ譾N#^ ѕAG Ao Db LYt gwA l[~ H C O ("( d  :y C 5 C4 C9 C@ Cjx D] MT n% ^n l6 3" 9.G 5sz" 5tczl 8Q G?noV J % LZ~I OZOy T>q c d:3 d<-k d<7 d d[ dI nMR qE? s/j s(s u~ ~ w#  N"( )? > >K t/ h: l ˔K F> c} [} == lS4 f f @ f A f Q f TU f V f nU f 8   # I Y LJ Xо Yn ^{ h).I+ +eg J< JP   5 )[ L Ÿ^`1 M ͓> y ֕ ʋ Q. c  A:7% 0Y &+* ?I Bv LuN M/ Z$- [c vY* D ?=< S~ @4O g 4 c  b 5 w s s# s , ȶ  S ܾ @~\o ƙb= h ? vm ?@Mg  T^R T^Y 7wyZ Sus?O ^ ^} mbDu5 n }~ .H P# Pv ._ k~ @ 0~ Er5.H/aLB:d$$ߎd.{(?EBL&R܎e>OhysL3+[wmPhQZkK#n ؾbK26Bcp\%,!/ўk/ў2C^9Q:lYqdBIg^[p;ZtCsy[Ȟ\[ ci SzerzQAuthor AboutDialog$Jelenlegi fordtsCurrent Translation AboutDialogFejlesztQ Developer AboutDialogBFejlesztQ, Projekt AdminisztrtorDeveloper, Project Admin AboutDialogHibaError AboutDialog4A '%1' fjl nem tallhat.File '%1' could not be found. AboutDialogbInformci a KeePassX fordtsrl itt tallhat:http://keepassx.sourceforge.nethttp://keepassx.sourceforge.netAboutDlg$keepassx@gmail.comkeepassx@gmail.comAboutDlg*KnyvjelzQ hozzadsa Add BookmarkAddBookmarkDlgMinden fjl (*) All Files (*)AddBookmarkDlgBngszs... Browse...AddBookmarkDlg.KnyvjelzQ szerkesztse Edit BookmarkAddBookmarkDlg Fjl:File:AddBookmarkDlg6KeePass adatbzisok (*.kdb)KeePass Databases (*.kdb)AddBookmarkDlgCm:Title:AddBookmarkDlgAuto-Gpels Auto-Type AutoTypeDlg\Kattintson egy bejegyzsre az auto-gpelshez."Click on an entry to auto-type it. AutoTypeDlgCsoportGroup AutoTypeDlg.KeePassX - Auto-GpelsKeePassX - Auto-Type AutoTypeDlgCmTitle AutoTypeDlgFelhasznlnvUsername AutoTypeDlgN'%1' nem egy rvnyes egsz szm rtk. '%1' is not valid integer value.CDbSettingsDlgVAES(Rijndael): 256 Bit (alaprtelmezett)#AES(Rijndael): 256 Bit (default)CDbSettingsDlgHibaErrorCDbSettingsDlgOKOKCDbSettingsDlgbKrem hatrozza meg a titkostsi menetek szmt.1Please determine the number of encryption rounds.CDbSettingsDlgBelltsokSettingsCDbSettingsDlgzA titkostsi menetek szma nagyobb kell, hogy legyen mint 0.:The number of encryption rounds have to be greater than 0.CDbSettingsDlg"Twofish: 256 BitTwofish: 256 BitCDbSettingsDlgFigyelmeztetsWarningCDbSettingsDlg %1 bit%1 Bit CEditEntryDlg1 hnap1 Month CEditEntryDlg 1 ht1 Week CEditEntryDlg1 v1 Year CEditEntryDlg 2 ht2 Weeks CEditEntryDlg3 hnap3 Months CEditEntryDlg 3 ht3 Weeks CEditEntryDlg6 hnap6 Months CEditEntryDlg0Csatolmny hozzadsa...Add Attachment... CEditEntryDlgNaptr... Calendar... CEditEntryDlg>Nem sikerlt megnyitni a fjlt.Could not open file. CEditEntryDlg&Csatolmny trlse?Delete Attachment? CEditEntryDlg,Bejegyzs szerkesztse Edit Entry CEditEntryDlgHibaError CEditEntryDlg2Hiba a fjl rsa kzben.Error while writing the file. CEditEntryDlgj bejegyzs New Entry CEditEntryDlgNem, Mgsem No, Cancel CEditEntryDlgOKOK CEditEntryDlgA jelsz s az ismtelt jelsz nem ugyanaz. Krem ellenQrizze a bert rtkeket.HPassword and password repetition are not equal. Please check your input. CEditEntryDlg*Csatolmny mentse...Save Attachment... CEditEntryDlgnA kivlasztott bejegyzshez nincs csatolmny vagy res.2The chosen entry has no attachment or it is empty. CEditEntryDlgMaToday CEditEntryDlgFigyelmeztetsWarning CEditEntryDlgIgenYes CEditEntryDlg|Ezzel trlni fogja ezen bejegyzs csatolmnyt. Biztos benne?CYou are about to delete the attachment of this entry. Are you sure? CEditEntryDlg.[Cm nlkli bejegyzs][Untitled Entry] CEditEntryDlg %1 bit%1 Bits CGenPwDialog Jelsz genertorPassword Generator CGenPwDialogF%1: A fjlt nem sikerlt betlteni.%1: File could not be loaded.CSelectIconDlg,Egyedi ikon hozzadsaAdd Custom IconCSelectIconDlg(Ikonok hozzadsa... Add Icons...CSelectIconDlgRHiba trtnt az ikon(ok) betltse sorn:+An error occured while loading the icon(s):CSelectIconDlgJHiba trtnt az ikon betltse sorn.(An error occured while loading the icon.CSelectIconDlg TrlsDeleteCSelectIconDlgHibaErrorCSelectIconDlgKpek (%1) Images (%1)CSelectIconDlgVlasztPickCSelectIconDlgCsere... Replace...CSelectIconDlg0Knyvtr kivlasztsa...Select a directory... CSettingsDlgLVgrehajthat llomny kivlasztsa...Select an executable... CSettingsDlgBelltsokSettings CSettingsDlgRendszer nyelvSystem Language CSettingsDlg NaptrCalendarCalendarDialog<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#006400;">A vletlenszm genertor kezdQrtke sikeresen jra lett lltva!</span></p></body></html>

Random pool successfully reseeded!

CollectEntropyDlgXEntrpia gyqjtse... Krem mozgassa az egeret s/vagy nyomjon le nhny gombot amg elegendQ entrpia gyqlik ssze a vletlenszm genertor kezdQrtknek jra lltshoz.Collecting entropy... Please move the mouse and/or press some keys until enought entropy for a reseed of the random number generator is collected.CollectEntropyDlg Entrpia gyqjtsEntropy CollectionCollectEntropyDlg,Vletlenszm genertorRandom Number GeneratorCollectEntropyDlg1010CustomizeDetailViewDialog1111CustomizeDetailViewDialog1212CustomizeDetailViewDialog1414CustomizeDetailViewDialog1616CustomizeDetailViewDialog1818CustomizeDetailViewDialog2020CustomizeDetailViewDialog2222CustomizeDetailViewDialog2424CustomizeDetailViewDialog2626CustomizeDetailViewDialog2828CustomizeDetailViewDialog3636CustomizeDetailViewDialog4242CustomizeDetailViewDialog66CustomizeDetailViewDialog77CustomizeDetailViewDialog7878CustomizeDetailViewDialog88CustomizeDetailViewDialog99CustomizeDetailViewDialogCsatolmny neveAttachment NameCustomizeDetailViewDialogBBCustomizeDetailViewDialogFlkvrBoldCustomizeDetailViewDialogCCCustomizeDetailViewDialog"Kzpre rendezettCenteredCustomizeDetailViewDialogMegjegyzsCommentCustomizeDetailViewDialog"Ltrehozs dtuma Creation DateCustomizeDetailViewDialogDialgusDialogCustomizeDetailViewDialogLejrat dtumaExpiration DateCustomizeDetailViewDialogBetqmret Font SizeCustomizeDetailViewDialogCsoportGroupCustomizeDetailViewDialogHTMLHTMLCustomizeDetailViewDialogIICustomizeDetailViewDialogDQltItalicCustomizeDetailViewDialogSorkizrt JustifiedCustomizeDetailViewDialogLLCustomizeDetailViewDialog.Utols hozzfrs dtumaLast Access DateCustomizeDetailViewDialog.Utols mdosts dtumaLast Modification DateCustomizeDetailViewDialogBalra rendezett Left-AlignedCustomizeDetailViewDialog JelszPasswordCustomizeDetailViewDialogRRCustomizeDetailViewDialog(Rich Text szerkesztQRich Text EditorCustomizeDetailViewDialog Jobbra rendezett Right-AlignedCustomizeDetailViewDialogTTCustomizeDetailViewDialog Sablon TemplatesCustomizeDetailViewDialogSzveg szn Text ColorCustomizeDetailViewDialogIdQ a lejratigTime till ExpirationCustomizeDetailViewDialogCmTitleCustomizeDetailViewDialogUUCustomizeDetailViewDialogAlhzott UnderlinedCustomizeDetailViewDialogUrlUrlCustomizeDetailViewDialogFelhasznlnvUsernameCustomizeDetailViewDialogSohaNeverDatabaseAlgoritmus: Algorithm:DatabaseSettingsDlgMenetek szmolsa ezen a szmtgpen egy 1 msodperces ksleltetsig6Calculate rounds for a 1-second delay on this computerDatabaseSettingsDlg*Adatbzis belltsokDatabase SettingsDatabaseSettingsDlgTitkosts EncryptionDatabaseSettingsDlg(Titkostsi menetek:Encryption Rounds:DatabaseSettingsDlgMegjegyzsCommentDetailViewTemplateLtrehozsCreationDetailViewTemplateLejrat ExpirationDetailViewTemplateCsoportGroupDetailViewTemplate"Utols hozzfrs Last AccessDetailViewTemplate Utols mdostsLast ModificationDetailViewTemplate JelszPasswordDetailViewTemplateCmTitleDetailViewTemplateURLURLDetailViewTemplateFelhasznlnvUsernameDetailViewTemplate%1%1EditEntryDialog %1 bit%1 BitEditEntryDialogCsatolmny: Attachment:EditEntryDialogMegjegyzs:Comment:EditEntryDialog,Bejegyzs szerkesztse Edit EntryEditEntryDialog Lejr:Expires:EditEntryDialog Ge&n.Ge&n.EditEntryDialogCsoport:Group:EditEntryDialog Ikon:Icon:EditEntryDialogSohaNeverEditEntryDialogJelsz: Password:EditEntryDialogMinQsg:Quality:EditEntryDialogCm:Title:EditEntryDialogURL:URL:EditEntryDialogFelhasznlnv: Username:EditEntryDialog>>EditGroupDialog*Csoport tulajdonsgaiGroup PropertiesEditGroupDialog Ikon:Icon:EditGroupDialogCm:Title:EditGroupDialogRKattintson dupln a bejegyzsre ugrshoz.'Double click on an entry to jump to it.ExpiredEntriesDialog LejrtExpiredExpiredEntriesDialog$Lejrt bejegyzsekExpired EntriesExpiredEntriesDialogDLejrt bejegyzsek az adatbzisbanExpired Entries in the DatabaseExpiredEntriesDialogCsoportGroupExpiredEntriesDialogCmTitleExpiredEntriesDialogFelhasznlnvUsernameExpiredEntriesDialogMinden fjl (*) All Files (*)Export_KeePassX_Xml"KeePassX XML fjlKeePassX XML FileExport_KeePassX_Xml$XML fjlok (*.xml)XML Files (*.xml)Export_KeePassX_XmlMinden fjl (*) All Files (*) Export_TxtSzveg fjl Text File Export_Txt*Szveg fjlok (*.txt)Text Files (*.txt) Export_Txt*Sikertelen exportls Export Failed ExporterBase&Fjl exportlsa...Export File... ExporterBase,Vgzetes hiba trtnt.A fatal error occurred. FileErrors(IdQtllps trtnt.A timeout occurred. FileErrorsTHiba trtnt a fjlbl val olvass sorn..An error occurred while reading from the file. FileErrorsLHiba trtnt a fjlba val rs sorn.,An error occurred while writing to the file. FileErrors6Egy erQforrs hiba trtnt.An resource error occurred. FileErrors:Meghatrozatlan hiba trtnt.An unspecified error occurred. FileErrors"Nem trtnt hiba.No error occurred. FileErrorsDNem sikerlt hozzfrni a fjlhoz.The file could not be accessed. FileErrors:Nem sikerlt a fjlt msolni.The file could not be copied. FileErrors>A fjlt nem sikerlt megnyitni.The file could not be opened. FileErrorsDA fjlt nem sikerlt eltvoltani.The file could not be removed. FileErrors>A fjlt nem sikerlt tnevezni.The file could not be renamed. FileErrorsBNem sikerlt a fjlt tmretezni.The file could not be resized. FileErrors8A mqvelet meg lett szaktva.The operation was aborted. FileErrorsXNem sikerlt a fjlbeli pozcit mdostani..The position in the file could not be changed. FileErrors&Kis betqk&Lower LettersGenPwDlg&Minusz&MinusGenPwDlg&Szmok&NumbersGenPwDlg*S&pecilis karakterek&Special CharactersGenPwDlg&Alhz &UnderlineGenPwDlg&Nagy betqk&Upper LettersGenPwDlgSz&kzk &White SpacesGenPwDlgLCsak egyszer gyqjtsn munkamenetenkntCollect only once per sessionGenPwDlg<Entrpia gyqjts engedlyezseEnable entropy collectionGenPwDlgGondoskodjon rla, hogy a jelsz tartalmaz karaktereket mindegyik csoportbl9Ensure that password contains characters from every groupGenPwDlg6Hasonl karakterek kizrsaExclude look-alike charactersGenPwDlgGenerlsGenerateGenPwDlg Hossz:Length:GenPwDlgKis betqk Lower LettersGenPwDlgj jelsz: New Password:GenPwDlg SzmokNumbersGenPwDlgLehetQsgekOptionsGenPwDlg Jelsz genertorPassword GeneratorGenPwDlgKIejthetQ PronounceableGenPwDlgMinQsg:Quality:GenPwDlgVletlenRandomGenPwDlg(Specilis karakterekSpecial CharactersGenPwDlgNagy betqk Upper LettersGenPwDlgMinden fjl (*) All Files (*)Import_KWalletXmlDA dokumentum nem tartalmaz adatot.Document does not contain data.Import_KWalletXml*Sikertelen importls Import FailedImport_KWalletXmlzrvnytelen XML adat (nzze meg az stdout-ot a rszletekrt).*Invalid XML data (see stdout for details).Import_KWalletXml*rvnytelen XML fjl.Invalid XML file.Import_KWalletXml$XML fjlok (*.xml)XML Files (*.xml)Import_KWalletXmlMinden fjl (*) All Files (*)Import_KeePassX_Xml*Sikertelen importls Import FailedImport_KeePassX_Xml6KeePassX XML fjlok (*.xml)KeePass XML Files (*.xml)Import_KeePassX_XmljElemzsi hiba: A fjl nem rvnyes KeePassX XML fjl.2Parsing error: File is no valid KeePassX XML file.Import_KeePassX_XmlXXML elemzsi hiba a %1. sor %2. oszloban: %3*XML parsing error on line %1 column %2: %3Import_KeePassX_XmlMinden fjl (*) All Files (*)Import_PwManager\A tmrtett fjlok jelenleg nem tmogatottak.'Compressed files are not supported yet.Import_PwManagerXA fjl srlt (a hash teszt hibt mutatott).#File is damaged (hash test failed).Import_PwManagerA fjl res.File is empty.Import_PwManagerFA fjl nem rvnyes PwManager fjl. File is no valid PwManager file.Import_PwManager*Sikertelen importls Import FailedImport_PwManagerzrvnytelen XML adat (nzze meg az stdout-ot a rszletekrt).*Invalid XML data (see stdout for details).Import_PwManager0PwManager fjlok (*.pwm)PwManager Files (*.pwm)Import_PwManagerLNem tmogatott titkostsi algoritmus.!Unsupported encryption algorithm.Import_PwManager6Nem tmogatott fjl verzi.Unsupported file version.Import_PwManager>Nem tmogatott hash algoritmus.Unsupported hash algorithm.Import_PwManagerHibs jelsz.Wrong password.Import_PwManager*Sikertelen importls Import Failed ImporterBase&Fjl importlsa...Import File... ImporterBase>Nem sikerlt megnyitni a fjlt.Could not open file. Kdb3DatabasetSikertelen visszafejts. A kulcs rossz vagy a fjl srlt.;Decryption failed. The key is wrong or the file is damaged. Kdb3Database|A hash teszt hibt mutatott. A kulcs rossz vagy a fjl srlt.:Hash test failed. The key is wrong or the file is damaged. Kdb3Database.rvnytelen csoport fa.Invalid group tree. Kdb3DatabaseA fjl res.Key file is empty. Kdb3DatabaselAz adatbzis csak olvashat mdban kerlt megnyitsra.'The database has been opened read-only. Kdb3DatabasehAz adatbzisban legalbb egy csoportnak kell lennie.-The database must contain at least one group. Kdb3DatabaseXVratlan hiba: Az eltols a fjlon tl esik.)Unexpected error: Offset is out of range. Kdb3DatabasehVratlan fjl mret (DB_TOTAL_SIZE < DB_HEADER_SIZE)5Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) Kdb3DatabaseDIsmeretlen titkostsi algoritmus.Unknown Encryption Algorithm. Kdb3Database6Nem tmogatott fjl verzi.Unsupported File Version. Kdb3DatabaseHibs alrsWrong Signature Kdb3DatabaseBjtBytesKdb3Database::EntryHandleGiBGiBKdb3Database::EntryHandleKiBKiBKdb3Database::EntryHandleMiBMiBKdb3Database::EntryHandlerBiztos benne, hogy trlni akarja ezen bejegyzseket: %1?1Are you sure you want to delete these %1 entries?KeepassEntryViewfBiztos benne, hogy trlni akarja ezt a bejegyzst?+Are you sure you want to delete this entry?KeepassEntryViewLegalbb egy csoportnak lteznie kell bejegyzs hozzadsa elQtt.5At least one group must exist before adding an entry.KeepassEntryViewCsatolmny AttachmentKeepassEntryViewMegjegyzsekCommentsKeepassEntryViewLtrehozsCreationKeepassEntryViewTrls?Delete?KeepassEntryViewHibaErrorKeepassEntryView LejrExpiresKeepassEntryViewCsoportGroupKeepassEntryView"Utols hozzfrs Last AccessKeepassEntryView Utols mdosts Last ChangeKeepassEntryViewOKOKKeepassEntryView JelszPasswordKeepassEntryViewCmTitleKeepassEntryViewURLURLKeepassEntryViewFelhasznlnvUsernameKeepassEntryViewBiztos benne, hogy trlni akarja ezt a csoportot, minden gyermek csoportjt s azok minden bejegyzst?WAre you sure you want to delete this group, all its child groups and all their entries?KeepassGroupViewTrls?Delete?KeepassGroupView&Keressi eredmnyekSearch ResultsKeepassGroupView %1 nap%1 DaysKeepassMainWindow%1 hnap %1 MonthsKeepassMainWindow %1 v%1 YearsKeepassMainWindow,Munkaterlet zro&lsa&Lock WorkspaceKeepassMainWindow 1 nap1 DayKeepassMainWindow1 hnap1 MonthKeepassMainWindow1 v1 YearKeepassMainWindowMinden fjl (*) All Files (*)KeepassMainWindow(Bejegyzsek bezrsa Clone EntriesKeepassMainWindow$Bejegyzs bezrsa Clone EntryKeepassMainWindowNem sikerlt ltrehozni a zrol fjlt. Adatbzis megnyitsa csak olvashat mdban.:Couldn't create lock file. Opening the database read-only.KeepassMainWindowhNem sikerlt az adatbzis zrol fjlt eltvoltani.#Couldn't remove database lock file.KeepassMainWindow Ctrl+BCtrl+BKeepassMainWindow Ctrl+CCtrl+CKeepassMainWindow Ctrl+DCtrl+DKeepassMainWindow Ctrl+ECtrl+EKeepassMainWindow Ctrl+FCtrl+FKeepassMainWindow Ctrl+GCtrl+GKeepassMainWindow Ctrl+ICtrl+IKeepassMainWindow Ctrl+KCtrl+KKeepassMainWindow Ctrl+LCtrl+LKeepassMainWindow Ctrl+NCtrl+NKeepassMainWindow Ctrl+OCtrl+OKeepassMainWindow Ctrl+PCtrl+PKeepassMainWindow Ctrl+QCtrl+QKeepassMainWindow Ctrl+SCtrl+SKeepassMainWindow Ctrl+UCtrl+UKeepassMainWindow Ctrl+VCtrl+VKeepassMainWindow Ctrl+WCtrl+WKeepassMainWindow Ctrl+XCtrl+XKeepassMainWindow Ctrl+YCtrl+YKeepassMainWindow"Adatbzis zrolvaDatabase lockedKeepassMainWindow&Bejegyzsek trlseDelete EntriesKeepassMainWindow"Bejegyzs trlse Delete EntryKeepassMainWindowHibaErrorKeepassMainWindow LejrtExpiredKeepassMainWindow:A fjlt nem sikerlt menteni.File could not be saved.KeepassMainWindow6KeePass adatbzisok (*.kdb)KeePass Databases (*.kdb)KeepassMainWindow,Adatbzis betltse...Loading Database...KeepassMainWindow&Sikertelen betltsLoading FailedKeepassMainWindow.Adatbzis megnyitsa...Open Database...KeepassMainWindow>Megnyits csak olvashat mdbanOpen read-onlyKeepassMainWindowKszReadyKeepassMainWindow(Adatbzis mentse...Save Database...KeepassMainWindow0Mdostott fjl mentse?Save modified file?KeepassMainWindowShift+Ctrl+F Shift+Ctrl+FKeepassMainWindowShift+Ctrl+S Shift+Ctrl+SKeepassMainWindow&Eszkz&tr mutatsa Show &ToolbarKeepassMainWindowxA jelenlegi fjl mdosult. El akarja menteni a vltozsokat??The current file was modified. Do you want to save the changes?KeepassMainWindow<Az adatbzis fjl nem ltezik.!The database file does not exist.KeepassMainWindowAz adatbzis, melyet meg akar nyitni zrolva van. Ez azt jelenti, hogy vagy valaki megnyitott a fjlt, vagy a KeePassX sszeomlott amikor legutbb megnyitotta az adatbzist. Mindenkpp meg akarja nyitni?The database you are trying to open is locked. This means that either someone else has opened the file or KeePassX crashed last time it opened the database. Do you want to open it anyway?KeepassMainWindowRA kvetkezQ hiba trtnt betlts kzben:7The following error occured while opening the database:KeepassMainWindow*Munkater&let nyitsaUn&lock WorkspaceKeepassMainWindow@Ismeretlen hiba betlts kzben.%Unknown error while loading database.KeepassMainWindow&kevesebb mint 1 napless than 1 dayKeepassMainWindowjnewKeepassMainWindowHibaErrorMain4A '%1' fjl nem tallhat.File '%1' could not be found.Main &16x16&16x16 MainWindow &22x22&22x22 MainWindow&Nvjegy... &About... MainWindow2KnyvjelzQ hozz&adsa...&Add Bookmark... MainWindowBj gyermek csoport hozz&adsa...&Add New Subgroup... MainWindow&KnyvjelzQk &Bookmarks MainWindow(Bejegyzs &klnozsa &Clone Entry MainWindow&Adatbzis &bezrsa&Close Database MainWindow&Oszlopok&Columns MainWindow&Megjegyzs&Comment MainWindow2A&datbzis belltsok...&Database Settings... MainWindow Csoport &trlse &Delete Group MainWindow0Csoport sz&erkesztse...&Edit Group... MainWindowB&ejegyzsek&Entries MainWindow&Exportls... &Export to... MainWindow &Fjl&File MainWindow&Csoportok&Groups MainWindow&Segtsg&Help MainWindow&Importls...&Import from... MainWindow,&KeePassX kziknyv...&KeePassX Handbook... MainWindow"Uto&ls mdosts &Last Change MainWindow,Munkaterlet zro&lsa&Lock Workspace MainWindow8KnyvjelzQk s&zerkesztse...&Manage Bookmarks... MainWindow &j adatbzis...&New Database... MainWindow0Adatbzis &megnyitsa...&Open Database... MainWindowURL &megnyitsa &Open URL MainWindow&Jelsz &Password MainWindow(&Jelsz genertor...&Password Generator... MainWindow4Auto-Gpels &vgrehatjsa&Perform AutoType MainWindow&Kilps&Quit MainWindow<C&satolmny mentse msknt...&Save Attachment As... MainWindow$Adatbzis ment&se&Save Database MainWindowBellt&sok... &Settings... MainWindow&Cm&Title MainWindow&URL&URL MainWindow &Nzet&View MainWindowHBejegyzs megn&zse/szerkesztse...&View/Edit Entry... MainWindow 2&8x282&8x28 MainWindowCsa&tolmny A&ttachment MainWindow6&j bejegyzs hozzadsa...Add &New Entry... MainWindow0j csoport hozzadsa...Add New Group... MainWindowRAda&tbzis hozzadsa a knyvjelzQkhz...Bookmark &this Database... MainWindowLt&rehozs C&reation MainWindowB&Mester jelsz megvltoztatsa...Change &Master Key... MainWindowHFelhasz&nlnv msolsa a vglapraCopy &Username to Clipboard MainWindow8Jelsz ms&olsa a vglapraCopy Password &to Clipboard MainWindow0URL msolsa a vglapraCopy URL to Clipboard MainWindow$Bejegyzs tr&lse De&lete Entry MainWindow &LejrE&xpires MainWindowE&xtrkE&xtras MainWindowCsoportokGroups MainWindowElrejtsHide MainWindow(&Jelszavak elrejtseHide &Passwords MainWindow6Felhasz&nlnevek elrejtseHide &Usernames MainWindowKeePassXKeePassX MainWindow$Utols hozz&frs Last &Access MainWindowKuka...Recycle Bin... MainWindow:&Adatbzis mentse msknt...Save Database &As... MainWindow6Keress az adatbz&isban...Search &in Database... MainWindow<Keress ebben a &csoportban...Search in this &Group... MainWindow@B&ejegyzs rszleteinek mutatsaShow &Entry Details MainWindow>L&ejrt bejegyzsek mutatsa...Show &Expired Entries... MainWindow(llapot&sor mutatsaShow &Statusbar MainWindow&Csoportok rendezse Sort groups MainWindow0Eszkzpanel &ikon mreteToolbar &Icon Size MainWindowFelhasz&nlnv User&name MainWindow0KnyvjelzQk szerkesztseManage BookmarksManageBookmarksDlg2%1: A fjl nem olvashat.%1: File is not readable.PasswordDialogF%1: Nincs ilyen fjl vagy knyvtr.%1: No such file or directory.PasswordDialogMinden fjl (*) All Files (*)PasswordDialog:Mester jelsz megvltoztatsaChange Master KeyPasswordDialog2Kulcs fjl ltrehozsa...Create Key File...PasswordDialogAdatbzis kulcs Database KeyPasswordDialog*Mester jelsz bersaEnter Master KeyPasswordDialog(Kulcs fjlok (*.key)Key Files (*.key)PasswordDialogUtols fjl Last FilePasswordDialogrKrem rjon be egy jelsz vagy vlasszon egy kulcs fjlt.-Please enter a Password or select a key file.PasswordDialog6Krem rjon be egy jelszt.Please enter a Password.PasswordDialog@Krem adjon meg egy kulcs fjlt.Please provide a key file.PasswordDialog,Kulcsfjl kivlasztsaSelect a Key FilePasswordDialog0Mester jelsz belltsaSet Master KeyPasswordDialogA megadott knyvtr tbb mint egy kulcs fjlt tartalmaz. Krem hatrozza meg a kulcs fjlt pontosan.[The given directory contains more then one key files. Please specify the key file directly.PasswordDialogbA megadott knyvtr nem tartalmaz kulcs fjlokat.3The given directory does not contain any key files.PasswordDialog`A kivlasztott fjl vagy knyvtr nem olvashat.3The selected key file or directory is not readable.PasswordDialog&Bngszs... &Browse... PasswordDlg VisszaBack PasswordDlglrjon be egy jelsz s/vagy vlasszon egy kulcs fjlt.*Enter a Password and/or choose a key file. PasswordDlg0Kulcs fjl generlsa...Generate Key File... PasswordDlg KulcsKey PasswordDlgKulcs fjl: Key File: PasswordDlgUtols fjl Last File PasswordDlgJelsz: Password: PasswordDlg:A jelszavak nem egyeznek meg.Passwords are not equal. PasswordDlg<Krem ismtelje meg a jelszt:Please repeat your password: PasswordDlgKeressSearch SearchDialog.Kis/nagy betq &rzkeny&Case Sensitive Search_Dlg &Cmek&Titles Search_Dlg"&Felhasznlnevek &Usernames Search_DlgA&nhangA&nhang Search_Dlg&Megjegyzsek C&omments Search_DlgJGyermek csoportok bevtele (rekurzv)Include Subgroups (recursive) Search_Dlgbevesz:Include: Search_Dlg&Jelszavak Pass&words Search_Dlg&Regulsi &kifejezsRegular E&xpression Search_DlgKeress: Search For: Search_DlgKeress... Search... Search_DlgU&RL-ekU&RLs Search_Dlg Ikon kivlasztsIcon Selection SelectIconDlgSzakrtQAdvancedSettingsDialog(Vltakoz sor sznekAlternating Row ColorsSettingsDialogrMindig krdezzen bejegyzsek vagy csoportok trlse elQtt,Always ask before deleting entries or groupsSettingsDialogMegjelens AppearanceSettingsDialogSzerzQ:Author:SettingsDialog8Aut-Gpels finom hangolsaAuto-Type Fine TuningSettingsDialognAutomatikusan mentse az adatbzis minden mdosts utn.Automatically save database after every changeSettingsDialogAutomatikusan mentse az adatbzist kilpskor s a munkaterlet zrolsakor9Automatically save database on exit and workspace lockingSettingsDialogBanner szn Banner ColorSettingsDialogKnyvjelzQk BookmarksSettingsDialogBngszsBrowseSettingsDialogBngszs... Browse...SettingsDialog&Vltoztats... C&hange...SettingsDialogVltoztats... Change...SettingsDialog.ElQzmnyek trlse mostClear History NowSettingsDialog.Vglap trlse ezutn:Clear clipboard after:SettingsDialogSzn 1:Color 1:SettingsDialogSzn 2:Color 2:SettingsDialogBellts... Configure...SettingsDialog.Egyedi bngszQ parancsCustom Browser CommandSettingsDialog\Bejegyzs rszletes nzetnek testreszabsa...Customize Entry Detail View...SettingsDialog0Adatbzis kulcs dialgusDatabase Key DialogSettingsDialogKt szimullt gomb lets kztti ksleltets. Nvelje, ha az Aut-Gpels vletlenszqen kihagy karaktereket.dDelay between two simulated key strokes. Increase this if Auto-Type is randomly skipping characters.SettingsDialogNTrlje az ennl rgebbi bejegyzseket:!Delete backup entries older than:SettingsDialog6Ne bontson ki egy elemet seDo not expand any itemSettingsDialog>Bejegyzs szerkesztse dialgusEdit Entry DialogSettingsDialogEngedlyezze ezt, ha a knyvjelzQit hasznlni kvnja, s az utoljra megnyitott fjl fggetlen az abszolt tvonalaktl. Ez klnsen akkor hasznos, amikor a KeePassX-et hordozhatknt hasznljuk, s emiatt vltoznak a csatlakozsi pontok a fjlrendszerben.Enable this if you want to use your bookmarks and the last opened file independet from their absolute paths. This is especially useful when using KeePassX portably and therefore with changing mount points in the file system.SettingsDialog*Minden elem kibontsaExpand all itemsSettingsDialogltalnos (1) General (1)SettingsDialogltalnos (2) General (2)SettingsDialogNGloblis Auto-Gpels gyorsbillentyqje:Global Auto-Type Shortcut:SettingsDialogFGnome Desktop Integration (Gtk 2.x)#Gnome Desktop Integration (Gtk 2.x)SettingsDialog,Csoport fa indtskor:Group tree at start-up:SettingsDialog2KDE 4 Desktop IntegrationKDE 4 Desktop IntegrationSettingsDialog2Gomb lets ksleltetse:Key Stroke Delay:SettingsDialog NyelvLanguageSettingsDialog Nyelv: Language:SettingsDialogVZrolja az adatbzis ennyi inaktivits utn!Lock database after inactivity ofSettingsDialogbMunkaterlet zrolsa a fQablak minimalizlsakor.Lock workspace when minimizing the main windowSettingsDialogMdia gykr: Media Root:SettingsDialog^Minimalizls a rendszertlcra a panel helyett#Minimize to tray instead of taskbarSettingsDialogtMinimalizls a rendszertlcra amikor a fQablak bezrdik=Minimize to tray when clicking the main window's close buttonSettingsDialogSemelyikNoneSettingsDialogBeplQkPlug-InsSettingsDialogPre-Gap:Pre-Gap:SettingsDialogXEmlkezzen az utols kulcs tpusra s helyre#Remember last key type and locationSettingsDialogJEmlkezzen az utoljra nyitott fjlraRemember last opened fileSettingsDialog8Utols llapot visszatltseRestore last stateSettingsDialogMentse el a mdostott bejegyzsek biztonsgi mentseit a 'Backup' csoportba8Save backups of modified entries into the 'Backup' groupSettingsDialogEmkezzen a legutbb hasznlt knyvtrakra a fjl dialgus ablakokban'Save recent directories of file dialogsSettingsDialogpRelatv tvonalakat mentsen (knyvjelzQk s utols fjl)-Save relative paths (bookmarks and last file)SettingsDialogBiztonsgSecuritySettingsDialogBelltsokSettingsSettingsDialogVMutasson egyszerq szveges jelszavakat itt:Show plain text passwords in:SettingsDialog6Rendszer tlcaikon mutatsaShow system tray iconSettingsDialogIndts zrolva Start lockedSettingsDialog*Indts minimalizlvaStart minimizedSettingsDialogSzveg szn: Text Color:SettingsDialogAz a knyvtr ahova norml esetben a trol eszkzk, mint pldul a CD-k s pendrive-ok, csatoldnak.TThe directory where storage devices like CDs and memory sticks are normally mounted.SettingsDialogAz aut-gpels vgrehajtsa s az elsQ szimullt gomb lets kztt eltelt idQ.bTime between the activation of an auto-type action by the user and the first simulated key stroke.SettingsDialogHasznlja a bejegyzsek cmeit az ablak keresshez a globlis Auto-Gpelsnl;Use entries' title to match the window for Global Auto-TypeSettingsDialogItt sok funkcit kikapcsolhat, hogy a KeePassX felhasznli interfszt tisztn tarthassa.sYou can disable several features of KeePassX here according to your needs in order to keep the user interface slim.SettingsDialogjra kell indtani a programot, mielQtt a vltoztatsok rvnybe lpnnek.?You need to restart the program before the changes take effect.SettingsDialognapdaysSettingsDialogmsmsSettingsDialogmsodpercsecondsSettingsDialogAltAltShortcutWidget AltGrAltGrShortcutWidgetCtrlCtrlShortcutWidget ShiftShiftShortcutWidgetWinWinShortcutWidget&rja be a jelszavtEnter your PasswordSimplePasswordDialogJelsz: Password:SimplePasswordDialogNAuto-Gpels: Vlassza ki a cl ablakotAuto-Type: Select Target WindowTargetWindowDlgA cl ablak megadshoz vagy vlaszzon egy ltezQ jelenleg nyitott ablakot a legrdlQ listbl, vagy rja be az ablak cmt kzzel:To specify the target window, either select an existing currently-opened window from the drop-down list, or enter the window title manually:TargetWindowDlg&Hungarian (Hungary)$LANGUAGE_NAME TranslationAvramucz Pter$TRANSLATION_AUTHOR Translationhttp://muczy.hu$TRANSLATION_AUTHOR_EMAIL Translation\<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">A munkaterlet zrolva van.</span></p></body></html>

The workspace is locked.

WorkspaceLockedWidget$Adatbzis bezrsaClose DatabaseWorkspaceLockedWidgetFormFormWorkspaceLockedWidget NyitsUnlockWorkspaceLockedWidgetkeepassx-0.4.3/share/applications/0000775000175000017500000000000011344562537016145 5ustar felixfelixkeepassx-0.4.3/share/applications/keepassx.desktop0000664000175000017500000000101111161442043021336 0ustar felixfelix[Desktop Entry] Name=KeePassX GenericName=Cross Platform Password Manager GenericName[de]=Passwortverwaltung GenericName[es]=Gestor de contraseñas multiplataforma GenericName[fr]=Gestionnaire de mot de passe Exec=keepassx %f Icon=keepassx Comment=Cross Platform Password Manager Comment[de]=Passwortverwaltung Comment[es]=Gestor de contraseñas multiplataforma Comment[fr]=Gestionnaire de mot de passe Terminal=false Type=Application Categories=Qt;Utility;Security; MimeType=application/x-keepass; X-SuSE-translate=true keepassx-0.4.3/keepassx.pro0000664000175000017500000000124011123440167014704 0ustar felixfelixmessage("See 'INSTALL' for configuration options.") #message("*** Build Configuration:") TEMPLATE = subdirs isEmpty(PREFIX){ PREFIX = /usr } #isEmpty(KDEDIR){ # KDEDIR = /usr #} SUBDIRS += src #contains(INT_PLUGINS,kde) { # SUBDIRS +=src/plugins/kde # message("Build KDE Plugin: yes") #} #!contains(INT_PLUGINS,kde) { # message("Build KDE Plugin: no") #} #contains(INT_PLUGINS,gtk) { # SUBDIRS +=src/plugins/gnome # message("Build Gnome Plugin: yes") #} #!contains(INT_PLUGINS,gtk) { # message("Build Gnome Plugin: no") #} message("Install Prefix:" $$PREFIX) #message("KDE Prefix:" $$KDEDIR) message("*** Makefile successfully generated.") message("*** Start make now.") keepassx-0.4.3/cmake/0000775000175000017500000000000011344562535013433 5ustar felixfelixkeepassx-0.4.3/cmake/FindPCHSupport.cmake0000664000175000017500000000461211150524602017234 0ustar felixfelix# - Try to find precompiled headers support for GCC 3.4 and 4.x # Once done this will define: # # Variable: # PCHSupport_FOUND # # Macro: # ADD_PRECOMPILED_HEADER IF(CMAKE_COMPILER_IS_GNUCXX) EXEC_PROGRAM( ${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE _compiler_output) STRING(REGEX REPLACE ".* ([0-9]\\.[0-9]\\.[0-9]) .*" "\\1" gcc_compiler_version ${_compiler_output}) #MESSAGE("GCC Version: ${gcc_compiler_version}") IF(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]") SET(PCHSupport_FOUND TRUE) ELSE(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]") IF(gcc_compiler_version MATCHES "3\\.4\\.[0-9]") SET(PCHSupport_FOUND TRUE) ENDIF(gcc_compiler_version MATCHES "3\\.4\\.[0-9]") ENDIF(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]") ENDIF(CMAKE_COMPILER_IS_GNUCXX) MACRO(ADD_PRECOMPILED_HEADER _targetName _input ) GET_FILENAME_COMPONENT(_name ${_input} NAME) SET(_source "${CMAKE_CURRENT_SOURCE_DIR}/${_input}") SET(_outdir "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gch") MAKE_DIRECTORY(${_outdir}) SET(_output "${_outdir}/${CMAKE_BUILD_TYPE}.c++") STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name) SET(_compiler_FLAGS ${${_flags_var_name}}) GET_DIRECTORY_PROPERTY(_directory_flags INCLUDE_DIRECTORIES) FOREACH(item ${_directory_flags}) LIST(APPEND _compiler_FLAGS "-I${item}") ENDFOREACH(item) GET_DIRECTORY_PROPERTY(_directory_flags COMPILE_DEFINITIONS) FOREACH(item ${_directory_flags}) LIST(APPEND _compiler_FLAGS "-D${item}") ENDFOREACH(item) SEPARATE_ARGUMENTS(_compiler_FLAGS) #MESSAGE("_compiler_FLAGS: ${_compiler_FLAGS}") message("${CMAKE_CXX_COMPILER} ${_compiler_FLAGS} -x c++-header -o ${_output} ${_source}") ADD_CUSTOM_COMMAND( OUTPUT ${_output} COMMAND ${CMAKE_CXX_COMPILER} ${_compiler_FLAGS} -x c++-header -o ${_output} ${_source} DEPENDS ${_source} ) ADD_CUSTOM_TARGET(${_targetName}_gch DEPENDS ${_output}) ADD_DEPENDENCIES(${_targetName} ${_targetName}_gch) #SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-include ${_name} -Winvalid-pch -H") #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include ${_name} -Winvalid-pch") SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_name} -Winvalid-pch" ) ENDMACRO(ADD_PRECOMPILED_HEADER)