Add English and Russian ChatGUI interface translations

This commit is contained in:
evgeny committed 2026-10-05 16:55:43 +02:00
1 parent 972c6b7f0a
commit 27d93ecaf9
50 files changed
+4978 -491

No files matched your search

+9 -1
View File
@@ -1,6 +1,7 @@
// node_config.cpp — Simplified INI config manager for embedded uTun node
#include "node_config.h"
#include "config_updater.h"
#include "../../../lib/debug_config.h"
#include <QHostInfo>
extern "C" {
@@ -39,7 +40,7 @@ static const QSet<QString> CONTROL_KEYS = {
};
static const QSet<QString> GUI_KEYS = {
"db_path", "debug_file", "debug_level",
"db_path", "debug_file", "debug_level", "language",
"sound_dir", "sound_msg_incoming", "sound_msg_outgoing",
"sound_connect", "sound_disconnect"
};
@@ -225,6 +226,7 @@ bool NodeConfig::load() {
m_servers.clear();
m_clients.clear();
m_errors.clear();
m_language = QStringLiteral("system");
QString section, controlIp, controlPort;
QTextStream in(&f);
@@ -336,6 +338,10 @@ bool NodeConfig::load() {
if (key == "db_path") m_dbPath = val;
else if (key == "debug_file") m_debugFile = val;
else if (key == "debug_level") m_debugLevel = val;
else if (key == "language") {
if (val == "system" || val == "en" || val == "ru") m_language = val;
else DEBUG_WARN(DEBUG_CATEGORY_CONFIG, "GUI language: invalid preference '%s', using system language", qPrintable(val));
}
} else if (debugSection) {
if (!m_debugCategories.isEmpty()) m_debugCategories += ',';
m_debugCategories += key + '=' + val;
@@ -386,6 +392,7 @@ bool NodeConfig::saveFull() {
out << "[gui]\n";
out << "db_path=" << (m_dbPath.isEmpty() ? "chat_data" : m_dbPath) << "\n";
out << "debug_file=" << m_debugFile << "\n";
out << "language=" << m_language << "\n";
out << "debug_level=" << (m_debugLevel.isEmpty() ? "info" : m_debugLevel) << "\n\n";
out << "[debug]\n";
@@ -445,6 +452,7 @@ bool NodeConfig::save() {
config_update_in_lines(lines, "gui", "db_path", m_dbPath.isEmpty() ? "chat_data" : m_dbPath, true);
config_update_in_lines(lines, "gui", "debug_file", m_debugFile, true);
config_update_in_lines(lines, "gui", "language", m_language, true);
config_update_in_lines(lines, "gui", "debug_level", m_debugLevel.isEmpty() ? "info" : m_debugLevel, true);
/* [debug] section: each category=level as separate line */