begin with translation process
This commit is contained in:
parent
6805f894d2
commit
3db2fe81d6
@ -194,8 +194,9 @@
|
|||||||
|
|
||||||
/*! Constructs the DeviceManager with the given \a parent. There should only be one DeviceManager in the system created by \l{guhserver::GuhCore}.
|
/*! Constructs the DeviceManager with the given \a parent. There should only be one DeviceManager in the system created by \l{guhserver::GuhCore}.
|
||||||
* Use \c guhserver::GuhCore::instance()->deviceManager() instead to access the DeviceManager. */
|
* Use \c guhserver::GuhCore::instance()->deviceManager() instead to access the DeviceManager. */
|
||||||
DeviceManager::DeviceManager(QObject *parent) :
|
DeviceManager::DeviceManager(const QLocale &locale, QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
|
m_locale(locale),
|
||||||
m_radio433(0)
|
m_radio433(0)
|
||||||
{
|
{
|
||||||
qRegisterMetaType<DeviceClassId>();
|
qRegisterMetaType<DeviceClassId>();
|
||||||
@ -986,6 +987,9 @@ void DeviceManager::loadPlugins()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pluginIface->setLocale(m_locale);
|
||||||
|
qApp->installTranslator(pluginIface->translator());
|
||||||
|
|
||||||
if (verifyPluginMetadata(loader.metaData().value("MetaData").toObject())) {
|
if (verifyPluginMetadata(loader.metaData().value("MetaData").toObject())) {
|
||||||
pluginIface->initPlugin(loader.metaData().value("MetaData").toObject(), this);
|
pluginIface->initPlugin(loader.metaData().value("MetaData").toObject(), this);
|
||||||
qCDebug(dcDeviceManager) << "**** Loaded plugin" << pluginIface->pluginName();
|
qCDebug(dcDeviceManager) << "**** Loaded plugin" << pluginIface->pluginName();
|
||||||
|
|||||||
@ -43,6 +43,7 @@
|
|||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
#include <QLocale>
|
||||||
#include <QPluginLoader>
|
#include <QPluginLoader>
|
||||||
|
|
||||||
class Device;
|
class Device;
|
||||||
@ -102,7 +103,7 @@ public:
|
|||||||
DeviceSetupStatusAsync
|
DeviceSetupStatusAsync
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit DeviceManager(QObject *parent = 0);
|
explicit DeviceManager(const QLocale &locale, QObject *parent = 0);
|
||||||
~DeviceManager();
|
~DeviceManager();
|
||||||
|
|
||||||
static QStringList pluginSearchDirs();
|
static QStringList pluginSearchDirs();
|
||||||
@ -189,6 +190,7 @@ private:
|
|||||||
void postSetupDevice(Device *device);
|
void postSetupDevice(Device *device);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
QLocale m_locale;
|
||||||
QHash<VendorId, Vendor> m_supportedVendors;
|
QHash<VendorId, Vendor> m_supportedVendors;
|
||||||
QHash<VendorId, QList<DeviceClassId> > m_vendorDeviceMap;
|
QHash<VendorId, QList<DeviceClassId> > m_vendorDeviceMap;
|
||||||
QHash<DeviceClassId, DeviceClass> m_supportedDevices;
|
QHash<DeviceClassId, DeviceClass> m_supportedDevices;
|
||||||
|
|||||||
@ -186,6 +186,11 @@ QString GuhSettings::settingsPath()
|
|||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString GuhSettings::translationsPath()
|
||||||
|
{
|
||||||
|
return QString("/usr/share/guh/translations");
|
||||||
|
}
|
||||||
|
|
||||||
/*! Returns the path where the log file (console log) will be stored. */
|
/*! Returns the path where the log file (console log) will be stored. */
|
||||||
QString GuhSettings::consoleLogPath()
|
QString GuhSettings::consoleLogPath()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -48,6 +48,7 @@ public:
|
|||||||
static bool isRoot();
|
static bool isRoot();
|
||||||
static QString logPath();
|
static QString logPath();
|
||||||
static QString settingsPath();
|
static QString settingsPath();
|
||||||
|
static QString translationsPath();
|
||||||
static QString consoleLogPath();
|
static QString consoleLogPath();
|
||||||
|
|
||||||
// forwarded QSettings methods
|
// forwarded QSettings methods
|
||||||
|
|||||||
@ -148,7 +148,8 @@
|
|||||||
|
|
||||||
/*! DevicePlugin constructor. DevicePlugins will be instantiated by the DeviceManager, its \a parent. */
|
/*! DevicePlugin constructor. DevicePlugins will be instantiated by the DeviceManager, its \a parent. */
|
||||||
DevicePlugin::DevicePlugin(QObject *parent):
|
DevicePlugin::DevicePlugin(QObject *parent):
|
||||||
QObject(parent)
|
QObject(parent),
|
||||||
|
m_translator(new QTranslator(this))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -440,6 +441,16 @@ QList<DeviceClass> DevicePlugin::supportedDevices() const
|
|||||||
return deviceClasses;
|
return deviceClasses;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QTranslator *DevicePlugin::translator()
|
||||||
|
{
|
||||||
|
return m_translator;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DevicePlugin::setLocale(const QLocale &locale)
|
||||||
|
{
|
||||||
|
m_translator->load(locale, pluginName(), "_", GuhSettings::translationsPath(), ".qm");
|
||||||
|
}
|
||||||
|
|
||||||
/*! Override this if your plugin supports Device with DeviceClass::CreationMethodAuto.
|
/*! Override this if your plugin supports Device with DeviceClass::CreationMethodAuto.
|
||||||
This will be called at startup, after the configured devices have been loaded.
|
This will be called at startup, after the configured devices have been loaded.
|
||||||
This is the earliest time you should start emitting autoDevicesAppeared(). If you
|
This is the earliest time you should start emitting autoDevicesAppeared(). If you
|
||||||
|
|||||||
@ -41,6 +41,7 @@
|
|||||||
#include <QMetaEnum>
|
#include <QMetaEnum>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
#include <QMetaObject>
|
#include <QMetaObject>
|
||||||
|
#include <QTranslator>
|
||||||
#include <QPair>
|
#include <QPair>
|
||||||
|
|
||||||
class DeviceManager;
|
class DeviceManager;
|
||||||
@ -60,6 +61,9 @@ public:
|
|||||||
QList<Vendor> supportedVendors() const;
|
QList<Vendor> supportedVendors() const;
|
||||||
QList<DeviceClass> supportedDevices() const;
|
QList<DeviceClass> supportedDevices() const;
|
||||||
|
|
||||||
|
QTranslator *translator();
|
||||||
|
void setLocale(const QLocale &locale);
|
||||||
|
|
||||||
virtual DeviceManager::HardwareResources requiredHardware() const = 0;
|
virtual DeviceManager::HardwareResources requiredHardware() const = 0;
|
||||||
|
|
||||||
virtual void startMonitoringAutoDevices();
|
virtual void startMonitoringAutoDevices();
|
||||||
@ -137,6 +141,7 @@ private:
|
|||||||
QPair<bool, DeviceClass::BasicTag> loadAndVerifyBasicTag(const QString &basicTag) const;
|
QPair<bool, DeviceClass::BasicTag> loadAndVerifyBasicTag(const QString &basicTag) const;
|
||||||
QPair<bool, DeviceClass::DeviceIcon> loadAndVerifyDeviceIcon(const QString &deviceIcon) const;
|
QPair<bool, DeviceClass::DeviceIcon> loadAndVerifyDeviceIcon(const QString &deviceIcon) const;
|
||||||
|
|
||||||
|
QTranslator *m_translator;
|
||||||
DeviceManager *m_deviceManager;
|
DeviceManager *m_deviceManager;
|
||||||
|
|
||||||
QList<ParamType> m_configurationDescription;
|
QList<ParamType> m_configurationDescription;
|
||||||
|
|||||||
@ -5,7 +5,12 @@ CONFIG += plugin
|
|||||||
|
|
||||||
QT += network
|
QT += network
|
||||||
|
|
||||||
INCLUDEPATH += ../../../libguh
|
# Check Bluetooth LE support
|
||||||
|
contains(DEFINES, BLUETOOTH_LE) {
|
||||||
|
QT += bluetooth
|
||||||
|
}
|
||||||
|
|
||||||
|
INCLUDEPATH += $$top_srcdir/libguh
|
||||||
LIBS += -L../../../libguh -lguh
|
LIBS += -L../../../libguh -lguh
|
||||||
|
|
||||||
infofile.output = plugininfo.h
|
infofile.output = plugininfo.h
|
||||||
|
|||||||
@ -381,6 +381,12 @@ ServerManager *GuhCore::serverManager() const
|
|||||||
return m_serverManager;
|
return m_serverManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList GuhCore::getAvailableLanguages()
|
||||||
|
{
|
||||||
|
// TODO: parse available translation files
|
||||||
|
return QStringList() << "en_US" << "de_DE";
|
||||||
|
}
|
||||||
|
|
||||||
BluetoothServer *GuhCore::bluetoothServer() const
|
BluetoothServer *GuhCore::bluetoothServer() const
|
||||||
{
|
{
|
||||||
return m_bluetoothServer;
|
return m_bluetoothServer;
|
||||||
@ -416,7 +422,7 @@ GuhCore::GuhCore(QObject *parent) :
|
|||||||
m_cloudManager = new CloudManager(m_configuration->cloudEnabled(), m_configuration->cloudAuthenticationServer(), m_configuration->cloudProxyServer(), this);
|
m_cloudManager = new CloudManager(m_configuration->cloudEnabled(), m_configuration->cloudAuthenticationServer(), m_configuration->cloudProxyServer(), this);
|
||||||
|
|
||||||
qCDebug(dcApplication) << "Creating Device Manager";
|
qCDebug(dcApplication) << "Creating Device Manager";
|
||||||
m_deviceManager = new DeviceManager(this);
|
m_deviceManager = new DeviceManager(m_configuration->locale(), this);
|
||||||
|
|
||||||
qCDebug(dcApplication) << "Creating Rule Engine";
|
qCDebug(dcApplication) << "Creating Rule Engine";
|
||||||
m_ruleEngine = new RuleEngine(this);
|
m_ruleEngine = new RuleEngine(this);
|
||||||
|
|||||||
@ -87,6 +87,7 @@ public:
|
|||||||
ServerManager *serverManager() const;
|
ServerManager *serverManager() const;
|
||||||
BluetoothServer *bluetoothServer() const;
|
BluetoothServer *bluetoothServer() const;
|
||||||
|
|
||||||
|
static QStringList getAvailableLanguages();
|
||||||
|
|
||||||
#ifdef TESTING_ENABLED
|
#ifdef TESTING_ENABLED
|
||||||
MockTcpServer *tcpServer() const;
|
MockTcpServer *tcpServer() const;
|
||||||
|
|||||||
@ -33,6 +33,12 @@ ConfigurationHandler::ConfigurationHandler(QObject *parent):
|
|||||||
returns.insert("timeZones", QVariantList() << JsonTypes::basicTypeToString(JsonTypes::String));
|
returns.insert("timeZones", QVariantList() << JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
setReturns("GetTimeZones", returns);
|
setReturns("GetTimeZones", returns);
|
||||||
|
|
||||||
|
params.clear(); returns.clear();
|
||||||
|
setDescription("GetAvailableLanguages", "Returns a list of locale codes available for the server. i.e. en_US, de_AT");
|
||||||
|
setParams("GetAvailableLanguages", params);
|
||||||
|
returns.insert("languages", QVariantList() << JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
|
setReturns("GetAvailableLanguages", returns);
|
||||||
|
|
||||||
params.clear(); returns.clear();
|
params.clear(); returns.clear();
|
||||||
setDescription("GetConfigurations", "Get all configuration parameters of the server.");
|
setDescription("GetConfigurations", "Get all configuration parameters of the server.");
|
||||||
setParams("GetConfigurations", params);
|
setParams("GetConfigurations", params);
|
||||||
@ -41,6 +47,7 @@ ConfigurationHandler::ConfigurationHandler(QObject *parent):
|
|||||||
basicConfiguration.insert("serverUuid", JsonTypes::basicTypeToString(JsonTypes::Uuid));
|
basicConfiguration.insert("serverUuid", JsonTypes::basicTypeToString(JsonTypes::Uuid));
|
||||||
basicConfiguration.insert("serverTime", JsonTypes::basicTypeToString(JsonTypes::Uint));
|
basicConfiguration.insert("serverTime", JsonTypes::basicTypeToString(JsonTypes::Uint));
|
||||||
basicConfiguration.insert("timeZone", JsonTypes::basicTypeToString(JsonTypes::String));
|
basicConfiguration.insert("timeZone", JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
|
basicConfiguration.insert("language", JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
returns.insert("basicConfiguration", basicConfiguration);
|
returns.insert("basicConfiguration", basicConfiguration);
|
||||||
QVariantMap tcpServerConfiguration;
|
QVariantMap tcpServerConfiguration;
|
||||||
tcpServerConfiguration.insert("host", JsonTypes::basicTypeToString(JsonTypes::String));
|
tcpServerConfiguration.insert("host", JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
@ -73,6 +80,13 @@ ConfigurationHandler::ConfigurationHandler(QObject *parent):
|
|||||||
returns.insert("configurationError", JsonTypes::configurationErrorRef());
|
returns.insert("configurationError", JsonTypes::configurationErrorRef());
|
||||||
setReturns("SetTimeZone", returns);
|
setReturns("SetTimeZone", returns);
|
||||||
|
|
||||||
|
params.clear(); returns.clear();
|
||||||
|
setDescription("SetLanguage", "Sets the server language to the given language. See also: \"GetAvailableLanguages\"");
|
||||||
|
params.insert("language", JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
|
setParams("SetLanguage", params);
|
||||||
|
returns.insert("configurationError", JsonTypes::configurationErrorRef());
|
||||||
|
setReturns("SetLanguage", returns);
|
||||||
|
|
||||||
params.clear(); returns.clear();
|
params.clear(); returns.clear();
|
||||||
setDescription("SetTcpServerConfiguration", "Configure the TCP interface of the server. Note: if you are using the TCP server for this call you will loose the connection.");
|
setDescription("SetTcpServerConfiguration", "Configure the TCP interface of the server. Note: if you are using the TCP server for this call you will loose the connection.");
|
||||||
params.insert("host", JsonTypes::basicTypeToString(JsonTypes::String));
|
params.insert("host", JsonTypes::basicTypeToString(JsonTypes::String));
|
||||||
@ -124,8 +138,9 @@ ConfigurationHandler::ConfigurationHandler(QObject *parent):
|
|||||||
params.insert("port", JsonTypes::basicTypeToString(JsonTypes::Uint));
|
params.insert("port", JsonTypes::basicTypeToString(JsonTypes::Uint));
|
||||||
setParams("WebSocketServerConfigurationChanged", params);
|
setParams("WebSocketServerConfigurationChanged", params);
|
||||||
|
|
||||||
connect(GuhCore::instance()->configuration(), &GuhConfiguration::timeZoneChanged, this, &ConfigurationHandler::onBasicConfigurationChanged);
|
|
||||||
connect(GuhCore::instance()->configuration(), &GuhConfiguration::serverNameChanged, this, &ConfigurationHandler::onBasicConfigurationChanged);
|
connect(GuhCore::instance()->configuration(), &GuhConfiguration::serverNameChanged, this, &ConfigurationHandler::onBasicConfigurationChanged);
|
||||||
|
connect(GuhCore::instance()->configuration(), &GuhConfiguration::timeZoneChanged, this, &ConfigurationHandler::onBasicConfigurationChanged);
|
||||||
|
connect(GuhCore::instance()->configuration(), &GuhConfiguration::localeChanged, this, &ConfigurationHandler::onBasicConfigurationChanged);
|
||||||
connect(GuhCore::instance()->configuration(), &GuhConfiguration::tcpServerConfigurationChanged, this, &ConfigurationHandler::onTcpServerConfigurationChanged);
|
connect(GuhCore::instance()->configuration(), &GuhConfiguration::tcpServerConfigurationChanged, this, &ConfigurationHandler::onTcpServerConfigurationChanged);
|
||||||
connect(GuhCore::instance()->configuration(), &GuhConfiguration::webServerConfigurationChanged, this, &ConfigurationHandler::onWebServerConfigurationChanged);
|
connect(GuhCore::instance()->configuration(), &GuhConfiguration::webServerConfigurationChanged, this, &ConfigurationHandler::onWebServerConfigurationChanged);
|
||||||
connect(GuhCore::instance()->configuration(), &GuhConfiguration::webSocketServerConfigurationChanged, this, &ConfigurationHandler::onWebSocketServerConfigurationChanged);
|
connect(GuhCore::instance()->configuration(), &GuhConfiguration::webSocketServerConfigurationChanged, this, &ConfigurationHandler::onWebSocketServerConfigurationChanged);
|
||||||
@ -163,6 +178,18 @@ JsonReply *ConfigurationHandler::GetTimeZones(const QVariantMap ¶ms) const
|
|||||||
return createReply(returns);
|
return createReply(returns);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JsonReply *ConfigurationHandler::GetAvailableLanguages(const QVariantMap ¶ms) const
|
||||||
|
{
|
||||||
|
Q_UNUSED(params)
|
||||||
|
QVariantList languages;
|
||||||
|
foreach (const QString &language, GuhCore::getAvailableLanguages()) {
|
||||||
|
languages.append(language);
|
||||||
|
}
|
||||||
|
QVariantMap returns;
|
||||||
|
returns.insert("languages", languages);
|
||||||
|
return createReply(returns);
|
||||||
|
}
|
||||||
|
|
||||||
JsonReply *ConfigurationHandler::SetServerName(const QVariantMap ¶ms) const
|
JsonReply *ConfigurationHandler::SetServerName(const QVariantMap ¶ms) const
|
||||||
{
|
{
|
||||||
QString serverName = params.value("serverName").toString();
|
QString serverName = params.value("serverName").toString();
|
||||||
@ -182,6 +209,16 @@ JsonReply *ConfigurationHandler::SetTimeZone(const QVariantMap ¶ms) const
|
|||||||
return createReply(statusToReply(GuhConfiguration::ConfigurationErrorNoError));
|
return createReply(statusToReply(GuhConfiguration::ConfigurationErrorNoError));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JsonReply *ConfigurationHandler::SetLanguage(const QVariantMap ¶ms) const
|
||||||
|
{
|
||||||
|
qCDebug(dcJsonRpc()) << "Setting language to" << params.value("language").toString();
|
||||||
|
QLocale locale(params.value("language").toString());
|
||||||
|
|
||||||
|
GuhCore::instance()->configuration()->setLocale(locale);
|
||||||
|
|
||||||
|
return createReply(statusToReply(GuhConfiguration::ConfigurationErrorNoError));
|
||||||
|
}
|
||||||
|
|
||||||
JsonReply *ConfigurationHandler::SetTcpServerConfiguration(const QVariantMap ¶ms) const
|
JsonReply *ConfigurationHandler::SetTcpServerConfiguration(const QVariantMap ¶ms) const
|
||||||
{
|
{
|
||||||
QHostAddress host = QHostAddress(params.value("host").toString());
|
QHostAddress host = QHostAddress(params.value("host").toString());
|
||||||
|
|||||||
@ -37,8 +37,10 @@ public:
|
|||||||
|
|
||||||
Q_INVOKABLE JsonReply *GetConfigurations(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *GetConfigurations(const QVariantMap ¶ms) const;
|
||||||
Q_INVOKABLE JsonReply *GetTimeZones(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *GetTimeZones(const QVariantMap ¶ms) const;
|
||||||
|
Q_INVOKABLE JsonReply *GetAvailableLanguages(const QVariantMap ¶ms) const;
|
||||||
Q_INVOKABLE JsonReply *SetServerName(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *SetServerName(const QVariantMap ¶ms) const;
|
||||||
Q_INVOKABLE JsonReply *SetTimeZone(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *SetTimeZone(const QVariantMap ¶ms) const;
|
||||||
|
Q_INVOKABLE JsonReply *SetLanguage(const QVariantMap ¶ms) const;
|
||||||
Q_INVOKABLE JsonReply *SetTcpServerConfiguration(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *SetTcpServerConfiguration(const QVariantMap ¶ms) const;
|
||||||
Q_INVOKABLE JsonReply *SetWebServerConfiguration(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *SetWebServerConfiguration(const QVariantMap ¶ms) const;
|
||||||
Q_INVOKABLE JsonReply *SetWebSocketServerConfiguration(const QVariantMap ¶ms) const;
|
Q_INVOKABLE JsonReply *SetWebSocketServerConfiguration(const QVariantMap ¶ms) const;
|
||||||
|
|||||||
@ -270,8 +270,11 @@ void JsonRPCServer::clientConnected(const QUuid &clientId)
|
|||||||
|
|
||||||
QVariantMap handshake;
|
QVariantMap handshake;
|
||||||
handshake.insert("id", 0);
|
handshake.insert("id", 0);
|
||||||
handshake.insert("server", "guh JSONRPC interface");
|
handshake.insert("server", "guhIO");
|
||||||
|
handshake.insert("name", GuhCore::instance()->configuration()->serverName());
|
||||||
handshake.insert("version", GUH_VERSION_STRING);
|
handshake.insert("version", GUH_VERSION_STRING);
|
||||||
|
handshake.insert("uuid", GuhCore::instance()->configuration()->serverUuid().toString());
|
||||||
|
handshake.insert("language", GuhCore::instance()->configuration()->locale().name());
|
||||||
handshake.insert("protocol version", JSON_PROTOCOL_VERSION);
|
handshake.insert("protocol version", JSON_PROTOCOL_VERSION);
|
||||||
interface->sendData(clientId, handshake);
|
interface->sendData(clientId, handshake);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1003,6 +1003,7 @@ QVariantMap JsonTypes::packBasicConfiguration()
|
|||||||
basicConfiguration.insert("serverUuid", GuhCore::instance()->configuration()->serverUuid());
|
basicConfiguration.insert("serverUuid", GuhCore::instance()->configuration()->serverUuid());
|
||||||
basicConfiguration.insert("serverTime", GuhCore::instance()->timeManager()->currentDateTime().toTime_t());
|
basicConfiguration.insert("serverTime", GuhCore::instance()->timeManager()->currentDateTime().toTime_t());
|
||||||
basicConfiguration.insert("timeZone", QString::fromUtf8(GuhCore::instance()->timeManager()->timeZone()));
|
basicConfiguration.insert("timeZone", QString::fromUtf8(GuhCore::instance()->timeManager()->timeZone()));
|
||||||
|
basicConfiguration.insert("language", GuhCore::instance()->configuration()->locale().name());
|
||||||
return basicConfiguration;
|
return basicConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -145,7 +145,7 @@ int main(int argc, char *argv[])
|
|||||||
QCommandLineOption foregroundOption(QStringList() << "n" << "no-daemon", QCoreApplication::translate("main", "Run guhd in the foreground, not as daemon."));
|
QCommandLineOption foregroundOption(QStringList() << "n" << "no-daemon", QCoreApplication::translate("main", "Run guhd in the foreground, not as daemon."));
|
||||||
parser.addOption(foregroundOption);
|
parser.addOption(foregroundOption);
|
||||||
|
|
||||||
QString debugDescription = QString("Debug categories to enable. Prefix with \"No\" to disable. Warnings from all categories will be printed unless explicitly muted with \"NoWarnings\". \n\nCategories are:");
|
QString debugDescription = QCoreApplication::translate("main", "Debug categories to enable. Prefix with \"No\" to disable. Warnings from all categories will be printed unless explicitly muted with \"NoWarnings\". \n\nCategories are:");
|
||||||
|
|
||||||
// create sorted loggingFiler list
|
// create sorted loggingFiler list
|
||||||
QStringList sortedFilterList = QStringList(s_loggingFilters.keys());
|
QStringList sortedFilterList = QStringList(s_loggingFilters.keys());
|
||||||
|
|||||||
@ -12,6 +12,13 @@ QT += sql xml websockets bluetooth
|
|||||||
|
|
||||||
LIBS += -L$$top_builddir/libguh/ -lguh
|
LIBS += -L$$top_builddir/libguh/ -lguh
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
TRANSLATIONS *= $$top_srcdir/translations/guhd_en_US.ts \
|
||||||
|
$$top_srcdir/translations/guhd_de_DE.ts
|
||||||
|
|
||||||
|
include(../translations.pri)
|
||||||
|
|
||||||
|
# Server files
|
||||||
include(server.pri)
|
include(server.pri)
|
||||||
include(qtservice/qtservice.pri)
|
include(qtservice/qtservice.pri)
|
||||||
|
|
||||||
|
|||||||
17
translations.pri
Normal file
17
translations.pri
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
include(guh.pri)
|
||||||
|
|
||||||
|
# Create translation files
|
||||||
|
lrelease.input = TRANSLATIONS
|
||||||
|
lrelease.output = $$top_srcdir/${QMAKE_FILE_BASE}.qm
|
||||||
|
lrelease.commands = $$[QT_INSTALL_BINS]/lupdate ${QMAKE_FILE_IN} -ts $$TRANSLATIONS; $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.qm
|
||||||
|
lrelease.CONFIG += no_link
|
||||||
|
|
||||||
|
QMAKE_EXTRA_COMPILERS += lrelease
|
||||||
|
PRE_TARGETDEPS += compiler_lrelease_make_all
|
||||||
|
|
||||||
|
message("Translations:" $$TRANSLATIONS )
|
||||||
|
|
||||||
|
translations.path = /usr/share/guh/translations
|
||||||
|
translations.files = $$[QT_SOURCE_TREE]/translations/*.qm
|
||||||
|
|
||||||
|
INSTALLS += translations
|
||||||
20
translations/guhd_de_DE.ts
Normal file
20
translations/guhd_de_DE.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="de_DE">
|
||||||
|
<context>
|
||||||
|
<name>main</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../server/main.cpp" line="145"/>
|
||||||
|
<source>Run guhd in the foreground, not as daemon.</source>
|
||||||
|
<translation>Starte guhd im Vordergrund, nicht als service.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../server/main.cpp" line="148"/>
|
||||||
|
<source>Debug categories to enable. Prefix with "No" to disable. Warnings from all categories will be printed unless explicitly muted with "NoWarnings".
|
||||||
|
|
||||||
|
Categories are:</source>
|
||||||
|
<translation>Zu aktivierende Debug-Kategorien. Kategorien mit dem Präfix "No" werden deaktiviert. Warnungen werden von allen Kategorien ausgegeben außer sie wurden explizit mit dem Prefix "NoWarnings" deaktiviert.
|
||||||
|
Kategorien sind:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
||||||
19
translations/guhd_en_US.ts
Normal file
19
translations/guhd_en_US.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="en_US">
|
||||||
|
<context>
|
||||||
|
<name>main</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../server/main.cpp" line="145"/>
|
||||||
|
<source>Run guhd in the foreground, not as daemon.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../server/main.cpp" line="148"/>
|
||||||
|
<source>Debug categories to enable. Prefix with "No" to disable. Warnings from all categories will be printed unless explicitly muted with "NoWarnings".
|
||||||
|
|
||||||
|
Categories are:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
||||||
Reference in New Issue
Block a user