diff --git a/src/PwManager.cpp b/src/PwManager.cpp index a1b2115..2b6bcff 100755 --- a/src/PwManager.cpp +++ b/src/PwManager.cpp @@ -109,13 +109,13 @@ return false;} if((Version & 0xFFFFFF00) != (PWM_DBVER_DW & 0xFFFFFF00)){ - err=tr("Unsupported File Version"); + err=tr("Unsupported File Version."); return false;} if(Flags & PWM_FLAG_RIJNDAEL) CryptoAlgorithmus = ALGO_AES; else if(Flags & PWM_FLAG_TWOFISH) CryptoAlgorithmus = ALGO_TWOFISH; else { - err=tr("Unknown Encryption Algorithm"); + err=tr("Unknown Encryption Algorithm."); return false; } @@ -147,7 +147,7 @@ else if(CryptoAlgorithmus == ALGO_TWOFISH) total_size - DB_HEADER_SIZE, (Q_UINT8 *)buffer + DB_HEADER_SIZE); } -if((crypto_size > 2147483446) || (crypto_size == 0)){err=tr("Decryption failed.\nThe key is wrong or the file is damaged"); return false;} +if((crypto_size > 2147483446) || (crypto_size == 0)){err=tr("Decryption failed.\nThe key is wrong or the file is damaged."); return false;} sha256_starts(&sha32); sha256_update(&sha32,(unsigned char *)buffer + DB_HEADER_SIZE,crypto_size); @@ -252,7 +252,7 @@ Rijndael rijndael; sha256_context sha2; if(rijndael.init(Rijndael::ECB, Rijndael::Encrypt, (const Q_UINT8 *)KeySeed, Rijndael::Key32Bytes, 0) != RIJNDAEL_SUCCESS){ - cout << QString("unexpected error in %1, line %2").arg(__FILE__).arg(__LINE__).ascii() << endl; + _ERROR exit(1);} memcpy(tmp,src,32); @@ -341,9 +341,24 @@ return true; } -void PwDatabase::addEntry(CEntry* NewEntry){ -CEntry *entry=addEntry(); -*entry=*NewEntry; +CEntry* PwDatabase::addEntry(CEntry* NewEntry){ +if(Entries.size()==0){ + NewEntry->sID=0; + getRandomBytes(&NewEntry->ID,16,1,false); + } + else { + NewEntry->sID=Entries.back().sID+1; + while(1){ + bool used=false; + getRandomBytes(&NewEntry->ID,16,1,false); + for(int j=0;jID[k])k=0;break;} + if(k==15)used=true;} + if(used==false)break; + }} +Entries.push_back(*NewEntry); +return &Entries.back(); } diff --git a/src/PwManager.h b/src/PwManager.h index a1dcbf7..1ed29ab 100755 --- a/src/PwManager.h +++ b/src/PwManager.h @@ -68,7 +68,7 @@ public: void deleteEntry(CEntry* pEntry); void moveEntry(CEntry* pEntry,CGroup* pDstGroup); CEntry* addEntry(); - void addEntry(CEntry* NewEntry); + CEntry* addEntry(CEntry* NewEntry); void merge(PwDatabase* db2); bool isParentGroup(CGroup* Group,CGroup* PotenialParent); QString getError(); //get first error diff --git a/src/PwmConfig.cpp b/src/PwmConfig.cpp index c52e0f2..b4bcd30 100755 --- a/src/PwmConfig.cpp +++ b/src/PwmConfig.cpp @@ -140,14 +140,14 @@ return str; QColor CConfig::ParseColorString(QString str){ QStringList lst=QStringList::split(',',str); if(lst.size()!=3){ - qWarning(QObject::tr("Warnung:")+" CConfig::ParseColorString(QString):"+QObject::tr("ungültiger RGB-Farbwert.\n")); + qWarning(QObject::tr("Warning:")+" CConfig::ParseColorString(QString):"+QObject::tr("Invalid RGB color value.\n")); return QColor(0,0,0);} bool err[3]; int r=lst[0].toUInt(err); int g=lst[1].toUInt(err+1); int b=lst[2].toUInt(err+2); if(!err[0] || !err[1] || !err[2]){ - qWarning(QObject::tr("Warnung:")+" CConfig::ParseColorString(QString):"+QObject::tr("ungültiger RGB-Farbwert.\n")); + qWarning(QObject::tr("Warning:")+" CConfig::ParseColorString(QString):"+QObject::tr("Invalid RGB color value.\n")); return QColor(0,0,0);} return QColor(r,g,b); } diff --git a/src/dialogs/PasswordDlg.cpp b/src/dialogs/PasswordDlg.cpp index e2f9267..d92a5ca 100755 --- a/src/dialogs/PasswordDlg.cpp +++ b/src/dialogs/PasswordDlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005 by Tarek Saidi * + * Copyright (C) 2005-2006 by Tarek Saidi * * tarek@linux * * * * This program is free software; you can redistribute it and/or modify * @@ -36,7 +36,6 @@ CPasswordDialog::CPasswordDialog(QWidget* parent, const char* name, bool modal, { setupUi(this); createBanner(Banner,Icon_Key32x32,tr("Database Key")); - QDir media(config.MountDir); if(media.exists()){ QStringList Paths; @@ -68,6 +67,7 @@ connect( Edit_Password, SIGNAL( textChanged(const QString&) ), this, SLOT( OnPas connect( CheckBox_Both, SIGNAL( stateChanged(int) ), this, SLOT( OnCheckBox_BothChanged(int) ) ); connect( ButtonChangeEchoMode, SIGNAL( clicked() ), this, SLOT( ChangeEchoMode() ) ); connect( Edit_Password, SIGNAL( returnPressed() ), this, SLOT( OnOK() ) ); +connect( Edit_PasswordRep, SIGNAL( returnPressed() ), this, SLOT( OnOK() ) ); connect( ButtonExit, SIGNAL( clicked()),this,SLOT(OnButtonExit())); ButtonExit->setVisible(ShowExitButton); @@ -170,7 +170,7 @@ if(KeyType==BOTH || KeyType==KEYFILE){ return; } if(!fileinfo.isReadable()){ - QMessageBox::warning(this,tr("Error"),tr("The selected key file or directory is not readable\n.Please check your permissions."),tr("OK"),"","",0,0); + QMessageBox::warning(this,tr("Error"),tr("The selected key file or directory is not readable.\nPlease check your permissions."),tr("OK"),"","",0,0); return; } if(fileinfo.isDir()){ diff --git a/src/dialogs/SimplePasswordDlg.cpp b/src/dialogs/SimplePasswordDlg.cpp index 2ce5598..9d27bcf 100755 --- a/src/dialogs/SimplePasswordDlg.cpp +++ b/src/dialogs/SimplePasswordDlg.cpp @@ -29,6 +29,9 @@ CSimplePasswordDialog::CSimplePasswordDialog(QWidget* parent, const char* name, { setupUi(this); if(!config.ShowPasswords)Button_HidePassword->toggle(); +connect(ButtonOK,SIGNAL(clicked()),this,SLOT(OnOK())); +connect(ButtonCancel,SIGNAL(clicked()),this,SLOT(OnCancel())); +connect(Button_HidePassword,SIGNAL(toggled(bool)),this,SLOT(OnHidePasswordToggled(bool))); } CSimplePasswordDialog::~CSimplePasswordDialog() diff --git a/src/export/Export_Txt.cpp b/src/export/Export_Txt.cpp index 4f7694f..f85163a 100644 --- a/src/export/Export_Txt.cpp +++ b/src/export/Export_Txt.cpp @@ -52,7 +52,7 @@ for(int g=0;gGroups.size();g++){ .arg(db->Entries[e].UserName) .arg(db->Entries[e].URL) .arg(db->Entries[e].Password.string()) - .arg(db->Entries[e].Additional) + .arg(db->Entries[e].Additional.replace('\n',"\n ")) .utf8()); db->Entries[e].Password.lock(); } diff --git a/src/forms/AboutDlg.ui b/src/forms/AboutDlg.ui index 6e94725..32ca7bf 100644 --- a/src/forms/AboutDlg.ui +++ b/src/forms/AboutDlg.ui @@ -64,56 +64,61 @@ About - + 20 - 40 - 81 - 20 + 20 + 351 + 17 - Homepage: + <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> - + - 20 - 10 - 281 - 20 + 30 + 110 + 341 + 51 - KeePassX - Cross Platform Password Manager + Copyright (C) 2005 - 2006 Tarek Saidi +KeePassX is distributed under the terms of the +General Public License (GPL) version 2. - + - 20 - 70 - 111 - 20 + 30 + 80 + 351 + 17 - Email: + tarek.saidi@arcor.de - + - 20 - 100 - 301 - 20 + 30 + 50 + 351 + 17 - Copyright (C) 2005-2006 Tarek Saidi + http://keepass.berlios.de/ + + + @@ -175,6 +180,15 @@ + + + LinkLabel + QLabel +
../../src/lib/UrlLabel.h
+ 0 + +
+
diff --git a/src/forms/MainWindow.ui b/src/forms/MainWindow.ui index 10f2f1f..f7179ff 100644 --- a/src/forms/MainWindow.ui +++ b/src/forms/MainWindow.ui @@ -477,6 +477,11 @@ Plain Text (*.txt) + + + Hide + +
diff --git a/src/forms/PasswordDlg.ui b/src/forms/PasswordDlg.ui index 5fdcb9d..04f6f87 100644 --- a/src/forms/PasswordDlg.ui +++ b/src/forms/PasswordDlg.ui @@ -332,12 +332,14 @@ Edit_Password + Edit_PasswordRep Combo_Dirs - ButtonBrowse CheckBox_Both + ButtonChangeEchoMode + ButtonBrowse ButtonOK ButtonCancel - ButtonChangeEchoMode + ButtonExit diff --git a/src/forms/SettingsDlg.ui b/src/forms/SettingsDlg.ui index 7e0b360..8b0bb8d 100644 --- a/src/forms/SettingsDlg.ui +++ b/src/forms/SettingsDlg.ui @@ -234,6 +234,18 @@ 0 + + + 0 + 23 + + + + + 16777215 + 23 + + Change... @@ -324,6 +336,18 @@ 0 + + + 0 + 23 + + + + + 16777215 + 23 + + Change... @@ -372,6 +396,18 @@ 0 + + + 0 + 23 + + + + + 16777215 + 23 + + C&hange... @@ -466,6 +502,18 @@ + + + 0 + 23 + + + + + 16777215 + 23 + + Browse... @@ -487,7 +535,7 @@ - Media Directory: + Mounting Root: diff --git a/src/forms/SimplePasswordDlg.ui b/src/forms/SimplePasswordDlg.ui index f51d043..46c8e26 100644 --- a/src/forms/SimplePasswordDlg.ui +++ b/src/forms/SimplePasswordDlg.ui @@ -1,115 +1,117 @@ - - - - - SimplePasswordDialog - - - - 2 - 3 - 345 - 90 - - - - - 0 - 0 - 0 - 0 - - - - - 345 - 90 - - - - - 345 - 90 - - - - Enter your Password - - - - - 10 - 20 - 60 - 20 - - - - Password: - - - - - - 80 - 20 - 240 - 21 - - - - - - - 170 - 60 - 80 - 23 - - - - O&K - - - Alt+K - - - - - - 257 - 60 - 80 - 23 - - - - &Cancel - - - Alt+C - - - - - - 320 - 20 - 20 - 20 - - - - ... - - - - - - true - - + + + + + SimplePasswordDialog + + + + 0 + 0 + 345 + 90 + + + + + 0 + 0 + 0 + 0 + + + + + 345 + 90 + + + + + 345 + 90 + + + + Enter your Password + + + + + 10 + 20 + 60 + 20 + + + + Password: + - - qPixmapFromMimeSource + + + + 170 + 60 + 80 + 23 + + + + O&K + + + Alt+K + + + + + + 257 + 60 + 80 + 23 + + + + &Cancel + + + Alt+C + + + + + + 80 + 20 + 240 + 21 + + + + + + + 320 + 20 + 20 + 21 + + + + ... + + + + + + true + + + + + qPixmapFromMimeSource + + diff --git a/src/import/Import_PwManager.cpp b/src/import/Import_PwManager.cpp index 83805ae..9f2b51b 100755 --- a/src/import/Import_PwManager.cpp +++ b/src/import/Import_PwManager.cpp @@ -36,7 +36,7 @@ int len=0; if(!file.exists()){err+=QObject::tr("File not found."); return false;} if(!file.open(QIODevice::ReadOnly)){err+=QObject::tr("Could not open file."); return false;} if(len=file.size()) buffer=new char[len]; -else {err+=QObject::tr("Datei ist leer"); return false;} +else {err+=QObject::tr("File is empty."); return false;} file.readBlock(buffer,len); file.close(); if(QString::fromAscii(buffer,17)!="PWM_PASSWORD_FILE") @@ -107,6 +107,7 @@ delete[] content_hash; if(!parseXmlContent((char*)xml)){ delete [] xml; err+=QObject::tr("Invalid XML data (see stdout for details)."); return false;} +database->CalcMasterKeyByPassword(password); return true; } diff --git a/src/lib/GroupView.cpp b/src/lib/GroupView.cpp index deacf1c..c34c3b4 100644 --- a/src/lib/GroupView.cpp +++ b/src/lib/GroupView.cpp @@ -45,6 +45,7 @@ LastHoverItem=NULL; setHeaderLabels(QStringList()<pos()) && selectedItems().size()){ setItemSelected(selectedItems()[0],false); } e->accept(); -ContextMenu->popup(e->globalPos()); +if(isSearchResultGroup((GroupViewItem*)itemAt(e->pos()))) + ContextMenuSearchGroup->popup(e->globalPos()); +else + ContextMenu->popup(e->globalPos()); } GroupViewItem::GroupViewItem(QTreeWidget *parent):QTreeWidgetItem(parent){ diff --git a/src/lib/GroupView.h b/src/lib/GroupView.h index ec85452..5fd6b43 100644 --- a/src/lib/GroupView.h +++ b/src/lib/GroupView.h @@ -39,6 +39,7 @@ public: bool ShowSearchGroup; //needs a "updateItems()" after a change! vectorItems; QMenu *ContextMenu; + QMenu *ContextMenuSearchGroup; signals: void fileModified(); diff --git a/src/lib/UrlLabel.cpp b/src/lib/UrlLabel.cpp index ee50589..0ca125d 100755 --- a/src/lib/UrlLabel.cpp +++ b/src/lib/UrlLabel.cpp @@ -20,11 +20,11 @@ #include "UrlLabel.h" +#include "main.h" #include #include #include #include -//Added by qt3to4: #include #include @@ -41,15 +41,22 @@ LinkLabel::~LinkLabel(){ } +QString LinkLabel::url(){ +if(URL!=QString())return URL; +if(text().contains("@")) + return QString("mailto:")+text(); +else return text(); +} + void LinkLabel::mouseReleaseEvent(QMouseEvent* event){ if(event->button()==Qt::LeftButton) -clicked(); +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){ diff --git a/src/lib/UrlLabel.h b/src/lib/UrlLabel.h index a65fb59..5c6e91f 100755 --- a/src/lib/UrlLabel.h +++ b/src/lib/UrlLabel.h @@ -30,17 +30,20 @@ public: LinkLabel(QWidget *parent, const char* name = 0,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 \ No newline at end of file diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index c6ea876..26b648a 100755 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -145,6 +145,7 @@ void KeepassMainWindow::setupConnections(){ connect(GroupView,SIGNAL(itemSelectionChanged()), this, SLOT(OnGroupSelectionChanged())); connect(GroupView,SIGNAL(fileModified()),this,SLOT(OnFileModified())); connect(QuickSearchEdit,SIGNAL(returnPressed()), this, SLOT(OnQuickSearch())); + connect(HideSearchResultsAction,SIGNAL(triggered()),this, SLOT(OnHideSearchGroup())); } @@ -201,6 +202,7 @@ void KeepassMainWindow::setupMenus(){ GroupView->ContextMenu->addAction(EditNewEntryAction); GroupView->ContextMenu->addSeparator(); GroupView->ContextMenu->addAction(EditGroupSearchAction); + GroupView->ContextMenuSearchGroup->addAction(HideSearchResultsAction); EntryView->ContextMenu->addAction(EditPasswordToClipboardAction); EntryView->ContextMenu->addAction(EditUsernameToClipboardAction); @@ -367,6 +369,9 @@ FileSaveAsAction->setEnabled(IsOpen); FileCloseAction->setEnabled(IsOpen); FileSettingsAction->setEnabled(IsOpen); FileChangeKeyAction->setEnabled(IsOpen); +FileExpPlainTextAction->setEnabled(IsOpen); + + EditSearchAction->setEnabled(IsOpen); GroupView->setEnabled(IsOpen); EntryView->setEnabled(IsOpen); @@ -615,6 +620,7 @@ QString filename=QFileDialog::getOpenFileName(this,tr("Open Database..."),QDir:: if(filename!=QString::null){ Q_ASSERT(!FileOpen); db = new PwDatabase(); + db->newDatabase(); CSimplePasswordDialog dlg(this,"SimplePasswordDlg",true); if(!dlg.exec()){ delete db; @@ -654,6 +660,7 @@ QString filename=QFileDialog::getOpenFileName(this,tr("Open Database..."),QDir:: if(filename!=QString::null){ Q_ASSERT(!FileOpen); db = new PwDatabase(); + db->newDatabase(); GroupView->db=db; EntryView->db=db; QString err; @@ -810,7 +817,10 @@ for(int i=0; ideleteEntry(((EntryViewItem*)entries[i])->pEntry); } setStateFileModified(true); -EntryView->updateItems(currentGroup()->ID); +if(GroupView->isSearchResultGroup((GroupViewItem*)(GroupView->selectedItems()[0]))) + EntryView->showSearchResults(SearchResults); +else + EntryView->updateItems(currentGroup()->ID); } void KeepassMainWindow::removeFromSearchResults(int id){ @@ -885,7 +895,7 @@ EntryView->showSearchResults(SearchResults); CGroup* KeepassMainWindow::currentGroup(){ Q_ASSERT(GroupView->selectedItems().size()); -return static_cast(GroupView->selectedItems()[0])->pGroup; +return ((GroupViewItem*)(GroupView->selectedItems()[0]))->pGroup; } CEntry* KeepassMainWindow::currentEntry(){ @@ -935,6 +945,13 @@ else e->accept(); } +void KeepassMainWindow::OnHideSearchGroup(){ +GroupView->ShowSearchGroup=false; +GroupView->updateItems(); +EntryView->updateItems(0); +SearchResults.clear(); +} + void KeepassMainWindow::OnExtrasSettings(){ CSettingsDlg dlg(this,"SettingsDlg"); diff --git a/src/mainwindow.h b/src/mainwindow.h index 4e1c786..4b41880 100755 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -92,6 +92,7 @@ private slots: void OnHelpAbout(); void OnItemExpanded(QTreeWidgetItem*); void OnItemCollaped(QTreeWidgetItem*); + void OnHideSearchGroup(); private: enum SelectionState{NONE,SINGLE,MULTIPLE,SEARCHGROUP}; diff --git a/src/translations/keepass-de_DE.ts b/src/translations/keepass-de_DE.ts index c1cfedb..812d220 100644 --- a/src/translations/keepass-de_DE.ts +++ b/src/translations/keepass-de_DE.ts @@ -3,7 +3,7 @@ Could not open file (FileError=%1) - + Datei konnte nicht geöffnet werden. (FileError=%1) @@ -13,36 +13,36 @@ Über - Homepage: - Homepage: - - - KeePassX - Cross Platform Password Manager - KeePassX - Cross-Platform Passwort Manager + Thanks To + Dank An - Email: - EMail: + License + Lizenz - Copyright (C) 2005-2006 Tarek Saidi - Copyright (C) 2005-2006 Tarek Saidi + Translation + Übersetzung - Thanks To - Dank An + <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> - Cross Platform Password Manager</p></body></html> - License - Lizenz + 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 steht unter der +General Public License (GPL) Version 2. - <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="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></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="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + tarek.saidi@arcor.de + tarek.saidi@arcor.de - Translation - Übersetzung + http://keepass.berlios.de/ + http://keepass.berlios.de/ @@ -102,1449 +102,1473 @@ Information on how to translate KeePassX can be found under: http://keepass.berlios.de/translation-howto.html - Informationen wie Sie eine Übersetztung für KeePassX machen können finden Sie unter: + Informationen wie Sie eine Übersetztung für KeePassX erstellen können finden Sie unter: http://keepass.berlios.de/translation-howto.html - - - CChangeKeyDlg - Error - Fehler + Matthias Miller + Matthias Miller - OK - OK + http://www.outofhanwell.com/<br>Mac OS X Support + http://www.outofhanwell.com/<br>Mac OS X Unterstützung 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 + OK Error - Fehler + 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 mindestens Eins betragen. CEditEntryDlg Warning - + Warnung Password and password repetition are not equal. Please check your input. - + Passwort und Passwortwiederholung stimmen nicht überein. +Bitte prüfen Sie Ihre Eingabe. OK - OK + OK Save Attachment... - + Anhang Speichern... Overwrite? - + Überschreiben? A file with this name already exists. Do you want to replace it? - + Eine Datei mit diesem Namen existiert bereits. +Möchten Sie diese ersetzen. Yes - + Ja No - + Nein Error - Fehler + Fehler Could not remove old file. - + Alte Datei konnte nicht entfernt werden. Could not create new file. - + Neue Datei konnte nicht angelegt werden. 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? - + Sie sind dabei den Dateianhang dieses Eintrages zu löschen. +Sind Sie sicher? No, Cancel - + Nein, Abbrechen Edit Entry - + Eintrag bearbeiten Could not open file. - + Datei konnte nicht geöffnet werden. CGenPwDialog Notice - + Hinweis You need to enter at least one character - + Sie müssen mindestens ein Zeichen angeben. OK - OK + OK Error - Fehler + Fehler Could not open '/dev/random' or '/dev/urandom'. - + '/dev/random' oder '/dev/urandom' konnte nicht geöffnet werden. CPasswordDialog OK - OK + OK Error - Fehler + Fehler Please enter a Password. - + Bitte geben Sie ein Passwort ein. Please choose a key file. - + Bitte wählen Sie eine Schlüsseldatei. Please enter a Password or select a key file. - + Bitte geben Sie ein Passwort ein oder wählen +Sie eine Schlüsseldatei. Database Key - + Datenbankschlüssel Select a Key File - + Schlüsseldatei wählen *.key - + *.key Unexpected Error: File does not exist. - + Unerwarteter Fehler: Datei existiert nicht. The selected key file or directory does not exist. - - - - The selected key file or directory is not readable -.Please check your permissions. - + Die gewählte Schlüsseldatei bzw. das gewählte Verzeichnis existiert nicht. The given directory does not contain any key files. - + Das angegebene Verzeichnis enthält keine Schlüsseldatei. The given directory contains more then one key file. Please specify the key file directly. - + Das angegebene Verzeichnis enthält mehrere Schlüsseldateien. +Bitte geben Sie die gewünschte Schlüsseldatei direkt an. The key file found in the given directory is not readable. Please check your permissions. - + Die im angegebenen Verzeichnis gefundene Schlüsseldatei ist nicht lesbar. +Bitter prüfen Sie Ihre Zugriffsrechte. Key file could not be found. - + Schlüsseldatei konnte nicht gefunden werden. Key file is not readable. Please check your permissions. - + Die angegebene Schlüsseldatei ist nicht lesbar. +Bitter prüfen Sie Ihre Zugriffsrechte. Warning - + Warnung Password an password repetition are not equal. Please check your input. - + Passwort und Passwortwiederholung stimmen nicht überein. +Bitte prüfen Sie Ihre Eingabe. Please enter a password or select a key file. - + Bitte geben Sie ein Passwort ein oder wählen +Sie eine Schlüsseldatei. A file with the name 'pwsafe.key' already exisits in the given directory. Do you want to replace it? - + Im angegebenen Verzeichnis existiert bereits eine Datei mit dem Namen 'pwsafe.key'. +Möchten Sie diese ersetzen? Yes - + Ja No - + Nein The exisiting file is not writable. - + Die exisitierende Datei ist nicht überschreibbar. A file with the this name already exisits. Do you want to replace it? - + Eine Datei mit diesem Namen existiert bereits. +Möchten Sie diese ersetzen. + + + The selected key file or directory is not readable. +Please check your permissions. + Das angegebene Verzeichnis oder die angegebene Schlüsseldatei ist nicht lesbar. +Bitter prüfen Sie Ihre Zugriffsrechte. CSearchDlg Notice - + Hinweis Please enter a search string. - + Bitte geben Sie einen Suchbegriff ein. OK - OK + OK Search - + Suchen CSettingsDlg Settings - + Einstellungen Select a directory... - + Verzeichnis wählen... EditEntryDialog Edit Entry - + Eintrag bearbeiten Username: - + Benutzername: Password Repet.: - + Passwort Wdhlg.: Title: - + Titel: URL: - + URL: Password: - + Passwort: Quality: - + Qualität: Comment: - + Kommentar: Expires: - + Läuft ab: Group: - + Gruppe: &Cancel - + &Abbrechen Alt+C - + Alt+A %1 - + %1 Icon: - + Symbol: % Bit - + % Bit Ge&n. - + Ge&n. ... - + ... O&K - + O&K Alt+K - + Alt+K Never - + Nie Attachment: - + Anhang: EditGroupDialog Group Properties - + Gruppen-Eigenschaften Title: - + Titel: Icon: - + Symbol: &Cancel - + Abbre&chen Alt+C - + Alt+C O&K - + O&K Alt+K - + GenPwDlg Alt+U - + Alt+N - + Alt+M - + Alt+L - + Password Generator - + Passwortgenerator Accep&t - + Annehmen &Cancel - + Abbre&chen Generate - + Generieren New Password: - + Neues Passwort: Quality: - + Qualität: Options - + Optionen &Upper Letters - + Großbuchstaben: &Lower Letters - + Kleinbuchstaben: &Numbers - + Zahlen &Special Characters - + Sonderzeichen Minus - + Minus U&nderline - + Unterstrich h&igher ANSI-Characters - + höhere ANSI-Zeichen Alt+H - + Use &only following characters: - + Nur folgende Zeichen benutzen: Alt+O - + Length: - + Länge: Use "/dev/rando&m" - + '/dev/random' benutzen Use follo&wing character groups: - + Folgende Zeichengruppen nutzen: Alt+W - + White &Spaces - + Leerzeichen Alt+S - + KeepassEntryView Title - + Titel Username - + Benutzername URL - + URL Password - + Passwort Comments - + Kommentar Expires - + Läuft ab Creation - + Erstellung Last Change - + Letzte Änderung Last Access - + Letzter Zugriff Attachment - + Anhang %1 items - + %1 Elemente KeepassGroupView Search Results - + Suchergebnisse Groups - + Gruppen KeepassMainWindow Ctrl+N - + Ctrl+O - + Ctrl+S - + Ctrl+G - + Ctrl+C - + Ctrl+B - + Ctrl+U - + Ctrl+Y - + Ctrl+E - + Ctrl+D - + Ctrl+K - + Ctrl+F - + Ctrl+W - + Shift+Ctrl+S - + Shift+Ctrl+F - + Keepass - %1 - - - - Unknown error in PwDatabase::loadDatabase() - + Error - Fehler + Fehler The following error occured while opening the database: %1 - + Beim Öffnen der Datenbank ist folgender Fehler aufgetreten: +%1 OK - OK + OK Save modified file? - + Geändete Datei speichern? The current file was modified. Do you want to save the changes? - + Die aktuelle Datei wurde verändert. Möchten Sie +die Änderungen speichern? Yes - + Ja No - + Nein Cancel - + Abbrechen 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>Gruppe: </B>%1 <B>Titel: </B>%2 <B>Benutzername: </B>%3 <B>URL: </B><a href=%4>%4</a> <B>Passwort: </B>%5 <B>Erstellung: </B>%6 <B>Letzte Änderung: </B>%7 <B>Letzter Zugriff: </B>%8 <B>Läuft ab: </B>%9 Clone Entry - + Eintrag duplizieren Delete Entry - + Eintrag löschen Clone Entries - + Einträge duplizieren Delete Entries - + Einträge löschen File could not be saved. %1 - + Datei konnte nicht gespeichert werden. +%1 Save Database As... - + Datenbank speichern unter... Ready - + Bereit [new] - + [neu] Open Database... - + Datenbank öffnen... Loading Database... - + Lade Datenbank... Loading Failed - + Laden fehlgeschlagen Could not create key file. The following error occured: %1 - + Datei konnte nicht angelegt werden. Der folgende Fehler trat auf: +%1 Export To... - + Exportieren nach... KeePassX [new] - + KeePassX [neu] Unknown error in Import_PwManager::importFile()() - + Unbekannter Fehler in Import_PwManager::importFile()() Unknown error in Import_KWalletXml::importFile() - + Unbekannter Fehler in Import_KWalletXml::importFile() + + + Unknown error in PwDatabase::openDatabase() + Unbekannter Fehler in PwDatabase::openDatabase() MainWindow KeePassX - + KeePassX File - + Datei Import from... - + Importieren aus... View - + Ansicht Columns - + Spalten Extras - + Extras Help - + Hilfe New Database... - + Neue Datenbank... Open Database... - + Datenbank öffnen... Close Database - + Datenbank schließen Save Database - + Datenbank speichern Save Database As... - + Datenbank speichern unter... Database Settings... - + Datenbankeinstellungen... Change Master Key... - + Hauptschlüssel ändern... Exit - + Beenden PwManager File (*.pwm) - + PwManager-Datei (*.pwm) KWallet XML-File (*.xml) - + KWallet XML-Datei (*.xml) Add New Group... - + Neu Gruppe hinzufügen... Edit Group... - + Gruppe bearbeiten... Delete Group - + Gruppe löschen Copy Password to Clipboard - + Passwort in Zwischenablage kopieren Copy Username to Clipboard - + Benutzername in Zwischenablage kopieren Open URL - + URL öffnen Save Attachment As... - + Anhang speichern unter... Add New Entry... - + Neuen Eintrag hinzufügen... View/Edit Entry... - + Eintrag anzeigen/bearbeiten... Delete Entry - + Eintrag löschen Clone Entry - + Eintrag duplizieren Search In Database... - + In Datenbank suchen... Search in this group... - + In dieser Gruppe suchen... Show Toolbar - + Werkzeugleiste anzeigen Show Entry Details - + Eintragsdetails anzeigen Hide Usernames - + Benutzernamen verbergen Hide Passwords - + Passwörter verbergen Title - + Titel Username - + Benutzername URL - + URL Password - + Passwort Comment - + Kommentar Expires - + Läuft ab Creation - + Erstellung Last Change - + Letzte Änderung Last Access - + Letzter Zugriff Attachment - + Anhang Settings... - + Einstellungen... About... - + Über... Edit - + Bearbeiten Show Statusbar - + Statusleiste anzeigen Export to... - + Exportieren nach... KeePassX Handbook... - + KeePassX Handbuch... Plain Text (*.txt) - + Klartext (*.txt) + + + Hide + Verbergen PasswordDlg TextLabel - + OK - OK + OK ... - + ... Cancel - + Abbrechen Enter a Password and/or choose a key file. - + Geben Sie ein Passwort ein oder wählen Sie eine Schlüsseldatei. Key - + Schlüssel Password: - + Passwort: Key file or directory: - + Schlüsseldatei oder Datenträger: &Browse... - + Durchsuchen... Alt+B - + Use Password AND Key File - + Passwort UND Schlüsseldatei verwenden Exit - + Beenden Password Repet.: - + Passwort Wdhlg.: PwDatabase Unknown Error - + Unbekannter Fehler Unexpected file size (DB_TOTAL_SIZE < DB_HEADER_SIZE) - + Unerwartete Dateigrößen (DB_TOTAL_SIZE < DB_HEADER_SIZE) Wrong Signature - - - - Unsupported File Version - - - - Unknown Encryption Algorithm - + Falsche Signatur AES-Init Failed - - - - Decryption failed. -The key is wrong or the file is damaged - + AES Initialisierung fehlgeschlagen Unexpected error: Offset is out of range. [G1] - + Unexpected error: Offset is out of range. [G2] - + Unexpected error: Offset is out of range. [E1] - + Unexpected error: Offset is out of range. [E2] - + Unexpected error: Offset is out of range. [E3] - + Hash test failed. The key is wrong or the file is damaged. - + Hash-Test fehlgeschlagen. +Der Schlüssel ist falsch oder die Datei ist beschädigt. Could not open key file. - + Schlüsseldatei konnte nicht geöffnet werden. Key file could not be written. - + Schlüsseldatei konnte nicht geschrieben werden. + + + Could not open file. + Datei konnte nicht geöffnet werden. + + + Could not open file for writing. + Datei konnte nicht zum Schreiben geöffnent werden. + + + Unsupported File Version. + Nicht unterstützte Dateiversion. + + + Unknown Encryption Algorithm. + Unbekannter bzw. nicht unterstüzter Verschlüsselungsalgorithmus. + + + Decryption failed. +The key is wrong or the file is damaged. + Entschlüsselung fehlgeschlagen. +Der Schlüssel ist falsch oder die Datei ist beschädigt. QObject Warning - + Warnung Could not save configuration file. Make sure you have write access to '~/.keepass'. - + Konfigurationsdatei konnte nicht gespeichert werden. +Stellen Sie sicher, dass Sie Schreibzugriff auf '~/.keepass' haben. OK - OK + OK File '%1' could not be found. - Datei '%1' konnte nicht geöffnet werden. + Datei '%1' konnte nicht geöffnet werden. File not found. - + Datei nicht gefunden. Could not open file. - - - - Datei ist leer - + Datei konnte nicht geöffnet werden. File is no valid PwManager file. - + Datei ist keine gültige PwManager-Datei. Unsupported file version. - + Nicht unterstützte Dateiversion. Unsupported hash algorithm. - + Nicht unterstützter Hash-Algorithmus. Unsupported encryption algorithm. - + Unbekannter bzw. nicht unterstüzter Verschlüsselungsalgorithmus. Compressed files are not supported yet. - + Komprimierte Dateien werden noch nicht unterstützt. Wrong password. - + Falsches Passwort. File is damaged (hash test failed). - + Datei ist beschädigt (Hash-Test fehlgeschlagen). Invalid XML data (see stdout for details). - + Ungültige XML-Daten (siehe stdout für Fehlerbeschreibung). File is empty. - + Datei ist leer. Invalid XML file (see stdout for details). - + Ungültige XML-Daten (siehe stdout für Fehlerbeschreibung). Invalid XML file. - + Ungültige XML-Datei. Document does not contain data. - + Dokument enthält keine Daten. - Warnung: - + Error + Fehler - - ungültiger RGB-Farbwert. - - + + Warning: + Warnung: - Error - Fehler + Invalid RGB color value. + + Ungültiger RGB-Farbwert. Search_Dlg Alt+T - + Alt+U - + A&nhang - + Alt+N - + Alt+W - + Alt+C - + Search... - + Suche... Search For: - + Suche nach: Regular E&xpression - + regulärer Ausdruck Alt+X - + &Case Sensitive - + Groß- und Kleinschreibung beachten Include: - + Einbeziehen: &Titles - + Titel &Usernames - + Benutzernamen C&omments - + Kommentare Alt+O - + U&RLs - + URLs Alt+R - + Pass&words - + Passwörter Search - + Suchen Clo&se - + Schließen Alt+S - + Include Subgroups (recursive) - + Untergruppen einbeziehen (rekursiv) SettingsDialog Alt+Ö - + O&K - + O&K Alt+K - + Alt+C - + Settings - + Einstellungen &Cancel - + Abbrechen Clear clipboard after: - + Zwischenablage löschen nach: Seconds - + Sekunden Sh&ow passwords in plain text by default - + Passwort standardmäßig im Klartext anzeigen Alt+O - + Appea&rance - + Erscheinungsbild Banner Color - + Bannerfarbe Text Color: - + Textfarbe Change... - + Ändern... Color 2: - + Farbe 2: C&hange... - + Ändern... Alt+H - + Color 1: - + Farbe 1: Expand group tree when opening a database - + Gruppenbaum beim Öffnen aufklappen &Other - + Sonstiges Remember last opend file - + Zuletzt geöffnete Datei beim Starten öffnen Browser Command: - + Browser Befehl: Securi&ty - + Sicherheit Alternating Row Colors - + Abwechselnde Zeilenfarben Browse... - + Durchsuchen... - Media Directory: - + Remember last key type and location + Art und Ort des Schlüssels der letzten Datenbank merken - Remember last key type and location - + Mounting Root: + Datenträgerwurzelverzeichnis: SimplePasswordDialog O&K - + O&K Alt+K - + Alt+C - + ... - + ... Enter your Password - + Password: - + Passwort: &Cancel - + Abbrechen dbsettingdlg_base Database Settings - + Datenbankeinstellungen Encryption - + Verschlüsselung Algorithm: - + Algorithmus: ? - + ? Encryption Rounds: - + Verschlüsselungsrunden: O&K - + O&K Ctrl+K - + &Cancel - + Abbrechen Ctrl+C - + diff --git a/src/translations/keepass-xx_XX.ts b/src/translations/keepass-xx_XX.ts index 4b3115f..4ac3946 100644 --- a/src/translations/keepass-xx_XX.ts +++ b/src/translations/keepass-xx_XX.ts @@ -13,31 +13,33 @@ - Homepage: + Thanks To - KeePassX - Cross Platform Password Manager + License - Email: + Translation - Copyright (C) 2005-2006 Tarek Saidi + <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> - Thanks To + Copyright (C) 2005 - 2006 Tarek Saidi +KeePassX is distributed under the terms of the +General Public License (GPL) version 2. - License + tarek.saidi@arcor.de - Translation + http://keepass.berlios.de/ @@ -99,9 +101,14 @@ http://keepass.berlios.de/translation-howto.html - - - CChangeKeyDlg + + Matthias Miller + + + + http://www.outofhanwell.com/<br>Mac OS X Support + + CDbSettingsDlg @@ -277,11 +284,6 @@ Are you sure? The selected key file or directory does not exist. - - The selected key file or directory is not readable -.Please check your permissions. - - The given directory does not contain any key files. @@ -340,6 +342,11 @@ Do you want to replace it? Do you want to replace it? + + The selected key file or directory is not readable. +Please check your permissions. + + CSearchDlg @@ -371,9 +378,6 @@ Do you want to replace it? - - ChangeKeyDialog - EditEntryDialog @@ -727,10 +731,6 @@ Do you want to replace it? Keepass - %1 - - Unknown error in PwDatabase::loadDatabase() - - Error @@ -839,6 +839,10 @@ to save the changes? Unknown error in Import_KWalletXml::importFile() + + Unknown error in PwDatabase::openDatabase() + + MainWindow @@ -1046,6 +1050,10 @@ to save the changes? Plain Text (*.txt) + + Hide + + PasswordDlg @@ -1116,23 +1124,10 @@ to save the changes? Wrong Signature - - Unsupported File Version - - - - Unknown Encryption Algorithm - - AES-Init Failed - - Decryption failed. -The key is wrong or the file is damaged - - Unexpected error: Offset is out of range. [G1] @@ -1166,6 +1161,27 @@ The key is wrong or the file is damaged. 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 @@ -1194,10 +1210,6 @@ Make sure you have write access to '~/.keepass'. Could not open file. - - Datei ist leer - - File is no valid PwManager file. @@ -1247,16 +1259,16 @@ Make sure you have write access to '~/.keepass'. - Warnung: + Error - - ungültiger RGB-Farbwert. - + + Warning: - Error + Invalid RGB color value. + @@ -1458,11 +1470,11 @@ Make sure you have write access to '~/.keepass'. - Media Directory: + Remember last key type and location - Remember last key type and location + Mounting Root: