changed for new libpcscxx interface version 3; refs #176
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
/*! @file
|
/*! @file
|
||||||
|
|
||||||
@id $Id: browser.hxx 15 2010-06-03 14:17:27Z marc $
|
@id $Id: browser.hxx 15 2010-06-03 14:17:27Z marc $
|
||||||
|
|
||||||
|
This product includes software developed by the OpenSSL Project
|
||||||
|
for use in the OpenSSL Toolkit (http://www.openssl.org/)
|
||||||
|
|
||||||
|
This product includes cryptographic software written by
|
||||||
|
Eric Young (eay@cryptsoft.com)
|
||||||
*/
|
*/
|
||||||
// 1 2 3 4 5 6 7 8
|
// 1 2 3 4 5 6 7 8
|
||||||
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
@@ -86,7 +92,9 @@ class Browser: public QMainWindow, protected Ui::Browser {
|
|||||||
actionReload->setVisible(false);
|
actionReload->setVisible(false);
|
||||||
show();
|
show();
|
||||||
try {
|
try {
|
||||||
_networkManager.scAuth(new SmartCardAuth(actlib, this, login));
|
_networkManager.scAuth
|
||||||
|
(new SmartCardAuth(suisseid::Scanner(actlib.toStdString()).scan(),
|
||||||
|
this, login));
|
||||||
} catch (const std::exception& x) {
|
} catch (const std::exception& x) {
|
||||||
LOG<<"No SmartCard Support:"<<x.what();
|
LOG<<"No SmartCard Support:"<<x.what();
|
||||||
}
|
}
|
||||||
@@ -843,7 +851,14 @@ class Browser: public QMainWindow, protected Ui::Browser {
|
|||||||
"%3\n"
|
"%3\n"
|
||||||
"%4\n"
|
"%4\n"
|
||||||
"qt-%5 (%6)\n"
|
"qt-%5 (%6)\n"
|
||||||
"openssl-%7 (%9) %10")
|
"openssl-%7 (%9) %10\n\n"
|
||||||
|
"This product includes software"
|
||||||
|
" developed by the OpenSSL Project"
|
||||||
|
" for use in the OpenSSL Toolkit"
|
||||||
|
" (http://www.openssl.org/)\n\n"
|
||||||
|
"This product includes cryptographic"
|
||||||
|
" software written by Eric Young"
|
||||||
|
" (eay@cryptsoft.com)")
|
||||||
.arg(VERSION)
|
.arg(VERSION)
|
||||||
.arg(BUILDDATE)
|
.arg(BUILDDATE)
|
||||||
.arg(QString::fromStdString(proxy::version()))
|
.arg(QString::fromStdString(proxy::version()))
|
||||||
|
28
src/main.cxx
28
src/main.cxx
@@ -220,11 +220,11 @@ int main(int argv, char** argc) try {
|
|||||||
QList<QSslCertificate> certs(sslConfig.caCertificates());
|
QList<QSslCertificate> certs(sslConfig.caCertificates());
|
||||||
for (QList<QSslCertificate>::iterator cert(certs.begin());
|
for (QList<QSslCertificate>::iterator cert(certs.begin());
|
||||||
cert!=certs.end(); ++cert) {
|
cert!=certs.end(); ++cert) {
|
||||||
LOG<<"CERTIFICATE: "
|
LOG_FN<<"CERTIFICATE: "
|
||||||
<<cert->issuerInfo(QSslCertificate::Organization)
|
<<cert->issuerInfo(QSslCertificate::Organization)
|
||||||
<<cert->issuerInfo(QSslCertificate::CommonName)
|
<<cert->issuerInfo(QSslCertificate::CommonName)
|
||||||
<<cert->subjectInfo(QSslCertificate::Organization)
|
<<cert->subjectInfo(QSslCertificate::Organization)
|
||||||
<<cert->subjectInfo(QSslCertificate::CommonName);
|
<<cert->subjectInfo(QSslCertificate::CommonName);
|
||||||
}
|
}
|
||||||
QSslConfiguration::setDefaultConfiguration(sslConfig);
|
QSslConfiguration::setDefaultConfiguration(sslConfig);
|
||||||
//............................................................................
|
//............................................................................
|
||||||
@@ -240,13 +240,13 @@ int main(int argv, char** argc) try {
|
|||||||
env()["PROXY_HOST"], env()["PROXY_PORT"].toInt()));
|
env()["PROXY_HOST"], env()["PROXY_PORT"].toInt()));
|
||||||
else
|
else
|
||||||
QNetworkProxyFactory::setUseSystemConfiguration(true);
|
QNetworkProxyFactory::setUseSystemConfiguration(true);
|
||||||
LOG<<"Start - Proxy:"
|
LOG_FN<<"Start - Proxy:"
|
||||||
<<(QNetworkProxy::applicationProxy().type()==QNetworkProxy::NoProxy
|
<<(QNetworkProxy::applicationProxy().type()==QNetworkProxy::NoProxy
|
||||||
? "No Proxy"
|
? "No Proxy"
|
||||||
: (QNetworkProxy::applicationProxy().type()
|
: (QNetworkProxy::applicationProxy().type()
|
||||||
==QNetworkProxy::Socks5Proxy ? "socks" : "http"))
|
==QNetworkProxy::Socks5Proxy ? "socks" : "http"))
|
||||||
<<"Hostname"<<QNetworkProxy::applicationProxy().hostName()
|
<<"Hostname"<<QNetworkProxy::applicationProxy().hostName()
|
||||||
<<"Port"<<QNetworkProxy::applicationProxy().port();
|
<<"Port"<<QNetworkProxy::applicationProxy().port();
|
||||||
//............................................................................
|
//............................................................................
|
||||||
if (env().contains("QTWEBKIT_PLUGIN_PATH"))
|
if (env().contains("QTWEBKIT_PLUGIN_PATH"))
|
||||||
qt_drt_overwritePluginDirectories();
|
qt_drt_overwritePluginDirectories();
|
||||||
@@ -255,13 +255,13 @@ int main(int argv, char** argc) try {
|
|||||||
if (editbookmarks) browser.on_actionEditBookmarks_triggered();
|
if (editbookmarks) browser.on_actionEditBookmarks_triggered();
|
||||||
return app.exec();
|
return app.exec();
|
||||||
} catch (std::exception& x) {
|
} catch (std::exception& x) {
|
||||||
TRC_FN; LOG<<"Terminated with Exception"<<x.what();
|
TRC_FN; LOG_FN<<"Terminated with Exception"<<x.what();
|
||||||
std::cerr<<"**** Terminated with Error:"
|
std::cerr<<"**** Terminated with Error:"
|
||||||
<<std::endl<<x.what()<<std::endl;
|
<<std::endl<<x.what()<<std::endl;
|
||||||
return 1;
|
return 1;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
// unexpected exception - just terminate
|
// unexpected exception - just terminate
|
||||||
TRC_FN; LOG<<"Terminated with unknown Exception";
|
TRC_FN; LOG_FN<<"Terminated with unknown Exception";
|
||||||
std::cerr<<"**** Terminated with unknown Error"<<std::endl;
|
std::cerr<<"**** Terminated with unknown Error"<<std::endl;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@@ -40,9 +40,9 @@ class PinEntry: public QDialog, public Ui::PinEntry {
|
|||||||
_certSerial->setText(cert.serialNumber());
|
_certSerial->setText(cert.serialNumber());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PinEntry& tokeninfo(const cryptoki::TokenInfo& ti) {
|
PinEntry& tokeninfo(unsigned int min, unsigned int max) {
|
||||||
_maxPinLen = ti.maxPinLen;
|
_maxPinLen = max;
|
||||||
_minPinLen = ti.minPinLen;
|
_minPinLen = min;
|
||||||
on__pin_textChanged(_pin->text());
|
on__pin_textChanged(_pin->text());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@@ -58,9 +58,7 @@ class PinEntry: public QDialog, public Ui::PinEntry {
|
|||||||
TRC;
|
TRC;
|
||||||
_pin->clear();
|
_pin->clear();
|
||||||
show();
|
show();
|
||||||
LOG<<"SSSSSSSSSTTTTTTTAAAAAAAAAAAAARRRRRRRRRRTTTTTTTTTT";
|
|
||||||
int res(_run.exec(QEventLoop::ExcludeSocketNotifiers));
|
int res(_run.exec(QEventLoop::ExcludeSocketNotifiers));
|
||||||
LOG<<"EEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNDDDDDDDDDDDDDDEEEEEEEEEEEEE";
|
|
||||||
hide();
|
hide();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@@ -73,7 +71,6 @@ class PinEntry: public QDialog, public Ui::PinEntry {
|
|||||||
TRC; LOG<<r;
|
TRC; LOG<<r;
|
||||||
_run.exit(r);
|
_run.exit(r);
|
||||||
assert(!_run.isRunning());
|
assert(!_run.isRunning());
|
||||||
LOG<<"DDDDDDDDOOOOOOOOOOOONNNNNNNNNNNEEEEEEE";
|
|
||||||
QDialog::done(r);
|
QDialog::done(r);
|
||||||
}
|
}
|
||||||
virtual void reject() {
|
virtual void reject() {
|
||||||
@@ -86,9 +83,14 @@ class PinEntry: public QDialog, public Ui::PinEntry {
|
|||||||
adjustSize();
|
adjustSize();
|
||||||
}
|
}
|
||||||
void on__pin_textChanged(const QString &text) {
|
void on__pin_textChanged(const QString &text) {
|
||||||
|
TRC; LOG<<"pin length - min: "<<_minPinLen<<" - max: "<<_maxPinLen;
|
||||||
_buttonBox->button(QDialogButtonBox::Ok)
|
_buttonBox->button(QDialogButtonBox::Ok)
|
||||||
->setEnabled((unsigned long)text.size()>=_minPinLen &&
|
->setEnabled((unsigned long)text.size()>=_minPinLen &&
|
||||||
(unsigned long)text.size()<=_maxPinLen);
|
(unsigned long)text.size()<=_maxPinLen);
|
||||||
|
if ((unsigned long)text.size()<_minPinLen)
|
||||||
|
_pin->setToolTip(tr("minimum PIN length: %1").arg(_minPinLen));
|
||||||
|
if ((unsigned long)text.size()>_maxPinLen)
|
||||||
|
_pin->setToolTip(tr("maximum PIN length: %1").arg(_maxPinLen));
|
||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
QString utfConv(const QString& txt) {
|
QString utfConv(const QString& txt) {
|
||||||
|
@@ -42,7 +42,7 @@ namespace qbrowserlib {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static QString networkError(QNetworkReply::NetworkError err) {
|
static QString networkError(QNetworkReply::NetworkError err) {
|
||||||
TRC_FN; LOG<<err;
|
TRC_FN; LOG_FN<<err;
|
||||||
switch (err) {
|
switch (err) {
|
||||||
case QNetworkReply::NoError:
|
case QNetworkReply::NoError:
|
||||||
return tr("Network connection successful, remote host can be"
|
return tr("Network connection successful, remote host can be"
|
||||||
|
@@ -17,24 +17,32 @@ namespace qbrowserlib {
|
|||||||
const std::string& file, unsigned long line,
|
const std::string& file, unsigned long line,
|
||||||
bool traceOpenClose):
|
bool traceOpenClose):
|
||||||
_debug(DEBUG), _close(traceOpenClose),
|
_debug(DEBUG), _close(traceOpenClose),
|
||||||
_addr(addr), _name(name), _file(file), _line(line) {
|
_addr(addr), _name(name), _file(file), _line(line), _clean(true) {
|
||||||
if (!_debug || !_close) return;
|
if (!_debug) return;
|
||||||
++_level;
|
if (_close) {
|
||||||
std::stringstream ss;
|
++_level;
|
||||||
indent(ss)<<"\\ "<<_name;
|
indent(_ss)<<"\\ "<<_name;
|
||||||
close(init(std::clog)<<ss.str())<<std::endl;
|
close(init(std::clog)<<_ss.str())<<std::endl;
|
||||||
if (!_dialog) _dialog = new LogDialog;
|
if (!_dialog) _dialog = new LogDialog;
|
||||||
_dialog->append(*this, ss.str());
|
_dialog->append(*this, _ss.str());
|
||||||
|
_ss.str(std::string());
|
||||||
|
}
|
||||||
|
indent(_ss)<<" → ";
|
||||||
}
|
}
|
||||||
|
|
||||||
Log::~Log() throw() {
|
Log::~Log() throw() {
|
||||||
if (!_debug || !_close) return;
|
if (!_debug) return;
|
||||||
std::stringstream ss;
|
if (!_clean) {
|
||||||
indent(ss)<<"/ "<<_name;
|
close(init(std::clog)<<_ss.str())<<std::endl;
|
||||||
close(init(std::clog)<<ss.str())<<std::endl;
|
if (!_dialog) _dialog = new LogDialog;
|
||||||
|
_dialog->append(*this, _ss.str());
|
||||||
|
}
|
||||||
|
if (!_close) return;
|
||||||
|
_ss.str(std::string());
|
||||||
|
indent(_ss)<<"/ "<<_name;
|
||||||
|
close(init(std::clog)<<_ss.str())<<std::endl;
|
||||||
--_level;
|
--_level;
|
||||||
if (!_dialog) _dialog = new LogDialog;
|
_dialog->append(*this, _ss.str());
|
||||||
_dialog->append(*this, ss.str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Log::show(QWidget* p) {
|
void Log::show(QWidget* p) {
|
||||||
|
@@ -28,42 +28,43 @@
|
|||||||
namespace qbrowserlib {
|
namespace qbrowserlib {
|
||||||
|
|
||||||
#ifndef LOG
|
#ifndef LOG
|
||||||
#define LOG \
|
#define LOG \
|
||||||
QBROWSERLIB_LOCAL_TRACER
|
qbrowserlib::Log(this, __PRETTY_FUNCTION__, __FILE__, __LINE__, false)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef LOG_FN
|
||||||
|
#define LOG_FN \
|
||||||
|
qbrowserlib::Log(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef TRC
|
#ifndef TRC
|
||||||
#define TRC \
|
#define TRC \
|
||||||
qbrowserlib::Log QBROWSERLIB_LOCAL_TRACER \
|
qbrowserlib::Log __TRC_LOCAL(this, __PRETTY_FUNCTION__, __FILE__, __LINE__)
|
||||||
(this, __PRETTY_FUNCTION__, __FILE__, __LINE__)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TRC_FN
|
#ifndef TRC_FN
|
||||||
#define TRC_FN \
|
#define TRC_FN \
|
||||||
qbrowserlib::Log QBROWSERLIB_LOCAL_TRACER \
|
qbrowserlib::Log __TRC_LOCAL(0, __PRETTY_FUNCTION__, __FILE__, __LINE__)
|
||||||
(0, __PRETTY_FUNCTION__, __FILE__, __LINE__)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CRYPTOKI_LOG(X) \
|
#ifdef CRYPTOLOG
|
||||||
qbrowserlib::Log(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false)<<X
|
#undef CRYPTOLOG
|
||||||
|
#endif
|
||||||
|
#define CRYPTOLOG(X) \
|
||||||
|
qbrowserlib::Log(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false)<<X;
|
||||||
|
|
||||||
#define PCSC_LOG(X) \
|
#ifdef OPENSSL_CHECK
|
||||||
qbrowserlib::Log(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false)<<X
|
#undef OPENSSL_CHECK
|
||||||
|
#endif
|
||||||
#define OPENSSL_LOG(X) \
|
|
||||||
qbrowserlib::Log(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false)<<X
|
|
||||||
|
|
||||||
#define OPENSSL_CHECK(X) \
|
#define OPENSSL_CHECK(X) \
|
||||||
if (!(X)) { \
|
if (!(X)) { \
|
||||||
ERR_load_ENGINE_strings(); \
|
ERR_load_ENGINE_strings(); \
|
||||||
std::stringstream ss; \
|
qbrowserlib::Log ss(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false); \
|
||||||
for (unsigned int err(0); err=ERR_get_error();) { \
|
for (unsigned int err(0); err=ERR_get_error();) { \
|
||||||
ss<<"Error: "<<ERR_error_string(err, 0)<<"; "; \
|
ss<<"Error: "<<ERR_error_string(err, 0)<<"; "; \
|
||||||
} \
|
} \
|
||||||
ss<<"Command "<<#X<<" failed in function "<<__PRETTY_FUNCTION__ \
|
ss<<"Command "<<#X<<" failed in function "<<__PRETTY_FUNCTION__ \
|
||||||
<<" in file "<<__FILE__<<":"<<__LINE__; \
|
<<" in file "<<__FILE__<<":"<<__LINE__; \
|
||||||
qbrowserlib::Log(0, __PRETTY_FUNCTION__, __FILE__, __LINE__, false) \
|
|
||||||
<<ss.str(); \
|
|
||||||
throw std::runtime_error(ss.str()); \
|
throw std::runtime_error(ss.str()); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,6 +82,8 @@ namespace qbrowserlib {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
Log();
|
||||||
|
|
||||||
Log(const void* addr, const std::string& name,
|
Log(const void* addr, const std::string& name,
|
||||||
const std::string& file, unsigned long line,
|
const std::string& file, unsigned long line,
|
||||||
bool traceOpenClose=true);
|
bool traceOpenClose=true);
|
||||||
@@ -90,6 +93,10 @@ namespace qbrowserlib {
|
|||||||
~Log() throw();
|
~Log() throw();
|
||||||
|
|
||||||
static void show(QWidget* p);
|
static void show(QWidget* p);
|
||||||
|
|
||||||
|
std::string str() {
|
||||||
|
return _ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@@ -111,6 +118,8 @@ namespace qbrowserlib {
|
|||||||
const std::string _name;
|
const std::string _name;
|
||||||
const std::string _file;
|
const std::string _file;
|
||||||
unsigned long _line;
|
unsigned long _line;
|
||||||
|
std::stringstream _ss;
|
||||||
|
bool _clean;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LogDialog:
|
class LogDialog:
|
||||||
@@ -221,11 +230,8 @@ namespace qbrowserlib {
|
|||||||
// note: template class method must be defined in the header
|
// note: template class method must be defined in the header
|
||||||
template<typename TYPE> Log& Log::operator<<(TYPE arg) {
|
template<typename TYPE> Log& Log::operator<<(TYPE arg) {
|
||||||
if (!_debug) return *this;
|
if (!_debug) return *this;
|
||||||
std::stringstream ss;
|
_clean = false;
|
||||||
indent(ss)<<" → "<<arg;
|
_ss<<" "<<arg;
|
||||||
close(init(std::clog)<<ss.str())<<std::endl;
|
|
||||||
if (!_dialog) _dialog = new LogDialog;
|
|
||||||
_dialog->append(*this, ss.str());
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -12,10 +12,8 @@
|
|||||||
|
|
||||||
#include <pinentry.hxx>
|
#include <pinentry.hxx>
|
||||||
|
|
||||||
#include <cryptoki.hxx>
|
#include <suisseid.hxx>
|
||||||
#include <pcsc.hxx>
|
|
||||||
#include <openssl-engine.hxx>
|
#include <openssl-engine.hxx>
|
||||||
#include <openssl.hxx>
|
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
@@ -29,8 +27,7 @@ class CryptokiEngine: public QObject, public openssl::Engine {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CryptokiEngine(std::string lib):
|
CryptokiEngine() {
|
||||||
_cryptoki(lib) {
|
|
||||||
TRC;
|
TRC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,10 +38,6 @@ class CryptokiEngine: public QObject, public openssl::Engine {
|
|||||||
return _privateKey.get();
|
return _privateKey.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
cryptoki::Library& cryptoki() {
|
|
||||||
return _cryptoki;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cert(cryptoki::Object& privateKey, const std::string& certVal) {
|
void cert(cryptoki::Object& privateKey, const std::string& certVal) {
|
||||||
TRC;
|
TRC;
|
||||||
_privateKey = std::auto_ptr<cryptoki::Object>
|
_privateKey = std::auto_ptr<cryptoki::Object>
|
||||||
@@ -110,12 +103,12 @@ class CryptokiEngine: public QObject, public openssl::Engine {
|
|||||||
|
|
||||||
virtual const char* id() {
|
virtual const char* id() {
|
||||||
TRC;
|
TRC;
|
||||||
return "CryptokiEngine_ID";
|
return "SuisseID Engine ID";
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual const char* name() {
|
virtual const char* name() {
|
||||||
TRC;
|
TRC;
|
||||||
return "CryptokiEngine_NAME";
|
return "SuisseID Engine NAME";
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual std::string rsaSign(const std::string& in, unsigned int type) try {
|
virtual std::string rsaSign(const std::string& in, unsigned int type) try {
|
||||||
@@ -139,7 +132,6 @@ class CryptokiEngine: public QObject, public openssl::Engine {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
cryptoki::Library _cryptoki;
|
|
||||||
std::auto_ptr<cryptoki::Object> _privateKey;
|
std::auto_ptr<cryptoki::Object> _privateKey;
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -149,8 +141,8 @@ class SmartCardAuth: public QObject {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SmartCardAuth(const QString& lib, QWidget* p=0, bool loginAtStart=true):
|
SmartCardAuth(suisseid::Cards cards, QWidget* p=0, bool loginAtStart=true):
|
||||||
_parent(p), _e(new CryptokiEngine(lib.toStdString())), _reg(_e) {
|
_parent(p), _e(new CryptokiEngine()), _reg(_e), _cards(cards) {
|
||||||
TRC;
|
TRC;
|
||||||
if (loginAtStart) login();
|
if (loginAtStart) login();
|
||||||
assert(connect(_e, SIGNAL(certRequired()), SLOT(login())));
|
assert(connect(_e, SIGNAL(certRequired()), SLOT(login())));
|
||||||
@@ -160,84 +152,37 @@ class SmartCardAuth: public QObject {
|
|||||||
|
|
||||||
void login(bool force=true) {
|
void login(bool force=true) {
|
||||||
TRC;
|
TRC;
|
||||||
|
Lock lock;
|
||||||
|
LOG<<"got lock";
|
||||||
|
if (!_e || (!force && *_e)) return; // no smartcard or already logged in
|
||||||
|
LOG<<"get new certificate";
|
||||||
try {
|
try {
|
||||||
Lock lock;
|
for (suisseid::Cards::iterator card(_cards.begin());
|
||||||
LOG<<"got lock";
|
card!=_cards.end(); ++card) {
|
||||||
if (!_e || (!force && *_e)) return; // no smartcard or already logged in
|
suisseid::Certificate cert((*card)->authenticationCertificate());
|
||||||
LOG<<"start login to smartcard";
|
PinEntry pinEntry(QSslCertificate(QByteArray(cert.data(),
|
||||||
QList<CertInfo> authcerts;
|
cert.size()),
|
||||||
QList<CertInfo> allcerts;
|
|
||||||
QSslConfiguration sslConfig(QSslConfiguration::defaultConfiguration());
|
|
||||||
_slots = _e->cryptoki().slotList();
|
|
||||||
LOG<<"number of slots"<<_slots.size();
|
|
||||||
// look for login certificates ----------------------------------------
|
|
||||||
for (cryptoki::SlotList::iterator slot(_slots.begin());
|
|
||||||
slot!=_slots.end(); ++slot) {
|
|
||||||
cryptoki::Session session(*slot);
|
|
||||||
cryptoki::ObjectList certs(session.find
|
|
||||||
(cryptoki::Attribute(CKA_CLASS)
|
|
||||||
.from<CK_OBJECT_CLASS>(CKO_CERTIFICATE)));
|
|
||||||
for (cryptoki::ObjectList::iterator cert(certs.begin());
|
|
||||||
cert!=certs.end(); ++cert) {
|
|
||||||
cryptoki::Attribute label(cert->attribute(CKA_LABEL));
|
|
||||||
cryptoki::Attribute id(cert->attribute(CKA_ID));
|
|
||||||
LOG<<"**** FOUND CERTIFICATE: "<<label.value.c_str();
|
|
||||||
cryptoki::ObjectList keys
|
|
||||||
(session.find(cryptoki::Attribute(CKA_CLASS)
|
|
||||||
.from<CK_OBJECT_CLASS>(CKO_PUBLIC_KEY),
|
|
||||||
id));
|
|
||||||
LOG<<"**** with keys: "<<keys.size();
|
|
||||||
std::string data(cert->attribute(CKA_VALUE).value);
|
|
||||||
if (!keys.size()) { // add CA-certificate
|
|
||||||
LOG<<"**** add to CA-certificates";
|
|
||||||
} else {
|
|
||||||
LOG<<"**** user cert, check for authentictaion";
|
|
||||||
if (label.value.find("auth")==0 ||
|
|
||||||
label.value.find("Authentication")!=std::string::npos) {
|
|
||||||
LOG<<"**** it's our authentication cert";
|
|
||||||
authcerts.push_back(CertInfo(data, slot, id));
|
|
||||||
} else {
|
|
||||||
LOG<<"**** it's an unknown cert";
|
|
||||||
allcerts.push_back(CertInfo(data, slot, id));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// get pin and install client certificate ------------------------------
|
|
||||||
LOG<<"00000000000000000000000000000000000000000000000000";
|
|
||||||
if (!authcerts.isEmpty() || !allcerts.isEmpty()) {
|
|
||||||
LOG<<"11111111111111111111111111111111111111111111111111";
|
|
||||||
CertInfo c(authcerts.size()?authcerts[0]:allcerts[0]);
|
|
||||||
PinEntry pinEntry(QSslCertificate(QByteArray(c.data.data(),
|
|
||||||
c.data.size()),
|
|
||||||
QSsl::Der), _parent);
|
QSsl::Der), _parent);
|
||||||
while (true) try {
|
while (true) try {
|
||||||
LOG<<"******************************************1*******";
|
if (pinEntry
|
||||||
pinEntry.tokeninfo(c.slot->tokeninfo())
|
.tokeninfo((*card)->minimalPinLength(),
|
||||||
.retries(retries(c.slot->slotinfo().slotDescription));
|
(*card)->maximalPinLength())
|
||||||
LOG<<"******************************************2*******";
|
.retries((*card)->pkcs15PinRetries())
|
||||||
int res(pinEntry.myexec());
|
.myexec()
|
||||||
LOG<<"******************************************3*******";
|
!=PinEntry::Accepted)
|
||||||
if (res!=PinEntry::Accepted) return;
|
return;
|
||||||
LOG<<"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
|
||||||
_session = // session login with pin
|
_session = // session login with pin
|
||||||
std::auto_ptr<cryptoki::Session>
|
std::shared_ptr<cryptoki::Session>
|
||||||
(new cryptoki::Session(*c.slot));
|
(new cryptoki::Session((*card)->session()));
|
||||||
LOG<<"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB";
|
|
||||||
_session->login(pinEntry.pin().toStdString());
|
_session->login(pinEntry.pin().toStdString());
|
||||||
LOG<<"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC";
|
|
||||||
cryptoki::ObjectList keys
|
cryptoki::ObjectList keys
|
||||||
(_session->find(cryptoki::Attribute(CKA_CLASS)
|
(_session->find(cryptoki::Attribute(CKA_CLASS)
|
||||||
.from<CK_OBJECT_CLASS>(CKO_PRIVATE_KEY),
|
.from<CK_OBJECT_CLASS>(CKO_PRIVATE_KEY),
|
||||||
c.id));
|
cert.id()));
|
||||||
LOG<<"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD";
|
|
||||||
if (keys.size()==1) {
|
if (keys.size()==1) {
|
||||||
LOG<<"**** found one private key";
|
_e->cert(keys[0], cert); // install client cert
|
||||||
_e->cert(keys[0], c.data); // install client cert
|
|
||||||
LOG<<"==================================================";
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
LOG<<"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
|
|
||||||
} catch (std::exception& x) {
|
} catch (std::exception& x) {
|
||||||
pinEntry.pin().clear();
|
pinEntry.pin().clear();
|
||||||
LOG<<"**** ERROR"<<x.what();
|
LOG<<"**** ERROR"<<x.what();
|
||||||
@@ -246,150 +191,16 @@ class SmartCardAuth: public QObject {
|
|||||||
" please try again."));
|
" please try again."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LOG<<"YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY";
|
|
||||||
} catch (std::exception& x) {
|
} catch (std::exception& x) {
|
||||||
LOG<<"**** ERROR"<<x.what();
|
LOG<<"**** ERROR"<<x.what();
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
LOG<<"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
int minPinLen(const std::string& name) {
|
|
||||||
TRC; LOG<<name.c_str();
|
|
||||||
try {
|
|
||||||
pcsc::Connection pcsc;
|
|
||||||
mrw::Shared<pcsc::Connection::Reader> reader(pcsc.reader(name));
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
pcsc::Connection::Reader::Transaction lock(reader);
|
|
||||||
#endif
|
|
||||||
// first try to read version info
|
|
||||||
if (reader->transmit(0x00, 0xA4, 0x08, 0x0C, "\x3f\x00\x56\x49", 4)
|
|
||||||
!= std::string("\x90\x00", 2) || !reader) {
|
|
||||||
LOG<<"Select File failed";
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
std::string res(reader->transmit(0x00, 0xB0, 0x00, 0x00));
|
|
||||||
if (res.substr(res.size()-2)!=std::string("\x90\x00", 2)) {
|
|
||||||
LOG<<"read error";
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
LOG<<"version text is: "<<res.substr(4, res[3]).c_str();
|
|
||||||
// if (res.substr(4, res[3]) != "RAPost 2009" &&
|
|
||||||
// res.substr(4, res[3]) != "RAPost 2010") {
|
|
||||||
// LOG<<"unsupported card";
|
|
||||||
// return -2;
|
|
||||||
// }
|
|
||||||
if (retCode(reader->transmit(0x00, 0xA4, 0x00, 0x0C)) == 0x9000) {
|
|
||||||
int value(retCode(reader->transmit(0x00, 0x20, 0x00, 0x81)));
|
|
||||||
if ((value&0x63C0)==0x63C0) return value&0x0F;
|
|
||||||
} else {
|
|
||||||
LOG<<"**** ERROR in select MF while reading pin status";
|
|
||||||
}
|
|
||||||
return -1; // locked
|
|
||||||
} catch (const std::exception& x) {
|
|
||||||
LOG<<"**** ERROR while reading pin status: "<<x.what();
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int maxPinLen(const std::string& name) {
|
|
||||||
TRC; LOG<<name.c_str();
|
|
||||||
try {
|
|
||||||
pcsc::Connection pcsc;
|
|
||||||
mrw::Shared<pcsc::Connection::Reader> reader(pcsc.reader(name));
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
pcsc::Connection::Reader::Transaction lock(reader);
|
|
||||||
#endif
|
|
||||||
// first try to read version info
|
|
||||||
if (reader->transmit(0x00, 0xA4, 0x08, 0x0C, "\x3f\x00\x56\x49", 4)
|
|
||||||
!= std::string("\x90\x00", 2) || !reader) {
|
|
||||||
LOG<<"Select File failed";
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
std::string res(reader->transmit(0x00, 0xB0, 0x00, 0x00));
|
|
||||||
if (res.substr(res.size()-2)!=std::string("\x90\x00", 2)) {
|
|
||||||
LOG<<"read error";
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
LOG<<"version text is: "<<res.substr(4, res[3]).c_str();
|
|
||||||
// if (res.substr(4, res[3]) != "RAPost 2009" &&
|
|
||||||
// res.substr(4, res[3]) != "RAPost 2010") {
|
|
||||||
// LOG<<"unsupported card";
|
|
||||||
// return -2;
|
|
||||||
// }
|
|
||||||
if (retCode(reader->transmit(0x00, 0xA4, 0x00, 0x0C)) == 0x9000) {
|
|
||||||
int value(retCode(reader->transmit(0x00, 0x20, 0x00, 0x81)));
|
|
||||||
if ((value&0x63C0)==0x63C0) return value&0x0F;
|
|
||||||
} else {
|
|
||||||
LOG<<"**** ERROR in select MF while reading pin status";
|
|
||||||
}
|
|
||||||
return -1; // locked
|
|
||||||
} catch (const std::exception& x) {
|
|
||||||
LOG<<"**** ERROR while reading pin status: "<<x.what();
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int retries(const std::string& name) {
|
|
||||||
TRC; LOG<<name.c_str();
|
|
||||||
try {
|
|
||||||
pcsc::Connection pcsc;
|
|
||||||
mrw::Shared<pcsc::Connection::Reader> reader(pcsc.reader(name));
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
pcsc::Connection::Reader::Transaction lock(reader);
|
|
||||||
#endif
|
|
||||||
// first try to read version info
|
|
||||||
if (reader->transmit(0x00, 0xA4, 0x08, 0x0C, "\x3f\x00\x56\x49", 4)
|
|
||||||
!= std::string("\x90\x00", 2) || !reader) {
|
|
||||||
LOG<<"Select File failed";
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
std::string res(reader->transmit(0x00, 0xB0, 0x00, 0x00));
|
|
||||||
if (res.substr(res.size()-2)!=std::string("\x90\x00", 2)) {
|
|
||||||
LOG<<"read error";
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
LOG<<"version text is: "<<res.substr(4, res[3]).c_str();
|
|
||||||
// if (res.substr(4, res[3]) != "RAPost 2009" &&
|
|
||||||
// res.substr(4, res[3]) != "RAPost 2010") {
|
|
||||||
// LOG<<"unsupported card";
|
|
||||||
// return -2;
|
|
||||||
// }
|
|
||||||
if (retCode(reader->transmit(0x00, 0xA4, 0x00, 0x0C)) == 0x9000) {
|
|
||||||
int value(retCode(reader->transmit(0x00, 0x20, 0x00, 0x81)));
|
|
||||||
if ((value&0x63C0)==0x63C0) return value&0x0F;
|
|
||||||
} else {
|
|
||||||
LOG<<"**** ERROR in select MF while reading pin status";
|
|
||||||
}
|
|
||||||
return -1; // locked
|
|
||||||
} catch (const std::exception& x) {
|
|
||||||
LOG<<"**** ERROR while reading pin status: "<<x.what();
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int retCode(const std::string& res) {
|
|
||||||
if (res.size()>=2)
|
|
||||||
return ((((unsigned int)(unsigned char)res[res.size()-2])*256)
|
|
||||||
+((unsigned int)(unsigned char)res[res.size()-1]));
|
|
||||||
else
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
struct CertInfo {
|
|
||||||
CertInfo(std::string d, cryptoki::SlotList::iterator s,
|
|
||||||
cryptoki::Attribute i):
|
|
||||||
data(d), slot(s), id(i) {
|
|
||||||
}
|
|
||||||
std::string data;
|
|
||||||
cryptoki::SlotList::iterator slot;
|
|
||||||
cryptoki::Attribute id;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Lock {
|
class Lock {
|
||||||
public:
|
public:
|
||||||
Lock() {
|
Lock() {
|
||||||
@@ -416,8 +227,8 @@ class SmartCardAuth: public QObject {
|
|||||||
QWidget* _parent;
|
QWidget* _parent;
|
||||||
CryptokiEngine* _e;
|
CryptokiEngine* _e;
|
||||||
openssl::RegisterEngine<CryptokiEngine> _reg;
|
openssl::RegisterEngine<CryptokiEngine> _reg;
|
||||||
cryptoki::SlotList _slots;
|
suisseid::Cards _cards;
|
||||||
std::auto_ptr<cryptoki::Session> _session;
|
std::shared_ptr<cryptoki::Session> _session;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -33,22 +33,10 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Browser</name>
|
<name>Browser</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="996"/>
|
<location filename="browser.hxx" line="1011"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="browser.hxx" line="839"/>
|
|
||||||
<source>%8
|
|
||||||
Version: %1
|
|
||||||
Builddate: %2
|
|
||||||
Libraries:
|
|
||||||
%3
|
|
||||||
%4
|
|
||||||
qt-%5 (%6)
|
|
||||||
openssl-%7 (%9) %10</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="339"/>
|
<location filename="browser.ui" line="339"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
@@ -105,70 +93,86 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="311"/>
|
<location filename="browser.hxx" line="319"/>
|
||||||
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="714"/>
|
<location filename="browser.hxx" line="722"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="733"/>
|
<location filename="browser.hxx" line="741"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="774"/>
|
<location filename="browser.hxx" line="782"/>
|
||||||
<location filename="browser.hxx" line="788"/>
|
<location filename="browser.hxx" line="796"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>neutral find</comment>
|
<comment>neutral find</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="796"/>
|
<location filename="browser.hxx" line="804"/>
|
||||||
<location filename="browser.hxx" line="806"/>
|
<location filename="browser.hxx" line="814"/>
|
||||||
<source>background-color: #ADA</source>
|
<source>background-color: #ADA</source>
|
||||||
<comment>text found</comment>
|
<comment>text found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="798"/>
|
<location filename="browser.hxx" line="806"/>
|
||||||
<location filename="browser.hxx" line="808"/>
|
<location filename="browser.hxx" line="816"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>text not found</comment>
|
<comment>text not found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="838"/>
|
<location filename="browser.hxx" line="846"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1457"/>
|
<location filename="browser.hxx" line="847"/>
|
||||||
|
<source>%8
|
||||||
|
Version: %1
|
||||||
|
Builddate: %2
|
||||||
|
Libraries:
|
||||||
|
%3
|
||||||
|
%4
|
||||||
|
qt-%5 (%6)
|
||||||
|
openssl-%7 (%9) %10
|
||||||
|
|
||||||
|
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
|
||||||
|
|
||||||
|
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="browser.hxx" line="1472"/>
|
||||||
<source>errors</source>
|
<source>errors</source>
|
||||||
<comment>show error log</comment>
|
<comment>show error log</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1474"/>
|
<location filename="browser.hxx" line="1489"/>
|
||||||
<location filename="browser.hxx" line="1477"/>
|
<location filename="browser.hxx" line="1492"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>invalid url</comment>
|
<comment>invalid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1484"/>
|
<location filename="browser.hxx" line="1499"/>
|
||||||
<location filename="browser.hxx" line="1487"/>
|
<location filename="browser.hxx" line="1502"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>valid url</comment>
|
<comment>valid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="310"/>
|
<location filename="browser.hxx" line="318"/>
|
||||||
<source>Access Denied</source>
|
<source>Access Denied</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -198,7 +202,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="306"/>
|
<location filename="browser.hxx" line="314"/>
|
||||||
<source>Checking: %1</source>
|
<source>Checking: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -294,7 +298,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="309"/>
|
<location filename="browser.hxx" line="317"/>
|
||||||
<source>Forbidden: %1</source>
|
<source>Forbidden: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -304,7 +308,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="319"/>
|
<location filename="browser.hxx" line="327"/>
|
||||||
<source>Illegal URL: %1</source>
|
<source>Illegal URL: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -314,7 +318,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1018"/>
|
<location filename="browser.hxx" line="1033"/>
|
||||||
<source>Info: %1</source>
|
<source>Info: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -325,7 +329,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="297"/>
|
<location filename="browser.ui" line="297"/>
|
||||||
<location filename="browser.hxx" line="586"/>
|
<location filename="browser.hxx" line="594"/>
|
||||||
<source>New Tab</source>
|
<source>New Tab</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -345,7 +349,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="693"/>
|
<location filename="browser.hxx" line="701"/>
|
||||||
<source>Print Document</source>
|
<source>Print Document</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -360,17 +364,17 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="317"/>
|
<location filename="browser.hxx" line="325"/>
|
||||||
<source>Reading: %1</source>
|
<source>Reading: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="235"/>
|
<location filename="browser.hxx" line="243"/>
|
||||||
<source>SSL Not Supported</source>
|
<source>SSL Not Supported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="236"/>
|
<location filename="browser.hxx" line="244"/>
|
||||||
<source>SSL is not supported on your system</source>
|
<source>SSL is not supported on your system</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -410,7 +414,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="628"/>
|
<location filename="browser.hxx" line="636"/>
|
||||||
<source>Zoom: %1%</source>
|
<source>Zoom: %1%</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -420,7 +424,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1502"/>
|
<location filename="browser.hxx" line="1517"/>
|
||||||
<source>authentication required</source>
|
<source>authentication required</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -435,7 +439,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1035"/>
|
<location filename="browser.hxx" line="1050"/>
|
||||||
<source>done.</source>
|
<source>done.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -445,35 +449,35 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="601"/>
|
<location filename="browser.hxx" line="609"/>
|
||||||
<source>gg</source>
|
<source>gg</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1002"/>
|
<location filename="browser.hxx" line="1017"/>
|
||||||
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
||||||
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1013"/>
|
<location filename="browser.hxx" line="1028"/>
|
||||||
<source>SwissBrowser</source>
|
<source>SwissBrowser</source>
|
||||||
<comment>window title with no tab</comment>
|
<comment>window title with no tab</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1290"/>
|
<location filename="browser.hxx" line="1305"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<comment>statusbar for hovered link %1=url</comment>
|
<comment>statusbar for hovered link %1=url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1405"/>
|
<location filename="browser.hxx" line="1420"/>
|
||||||
<source>handling content ...</source>
|
<source>handling content ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="602"/>
|
<location filename="browser.hxx" line="610"/>
|
||||||
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -483,7 +487,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="645"/>
|
<location filename="browser.hxx" line="653"/>
|
||||||
<source>opening new window</source>
|
<source>opening new window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -493,7 +497,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1509"/>
|
<location filename="browser.hxx" line="1524"/>
|
||||||
<source>ssl error</source>
|
<source>ssl error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -720,16 +724,26 @@ openssl-%7 (%9) %10</source>
|
|||||||
<source>there are %1 PIN attempts left</source>
|
<source>there are %1 PIN attempts left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="91"/>
|
||||||
|
<source>minimum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="93"/>
|
||||||
|
<source>maximum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QMessageBox</name>
|
<name>QMessageBox</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="245"/>
|
<location filename="smartcardauth.hxx" line="190"/>
|
||||||
<source>Authentication failed, please try again.</source>
|
<source>Authentication failed, please try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="244"/>
|
<location filename="smartcardauth.hxx" line="189"/>
|
||||||
<source>Wrong PIN</source>
|
<source>Wrong PIN</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@@ -33,22 +33,10 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Browser</name>
|
<name>Browser</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="996"/>
|
<location filename="browser.hxx" line="1011"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="browser.hxx" line="839"/>
|
|
||||||
<source>%8
|
|
||||||
Version: %1
|
|
||||||
Builddate: %2
|
|
||||||
Libraries:
|
|
||||||
%3
|
|
||||||
%4
|
|
||||||
qt-%5 (%6)
|
|
||||||
openssl-%7 (%9) %10</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="339"/>
|
<location filename="browser.ui" line="339"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
@@ -105,70 +93,86 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="311"/>
|
<location filename="browser.hxx" line="319"/>
|
||||||
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="714"/>
|
<location filename="browser.hxx" line="722"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="733"/>
|
<location filename="browser.hxx" line="741"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="774"/>
|
<location filename="browser.hxx" line="782"/>
|
||||||
<location filename="browser.hxx" line="788"/>
|
<location filename="browser.hxx" line="796"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>neutral find</comment>
|
<comment>neutral find</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="796"/>
|
<location filename="browser.hxx" line="804"/>
|
||||||
<location filename="browser.hxx" line="806"/>
|
<location filename="browser.hxx" line="814"/>
|
||||||
<source>background-color: #ADA</source>
|
<source>background-color: #ADA</source>
|
||||||
<comment>text found</comment>
|
<comment>text found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="798"/>
|
<location filename="browser.hxx" line="806"/>
|
||||||
<location filename="browser.hxx" line="808"/>
|
<location filename="browser.hxx" line="816"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>text not found</comment>
|
<comment>text not found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="838"/>
|
<location filename="browser.hxx" line="846"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1457"/>
|
<location filename="browser.hxx" line="847"/>
|
||||||
|
<source>%8
|
||||||
|
Version: %1
|
||||||
|
Builddate: %2
|
||||||
|
Libraries:
|
||||||
|
%3
|
||||||
|
%4
|
||||||
|
qt-%5 (%6)
|
||||||
|
openssl-%7 (%9) %10
|
||||||
|
|
||||||
|
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
|
||||||
|
|
||||||
|
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="browser.hxx" line="1472"/>
|
||||||
<source>errors</source>
|
<source>errors</source>
|
||||||
<comment>show error log</comment>
|
<comment>show error log</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1474"/>
|
<location filename="browser.hxx" line="1489"/>
|
||||||
<location filename="browser.hxx" line="1477"/>
|
<location filename="browser.hxx" line="1492"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>invalid url</comment>
|
<comment>invalid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1484"/>
|
<location filename="browser.hxx" line="1499"/>
|
||||||
<location filename="browser.hxx" line="1487"/>
|
<location filename="browser.hxx" line="1502"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>valid url</comment>
|
<comment>valid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="310"/>
|
<location filename="browser.hxx" line="318"/>
|
||||||
<source>Access Denied</source>
|
<source>Access Denied</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -198,7 +202,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="306"/>
|
<location filename="browser.hxx" line="314"/>
|
||||||
<source>Checking: %1</source>
|
<source>Checking: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -294,7 +298,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="309"/>
|
<location filename="browser.hxx" line="317"/>
|
||||||
<source>Forbidden: %1</source>
|
<source>Forbidden: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -304,7 +308,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="319"/>
|
<location filename="browser.hxx" line="327"/>
|
||||||
<source>Illegal URL: %1</source>
|
<source>Illegal URL: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -314,7 +318,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1018"/>
|
<location filename="browser.hxx" line="1033"/>
|
||||||
<source>Info: %1</source>
|
<source>Info: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -325,7 +329,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="297"/>
|
<location filename="browser.ui" line="297"/>
|
||||||
<location filename="browser.hxx" line="586"/>
|
<location filename="browser.hxx" line="594"/>
|
||||||
<source>New Tab</source>
|
<source>New Tab</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -345,7 +349,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="693"/>
|
<location filename="browser.hxx" line="701"/>
|
||||||
<source>Print Document</source>
|
<source>Print Document</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -360,17 +364,17 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="317"/>
|
<location filename="browser.hxx" line="325"/>
|
||||||
<source>Reading: %1</source>
|
<source>Reading: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="235"/>
|
<location filename="browser.hxx" line="243"/>
|
||||||
<source>SSL Not Supported</source>
|
<source>SSL Not Supported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="236"/>
|
<location filename="browser.hxx" line="244"/>
|
||||||
<source>SSL is not supported on your system</source>
|
<source>SSL is not supported on your system</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -410,7 +414,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="628"/>
|
<location filename="browser.hxx" line="636"/>
|
||||||
<source>Zoom: %1%</source>
|
<source>Zoom: %1%</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -420,7 +424,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1502"/>
|
<location filename="browser.hxx" line="1517"/>
|
||||||
<source>authentication required</source>
|
<source>authentication required</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -435,7 +439,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1035"/>
|
<location filename="browser.hxx" line="1050"/>
|
||||||
<source>done.</source>
|
<source>done.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -445,35 +449,35 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="601"/>
|
<location filename="browser.hxx" line="609"/>
|
||||||
<source>gg</source>
|
<source>gg</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1002"/>
|
<location filename="browser.hxx" line="1017"/>
|
||||||
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
||||||
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1013"/>
|
<location filename="browser.hxx" line="1028"/>
|
||||||
<source>SwissBrowser</source>
|
<source>SwissBrowser</source>
|
||||||
<comment>window title with no tab</comment>
|
<comment>window title with no tab</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1290"/>
|
<location filename="browser.hxx" line="1305"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<comment>statusbar for hovered link %1=url</comment>
|
<comment>statusbar for hovered link %1=url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1405"/>
|
<location filename="browser.hxx" line="1420"/>
|
||||||
<source>handling content ...</source>
|
<source>handling content ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="602"/>
|
<location filename="browser.hxx" line="610"/>
|
||||||
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -483,7 +487,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="645"/>
|
<location filename="browser.hxx" line="653"/>
|
||||||
<source>opening new window</source>
|
<source>opening new window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -493,7 +497,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1509"/>
|
<location filename="browser.hxx" line="1524"/>
|
||||||
<source>ssl error</source>
|
<source>ssl error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -720,16 +724,26 @@ openssl-%7 (%9) %10</source>
|
|||||||
<source>there are %1 PIN attempts left</source>
|
<source>there are %1 PIN attempts left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="91"/>
|
||||||
|
<source>minimum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="93"/>
|
||||||
|
<source>maximum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QMessageBox</name>
|
<name>QMessageBox</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="245"/>
|
<location filename="smartcardauth.hxx" line="190"/>
|
||||||
<source>Authentication failed, please try again.</source>
|
<source>Authentication failed, please try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="244"/>
|
<location filename="smartcardauth.hxx" line="189"/>
|
||||||
<source>Wrong PIN</source>
|
<source>Wrong PIN</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@@ -33,22 +33,10 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Browser</name>
|
<name>Browser</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="996"/>
|
<location filename="browser.hxx" line="1011"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="browser.hxx" line="839"/>
|
|
||||||
<source>%8
|
|
||||||
Version: %1
|
|
||||||
Builddate: %2
|
|
||||||
Libraries:
|
|
||||||
%3
|
|
||||||
%4
|
|
||||||
qt-%5 (%6)
|
|
||||||
openssl-%7 (%9) %10</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="339"/>
|
<location filename="browser.ui" line="339"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
@@ -105,70 +93,86 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="311"/>
|
<location filename="browser.hxx" line="319"/>
|
||||||
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="714"/>
|
<location filename="browser.hxx" line="722"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="733"/>
|
<location filename="browser.hxx" line="741"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="774"/>
|
<location filename="browser.hxx" line="782"/>
|
||||||
<location filename="browser.hxx" line="788"/>
|
<location filename="browser.hxx" line="796"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>neutral find</comment>
|
<comment>neutral find</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="796"/>
|
<location filename="browser.hxx" line="804"/>
|
||||||
<location filename="browser.hxx" line="806"/>
|
<location filename="browser.hxx" line="814"/>
|
||||||
<source>background-color: #ADA</source>
|
<source>background-color: #ADA</source>
|
||||||
<comment>text found</comment>
|
<comment>text found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="798"/>
|
<location filename="browser.hxx" line="806"/>
|
||||||
<location filename="browser.hxx" line="808"/>
|
<location filename="browser.hxx" line="816"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>text not found</comment>
|
<comment>text not found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="838"/>
|
<location filename="browser.hxx" line="846"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1457"/>
|
<location filename="browser.hxx" line="847"/>
|
||||||
|
<source>%8
|
||||||
|
Version: %1
|
||||||
|
Builddate: %2
|
||||||
|
Libraries:
|
||||||
|
%3
|
||||||
|
%4
|
||||||
|
qt-%5 (%6)
|
||||||
|
openssl-%7 (%9) %10
|
||||||
|
|
||||||
|
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
|
||||||
|
|
||||||
|
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="browser.hxx" line="1472"/>
|
||||||
<source>errors</source>
|
<source>errors</source>
|
||||||
<comment>show error log</comment>
|
<comment>show error log</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1474"/>
|
<location filename="browser.hxx" line="1489"/>
|
||||||
<location filename="browser.hxx" line="1477"/>
|
<location filename="browser.hxx" line="1492"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>invalid url</comment>
|
<comment>invalid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1484"/>
|
<location filename="browser.hxx" line="1499"/>
|
||||||
<location filename="browser.hxx" line="1487"/>
|
<location filename="browser.hxx" line="1502"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>valid url</comment>
|
<comment>valid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="310"/>
|
<location filename="browser.hxx" line="318"/>
|
||||||
<source>Access Denied</source>
|
<source>Access Denied</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -198,7 +202,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="306"/>
|
<location filename="browser.hxx" line="314"/>
|
||||||
<source>Checking: %1</source>
|
<source>Checking: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -294,7 +298,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="309"/>
|
<location filename="browser.hxx" line="317"/>
|
||||||
<source>Forbidden: %1</source>
|
<source>Forbidden: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -304,7 +308,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="319"/>
|
<location filename="browser.hxx" line="327"/>
|
||||||
<source>Illegal URL: %1</source>
|
<source>Illegal URL: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -314,7 +318,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1018"/>
|
<location filename="browser.hxx" line="1033"/>
|
||||||
<source>Info: %1</source>
|
<source>Info: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -325,7 +329,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="297"/>
|
<location filename="browser.ui" line="297"/>
|
||||||
<location filename="browser.hxx" line="586"/>
|
<location filename="browser.hxx" line="594"/>
|
||||||
<source>New Tab</source>
|
<source>New Tab</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -345,7 +349,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="693"/>
|
<location filename="browser.hxx" line="701"/>
|
||||||
<source>Print Document</source>
|
<source>Print Document</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -360,17 +364,17 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="317"/>
|
<location filename="browser.hxx" line="325"/>
|
||||||
<source>Reading: %1</source>
|
<source>Reading: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="235"/>
|
<location filename="browser.hxx" line="243"/>
|
||||||
<source>SSL Not Supported</source>
|
<source>SSL Not Supported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="236"/>
|
<location filename="browser.hxx" line="244"/>
|
||||||
<source>SSL is not supported on your system</source>
|
<source>SSL is not supported on your system</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -410,7 +414,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="628"/>
|
<location filename="browser.hxx" line="636"/>
|
||||||
<source>Zoom: %1%</source>
|
<source>Zoom: %1%</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -420,7 +424,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1502"/>
|
<location filename="browser.hxx" line="1517"/>
|
||||||
<source>authentication required</source>
|
<source>authentication required</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -435,7 +439,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1035"/>
|
<location filename="browser.hxx" line="1050"/>
|
||||||
<source>done.</source>
|
<source>done.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -445,35 +449,35 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="601"/>
|
<location filename="browser.hxx" line="609"/>
|
||||||
<source>gg</source>
|
<source>gg</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1002"/>
|
<location filename="browser.hxx" line="1017"/>
|
||||||
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
||||||
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1013"/>
|
<location filename="browser.hxx" line="1028"/>
|
||||||
<source>SwissBrowser</source>
|
<source>SwissBrowser</source>
|
||||||
<comment>window title with no tab</comment>
|
<comment>window title with no tab</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1290"/>
|
<location filename="browser.hxx" line="1305"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<comment>statusbar for hovered link %1=url</comment>
|
<comment>statusbar for hovered link %1=url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1405"/>
|
<location filename="browser.hxx" line="1420"/>
|
||||||
<source>handling content ...</source>
|
<source>handling content ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="602"/>
|
<location filename="browser.hxx" line="610"/>
|
||||||
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -483,7 +487,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="645"/>
|
<location filename="browser.hxx" line="653"/>
|
||||||
<source>opening new window</source>
|
<source>opening new window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -493,7 +497,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1509"/>
|
<location filename="browser.hxx" line="1524"/>
|
||||||
<source>ssl error</source>
|
<source>ssl error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -720,16 +724,26 @@ openssl-%7 (%9) %10</source>
|
|||||||
<source>there are %1 PIN attempts left</source>
|
<source>there are %1 PIN attempts left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="91"/>
|
||||||
|
<source>minimum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="93"/>
|
||||||
|
<source>maximum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QMessageBox</name>
|
<name>QMessageBox</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="245"/>
|
<location filename="smartcardauth.hxx" line="190"/>
|
||||||
<source>Authentication failed, please try again.</source>
|
<source>Authentication failed, please try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="244"/>
|
<location filename="smartcardauth.hxx" line="189"/>
|
||||||
<source>Wrong PIN</source>
|
<source>Wrong PIN</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@@ -33,22 +33,10 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>Browser</name>
|
<name>Browser</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="996"/>
|
<location filename="browser.hxx" line="1011"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="browser.hxx" line="839"/>
|
|
||||||
<source>%8
|
|
||||||
Version: %1
|
|
||||||
Builddate: %2
|
|
||||||
Libraries:
|
|
||||||
%3
|
|
||||||
%4
|
|
||||||
qt-%5 (%6)
|
|
||||||
openssl-%7 (%9) %10</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="339"/>
|
<location filename="browser.ui" line="339"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
@@ -105,70 +93,86 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="311"/>
|
<location filename="browser.hxx" line="319"/>
|
||||||
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
<source><p>Access denied due to security considerations.</p><p>You are not allowed to connect to %1.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="714"/>
|
<location filename="browser.hxx" line="722"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
<comment>statusbar actionBack_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="733"/>
|
<location filename="browser.hxx" line="741"/>
|
||||||
<source>%1 - %2</source>
|
<source>%1 - %2</source>
|
||||||
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
<comment>statusbar actionForward_hovered %1=url %2=title</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="774"/>
|
<location filename="browser.hxx" line="782"/>
|
||||||
<location filename="browser.hxx" line="788"/>
|
<location filename="browser.hxx" line="796"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>neutral find</comment>
|
<comment>neutral find</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="796"/>
|
<location filename="browser.hxx" line="804"/>
|
||||||
<location filename="browser.hxx" line="806"/>
|
<location filename="browser.hxx" line="814"/>
|
||||||
<source>background-color: #ADA</source>
|
<source>background-color: #ADA</source>
|
||||||
<comment>text found</comment>
|
<comment>text found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="798"/>
|
<location filename="browser.hxx" line="806"/>
|
||||||
<location filename="browser.hxx" line="808"/>
|
<location filename="browser.hxx" line="816"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>text not found</comment>
|
<comment>text not found</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="838"/>
|
<location filename="browser.hxx" line="846"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1457"/>
|
<location filename="browser.hxx" line="847"/>
|
||||||
|
<source>%8
|
||||||
|
Version: %1
|
||||||
|
Builddate: %2
|
||||||
|
Libraries:
|
||||||
|
%3
|
||||||
|
%4
|
||||||
|
qt-%5 (%6)
|
||||||
|
openssl-%7 (%9) %10
|
||||||
|
|
||||||
|
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
|
||||||
|
|
||||||
|
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="browser.hxx" line="1472"/>
|
||||||
<source>errors</source>
|
<source>errors</source>
|
||||||
<comment>show error log</comment>
|
<comment>show error log</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1474"/>
|
<location filename="browser.hxx" line="1489"/>
|
||||||
<location filename="browser.hxx" line="1477"/>
|
<location filename="browser.hxx" line="1492"/>
|
||||||
<source>background-color: #F77</source>
|
<source>background-color: #F77</source>
|
||||||
<comment>invalid url</comment>
|
<comment>invalid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1484"/>
|
<location filename="browser.hxx" line="1499"/>
|
||||||
<location filename="browser.hxx" line="1487"/>
|
<location filename="browser.hxx" line="1502"/>
|
||||||
<source>background-color: white</source>
|
<source>background-color: white</source>
|
||||||
<comment>valid url</comment>
|
<comment>valid url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="310"/>
|
<location filename="browser.hxx" line="318"/>
|
||||||
<source>Access Denied</source>
|
<source>Access Denied</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -198,7 +202,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="306"/>
|
<location filename="browser.hxx" line="314"/>
|
||||||
<source>Checking: %1</source>
|
<source>Checking: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -294,7 +298,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="309"/>
|
<location filename="browser.hxx" line="317"/>
|
||||||
<source>Forbidden: %1</source>
|
<source>Forbidden: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -304,7 +308,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="319"/>
|
<location filename="browser.hxx" line="327"/>
|
||||||
<source>Illegal URL: %1</source>
|
<source>Illegal URL: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -314,7 +318,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1018"/>
|
<location filename="browser.hxx" line="1033"/>
|
||||||
<source>Info: %1</source>
|
<source>Info: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -325,7 +329,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.ui" line="297"/>
|
<location filename="browser.ui" line="297"/>
|
||||||
<location filename="browser.hxx" line="586"/>
|
<location filename="browser.hxx" line="594"/>
|
||||||
<source>New Tab</source>
|
<source>New Tab</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -345,7 +349,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="693"/>
|
<location filename="browser.hxx" line="701"/>
|
||||||
<source>Print Document</source>
|
<source>Print Document</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -360,17 +364,17 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="317"/>
|
<location filename="browser.hxx" line="325"/>
|
||||||
<source>Reading: %1</source>
|
<source>Reading: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="235"/>
|
<location filename="browser.hxx" line="243"/>
|
||||||
<source>SSL Not Supported</source>
|
<source>SSL Not Supported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="236"/>
|
<location filename="browser.hxx" line="244"/>
|
||||||
<source>SSL is not supported on your system</source>
|
<source>SSL is not supported on your system</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -410,7 +414,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="628"/>
|
<location filename="browser.hxx" line="636"/>
|
||||||
<source>Zoom: %1%</source>
|
<source>Zoom: %1%</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -420,7 +424,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1502"/>
|
<location filename="browser.hxx" line="1517"/>
|
||||||
<source>authentication required</source>
|
<source>authentication required</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -435,7 +439,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1035"/>
|
<location filename="browser.hxx" line="1050"/>
|
||||||
<source>done.</source>
|
<source>done.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -445,35 +449,35 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="601"/>
|
<location filename="browser.hxx" line="609"/>
|
||||||
<source>gg</source>
|
<source>gg</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1002"/>
|
<location filename="browser.hxx" line="1017"/>
|
||||||
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
<source>[%1] - %2 - SwissBrowser (%3)</source>
|
||||||
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
<comment>main window title %1 = host name %2 = page title %3 = number of open tabs</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1013"/>
|
<location filename="browser.hxx" line="1028"/>
|
||||||
<source>SwissBrowser</source>
|
<source>SwissBrowser</source>
|
||||||
<comment>window title with no tab</comment>
|
<comment>window title with no tab</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1290"/>
|
<location filename="browser.hxx" line="1305"/>
|
||||||
<source>%1</source>
|
<source>%1</source>
|
||||||
<comment>statusbar for hovered link %1=url</comment>
|
<comment>statusbar for hovered link %1=url</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1405"/>
|
<location filename="browser.hxx" line="1420"/>
|
||||||
<source>handling content ...</source>
|
<source>handling content ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="602"/>
|
<location filename="browser.hxx" line="610"/>
|
||||||
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
<source>http://www.google.com/search?hl=%2&q=%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -483,7 +487,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="645"/>
|
<location filename="browser.hxx" line="653"/>
|
||||||
<source>opening new window</source>
|
<source>opening new window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -493,7 +497,7 @@ openssl-%7 (%9) %10</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="browser.hxx" line="1509"/>
|
<location filename="browser.hxx" line="1524"/>
|
||||||
<source>ssl error</source>
|
<source>ssl error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -720,16 +724,26 @@ openssl-%7 (%9) %10</source>
|
|||||||
<source>there are %1 PIN attempts left</source>
|
<source>there are %1 PIN attempts left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="91"/>
|
||||||
|
<source>minimum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="pinentry.hxx" line="93"/>
|
||||||
|
<source>maximum PIN length: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>QMessageBox</name>
|
<name>QMessageBox</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="245"/>
|
<location filename="smartcardauth.hxx" line="190"/>
|
||||||
<source>Authentication failed, please try again.</source>
|
<source>Authentication failed, please try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="smartcardauth.hxx" line="244"/>
|
<location filename="smartcardauth.hxx" line="189"/>
|
||||||
<source>Wrong PIN</source>
|
<source>Wrong PIN</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
Reference in New Issue
Block a user