iobroker.poolcontrol 1.2.13 → 1.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/io-package.json +14 -28
- package/lib/helpers/aiChemistryHelpHelper.js +146 -143
- package/lib/i18n/de.json +69 -0
- package/lib/i18n/en.json +141 -0
- package/lib/i18n/es.json +141 -0
- package/lib/i18n/fr.json +141 -0
- package/lib/i18n/it.json +141 -0
- package/lib/i18n/nl.json +141 -0
- package/lib/i18n/pl.json +141 -0
- package/lib/i18n/pt.json +141 -0
- package/lib/i18n/ru.json +141 -0
- package/lib/i18n/uk.json +141 -0
- package/lib/i18n/zh-cn.json +141 -0
- package/lib/stateDefinitions/aiChemistryHelpStates.js +30 -26
- package/main.js +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -189,6 +189,10 @@ New features are added regularly – please refer to the changelog.
|
|
|
189
189
|
|
|
190
190
|
## Changelog
|
|
191
191
|
|
|
192
|
+
### 1.2.14
|
|
193
|
+
Release: 22.03.2026
|
|
194
|
+
- ### add i18n support for chemistry help texts
|
|
195
|
+
|
|
192
196
|
### 1.2.13
|
|
193
197
|
Release: 22.03.2026
|
|
194
198
|
- Added multilingual state names and descriptions (DE/EN)
|
package/io-package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "poolcontrol",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.14",
|
|
5
5
|
"news": {
|
|
6
|
-
"1.2.
|
|
7
|
-
"en": "
|
|
8
|
-
"de": "
|
|
9
|
-
"ru": "
|
|
10
|
-
"pt": "
|
|
11
|
-
"nl": "
|
|
12
|
-
"fr": "
|
|
13
|
-
"it": "
|
|
14
|
-
"es": "
|
|
15
|
-
"pl": "
|
|
16
|
-
"uk": "
|
|
17
|
-
"zh-cn": "
|
|
6
|
+
"1.2.14": {
|
|
7
|
+
"en": "Add i18n support for chemistry help (common.states and help texts), fix React issues caused by invalid translations, and improve multilingual user guidance.",
|
|
8
|
+
"de": "i18n-Unterstützung für Chemie-Hilfe hinzugefügt (common.states und Hilfetexte), React-Fehler durch fehlerhafte Übersetzungen behoben und mehrsprachige Benutzerführung verbessert.",
|
|
9
|
+
"ru": "Добавьте поддержку i18n для справки по химии (common.states и справочные тексты), исправьте проблемы React, вызванные неверными переводами, и улучшите многоязычное руководство пользователя.",
|
|
10
|
+
"pt": "Adicione suporte i18n para ajuda química (common.states e textos de ajuda), corrija problemas do React causados por traduções inválidas e melhore a orientação multilíngue do usuário.",
|
|
11
|
+
"nl": "Voeg i18n-ondersteuning toe voor scheikundige hulp (common.states en helpteksten), repareer React-problemen veroorzaakt door ongeldige vertalingen en verbeter de meertalige gebruikersbegeleiding.",
|
|
12
|
+
"fr": "Ajoutez la prise en charge d'i18n pour l'aide chimique (common.states et textes d'aide), corrigez les problèmes de React causés par des traductions non valides et améliorez le guidage utilisateur multilingue.",
|
|
13
|
+
"it": "Aggiungi il supporto i18n per la guida in chimica (common.states e testi di aiuto), risolvi i problemi di React causati da traduzioni non valide e migliora la guida utente multilingue.",
|
|
14
|
+
"es": "Agregue soporte i18n para ayuda sobre química (estados comunes y textos de ayuda), solucione problemas de React causados por traducciones no válidas y mejore la guía del usuario multilingüe.",
|
|
15
|
+
"pl": "Dodaj obsługę i18n dla pomocy chemicznej (stany wspólne i teksty pomocy), rozwiąż problemy z React spowodowane nieprawidłowymi tłumaczeniami i ulepsz wielojęzyczne wskazówki dla użytkownika.",
|
|
16
|
+
"uk": "Додайте підтримку i18n для довідки з хімії (common.states і тексти довідки), виправте проблеми з React, викликані недійсними перекладами, і покращте багатомовні інструкції для користувачів.",
|
|
17
|
+
"zh-cn": "添加对化学帮助(common.states 和帮助文本)的 i18n 支持,修复无效翻译导致的 React 问题,并改进多语言用户指南。"
|
|
18
18
|
},
|
|
19
19
|
"1.2.12": {
|
|
20
20
|
"en": "Repository cleanup and fixes for ioBroker repository checker. Restored required native object in io-package.json, removed invalid properties and updated README.",
|
|
@@ -67,19 +67,6 @@
|
|
|
67
67
|
"pl": "Poprawione definicje ról dla stanów zapisywalnych zgodnie z wytycznymi ioBroker.",
|
|
68
68
|
"uk": "Виправлено визначення ролей для записуваних станів відповідно до вказівок ioBroker.",
|
|
69
69
|
"zh-cn": "根据 ioBroker 指南更正了可写状态的角色定义。"
|
|
70
|
-
},
|
|
71
|
-
"1.2.6": {
|
|
72
|
-
"en": "Fixed adapter checker issues, converted remaining log messages to English, updated release-script plugins and dependabot configuration.",
|
|
73
|
-
"de": "Adapter-Checker-Probleme behoben, verbleibende Logmeldungen auf Englisch umgestellt, release-script Plugins und Dependabot-Konfiguration aktualisiert.",
|
|
74
|
-
"ru": "Исправлены проблемы с проверкой адаптера, преобразованы оставшиеся сообщения журнала на английский язык, обновлены плагины сценариев выпуска и конфигурация зависимостей.",
|
|
75
|
-
"pt": "Corrigidos problemas do verificador do adaptador, convertidas mensagens de log restantes para inglês, plug-ins de script de lançamento atualizados e configuração do dependabot.",
|
|
76
|
-
"nl": "Problemen met de adaptercontrole opgelost, resterende logberichten naar het Engels geconverteerd, release-scriptplug-ins en dependabot-configuratie bijgewerkt.",
|
|
77
|
-
"fr": "Correction des problèmes de vérification d'adaptateur, conversion des messages de journal restants en anglais, mise à jour des plugins de script de version et configuration des dépendances.",
|
|
78
|
-
"it": "Risolti i problemi di controllo dell'adattatore, convertiti i messaggi di registro rimanenti in inglese, aggiornati i plugin degli script di rilascio e la configurazione di dependabot.",
|
|
79
|
-
"es": "Se solucionaron problemas del verificador de adaptadores, se convirtieron los mensajes de registro restantes al inglés, se actualizaron los complementos del script de lanzamiento y la configuración del dependabot.",
|
|
80
|
-
"pl": "Naprawiono problemy z modułem sprawdzania adaptera, przekonwertowano pozostałe komunikaty dziennika na język angielski, zaktualizowano wtyczki skryptu wydania i konfigurację zależnego bota.",
|
|
81
|
-
"uk": "Виправлено проблеми перевірки адаптера, перетворено решту повідомлень журналу на англійську мову, оновлено плагіни сценарію випуску та конфігурацію dependabot.",
|
|
82
|
-
"zh-cn": "修复了适配器检查器问题,将剩余日志消息转换为英语,更新了发布脚本插件和 dependentabot 配置。"
|
|
83
70
|
}
|
|
84
71
|
},
|
|
85
72
|
"titleLang": {
|
|
@@ -146,8 +133,7 @@
|
|
|
146
133
|
{
|
|
147
134
|
"admin": ">=7.6.20"
|
|
148
135
|
}
|
|
149
|
-
]
|
|
150
|
-
"installedFrom": "file:///opt/iobroker/ioBroker.poolcontrol"
|
|
136
|
+
]
|
|
151
137
|
},
|
|
152
138
|
"native": {},
|
|
153
139
|
"objects": [],
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
|
|
3
|
+
const { I18n } = require('@iobroker/adapter-core');
|
|
4
|
+
|
|
2
5
|
/* eslint-disable jsdoc/require-param-description */
|
|
3
6
|
/* eslint-disable jsdoc/require-returns-description */
|
|
4
7
|
|
|
@@ -150,40 +153,40 @@ const aiChemistryHelpHelper = {
|
|
|
150
153
|
*/
|
|
151
154
|
_getHelpText(issue) {
|
|
152
155
|
const commonFooter =
|
|
153
|
-
|
|
154
|
-
'
|
|
155
|
-
'
|
|
156
|
-
'
|
|
156
|
+
`\n\n${I18n.t('Important:')}\n` +
|
|
157
|
+
`• ${I18n.t('Always proceed step by step: measure first → correct in small steps → let the water circulate → measure again.')}\n` +
|
|
158
|
+
`• ${I18n.t('Always follow the product instructions (concentration and pool volume may differ).')}\n` +
|
|
159
|
+
`• ${I18n.t('If you are unsure, correct more slowly rather than forcing it.')}\n`;
|
|
157
160
|
|
|
158
161
|
const map = {
|
|
159
162
|
// ----------------------------------------------------------
|
|
160
163
|
// pH
|
|
161
164
|
// ----------------------------------------------------------
|
|
162
165
|
ph_low:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
`•
|
|
168
|
-
`•
|
|
169
|
-
`•
|
|
170
|
-
|
|
171
|
-
`• pH
|
|
172
|
-
`•
|
|
166
|
+
`${I18n.t('Problem: pH value is too low (water is too acidic).')}\n\n` +
|
|
167
|
+
`${I18n.t('What this means:')}\n` +
|
|
168
|
+
`${I18n.t('A pH value that is too low can attack materials (metals / built-in parts) more strongly and can increase irritation during bathing. It can also make the overall water balance unstable.')}\n\n` +
|
|
169
|
+
`${I18n.t('Common causes:')}\n` +
|
|
170
|
+
`• ${I18n.t('A lot of rainwater / fresh water (can acidify the water)')}\n` +
|
|
171
|
+
`• ${I18n.t('Low alkalinity (buffer missing → pH drops faster)')}\n` +
|
|
172
|
+
`• ${I18n.t('Frequent corrections / backwashing / water changes')}\n\n` +
|
|
173
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
174
|
+
`• ${I18n.t('Raise the pH gradually with a pH increaser / pH plus product.')}\n` +
|
|
175
|
+
`• ${I18n.t('If the pH keeps dropping again, also check total alkalinity / the buffer, otherwise every pH correction will only hold for a short time.')}\n${
|
|
173
176
|
commonFooter
|
|
174
177
|
}`,
|
|
175
178
|
|
|
176
179
|
ph_high:
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
`•
|
|
182
|
-
`•
|
|
183
|
-
`•
|
|
184
|
-
|
|
185
|
-
`•
|
|
186
|
-
`•
|
|
180
|
+
`${I18n.t('Problem: pH value is too high (water is too alkaline).')}\n\n` +
|
|
181
|
+
`${I18n.t('What this means:')}\n` +
|
|
182
|
+
`${I18n.t('If the pH value is too high, chlorine / disinfection often works less effectively and cloudiness / precipitation (for example lime) can occur more easily. Eyes and skin may also become irritated.')}\n\n` +
|
|
183
|
+
`${I18n.t('Common causes:')}\n` +
|
|
184
|
+
`• ${I18n.t('Strong outgassing / a lot of bubbling (CO₂ escapes → pH rises)')}\n` +
|
|
185
|
+
`• ${I18n.t('Hard water / high alkalinity')}\n` +
|
|
186
|
+
`• ${I18n.t('Some pools / materials can initially push the pH upward')}\n\n` +
|
|
187
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
188
|
+
`• ${I18n.t('Lower the pH in small steps with a pH reducer / pH minus product.')}\n` +
|
|
189
|
+
`• ${I18n.t('If the pH repeatedly rises again, also consider alkalinity / water hardness, because this strongly affects stability.')}\n${
|
|
187
190
|
commonFooter
|
|
188
191
|
}`,
|
|
189
192
|
|
|
@@ -191,118 +194,118 @@ const aiChemistryHelpHelper = {
|
|
|
191
194
|
// Chlor
|
|
192
195
|
// ----------------------------------------------------------
|
|
193
196
|
chlor_low:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
`•
|
|
199
|
-
`•
|
|
200
|
-
`• pH
|
|
201
|
-
|
|
202
|
-
`•
|
|
203
|
-
`•
|
|
197
|
+
`${I18n.t('Problem: Chlorine level is too low.')}\n\n` +
|
|
198
|
+
`${I18n.t('What this means:')}\n` +
|
|
199
|
+
`${I18n.t('Too little effective chlorine can allow germs and algae to multiply more easily. Often the first signs are tired-looking water: less clarity, more odor, and deposits forming faster.')}\n\n` +
|
|
200
|
+
`${I18n.t('Common causes:')}\n` +
|
|
201
|
+
`• ${I18n.t('A lot of sun / UV exposure (chlorine breaks down faster)')}\n` +
|
|
202
|
+
`• ${I18n.t('High bathing load (sweat / organic matter consumes chlorine)')}\n` +
|
|
203
|
+
`• ${I18n.t('Unfavorable pH value (chlorine works less effectively)')}\n\n` +
|
|
204
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
205
|
+
`• ${I18n.t('Bring disinfection back into a normal range and check the pH in parallel.')}\n` +
|
|
206
|
+
`• ${I18n.t('If chlorine keeps dropping permanently, also check causes such as organic load, filter condition, and circulation.')}\n${
|
|
204
207
|
commonFooter
|
|
205
208
|
}`,
|
|
206
209
|
|
|
207
210
|
chlor_high:
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
`•
|
|
213
|
-
`•
|
|
214
|
-
|
|
215
|
-
`•
|
|
216
|
-
`•
|
|
217
|
-
`•
|
|
211
|
+
`${I18n.t('Problem: Chlorine level is too high.')}\n\n` +
|
|
212
|
+
`${I18n.t('What this means:')}\n` +
|
|
213
|
+
`${I18n.t('A chlorine level that is too high can irritate eyes and skin, cause strong odor, and put more stress on materials and covers. In this situation, adding even more chemicals is almost never the right direction.')}\n\n` +
|
|
214
|
+
`${I18n.t('Common causes:')}\n` +
|
|
215
|
+
`• ${I18n.t('Too much chlorine added / shock treatment too high')}\n` +
|
|
216
|
+
`• ${I18n.t('Too little natural breakdown (cover on + little sun)')}\n\n` +
|
|
217
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
218
|
+
`• ${I18n.t('Do not add more chlorine.')}\n` +
|
|
219
|
+
`• ${I18n.t('Let time do the work (sun / UV reduces chlorine) and keep the water circulating well.')}\n` +
|
|
220
|
+
`• ${I18n.t('Only evaluate further corrections (for example pH) once chlorine is back in a normal range.')}\n${
|
|
218
221
|
commonFooter
|
|
219
222
|
}`,
|
|
220
223
|
|
|
221
224
|
chlor_no_effect:
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
`•
|
|
227
|
-
`•
|
|
228
|
-
`•
|
|
229
|
-
|
|
230
|
-
`•
|
|
231
|
-
`•
|
|
232
|
-
`•
|
|
225
|
+
`${I18n.t('Problem: Chlorine level does not rise despite dosing.')}\n\n` +
|
|
226
|
+
`${I18n.t('What this means:')}\n` +
|
|
227
|
+
`${I18n.t('This often happens when the water has a high chlorine demand: the added chlorine is consumed immediately before a stable free chlorine level can remain measurable.')}\n\n` +
|
|
228
|
+
`${I18n.t('Common causes:')}\n` +
|
|
229
|
+
`• ${I18n.t('High organic load (dirt, biofilm, heavy use)')}\n` +
|
|
230
|
+
`• ${I18n.t('Early / invisible algae growth')}\n` +
|
|
231
|
+
`• ${I18n.t('Strongly incorrect pH value (effectiveness reduced)')}\n\n` +
|
|
232
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
233
|
+
`• ${I18n.t('First check the basic values (pH, filter / circulation, visual inspection for deposits).')}\n` +
|
|
234
|
+
`• ${I18n.t('Get the water clean again (clean / backwash the filter, brush the pool), so chlorine is not only being consumed immediately.')}\n` +
|
|
235
|
+
`• ${I18n.t('If no effect can be measured permanently, there is often an oxidative demand present (chlorine is immediately bound / broken down) – then only consistent reduction of the causes and measuring again will help.')}\n${
|
|
233
236
|
commonFooter
|
|
234
237
|
}`,
|
|
235
238
|
|
|
236
239
|
chlor_smell:
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
`•
|
|
242
|
-
`•
|
|
243
|
-
`•
|
|
244
|
-
|
|
245
|
-
`•
|
|
246
|
-
`•
|
|
240
|
+
`${I18n.t('Problem: Strong chlorine smell despite the measured value.')}\n\n` +
|
|
241
|
+
`${I18n.t('What this means:')}\n` +
|
|
242
|
+
`${I18n.t('The typical indoor pool smell often does not come from too much good chlorine, but from bound chlorine compounds (chloramines). These are formed when chlorine combines with nitrogen / organic matter from sweat and similar contamination.')}\n\n` +
|
|
243
|
+
`${I18n.t('Common causes:')}\n` +
|
|
244
|
+
`• ${I18n.t('High bathing load / organic input')}\n` +
|
|
245
|
+
`• ${I18n.t('Too little fresh water / breakdown / filter care')}\n` +
|
|
246
|
+
`• ${I18n.t('Poor ventilation (for indoor pools) increases the perceived smell')}\n\n` +
|
|
247
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
248
|
+
`• ${I18n.t('The goal is to reduce bound contamination: good circulation / filtration, pool cleaning, and possibly a fresh water share.')}\n` +
|
|
249
|
+
`• ${I18n.t('Also check the pH in parallel, because an incorrect pH further reduces disinfection performance.')}\n${commonFooter}`,
|
|
247
250
|
|
|
248
251
|
// ----------------------------------------------------------
|
|
249
252
|
// Wasserbild / Optik
|
|
250
253
|
// ----------------------------------------------------------
|
|
251
254
|
water_green:
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
`•
|
|
257
|
-
`• pH
|
|
258
|
-
`•
|
|
259
|
-
`•
|
|
260
|
-
|
|
261
|
-
`•
|
|
262
|
-
`•
|
|
263
|
-
`•
|
|
255
|
+
`${I18n.t('Problem: Water is green.')}\n\n` +
|
|
256
|
+
`${I18n.t('What this means:')}\n` +
|
|
257
|
+
`${I18n.t('Green water is very often a sign of algae growth (often caused by too little effective chlorine and / or poor circulation).')}\n\n` +
|
|
258
|
+
`${I18n.t('Common causes:')}\n` +
|
|
259
|
+
`• ${I18n.t('Free chlorine too low or already consumed')}\n` +
|
|
260
|
+
`• ${I18n.t('pH too high → chlorine works much less effectively')}\n` +
|
|
261
|
+
`• ${I18n.t('Insufficient filter / circulation or dirty filter')}\n` +
|
|
262
|
+
`• ${I18n.t('High temperature + sun (algae growth is encouraged)')}\n\n` +
|
|
263
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
264
|
+
`• ${I18n.t('Check the water values (especially pH and chlorine) and improve circulation / filter condition.')}\n` +
|
|
265
|
+
`• ${I18n.t('Brush / vacuum the pool thoroughly so deposits do not survive.')}\n` +
|
|
266
|
+
`• ${I18n.t('Then let the filter run patiently until the water becomes clear again.')}\n${commonFooter}`,
|
|
264
267
|
|
|
265
268
|
water_cloudy:
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
`•
|
|
271
|
-
`• pH/
|
|
272
|
-
`•
|
|
273
|
-
`•
|
|
274
|
-
|
|
275
|
-
`•
|
|
276
|
-
`•
|
|
277
|
-
`•
|
|
269
|
+
`${I18n.t('Problem: Water is cloudy / gray / milky.')}\n\n` +
|
|
270
|
+
`${I18n.t('What this means:')}\n` +
|
|
271
|
+
`${I18n.t('Cloudy water is often caused by fine suspended particles or chemical imbalances (for example pH / alkalinity / lime) that the filter cannot handle well.')}\n\n` +
|
|
272
|
+
`${I18n.t('Common causes:')}\n` +
|
|
273
|
+
`• ${I18n.t('Dirty filter / filter runtime too short')}\n` +
|
|
274
|
+
`• ${I18n.t('pH / alkalinity outside the stable range')}\n` +
|
|
275
|
+
`• ${I18n.t('High water hardness (lime) – especially together with high pH')}\n` +
|
|
276
|
+
`• ${I18n.t('Too little disinfection → biological cloudiness is possible')}\n\n` +
|
|
277
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
278
|
+
`• ${I18n.t('Check the filter condition (cleaning / backwashing) and ensure sufficient circulation.')}\n` +
|
|
279
|
+
`• ${I18n.t('Check the basic values pH / chlorine and stabilize them.')}\n` +
|
|
280
|
+
`• ${I18n.t('If the cloudiness looks mineral (milky / white), also consider water hardness / balance.')}\n${
|
|
278
281
|
commonFooter
|
|
279
282
|
}`,
|
|
280
283
|
|
|
281
284
|
algae_visible:
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
`•
|
|
287
|
-
`• pH
|
|
288
|
-
`•
|
|
289
|
-
|
|
290
|
-
`•
|
|
291
|
-
`•
|
|
292
|
-
`•
|
|
285
|
+
`${I18n.t('Problem: Algae visible on walls or floor.')}\n\n` +
|
|
286
|
+
`${I18n.t('What this means:')}\n` +
|
|
287
|
+
`${I18n.t('Visible algae are a clear sign that disinfection / circulation was not sufficient or that local dead zones are forming (corners / pipes).')}\n\n` +
|
|
288
|
+
`${I18n.t('Common causes:')}\n` +
|
|
289
|
+
`• ${I18n.t('Chlorine too low or already consumed')}\n` +
|
|
290
|
+
`• ${I18n.t('pH too high (chlorine works less effectively)')}\n` +
|
|
291
|
+
`• ${I18n.t('Too little brushing / pool care, poor circulation')}\n\n` +
|
|
292
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
293
|
+
`• ${I18n.t('Mechanics first: brush / vacuum consistently, maintain the filter.')}\n` +
|
|
294
|
+
`• ${I18n.t('Then stabilize the values (pH / chlorine) and improve circulation.')}\n` +
|
|
295
|
+
`• ${I18n.t('The goal is to remove algae not only chemically, but also mechanically.')}\n${commonFooter}`,
|
|
293
296
|
|
|
294
297
|
foam_on_surface:
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
`•
|
|
300
|
-
`•
|
|
301
|
-
`•
|
|
302
|
-
|
|
303
|
-
`•
|
|
304
|
-
`• pH/
|
|
305
|
-
`•
|
|
298
|
+
`${I18n.t('Problem: Foam on the water surface.')}\n\n` +
|
|
299
|
+
`${I18n.t('What this means:')}\n` +
|
|
300
|
+
`${I18n.t('Foam is often caused by surfactants / organic matter (sunscreen, body care products, cleaning residues), some algaecides / polymers, or also air in the system. It is usually not a chlorine problem, but rather a substances-in-the-water problem.')}\n\n` +
|
|
301
|
+
`${I18n.t('Common causes:')}\n` +
|
|
302
|
+
`• ${I18n.t('A lot of lotions / oils in the water, high organic load')}\n` +
|
|
303
|
+
`• ${I18n.t('Certain anti-algae products can promote foam')}\n` +
|
|
304
|
+
`• ${I18n.t('Air entering the system (small leaks) → foam appears stronger')}\n\n` +
|
|
305
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
306
|
+
`• ${I18n.t('Skim off the surface, keep the filter clean, and reduce organic input.')}\n` +
|
|
307
|
+
`• ${I18n.t('Keep an eye on pH / chlorine as well (stable values help break down organic matter faster).')}\n` +
|
|
308
|
+
`• ${I18n.t('If foam remains permanently, systematically narrow down the source (products / contamination / technology).')}\n${
|
|
306
309
|
commonFooter
|
|
307
310
|
}`,
|
|
308
311
|
|
|
@@ -310,40 +313,40 @@ const aiChemistryHelpHelper = {
|
|
|
310
313
|
// Badegefühl / Stabilität
|
|
311
314
|
// ----------------------------------------------------------
|
|
312
315
|
skin_eye_irritation:
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
`• pH
|
|
318
|
-
`•
|
|
319
|
-
`•
|
|
320
|
-
|
|
321
|
-
`•
|
|
322
|
-
`•
|
|
323
|
-
`•
|
|
316
|
+
`${I18n.t('Problem: Skin or eye irritation while swimming.')}\n\n` +
|
|
317
|
+
`${I18n.t('What this means:')}\n` +
|
|
318
|
+
`${I18n.t('Irritation can have several causes: pH that is too high or very low, too high a disinfectant concentration, or bound chlorine compounds (chloramines) caused by organic contamination.')}\n\n` +
|
|
319
|
+
`${I18n.t('Common causes:')}\n` +
|
|
320
|
+
`• ${I18n.t('pH outside the comfortable range')}\n` +
|
|
321
|
+
`• ${I18n.t('Chlorine clearly too high')}\n` +
|
|
322
|
+
`• ${I18n.t('Chlorine smell / chloramines caused by strong organic input')}\n\n` +
|
|
323
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
324
|
+
`• ${I18n.t('Measure first (pH and chlorine) and bring the values back into a normal range.')}\n` +
|
|
325
|
+
`• ${I18n.t('Keep the pool / filter clean so that organic contamination does not turn into bound compounds.')}\n` +
|
|
326
|
+
`• ${I18n.t('If irritation is strong, pause swimming until the water values are stable.')}\n${commonFooter}`,
|
|
324
327
|
|
|
325
328
|
values_unstable:
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
`•
|
|
331
|
-
`•
|
|
332
|
-
`•
|
|
333
|
-
`•
|
|
334
|
-
|
|
335
|
-
`•
|
|
336
|
-
`•
|
|
329
|
+
`${I18n.t('Problem: Water values are often unstable (change quickly).')}\n\n` +
|
|
330
|
+
`${I18n.t('What this means:')}\n` +
|
|
331
|
+
`${I18n.t('If pH / chlorine fluctuate strongly all the time, the water often lacks stability: the buffer (alkalinity) is too low / too high, the load changes frequently, or circulation / filtration is not constant enough.')}\n\n` +
|
|
332
|
+
`${I18n.t('Common causes:')}\n` +
|
|
333
|
+
`• ${I18n.t('Total alkalinity too low → pH jumps / tips over quickly')}\n` +
|
|
334
|
+
`• ${I18n.t('Many small corrections without enough circulation time')}\n` +
|
|
335
|
+
`• ${I18n.t('Poor filter condition / filter times too short')}\n` +
|
|
336
|
+
`• ${I18n.t('Strong external influences (rain, heat, heavy use)')}\n\n` +
|
|
337
|
+
`${I18n.t('Typical corrective direction:')}\n` +
|
|
338
|
+
`• ${I18n.t('First get the basics stable (buffer / filter / regularity), then only fine-tune.')}\n` +
|
|
339
|
+
`• ${I18n.t('Always correct in small steps and allow enough time for mixing.')}\n${commonFooter}`,
|
|
337
340
|
|
|
338
341
|
unknown_problem:
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
`1)
|
|
342
|
-
`2)
|
|
343
|
-
`3)
|
|
344
|
-
|
|
345
|
-
`•
|
|
346
|
-
`•
|
|
342
|
+
`${I18n.t('Problem: It is unclear what exactly is wrong.')}\n\n` +
|
|
343
|
+
`${I18n.t('Procedure (minimal and sensible):')}\n` +
|
|
344
|
+
`1) ${I18n.t('Visual check: Green? Cloudy? Deposits? Foam?')}\n` +
|
|
345
|
+
`2) ${I18n.t('Two measured values are enough for the start: pH + free chlorine.')}\n` +
|
|
346
|
+
`3) ${I18n.t('Check the technology: Is circulation running? Is the filter clean? Is backwashing needed?')}\n\n` +
|
|
347
|
+
`${I18n.t('Typical rule of thumb:')}\n` +
|
|
348
|
+
`• ${I18n.t('Visual problems (green / cloudy) are very often a combination of disinfection + pH + filtration.')}\n` +
|
|
349
|
+
`• ${I18n.t('Odor / irritation is often not too much chlorine, but incorrectly bound / organically loaded water.')}\n${
|
|
347
350
|
commonFooter
|
|
348
351
|
}`,
|
|
349
352
|
};
|
|
@@ -354,8 +357,8 @@ const aiChemistryHelpHelper = {
|
|
|
354
357
|
|
|
355
358
|
// Fallback
|
|
356
359
|
return (
|
|
357
|
-
|
|
358
|
-
|
|
360
|
+
`${I18n.t('Note: This problem is not known yet.')}\n\n` +
|
|
361
|
+
`${I18n.t('Please select one of the existing items or use "Issue unclear / not specific".')}\n${
|
|
359
362
|
commonFooter
|
|
360
363
|
}`
|
|
361
364
|
);
|
package/lib/i18n/de.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"No issue selected": "Kein Problem ausgewählt",
|
|
3
|
+
"pH is too low": "pH-Wert zu niedrig",
|
|
4
|
+
"pH is too high": "pH-Wert zu hoch",
|
|
5
|
+
"Chlorine is too low": "Chlorwert zu niedrig",
|
|
6
|
+
"Chlorine is too high": "Chlorwert zu hoch",
|
|
7
|
+
"Chlorine does not rise despite dosing": "Chlorwert steigt trotz Dosierung nicht",
|
|
8
|
+
"Strong chlorine smell despite reading": "Starker Chlorgeruch trotz Messwert",
|
|
9
|
+
"Water is green": "Wasser ist grün",
|
|
10
|
+
"Water is cloudy / gray / milky": "Wasser ist trüb / grau / milchig",
|
|
11
|
+
"Algae visible on walls or floor": "Algen sichtbar an Wänden oder Boden",
|
|
12
|
+
"Foam on the water surface": "Schaum auf der Wasseroberfläche",
|
|
13
|
+
"Skin or eye irritation when swimming": "Haut- oder Augenreizungen beim Schwimmen",
|
|
14
|
+
"Water values are often unstable": "Wasserwerte sind häufig instabil",
|
|
15
|
+
"Issue unclear / not specific": "Problem unklar / nicht eindeutig",
|
|
16
|
+
|
|
17
|
+
"Important:": "Wichtig:",
|
|
18
|
+
"Always proceed step by step: measure first → correct in small steps → let the water circulate → measure again.": "Immer schrittweise vorgehen: erst messen → klein korrigieren → umwälzen lassen → erneut messen.",
|
|
19
|
+
"Always follow the product instructions (concentration and pool volume may differ).": "Immer die Angaben auf dem Produkt beachten (Konzentration und Beckenvolumen können abweichen).",
|
|
20
|
+
"If you are unsure, correct more slowly rather than forcing it.": "Wenn du unsicher bist: lieber langsamer korrigieren als mit Gewalt.",
|
|
21
|
+
|
|
22
|
+
"Problem: pH value is too low (water is too acidic).": "Problem: pH-Wert ist zu niedrig (Wasser ist zu sauer).",
|
|
23
|
+
"What this means:": "Was das bedeutet:",
|
|
24
|
+
"A pH value that is too low can attack materials (metals / built-in parts) more strongly and can increase irritation during bathing. It can also make the overall water balance unstable.": "Ein zu niedriger pH-Wert kann Materialien (Metalle / Einbauteile) stärker angreifen und Reizungen beim Baden begünstigen. Außerdem kann die Wasserbalance instabil werden.",
|
|
25
|
+
"Common causes:": "Häufige Ursachen:",
|
|
26
|
+
"A lot of rainwater / fresh water (can acidify the water)": "Viel Regen- oder Frischwasser (kann das Wasser ansäuern)",
|
|
27
|
+
"Low alkalinity (buffer missing → pH drops faster)": "Niedrige Alkalinität (Puffer fehlt → pH fällt schneller)",
|
|
28
|
+
"Frequent corrections / backwashing / water changes": "Häufige Korrekturen / Rückspülen / Wasserwechsel",
|
|
29
|
+
"Typical corrective direction:": "Übliche Lösungsrichtung:",
|
|
30
|
+
"Raise the pH gradually with a pH increaser / pH plus product.": "pH-Wert schrittweise mit pH-Plus anheben.",
|
|
31
|
+
"If the pH keeps dropping again, also check total alkalinity / the buffer, otherwise every pH correction will only hold for a short time.": "Wenn der pH-Wert immer wieder fällt, auch die Alkalinität prüfen, sonst hält die Korrektur nicht lange.",
|
|
32
|
+
|
|
33
|
+
"Problem: pH value is too high (water is too alkaline).": "Problem: pH-Wert ist zu hoch (Wasser ist zu basisch).",
|
|
34
|
+
"If the pH value is too high, chlorine / disinfection often works less effectively and cloudiness / precipitation (for example lime) can occur more easily. Eyes and skin may also become irritated.": "Bei zu hohem pH-Wert wirkt Chlor schlechter und es kann zu Trübungen oder Ausfällungen (z. B. Kalk) kommen. Auch Augen und Haut können gereizt werden.",
|
|
35
|
+
"Strong outgassing / a lot of bubbling (CO₂ escapes → pH rises)": "Starkes Ausgasen / viel Sprudel (CO₂ entweicht → pH steigt)",
|
|
36
|
+
"Hard water / high alkalinity": "Hartes Wasser / hohe Alkalinität",
|
|
37
|
+
"Some pools / materials can initially push the pH upward": "Einige Becken oder Materialien können den pH-Wert anfangs erhöhen",
|
|
38
|
+
"Lower the pH in small steps with a pH reducer / pH minus product.": "pH-Wert in kleinen Schritten mit pH-Minus senken.",
|
|
39
|
+
"If the pH repeatedly rises again, also consider alkalinity / water hardness, because this strongly affects stability.": "Wenn der pH-Wert immer wieder steigt, auch Alkalinität und Wasserhärte prüfen.",
|
|
40
|
+
|
|
41
|
+
"Problem: Chlorine level is too low.": "Problem: Chlorwert ist zu niedrig.",
|
|
42
|
+
"Too little effective chlorine can allow germs and algae to multiply more easily. Often the first signs are tired-looking water: less clarity, more odor, and deposits forming faster.": "Zu wenig wirksames Chlor lässt Keime und Algen leichter wachsen. Erste Anzeichen sind oft trübes Wasser, Geruch und schnellerer Belag.",
|
|
43
|
+
"A lot of sun / UV exposure (chlorine breaks down faster)": "Viel Sonne / UV (Chlor baut sich schneller ab)",
|
|
44
|
+
"High bathing load (sweat / organic matter consumes chlorine)": "Hohe Badebelastung (Schweiß / organische Stoffe verbrauchen Chlor)",
|
|
45
|
+
"Unfavorable pH value (chlorine works less effectively)": "Ungünstiger pH-Wert (Chlor wirkt schlechter)",
|
|
46
|
+
"Bring disinfection back into a normal range and check the pH in parallel.": "Desinfektion wieder in den Normalbereich bringen und pH prüfen.",
|
|
47
|
+
"If chlorine keeps dropping permanently, also check causes such as organic load, filter condition, and circulation.": "Wenn Chlor dauerhaft sinkt, Ursachen wie Belastung, Filterzustand und Umwälzung prüfen.",
|
|
48
|
+
|
|
49
|
+
"Problem: Chlorine level is too high.": "Problem: Chlorwert ist zu hoch.",
|
|
50
|
+
"A chlorine level that is too high can irritate eyes and skin, cause strong odor, and put more stress on materials and covers. In this situation, adding even more chemicals is almost never the right direction.": "Zu viel Chlor kann Augen und Haut reizen, starken Geruch verursachen und Materialien belasten. Mehr Chemie ist hier fast nie sinnvoll.",
|
|
51
|
+
"Too much chlorine added / shock treatment too high": "Zu viel Chlor zugegeben / Schockbehandlung zu hoch",
|
|
52
|
+
"Too little natural breakdown (cover on + little sun)": "Zu wenig Abbau (Abdeckung drauf + wenig Sonne)",
|
|
53
|
+
"Do not add more chlorine.": "Kein weiteres Chlor zugeben.",
|
|
54
|
+
"Let time do the work (sun / UV reduces chlorine) and keep the water circulating well.": "Zeit wirken lassen (Sonne / UV baut Chlor ab) und gut umwälzen.",
|
|
55
|
+
"Only evaluate further corrections (for example pH) once chlorine is back in a normal range.": "Weitere Korrekturen erst vornehmen, wenn Chlor wieder im Normalbereich ist.",
|
|
56
|
+
|
|
57
|
+
"Problem: Water is green.": "Problem: Wasser ist grün.",
|
|
58
|
+
"Green water is very often a sign of algae growth (often caused by too little effective chlorine and / or poor circulation).": "Grünes Wasser ist meist ein Zeichen für Algenwachstum (oft durch zu wenig Chlor oder schlechte Umwälzung).",
|
|
59
|
+
"Free chlorine too low or already consumed": "Freies Chlor zu niedrig oder bereits verbraucht",
|
|
60
|
+
"pH too high → chlorine works much less effectively": "pH zu hoch → Chlor wirkt schlechter",
|
|
61
|
+
"Insufficient filter / circulation or dirty filter": "Zu wenig Umwälzung oder verschmutzter Filter",
|
|
62
|
+
"High temperature + sun (algae growth is encouraged)": "Hohe Temperatur + Sonne fördern Algenwachstum",
|
|
63
|
+
"Check the water values (especially pH and chlorine) and improve circulation / filter condition.": "Wasserwerte prüfen (pH und Chlor) und Umwälzung / Filter verbessern.",
|
|
64
|
+
"Brush / vacuum the pool thoroughly so deposits do not survive.": "Becken gründlich bürsten / absaugen.",
|
|
65
|
+
"Then let the filter run patiently until the water becomes clear again.": "Dann geduldig filtern lassen, bis das Wasser wieder klar ist.",
|
|
66
|
+
|
|
67
|
+
"Note: This problem is not known yet.": "Hinweis: Dieses Problem ist noch nicht bekannt.",
|
|
68
|
+
"Please select one of the existing items or use \"Issue unclear / not specific\".": "Bitte einen vorhandenen Punkt auswählen oder \"Problem unklar\" nutzen."
|
|
69
|
+
}
|