Address translation feedback from Transifex

This commit is contained in:
Jonathan White 2021-02-14 19:15:10 -05:00
parent 4f7460afbd
commit f3d88fbd36
53 changed files with 152 additions and 156 deletions

View file

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Clone Options</string>
<string>Clone Entry Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>

View file

@ -309,7 +309,7 @@ QSharedPointer<CompositeKey> DatabaseOpenWidget::buildDatabaseKey()
legacyWarning.setText(tr("You are using an old key file format which KeePassXC may<br>"
"stop supporting in the future.<br><br>"
"Please consider generating a new key file by going to:<br>"
"<strong>Database / Database Security / Change Key File.</strong><br>"));
"<strong>Database &gt; Database Security &gt; Change Key File.</strong><br>"));
legacyWarning.setIcon(QMessageBox::Icon::Warning);
legacyWarning.addButton(QMessageBox::Ok);
legacyWarning.setDefaultButton(QMessageBox::Ok);

View file

@ -250,7 +250,7 @@
<enum>Qt::ClickFocus</enum>
</property>
<property name="toolTip">
<string>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This file can be generated in your database's security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave this field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</string>
<string>&lt;p&gt;In addition to a password, you can use a secret file to enhance the security of your database. This file can be generated in your database's security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave this field empty.&lt;/p&gt;&lt;p&gt;Click for more information&lt;/p&gt;</string>
</property>
<property name="accessibleName">
<string>Key file help</string>
@ -355,7 +355,7 @@
</property>
<property name="toolTip">
<string>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
&lt;p&gt;Click for more information...&lt;/p&gt;</string>
&lt;p&gt;Click for more information&lt;/p&gt;</string>
</property>
<property name="accessibleName">
<string>Hardware key help</string>
@ -435,7 +435,7 @@
<string>Browse for key file</string>
</property>
<property name="text">
<string>Browse...</string>
<string>Browse</string>
</property>
</widget>
</item>

View file

@ -142,13 +142,13 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
// Add a notification for when we are searching
m_searchingLabel->setObjectName("SearchBanner");
m_searchingLabel->setText(tr("Searching..."));
m_searchingLabel->setText(tr("Searching"));
m_searchingLabel->setAlignment(Qt::AlignCenter);
m_searchingLabel->setVisible(false);
#ifdef WITH_XC_KEESHARE
m_shareLabel->setObjectName("KeeShareBanner");
m_shareLabel->setText(tr("Shared group..."));
m_shareLabel->setText(tr("Shared group"));
m_shareLabel->setAlignment(Qt::AlignCenter);
m_shareLabel->setVisible(false);
#endif
@ -1440,7 +1440,7 @@ void DatabaseWidget::endSearch()
}
m_searchingLabel->setVisible(false);
m_searchingLabel->setText(tr("Searching..."));
m_searchingLabel->setText(tr("Searching"));
m_lastSearchText.clear();

View file

@ -167,7 +167,7 @@
<string notr="true">padding: 4px 10px</string>
</property>
<property name="text">
<string>Apply icon to...</string>
<string>Apply icon to</string>
</property>
</widget>
</item>

View file

@ -17,15 +17,10 @@
*/
#include "EntryPreviewWidget.h"
#include "Font.h"
#include "ui_EntryPreviewWidget.h"
#include <QDesktopServices>
#include <QDir>
#include "core/Config.h"
#include "Font.h"
#include "entry/EntryAttachmentsModel.h"
#include "gui/Clipboard.h"
#include "gui/Icons.h"
#if defined(WITH_XC_KEESHARE)
#include "keeshare/KeeShare.h"
@ -296,9 +291,9 @@ void EntryPreviewWidget::updateEntryAdvancedTab()
value = "<i>" + tr("[PROTECTED]") + "</i>";
} else {
value = m_currentEntry->attributes()->value(key).toHtmlEscaped();
value.replace('\n', QLatin1String("<br/>"));
value.replace('\n', "<br/>");
}
attributesText.append(tr("<tr><td><b>%1</b>:</td><td>%2</td></tr>", "attributes line").arg(key, value));
attributesText.append(QString("<tr><td><b>%1</b>:</td><td>%2</td></tr>").arg(key, value));
}
attributesText.append("</table>");
m_ui->entryAttributesEdit->setText(attributesText);
@ -417,5 +412,5 @@ void EntryPreviewWidget::setTabEnabled(QTabWidget* tabWidget, QWidget* widget, b
QString EntryPreviewWidget::hierarchy(const Group* group, const QString& title)
{
QString groupList = QString("%1").arg(group->hierarchy().join(" / "));
return title.isEmpty() ? groupList : QStringLiteral("%1 / %2").arg(groupList, title);
return title.isEmpty() ? groupList : QString("%1 / %2").arg(groupList, title);
}

View file

@ -80,13 +80,13 @@ void IconDownloaderDialog::downloadFavicons(const QSharedPointer<Database>& data
Tools::wait(100);
#endif
showFallbackMessage(false);
m_ui->progressLabel->setText(tr("Please wait, processing entry list..."));
m_ui->progressLabel->setText(tr("Please wait, processing entry list"));
open();
QApplication::processEvents();
for (const auto& url : m_urlToEntries.uniqueKeys()) {
m_dataModel->appendRow(QList<QStandardItem*>()
<< new QStandardItem(url) << new QStandardItem(tr("Downloading...")));
<< new QStandardItem(url) << new QStandardItem(tr("Downloading")));
m_activeDownloaders.append(createDownloader(url));
}
@ -170,7 +170,7 @@ void IconDownloaderDialog::updateProgressBar()
m_ui->progressBar->setValue(value);
m_ui->progressBar->setMaximum(total);
m_ui->progressLabel->setText(
tr("Downloading favicons (%1/%2)...").arg(QString::number(value), QString::number(total)));
tr("Downloading favicons (%1/%2)").arg(QString::number(value), QString::number(total)));
}
void IconDownloaderDialog::updateCancelButton()

View file

@ -29,7 +29,7 @@
</font>
</property>
<property name="text">
<string notr="true">Downloading favicon 0/0...</string>
<string notr="true">Downloading favicon 0/0</string>
</property>
</widget>
</item>

View file

@ -584,7 +584,7 @@ MainWindow::MainWindow()
#if defined(KEEPASSXC_BUILD_TYPE_SNAPSHOT)
if (config()->get(Config::Messages_HidePreReleaseWarning) != KEEPASSXC_VERSION) {
m_ui->globalMessageWidget->showMessage(
tr("WARNING: You are using an unstable build of KeePassXC!\n"
tr("WARNING: You are using an unstable build of KeePassXC.\n"
"There is a high risk of corruption, maintain a backup of your databases.\n"
"This version is not meant for production use."),
MessageWidget::Warning,
@ -593,15 +593,15 @@ MainWindow::MainWindow()
#elif defined(KEEPASSXC_BUILD_TYPE_PRE_RELEASE)
if (config()->get(Config::Messages_HidePreReleaseWarning) != KEEPASSXC_VERSION) {
m_ui->globalMessageWidget->showMessage(
tr("NOTE: You are using a pre-release version of KeePassXC!\n"
"Expect some bugs and minor issues, this version is not meant for production use."),
tr("NOTE: You are using a pre-release version of KeePassXC.\n"
"Expect some bugs and minor issues, this version is meant for testing purposes."),
MessageWidget::Information,
-1);
}
#elif (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) && QT_VERSION < QT_VERSION_CHECK(5, 6, 0))
if (!config()->get(Config::Messages_Qt55CompatibilityWarning).toBool()) {
m_ui->globalMessageWidget->showMessage(
tr("WARNING: Your Qt version may cause KeePassXC to crash with an On-Screen Keyboard!\n"
tr("WARNING: Your Qt version may cause KeePassXC to crash with an On-Screen Keyboard.\n"
"We recommend you use the AppImage available on our downloads page."),
MessageWidget::Warning,
-1);

View file

@ -595,7 +595,7 @@
<bool>false</bool>
</property>
<property name="text">
<string>Database &amp;Reports...</string>
<string>Database &amp;Reports</string>
</property>
<property name="toolTip">
<string>Statistics, health check, etc.</string>
@ -702,7 +702,7 @@
<bool>false</bool>
</property>
<property name="text">
<string>{USERNAME}</string>
<string notr="true">{USERNAME}</string>
</property>
</action>
<action name="actionEntryAutoTypeUsernameEnter">
@ -710,7 +710,7 @@
<bool>false</bool>
</property>
<property name="text">
<string>{USERNAME}{ENTER}</string>
<string notr="true">{USERNAME}{ENTER}</string>
</property>
</action>
<action name="actionEntryAutoTypePassword">
@ -718,7 +718,7 @@
<bool>false</bool>
</property>
<property name="text">
<string>{PASSWORD}</string>
<string notr="true">{PASSWORD}</string>
</property>
</action>
<action name="actionEntryAutoTypePasswordEnter">
@ -726,7 +726,7 @@
<bool>false</bool>
</property>
<property name="text">
<string>{PASSWORD}{ENTER}</string>
<string notr="true">{PASSWORD}{ENTER}</string>
</property>
</action>
<action name="actionEntryDownloadIcon">
@ -898,7 +898,7 @@
<bool>false</bool>
</property>
<property name="text">
<string>Save Database Backup...</string>
<string>Save Database Backup</string>
</property>
</action>
<action name="actionEntryAddToAgent">

View file

@ -54,7 +54,7 @@ SearchWidget::SearchWidget(QWidget* parent)
new QShortcut(QKeySequence::Find, this, SLOT(searchFocus()), nullptr, Qt::ApplicationShortcut);
new QShortcut(Qt::Key_Escape, m_ui->searchEdit, SLOT(clear()), nullptr, Qt::ApplicationShortcut);
m_ui->searchEdit->setPlaceholderText(tr("Search (%1)...", "Search placeholder text, %1 is the keyboard shortcut")
m_ui->searchEdit->setPlaceholderText(tr("Search (%1)", "Search placeholder text, %1 is the keyboard shortcut")
.arg(QKeySequence(QKeySequence::Find).toString(QKeySequence::NativeText)));
m_ui->searchEdit->installEventFilter(this);

View file

@ -71,7 +71,7 @@
<item>
<widget class="QRadioButton" name="radioDefault">
<property name="text">
<string>Default RFC 6238 token settings</string>
<string>Default settings (RFC 6238)</string>
</property>
<property name="checked">
<bool>true</bool>
@ -84,7 +84,7 @@
<item>
<widget class="QRadioButton" name="radioSteam">
<property name="text">
<string>Steam token settings</string>
<string>Steam® settings</string>
</property>
<attribute name="buttonGroup">
<string notr="true">settingsButtonGroup</string>
@ -94,7 +94,7 @@
<item>
<widget class="QRadioButton" name="radioCustom">
<property name="text">
<string>Use custom settings</string>
<string>Custom settings:</string>
</property>
<attribute name="buttonGroup">
<string notr="true">settingsButtonGroup</string>

View file

@ -16,9 +16,9 @@
*/
#include "UpdateCheckDialog.h"
#include "gui/Icons.h"
#include "ui_UpdateCheckDialog.h"
#include "updatecheck/UpdateChecker.h"
#include "gui/Icons.h"
UpdateCheckDialog::UpdateCheckDialog(QWidget* parent)
: QDialog(parent)
@ -36,29 +36,23 @@ UpdateCheckDialog::UpdateCheckDialog(QWidget* parent)
SLOT(showUpdateCheckResponse(bool, QString)));
}
void UpdateCheckDialog::showUpdateCheckResponse(bool status, const QString& version)
void UpdateCheckDialog::showUpdateCheckResponse(bool hasUpdate, const QString& version)
{
m_ui->progressBar->setVisible(false);
m_ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Close"));
if (version == QString("error")) {
setWindowTitle(tr("Update Error!"));
setWindowTitle(tr("Software Update"));
m_ui->statusLabel->setText("<strong>" + tr("Update Error!") + "</strong><br><br>"
+ tr("An error occurred in retrieving update information.") + "<br>"
+ tr("Please try again later."));
return;
}
if (status) {
setWindowTitle(tr("Software Update"));
m_ui->statusLabel->setText("<strong>" + tr("A new version of KeePassXC is available!") + "</strong><br><br>"
+ tr("KeePassXC %1 is now available — you have %2.").arg(version, KEEPASSXC_VERSION)
+ "<br><br>" + "<a href='https://keepassxc.org/download/'>"
+ tr("Download it at keepassxc.org") + "</a>");
if (version == UpdateChecker::ErrorVersion) {
m_ui->statusLabel->setText(
tr("An error occurred when trying to retrieve update information, please try again later."));
} else if (hasUpdate) {
m_ui->statusLabel->setText(
tr("<strong>A new version is available.</strong><br/>"
"KeePassXC %1 can be <a href=\"https://keepassxc.org/download/\">downloaded here</a>.")
.arg(version, KEEPASSXC_VERSION));
} else {
setWindowTitle(tr("You're up-to-date!"));
m_ui->statusLabel->setText(tr("KeePassXC %1 is currently the newest version available").arg(KEEPASSXC_VERSION));
m_ui->statusLabel->setText(tr("You have the latest version of KeePassXC"));
}
}

View file

@ -40,7 +40,7 @@ public:
~UpdateCheckDialog() override;
public slots:
void showUpdateCheckResponse(bool status, const QString& version);
void showUpdateCheckResponse(bool hasUpdate, const QString& version);
private:
QScopedPointer<Ui::UpdateCheckDialog> m_ui;

View file

@ -76,7 +76,7 @@
</font>
</property>
<property name="text">
<string>Checking for updates...</string>
<string>Checking for updates</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>

View file

@ -109,7 +109,7 @@ void KeyFileEditWidget::createKeyFile()
return;
}
QString filters = QString("%1 (*.keyx; *.key);;%2 (*)").arg(tr("Key files"), tr("All files"));
QString fileName = fileDialog()->getSaveFileName(this, tr("Create Key File..."), QString(), filters);
QString fileName = fileDialog()->getSaveFileName(this, tr("Create Key File"), QString(), filters);
if (!fileName.isEmpty()) {
QString errorMsg;

View file

@ -45,7 +45,7 @@
<string>Browse for key file</string>
</property>
<property name="text">
<string>Browse...</string>
<string>Browse</string>
</property>
</widget>
</item>

View file

@ -250,7 +250,7 @@ void DatabaseSettingsWidgetBrowser::convertAttributesToCustomData()
!= MessageBox::question(
this,
tr("Move KeePassHTTP attributes to custom data"),
tr("Do you really want to move all legacy browser integration data to the latest standard?\n"
tr("Do you really want to convert all legacy browser integration data to the latest standard?\n"
"This is necessary to maintain compatibility with the browser plugin."),
MessageBox::Yes | MessageBox::Cancel,
MessageBox::Cancel)) {

View file

@ -32,7 +32,7 @@
DatabaseSettingsWidgetDatabaseKey::DatabaseSettingsWidgetDatabaseKey(QWidget* parent)
: DatabaseSettingsWidget(parent)
, m_additionalKeyOptionsToggle(new QPushButton(tr("Add additional protection..."), this))
, m_additionalKeyOptionsToggle(new QPushButton(tr("Add additional protection"), this))
, m_additionalKeyOptions(new QWidget(this))
, m_passwordEditWidget(new PasswordEditWidget(this))
, m_keyFileEditWidget(new KeyFileEditWidget(this))

View file

@ -258,7 +258,7 @@ bool DatabaseSettingsWidgetEncryption::save()
warning.setIcon(QMessageBox::Warning);
warning.setWindowTitle(tr("Number of rounds too high", "Key transformation rounds"));
warning.setText(tr("You are using a very high number of key transform rounds with Argon2.\n\n"
"If you keep this number, your database may take hours or days (or even longer) to open!"));
"If you keep this number, your database may take hours, days, or even longer to open."));
auto ok = warning.addButton(tr("Understood, keep number"), QMessageBox::ButtonRole::AcceptRole);
auto cancel = warning.addButton(tr("Cancel"), QMessageBox::ButtonRole::RejectRole);
warning.setDefaultButton(cancel);
@ -271,7 +271,7 @@ bool DatabaseSettingsWidgetEncryption::save()
warning.setIcon(QMessageBox::Warning);
warning.setWindowTitle(tr("Number of rounds too low", "Key transformation rounds"));
warning.setText(tr("You are using a very low number of key transform rounds with AES-KDF.\n\n"
"If you keep this number, your database may be too easy to crack!"));
"If you keep this number, your database will not be protected from brute force attacks."));
auto ok = warning.addButton(tr("Understood, keep number"), QMessageBox::ButtonRole::AcceptRole);
auto cancel = warning.addButton(tr("Cancel"), QMessageBox::ButtonRole::RejectRole);
warning.setDefaultButton(cancel);

View file

@ -38,7 +38,7 @@
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Database Meta Data</string>
<string>Database Metadata</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">

View file

@ -199,7 +199,7 @@
<string>Url field</string>
</property>
<property name="placeholderText">
<string>https://example.com</string>
<string notr="true">https://example.com</string>
</property>
</widget>
</item>

View file

@ -131,7 +131,7 @@
<string>Browser for key file</string>
</property>
<property name="text">
<string extracomment="Button for opening file dialog">Browse...</string>
<string extracomment="Button for opening file dialog">Browse</string>
</property>
</widget>
</item>

View file

@ -29,7 +29,7 @@ ReportsPageHealthcheck::ReportsPageHealthcheck()
QString ReportsPageHealthcheck::name()
{
return QApplication::tr("Health Check");
return QObject::tr("Health Check");
}
QIcon ReportsPageHealthcheck::icon()

View file

@ -29,7 +29,7 @@ ReportsPageHibp::ReportsPageHibp()
QString ReportsPageHibp::name()
{
return QApplication::tr("HIBP");
return QObject::tr("HIBP");
}
QIcon ReportsPageHibp::icon()

View file

@ -24,7 +24,7 @@
QString ReportsPageStatistics::name()
{
return QApplication::tr("Statistics");
return QObject::tr("Statistics");
}
QIcon ReportsPageStatistics::icon()

View file

@ -235,7 +235,7 @@ void ReportsWidgetHealthcheck::loadSettings(QSharedPointer<Database> db)
m_rowToEntry.clear();
auto row = QList<QStandardItem*>();
row << new QStandardItem(tr("Please wait, health data is being calculated..."));
row << new QStandardItem(tr("Please wait, health data is being calculated"));
m_referencesModel->appendRow(row);
}
@ -325,7 +325,7 @@ void ReportsWidgetHealthcheck::customMenuRequested(QPoint pos)
const auto menu = new QMenu(this);
// Create the "edit entry" menu item
const auto edit = new QAction(icons()->icon("entry-edit"), tr("Edit Entry..."), this);
const auto edit = new QAction(icons()->icon("entry-edit"), tr("Edit Entry"), this);
menu->addAction(edit);
connect(edit, SIGNAL(triggered()), SLOT(editFromContextmenu()));

View file

@ -297,22 +297,22 @@ void ReportsWidgetHibp::startValidation()
QString ReportsWidgetHibp::countToText(int count)
{
if (count == 1) {
return tr("once");
return tr("once", "Password exposure amount");
} else if (count <= 10) {
return tr("up to 10 times");
return tr("up to 10 times", "Password exposure amount");
} else if (count <= 100) {
return tr("up to 100 times");
return tr("up to 100 times", "Password exposure amount");
} else if (count <= 1000) {
return tr("up to 1000 times");
return tr("up to 1000 times", "Password exposure amount");
} else if (count <= 10000) {
return tr("up to 10,000 times");
return tr("up to 10,000 times", "Password exposure amount");
} else if (count <= 100000) {
return tr("up to 100,000 times");
return tr("up to 100,000 times", "Password exposure amount");
} else if (count <= 1000000) {
return tr("up to a million times");
return tr("up to a million times", "Password exposure amount");
}
return tr("millions of times");
return tr("millions of times", "Password exposure amount");
}
/*
@ -387,7 +387,7 @@ void ReportsWidgetHibp::customMenuRequested(QPoint pos)
const auto menu = new QMenu(this);
// Create the "edit entry" menu item
const auto edit = new QAction(icons()->icon("entry-edit"), tr("Edit Entry..."), this);
const auto edit = new QAction(icons()->icon("entry-edit"), tr("Edit Entry"), this);
menu->addAction(edit);
connect(edit, SIGNAL(triggered()), SLOT(editFromContextmenu()));

View file

@ -193,7 +193,7 @@ void ReportsWidgetStatistics::loadSettings(QSharedPointer<Database> db)
m_db = std::move(db);
m_statsCalculated = false;
m_referencesModel->clear();
addStatsRow(tr("Please wait, database statistics are being calculated..."), "");
addStatsRow(tr("Please wait, database statistics are being calculated"), "");
}
void ReportsWidgetStatistics::showEvent(QShowEvent* event)

View file

@ -48,7 +48,7 @@ NewDatabaseWizard::NewDatabaseWizard(QWidget* parent)
addPage(page);
}
setWindowTitle(tr("Create a new KeePassXC database..."));
setWindowTitle(tr("Create a new KeePassXC database"));
Q_INIT_RESOURCE(wizard);
setPixmap(QWizard::BackgroundPixmap, QPixmap(":/wizard/background-pixmap.png"));