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 "callwindow.h"
|
||||
#include "../transport/gui_bridge.h"
|
||||
#include "call_audio_engine.h"
|
||||
@@ -136,7 +137,7 @@ static QWidget* wrapWithCaption(QWidget* btn, const QString& caption, QLabel** c
|
||||
|
||||
CallWindow::CallWindow(QWidget* parent)
|
||||
: QWidget(parent, Qt::Window) {
|
||||
setWindowTitle(QStringLiteral("Звонок"));
|
||||
setWindowTitle(QCoreApplication::translate("ChatGui", "Call"));
|
||||
setFixedSize(360, 480);
|
||||
setAttribute(Qt::WA_DeleteOnClose, false);
|
||||
|
||||
@@ -171,10 +172,10 @@ CallWindow::CallWindow(QWidget* parent)
|
||||
m_statsLabel->setStyleSheet("color: gray; font-size: 11px;");
|
||||
m_statsLabel->hide();
|
||||
|
||||
m_acceptBtn = makeRoundBtn(makeRoundIcon(QColor("#27ae60"), Glyph::Phone, 96), QStringLiteral("Принять"), this);
|
||||
m_declineBtn = makeRoundBtn(makeRoundIcon(QColor("#e74c3c"), Glyph::PhoneDown, 96), QStringLiteral("Отклонить"), this);
|
||||
m_hangupBtn = makeRoundBtn(makeRoundIcon(QColor("#e74c3c"), Glyph::PhoneDown, 96), QStringLiteral("Завершить"), this);
|
||||
m_muteBtn = makeRoundBtn(makeRoundIcon(QColor("#7f8c8d"), Glyph::Mic, 96), QStringLiteral("Mute"), this);
|
||||
m_acceptBtn = makeRoundBtn(makeRoundIcon(QColor("#27ae60"), Glyph::Phone, 96), QCoreApplication::translate("ChatGui", "Accept"), this);
|
||||
m_declineBtn = makeRoundBtn(makeRoundIcon(QColor("#e74c3c"), Glyph::PhoneDown, 96), QCoreApplication::translate("ChatGui", "Decline"), this);
|
||||
m_hangupBtn = makeRoundBtn(makeRoundIcon(QColor("#e74c3c"), Glyph::PhoneDown, 96), QCoreApplication::translate("ChatGui", "End call"), this);
|
||||
m_muteBtn = makeRoundBtn(makeRoundIcon(QColor("#7f8c8d"), Glyph::Mic, 96), QCoreApplication::translate("ChatGui", "Mute"), this);
|
||||
m_muteBtn->setCheckable(true);
|
||||
|
||||
m_deviceCombo = new QComboBox(this);
|
||||
@@ -194,10 +195,10 @@ CallWindow::CallWindow(QWidget* parent)
|
||||
lay->addWidget(m_statsLabel);
|
||||
lay->addStretch(1);
|
||||
|
||||
m_acceptCell = wrapWithCaption(m_acceptBtn, QStringLiteral("Принять"));
|
||||
m_declineCell = wrapWithCaption(m_declineBtn, QStringLiteral("Отклонить"));
|
||||
m_hangupCell = wrapWithCaption(m_hangupBtn, QStringLiteral("Завершить"));
|
||||
m_muteCell = wrapWithCaption(m_muteBtn, QStringLiteral("Mute"), &m_muteCaption);
|
||||
m_acceptCell = wrapWithCaption(m_acceptBtn, QCoreApplication::translate("ChatGui", "Accept"));
|
||||
m_declineCell = wrapWithCaption(m_declineBtn, QCoreApplication::translate("ChatGui", "Decline"));
|
||||
m_hangupCell = wrapWithCaption(m_hangupBtn, QCoreApplication::translate("ChatGui", "End call"));
|
||||
m_muteCell = wrapWithCaption(m_muteBtn, QCoreApplication::translate("ChatGui", "Mute"), &m_muteCaption);
|
||||
|
||||
QHBoxLayout* btn = new QHBoxLayout();
|
||||
btn->setSpacing(10);
|
||||
@@ -237,29 +238,29 @@ void CallWindow::setBgpPath(const QString& path) {
|
||||
}
|
||||
|
||||
void CallWindow::setConnectionType(uint8_t type, quint64 nextHop) {
|
||||
const QString names[] = { QStringLiteral("нет подключения"), QStringLiteral("прямое"),
|
||||
QStringLiteral("reverse"), QStringLiteral("indirect") };
|
||||
m_connectionLabel->setText(QStringLiteral("Подключение: %1").arg(names[type <= 3 ? type : 0]));
|
||||
m_connectionLabel->setToolTip(type == 3 ? QStringLiteral("Посредник: 0x%1").arg(nextHop, 16, 16, QChar('0')) : QString());
|
||||
const QString names[] = { QCoreApplication::translate("ChatGui", "not connected"), QCoreApplication::translate("ChatGui", "direct"),
|
||||
QCoreApplication::translate("ChatGui", "reverse"), QCoreApplication::translate("ChatGui", "indirect") };
|
||||
m_connectionLabel->setText(QCoreApplication::translate("ChatGui", "Connection: %1").arg(names[type <= 3 ? type : 0]));
|
||||
m_connectionLabel->setToolTip(type == 3 ? QCoreApplication::translate("ChatGui", "Relay: 0x%1").arg(nextHop, 16, 16, QChar('0')) : QString());
|
||||
}
|
||||
|
||||
void CallWindow::setState(State s) {
|
||||
m_state = s;
|
||||
switch (s) {
|
||||
case Outgoing:
|
||||
m_statusLabel->setText(QStringLiteral("Пытаемся связаться…"));
|
||||
m_statusLabel->setText(QCoreApplication::translate("ChatGui", "Connecting…"));
|
||||
m_durationLabel->hide();
|
||||
break;
|
||||
case Ringing:
|
||||
m_statusLabel->setText(QStringLiteral("Звоним…"));
|
||||
m_statusLabel->setText(QCoreApplication::translate("ChatGui", "Calling…"));
|
||||
m_durationLabel->hide();
|
||||
break;
|
||||
case Incoming:
|
||||
m_statusLabel->setText(QStringLiteral("Входящий звонок…"));
|
||||
m_statusLabel->setText(QCoreApplication::translate("ChatGui", "Incoming call…"));
|
||||
m_durationLabel->hide();
|
||||
break;
|
||||
case Active:
|
||||
m_statusLabel->setText(QStringLiteral("Разговор"));
|
||||
m_statusLabel->setText(QCoreApplication::translate("ChatGui", "In call"));
|
||||
m_durationLabel->setText(QStringLiteral("00:00"));
|
||||
m_durationLabel->show();
|
||||
m_startMs = QDateTime::currentMSecsSinceEpoch();
|
||||
@@ -269,7 +270,7 @@ void CallWindow::setState(State s) {
|
||||
break;
|
||||
case Ended:
|
||||
setConnectionType(0, 0);
|
||||
m_statusLabel->setText(QStringLiteral("Завершён"));
|
||||
m_statusLabel->setText(QCoreApplication::translate("ChatGui", "Ended"));
|
||||
m_durationTimer->stop();
|
||||
break;
|
||||
}
|
||||
@@ -279,11 +280,11 @@ void CallWindow::setState(State s) {
|
||||
void CallWindow::populateDeviceCombo() {
|
||||
m_deviceCombo->blockSignals(true);
|
||||
m_deviceCombo->clear();
|
||||
m_deviceCombo->addItem(QStringLiteral("Default (auto)"), QString());
|
||||
m_deviceCombo->addItem(QCoreApplication::translate("ChatGui", "Default (auto)"), QString());
|
||||
const auto devs = SoundManager::enumeratePlaybackDevices();
|
||||
for (int i = 0; i < devs.size(); i++) {
|
||||
QString label = devs[i].name;
|
||||
if (devs[i].isDefault) label += QStringLiteral(" (default)");
|
||||
if (devs[i].isDefault) label += QCoreApplication::translate("ChatGui", " (default)");
|
||||
m_deviceCombo->addItem(label, devs[i].id);
|
||||
}
|
||||
QString cur = CallAudioEngine::instance()->playbackDevice();
|
||||
@@ -328,7 +329,7 @@ void CallWindow::onMuteToggled(bool checked) {
|
||||
m_muteBtn->setIcon(makeRoundIcon(checked ? QColor("#e74c3c") : QColor("#7f8c8d"),
|
||||
checked ? Glyph::MicOff : Glyph::Mic, 96));
|
||||
if (m_muteCaption)
|
||||
m_muteCaption->setText(checked ? QStringLiteral("Вкл. микрофон") : QStringLiteral("Mute"));
|
||||
m_muteCaption->setText(checked ? QCoreApplication::translate("ChatGui", "Unmute") : QCoreApplication::translate("ChatGui", "Mute"));
|
||||
}
|
||||
|
||||
void CallWindow::onDeviceChanged(int index) {
|
||||
@@ -354,9 +355,9 @@ void CallWindow::updateDuration() {
|
||||
|
||||
void CallWindow::setAudioStats(int rtt, int buffer, int tempo, int dropped, int underruns,
|
||||
int minimum, int maximum, int reserve) {
|
||||
m_statsLabel->setText(QStringLiteral("Буфер: %1 мс · Запас: %2 мс\n"
|
||||
"За 10 с: минимум %3 · максимум %4 мс\n"
|
||||
"Скорость: %5× · RTT: %6 мс\nПотери буфера: %7 · Недостачи: %8")
|
||||
m_statsLabel->setText(QCoreApplication::translate("ChatGui",
|
||||
"Buffer: %1 ms · Reserve: %2 ms\nOver 10 s: minimum %3 · maximum %4 ms\nSpeed: %5× · RTT: %6 "
|
||||
"ms\nBuffer drops: %7 · Underruns: %8")
|
||||
.arg(buffer).arg(reserve).arg(minimum).arg(maximum)
|
||||
.arg(tempo / 100.0, 0, 'f', 2).arg(rtt).arg(dropped).arg(underruns));
|
||||
m_statsLabel->show();
|
||||
|
||||
Reference in new issue
Block a user