Adding ability to switch language files at runtime to resolve #2743

* Removing .qm files from Windows build as they are inbuilt as of a7adfe251
* Moving translation change code to the OpenRGBSettingsPage
* Adding a changeEvent() to applicable Widgets to facilitate language updates
* Workaround added to TabLabel to accomodate translation context origin
* Added zh_TW locale to OpenRGB.pro
* Updated all translations to include the latest untranslated strings
This commit is contained in:
Chris
2022-11-27 00:10:59 +11:00
committed by Adam Honse
parent 530d667328
commit 2e02f1d782
86 changed files with 6249 additions and 5299 deletions

View File

@@ -547,10 +547,6 @@ before_script:
- Pop-Location
- _fold_final_
- _fold_start_ 'Generate qm files'
- .\_qt\5.15.0\msvc2019\bin\lrelease OpenRGB.pro
- _fold_final_
- _fold_start_ 'run qmake and generate the msvc nmake makefile'
- mkdir _build; cd _build
- ..\_qt\5.15.0\msvc2019\bin\qmake ..\OpenRGB.pro
@@ -627,10 +623,6 @@ before_script:
- Pop-Location
- _fold_final_
- _fold_start_ 'Generate qm files'
- .\_qt\5.15.0\msvc2019_64\bin\lrelease OpenRGB.pro
- _fold_final_
- _fold_start_ 'run qmake and generate the msvc nmake makefile'
- mkdir _build; cd _build
- ..\_qt\5.15.0\msvc2019_64\bin\qmake ..\OpenRGB.pro

View File

@@ -1263,15 +1263,16 @@ RESOURCES +=
qt/resources.qrc \
TRANSLATIONS += \
qt/i18n/OpenRGB_de.ts \
qt/i18n/OpenRGB_en.ts \
qt/i18n/OpenRGB_en_AU.ts \
qt/i18n/OpenRGB_en_GB.ts \
qt/i18n/OpenRGB_de.ts \
qt/i18n/OpenRGB_es.ts \
qt/i18n/OpenRGB_fr.ts \
qt/i18n/OpenRGB_ru.ts \
qt/i18n/OpenRGB_zh.ts \
qt/i18n/OpenRGB_pt_BR.ts \
qt/i18n/OpenRGB_zh.ts \
qt/i18n/OpenRGB_zh_TW.ts \
FORMS += \
qt/OpenRGBClientInfoPage.ui \

View File

@@ -18,7 +18,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <thread>
#include <QTranslator>
#ifdef _MACOSX_X86_X64
#include "macUSPCIOAccess.h"
@@ -346,36 +345,6 @@ int main(int argc, char* argv[])
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication a(argc, argv);
/*---------------------------------------------------------*\
| App translation |
| To add a new language: |
| Create a file under qt/i18n/OpenRGB_<locale>.ts |
| Add it to TRANSLATIONS in OpenRGB.pro |
| Edit this file (manually or with |
| linguist qt/i18n/OpenRGB_en.ts qt/i18n/OpenRGB_XX.ts |
\*---------------------------------------------------------*/
QTranslator translator;
QLocale locale = QLocale(QLocale::system());
QLocale::setDefault(locale);
// For local tests without changing the PC locale, override this value.
//locale = QLocale(QLocale::French, QLocale::France);
a.removeTranslator(&translator);
QString path = ":/i18n/";
if(translator.load(path + QString("OpenRGB_%1.qm").arg(locale.name())))
{
a.installTranslator(&translator);
printf("Current Language changed to %s\n", locale.name().toStdString().c_str());
}
else
{
printf("Failed to load translation file for default locale '%s'\n", locale.name().toStdString().c_str());
}
/*---------------------------------------------------------*\
| Main UI widget |
\*---------------------------------------------------------*/

View File

@@ -50,6 +50,14 @@ OpenRGBClientInfoPage::~OpenRGBClientInfoPage()
}
void OpenRGBClientInfoPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBClientInfoPage::AddClient(NetworkClient* new_client)
{
/*-----------------------------------------------------*\
@@ -82,7 +90,6 @@ void OpenRGBClientInfoPage::UpdateInfo()
ui->ClientTree->setColumnWidth(1, 100);
ui->ClientTree->setColumnWidth(2, 100);
ui->ClientTree->setColumnWidth(3, 100);
ui->ClientTree->setHeaderLabels(QStringList() << tr("Connected Clients") << tr("Protocol Version") << tr("Save Connection") << "");
/*-----------------------------------------------------*\
| Set up a signal mapper to handle disconnect buttons |

View File

@@ -24,6 +24,7 @@ public slots:
void UpdateInfo();
private slots:
void changeEvent(QEvent *event);
void on_ClientConnectButton_clicked();
void onClientDisconnectButton_clicked(QObject * arg);
void onClientSaveCheckBox_clicked(QObject * arg);

View File

@@ -64,8 +64,28 @@
<item row="1" column="3" colspan="6">
<widget class="QTreeWidget" name="ClientTree">
<property name="columnCount">
<number>0</number>
<number>4</number>
</property>
<column>
<property name="text">
<string>Connected Clients</string>
</property>
</column>
<column>
<property name="text">
<string>Protocol Version</string>
</property>
</column>
<column>
<property name="text">
<string>Save Connection</string>
</property>
</column>
<column>
<property name="text">
<string/>
</property>
</column>
</widget>
</item>
</layout>

View File

@@ -73,3 +73,11 @@ OpenRGBConsolePage::~OpenRGBConsolePage()
{
delete ui;
}
void OpenRGBConsolePage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -17,6 +17,7 @@ public:
~OpenRGBConsolePage();
private slots:
void changeEvent(QEvent *event);
void on_log_level_currentIndexChanged(int);
void on_clear_clicked();
void on_refresh_clicked();

View File

@@ -25,6 +25,14 @@ OpenRGBDeviceInfoPage::~OpenRGBDeviceInfoPage()
delete ui;
}
void OpenRGBDeviceInfoPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
RGBController* OpenRGBDeviceInfoPage::GetController()
{
return controller;

View File

@@ -22,6 +22,9 @@ public:
private:
RGBController* controller;
Ui::OpenRGBDeviceInfoPageUi* ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBDEVICEINFOPAGE_H

View File

@@ -133,6 +133,14 @@ OpenRGBDevicePage::~OpenRGBDevicePage()
delete ui;
}
void OpenRGBDevicePage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
RGBController* Ui::OpenRGBDevicePage::GetController()
{
return device;

View File

@@ -29,6 +29,7 @@ public:
void HideDeviceView();
private slots:
void changeEvent(QEvent *event);
void UpdateInterface();
void on_ColorWheelBox_colorChanged(const QColor color);

View File

@@ -539,6 +539,27 @@ OpenRGBDialog2::~OpenRGBDialog2()
delete ui;
}
void OpenRGBDialog2::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
for(int i = 0; i < ui->MainTabBar->count(); i++)
{
/*-----------------------------------------------------*\
| if the objectName is either of the SDK tabs |
| then translate tab text (TODO: improve workaround) |
\*-----------------------------------------------------*/
std::string label = ui->MainTabBar->widget(i)->objectName().toStdString();
if(label.substr(0,3) == "SDK")
{
ui->MainTabBar->setTabText(i, tr(label.c_str()));
}
}
}
}
void OpenRGBDialog2::closeEvent(QCloseEvent *event)
{
ResourceManager::get()->WaitForDeviceDetection();
@@ -621,7 +642,7 @@ void OpenRGBDialog2::AddPluginsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* PluginTabLabel = new TabLabel(PluginsLabelString, tr("Plugins"));
TabLabel* PluginTabLabel = new TabLabel(PluginsLabelString, tr("Plugins"), (char *)"Plugins", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, PluginTabLabel);
}
@@ -649,7 +670,7 @@ void OpenRGBDialog2::AddSoftwareInfoPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SoftwareTabLabel = new TabLabel(SoftwareLabelString, tr("Software"));
TabLabel* SoftwareTabLabel = new TabLabel(SoftwareLabelString, tr("Software"), (char *)"Software", (char *)context);
ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SoftwareTabLabel);
}
@@ -677,7 +698,7 @@ void OpenRGBDialog2::AddSupportedDevicesPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SupportedTabLabel = new TabLabel(SettingsLabelString, tr("Supported Devices"));
TabLabel* SupportedTabLabel = new TabLabel(SettingsLabelString, tr("Supported Devices"), (char *)"Supported Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SupportedTabLabel);
}
@@ -706,7 +727,7 @@ void OpenRGBDialog2::AddSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("General Settings"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("General Settings"), (char *)"General Settings", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
@@ -740,7 +761,7 @@ void OpenRGBDialog2::AddE131SettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("E1.31 Devices"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("E1.31 Devices"), (char *)"E1.31 Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -768,7 +789,7 @@ void OpenRGBDialog2::AddLIFXSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, "LIFX Devices");
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("LIFX Devices"), (char *)"LIFX Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -796,7 +817,7 @@ void OpenRGBDialog2::AddPhilipsHueSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Philips Hue Devices"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Philips Hue Devices"), (char *)"Philips Hue Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -824,7 +845,7 @@ void OpenRGBDialog2::AddPhilipsWizSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Philips Wiz Devices"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Philips Wiz Devices"), (char *)"Philips Wiz Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -852,7 +873,7 @@ void OpenRGBDialog2::AddQMKORGBSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("OpenRGB QMK Protocol"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("OpenRGB QMK Protocol"), (char *)"OpenRGB QMK Protocol", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -880,7 +901,7 @@ void OpenRGBDialog2::AddSerialSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Serial Devices"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Serial Devices"), (char *)"Serial Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -908,7 +929,7 @@ void OpenRGBDialog2::AddYeelightSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Yeelight Devices"));
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Yeelight Devices"), (char *)"Yeelight Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -936,7 +957,7 @@ void OpenRGBDialog2::AddNanoleafSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, "Nanoleaf Devices");
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Nanoleaf Devices"), (char *)"Nanoleaf Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -964,7 +985,7 @@ void OpenRGBDialog2::AddElgatoKeyLightSettingsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, "Elgato KeyLight Devices");
TabLabel* SettingsTabLabel = new TabLabel(SettingsLabelString, tr("Elgato KeyLight Devices"), (char *)"Elgato KeyLight Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
@@ -994,7 +1015,7 @@ void OpenRGBDialog2::AddPlugin(OpenRGBPluginEntry* plugin)
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
PluginTabLabel = (QLabel*)new TabLabel(PluginLabelString, QString::fromStdString(plugin->info.Label));
PluginTabLabel = (QLabel*)new TabLabel(PluginLabelString, QString::fromStdString(plugin->info.Label), (char *)plugin->info.Label.c_str(), (char *)context);
/*-----------------------------------------------------*\
| Place plugin as its own top level tab |
@@ -1178,7 +1199,7 @@ void OpenRGBDialog2::AddI2CToolsPage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SMBusToolsTabLabel = new TabLabel(SMBusToolsLabelString, tr("SMBus Tools"));
TabLabel* SMBusToolsTabLabel = new TabLabel(SMBusToolsLabelString, tr("SMBus Tools"), (char *)"SMBus Tools", (char *)context);
ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SMBusToolsTabLabel);
}
@@ -1191,6 +1212,7 @@ void OpenRGBDialog2::AddClientTab()
if(ClientInfoPage == NULL)
{
ClientInfoPage = new OpenRGBClientInfoPage();
ClientInfoPage->setObjectName(QString("SDK Client"));
ui->MainTabBar->insertTab(2, ClientInfoPage, tr("SDK Client"));
}
}
@@ -1212,6 +1234,7 @@ void OpenRGBDialog2::AddServerTab()
| Add server information tab if there is a server |
\*-----------------------------------------------------*/
OpenRGBServerInfoPage *ServerInfoPage = new OpenRGBServerInfoPage(ResourceManager::get()->GetServer());
ServerInfoPage->setObjectName(QString("SDK Server"));
ui->MainTabBar->insertTab(2, ServerInfoPage, tr("SDK Server"));
}
@@ -1297,7 +1320,7 @@ void OpenRGBDialog2::UpdateDevicesList()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* NewTabLabel = new TabLabel(GetIconString(controllers[controller_idx]->type, OpenRGBThemeManager::IsDarkTheme()), QString::fromStdString(controllers[controller_idx]->name));
TabLabel* NewTabLabel = new TabLabel(GetIconString(controllers[controller_idx]->type, OpenRGBThemeManager::IsDarkTheme()), QString::fromStdString(controllers[controller_idx]->name), (char *)controllers[controller_idx]->name.c_str(), (char *)context);
ui->DevicesTabBar->tabBar()->setTabButton(ui->DevicesTabBar->count() - 1, QTabBar::LeftSide, NewTabLabel);
ui->DevicesTabBar->tabBar()->setTabToolTip(ui->DevicesTabBar->count() - 1, QString::fromStdString(controllers[controller_idx]->name));
@@ -1348,7 +1371,7 @@ void OpenRGBDialog2::UpdateDevicesList()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* NewTabLabel = new TabLabel(GetIconString(controllers[controller_idx]->type, OpenRGBThemeManager::IsDarkTheme()), QString::fromStdString(controllers[controller_idx]->name));
TabLabel* NewTabLabel = new TabLabel(GetIconString(controllers[controller_idx]->type, OpenRGBThemeManager::IsDarkTheme()), QString::fromStdString(controllers[controller_idx]->name), (char *)controllers[controller_idx]->name.c_str(), (char *)context);
ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->count() - 1, QTabBar::LeftSide, NewTabLabel);
ui->InformationTabBar->tabBar()->setTabToolTip(ui->InformationTabBar->count() - 1, QString::fromStdString(controllers[controller_idx]->name));
@@ -1978,7 +2001,7 @@ void Ui::OpenRGBDialog2::AddConsolePage()
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* ConsoleTabLabel = new TabLabel(ConsoleLabelString, tr("Log Console"));
TabLabel* ConsoleTabLabel = new TabLabel(ConsoleLabelString, tr("Log Console"), (char *)"Log Console", (char *)context);
ui->InformationTabBar->tabBar()->setTabButton(ui->InformationTabBar->tabBar()->count() - 1, QTabBar::LeftSide, ConsoleTabLabel);
}

View File

@@ -67,9 +67,12 @@ signals:
void ProfileListChanged();
public slots:
void changeEvent(QEvent *event);
void SetTrayIcon(bool tray_icon);
private:
const char* context = "Ui::OpenRGBDialog2";
/*-------------------------------------*\
| Page pointers |
\*-------------------------------------*/

View File

@@ -37,6 +37,14 @@ OpenRGBE131SettingsEntry::~OpenRGBE131SettingsEntry()
delete ui;
}
void OpenRGBE131SettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBE131SettingsEntry::HideMatrixSettings()
{
ui->MatrixWidthLabel->setDisabled(true);

View File

@@ -22,6 +22,7 @@ private:
void ShowMatrixSettings();
private slots:
void changeEvent(QEvent *event);
void on_TypeComboBox_currentIndexChanged(int index);
};

View File

@@ -196,6 +196,14 @@ OpenRGBE131SettingsPage::~OpenRGBE131SettingsPage()
delete ui;
}
void OpenRGBE131SettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBE131SettingsPage::on_AddE131DeviceButton_clicked()
{
OpenRGBE131SettingsEntry* entry = new OpenRGBE131SettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBE131SettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddE131DeviceButton_clicked();
void on_RemoveE131DeviceButton_clicked();

View File

@@ -14,3 +14,11 @@ OpenRGBElgatoKeyLightSettingsEntry::~OpenRGBElgatoKeyLightSettingsEntry()
{
delete ui;
}
void OpenRGBElgatoKeyLightSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -16,6 +16,9 @@ public:
explicit OpenRGBElgatoKeyLightSettingsEntry(QWidget *parent = nullptr);
~OpenRGBElgatoKeyLightSettingsEntry();
Ui::OpenRGBElgatoKeyLightSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBELGATOKEYLIGHTSETTINGSENTRY_H

View File

@@ -46,6 +46,14 @@ OpenRGBElgatoKeyLightSettingsPage::~OpenRGBElgatoKeyLightSettingsPage()
delete ui;
}
void OpenRGBElgatoKeyLightSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBElgatoKeyLightSettingsPage::on_AddElgatoKeyLightDeviceButton_clicked()
{
OpenRGBElgatoKeyLightSettingsEntry* entry = new OpenRGBElgatoKeyLightSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBElgatoKeyLightSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddElgatoKeyLightDeviceButton_clicked();
void on_RemoveElgatoKeyLightDeviceButton_clicked();

View File

@@ -14,3 +14,11 @@ OpenRGBLIFXSettingsEntry::~OpenRGBLIFXSettingsEntry()
{
delete ui;
}
void OpenRGBLIFXSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -16,6 +16,9 @@ public:
explicit OpenRGBLIFXSettingsEntry(QWidget *parent = nullptr);
~OpenRGBLIFXSettingsEntry();
Ui::OpenRGBLIFXSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBLIFXSETTINGSENTRY_H

View File

@@ -54,6 +54,14 @@ OpenRGBLIFXSettingsPage::~OpenRGBLIFXSettingsPage()
delete ui;
}
void OpenRGBLIFXSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBLIFXSettingsPage::on_AddLIFXDeviceButton_clicked()
{
OpenRGBLIFXSettingsEntry* entry = new OpenRGBLIFXSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBLIFXSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddLIFXDeviceButton_clicked();
void on_RemoveLIFXDeviceButton_clicked();

View File

@@ -47,6 +47,14 @@ OpenRGBNanoleafSettingsEntry::~OpenRGBNanoleafSettingsEntry()
delete ui;
}
void OpenRGBNanoleafSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBNanoleafSettingsEntry::on_PairButton_clicked()
{
try

View File

@@ -21,6 +21,7 @@ public:
Ui::OpenRGBNanoleafSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
void on_UnpairButton_clicked();
void on_PairButton_clicked();

View File

@@ -44,6 +44,14 @@ OpenRGBNanoleafSettingsPage::~OpenRGBNanoleafSettingsPage()
delete ui;
}
void OpenRGBNanoleafSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBNanoleafSettingsPage::on_ScanForNanoleafDevicesButton_clicked()
{
/*-----------------------------------------------------*\

View File

@@ -20,6 +20,7 @@ public:
~OpenRGBNanoleafSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_ScanForNanoleafDevicesButton_clicked();
void on_DeviceFound(QString address, int port);

View File

@@ -15,6 +15,14 @@ OpenRGBPhilipsHueSettingsEntry::~OpenRGBPhilipsHueSettingsEntry()
delete ui;
}
void OpenRGBPhilipsHueSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBPhilipsHueSettingsEntry::on_UnpairButton_clicked()
{
ui->UsernameValue->setText("");

View File

@@ -17,6 +17,7 @@ public:
~OpenRGBPhilipsHueSettingsEntry();
Ui::OpenRGBPhilipsHueSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
void on_UnpairButton_clicked();
};

View File

@@ -74,6 +74,14 @@ OpenRGBPhilipsHueSettingsPage::~OpenRGBPhilipsHueSettingsPage()
delete ui;
}
void OpenRGBPhilipsHueSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBPhilipsHueSettingsPage::on_AddPhilipsHueDeviceButton_clicked()
{
OpenRGBPhilipsHueSettingsEntry* entry = new OpenRGBPhilipsHueSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBPhilipsHueSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddPhilipsHueDeviceButton_clicked();
void on_RemovePhilipsHueDeviceButton_clicked();

View File

@@ -14,3 +14,11 @@ OpenRGBPhilipsWizSettingsEntry::~OpenRGBPhilipsWizSettingsEntry()
{
delete ui;
}
void OpenRGBPhilipsWizSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -16,6 +16,9 @@ public:
explicit OpenRGBPhilipsWizSettingsEntry(QWidget *parent = nullptr);
~OpenRGBPhilipsWizSettingsEntry();
Ui::OpenRGBPhilipsWizSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBPHILIPSWIZSETTINGSENTRY_H

View File

@@ -49,6 +49,14 @@ OpenRGBPhilipsWizSettingsPage::~OpenRGBPhilipsWizSettingsPage()
delete ui;
}
void OpenRGBPhilipsWizSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBPhilipsWizSettingsPage::on_AddPhilipsWizDeviceButton_clicked()
{
OpenRGBPhilipsWizSettingsEntry* entry = new OpenRGBPhilipsWizSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBPhilipsWizSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddPhilipsWizDeviceButton_clicked();
void on_RemovePhilipsWizDeviceButton_clicked();

View File

@@ -20,6 +20,14 @@ Ui::OpenRGBPluginContainer::~OpenRGBPluginContainer()
delete ui;
}
void Ui::OpenRGBPluginContainer::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBPluginContainer::Hide()
{
plugin_widget->hide();
@@ -30,4 +38,4 @@ void Ui::OpenRGBPluginContainer::Show()
{
plugin_widget->show();
ui->PluginContainerLayout->layout()->invalidate();
}
}

View File

@@ -24,6 +24,9 @@ public:
private:
Ui::OpenRGBPluginContainerUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBPLUGINCONTAINER_H

View File

@@ -18,6 +18,14 @@ OpenRGBPluginsEntry::~OpenRGBPluginsEntry()
delete ui;
}
void OpenRGBPluginsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBPluginsEntry::RegisterEnableClickCallback(EnableClickCallback new_callback, void * new_callback_arg)
{
EnableClickCallbackVal = new_callback;

View File

@@ -23,6 +23,7 @@ public:
void RegisterEnableClickCallback(EnableClickCallback new_callback, void * new_callback_arg);
private slots:
void changeEvent(QEvent *event);
void on_EnabledCheckBox_stateChanged(int checked);
private:

View File

@@ -30,6 +30,14 @@ Ui::OpenRGBPluginsPage::~OpenRGBPluginsPage()
delete ui;
}
void Ui::OpenRGBPluginsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBPluginsPage::RefreshList()
{
ui->PluginsList->clear();

View File

@@ -22,12 +22,13 @@ public:
void on_EnableButton_clicked(OpenRGBPluginsEntry* entry);
private slots:
void changeEvent(QEvent *event);
void on_InstallPluginButton_clicked();
void on_RemovePluginButton_clicked();
void on_PluginsList_itemSelectionChanged();
void on_PluginsList_PluginsDropped(std::vector<std::string>);
private:

View File

@@ -19,6 +19,14 @@ Ui::OpenRGBProfileSaveDialog::~OpenRGBProfileSaveDialog()
delete ui;
}
void Ui::OpenRGBProfileSaveDialog::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
std::string Ui::OpenRGBProfileSaveDialog::show()
{
std::string return_string;

View File

@@ -22,6 +22,9 @@ public:
private:
Ui::OpenRGBProfileSaveDialogUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBPROFILESAVEDIALOG_H

View File

@@ -14,3 +14,11 @@ OpenRGBQMKORGBSettingsEntry::~OpenRGBQMKORGBSettingsEntry()
{
delete ui;
}
void OpenRGBQMKORGBSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -12,6 +12,9 @@ class Ui::OpenRGBQMKORGBSettingsEntry : public QWidget
{
Q_OBJECT
private slots:
void changeEvent(QEvent *event);
public:
explicit OpenRGBQMKORGBSettingsEntry(QWidget *parent = nullptr);
~OpenRGBQMKORGBSettingsEntry();

View File

@@ -59,6 +59,14 @@ OpenRGBQMKORGBSettingsPage::~OpenRGBQMKORGBSettingsPage()
delete ui;
}
void OpenRGBQMKORGBSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBQMKORGBSettingsPage::on_AddQMKORGBDeviceButton_clicked()
{
OpenRGBQMKORGBSettingsEntry* entry = new OpenRGBQMKORGBSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBQMKORGBSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddQMKORGBDeviceButton_clicked();
void on_RemoveQMKORGBDeviceButton_clicked();

View File

@@ -18,3 +18,11 @@ OpenRGBSerialSettingsEntry::~OpenRGBSerialSettingsEntry()
{
delete ui;
}
void OpenRGBSerialSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -12,6 +12,9 @@ class Ui::OpenRGBSerialSettingsEntry : public QWidget
{
Q_OBJECT
private slots:
void changeEvent(QEvent *event);
public:
explicit OpenRGBSerialSettingsEntry(QWidget *parent = nullptr);
~OpenRGBSerialSettingsEntry();

View File

@@ -82,6 +82,14 @@ OpenRGBSerialSettingsPage::~OpenRGBSerialSettingsPage()
delete ui;
}
void OpenRGBSerialSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBSerialSettingsPage::on_AddSerialDeviceButton_clicked()
{
OpenRGBSerialSettingsEntry* entry = new OpenRGBSerialSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBSerialSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddSerialDeviceButton_clicked();
void on_RemoveSerialDeviceButton_clicked();

View File

@@ -28,6 +28,14 @@ OpenRGBServerInfoPage::~OpenRGBServerInfoPage()
delete ui;
}
void OpenRGBServerInfoPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBServerInfoPage::UpdateInfo()
{
ui->ServerHostValue->setText(network_server->GetHost().c_str());
@@ -59,8 +67,6 @@ void OpenRGBServerInfoPage::UpdateInfo()
}
ui->ServerClientTree->clear();
ui->ServerClientTree->setColumnCount(3);
ui->ServerClientTree->setHeaderLabels(QStringList() << tr("Client IP") << tr("Protocol Version") << tr("Client Name"));
for(unsigned int client_idx = 0; client_idx < network_server->GetNumClients(); client_idx++)
{
QTreeWidgetItem * new_item = new QTreeWidgetItem();

View File

@@ -22,6 +22,7 @@ public slots:
void UpdateInfo();
private slots:
void changeEvent(QEvent *event);
void on_ServerStartButton_clicked();
void on_ServerStopButton_clicked();

View File

@@ -38,8 +38,23 @@
<item row="5" column="0" colspan="4">
<widget class="QTreeWidget" name="ServerClientTree">
<property name="columnCount">
<number>0</number>
<number>3</number>
</property>
<column>
<property name="text">
<string>Client IP</string>
</property>
</column>
<column>
<property name="text">
<string>Protocol Version</string>
</property>
</column>
<column>
<property name="text">
<string>Client Name</string>
</property>
</column>
</widget>
</item>
<item row="2" column="1">

View File

@@ -1,6 +1,7 @@
#include "AutoStart.h"
#include "OpenRGBSettingsPage.h"
#include "ui_OpenRGBSettingsPage.h"
#include "LogManager.h"
#include "ResourceManager.h"
#include <QUrl>
#include <QDesktopServices>
@@ -13,6 +14,43 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) :
{
ui->setupUi(this);
/*---------------------------------------------------------*\
| App translation |
| To add a new language: |
| Add an entry to TRANSLATIONS in OpenRGB.pro |
| Then run lupdate OpenRGB.pro to generate the new file |
| |
| Edit this file with |
| linguist qt/i18n/OpenRGB_en.ts qt/i18n/OpenRGB_XX.ts |
| or manually with any text editor |
\*---------------------------------------------------------*/
/*---------------------------------------------------------*\
| Load available languages |
| Tehcnically the QString is unused but declared |
| here to show up in the translation file. |
\*---------------------------------------------------------*/
QTranslator translator;
QMap<QString, QString> map;
QString language = tr("English - US");
QDirIterator file(":/i18n/", QDirIterator::Subdirectories);
while(file.hasNext())
{
translator.load(file.next());
map.insert(translator.translate("Ui::OpenRGBSettingsPage", "English - US"), file.filePath());
}
ui->ComboBoxLanguage->blockSignals(true);
ui->ComboBoxLanguage->addItem(tr("System Default"), "default");
QMapIterator<QString, QString> i(map);
while(i.hasNext())
{
i.next();
ui->ComboBoxLanguage->addItem(i.key(), i.value());
}
ui->ComboBoxLanguage->blockSignals(false);
/*---------------------------------------------------------*\
| Load theme settings |
\*---------------------------------------------------------*/
@@ -37,6 +75,21 @@ OpenRGBSettingsPage::OpenRGBSettingsPage(QWidget *parent) :
\*---------------------------------------------------------*/
json ui_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("UserInterface");
if(ui_settings.contains("language"))
{
/*-----------------------------------------------------*\
| Get the language preference from settings |
| and check the language combobox for a match |
\*-----------------------------------------------------*/
std::string language = ui_settings["language"].get<std::string>();
int language_index = ui->ComboBoxLanguage->findText(QString::fromStdString(language));
if(language_index > -1)
{
ui->ComboBoxLanguage->setCurrentIndex(language_index);
}
}
if(ui_settings.contains("greyscale_tray_icon"))
{
ui->CheckboxTrayIconGreyscale->setChecked(ui_settings["greyscale_tray_icon"]);
@@ -158,6 +211,14 @@ OpenRGBSettingsPage::~OpenRGBSettingsPage()
delete ui;
}
void OpenRGBSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBSettingsPage::UpdateProfiles()
{
/*---------------------------------------------------------*\
@@ -240,6 +301,44 @@ void OpenRGBSettingsPage::UpdateProfiles()
}
}
void OpenRGBSettingsPage::on_ComboBoxLanguage_currentTextChanged(const QString language)
{
bool loaded = false;
QString file = ui->ComboBoxLanguage->currentData().toString();
QApplication* app = static_cast<QApplication *>(QApplication::instance());
app->removeTranslator(&translator);
if(file == "default")
{
QLocale locale = QLocale(QLocale::system());
QLocale::setDefault(locale);
loaded = translator.load(":/i18n/" + QString("OpenRGB_%1.qm").arg(locale.name()));
}
else
{
loaded = translator.load(file);
}
if(loaded)
{
app->installTranslator(&translator);
LOG_DEBUG("[Settings] Changed Language to %s from the %s file\n", language, file);
json ui_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("UserInterface");
std::string saved = ui_settings["language"].get<std::string>();
if(saved != language.toStdString())
{
ui_settings["language"] = language.toStdString();
ResourceManager::get()->GetSettingsManager()->SetSettings("UserInterface",ui_settings);
SaveSettings();
}
}
}
void OpenRGBSettingsPage::on_ComboBoxTheme_currentTextChanged(const QString theme)
{
if(theme_initialized)

View File

@@ -2,6 +2,9 @@
#define SETTINGSPAGE_H
#include "ui_OpenRGBSettingsPage.h"
#include <QCoreApplication>
#include <QDirIterator>
#include <QTranslator>
#include <QWidget>
#include "ResourceManager.h"
@@ -36,8 +39,11 @@ private:
bool theme_initialized = false;
bool autostart_initialized = false;
QTranslator translator;
private slots:
void changeEvent(QEvent *event);
void on_ComboBoxLanguage_currentTextChanged(const QString);
void on_ComboBoxTheme_currentTextChanged(const QString);
void on_CheckboxMinimizeOnClose_clicked();
void on_CheckboxTrayIconGreyscale_clicked();

View File

@@ -31,18 +31,21 @@
<rect>
<x>0</x>
<y>0</y>
<width>408</width>
<height>556</height>
<width>427</width>
<height>764</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="9" column="0">
<item row="10" column="0">
<widget class="QLabel" name="LogManagerSettingsLabel">
<property name="text">
<string>Log Manager Settings:</string>
</property>
</widget>
</item>
<item row="22" column="1">
<widget class="QLineEdit" name="TextServerHost"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="UserInterfaceSettingsLabel">
<property name="text">
@@ -50,150 +53,52 @@
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="CheckboxSaveGeometry">
<property name="text">
<string>Save Geometry On Close</string>
</property>
</widget>
</item>
<item row="24" column="1">
<widget class="QLineEdit" name="TextCustomArgs"/>
</item>
<item row="25" column="1">
<widget class="QComboBox" name="ComboBoxAutoStartProfile"/>
</item>
<item row="8" column="0">
<widget class="QCheckBox" name="CheckboxRunZoneChecks">
<property name="text">
<string>Run zone checks on rescan</string>
</property>
</widget>
</item>
<item row="26" column="0">
<widget class="QCheckBox" name="CheckboxSetOnExit">
<property name="text">
<string>Set Profile on Exit</string>
</property>
</widget>
</item>
<item row="26" column="1">
<widget class="QComboBox" name="ComboBoxExitProfile"/>
</item>
<item row="19" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartMinimized">
<property name="text">
<string>Start Minimized</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QCheckBox" name="CheckboxAMDSMBusReduceCPU">
<property name="text">
<string>AMD SMBus: Reduce CPU Usage (restart required)</string>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartClient">
<property name="text">
<string>Start Client</string>
</property>
</widget>
</item>
<item row="20" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartServer">
<property name="text">
<string>Start Server</string>
</property>
</widget>
</item>
<item row="21" column="1">
<widget class="QLineEdit" name="TextServerHost"/>
</item>
<item row="21" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartSetServerHost">
<property name="text">
<string>Set Server Host</string>
</property>
</widget>
</item>
<item row="10" column="0">
<item row="11" column="0">
<widget class="QCheckBox" name="CheckboxLogConsole">
<property name="text">
<string>Enable Log Console (restart required)</string>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="AutoStartLabel">
<item row="21" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartServer">
<property name="text">
<string>Start At Login Settings:</string>
<string>Start Server</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="1">
<widget class="QComboBox" name="ComboBoxTheme"/>
</item>
<item row="22" column="1">
<widget class="QLineEdit" name="TextServerPort">
<property name="inputMask">
<string>90000</string>
</property>
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="CheckboxMinimizeOnClose">
<property name="text">
<string>Minimize On Close</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="CheckboxTrayIconGreyscale">
<property name="text">
<string>Greyscale Tray Icon</string>
</property>
</widget>
</item>
<item row="27" column="0">
<widget class="QLabel" name="AutoStartStatusLabel">
<property name="text">
<string>Start at Login Status</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="ThemeLabel">
<property name="text">
<string>Theme (restart required)</string>
</property>
</widget>
</item>
<item row="15" column="0">
<item row="16" column="0">
<widget class="QCheckBox" name="CheckboxAutoStart">
<property name="text">
<string>Start At Login</string>
</property>
</widget>
</item>
<item row="23" column="1">
<widget class="QLineEdit" name="TextClientHost"/>
</item>
<item row="22" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartSetServerPort">
<item row="15" column="0">
<widget class="QLabel" name="AutoStartLabel">
<property name="text">
<string>Set Server Port</string>
<string>Start At Login Settings:</string>
</property>
</widget>
</item>
<item row="28" column="0">
<item row="4" column="0">
<widget class="QLabel" name="ThemeLabel">
<property name="text">
<string>Theme (restart required)</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="DriversSettingsLabel">
<property name="text">
<string>Drivers Settings</string>
</property>
</widget>
</item>
<item row="29" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -209,14 +114,24 @@
</property>
</spacer>
</item>
<item row="11" column="0">
<widget class="QLabel" name="DriversSettingsLabel">
<item row="8" column="0">
<widget class="QCheckBox" name="CheckboxSaveGeometry">
<property name="text">
<string>Drivers Settings</string>
<string>Save Geometry On Close</string>
</property>
</widget>
</item>
<item row="25" column="0">
<item row="24" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartClient">
<property name="text">
<string>Start Client</string>
</property>
</widget>
</item>
<item row="25" column="1">
<widget class="QLineEdit" name="TextCustomArgs"/>
</item>
<item row="26" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartProfile">
<property name="text">
<string>Load Profile</string>
@@ -224,26 +139,121 @@
</widget>
</item>
<item row="6" column="0">
<widget class="QCheckBox" name="CheckboxTrayIconGreyscale">
<property name="text">
<string>Greyscale Tray Icon</string>
</property>
</widget>
</item>
<item row="28" column="0">
<widget class="QLabel" name="AutoStartStatusLabel">
<property name="text">
<string>Start at Login Status</string>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QCheckBox" name="CheckboxAMDSMBusReduceCPU">
<property name="text">
<string>AMD SMBus: Reduce CPU Usage (restart required)</string>
</property>
</widget>
</item>
<item row="20" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartMinimized">
<property name="text">
<string>Start Minimized</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="CheckboxLoadGeometry">
<property name="text">
<string>Load Window Geometry</string>
</property>
</widget>
</item>
<item row="24" column="0">
<item row="26" column="1">
<widget class="QComboBox" name="ComboBoxAutoStartProfile"/>
</item>
<item row="23" column="1">
<widget class="QLineEdit" name="TextServerPort">
<property name="inputMask">
<string>90000</string>
</property>
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string/>
</property>
</widget>
</item>
<item row="24" column="1">
<widget class="QLineEdit" name="TextClientHost"/>
</item>
<item row="27" column="0">
<widget class="QCheckBox" name="CheckboxSetOnExit">
<property name="text">
<string>Set Profile on Exit</string>
</property>
</widget>
</item>
<item row="25" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartCustom">
<property name="text">
<string>Custom Arguments</string>
</property>
</widget>
</item>
<item row="13" column="0">
<item row="5" column="0">
<widget class="QCheckBox" name="CheckboxMinimizeOnClose">
<property name="text">
<string>Minimize On Close</string>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QCheckBox" name="CheckboxSharedSMBusAccess">
<property name="text">
<string>Shared SMBus Access (restart required)</string>
</property>
</widget>
</item>
<item row="27" column="1">
<widget class="QComboBox" name="ComboBoxExitProfile"/>
</item>
<item row="22" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartSetServerHost">
<property name="text">
<string>Set Server Host</string>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QCheckBox" name="CheckboxAutoStartSetServerPort">
<property name="text">
<string>Set Server Port</string>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QCheckBox" name="CheckboxRunZoneChecks">
<property name="text">
<string>Run zone checks on rescan</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="LabelLanguage">
<property name="text">
<string>Language</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="ComboBoxLanguage"/>
</item>
</layout>
</widget>
</widget>

View File

@@ -19,3 +19,11 @@ OpenRGBSoftwareInfoPage::~OpenRGBSoftwareInfoPage()
{
delete ui;
}
void OpenRGBSoftwareInfoPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View File

@@ -18,6 +18,9 @@ public:
private:
Ui::OpenRGBSoftwareInfoPageUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBSOFTWAREINFOPAGE_H

View File

@@ -39,6 +39,14 @@ OpenRGBSupportedDevicesPage::~OpenRGBSupportedDevicesPage()
delete ui;
}
void OpenRGBSupportedDevicesPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBSupportedDevicesPage::on_SaveButton_clicked()
{
detectorTableModel->applySettings();

View File

@@ -21,6 +21,7 @@ public:
QSortFilterProxyModel* detectorSortModel;
private slots:
void changeEvent(QEvent *event);
void on_SaveButton_clicked();
void on_Filter_textChanged(const QString &arg1);

View File

@@ -47,6 +47,14 @@ OpenRGBSystemInfoPage::~OpenRGBSystemInfoPage()
delete ui;
}
void OpenRGBSystemInfoPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBSystemInfoPage::UpdateBusList()
{
/*-----------------------------------------------------*\
@@ -100,7 +108,7 @@ void Ui::OpenRGBSystemInfoPage::on_DumpButton_clicked()
{
current_index = 0;
}
if((int)(busses.size()) > current_index)
{
i2c_smbus_interface* bus = busses[current_index];

View File

@@ -21,6 +21,7 @@ public slots:
void UpdateBusList();
private slots:
void changeEvent(QEvent *event);
void on_DetectButton_clicked();
void on_DumpButton_clicked();

View File

@@ -17,6 +17,14 @@ OpenRGBYeelightSettingsEntry::~OpenRGBYeelightSettingsEntry()
delete ui;
}
void OpenRGBYeelightSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBYeelightSettingsEntry::on_HostIPChooserButton_clicked()
{
char hostname[256];

View File

@@ -18,6 +18,7 @@ public:
Ui::OpenRGBYeelightSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
void on_HostIPChooserButton_clicked();
};

View File

@@ -59,6 +59,14 @@ OpenRGBYeelightSettingsPage::~OpenRGBYeelightSettingsPage()
delete ui;
}
void OpenRGBYeelightSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBYeelightSettingsPage::on_AddYeelightDeviceButton_clicked()
{
OpenRGBYeelightSettingsEntry* entry = new OpenRGBYeelightSettingsEntry;

View File

@@ -19,6 +19,7 @@ public:
~OpenRGBYeelightSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddYeelightDeviceButton_clicked();
void on_RemoveYeelightDeviceButton_clicked();

View File

@@ -20,6 +20,14 @@ OpenRGBZoneResizeDialog::~OpenRGBZoneResizeDialog()
delete ui;
}
void OpenRGBZoneResizeDialog::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBZoneResizeDialog::on_ResizeSlider_valueChanged(int value)
{
ui->ResizeBox->blockSignals(true);

View File

@@ -19,6 +19,7 @@ public:
int show();
private slots:
void changeEvent(QEvent *event);
void on_ResizeSlider_valueChanged(int value);
void on_ResizeBox_valueChanged(int arg1);

View File

@@ -117,6 +117,14 @@ OpenRGBZonesBulkResizer::~OpenRGBZonesBulkResizer()
delete ui;
}
void OpenRGBZonesBulkResizer::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void OpenRGBZonesBulkResizer::CreateZoneWidget(RGBController* controller, unsigned int zone_index)
{
/*---------------------------------------------------------*\

View File

@@ -13,7 +13,7 @@ class Ui::OpenRGBZonesBulkResizer : public QWidget
{
Q_OBJECT
public:
public:
static void RunChecks(QWidget *parent);
explicit OpenRGBZonesBulkResizer(QWidget*, const std::vector<std::tuple<RGBController*, unsigned int>>&);
@@ -32,6 +32,7 @@ signals:
void CloseRequest();
private slots:
void changeEvent(QEvent *event);
void on_save_button_clicked();
void on_ignore_button_clicked();

View File

@@ -1,16 +1,34 @@
#include "TabLabel.h"
#include <QFontMetrics>
Ui::TabLabel::TabLabel(QString icon, QString name) :
Ui::TabLabel::TabLabel(QString icon, QString name, char* original, char* context) :
QWidget(nullptr),
ui(new Ui::TabLabelUi)
{
ui->setupUi(this);
ui->icon->setText("<img src=':/" + icon + "' height='16' width='16' />");
ui->name->setText(name);
label = original;
ctxt = context;
}
Ui::TabLabel::~TabLabel()
{
delete ui;
}
void Ui::TabLabel::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
/*-----------------------------------------------------*\
| Storing the base string in label |
| enables switching between multiple languages |
| The context needs to be stored as the translation |
| file requires the originating context |
\*-----------------------------------------------------*/
QApplication* app = static_cast<QApplication *>(QApplication::instance());
ui->name->setText(app->translate(ctxt, label));
}
}

View File

@@ -13,11 +13,16 @@ class Ui::TabLabel : public QWidget
Q_OBJECT
public:
TabLabel(QString icon, QString name);
TabLabel(QString icon, QString name, char* original, char* context);
~TabLabel();
private:
Ui::TabLabelUi *ui;
char* label;
char* ctxt;
private slots:
void changeEvent(QEvent *event);
};
#endif // TABLABEL_H

View File

@@ -30,6 +30,18 @@
<source>Client info page</source>
<translation>Client-Information</translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished">Verbundene Clients</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Protokollversion</translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished">Verbindung speichern</translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -360,6 +372,112 @@
<translation>E1.31 Einstellungen</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Entfernen</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Speichern</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished">Name</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Entfernen</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Speichern</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished">Port:</translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
@@ -388,7 +506,15 @@
</message>
<message>
<source>Philips Hue settings entry</source>
<translation>Philips Hue Eintrag</translation>
<translation type="vanished">Philips Hue Eintrag</translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -504,6 +630,10 @@
<source>Plugins page</source>
<translation>Plugins</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -630,6 +760,22 @@
<source>Server info page</source>
<translation>Server Information</translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished">Client IP</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Protokollversion</translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished">Client-Name</translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -729,6 +875,18 @@
<source>Settings page</source>
<translation>Einstellungen</translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -942,15 +1100,15 @@
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation>Verbundene Clients</translation>
<translation type="vanished">Verbundene Clients</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Protokollversion</translation>
<translation type="vanished">Protokollversion</translation>
</message>
<message>
<source>Save Connection</source>
<translation>Verbindung speichern</translation>
<translation type="vanished">Verbindung speichern</translation>
</message>
<message>
<source>Disconnect</source>
@@ -1159,6 +1317,18 @@
<source>Log Console</source>
<translation>Log-Konsole</translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1250,15 +1420,15 @@
</message>
<message>
<source>Client IP</source>
<translation>Client IP</translation>
<translation type="vanished">Client IP</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Protokollversion</translation>
<translation type="vanished">Protokollversion</translation>
</message>
<message>
<source>Client Name</source>
<translation>Client-Name</translation>
<translation type="vanished">Client-Name</translation>
</message>
</context>
<context>
@@ -1267,6 +1437,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation>Bei der Aktivierung von &quot;Start bei Anmeldung&quot; ist ein Problem aufgetreten.</translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">Deutsch</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

@@ -30,6 +30,18 @@
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -361,15 +373,117 @@
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Philips Hue settings entry</source>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Entertainment Mode:</source>
<translation type="unfinished"></translation>
@@ -390,6 +504,14 @@
<source>MAC:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsPageUi</name>
@@ -504,6 +626,10 @@
<source>Remove Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -630,6 +756,22 @@
<source>Connected Clients:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -713,6 +855,34 @@
<source>Open Settings Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Drivers Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Greyscale Tray Icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AMD SMBus: Reduce CPU Usage (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Profile on Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -924,18 +1094,6 @@
</context>
<context>
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disconnect</source>
<translation type="unfinished"></translation>
@@ -1082,14 +1240,6 @@
<source>Plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Software</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>General Settings</source>
<translation type="unfinished"></translation>
@@ -1142,6 +1292,26 @@
<source>Log Console</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Software</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1231,18 +1401,6 @@
<source>Offline</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBSettingsPage</name>
@@ -1250,6 +1408,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">English - US</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

@@ -30,6 +30,18 @@
<source>IP:</source>
<translation></translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -361,11 +373,113 @@
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Philips Hue settings entry</source>
<translation></translation>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
<source>IP:</source>
<translation></translation>
@@ -390,6 +504,14 @@
<source>MAC:</source>
<translation></translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsPageUi</name>
@@ -504,6 +626,10 @@
<source>Remove Plugin</source>
<translation></translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -630,6 +756,22 @@
<source>Connected Clients:</source>
<translation></translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -713,6 +855,34 @@
<source>Open Settings Folder</source>
<translation></translation>
</message>
<message>
<source>Drivers Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Greyscale Tray Icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AMD SMBus: Reduce CPU Usage (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Profile on Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -924,18 +1094,6 @@
</context>
<context>
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation></translation>
</message>
<message>
<source>Protocol Version</source>
<translation></translation>
</message>
<message>
<source>Save Connection</source>
<translation></translation>
</message>
<message>
<source>Disconnect</source>
<translation></translation>
@@ -1082,14 +1240,6 @@
<source>Plugins</source>
<translation></translation>
</message>
<message>
<source>Software</source>
<translation></translation>
</message>
<message>
<source>Supported Devices</source>
<translation></translation>
</message>
<message>
<source>General Settings</source>
<translation></translation>
@@ -1142,6 +1292,26 @@
<source>Log Console</source>
<translation></translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Software</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1196,10 +1366,6 @@
<source>Install OpenRGB Plugin</source>
<translation></translation>
</message>
<message>
<source>Plugin files (*.dll; *.dylib; *.so; *.so.*)</source>
<translation></translation>
</message>
<message>
<source>Replace Plugin</source>
<translation></translation>
@@ -1216,6 +1382,10 @@
<source>Are you sure you want to remove this plugin?</source>
<translation></translation>
</message>
<message>
<source>Plugin files (*.dll *.dylib *.so *.so.*)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBServerInfoPage</name>
@@ -1231,18 +1401,6 @@
<source>Offline</source>
<translation></translation>
</message>
<message>
<source>Client IP</source>
<translation></translation>
</message>
<message>
<source>Protocol Version</source>
<translation></translation>
</message>
<message>
<source>Client Name</source>
<translation></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBSettingsPage</name>
@@ -1250,6 +1408,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation></translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">English - AU</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

@@ -30,6 +30,18 @@
<source>IP:</source>
<translation></translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -361,11 +373,113 @@
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Philips Hue settings entry</source>
<translation></translation>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
<source>IP:</source>
<translation></translation>
@@ -390,6 +504,14 @@
<source>MAC:</source>
<translation></translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsPageUi</name>
@@ -504,6 +626,10 @@
<source>Remove Plugin</source>
<translation></translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -630,6 +756,22 @@
<source>Connected Clients:</source>
<translation></translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -713,6 +855,34 @@
<source>Open Settings Folder</source>
<translation></translation>
</message>
<message>
<source>Drivers Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Greyscale Tray Icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AMD SMBus: Reduce CPU Usage (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Profile on Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -924,18 +1094,6 @@
</context>
<context>
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation></translation>
</message>
<message>
<source>Protocol Version</source>
<translation></translation>
</message>
<message>
<source>Save Connection</source>
<translation></translation>
</message>
<message>
<source>Disconnect</source>
<translation></translation>
@@ -1082,14 +1240,6 @@
<source>Plugins</source>
<translation></translation>
</message>
<message>
<source>Software</source>
<translation></translation>
</message>
<message>
<source>Supported Devices</source>
<translation></translation>
</message>
<message>
<source>General Settings</source>
<translation></translation>
@@ -1142,6 +1292,26 @@
<source>Log Console</source>
<translation></translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Software</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1196,10 +1366,6 @@
<source>Install OpenRGB Plugin</source>
<translation></translation>
</message>
<message>
<source>Plugin files (*.dll; *.dylib; *.so; *.so.*)</source>
<translation></translation>
</message>
<message>
<source>Replace Plugin</source>
<translation></translation>
@@ -1216,6 +1382,10 @@
<source>Are you sure you want to remove this plugin?</source>
<translation></translation>
</message>
<message>
<source>Plugin files (*.dll *.dylib *.so *.so.*)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBServerInfoPage</name>
@@ -1231,18 +1401,6 @@
<source>Offline</source>
<translation></translation>
</message>
<message>
<source>Client IP</source>
<translation></translation>
</message>
<message>
<source>Protocol Version</source>
<translation></translation>
</message>
<message>
<source>Client Name</source>
<translation></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBSettingsPage</name>
@@ -1250,6 +1408,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation></translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">English - UK</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

@@ -30,6 +30,18 @@
<source>IP:</source>
<translation>IP:</translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished">Clientes conectados</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Versión del protocolo</translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished">Guardar conexión</translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -361,11 +373,117 @@
<translation>Guardar</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Añadir</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Suprimir</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Guardar</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished">Nombre</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Añadir</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Suprimir</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Guardar</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
<source>Philips Hue settings entry</source>
<translation>Entrada de configuración de Philips Hue</translation>
<translation type="vanished">Entrada de configuración de Philips Hue</translation>
</message>
<message>
<source>IP:</source>
@@ -391,6 +509,14 @@
<source>MAC:</source>
<translation>MAC:</translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsPageUi</name>
@@ -506,6 +632,10 @@
<source>Remove Plugin</source>
<translation>Suprimir plugin</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -632,6 +762,22 @@
<source>Connected Clients:</source>
<translation>Clientes conectados:</translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished">IP del cliente</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Versión del protocolo</translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished">Nombre del cliente</translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -715,6 +861,34 @@
<source>Open Settings Folder</source>
<translation>Abrir carpeta de configuración</translation>
</message>
<message>
<source>Drivers Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Greyscale Tray Icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AMD SMBus: Reduce CPU Usage (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Profile on Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -928,15 +1102,15 @@
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation>Clientes conectados</translation>
<translation type="vanished">Clientes conectados</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Versión del protocolo</translation>
<translation type="vanished">Versión del protocolo</translation>
</message>
<message>
<source>Save Connection</source>
<translation>Guardar conexión</translation>
<translation type="vanished">Guardar conexión</translation>
</message>
<message>
<source>Disconnect</source>
@@ -1144,6 +1318,18 @@
<source>Log Console</source>
<translation>Consola de registro</translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1235,15 +1421,15 @@
</message>
<message>
<source>Client IP</source>
<translation>IP del cliente</translation>
<translation type="vanished">IP del cliente</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Versión del protocolo</translation>
<translation type="vanished">Versión del protocolo</translation>
</message>
<message>
<source>Client Name</source>
<translation>Nombre del cliente</translation>
<translation type="vanished">Nombre del cliente</translation>
</message>
</context>
<context>
@@ -1252,6 +1438,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation>Ha ocurrido un problema al activar el inicio de OpenRGB al iniciar sesión.</translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">Español</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

@@ -30,6 +30,18 @@
<source>Client info page</source>
<translation>Page info client</translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished">Clients connectés</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Version du protocole</translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished">Sauvegarder la connexion</translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -360,6 +372,112 @@
<translation>Paramètres E1.31</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Ajouter</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Supprimer</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Sauvegarder</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished">Nom</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Ajouter</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Supprimer</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Sauvegarder</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished">Port :</translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
@@ -388,7 +506,15 @@
</message>
<message>
<source>Philips Hue settings entry</source>
<translation>Paramètres de l&apos;entrée Philips Hue</translation>
<translation type="vanished">Paramètres de l&apos;entrée Philips Hue</translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -504,6 +630,10 @@
<source>Plugins page</source>
<translation></translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -630,6 +760,22 @@
<source>Server info page</source>
<translation></translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished">Ip du client</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Version du protocole</translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished">Nom du client</translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -713,6 +859,34 @@
<source>Settings page</source>
<translation>Page des paramètres</translation>
</message>
<message>
<source>Drivers Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Greyscale Tray Icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AMD SMBus: Reduce CPU Usage (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Profile on Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -926,15 +1100,15 @@
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation>Clients connectés</translation>
<translation type="vanished">Clients connectés</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Version du protocole</translation>
<translation type="vanished">Version du protocole</translation>
</message>
<message>
<source>Save Connection</source>
<translation>Sauvegarder la connexion</translation>
<translation type="vanished">Sauvegarder la connexion</translation>
</message>
<message>
<source>Disconnect</source>
@@ -1142,6 +1316,18 @@
<source>Log Console</source>
<translation>Journaux</translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1233,15 +1419,15 @@
</message>
<message>
<source>Client IP</source>
<translation>Ip du client</translation>
<translation type="vanished">Ip du client</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Version du protocole</translation>
<translation type="vanished">Version du protocole</translation>
</message>
<message>
<source>Client Name</source>
<translation>Nom du client</translation>
<translation type="vanished">Nom du client</translation>
</message>
</context>
<context>
@@ -1250,6 +1436,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation>Un problème est survenu à l&apos;activation du démarrage à la connexion.</translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">Français</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

@@ -30,6 +30,18 @@
<source>Client info page</source>
<translation>Informação do client</translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished">Client&apos;s conectados</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Versão do protocolo</translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished">Salvar conexão</translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -360,6 +372,112 @@
<translation>Ajustes E1.31</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Adicionar</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Remover</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Salvar</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished">Nome</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Adicionar</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Remover</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Salvar</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished">Porta:</translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
@@ -388,7 +506,15 @@
</message>
<message>
<source>Philips Hue settings entry</source>
<translation>Ajustes de entrada Philips Hue</translation>
<translation type="vanished">Ajustes de entrada Philips Hue</translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -504,6 +630,10 @@
<source>Plugins page</source>
<translation>Plugins</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -624,12 +754,28 @@
</message>
<message>
<source>Connected Clients:</source>
<translation>Client's conectados:</translation>
<translation>Client&apos;s conectados:</translation>
</message>
<message>
<source>Server info page</source>
<translation>Informação do servidor</translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished">IP do Client</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Versão do protocolo</translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished">Nome do client</translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -729,6 +875,18 @@
<source>Settings page</source>
<translation>Ajustes</translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -942,15 +1100,15 @@
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation>Client's conectados</translation>
<translation type="vanished">Client&apos;s conectados</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Versão do protocolo</translation>
<translation type="vanished">Versão do protocolo</translation>
</message>
<message>
<source>Save Connection</source>
<translation>Salvar conexão</translation>
<translation type="vanished">Salvar conexão</translation>
</message>
<message>
<source>Disconnect</source>
@@ -1159,6 +1317,18 @@
<source>Log Console</source>
<translation>Console log</translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1250,22 +1420,30 @@
</message>
<message>
<source>Client IP</source>
<translation>IP do Client</translation>
<translation type="vanished">IP do Client</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Versão do protocolo</translation>
<translation type="vanished">Versão do protocolo</translation>
</message>
<message>
<source>Client Name</source>
<translation>Nome do client</translation>
<translation type="vanished">Nome do client</translation>
</message>
</context>
<context>
<name>Ui::OpenRGBSettingsPage</name>
<message>
<source>A problem occurred enabling Start At Login.</source>
<translation>Ocorreu um problema ao ativar "Iniciar no login".</translation>
<translation>Ocorreu um problema ao ativar &quot;Iniciar no login&quot;.</translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">Português</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View File

@@ -30,6 +30,18 @@
<source>Client info page</source>
<translation>Клиент SDK</translation>
</message>
<message>
<source>Connected Clients</source>
<translation type="unfinished">Подключенные клиенты</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Версия протокола</translation>
</message>
<message>
<source>Save Connection</source>
<translation type="unfinished">Сохранить подключение</translation>
</message>
</context>
<context>
<name>OpenRGBConsolePageUi</name>
@@ -365,6 +377,112 @@
<translation>Настройки E131</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Добавить</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Удалить</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Сохранить</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Name</source>
<translation type="unfinished">Название</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation type="unfinished">Добавить</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Удалить</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Сохранить</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsEntryUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished">Порт:</translation>
</message>
<message>
<source>Auth Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unpair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Pair</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scan</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>To pair, hold the on-off button down for 5-7 seconds until the LED starts flashing in a pattern, then click the &quot;Pair&quot; button within 30 seconds.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBPhilipsHueSettingsEntryUi</name>
<message>
@@ -393,7 +511,15 @@
</message>
<message>
<source>Philips Hue settings entry</source>
<translation>Настройки Philips Hue</translation>
<translation type="vanished">Настройки Philips Hue</translation>
</message>
<message>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -510,6 +636,10 @@
<source>Plugins page</source>
<translation>Плагины</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Looking for plugins? See the official list at &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBProfileSaveDialogUi</name>
@@ -636,6 +766,22 @@
<source>Server info page</source>
<translation>Состояние сервера</translation>
</message>
<message>
<source>Server Host:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Client IP</source>
<translation type="unfinished">IP Клиента</translation>
</message>
<message>
<source>Protocol Version</source>
<translation type="unfinished">Версия протокола</translation>
</message>
<message>
<source>Client Name</source>
<translation type="unfinished">Название клиента</translation>
</message>
</context>
<context>
<name>OpenRGBSettingsPageUi</name>
@@ -720,6 +866,34 @@
<source>Settings page</source>
<translation>Настройки</translation>
</message>
<message>
<source>Drivers Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Greyscale Tray Icon</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>AMD SMBus: Reduce CPU Usage (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Profile on Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBSoftwareInfoPageUi</name>
@@ -935,15 +1109,15 @@
<name>Ui::OpenRGBClientInfoPage</name>
<message>
<source>Connected Clients</source>
<translation>Подключенные клиенты</translation>
<translation type="vanished">Подключенные клиенты</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Версия протокола</translation>
<translation type="vanished">Версия протокола</translation>
</message>
<message>
<source>Save Connection</source>
<translation>Сохранить подключение</translation>
<translation type="vanished">Сохранить подключение</translation>
</message>
<message>
<source>Disconnect</source>
@@ -1151,6 +1325,18 @@
<source>Log Console</source>
<translation>Консоль журналирования</translation>
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>
@@ -1243,15 +1429,15 @@
</message>
<message>
<source>Client IP</source>
<translation>IP Клиента</translation>
<translation type="vanished">IP Клиента</translation>
</message>
<message>
<source>Protocol Version</source>
<translation>Версия протокола</translation>
<translation type="vanished">Версия протокола</translation>
</message>
<message>
<source>Client Name</source>
<translation>Название клиента</translation>
<translation type="vanished">Название клиента</translation>
</message>
</context>
<context>
@@ -1260,6 +1446,14 @@
<source>A problem occurred enabling Start At Login.</source>
<translation>Возникла проблема при включении автозапуска</translation>
</message>
<message>
<source>English - US</source>
<translation type="unfinished">Русский</translation>
</message>
<message>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBYeelightSettingsEntry</name>

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff