Add English and Russian ChatGUI interface translations
This commit is contained in:
1 parent
972c6b7f0a
commit
27d93ecaf9
50 files changed
+4978
-491
No files matched your search
@@ -1,3 +1,4 @@
|
||||
#include <QCoreApplication>
|
||||
#include "accountlist.h"
|
||||
#include "accountdelegate.h"
|
||||
#include "memberlistmodel.h"
|
||||
@@ -57,10 +58,10 @@ QString AccountList::relativeTimeStr(qint64 timestamp) {
|
||||
if (timestamp <= 0) return "";
|
||||
qint64 diff = QDateTime::currentSecsSinceEpoch() - timestamp;
|
||||
if (diff < 0) diff = 0;
|
||||
if (diff < 60) return QString("%1s").arg(diff);
|
||||
if (diff < 3600) return QString("%1m").arg(diff / 60);
|
||||
if (diff < 86400) return QString("%1h").arg(diff / 3600);
|
||||
return QString("%1d").arg(diff / 86400);
|
||||
if (diff < 60) return QCoreApplication::translate("ChatGui", "%1s").arg(diff);
|
||||
if (diff < 3600) return QCoreApplication::translate("ChatGui", "%1m").arg(diff / 60);
|
||||
if (diff < 86400) return QCoreApplication::translate("ChatGui", "%1h").arg(diff / 3600);
|
||||
return QCoreApplication::translate("ChatGui", "%1d").arg(diff / 86400);
|
||||
}
|
||||
|
||||
AccountList::AccountList(DbManager* db, QWidget *parent)
|
||||
@@ -75,7 +76,7 @@ AccountList::AccountList(DbManager* db, QWidget *parent)
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
layout->setSpacing(0);
|
||||
|
||||
m_header = new QLabel("Members", this);
|
||||
m_header = new QLabel(QCoreApplication::translate("ChatGui", "Members"), this);
|
||||
m_header->setAlignment(Qt::AlignCenter);
|
||||
m_header->setStyleSheet("font-weight: bold; padding: 8px; background: palette(window);");
|
||||
layout->addWidget(m_header);
|
||||
@@ -104,7 +105,7 @@ AccountList::AccountList(DbManager* db, QWidget *parent)
|
||||
detailLayout->setContentsMargins(0, 0, 0, 0);
|
||||
detailLayout->setSpacing(0);
|
||||
|
||||
m_detailHeader = new QLabel("Select a member", m_detailPanel);
|
||||
m_detailHeader = new QLabel(QCoreApplication::translate("ChatGui", "Select a member"), m_detailPanel);
|
||||
m_detailHeader->setWordWrap(true);
|
||||
m_detailHeader->setStyleSheet("font-weight: bold; padding: 4px 8px; background: palette(window);");
|
||||
detailLayout->addWidget(m_detailHeader);
|
||||
@@ -177,11 +178,11 @@ void AccountList::setChannel(const QString& channelId) {
|
||||
m_detailTimer->stop();
|
||||
m_linkTimer->stop();
|
||||
m_detailNodeId = 0;
|
||||
m_detailHeader->setText("Select a member");
|
||||
m_detailHeader->setText(QCoreApplication::translate("ChatGui", "Select a member"));
|
||||
m_detailText->clear();
|
||||
|
||||
m_header->setText(isOwner ? QString::fromUtf8("Members \xF0\x9F\x94\x91") : QStringLiteral("Members"));
|
||||
m_header->setToolTip(isOwner ? QStringLiteral("Channel owner (has private key)") : QString());
|
||||
m_header->setText(isOwner ? QCoreApplication::translate("ChatGui", "Members 🔑") : QCoreApplication::translate("ChatGui", "Members"));
|
||||
m_header->setToolTip(isOwner ? QCoreApplication::translate("ChatGui", "Channel owner (has private key)") : QString());
|
||||
}
|
||||
|
||||
void AccountList::refresh() { m_model->refresh(); }
|
||||
@@ -371,9 +372,9 @@ void AccountList::updateDetailDisplay() {
|
||||
hdr.append(QString("<span style='color:%1;'>●</span> %2 %3")
|
||||
.arg(dotColor, m_detailName.toHtmlEscaped(), nodeHex));
|
||||
if (m_detailLastSeen > 0)
|
||||
hdr.append(QString("seen %1").arg(relativeTimeStr(m_detailLastSeen)));
|
||||
hdr.append(QCoreApplication::translate("ChatGui", "seen %1").arg(relativeTimeStr(m_detailLastSeen)));
|
||||
if (m_detailCreated > 0)
|
||||
hdr.append(QString("created %1").arg(relativeTimeStr(m_detailCreated)));
|
||||
hdr.append(QCoreApplication::translate("ChatGui", "created %1").arg(relativeTimeStr(m_detailCreated)));
|
||||
m_detailHeader->setText(hdr.join(" "));
|
||||
|
||||
/* ── Body ── */
|
||||
@@ -385,7 +386,7 @@ void AccountList::updateDetailDisplay() {
|
||||
};
|
||||
|
||||
if (!m_detailAddrs.isEmpty()) {
|
||||
lines.append("── Addresses ──");
|
||||
lines.append(QCoreApplication::translate("ChatGui", "── Addresses ──"));
|
||||
for (const auto& a : m_detailAddrs) {
|
||||
lines.append(QString(" [sock%1] %2 %3 %4:%5 %6")
|
||||
.arg(a.socket_id)
|
||||
@@ -398,7 +399,7 @@ void AccountList::updateDetailDisplay() {
|
||||
}
|
||||
|
||||
if (isSelf) {
|
||||
lines.append("── Listen ──");
|
||||
lines.append(QCoreApplication::translate("ChatGui", "── Listen ──"));
|
||||
for (const auto& s : m_snapSocks) {
|
||||
const DetailAddress* a = nullptr;
|
||||
for (const auto& da : m_detailAddrs) {
|
||||
@@ -413,7 +414,7 @@ void AccountList::updateDetailDisplay() {
|
||||
}
|
||||
} else {
|
||||
if (!m_snapLinks.isEmpty()) {
|
||||
lines.append("── Connections ──");
|
||||
lines.append(QCoreApplication::translate("ChatGui", "── Connections ──"));
|
||||
for (const auto& lk : m_snapLinks) {
|
||||
bool up = (lk.linkState == 3 && lk.linkStatus == 1);
|
||||
QString c = up ? "#4CAF50" : "#E53935";
|
||||
@@ -482,15 +483,15 @@ void AccountList::onMemberContextMenu(const QPoint& pos) {
|
||||
QString name = m_model->data(index, Qt::DisplayRole).toString();
|
||||
|
||||
QMenu menu(m_listView);
|
||||
QAction* pmAction = menu.addAction(QString::fromUtf8("Написать сообщение"));
|
||||
QAction* pmAction = menu.addAction(QCoreApplication::translate("ChatGui", "Send message"));
|
||||
if (nodeId == m_db->myNodeId()) pmAction->setEnabled(false);
|
||||
QAction* callAction = menu.addAction(QString::fromUtf8("Позвонить"));
|
||||
QAction* callAction = menu.addAction(QCoreApplication::translate("ChatGui", "Call peer"));
|
||||
if (nodeId == m_db->myNodeId() || !m_model->isOnlineAt(index.row())) callAction->setEnabled(false);
|
||||
QAction* connectAction = menu.addAction("Connect");
|
||||
QAction* connectAction = menu.addAction(QCoreApplication::translate("ChatGui", "Connect"));
|
||||
if (nodeId == m_db->myNodeId()) connectAction->setEnabled(false);
|
||||
QAction* renameAction = menu.addAction("Rename");
|
||||
QAction* renameAction = menu.addAction(QCoreApplication::translate("ChatGui", "Rename"));
|
||||
if (nodeId == m_db->myNodeId()) renameAction->setEnabled(false);
|
||||
QAction* editAction = menu.addAction("Edit");
|
||||
QAction* editAction = menu.addAction(QCoreApplication::translate("ChatGui", "Edit"));
|
||||
QAction* chosen = menu.exec(m_listView->viewport()->mapToGlobal(pos));
|
||||
|
||||
if (chosen == pmAction) {
|
||||
|
||||
Reference in new issue
Block a user