mirror of
https://invent.kde.org/network/falkon.git
synced 2024-09-22 02:02:10 +02:00
Password manager now detects also username
- username is detected as first input type="text" in form - it should work on almost every page This is last requirements to implement saving multiple users on one page.
This commit is contained in:
parent
4bb5ff9b26
commit
b88bfd46c7
Binary file not shown.
|
@ -110,7 +110,7 @@ bool AutoFillModel::addEntry(const QUrl &url, const QString &name, const QString
|
||||||
}
|
}
|
||||||
|
|
||||||
///WEB Form
|
///WEB Form
|
||||||
bool AutoFillModel::addEntry(const QUrl &url, const QByteArray &data, const QString &pass)
|
bool AutoFillModel::addEntry(const QUrl &url, const QByteArray &data, const QString &user, const QString &pass)
|
||||||
{
|
{
|
||||||
QSqlQuery query;
|
QSqlQuery query;
|
||||||
query.exec("SELECT data FROM autofill WHERE server='" + url.host() + "'");
|
query.exec("SELECT data FROM autofill WHERE server='" + url.host() + "'");
|
||||||
|
@ -118,10 +118,11 @@ bool AutoFillModel::addEntry(const QUrl &url, const QByteArray &data, const QStr
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
query.prepare("INSERT INTO autofill (server, data, password) VALUES (?,?,?)");
|
query.prepare("INSERT INTO autofill (server, data, username, password) VALUES (?,?,?,?)");
|
||||||
query.bindValue(0, url.host());
|
query.bindValue(0, url.host());
|
||||||
query.bindValue(1, data);
|
query.bindValue(1, data);
|
||||||
query.bindValue(2, pass);
|
query.bindValue(2, user);
|
||||||
|
query.bindValue(3, pass);
|
||||||
return query.exec();
|
return query.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,37 +193,95 @@ void AutoFillModel::post(const QNetworkRequest &request, const QByteArray &outgo
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString passwordName = "";
|
QString usernameName;
|
||||||
QString passwordValue = "";
|
QString usernameValue;
|
||||||
|
QString passwordName;
|
||||||
|
QString passwordValue;
|
||||||
QUrl siteUrl = webView->url();
|
QUrl siteUrl = webView->url();
|
||||||
|
|
||||||
QWebElementCollection inputs;
|
if (!isStoringEnabled(siteUrl)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QWebElementCollection allForms; // All form elements on page
|
||||||
|
QWebElement foundForm; // Sent form element
|
||||||
|
|
||||||
QList<QWebFrame*> frames;
|
QList<QWebFrame*> frames;
|
||||||
frames.append(webPage->mainFrame());
|
frames.append(webPage->mainFrame()); // Find all form elements
|
||||||
while (!frames.isEmpty()) {
|
while (!frames.isEmpty()) {
|
||||||
QWebFrame* frame = frames.takeFirst();
|
QWebFrame* frame = frames.takeFirst();
|
||||||
inputs.append(frame->findAllElements("input[type=\"password\"]"));
|
allForms.append(frame->findAllElements("form"));
|
||||||
frames += frame->childFrames();
|
frames += frame->childFrames();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(QWebElement element, inputs) {
|
foreach(QWebElement formElement, allForms) {
|
||||||
passwordName = element.attribute("name");
|
foreach(QWebElement inputElement, formElement.findAll("input[type=\"password\"]")) {
|
||||||
passwordValue = element.evaluateJavaScript("this.value").toString();
|
passwordName = inputElement.attribute("name");
|
||||||
if (!passwordValue.isEmpty()) {
|
passwordValue = getValueFromData(outgoingData, inputElement);
|
||||||
|
|
||||||
|
if (!passwordValue.isEmpty() && dataContains(outgoingData, passwordName)) {
|
||||||
|
foundForm = formElement;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Return if storing is not enabled, data for this page is already stored, no password element found in sent data
|
if (!foundForm.isNull()) {
|
||||||
if (passwordName.isEmpty() || !isStoringEnabled(siteUrl) || isStored(siteUrl)) {
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return if data for this page is already stored or no password element found in sent data
|
||||||
|
if (foundForm.isNull() || isStored(siteUrl)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Return if no password form has been sent
|
// We need to find username, we suppose that username is first not empty input[type=text] in form
|
||||||
if (!outgoingData.contains((QUrl(passwordName).toEncoded() + "=")) || passwordValue.isEmpty()) {
|
// Tell me better solution. Maybe first try to find name="user", name="username" ?
|
||||||
return;
|
|
||||||
|
foreach(QWebElement element, foundForm.findAll("input[type=\"text\"]")) {
|
||||||
|
usernameName = element.attribute("name");
|
||||||
|
usernameValue = getValueFromData(outgoingData, element);
|
||||||
|
if (!usernameName.isEmpty() && !usernameValue.isEmpty()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AutoFillNotification* aWidget = new AutoFillNotification(siteUrl, outgoingData, passwordValue);
|
AutoFillNotification* aWidget = new AutoFillNotification(siteUrl, outgoingData, usernameValue, passwordValue);
|
||||||
webView->addNotification(aWidget);
|
webView->addNotification(aWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString AutoFillModel::getValueFromData(const QByteArray &data, QWebElement element)
|
||||||
|
{
|
||||||
|
QString name = element.attribute("name");
|
||||||
|
if (name.isEmpty()) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
QString value = element.evaluateJavaScript("this.value").toString();
|
||||||
|
if (value.isEmpty()) {
|
||||||
|
QueryItems queryItems = QUrl("http://a.b/?" + data).queryItems();
|
||||||
|
for (int i = 0; i < queryItems.count(); i++) {
|
||||||
|
QueryItem item = queryItems.at(i);
|
||||||
|
|
||||||
|
if (item.first == name) {
|
||||||
|
value = item.second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AutoFillModel::dataContains(const QByteArray &data, const QString &attributeName)
|
||||||
|
{
|
||||||
|
QueryItems queryItems = QUrl("http://a.b/?" + data).queryItems();
|
||||||
|
for (int i = 0; i < queryItems.count(); i++) {
|
||||||
|
QueryItem item = queryItems.at(i);
|
||||||
|
|
||||||
|
if (item.first == attributeName) {
|
||||||
|
return !item.second.isEmpty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QNetworkRequest>
|
#include <QNetworkRequest>
|
||||||
|
#include <QWebElement>
|
||||||
|
|
||||||
class QupZilla;
|
class QupZilla;
|
||||||
class WebView;
|
class WebView;
|
||||||
|
@ -28,6 +29,9 @@ class AutoFillModel : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
typedef QList<QPair<QString, QString> > QueryItems;
|
||||||
|
typedef QPair<QString, QString> QueryItem;
|
||||||
|
|
||||||
explicit AutoFillModel(QupZilla* mainClass, QObject* parent = 0);
|
explicit AutoFillModel(QupZilla* mainClass, QObject* parent = 0);
|
||||||
void completePage(WebView* view);
|
void completePage(WebView* view);
|
||||||
|
|
||||||
|
@ -38,7 +42,7 @@ public:
|
||||||
QString getUsername(const QUrl &url);
|
QString getUsername(const QUrl &url);
|
||||||
QString getPassword(const QUrl &url);
|
QString getPassword(const QUrl &url);
|
||||||
bool addEntry(const QUrl &url, const QString &name, const QString &pass);
|
bool addEntry(const QUrl &url, const QString &name, const QString &pass);
|
||||||
bool addEntry(const QUrl &url, const QByteArray &data, const QString &pass);
|
bool addEntry(const QUrl &url, const QByteArray &data, const QString &user, const QString &pass);
|
||||||
|
|
||||||
void post(const QNetworkRequest &request, const QByteArray &outgoingData);
|
void post(const QNetworkRequest &request, const QByteArray &outgoingData);
|
||||||
|
|
||||||
|
@ -48,6 +52,9 @@ public slots:
|
||||||
void loadSettings();
|
void loadSettings();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool dataContains(const QByteArray &data, const QString &attributeName);
|
||||||
|
QString getValueFromData(const QByteArray &data, QWebElement element);
|
||||||
|
|
||||||
QupZilla* p_QupZilla;
|
QupZilla* p_QupZilla;
|
||||||
QByteArray m_lastOutgoingData;
|
QByteArray m_lastOutgoingData;
|
||||||
bool m_isStoring;
|
bool m_isStoring;
|
||||||
|
|
|
@ -22,16 +22,17 @@
|
||||||
#include "animatedwidget.h"
|
#include "animatedwidget.h"
|
||||||
#include "iconprovider.h"
|
#include "iconprovider.h"
|
||||||
|
|
||||||
AutoFillNotification::AutoFillNotification(QUrl url, QByteArray data, QString pass, QWidget* parent)
|
AutoFillNotification::AutoFillNotification(const QUrl &url, const QByteArray &data, const QString &user, const QString &pass, QWidget* parent)
|
||||||
: AnimatedWidget(AnimatedWidget::Down, 300, parent)
|
: AnimatedWidget(AnimatedWidget::Down, 300, parent)
|
||||||
, ui(new Ui::AutoFillWidget)
|
, ui(new Ui::AutoFillWidget)
|
||||||
, m_url(url)
|
, m_url(url)
|
||||||
, m_data(data)
|
, m_data(data)
|
||||||
|
, m_user(user)
|
||||||
, m_pass(pass)
|
, m_pass(pass)
|
||||||
{
|
{
|
||||||
setAttribute(Qt::WA_DeleteOnClose);
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
ui->setupUi(widget());
|
ui->setupUi(widget());
|
||||||
ui->label->setText(tr("Do you want QupZilla to remember password on %1?").arg(url.host()));
|
ui->label->setText(tr("Do you want QupZilla to remember password for <b>%1</b> on %2?").arg(user, url.host()));
|
||||||
ui->closeButton->setIcon(IconProvider::standardIcon(QStyle::SP_DialogCloseButton));
|
ui->closeButton->setIcon(IconProvider::standardIcon(QStyle::SP_DialogCloseButton));
|
||||||
|
|
||||||
connect(ui->remember, SIGNAL(clicked()), this, SLOT(remember()));
|
connect(ui->remember, SIGNAL(clicked()), this, SLOT(remember()));
|
||||||
|
@ -50,7 +51,7 @@ void AutoFillNotification::never()
|
||||||
|
|
||||||
void AutoFillNotification::remember()
|
void AutoFillNotification::remember()
|
||||||
{
|
{
|
||||||
mApp->autoFill()->addEntry(m_url, m_data, m_pass);
|
mApp->autoFill()->addEntry(m_url, m_data, m_user, m_pass);
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ class AutoFillNotification : public AnimatedWidget
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit AutoFillNotification(QUrl url, QByteArray data, QString pass, QWidget* parent = 0);
|
explicit AutoFillNotification(const QUrl &url, const QByteArray &data, const QString &user, const QString &pass, QWidget* parent = 0);
|
||||||
~AutoFillNotification();
|
~AutoFillNotification();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
@ -46,6 +46,7 @@ private:
|
||||||
Ui::AutoFillWidget* ui;
|
Ui::AutoFillWidget* ui;
|
||||||
QUrl m_url;
|
QUrl m_url;
|
||||||
QByteArray m_data;
|
QByteArray m_data;
|
||||||
|
QString m_user;
|
||||||
QString m_pass;
|
QString m_pass;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,15 +39,15 @@ AutoFillManager::AutoFillManager(QWidget* parent)
|
||||||
void AutoFillManager::loadPasswords()
|
void AutoFillManager::loadPasswords()
|
||||||
{
|
{
|
||||||
QSqlQuery query;
|
QSqlQuery query;
|
||||||
query.exec("SELECT server, password, id FROM autofill");
|
query.exec("SELECT server, username, password, id FROM autofill");
|
||||||
ui->treePass->clear();
|
ui->treePass->clear();
|
||||||
while (query.next()) {
|
while (query.next()) {
|
||||||
QTreeWidgetItem* item = new QTreeWidgetItem(ui->treePass);
|
QTreeWidgetItem* item = new QTreeWidgetItem(ui->treePass);
|
||||||
item->setText(0, query.value(0).toString());
|
item->setText(0, query.value(0).toString());
|
||||||
// item->setText(1, query.value(1).toString());
|
item->setText(1, query.value(1).toString());
|
||||||
item->setText(1, "*****");
|
item->setText(2, "*****");
|
||||||
item->setWhatsThis(0, query.value(2).toString());
|
item->setWhatsThis(0, query.value(3).toString());
|
||||||
item->setWhatsThis(1, query.value(1).toString());
|
item->setWhatsThis(1, query.value(2).toString());
|
||||||
ui->treePass->addTopLevelItem(item);
|
ui->treePass->addTopLevelItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ void AutoFillManager::showPasswords()
|
||||||
if (!item) {
|
if (!item) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
item->setText(1, item->whatsThis(1));
|
item->setText(2, item->whatsThis(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
ui->showPasswords->hide();
|
ui->showPasswords->hide();
|
||||||
|
|
|
@ -29,14 +29,22 @@
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTreeWidget" name="treePass">
|
<widget class="QTreeWidget" name="treePass">
|
||||||
|
<property name="indentation">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<attribute name="headerMinimumSectionSize">
|
<attribute name="headerMinimumSectionSize">
|
||||||
<number>170</number>
|
<number>100</number>
|
||||||
</attribute>
|
</attribute>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Server</string>
|
<string>Server</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Username</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Password</string>
|
<string>Password</string>
|
||||||
|
@ -47,16 +55,16 @@
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="removePass">
|
<widget class="QPushButton" name="editPass">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Remove</string>
|
<string>Edit</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="editPass">
|
<widget class="QPushButton" name="removePass">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Edit</string>
|
<string>Remove</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>Hesla</translation>
|
<translation>Hesla</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>Server</translation>
|
<translation>Server</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation>Uživatel</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>Heslo</translation>
|
<translation>Heslo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Odstranit</translation>
|
<translation>Odstranit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Upravit</translation>
|
<translation>Upravit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>Odstranit vše</translation>
|
<translation>Odstranit vše</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>Zobrazit hesla</translation>
|
<translation>Zobrazit hesla</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>Vyjímky</translation>
|
<translation>Vyjímky</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>Chcete aby si QupZilla zapamatovala heslo pro %1?</translation>
|
<translation>Chcete aby si QupZilla zapamatovala heslo pro <b>%1<b> na %2?</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>Passwörter</translation>
|
<translation>Passwörter</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>Server</translation>
|
<translation>Server</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>Passwort</translation>
|
<translation>Passwort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Entfernen</translation>
|
<translation>Entfernen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Bearbeiten</translation>
|
<translation>Bearbeiten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>Alle entfernen</translation>
|
<translation>Alle entfernen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>Passwörter im Klartext anzeigen</translation>
|
<translation>Passwörter im Klartext anzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>Ausnahmen</translation>
|
<translation>Ausnahmen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>Möchten Sie das Passwort für %1 speichern?</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>Contraseñas</translation>
|
<translation>Contraseñas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>Servidor</translation>
|
<translation>Servidor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>Contraseña</translation>
|
<translation>Contraseña</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Quitar</translation>
|
<translation>Quitar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Editar</translation>
|
<translation>Editar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>Quitar todo</translation>
|
<translation>Quitar todo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>Mostras contraseñas</translation>
|
<translation>Mostras contraseñas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>Excepciones</translation>
|
<translation>Excepciones</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>¿Desea que QupZilla recuerde la contraseña en %1?</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>Passwords</translation>
|
<translation>Passwords</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>Server</translation>
|
<translation>Server</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>Password</translation>
|
<translation>Password</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Elimina</translation>
|
<translation>Elimina</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Modifica</translation>
|
<translation>Modifica</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>Elimina Tutto</translation>
|
<translation>Elimina Tutto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>Mostra le password</translation>
|
<translation>Mostra le password</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>Eccezioni</translation>
|
<translation>Eccezioni</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>Vuoi che QupZilla ricordi la password per %1?</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>Wachtwoorden</translation>
|
<translation>Wachtwoorden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>Server</translation>
|
<translation>Server</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>Wachtwoord</translation>
|
<translation>Wachtwoord</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Verwijder</translation>
|
<translation>Verwijder</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Bewerk</translation>
|
<translation>Bewerk</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>Verwijder alles</translation>
|
<translation>Verwijder alles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>Toon wachtwoorden</translation>
|
<translation>Toon wachtwoorden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>Uitzonderingen</translation>
|
<translation>Uitzonderingen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>Wilt u dat QupZilla uw wachtwoord onthoudt voor %1?</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>Heslá</translation>
|
<translation>Heslá</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>Server</translation>
|
<translation>Server</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>Heslo</translation>
|
<translation>Heslo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>Odstrániť</translation>
|
<translation>Odstrániť</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Upraviť</translation>
|
<translation>Upraviť</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>Odstrániť všetko</translation>
|
<translation>Odstrániť všetko</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>Zobraziť heslo</translation>
|
<translation>Zobraziť heslo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>Výnimky</translation>
|
<translation>Výnimky</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>Chcete aby si QupZilla zapamätala heslo pre %1?</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
@ -228,41 +228,46 @@
|
||||||
<translation>密码</translation>
|
<translation>密码</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="37"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="40"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="120"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="128"/>
|
||||||
<source>Server</source>
|
<source>Server</source>
|
||||||
<translation>服务器</translation>
|
<translation>服务器</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="42"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="45"/>
|
||||||
|
<source>Username</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/preferences/autofillmanager.ui" line="50"/>
|
||||||
<source>Password</source>
|
<source>Password</source>
|
||||||
<translation>密码</translation>
|
<translation>密码</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="52"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="67"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="130"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="138"/>
|
||||||
<source>Remove</source>
|
<source>Remove</source>
|
||||||
<translation>删除</translation>
|
<translation>删除</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="59"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="60"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>编辑</translation>
|
<translation>编辑</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="66"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="74"/>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="137"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="145"/>
|
||||||
<source>Remove All</source>
|
<source>Remove All</source>
|
||||||
<translation>全部删除</translation>
|
<translation>全部删除</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="103"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="111"/>
|
||||||
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
<location filename="../src/preferences/autofillmanager.cpp" line="71"/>
|
||||||
<source>Show Passwords</source>
|
<source>Show Passwords</source>
|
||||||
<translation>显示密码</translation>
|
<translation>显示密码</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/preferences/autofillmanager.ui" line="113"/>
|
<location filename="../src/preferences/autofillmanager.ui" line="121"/>
|
||||||
<source>Exceptions</source>
|
<source>Exceptions</source>
|
||||||
<translation>例外</translation>
|
<translation>例外</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -295,9 +300,9 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AutoFillNotification</name>
|
<name>AutoFillNotification</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/autofill/autofillnotification.cpp" line="34"/>
|
<location filename="../src/autofill/autofillnotification.cpp" line="35"/>
|
||||||
<source>Do you want QupZilla to remember password on %1?</source>
|
<source>Do you want QupZilla to remember password for <b>%1</b> on %2?</source>
|
||||||
<translation>需要QupZilla记住%1密码?</translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user