Added ElgatoLightStrip Support

This commit is contained in:
Dominik B 2024-03-15 22:58:17 +00:00 committed by Adam Honse
parent 3bc169e4f6
commit efdf3d42be
29 changed files with 1604 additions and 126 deletions

View file

@ -0,0 +1,158 @@
/*--------------------------------------------------------*\
| Driver for Elgato Light Strip |
| |
| Monks (imtherealestmonkey@gmail.com), 11/03/2021 |
| Edit by DomePlaysHD 14/03/2024 |
\*--------------------------------------------------------*/
#include "ElgatoLightStripController.h"
#include "json.hpp"
#include <vector>
#include <sstream>
#include "LogManager.h"
using json = nlohmann::json;
using namespace std::chrono_literals;
ElgatoLightStripController::ElgatoLightStripController(std::string ip)
{
/*-----------------------------------------------------------------*\
| Fill in location string with device's IP address |
\*-----------------------------------------------------------------*/
location = "IP: " + ip;
/*-----------------------------------------------------------------*\
| Open a TCP client sending to the device's IP, port 9123 |
\*-----------------------------------------------------------------*/
port.tcp_client(ip.c_str(), "9123");
/*-----------------------------------------------------------*\
| Handle responses received from the Elgato LightStrip device |
\*-----------------------------------------------------------*/
port.tcp_client_connect();
std::string buf = "GET /elgato/accessory-info HTTP/1.1\r\nContent-Type: application/json\r\nConnection: close\r\n\r\n";
port.tcp_client_write((char *)buf.c_str(), buf.length() + 1);
char recv_buf[1024];
int size = port.tcp_listen(recv_buf, sizeof(recv_buf));
port.tcp_close();
if(size > 0)
{
/*-----------------------------------------------------------*\
| Get response body |
\*-----------------------------------------------------------*/
std::istringstream recv_stream(recv_buf);
std::vector<std::string> recv_list;
std::string current_line;
while(std::getline(recv_stream, current_line, '\n'))
{
recv_list.push_back(current_line);
}
std::string result = recv_list[5];
json elgato_lightstrip_data = json::parse(result);
firmware_version = elgato_lightstrip_data["firmwareVersion"];
serialnumber = elgato_lightstrip_data["serialNumber"];
displayname = elgato_lightstrip_data["displayName"];
LOG_DEBUG("[ElgatoLightStrip] [%s]", result.data());
}
}
ElgatoLightStripController::~ElgatoLightStripController()
{
}
std::string ElgatoLightStripController::GetLocation()
{
return(location);
}
std::string ElgatoLightStripController::GetName()
{
return(displayname);
}
std::string ElgatoLightStripController::GetVersion()
{
return(firmware_version);
}
std::string ElgatoLightStripController::GetManufacturer()
{
return("Elgato");
}
std::string ElgatoLightStripController::GetUniqueID()
{
return(serialnumber);
}
void ElgatoLightStripController::SetColor(hsv_t hsv_color)
{
if(hsv_color.hue < 0)
{
hsv_color.hue = 0;
}
if(hsv_color.hue > 360)
{
hsv_color.hue = 360;
}
if(hsv_color.saturation > 100)
{
hsv_color.saturation = 100;
}
/*-------------------------------------------------*\
| Delay to prevent it from getting stuck on effects |
\*-------------------------------------------------*/
std::this_thread::sleep_for(std::chrono::milliseconds(150));
port.tcp_client_connect();
std::string buf = GetRequest(hsv_color.hue, hsv_color.saturation, GetBrightness());
port.tcp_client_write((char *)buf.c_str(), buf.length() + 1);
port.tcp_close();
}
std::string ElgatoLightStripController::GetRequest(int hue, int saturation, int brightness)
{
json command;
command["numberOfLights"] = 1;
json lights = json::array();
lights.push_back(json::object({ {"on", 1}, {"hue", hue}, {"saturation", saturation}, {"brightness", brightness}}));
command["lights"] = lights;
std::string command_str = command.dump();
std::string buf = "PUT /elgato/lights HTTP/1.1\r\nContent-Type: application/json\r\nContent-Length: " +
std::to_string(command_str.length()) +
"\r\nConnection: close\r\n\r\n" + command_str + "\r\n\r\n";
return(buf);
}
int ElgatoLightStripController::GetBrightness()
{
if(device_brightness > 100 || device_brightness < 0)
{
device_brightness = 100;
}
return device_brightness;
}
void ElgatoLightStripController::SetBrightness(int brightness)
{
if(brightness > 100 || device_brightness < 0)
{
brightness = 100;
}
device_brightness = brightness;
}

View file

@ -0,0 +1,38 @@
/*--------------------------------------------------------*\
| Definitions for Elgato Light Strip |
| |
| Monks (imtherealestmonkey@gmail.com), 11/03/2021 |
| Edit by DomePlaysHD 12/03/2024 |
\*--------------------------------------------------------*/
#include "net_port.h"
#include "hsv.h"
#include <string>
#pragma once
class ElgatoLightStripController
{
public:
ElgatoLightStripController(std::string ip);
~ElgatoLightStripController();
std::string GetLocation();
std::string GetName();
std::string GetVersion();
std::string GetManufacturer();
std::string GetUniqueID();
void SetColor(hsv_t hsv_color);
int GetBrightness();
void SetBrightness(int brightness);
private:
std::string GetRequest(int hue, int saturation, int brightness);
std::string location;
std::string firmware_version;
std::string serialnumber;
std::string displayname;
net_port port;
int device_brightness;
};

View file

@ -0,0 +1,41 @@
#include "Detector.h"
#include "ElgatoLightStripController.h"
#include "RGBController_ElgatoLightStrip.h"
#include "SettingsManager.h"
/******************************************************************************************\
* *
* Detect Elgato LightStrip devices *
* *
\******************************************************************************************/
void DetectElgatoLightStripControllers()
{
json elgato_lightstrip_settings;
/*-------------------------------------------------*\
| Get LightStrip settings from settings manager |
\*-------------------------------------------------*/
elgato_lightstrip_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("ElgatoLightStripDevices");
/*------------------------------------------------------------*\
| If the Elgato Light Strip settings contains devices, process |
\*------------------------------------------------------------*/
if(elgato_lightstrip_settings.contains("devices"))
{
for(unsigned int device_idx = 0; device_idx < elgato_lightstrip_settings["devices"].size(); device_idx++)
{
if(elgato_lightstrip_settings["devices"][device_idx].contains("ip"))
{
std::string elgato_lightstrip_ip = elgato_lightstrip_settings["devices"][device_idx]["ip"];
ElgatoLightStripController* controller = new ElgatoLightStripController(elgato_lightstrip_ip);
RGBController_ElgatoLightStrip* rgb_controller = new RGBController_ElgatoLightStrip(controller);
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
}
}
REGISTER_DETECTOR("Elgato Light Strip", DetectElgatoLightStripControllers);

View file

@ -0,0 +1,90 @@
/*--------------------------------------------------------*\
| RGBController_ElgatoLightStrip.cpp |
| |
| Generic RGB Interface for ElgatoLightStrip |
| |
| Monks (@iamtherealestmonkey) 11/03/2021 |
| Edit by DomePlaysHD 12/03/2024 |
\*-------------------------------------------------------*/
#include "RGBController_ElgatoLightStrip.h"
#include "hsv.h"
RGBController_ElgatoLightStrip::RGBController_ElgatoLightStrip(ElgatoLightStripController* controller_ptr)
{
controller = controller_ptr;
name = controller->GetName();
vendor = controller->GetManufacturer();
type = DEVICE_TYPE_LEDSTRIP;
version = controller->GetVersion();
description = "Elgato LightStrip Device";
serial = controller->GetUniqueID();
location = controller->GetLocation();
mode Direct;
Direct.name = "Direct";
Direct.value = 0;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS;
Direct.color_mode = MODE_COLORS_PER_LED;
Direct.brightness_min = 0;
Direct.brightness_max = 100;
Direct.brightness = 100;
modes.push_back(Direct);
SetupZones();
}
RGBController_ElgatoLightStrip::~RGBController_ElgatoLightStrip()
{
delete controller;
}
void RGBController_ElgatoLightStrip::SetupZones()
{
zone led_zone;
led_zone.name = "Lightstrip";
led_zone.type = ZONE_TYPE_SINGLE;
led_zone.leds_min = 1;
led_zone.leds_max = 1;
led_zone.leds_count = 1;
led_zone.matrix_map = NULL;
zones.push_back(led_zone);
led new_led;
new_led.name = "Lightstrip";
leds.push_back(new_led);
SetupColors();
}
void RGBController_ElgatoLightStrip::ResizeZone(int /*zone*/, int /*new_size*/)
{
/*---------------------------------------------------------*\
| This device does not support resizing zones |
\*---------------------------------------------------------*/
}
void RGBController_ElgatoLightStrip::DeviceUpdateLEDs()
{
RGBColor rgb_color = colors[0];
hsv_t hsv_color;
rgb2hsv(rgb_color, &hsv_color);
controller->SetColor(hsv_color);
controller->SetBrightness((unsigned char)modes[(unsigned int)active_mode].brightness);
}
void RGBController_ElgatoLightStrip::UpdateZoneLEDs(int /*zone*/)
{
DeviceUpdateLEDs();
}
void RGBController_ElgatoLightStrip::UpdateSingleLED(int /*led*/)
{
DeviceUpdateLEDs();
}
void RGBController_ElgatoLightStrip::DeviceUpdateMode()
{
DeviceUpdateLEDs();
}

View file

@ -0,0 +1,33 @@
/*--------------------------------------------------------*\
| RGBController_ElgatoLightStrip.h |
| |
| Generic RGB Interface for Elgato LightStrip |
| |
| Monks (imtherealestmonkey@gmail.com) 11/01/2021 |
| Edit by DomePlaysHD 12/03/2024 |
\*--------------------------------------------------------*/
#pragma once
#include "RGBController.h"
#include "ElgatoLightStripController.h"
class RGBController_ElgatoLightStrip : public RGBController
{
public:
RGBController_ElgatoLightStrip(ElgatoLightStripController* controller_ptr);
~RGBController_ElgatoLightStrip();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void DeviceUpdateMode();
private:
ElgatoLightStripController* controller;
};

View file

@ -486,6 +486,11 @@ OpenRGBDialog2::OpenRGBDialog2(QWidget *parent) : QMainWindow(parent), ui(new Op
\*-----------------------------------------------------*/
AddElgatoKeyLightSettingsPage();
/*-----------------------------------------------------*\
| Add the ElgatoLightStrip settings page |
\*-----------------------------------------------------*/
AddElgatoLightStripSettingsPage();
/*-----------------------------------------------------*\
| Add the SMBus Tools page if enabled |
\*-----------------------------------------------------*/
@ -914,6 +919,23 @@ void OpenRGBDialog2::AddElgatoKeyLightSettingsPage()
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
void OpenRGBDialog2::AddElgatoLightStripSettingsPage()
{
/*-----------------------------------------------------*\
| Create the Settings page |
\*-----------------------------------------------------*/
ElgatoLightStripSettingsPage = new OpenRGBElgatoLightStripSettingsPage();
ui->SettingsTabBar->addTab(ElgatoLightStripSettingsPage, "");
/*-----------------------------------------------------*\
| Create the tab label |
\*-----------------------------------------------------*/
TabLabel* SettingsTabLabel = new TabLabel(OpenRGBFont::bulb, tr("Elgato LightStrip Devices"), (char *)"Elgato LightStrip Devices", (char *)context);
ui->SettingsTabBar->tabBar()->setTabButton(ui->SettingsTabBar->tabBar()->count() - 1, QTabBar::LeftSide, SettingsTabLabel);
}
void OpenRGBDialog2::AddPlugin(OpenRGBPluginEntry* plugin)
{
/*-----------------------------------------------------*\

View file

@ -12,6 +12,7 @@
#include "OpenRGBDMXSettingsPage/OpenRGBDMXSettingsPage.h"
#include "OpenRGBE131SettingsPage/OpenRGBE131SettingsPage.h"
#include "OpenRGBElgatoKeyLightSettingsPage/OpenRGBElgatoKeyLightSettingsPage.h"
#include "OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.h"
#include "OpenRGBKasaSmartSettingsPage/OpenRGBKasaSmartSettingsPage.h"
#include "OpenRGBLIFXSettingsPage/OpenRGBLIFXSettingsPage.h"
#include "OpenRGBPhilipsHueSettingsPage/OpenRGBPhilipsHueSettingsPage.h"
@ -88,6 +89,7 @@ private:
OpenRGBDMXSettingsPage *DMXSettingsPage;
OpenRGBE131SettingsPage *E131SettingsPage;
OpenRGBElgatoKeyLightSettingsPage *ElgatoKeyLightSettingsPage;
OpenRGBElgatoLightStripSettingsPage *ElgatoLightStripSettingsPage;
OpenRGBKasaSmartSettingsPage *KasaSmartSettingsPage;
OpenRGBLIFXSettingsPage *LIFXSettingsPage;
OpenRGBPhilipsHueSettingsPage *PhilipsHueSettingsPage;
@ -117,6 +119,7 @@ private:
void AddDMXSettingsPage();
void AddE131SettingsPage();
void AddElgatoKeyLightSettingsPage();
void AddElgatoLightStripSettingsPage();
void AddKasaSmartSettingsPage();
void AddLIFXSettingsPage();
void AddPhilipsHueSettingsPage();

View file

@ -0,0 +1,24 @@
#include "OpenRGBElgatoLightStripSettingsEntry.h"
#include "ui_OpenRGBElgatoLightStripSettingsEntry.h"
using namespace Ui;
OpenRGBElgatoLightStripSettingsEntry::OpenRGBElgatoLightStripSettingsEntry(QWidget *parent) :
QDialog(parent),
ui(new Ui::OpenRGBElgatoLightStripSettingsEntryUi)
{
ui->setupUi(this);
}
OpenRGBElgatoLightStripSettingsEntry::~OpenRGBElgatoLightStripSettingsEntry()
{
delete ui;
}
void OpenRGBElgatoLightStripSettingsEntry::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}

View file

@ -0,0 +1,25 @@
#ifndef OPENRGBELGATOLIGHTSTRIPSETTINGSENTRY_H
#define OPENRGBELGATOLIGHTSTRIPSETTINGSENTRY_H
#include "ui_OpenRGBElgatoLightStripSettingsEntry.h"
#include <QDialog>
namespace Ui
{
class OpenRGBElgatoLightStripSettingsEntry;
}
class Ui::OpenRGBElgatoLightStripSettingsEntry : public QDialog
{
Q_OBJECT
public:
explicit OpenRGBElgatoLightStripSettingsEntry(QWidget *parent = nullptr);
~OpenRGBElgatoLightStripSettingsEntry();
Ui::OpenRGBElgatoLightStripSettingsEntryUi *ui;
private slots:
void changeEvent(QEvent *event);
};
#endif // OPENRGBELGATOLIGHTSTRIPSETTINGSENTRY_H

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OpenRGBElgatoLightStripSettingsEntryUi</class>
<widget class="QDialog" name="OpenRGBElgatoLightStripSettingsEntryUi">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>225</width>
<height>85</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string/>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0" rowspan="2" colspan="2">
<widget class="QLabel" name="label">
<property name="text">
<string>IP:</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLineEdit" name="IPEdit"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -0,0 +1,108 @@
#include "OpenRGBElgatoLightStripSettingsPage.h"
#include "ui_OpenRGBElgatoLightStripSettingsPage.h"
#include "ResourceManager.h"
#include "SettingsManager.h"
using namespace Ui;
OpenRGBElgatoLightStripSettingsPage::OpenRGBElgatoLightStripSettingsPage(QWidget *parent) :
QWidget(parent),
ui(new Ui::OpenRGBElgatoLightStripSettingsPageUi)
{
ui->setupUi(this);
json elgato_lightstrip_settings;
elgato_lightstrip_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("ElgatoLightStripDevices");
/*---------------------------------------------------------------*\
| If the Elgato Light Strip settings contains devices, process |
\*---------------------------------------------------------------*/
if(elgato_lightstrip_settings.contains("devices"))
{
for(unsigned int device_idx = 0; device_idx < elgato_lightstrip_settings["devices"].size(); device_idx++)
{
OpenRGBElgatoLightStripSettingsEntry* entry = new OpenRGBElgatoLightStripSettingsEntry;
if(elgato_lightstrip_settings["devices"][device_idx].contains("ip"))
{
entry->ui->IPEdit->setText(QString::fromStdString(elgato_lightstrip_settings["devices"][device_idx]["ip"]));
}
entries.push_back(entry);
QListWidgetItem* item = new QListWidgetItem;
item->setSizeHint(entry->sizeHint());
ui->ElgatoLightStripDeviceList->addItem(item);
ui->ElgatoLightStripDeviceList->setItemWidget(item, entry);
ui->ElgatoLightStripDeviceList->show();
}
}
}
OpenRGBElgatoLightStripSettingsPage::~OpenRGBElgatoLightStripSettingsPage()
{
delete ui;
}
void OpenRGBElgatoLightStripSettingsPage::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this);
}
}
void Ui::OpenRGBElgatoLightStripSettingsPage::on_AddElgatoLightStripDeviceButton_clicked()
{
OpenRGBElgatoLightStripSettingsEntry* entry = new OpenRGBElgatoLightStripSettingsEntry;
entries.push_back(entry);
QListWidgetItem* item = new QListWidgetItem;
item->setSizeHint(entry->sizeHint());
ui->ElgatoLightStripDeviceList->addItem(item);
ui->ElgatoLightStripDeviceList->setItemWidget(item, entry);
ui->ElgatoLightStripDeviceList->show();
}
void Ui::OpenRGBElgatoLightStripSettingsPage::on_RemoveElgatoLightStripDeviceButton_clicked()
{
int cur_row = ui->ElgatoLightStripDeviceList->currentRow();
if(cur_row < 0)
{
return;
}
QListWidgetItem* item = ui->ElgatoLightStripDeviceList->takeItem(cur_row);
ui->ElgatoLightStripDeviceList->removeItemWidget(item);
delete item;
delete entries[cur_row];
entries.erase(entries.begin() + cur_row);
}
void Ui::OpenRGBElgatoLightStripSettingsPage::on_SaveElgatoLightStripConfigurationButton_clicked()
{
json elgato_lightstrip_settings;
elgato_lightstrip_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("ElgatoLightStripDevices");
elgato_lightstrip_settings["devices"].clear();
for(unsigned int device_idx = 0; device_idx < entries.size(); device_idx++)
{
/*-------------------------------------------------*\
| Required parameters |
\*-------------------------------------------------*/
elgato_lightstrip_settings["devices"][device_idx]["ip"] = entries[device_idx]->ui->IPEdit->text().toStdString();
}
ResourceManager::get()->GetSettingsManager()->SetSettings("ElgatoLightStripDevices", elgato_lightstrip_settings);
ResourceManager::get()->GetSettingsManager()->SaveSettings();
}

View file

@ -0,0 +1,34 @@
#ifndef OPENRGBELGATOLIGHTSTRIPSETTINGSPAGE_H
#define OPENRGBELGATOLIGHTSTRIPSETTINGSPAGE_H
#include "ui_OpenRGBElgatoLightStripSettingsPage.h"
#include <QWidget>
#include "OpenRGBElgatoLightStripSettingsEntry.h"
namespace Ui
{
class OpenRGBElgatoLightStripSettingsPage;
}
class Ui::OpenRGBElgatoLightStripSettingsPage : public QWidget
{
Q_OBJECT
public:
explicit OpenRGBElgatoLightStripSettingsPage(QWidget *parent = nullptr);
~OpenRGBElgatoLightStripSettingsPage();
private slots:
void changeEvent(QEvent *event);
void on_AddElgatoLightStripDeviceButton_clicked();
void on_RemoveElgatoLightStripDeviceButton_clicked();
void on_SaveElgatoLightStripConfigurationButton_clicked();
private:
Ui::OpenRGBElgatoLightStripSettingsPageUi *ui;
std::vector<OpenRGBElgatoLightStripSettingsEntry*> entries;
};
#endif // OPENRGBELGATOLIGHTSTRIPSETTINGSPAGE_H

View file

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OpenRGBElgatoLightStripSettingsPageUi</class>
<widget class="QWidget" name="OpenRGBElgatoLightStripSettingsPageUi">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="3">
<widget class="QListWidget" name="ElgatoLightStripDeviceList"/>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="AddElgatoLightStripDeviceButton">
<property name="text">
<string>Add</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="RemoveElgatoLightStripDeviceButton">
<property name="text">
<string>Remove</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="SaveElgatoLightStripConfigurationButton">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -139,6 +139,10 @@
<source>S:</source>
<translation>Farbsättigung(S):</translation>
</message>
<message>
<source>Edit</source>
<translation>Bearbeiten</translation>
</message>
<message>
<source>Select All</source>
<translation>Alle auswählen</translation>
@ -220,15 +224,15 @@
</message>
<message>
<source>Save Profile</source>
<translation>Profil Speichern</translation>
<translation>Profil speichern</translation>
</message>
<message>
<source>Delete Profile</source>
<translation>Profil Löschen</translation>
<translation>Profil löschen</translation>
</message>
<message>
<source>Load Profile</source>
<translation>Profil Laden</translation>
<translation>Profil laden</translation>
</message>
<message>
<source>OpenRGB is detecting devices...</source>
@ -240,11 +244,11 @@
</message>
<message>
<source>Save Profile As...</source>
<translation>Profil Speichern Als...</translation>
<translation>Profil speichern als...</translation>
</message>
<message>
<source>Save Profile with custom name</source>
<translation>Profil mit eigenem Namen Speichern</translation>
<translation>Profil mit eigenem Namen speichern</translation>
</message>
</context>
<context>
@ -275,11 +279,11 @@
</message>
<message>
<source>Set All</source>
<translation>Auf Alle Anwenden</translation>
<translation>Auf Alle anwenden</translation>
</message>
<message>
<source>Set Device</source>
<translation>Auf Gerät Anwenden</translation>
<translation>Auf Gerät anwenden</translation>
</message>
<message>
<source>Zone</source>
@ -287,17 +291,67 @@
</message>
<message>
<source>Set Zone</source>
<translation>Auf Zone Anwenden</translation>
<translation>Auf Zone anwenden</translation>
</message>
<message>
<source>Set LED</source>
<translation>Auf LED Anwenden</translation>
<translation>Auf LED anwenden</translation>
</message>
<message>
<source>LED</source>
<translation>LED</translation>
</message>
</context>
<context>
<name>OpenRGBDMXSettingsPageUi</name>
<message>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
<source>Save</source>
<translation>Speichern</translation>
</message>
<message>
<source>DMX settings page</source>
<translation>DMX Einstellungen</translation>
</message>
</context>
<context>
<name>OpenRGBDMXSettingsEntryUi</name>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Port:</source>
<translation>Port:</translation>
</message>
<message>
<source>Red Channel:</source>
<translation>Roter Kanal:</translation>
</message>
<message>
<source>Green Channel:</source>
<translation>Grüner Kanal:</translation>
</message>
<message>
<source>Blue Channel:</source>
<translation>Blauer Kanal:</translation>
</message>
<message>
<source>Brightness Channel:</source>
<translation>Helligkeits Kanal:</translation>
</message>
<message>
<source>Keepalive Time:</source>
<translation>Wachdauer:</translation>
</message>
</context>
<context>
<name>OpenRGBE131SettingsEntryUi</name>
<message>
@ -372,6 +426,101 @@
<translation>E1.31 Einstellungen</translation>
</message>
</context>
<context>
<name>OpenRGBKasaSmartSettingsPageUi</name>
<message>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
<source>Save</source>
<translation>Speichern</translation>
</message>
<message>
<source>Kasa Smart settings page</source>
<translation>Kasa Smart Einstellungen</translation>
</message>
</context>
<context>
<name>OpenRGBKasaSmartSettingsEntryUi</name>
<message>
<source>IP:</source>
<translation>IP:</translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</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>Auth-Schlüssel</translation>
</message>
<message>
<source>Unpair</source>
<translation>Entkoppeln</translation>
</message>
<message>
<source>Pair</source>
<translation>Koppeln</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafSettingsPageUi</name>
<message>
<source>Form</source>
<translation>Form</translation>
</message>
<message>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
<source>Scan</source>
<translation>Scannen</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>Halten Sie zum Koppeln die Ein-/Aus-Taste 57 Sekunden lang gedrückt, bis die LED in einem Muster blinkt, und klicken Sie dann, innerhalb von 30 Sekunden, auf &quot;Koppeln&quot;.</translation>
</message>
</context>
<context>
<name>OpenRGBNanoleafNewDeviceDialogUi</name>
<message>
<source>New Nanoleaf device</source>
<translation>Neues Nanoleaf Gerät</translation>
</message>
<message>
<source>IP address:</source>
<translation>IP Adresse:</translation>
</message>
<message>
<source>Port:</source>
<translation>Port:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
@ -391,15 +540,45 @@
</message>
<message>
<source>Add</source>
<translation type="unfinished">Hinzufügen</translation>
<translation>Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Entfernen</translation>
<translation>Entfernen</translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished">Speichern</translation>
<translation>Speichern</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
<source>Save</source>
<translation>Speichern</translation>
</message>
</context>
<context>
@ -425,57 +604,15 @@
</message>
<message>
<source>Add</source>
<translation type="unfinished">Hinzufügen</translation>
<translation>Hinzufügen</translation>
</message>
<message>
<source>Remove</source>
<translation type="unfinished">Entfernen</translation>
<translation>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>
<translation>Speichern</translation>
</message>
</context>
<context>
@ -494,11 +631,11 @@
</message>
<message>
<source>Client Key:</source>
<translation>Kundenschlüssel:</translation>
<translation>Client-Schlüssel:</translation>
</message>
<message>
<source>Unpair Bridge</source>
<translation>Brücke Entkoppeln</translation>
<translation>Brücke entkoppeln</translation>
</message>
<message>
<source>MAC:</source>
@ -514,7 +651,7 @@
</message>
<message>
<source>Auto Connect Group:</source>
<translation type="unfinished"></translation>
<translation>Auto-Connect-Gruppe</translation>
</message>
</context>
<context>
@ -546,6 +683,14 @@
<source>IP:</source>
<translation>IP:</translation>
</message>
<message>
<source>Use Cool White</source>
<translation>Nutze Kaltweiß</translation>
</message>
<message>
<source>Use Warm White</source>
<translation>Nutze Warmweiß</translation>
</message>
<message>
<source>Philips WIZ settings entry</source>
<translation>Philips WIZ Eintrag</translation>
@ -620,11 +765,11 @@
<name>OpenRGBPluginsPageUi</name>
<message>
<source>Install Plugin</source>
<translation>Plugin Installieren</translation>
<translation>Plugin installieren</translation>
</message>
<message>
<source>Remove Plugin</source>
<translation>Plugin Entfernen</translation>
<translation>Plugin entfernen</translation>
</message>
<message>
<source>Plugins page</source>
@ -632,7 +777,7 @@
</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>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;Suchen Sie nach Plugins? Die offizielle Liste finden Sie unter &lt;a href=&quot;https://openrgb.org/plugins.html&quot;&gt;OpenRGB.org&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
</context>
<context>
@ -734,7 +879,7 @@
<name>OpenRGBServerInfoPageUi</name>
<message>
<source>Stop Server</source>
<translation>Server Stoppen</translation>
<translation>Server stoppen</translation>
</message>
<message>
<source>Server Port:</source>
@ -742,7 +887,7 @@
</message>
<message>
<source>Start Server</source>
<translation>Server Starten</translation>
<translation>Server starten</translation>
</message>
<message>
<source>Server Status:</source>
@ -781,7 +926,7 @@
<name>OpenRGBSettingsPageUi</name>
<message>
<source>Load Window Geometry</source>
<translation>Fenster Geometrie Laden</translation>
<translation>Fenster Geometrie laden</translation>
</message>
<message>
<source>90000</source>
@ -791,9 +936,13 @@
<source>Run zone checks on rescan</source>
<translation>Zonen beim erneuten Scannen überprüfen</translation>
</message>
<message>
<source>Disable key expansion in device view</source>
<translation>Deaktivieren Sie die Schlüsselerweiterung in der Geräteansicht</translation>
</message>
<message>
<source>Start Server</source>
<translation>Server Starten</translation>
<translation>Server starten</translation>
</message>
<message>
<source>Start Minimized</source>
@ -809,7 +958,7 @@
</message>
<message>
<source>Start At Login</source>
<translation>Start bei der Anmeldung</translation>
<translation>Bei der Anmeldung starten</translation>
</message>
<message>
<source>Set Profile on Exit</source>
@ -825,11 +974,11 @@
</message>
<message>
<source>Start Client</source>
<translation>Client Starten</translation>
<translation>Client starten</translation>
</message>
<message>
<source>Load Profile</source>
<translation>Profil Laden</translation>
<translation>Profil laden</translation>
</message>
<message>
<source>Set Server Port</source>
@ -837,7 +986,7 @@
</message>
<message>
<source>Theme (restart required)</source>
<translation>Design (Programmneustart erforderlich)</translation>
<translation>Stil (Programmneustart erforderlich)</translation>
</message>
<message>
<source>Enable Log Console (restart required)</source>
@ -865,7 +1014,7 @@
</message>
<message>
<source>Start At Login Settings:</source>
<translation>Start bei der Anmeldung Einstellungen:</translation>
<translation>Start Einstellungen:</translation>
</message>
<message>
<source>Open Settings Folder</source>
@ -877,15 +1026,15 @@
</message>
<message>
<source>Shared SMBus Access (restart required)</source>
<translation type="unfinished"></translation>
<translation>Gemeinsamer SMBus-Zugriff (Programmneustart erforderlich)</translation>
</message>
<message>
<source>Set Server Host</source>
<translation type="unfinished"></translation>
<translation type="unfinished">Setze Server Host</translation>
</message>
<message>
<source>Language</source>
<translation type="unfinished"></translation>
<translation>Sprache</translation>
</message>
</context>
<context>
@ -916,7 +1065,7 @@
</message>
<message>
<source>Website</source>
<translation>Website</translation>
<translation>Webseite</translation>
</message>
<message>
<source>&lt;a href=&quot;https://openrgb.org&quot;&gt;https://openrgb.org&lt;/a&gt;</source>
@ -943,12 +1092,16 @@
</message>
<message>
<source>Enable/Disable all</source>
<translation>Alle Aktivieren/Deaktivieren</translation>
<translation>Alle aktivieren/deaktivieren</translation>
</message>
<message>
<source>Apply changes</source>
<translation>Änderungen anwenden</translation>
</message>
<message>
<source>Get hardware IDs</source>
<translation>Hardware IDs anzeigen</translation>
</message>
</context>
<context>
<name>OpenRGBSystemInfoPageUi</name>
@ -962,7 +1115,7 @@
</message>
<message>
<source>Read Device</source>
<translation>Gerät Lesen</translation>
<translation>Gerät lesen</translation>
</message>
<message>
<source>SMBus Dumper:</source>
@ -982,11 +1135,11 @@
</message>
<message>
<source>Detect Devices</source>
<translation>Geräte Erkennen</translation>
<translation>Geräte erkennen</translation>
</message>
<message>
<source>Dump Device</source>
<translation>Dump Device</translation>
<translation>Ausgabegerät</translation>
</message>
<message>
<source>SMBus Reader:</source>
@ -1269,10 +1422,18 @@
<translatorcomment>Using &quot;Allg.&quot; as shorthand for &quot;Allgemeine&quot;. &quot;Allgemeine&quot; would be too long for the UI. So until text size is handled differently this should do it.</translatorcomment>
<translation>Allg. Einstellungen</translation>
</message>
<message>
<source>DMX Devices</source>
<translation>DMX Geräte</translation>
</message>
<message>
<source>E1.31 Devices</source>
<translation>E1.31 Geräte</translation>
</message>
<message>
<source>Kasa Smart Devices</source>
<translation>Kasa Smart Geräte</translation>
</message>
<message>
<source>Philips Hue Devices</source>
<translation>Philips Hue Geräte</translation>
@ -1319,15 +1480,19 @@
</message>
<message>
<source>LIFX Devices</source>
<translation type="unfinished"></translation>
<translation>LIFX Geräte</translation>
</message>
<message>
<source>Nanoleaf Devices</source>
<translation type="unfinished"></translation>
<translation>Nanoleaf Geräte</translation>
</message>
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
<translation>Elgato KeyLight Geräte</translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation>Elgato LightStrip Geräte</translation>
</message>
</context>
<context>
@ -1397,7 +1562,7 @@
</message>
<message>
<source>Remove Plugin</source>
<translation>Plugin Entfernen</translation>
<translation>Plugin entfernen</translation>
</message>
<message>
<source>Are you sure you want to remove this plugin?</source>
@ -1476,4 +1641,23 @@
<translation>Größe</translation>
</message>
</context>
<context>
<name>OpenRGBHardwareIDsDialogUi</name>
<message>
<source>Location</source>
<translation>Ort</translation>
</message>
<message>
<source>Device</source>
<translation>Gerät</translation>
</message>
<message>
<source>Vendor</source>
<translation>Hersteller</translation>
</message>
<message>
<source>Copy to clipboard</source>
<translation>In die Zwischenablage kopieren</translation>
</message>
</context>
</TS>

View file

@ -402,6 +402,36 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</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>
@ -1303,6 +1333,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>

View file

@ -402,6 +402,36 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</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>
@ -1303,6 +1333,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>

View file

@ -298,6 +298,25 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBDMXSettingsPageUi</name>
<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>
<message>
<source>DMX settings page</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBE131SettingsEntryUi</name>
<message>
@ -372,6 +391,90 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBKasaSmartSettingsPageUi</name>
<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>
<message>
<source>Kasa Smart settings page</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>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remove</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>OpenRGBNanoleafNewDeviceDialogUi</name>
<message>
<source>New Nanoleaf device</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP address:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Port:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoKeyLightSettingsEntryUi</name>
<message>
@ -402,6 +505,36 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</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>
@ -436,48 +569,6 @@
<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>
@ -1243,10 +1334,18 @@
<message>
<source>General Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>DMX Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>E1.31 Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Kasa Smart Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Philips Hue Devices</source>
@ -1303,6 +1402,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Supported Devices</source>
@ -1447,4 +1550,23 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBHardwareIDsDialogUi</name>
<message>
<source>Location</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Device</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vendor</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -403,6 +403,36 @@
<translation type="unfinished">Guardar</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</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>
@ -1330,6 +1360,10 @@
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>

View file

@ -402,6 +402,36 @@
<translation>Sauvegarder</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation>IP :</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add</source>
<translation>Ajouter</translation>
</message>
<message>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
<source>Save</source>
<translation>Sauvegarder</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -1328,6 +1358,10 @@
<source>Elgato KeyLight Devices</source>
<translation>Périphériques Elgato KeyLight</translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation>Périphériques Elgato LightStrip</translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>

View file

@ -403,6 +403,36 @@
<translation>Spremi</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation>Dijalog</translation>
</message>
<message>
<source>IP:</source>
<translation>IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation>Dijalog</translation>
</message>
<message>
<source>Add</source>
<translation>Dodaj</translation>
</message>
<message>
<source>Remove</source>
<translation>Ukloni</translation>
</message>
<message>
<source>Save</source>
<translation>Spremi</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -1305,6 +1335,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation>Elgato KeyLight uređaji</translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation>Elgato LightStrip uređaji</translation>
</message>
<message>
<source>Supported Devices</source>

View file

@ -402,6 +402,36 @@
<translation>Salva</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation>Dialogo</translation>
</message>
<message>
<source>IP:</source>
<translation>IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation>Dialogo</translation>
</message>
<message>
<source>Add</source>
<translation>Aggiungi</translation>
</message>
<message>
<source>Remove</source>
<translation>Rimuovi</translation>
</message>
<message>
<source>Save</source>
<translation>Salva</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -1303,6 +1333,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation>Dispositivi Elgato KeyLight</translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation>Dispositivi Elgato LightStrip</translation>
</message>
<message>
<source>Supported Devices</source>

View file

@ -1634,6 +1634,42 @@ Using an effect on a device WILL damage the flash or controller</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="26"/>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="23"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="30"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="37"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -3080,6 +3116,11 @@ Using an effect on a device WILL damage the flash or controller</source>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato KeyLight Devices</source>
<translation>Elgato KeyLight </translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato LightStrip Devices</source>
<translation>Elgato LightStrip </translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="1202"/>

View file

@ -456,6 +456,36 @@
<translation></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation> </translation>
</message>
<message>
<source>IP:</source>
<translation>IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation> </translation>
</message>
<message>
<source>Add</source>
<translation></translation>
</message>
<message>
<source>Remove</source>
<translation></translation>
</message>
<message>
<source>Save</source>
<translation></translation>
</message>
</context>
<context>
<name>OpenRGBHardwareIDsDialogUi</name>
<message>
@ -1501,6 +1531,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation>Elgato KeyLight </translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation>Elgato LightStrip </translation>
</message>
<message>
<source>Supported Devices</source>

View file

@ -496,6 +496,42 @@
<translation>Simpan</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsEntry.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsEntry.ui" line="26"/>
<source>IP:</source>
<translation>IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoKeyLightSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="23"/>
<source>Add</source>
<translation>Tambah</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="30"/>
<source>Remove</source>
<translation>Alih keluar</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="37"/>
<source>Save</source>
<translation>Simpan</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -1578,6 +1614,11 @@
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato KeyLight Devices</source>
<translation>Peranti Elgato KeyLight</translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato LightStrip Devices</source>
<translation>Peranti Elgato LightStrip</translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="1202"/>

View file

@ -402,6 +402,36 @@
<translation>Zapisz</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation>Okno dialogowe</translation>
</message>
<message>
<source>IP:</source>
<translation>IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<source>Dialog</source>
<translation>Okno dialogowe</translation>
</message>
<message>
<source>Add</source>
<translation>Dodaj</translation>
</message>
<message>
<source>Remove</source>
<translation>Usuń</translation>
</message>
<message>
<source>Save</source>
<translation>Zapisz</translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -1303,6 +1333,10 @@
<message>
<source>Elgato KeyLight Devices</source>
<translation>Urządzenia Elgato KeyLight</translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation>Urządzenia Elgato LightStrip</translation>
</message>
<message>
<source>Supported Devices</source>

View file

@ -402,6 +402,36 @@
<translation type="unfinished">Salvar</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>IP:</source>
<translation type="unfinished">IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</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>
@ -1329,6 +1359,10 @@
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>

View file

@ -571,6 +571,42 @@
<translation>Сохранить</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation>Диалоговое окно</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="26"/>
<source>IP:</source>
<translation>IP:</translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation>Диалоговое окно</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="23"/>
<source>Add</source>
<translation>Добавить</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="30"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="37"/>
<source>Save</source>
<translation>Сохранить</translation>
</message>
</context>
<context>
<name>OpenRGBHardwareIDsDialogUi</name>
<message>
@ -1839,6 +1875,11 @@
<source>Elgato KeyLight Devices</source>
<translation>Устройства Elgato KeyLight</translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="1068"/>
<source>Elgato LightStrip Devices</source>
<translation>Устройства Elgato LightStrip</translation>
</message>
</context>
<context>
<name>Ui::OpenRGBE131SettingsEntry</name>

View file

@ -1635,6 +1635,42 @@ Using an effect on a device WILL damage the flash or controller</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="26"/>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="23"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="30"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="37"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -3081,6 +3117,11 @@ Using an effect on a device WILL damage the flash or controller</source>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="1202"/>

View file

@ -1635,6 +1635,42 @@ Using an effect on a device WILL damage the flash or controller</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsEntryUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="26"/>
<source>IP:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBElgatoLightStripSettingsPageUi</name>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="23"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="30"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBElgatoLightStripSettingsPage/OpenRGBElgatoLightStripSettingsPage.ui" line="37"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OpenRGBLIFXSettingsEntryUi</name>
<message>
@ -3081,6 +3117,11 @@ Using an effect on a device WILL damage the flash or controller</source>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato KeyLight Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="988"/>
<source>Elgato LightStrip Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OpenRGBDialog2.cpp" line="1202"/>