![Preview]()
diff --git a/server/src/wled_controller/static/locales/en.json b/server/src/wled_controller/static/locales/en.json
index faaf2ab..dd61673 100644
--- a/server/src/wled_controller/static/locales/en.json
+++ b/server/src/wled_controller/static/locales/en.json
@@ -46,6 +46,7 @@
"templates.description.label": "Description (optional):",
"templates.description.placeholder": "Describe this template...",
"templates.engine": "Capture Engine:",
+ "templates.engine.hint": "Select the screen capture technology to use",
"templates.engine.select": "Select an engine...",
"templates.engine.unavailable": "Unavailable",
"templates.engine.unavailable.hint": "This engine is not available on your system",
@@ -215,10 +216,15 @@
"streams.type.raw": "Screen Capture",
"streams.type.processed": "Processed",
"streams.display": "Display:",
+ "streams.display.hint": "Which screen to capture",
"streams.capture_template": "Engine Template:",
+ "streams.capture_template.hint": "Engine template defining how the screen is captured",
"streams.target_fps": "Target FPS:",
+ "streams.target_fps.hint": "Target frames per second for capture (10-90)",
"streams.source": "Source Stream:",
+ "streams.source.hint": "The stream to apply processing filters to",
"streams.pp_template": "Filter Template:",
+ "streams.pp_template.hint": "Filter template to apply to the source stream",
"streams.description_label": "Description (optional):",
"streams.description_placeholder": "Describe this stream...",
"streams.created": "Stream created successfully",
diff --git a/server/src/wled_controller/static/locales/ru.json b/server/src/wled_controller/static/locales/ru.json
index 189b035..2053941 100644
--- a/server/src/wled_controller/static/locales/ru.json
+++ b/server/src/wled_controller/static/locales/ru.json
@@ -46,6 +46,7 @@
"templates.description.label": "Описание (необязательно):",
"templates.description.placeholder": "Опишите этот шаблон...",
"templates.engine": "Движок Захвата:",
+ "templates.engine.hint": "Выберите технологию захвата экрана",
"templates.engine.select": "Выберите движок...",
"templates.engine.unavailable": "Недоступен",
"templates.engine.unavailable.hint": "Этот движок недоступен в вашей системе",
@@ -215,10 +216,15 @@
"streams.type.raw": "Захват экрана",
"streams.type.processed": "Обработанный",
"streams.display": "Дисплей:",
+ "streams.display.hint": "Какой экран захватывать",
"streams.capture_template": "Шаблон Движка:",
+ "streams.capture_template.hint": "Шаблон движка, определяющий способ захвата экрана",
"streams.target_fps": "Целевой FPS:",
+ "streams.target_fps.hint": "Целевое количество кадров в секунду (10-90)",
"streams.source": "Исходный Поток:",
+ "streams.source.hint": "Поток, к которому применяются фильтры обработки",
"streams.pp_template": "Шаблон Фильтра:",
+ "streams.pp_template.hint": "Шаблон фильтра для применения к исходному потоку",
"streams.description_label": "Описание (необязательно):",
"streams.description_placeholder": "Опишите этот поток...",
"streams.created": "Поток успешно создан",
diff --git a/server/src/wled_controller/static/style.css b/server/src/wled_controller/static/style.css
index 2d377c6..8f69e59 100644
--- a/server/src/wled_controller/static/style.css
+++ b/server/src/wled_controller/static/style.css
@@ -966,9 +966,49 @@ input:-webkit-autofill:focus {
opacity: 1;
}
+.label-row {
+ display: flex;
+ align-items: center;
+ gap: 6px;
+ margin-bottom: 5px;
+}
+
+.label-row label {
+ margin-bottom: 0;
+}
+
+.hint-toggle {
+ background: none;
+ border: 1px solid var(--border-color);
+ border-radius: 50%;
+ width: 18px;
+ height: 18px;
+ font-size: 0.7rem;
+ line-height: 1;
+ color: var(--text-secondary, #888);
+ cursor: pointer;
+ padding: 0;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ opacity: 0.6;
+ transition: opacity 0.2s;
+ flex-shrink: 0;
+}
+
+.hint-toggle:hover {
+ opacity: 1;
+}
+
+.hint-toggle.active {
+ opacity: 1;
+ color: var(--primary-color, #4CAF50);
+ border-color: var(--primary-color, #4CAF50);
+}
+
.input-hint {
display: block;
- margin-top: 8px;
+ margin: 0 0 6px 0;
color: #666;
font-size: 0.85rem;
}