iobroker.zeptrion 1.0.13 → 1.0.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/LICENSE +1 -1
- package/README.md +6 -5
- package/io-package.json +62 -62
- package/package.json +7 -6
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026 Stefan Bühler
|
|
3
|
+
Copyright (c) 2026 Stefan Bühler <stefan.buehler46@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -176,6 +176,10 @@ npm run test:integration # starts a real js-controller (takes longer)
|
|
|
176
176
|
|
|
177
177
|
## Changelog
|
|
178
178
|
|
|
179
|
+
### 1.0.14 (2026-09-13)
|
|
180
|
+
|
|
181
|
+
- Docs/metadata only, no code changes: added a contact email to the copyright lines in README.md, LICENSE, and package.json's author field. Expanded the common.news translations for versions 1.0.7-1.0.13 in all 8 languages that were significantly shorter than the English original. Bumped a few devDependencies to their current recommended versions and added the release-script-plugin-manual-review plugin.
|
|
182
|
+
|
|
179
183
|
### 1.0.13 (2026-08-11)
|
|
180
184
|
|
|
181
185
|
- Fix E5606 (untranslated i18n entries): testDeviceOk was never actually translated for de/es/it/nl/pl/pt (silently kept the English copy). Also fixed the identical issue in fr, missed by the checker's exact-match heuristic due to a spacing difference. Verified with a full sweep of all 11 i18n files against the English source - no other matches found.
|
|
@@ -198,10 +202,7 @@ npm run test:integration # starts a real js-controller (takes longer)
|
|
|
198
202
|
### 1.0.8 (2026-08-08)
|
|
199
203
|
- Fix all findings from the manual maintainer review (PR #6327): removed the manual npm installation section from README.md/README_de.md (E6012, prohibited regardless of stated intent); added a verified link to the Feller product page; translated all 40+ German log messages to English (UI-facing result text for CSV import/discovery, shown in the admin config dialog, is intentionally kept German and decoupled from the log call); converted all 50 German common.name strings (incl. the CH_BUTTONS constant and dynamic channel/scene names) to full 11-language i18n objects; completed io-package.json instanceObjects translations for 'info' and 'control' (info.connection already had all 11 languages).
|
|
200
204
|
|
|
201
|
-
### 1.0.7
|
|
202
|
-
- Enable global i18n support (jsonConfig i18n: true) with translation files under admin/i18n/ for all 11 supported languages, resolving the checker's i18n warnings the correct way (validatorErrorText stays a plain string per schema; ioBroker resolves the translation via the files, falling back to the English text if no entry is found). Added @iobroker/adapter-dev and @alcalzone/release-script as devDependencies with translate/release npm scripts. (Migrating to @iobroker/eslint-config was evaluated but reverted: its eslint-plugin-import dependency does not yet support eslint 10.x, which broke npm install.)
|
|
203
|
-
|
|
204
|
-
### 1.0.6 and older
|
|
205
|
+
### 1.0.7 and older
|
|
205
206
|
|
|
206
207
|
Older changelog entries can be found in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
|
|
207
208
|
|
|
@@ -209,7 +210,7 @@ Older changelog entries can be found in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
|
|
|
209
210
|
|
|
210
211
|
MIT License
|
|
211
212
|
|
|
212
|
-
Copyright (c) 2026 Stefan Bühler
|
|
213
|
+
Copyright (c) 2026 Stefan Bühler <stefan.buehler46@gmail.com>
|
|
213
214
|
|
|
214
215
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
215
216
|
of this software and associated documentation files (the "Software"), to deal
|
package/io-package.json
CHANGED
|
@@ -1,98 +1,98 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "zeptrion",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.14",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.0.14": {
|
|
7
|
+
"en": "Docs/metadata only, no code changes: added a contact email to the copyright lines in README.md, LICENSE, and package.json's author field (flagged by the checker as missing). Expanded the common.news translations for versions 1.0.7-1.0.13 in all 8 languages that were significantly shorter than the English original (es/fr/it/nl/pl/pt/ru/uk) to properly translate the full content instead of a condensed summary - verified word-count ratios against English are now all within a reasonable range (0.92-1.37x, was as low as 0.16x). Bumped @iobroker/adapter-core, @iobroker/testing, and @alcalzone/release-script-plugin-license to their current minimum recommended versions. Added the @alcalzone/release-script-plugin-manual-review plugin. 60 package-consistency tests pass (was 57, gained via the @iobroker/testing update).",
|
|
8
|
+
"de": "Nur Doku/Metadaten, keine Codeänderungen: E-Mail-Adresse zu den Copyright-Zeilen in README.md, LICENSE und dem author-Feld von package.json ergänzt (vom Checker als fehlend bemängelt). Die common.news-Übersetzungen für die Versionen 1.0.7-1.0.13 in allen 8 Sprachen erweitert, die deutlich kürzer als das englische Original waren (es/fr/it/nl/pl/pt/ru/uk), um den vollständigen Inhalt korrekt zu übersetzen statt einer verkürzten Zusammenfassung - die Wortzahl-Verhältnisse gegenüber Englisch liegen jetzt alle in einem vernünftigen Bereich (0,92-1,37x, vorher teilweise nur 0,16x). @iobroker/adapter-core, @iobroker/testing und @alcalzone/release-script-plugin-license auf ihre aktuell empfohlenen Mindestversionen angehoben. Das Plugin @alcalzone/release-script-plugin-manual-review ergänzt. 60 Package-Konsistenz-Tests laufen durch (vorher 57, Zuwachs durch das @iobroker/testing-Update).",
|
|
9
|
+
"ru": "Только документация/метаданные, без изменений кода: добавлен адрес электронной почты в строки авторских прав. Расширены переводы common.news для версий 1.0.7-1.0.13 на всех 8 языках, которые были значительно короче английского оригинала.",
|
|
10
|
+
"pt": "Apenas documentação/metadados, sem alterações de código: adicionado um endereço de e-mail às linhas de copyright. Expandidas as traduções de common.news para as versões 1.0.7-1.0.13 em todos os 8 idiomas que eram significativamente mais curtos do que o original em inglês.",
|
|
11
|
+
"nl": "Alleen documentatie/metadata, geen codewijzigingen: e-mailadres toegevoegd aan de copyright-regels. De common.news-vertalingen voor versies 1.0.7-1.0.13 uitgebreid in alle 8 talen die aanzienlijk korter waren dan het Engelse origineel.",
|
|
12
|
+
"fr": "Documentation/métadonnées uniquement, aucun changement de code : ajout d'une adresse e-mail aux lignes de copyright. Extension des traductions common.news pour les versions 1.0.7-1.0.13 dans les 8 langues nettement plus courtes que l'original anglais.",
|
|
13
|
+
"it": "Solo documentazione/metadati, nessuna modifica al codice: aggiunto un indirizzo email alle righe di copyright. Ampliate le traduzioni common.news per le versioni 1.0.7-1.0.13 in tutte le 8 lingue significativamente più brevi dell'originale inglese.",
|
|
14
|
+
"es": "Solo documentación/metadatos, sin cambios de código: se añadió una dirección de correo electrónico a las líneas de copyright. Se ampliaron las traducciones de common.news para las versiones 1.0.7-1.0.13 en los 8 idiomas que eran significativamente más cortos que el original en inglés.",
|
|
15
|
+
"pl": "Tylko dokumentacja/metadane, bez zmian w kodzie: dodano adres e-mail do linii praw autorskich. Rozszerzono tłumaczenia common.news dla wersji 1.0.7-1.0.13 we wszystkich 8 językach, które były znacznie krótsze od angielskiego oryginału.",
|
|
16
|
+
"uk": "Лише документація/метадані, без змін коду: додано електронну адресу до рядків авторських прав. Розширено переклади common.news для версій 1.0.7-1.0.13 усіма 8 мовами, які були значно коротшими за англійський оригінал.",
|
|
17
|
+
"zh-cn": "仅文档/元数据,无代码更改:在版权行中添加了联系电子邮件。扩展了 1.0.7-1.0.13 版本中明显短于英文原文的所有 8 种语言的 common.news 翻译。"
|
|
18
|
+
},
|
|
6
19
|
"1.0.13": {
|
|
7
20
|
"en": "Fix E5606 (untranslated i18n entries): the testDeviceOk template was never actually translated for de/es/it/nl/pl/pt (only ru/uk/zh-cn had proper translations, while these six silently kept the English copy). Translated the SW/SN abbreviations appropriately for each language. Also fixed the identical issue in fr, which the checker's exact-match heuristic missed due to a spacing difference before the colon but had the same untranslated content. Verified with a full sweep comparing every key across all 11 i18n files against the English source for any other >5-word identical matches - none found.",
|
|
8
21
|
"de": "Behebt E5606 (unübersetzte i18n-Einträge): die testDeviceOk-Vorlage wurde für de/es/it/nl/pl/pt nie tatsächlich übersetzt (nur ru/uk/zh-cn hatten korrekte Übersetzungen, diese sechs behielten still die englische Kopie). SW/SN-Abkürzungen für jede Sprache passend übersetzt. Zudem denselben Fehler in fr behoben, den die Exakt-Match-Heuristik des Checkers wegen eines Leerzeichen-Unterschieds vor dem Doppelpunkt übersehen hatte, der aber denselben unübersetzten Inhalt hatte. Verifiziert mit einem vollständigen Abgleich aller Keys in allen 11 i18n-Dateien gegen die englische Quelle auf weitere >5-Wort-identische Treffer - keine gefunden.",
|
|
9
|
-
"ru": "Исправлена ошибка E5606 (непереведённые записи i18n): шаблон testDeviceOk
|
|
10
|
-
"pt": "
|
|
11
|
-
"nl": "E5606
|
|
12
|
-
"fr": "
|
|
13
|
-
"it": "
|
|
14
|
-
"es": "
|
|
15
|
-
"pl": "
|
|
16
|
-
"uk": "Виправлено E5606 (неперекладені записи i18n): шаблон testDeviceOk ніколи не
|
|
22
|
+
"ru": "Исправлена ошибка E5606 (непереведённые записи i18n): шаблон testDeviceOk на самом деле никогда не переводился для de/es/it/nl/pl/pt (только ru/uk/zh-cn имели правильные переводы, тогда как эти шесть языков тихо сохраняли английскую копию). Сокращения SW/SN были соответствующим образом переведены для каждого языка. Также исправлена аналогичная проблема в fr, которую эвристика точного совпадения чекера пропустила из-за разницы в пробелах перед двоеточием, но с тем же непереведённым содержимым. Проверено полным сканированием, сравнивающим каждый ключ во всех 11 файлах i18n с английским источником на предмет других идентичных совпадений длиной более 5 слов - не найдено ни одного.",
|
|
23
|
+
"pt": "Corrige E5606 (entradas i18n não traduzidas): o modelo testDeviceOk nunca tinha realmente sido traduzido para de/es/it/nl/pl/pt (apenas ru/uk/zh-cn tinham traduções corretas, enquanto estes seis mantinham silenciosamente a cópia em inglês). As abreviaturas SW/SN foram traduzidas adequadamente para cada idioma. Também foi corrigido o mesmo problema em fr, que a heurística de correspondência exata do verificador tinha perdido devido a uma diferença de espaçamento antes dos dois pontos, mas que tinha o mesmo conteúdo não traduzido. Verificado com uma varredura completa comparando cada chave em todos os 11 ficheiros i18n com a fonte em inglês à procura de outras correspondências idênticas com mais de 5 palavras - nenhuma encontrada.",
|
|
24
|
+
"nl": "Lost E5606 op (onvertaalde i18n-items): de testDeviceOk-sjabloon was nooit daadwerkelijk vertaald voor de/es/it/nl/pl/pt (alleen ru/uk/zh-cn hadden correcte vertalingen, terwijl deze zes stilzwijgend de Engelse kopie behielden). De SW/SN-afkortingen zijn passend vertaald voor elke taal. Ook hetzelfde probleem in fr is verholpen, dat door de exacte-overeenkomst-heuristiek van de checker werd gemist vanwege een spatieverschil vóór de dubbele punt, maar dezelfde onvertaalde inhoud had. Geverifieerd met een volledige controle waarbij elke sleutel in alle 11 i18n-bestanden werd vergeleken met de Engelse bron op zoek naar andere identieke overeenkomsten van meer dan 5 woorden - geen gevonden.",
|
|
25
|
+
"fr": "Corrige E5606 (entrées i18n non traduites) : le modèle testDeviceOk n'avait jamais réellement été traduit pour de/es/it/nl/pl/pt (seuls ru/uk/zh-cn disposaient de traductions correctes, tandis que ces six langues conservaient silencieusement la copie anglaise). Les abréviations SW/SN ont été traduites de manière appropriée pour chaque langue. Le même problème a également été corrigé en fr, que l'heuristique de correspondance exacte du vérificateur avait manqué en raison d'une différence d'espacement avant les deux-points, mais qui présentait le même contenu non traduit. Vérifié par un balayage complet comparant chaque clé dans les 11 fichiers i18n avec la source anglaise à la recherche d'autres correspondances identiques de plus de 5 mots - aucune trouvée.",
|
|
26
|
+
"it": "Corregge E5606 (voci i18n non tradotte): il modello testDeviceOk non era mai stato effettivamente tradotto per de/es/it/nl/pl/pt (solo ru/uk/zh-cn avevano traduzioni corrette, mentre questi sei mantenevano silenziosamente la copia in inglese). Le abbreviazioni SW/SN sono state tradotte in modo appropriato per ogni lingua. È stato corretto anche lo stesso problema in fr, che l'euristica di corrispondenza esatta del checker aveva mancato a causa di una differenza di spaziatura prima dei due punti, ma che presentava lo stesso contenuto non tradotto. Verificato con una scansione completa confrontando ogni chiave in tutti gli 11 file i18n con la fonte inglese alla ricerca di altre corrispondenze identiche di oltre 5 parole - nessuna trovata.",
|
|
27
|
+
"es": "Corrige E5606 (entradas i18n no traducidas): la plantilla testDeviceOk nunca se tradujo realmente para de/es/it/nl/pl/pt (solo ru/uk/zh-cn tenían traducciones correctas, mientras que estos seis mantenían silenciosamente la copia en inglés). Se tradujeron adecuadamente las abreviaturas SW/SN para cada idioma. También se corrigió el mismo problema en fr, que la heurística de coincidencia exacta del comprobador pasó por alto debido a una diferencia de espaciado antes de los dos puntos, pero tenía el mismo contenido sin traducir. Verificado con un barrido completo comparando cada clave en los 11 archivos i18n con la fuente en inglés en busca de otras coincidencias idénticas de más de 5 palabras - no se encontró ninguna.",
|
|
28
|
+
"pl": "Naprawia E5606 (nieprzetłumaczone wpisy i18n): szablon testDeviceOk nigdy tak naprawdę nie został przetłumaczony dla de/es/it/nl/pl/pt (tylko ru/uk/zh-cn miały poprawne tłumaczenia, podczas gdy te sześć po cichu zachowywało angielską kopię). Skróty SW/SN zostały odpowiednio przetłumaczone dla każdego języka. Naprawiono również identyczny problem w fr, który heurystyka dokładnego dopasowania checkera pominęła z powodu różnicy w odstępach przed dwukropkiem, ale miał tę samą nieprzetłumaczoną zawartość. Zweryfikowano pełnym przeglądem, porównując każdy klucz we wszystkich 11 plikach i18n ze źródłem angielskim w poszukiwaniu innych identycznych dopasowań liczących ponad 5 słów - nie znaleziono żadnych.",
|
|
29
|
+
"uk": "Виправлено E5606 (неперекладені записи i18n): шаблон testDeviceOk насправді ніколи не перекладався для de/es/it/nl/pl/pt (лише ru/uk/zh-cn мали правильні переклади, тоді як ці шість мовчки зберігали англійську копію). Скорочення SW/SN були відповідно перекладені для кожної мови. Також виправлено ідентичну проблему в fr, яку евристика точного збігу перевірника пропустила через різницю в пробілах перед двокрапкою, але з тим самим неперекладеним вмістом. Перевірено повним скануванням, порівнюючи кожен ключ у всіх 11 файлах i18n з англійським джерелом на предмет інших ідентичних збігів довжиною понад 5 слів - жодного не знайдено.",
|
|
17
30
|
"zh-cn": "修复了 E5606(未翻译的 i18n 条目):testDeviceOk 模板从未针对 de/es/it/nl/pl/pt 进行翻译。"
|
|
18
31
|
},
|
|
19
32
|
"1.0.12": {
|
|
20
33
|
"en": "Fix a real i18n gap found during independent end-to-end testing of v1.0.11: the CSV import report wrapper text (csvRowError) was localized via I18n.translate(), but the embedded field-validation messages from validateDeviceRow() (host missing, invalid IP, etc.) were still hard-coded English strings from v1.0.10, producing a mixed-language sentence for non-English admin users (e.g. \"Zeile 3: Host missing\" in German). validateDeviceRow() now returns structured {key, args} entries instead of pre-rendered strings, with two explicit renderers: one that always renders English (for this.log.*() call sites, which must stay English regardless of system language) and one that uses I18n.translate() (for the localized CSV import UI report). Added 13 new i18n keys across all 11 languages. Also added the missing README_de.md entry to package.json's \"files\" allowlist - npm auto-includes README.md in every published package, but NOT README_de.md, so it was silently absent from the published npm tarball despite being present in the GitHub repo. Verified end-to-end by loading the actual @iobroker/adapter-core I18n module directly and calling I18n.translate() with real interpolated values in English, German, French, and Chinese, confirming log output stays English regardless of the active UI language, and by downloading and extracting the real published npm tarball to confirm both i18n/ and admin/i18n/ ship correctly.",
|
|
21
34
|
"de": "Behebt eine echte i18n-Lücke, gefunden bei einem unabhängigen End-to-End-Test von v1.0.11: Der Wrapper-Text des CSV-Import-Berichts (csvRowError) war über I18n.translate() lokalisiert, aber die eingebetteten Feld-Validierungsmeldungen aus validateDeviceRow() (Host fehlt, ungültige IP, etc.) waren noch die hartcodierten englischen Strings aus v1.0.10 - das ergab einen sprachlich gemischten Satz für nicht-englische Admin-Nutzer (z. B. \"Zeile 3: Host missing\" auf Deutsch). validateDeviceRow() gibt jetzt strukturierte {key, args}-Einträge statt fertiger Strings zurück, mit zwei expliziten Renderern: einer rendert immer Englisch (für this.log.*()-Aufrufstellen, die unabhängig von der Systemsprache Englisch bleiben müssen), einer nutzt I18n.translate() (für den lokalisierten CSV-Import-UI-Bericht). 13 neue i18n-Keys in allen 11 Sprachen ergänzt. Zudem den fehlenden README_de.md-Eintrag in package.json's \"files\"-Allowlist ergänzt - npm packt README.md automatisch in jedes veröffentlichte Paket, aber NICHT README_de.md, weshalb diese trotz Vorhandensein im GitHub-Repo im veröffentlichten npm-Tarball stillschweigend fehlte. End-to-End verifiziert durch direktes Laden des echten @iobroker/adapter-core I18n-Moduls und Aufrufe von I18n.translate() mit echten interpolierten Werten auf Englisch, Deutsch, Französisch und Chinesisch, bestätigt dass Log-Ausgabe unabhängig von der aktiven UI-Sprache Englisch bleibt, sowie durch Herunterladen und Entpacken des echten veröffentlichten npm-Tarballs zur Bestätigung, dass sowohl i18n/ als auch admin/i18n/ korrekt mitgeliefert werden.",
|
|
22
|
-
"ru": "Исправлен реальный пробел в i18n, обнаруженный
|
|
23
|
-
"pt": "
|
|
24
|
-
"nl": "
|
|
25
|
-
"fr": "
|
|
26
|
-
"it": "
|
|
27
|
-
"es": "
|
|
28
|
-
"pl": "
|
|
29
|
-
"uk": "Виправлено реальну прогалину i18n, знайдену під час незалежного наскрізного тестування v1.0.11: вбудовані повідомлення
|
|
35
|
+
"ru": "Исправлен реальный пробел в i18n, обнаруженный во время независимого сквозного тестирования v1.0.11: окружающий текст отчёта импорта CSV (csvRowError) был локализован через I18n.translate(), но встроенные сообщения проверки полей из validateDeviceRow() (отсутствует хост, недопустимый IP и т. д.) по-прежнему оставались жёстко закодированными английскими строками с версии 1.0.10, что приводило к предложению на смешанном языке для неанглоязычных администраторов (например, «Zeile 3: Host missing» на немецком). validateDeviceRow() теперь возвращает структурированные записи {key, args} вместо предварительно отрендеренных строк, с двумя явными рендерерами: один всегда рендерит на английском (для точек вызова this.log.*(), которые должны оставаться английскими независимо от языка системы), а другой использует I18n.translate() (для локализованного UI-отчёта импорта CSV). Добавлено 13 новых ключей i18n на всех 11 языках. Также добавлена отсутствовавшая запись README_de.md в список \"files\" в package.json - npm автоматически включает README.md в каждый публикуемый пакет, но НЕ README_de.md, поэтому он молча отсутствовал в опубликованном npm-архиве, несмотря на присутствие в репозитории GitHub. Проверено сквозным образом путём прямой загрузки реального модуля I18n из @iobroker/adapter-core и вызова I18n.translate() с реальными интерполированными значениями на английском, немецком, французском и китайском языках, что подтвердило, что вывод журнала остаётся английским независимо от активного языка UI, а также путём загрузки и извлечения реального опубликованного npm-архива для подтверждения корректного включения как i18n/, так и admin/i18n/.",
|
|
36
|
+
"pt": "Corrige uma lacuna real de i18n encontrada durante testes end-to-end independentes da v1.0.11: o texto envolvente do relatório de importação CSV (csvRowError) estava localizado através de I18n.translate(), mas as mensagens de validação de campo incorporadas de validateDeviceRow() (host em falta, IP inválido, etc.) permaneciam strings inglesas fixas desde a v1.0.10, produzindo uma frase de idioma misto para administradores não anglófonos (por ex., \"Zeile 3: Host missing\" em alemão). O validateDeviceRow() agora devolve entradas estruturadas {key, args} em vez de strings pré-renderizadas, com dois renderizadores explícitos: um que renderiza sempre em inglês (para os pontos de chamada this.log.*(), que devem permanecer em inglês independentemente do idioma do sistema) e um que usa I18n.translate() (para o relatório de UI de importação CSV localizado). Foram adicionadas 13 novas chaves i18n em todos os 11 idiomas. Foi também adicionada a entrada em falta README_de.md à lista \"files\" do package.json - o npm inclui automaticamente o README.md em cada pacote publicado, mas NÃO o README_de.md, pelo que estava silenciosamente ausente do tarball npm publicado apesar de estar presente no repositório GitHub. Verificado de ponta a ponta carregando diretamente o módulo I18n real do @iobroker/adapter-core e chamando I18n.translate() com valores interpolados reais em inglês, alemão, francês e chinês, confirmando que a saída de log permanece em inglês independentemente do idioma de UI ativo, e descarregando e extraindo o tarball npm publicado real para confirmar que tanto i18n/ como admin/i18n/ são incluídos corretamente.",
|
|
37
|
+
"nl": "Verhelpt een echt i18n-hiaat dat werd gevonden tijdens onafhankelijke end-to-end tests van v1.0.11: de omhullende tekst van het CSV-importrapport (csvRowError) was gelokaliseerd via I18n.translate(), maar de ingesloten veldvalidatieberichten van validateDeviceRow() (host ontbreekt, ongeldig IP, enz.) waren sinds v1.0.10 nog steeds hardgecodeerde Engelse strings, wat resulteerde in een gemengde taalzin voor niet-Engelstalige beheerders (bijv. \"Zeile 3: Host missing\" in het Duits). validateDeviceRow() retourneert nu gestructureerde {key, args}-items in plaats van vooraf gerenderde strings, met twee expliciete renderers: één die altijd Engels rendert (voor this.log.*()-aanroeppunten, die ongeacht de systeemtaal Engels moeten blijven) en één die I18n.translate() gebruikt (voor het gelokaliseerde CSV-import UI-rapport). Er zijn 13 nieuwe i18n-sleutels toegevoegd in alle 11 talen. Ook is het ontbrekende item README_de.md toegevoegd aan de \"files\"-toelatingslijst van package.json - npm neemt README.md automatisch op in elk gepubliceerd pakket, maar NIET README_de.md, waardoor het stilzwijgend ontbrak in de gepubliceerde npm-tarball ondanks aanwezigheid in de GitHub-repository. End-to-end geverifieerd door de echte I18n-module van @iobroker/adapter-core rechtstreeks te laden en I18n.translate() aan te roepen met echte geïnterpoleerde waarden in het Engels, Duits, Frans en Chinees, waarbij werd bevestigd dat de loguitvoer Engels blijft ongeacht de actieve UI-taal, en door de echte gepubliceerde npm-tarball te downloaden en uit te pakken om te bevestigen dat zowel i18n/ als admin/i18n/ correct worden meegeleverd.",
|
|
38
|
+
"fr": "Corrige une véritable lacune i18n découverte lors de tests de bout en bout indépendants de la v1.0.11 : le texte englobant du rapport d'import CSV (csvRowError) était localisé via I18n.translate(), mais les messages de validation de champ intégrés de validateDeviceRow() (hôte manquant, IP invalide, etc.) restaient des chaînes anglaises codées en dur depuis la v1.0.10, produisant une phrase en langue mixte pour les administrateurs non anglophones (par ex. « Zeile 3 : Host missing » en allemand). validateDeviceRow() renvoie désormais des entrées structurées {key, args} au lieu de chaînes pré-rendues, avec deux rendus explicites : l'un qui rend toujours en anglais (pour les points d'appel this.log.*(), qui doivent rester en anglais quelle que soit la langue du système) et l'autre qui utilise I18n.translate() (pour le rapport d'UI d'import CSV localisé). 13 nouvelles clés i18n ont été ajoutées dans les 11 langues. L'entrée manquante README_de.md a également été ajoutée à la liste \"files\" de package.json - npm inclut automatiquement README.md dans chaque paquet publié, mais PAS README_de.md, il était donc silencieusement absent du tarball npm publié malgré sa présence dans le dépôt GitHub. Vérifié de bout en bout en chargeant directement le vrai module I18n de @iobroker/adapter-core et en appelant I18n.translate() avec de vraies valeurs interpolées en anglais, allemand, français et chinois, confirmant que la sortie du journal reste en anglais quelle que soit la langue de l'UI active, et en téléchargeant et extrayant le vrai tarball npm publié pour confirmer que i18n/ et admin/i18n/ sont tous deux correctement inclus.",
|
|
39
|
+
"it": "Corregge una vera lacuna i18n trovata durante test end-to-end indipendenti della v1.0.11: il testo contenitore del report di importazione CSV (csvRowError) era localizzato tramite I18n.translate(), ma i messaggi di convalida dei campi incorporati di validateDeviceRow() (host mancante, IP non valido, ecc.) erano ancora stringhe inglesi hard-coded dalla v1.0.10, producendo una frase in lingua mista per gli amministratori non anglofoni (es. \"Zeile 3: Host missing\" in tedesco). validateDeviceRow() ora restituisce voci strutturate {key, args} invece di stringhe pre-renderizzate, con due renderer espliciti: uno che rende sempre in inglese (per i punti di chiamata this.log.*(), che devono rimanere in inglese indipendentemente dalla lingua di sistema) e uno che usa I18n.translate() (per il report UI di importazione CSV localizzato). Aggiunte 13 nuove chiavi i18n in tutte le 11 lingue. Aggiunta anche la voce mancante README_de.md all'elenco \"files\" di package.json - npm include automaticamente README.md in ogni pacchetto pubblicato, ma NON README_de.md, quindi era silenziosamente assente dal tarball npm pubblicato nonostante fosse presente nel repository GitHub. Verificato end-to-end caricando direttamente il vero modulo I18n di @iobroker/adapter-core e chiamando I18n.translate() con valori interpolati reali in inglese, tedesco, francese e cinese, confermando che l'output di log rimane in inglese indipendentemente dalla lingua UI attiva, e scaricando ed estraendo il vero tarball npm pubblicato per confermare che sia i18n/ che admin/i18n/ vengono inclusi correttamente.",
|
|
40
|
+
"es": "Corrige una laguna real de i18n encontrada durante pruebas end-to-end independientes de la v1.0.11: el texto envolvente del informe de importación CSV (csvRowError) estaba localizado mediante I18n.translate(), pero los mensajes de validación de campo incrustados de validateDeviceRow() (host faltante, IP inválida, etc.) seguían siendo cadenas en inglés codificadas de forma fija desde la v1.0.10, produciendo una frase de idioma mixto para los administradores no angloparlantes (p. ej., \"Zeile 3: Host missing\" en alemán). validateDeviceRow() ahora devuelve entradas estructuradas {key, args} en lugar de cadenas pre-renderizadas, con dos renderizadores explícitos: uno que siempre renderiza en inglés (para los puntos de llamada this.log.*(), que deben permanecer en inglés independientemente del idioma del sistema) y otro que usa I18n.translate() (para el informe de UI de importación CSV localizado). Se añadieron 13 nuevas claves i18n en los 11 idiomas. También se añadió la entrada que faltaba de README_de.md a la lista \"files\" de package.json - npm incluye automáticamente README.md en cada paquete publicado, pero NO README_de.md, por lo que estaba silenciosamente ausente del tarball npm publicado a pesar de estar presente en el repositorio de GitHub. Verificado de extremo a extremo cargando directamente el módulo I18n real de @iobroker/adapter-core y llamando a I18n.translate() con valores interpolados reales en inglés, alemán, francés y chino, confirmando que la salida de registro permanece en inglés independientemente del idioma de la UI activo, y descargando y extrayendo el tarball npm publicado real para confirmar que tanto i18n/ como admin/i18n/ se incluyen correctamente.",
|
|
41
|
+
"pl": "Naprawia rzeczywistą lukę i18n znalezioną podczas niezależnych testów end-to-end wersji 1.0.11: otaczający tekst raportu importu CSV (csvRowError) był zlokalizowany za pomocą I18n.translate(), ale osadzone komunikaty walidacji pól z validateDeviceRow() (brak hosta, nieprawidłowy adres IP itp.) nadal były na stałe zakodowanymi angielskimi ciągami z wersji 1.0.10, co powodowało zdanie w mieszanym języku dla administratorów nieanglojęzycznych (np. \"Zeile 3: Host missing\" po niemiecku). validateDeviceRow() zwraca teraz ustrukturyzowane wpisy {key, args} zamiast wstępnie wyrenderowanych ciągów, z dwoma jawnymi renderami: jednym, który zawsze renderuje po angielsku (dla miejsc wywołania this.log.*(), które muszą pozostać angielskie niezależnie od języka systemu) i jednym, który używa I18n.translate() (dla zlokalizowanego raportu UI importu CSV). Dodano 13 nowych kluczy i18n we wszystkich 11 językach. Dodano również brakujący wpis README_de.md do listy \"files\" w package.json - npm automatycznie dołącza README.md do każdego publikowanego pakietu, ale NIE README_de.md, więc był on cicho nieobecny w opublikowanym tarballu npm, mimo obecności w repozytorium GitHub. Zweryfikowano end-to-end, ładując bezpośrednio prawdziwy moduł I18n z @iobroker/adapter-core i wywołując I18n.translate() z rzeczywistymi zinterpolowanymi wartościami w języku angielskim, niemieckim, francuskim i chińskim, potwierdzając, że dane wyjściowe dziennika pozostają angielskie niezależnie od aktywnego języka UI, oraz pobierając i wypakowując rzeczywisty opublikowany tarball npm, aby potwierdzić, że zarówno i18n/, jak i admin/i18n/ są poprawnie dołączone.",
|
|
42
|
+
"uk": "Виправлено реальну прогалину i18n, знайдену під час незалежного наскрізного тестування v1.0.11: навколишній текст звіту імпорту CSV (csvRowError) було локалізовано через I18n.translate(), але вбудовані повідомлення перевірки полів з validateDeviceRow() (відсутній хост, недійсний IP тощо) залишалися жорстко закодованими англійськими рядками з версії 1.0.10, що призводило до речення змішаною мовою для неангломовних адміністраторів (наприклад, «Zeile 3: Host missing» німецькою). validateDeviceRow() тепер повертає структуровані записи {key, args} замість попередньо відрендерених рядків, з двома явними рендерерами: один завжди рендерить англійською (для точок виклику this.log.*(), які мають залишатися англійськими незалежно від мови системи), а інший використовує I18n.translate() (для локалізованого UI-звіту імпорту CSV). Додано 13 нових ключів i18n усіма 11 мовами. Також додано відсутній запис README_de.md до списку \"files\" у package.json - npm автоматично включає README.md до кожного опублікованого пакета, але НЕ README_de.md, тому він мовчки був відсутній в опублікованому npm-архіві, попри наявність у репозиторії GitHub. Перевірено наскрізно шляхом прямого завантаження реального модуля I18n з @iobroker/adapter-core та виклику I18n.translate() з реальними інтерпольованими значеннями англійською, німецькою, французькою та китайською мовами, що підтвердило незмінність виводу журналу англійською незалежно від активної мови UI, а також шляхом завантаження та розпакування реального опублікованого npm-архіву для підтвердження коректного включення як i18n/, так і admin/i18n/.",
|
|
30
43
|
"zh-cn": "修复了在 v1.0.11 独立端到端测试中发现的真实 i18n 缺口:即使在本地化的 CSV 导入报告中,嵌入的字段验证消息仍为英文。在所有 11 种语言中添加了 13 个新的 i18n 键。还将缺失的 README_de.md 添加到 npm 包的文件列表中。"
|
|
31
44
|
},
|
|
32
45
|
"1.0.11": {
|
|
33
46
|
"en": "Fix: v1.0.10 translated all onMessage() UI text (CSV import report, device test results, discovery summary) to plain English only. Per user request, implemented full multi-language support for this text instead, using the official @iobroker/adapter-core I18n module (reads system.config.common.language automatically, falls back to English for unsupported languages) - the same officially sanctioned mechanism the maintainer referenced when suggesting 'implement i18n support'. Added a new i18n/ directory (separate from the existing admin/i18n/ used for jsonConfig labels) with all 11 required languages. ioBroker log entries remain English-only regardless of system language, per the separate log requirement; only the admin-dialog result text is now localized. Also fixed a packaging bug found before this release: the new i18n/ folder was missing from package.json's \"files\" allowlist, which would have excluded it from the published npm package and caused a runtime crash on a real install - caught and fixed via an actual npm pack + tarball-extraction test before pushing, not just local testing. Verified: all 9 message templates round-trip correctly in German, English, and French (representative of the other 8 languages); unknown/unsupported system languages correctly fall back to English.",
|
|
34
47
|
"de": "Fix: v1.0.10 hatte den gesamten onMessage()-UI-Text (CSV-Import-Bericht, Gerätetest-Ergebnisse, Discovery-Zusammenfassung) nur auf reines Englisch übersetzt. Auf Nutzerwunsch stattdessen echten Mehrsprachen-Support implementiert, über das offizielle @iobroker/adapter-core-I18n-Modul (liest system.config.common.language automatisch aus, Fallback auf Englisch bei nicht unterstützten Sprachen) - derselbe offiziell vorgesehene Mechanismus, auf den der Maintainer bei „implement i18n support\" verwiesen hat. Neuer i18n/-Ordner ergänzt (getrennt vom bestehenden admin/i18n/ für jsonConfig-Labels) mit allen 11 geforderten Sprachen. ioBroker-Log-Einträge bleiben unabhängig von der Systemsprache Englisch, gemäss der separaten Log-Anforderung; nur der Admin-Dialog-Ergebnistext ist jetzt lokalisiert. Zusätzlich einen Packaging-Fehler behoben, der vor diesem Release gefunden wurde: der neue i18n/-Ordner fehlte in der \"files\"-Positivliste von package.json, wodurch er beim veröffentlichten npm-Paket gefehlt und bei einer echten Installation zum Laufzeitabsturz geführt hätte - entdeckt und behoben über einen echten npm-pack- plus Tarball-Extraktions-Test vor dem Push, nicht nur lokales Testen. Verifiziert: alle 9 Nachrichtenvorlagen funktionieren korrekt auf Deutsch, Englisch und Französisch (stellvertretend für die anderen 8 Sprachen); unbekannte/nicht unterstützte Systemsprachen fallen korrekt auf Englisch zurück.",
|
|
35
|
-
"ru": "Исправление: реализована
|
|
36
|
-
"pt": "Correção: implementado suporte
|
|
37
|
-
"nl": "Fix: volledige meertalige ondersteuning voor
|
|
38
|
-
"fr": "Correction :
|
|
39
|
-
"it": "Correzione:
|
|
40
|
-
"es": "Corrección:
|
|
41
|
-
"pl": "Poprawka:
|
|
42
|
-
"uk": "Виправлення: реалізовано
|
|
48
|
+
"ru": "Исправление: версия 1.0.10 переводила весь UI-текст onMessage() (отчёт импорта CSV, результаты теста устройства, сводка обнаружения) только на простой английский текст. По просьбе пользователя вместо этого реализована полная многоязычная поддержка для этого текста с использованием официального модуля I18n из @iobroker/adapter-core (автоматически считывает system.config.common.language, возвращается к английскому для неподдерживаемых языков) - тот же официально одобренный механизм, на который ссылался мейнтейнер, предлагая «реализовать поддержку i18n». Добавлена новая директория i18n/ (отдельно от существующей admin/i18n/, используемой для меток jsonConfig) со всеми 11 необходимыми языками. Записи журнала ioBroker остаются только на английском независимо от языка системы, согласно отдельному требованию к журналу; теперь локализован только текст результатов диалога администрирования. Также исправлена ошибка упаковки, обнаруженная перед этим релизом: новая папка i18n/ отсутствовала в списке разрешённых \"files\" в package.json, что исключило бы её из опубликованного npm-пакета и вызвало бы сбой во время выполнения при реальной установке - обнаружено и исправлено с помощью реального теста npm pack + извлечения tarball перед публикацией, а не только локального тестирования. Проверено: все 9 шаблонов сообщений корректно работают туда-обратно на немецком, английском и французском (репрезентативно для остальных 8 языков); неизвестные/неподдерживаемые системные языки корректно возвращаются к английскому.",
|
|
49
|
+
"pt": "Correção: a v1.0.10 traduzia todo o texto de UI de onMessage() (relatório de importação CSV, resultados do teste de dispositivo, resumo da deteção) apenas para texto simples em inglês. A pedido do utilizador, foi implementado em vez disso suporte multilingue completo para este texto, usando o módulo I18n oficial de @iobroker/adapter-core (lê automaticamente system.config.common.language, recorrendo ao inglês para idiomas não suportados) - o mesmo mecanismo oficialmente sancionado a que o mantenedor se referiu ao sugerir 'implementar suporte i18n'. Foi adicionado um novo diretório i18n/ (separado do admin/i18n/ existente usado para os rótulos jsonConfig) com todos os 11 idiomas necessários. As entradas de log do ioBroker permanecem apenas em inglês independentemente do idioma do sistema, de acordo com o requisito de log separado; apenas o texto de resultado da caixa de diálogo de administração está agora localizado. Também foi corrigido um bug de empacotamento encontrado antes deste lançamento: a nova pasta i18n/ estava em falta na lista \"files\" do package.json, o que a teria excluído do pacote npm publicado e causado uma falha em tempo de execução numa instalação real - detetado e corrigido através de um teste real de npm pack + extração do tarball antes do push, não apenas testes locais. Verificado: todos os 9 modelos de mensagem funcionam corretamente de ida e volta em alemão, inglês e francês (representativo dos outros 8 idiomas); idiomas de sistema desconhecidos/não suportados recorrem corretamente ao inglês.",
|
|
50
|
+
"nl": "Fix: v1.0.10 vertaalde alle onMessage()-UI-tekst (CSV-importrapport, apparaattestresultaten, detectiesamenvatting) uitsluitend naar platte Engelse tekst. Op verzoek van de gebruiker is in plaats daarvan volledige meertalige ondersteuning voor deze tekst geïmplementeerd, met behulp van de officiële I18n-module van @iobroker/adapter-core (leest automatisch system.config.common.language, valt terug op Engels voor niet-ondersteunde talen) - hetzelfde officieel goedgekeurde mechanisme waarnaar de maintainer verwees bij het voorstellen om 'i18n-ondersteuning te implementeren'. Er is een nieuwe i18n/-map toegevoegd (gescheiden van de bestaande admin/i18n/ die wordt gebruikt voor jsonConfig-labels) met alle 11 vereiste talen. ioBroker-logregels blijven ongeacht de systeemtaal alleen in het Engels, volgens de aparte log-eis; alleen de resultaattekst in de admin-dialoog is nu gelokaliseerd. Ook is een verpakkingsbug gecorrigeerd die vóór deze release werd gevonden: de nieuwe i18n/-map ontbrak in de \"files\"-toelatingslijst van package.json, waardoor deze zou zijn uitgesloten van het gepubliceerde npm-pakket en een runtime-crash zou hebben veroorzaakt bij een echte installatie - ontdekt en verholpen via een echte npm pack + tarball-extractietest vóór het pushen, niet alleen lokaal testen. Geverifieerd: alle 9 berichtsjablonen werken correct heen en terug in het Duits, Engels en Frans (representatief voor de andere 8 talen); onbekende/niet-ondersteunde systeemtalen vallen correct terug op Engels.",
|
|
51
|
+
"fr": "Correction : la v1.0.10 traduisait tout le texte de l'interface d'onMessage() (rapport d'import CSV, résultats du test d'appareil, résumé de détection) uniquement en anglais brut. À la demande de l'utilisateur, un support multilingue complet a été implémenté à la place pour ce texte, en utilisant le module I18n officiel de @iobroker/adapter-core (lit automatiquement system.config.common.language, se replie sur l'anglais pour les langues non prises en charge) - le même mécanisme officiellement approuvé auquel le mainteneur faisait référence en suggérant d'« implémenter le support i18n ». Un nouveau répertoire i18n/ a été ajouté (distinct de l'admin/i18n/ existant utilisé pour les libellés jsonConfig) avec les 11 langues requises. Les entrées de journal ioBroker restent uniquement en anglais quelle que soit la langue du système, conformément à l'exigence distincte relative aux journaux ; seul le texte de résultat de la boîte de dialogue d'administration est désormais localisé. Un bug d'empaquetage détecté avant cette version a également été corrigé : le nouveau dossier i18n/ manquait dans la liste \"files\" de package.json, ce qui l'aurait exclu du paquet npm publié et aurait provoqué un plantage à l'exécution sur une installation réelle - détecté et corrigé via un véritable test npm pack + extraction du tarball avant la publication, pas seulement des tests locaux. Vérifié : les 9 modèles de message fonctionnent correctement en aller-retour en allemand, anglais et français (représentatif des 8 autres langues) ; les langues système inconnues/non prises en charge se replient correctement sur l'anglais.",
|
|
52
|
+
"it": "Correzione: la v1.0.10 traduceva tutto il testo dell'interfaccia di onMessage() (report di importazione CSV, risultati del test del dispositivo, riepilogo del rilevamento) solo in inglese semplice. Su richiesta dell'utente, è stato invece implementato il supporto multilingua completo per questo testo, utilizzando il modulo I18n ufficiale di @iobroker/adapter-core (legge automaticamente system.config.common.language, ricade sull'inglese per le lingue non supportate) - lo stesso meccanismo ufficialmente approvato a cui il maintainer faceva riferimento suggerendo di 'implementare il supporto i18n'. È stata aggiunta una nuova directory i18n/ (separata dall'esistente admin/i18n/ usata per le etichette jsonConfig) con tutte le 11 lingue richieste. Le voci di log di ioBroker rimangono solo in inglese indipendentemente dalla lingua di sistema, secondo il requisito separato sui log; solo il testo dei risultati nella finestra di dialogo admin è ora localizzato. È stato inoltre corretto un bug di packaging trovato prima di questa versione: la nuova cartella i18n/ mancava dall'elenco \"files\" di package.json, il che l'avrebbe esclusa dal pacchetto npm pubblicato causando un crash a runtime su un'installazione reale - individuato e corretto tramite un vero test npm pack + estrazione del tarball prima del push, non solo test locali. Verificato: tutti i 9 modelli di messaggio funzionano correttamente andata e ritorno in tedesco, inglese e francese (rappresentativo delle altre 8 lingue); le lingue di sistema sconosciute/non supportate ricadono correttamente sull'inglese.",
|
|
53
|
+
"es": "Corrección: la v1.0.10 tradujo todo el texto de la interfaz de onMessage() (informe de importación CSV, resultados de prueba de dispositivo, resumen de detección) únicamente a texto plano en inglés. A petición del usuario, se implementó en su lugar soporte multiidioma completo para este texto, usando el módulo oficial I18n de @iobroker/adapter-core (lee system.config.common.language automáticamente, recurre al inglés para idiomas no soportados) - el mismo mecanismo oficialmente sancionado que el mantenedor mencionó al sugerir 'implementar soporte i18n'. Se añadió un nuevo directorio i18n/ (separado del existente admin/i18n/ usado para las etiquetas de jsonConfig) con los 11 idiomas requeridos. Las entradas de registro de ioBroker siguen siendo solo en inglés independientemente del idioma del sistema, según el requisito de registro por separado; solo el texto de resultado del diálogo de administración está ahora localizado. También se corrigió un error de empaquetado encontrado antes de esta versión: la nueva carpeta i18n/ faltaba en la lista \"files\" de package.json, lo que la habría excluido del paquete npm publicado y causado un fallo en tiempo de ejecución en una instalación real - detectado y corregido mediante una prueba real de npm pack + extracción del tarball antes de publicar, no solo pruebas locales. Verificado: las 9 plantillas de mensajes funcionan correctamente de ida y vuelta en alemán, inglés y francés (representativo de los otros 8 idiomas); los idiomas del sistema desconocidos/no soportados recurren correctamente al inglés.",
|
|
54
|
+
"pl": "Poprawka: wersja 1.0.10 tłumaczyła cały tekst UI onMessage() (raport importu CSV, wyniki testu urządzenia, podsumowanie wykrywania) wyłącznie na zwykły angielski tekst. Na życzenie użytkownika zamiast tego wdrożono pełne wsparcie wielojęzyczne dla tego tekstu, wykorzystując oficjalny moduł I18n z @iobroker/adapter-core (automatycznie odczytuje system.config.common.language, wraca do angielskiego dla nieobsługiwanych języków) - ten sam oficjalnie zatwierdzony mechanizm, do którego odnosił się opiekun, sugerując 'wdrożenie wsparcia i18n'. Dodano nowy katalog i18n/ (oddzielny od istniejącego admin/i18n/ używanego dla etykiet jsonConfig) ze wszystkimi 11 wymaganymi językami. Wpisy dziennika ioBroker pozostają wyłącznie po angielsku niezależnie od języka systemu, zgodnie z odrębnym wymogiem dotyczącym dziennika; tylko tekst wyników w oknie dialogowym administratora jest teraz zlokalizowany. Naprawiono również błąd pakowania znaleziony przed tym wydaniem: nowy folder i18n/ brakował na liście \"files\" w package.json, co wykluczyłoby go z opublikowanego pakietu npm i spowodowało awarię w czasie działania przy rzeczywistej instalacji - wykryty i naprawiony dzięki rzeczywistemu testowi npm pack + wypakowaniu tarballa przed wypchnięciem, a nie tylko testom lokalnym. Zweryfikowano: wszystkie 9 szablonów wiadomości działa poprawnie w obie strony po niemiecku, angielsku i francusku (reprezentatywne dla pozostałych 8 języków); nieznane/nieobsługiwane języki systemowe poprawnie wracają do angielskiego.",
|
|
55
|
+
"uk": "Виправлення: версія 1.0.10 перекладала весь UI-текст onMessage() (звіт імпорту CSV, результати тесту пристрою, підсумок виявлення) лише на звичайний англійський текст. На прохання користувача натомість реалізовано повну багатомовну підтримку для цього тексту з використанням офіційного модуля I18n з @iobroker/adapter-core (автоматично зчитує system.config.common.language, повертається до англійської для непідтримуваних мов) - той самий офіційно схвалений механізм, на який посилався мейнтейнер, пропонуючи «реалізувати підтримку i18n». Додано новий каталог i18n/ (окремо від наявного admin/i18n/, що використовується для міток jsonConfig) з усіма 11 необхідними мовами. Записи журналу ioBroker залишаються лише англійською незалежно від мови системи, згідно з окремою вимогою до журналу; тепер локалізовано лише текст результатів діалогу адміністрування. Також виправлено помилку пакування, виявлену перед цим релізом: нова папка i18n/ була відсутня у списку дозволених \"files\" у package.json, що виключило б її з опублікованого npm-пакета та спричинило б збій під час виконання при реальній інсталяції - виявлено та виправлено за допомогою реального тесту npm pack + вилучення tarball перед публікацією, а не лише локального тестування. Перевірено: усі 9 шаблонів повідомлень коректно працюють туди-назад німецькою, англійською та французькою (репрезентативно для інших 8 мов); невідомі/непідтримувані системні мови коректно повертаються до англійської.",
|
|
43
56
|
"zh-cn": "修复:通过官方 adapter-core I18n 模块为界面文本实现了完整的多语言支持,而不仅仅是英文。同时修复了一个打包错误(i18n 文件夹未包含在 package.json 的 files 列表中)。"
|
|
44
57
|
},
|
|
45
58
|
"1.0.10": {
|
|
46
59
|
"en": "Fix all remaining findings from the follow-up review: translated 18 German error messages in validateDeviceRow() (row/duplicate validation, including 6 that were missed in an earlier pass), the 5 error-code-to-message translations in handleDeviceError() (also written to the info.lastError state), 9 German strings in thrown Error objects, and the bonjour-service install-hint rejection message. Per explicit maintainer direction, all UI-facing result text in onMessage (CSV import report lines, device test results, discovery summary) is now English as well, superseding the earlier design decision to keep it German for the target audience - the maintainer clarified that all user-facing text must be English or full i18n, with no exception for admin-dialog result strings. No migration needed: none of these fixes touch persisted object common properties, only log output, transient state values that refresh on the next occurrence, and one-off message-callback payloads.",
|
|
47
60
|
"de": "Behebt alle verbleibenden Befunde aus dem Folge-Review: 18 deutsche Fehlermeldungen in validateDeviceRow() übersetzt (Zeilen-/Duplikat-Validierung, davon 6 in einem früheren Durchgang übersehen), die 5 Fehlercode-zu-Meldung-Übersetzungen in handleDeviceError() (werden auch in den info.lastError-State geschrieben), 9 deutsche Strings in geworfenen Error-Objekten sowie die bonjour-service-Installationshinweis-Meldung. Auf explizite Anweisung des Maintainers ist jetzt auch aller UI-facing Ergebnistext in onMessage (CSV-Import-Bericht, Gerätetest-Ergebnisse, Discovery-Zusammenfassung) Englisch - das ersetzt die frühere Design-Entscheidung, diesen für die Zielgruppe Deutsch zu belassen; der Maintainer stellte klar, dass aller nutzerseitiger Text Englisch oder vollständig i18n sein muss, ohne Ausnahme für Admin-Dialog-Ergebnistexte. Keine Migration nötig: keiner dieser Fixes betrifft persistierte Objekt-common-Eigenschaften, nur Log-Ausgabe, transiente State-Werte (aktualisieren sich beim nächsten Ereignis von selbst) und einmalige Message-Callback-Payloads.",
|
|
48
|
-
"ru": "Исправлены все оставшиеся замечания из повторного обзора: переведены
|
|
49
|
-
"pt": "
|
|
50
|
-
"nl": "
|
|
51
|
-
"fr": "
|
|
52
|
-
"it": "
|
|
53
|
-
"es": "
|
|
54
|
-
"pl": "
|
|
55
|
-
"uk": "Виправлено всі залишкові зауваження повторного огляду: перекладено
|
|
61
|
+
"ru": "Исправлены все оставшиеся замечания из повторного обзора: переведены 18 немецких сообщений об ошибках в validateDeviceRow() (проверка строк/дубликатов, включая 6, пропущенных в предыдущем проходе), 5 переводов код ошибки → сообщение в handleDeviceError() (также записываются в состояние info.lastError), 9 немецких строк в выбрасываемых объектах Error, и сообщение об отклонении подсказки установки bonjour-service. По явному указанию мейнтейнера, весь текст результатов, ориентированный на UI, в onMessage (строки отчёта импорта CSV, результаты теста устройства, сводка обнаружения) теперь также на английском, заменяя прежнее проектное решение оставлять его на немецком для целевой аудитории - мейнтейнер уточнил, что весь текст, ориентированный на пользователя, должен быть на английском или полностью i18n, без исключения для строк результатов диалога администрирования. Миграция не требуется: ни одно из этих исправлений не затрагивает общие свойства сохранённых объектов, только вывод журнала, временные значения состояния, обновляемые при следующем событии, и разовые полезные нагрузки callback-сообщений.",
|
|
62
|
+
"pt": "Corrige todos os pontos restantes da revisão de acompanhamento: traduzidas 18 mensagens de erro em alemão em validateDeviceRow() (validação de linha/duplicados, incluindo 6 que tinham sido omitidas numa passagem anterior), as 5 traduções de código de erro para mensagem em handleDeviceError() (também escritas no estado info.lastError), 9 strings em alemão em objetos Error lançados, e a mensagem de rejeição da sugestão de instalação do bonjour-service. Por indicação explícita do mantenedor, todo o texto de resultado voltado para a UI em onMessage (linhas do relatório de importação CSV, resultados do teste de dispositivo, resumo da deteção) está agora também em inglês, substituindo a decisão de design anterior de o manter em alemão para o público-alvo - o mantenedor esclareceu que todo o texto voltado para o utilizador deve ser em inglês ou i18n completo, sem exceção para as strings de resultado da caixa de diálogo de administração. Não é necessária migração: nenhuma destas correções toca em propriedades comuns de objetos persistidos, apenas na saída de log, valores de estado transitórios que são atualizados na próxima ocorrência, e payloads pontuais de callback de mensagens.",
|
|
63
|
+
"nl": "Verhelpt alle resterende bevindingen uit de vervolgreview: 18 Duitse foutmeldingen in validateDeviceRow() vertaald (rij-/duplicaatvalidatie, waaronder 6 die in een eerdere ronde waren gemist), de 5 vertalingen van foutcode naar bericht in handleDeviceError() (ook geschreven naar de info.lastError-status), 9 Duitse strings in gegooide Error-objecten, en het afwijzingsbericht van de installatiesuggestie voor bonjour-service. Op expliciete aanwijzing van de maintainer is alle UI-gerichte resultaattekst in onMessage (regels van het CSV-importrapport, resultaten van de apparaattest, detectiesamenvatting) nu ook Engels, ter vervanging van het eerdere ontwerpbesluit om dit Duits te houden voor de doelgroep - de maintainer verduidelijkte dat alle op de gebruiker gerichte tekst Engels of volledig i18n moet zijn, zonder uitzondering voor resultaatstrings in de admin-dialoog. Geen migratie nodig: geen van deze fixes raakt persistente common-objecteigenschappen, alleen loguitvoer, tijdelijke statuswaarden die bij de volgende gebeurtenis worden vernieuwd, en eenmalige berichtcallback-payloads.",
|
|
64
|
+
"fr": "Corrige tous les points restants relevés lors de la revue de suivi : traduction de 18 messages d'erreur en allemand dans validateDeviceRow() (validation de ligne/doublons, dont 6 avaient été manqués lors d'un passage précédent), des 5 traductions code d'erreur → message dans handleDeviceError() (également écrites dans l'état info.lastError), de 9 chaînes en allemand dans des objets Error levés, et du message de rejet de la suggestion d'installation de bonjour-service. Sur instruction explicite du mainteneur, tout le texte de résultat destiné à l'interface dans onMessage (lignes du rapport d'import CSV, résultats du test d'appareil, résumé de détection) est désormais également en anglais, remplaçant la décision de conception antérieure de le conserver en allemand pour le public cible - le mainteneur a précisé que tout texte destiné à l'utilisateur doit être en anglais ou entièrement i18n, sans exception pour les chaînes de résultat de la boîte de dialogue d'administration. Aucune migration nécessaire : aucune de ces corrections ne touche aux propriétés communes des objets persistés, seulement la sortie du journal, des valeurs d'état transitoires qui se rafraîchissent à la prochaine occurrence, et des charges utiles ponctuelles de rappel de message.",
|
|
65
|
+
"it": "Corregge tutti i rilievi rimanenti della revisione di follow-up: tradotti 18 messaggi di errore in tedesco in validateDeviceRow() (convalida di riga/duplicati, inclusi 6 che erano stati mancati in un passaggio precedente), le 5 traduzioni codice errore-messaggio in handleDeviceError() (scritte anche nello stato info.lastError), 9 stringhe in tedesco in oggetti Error generati, e il messaggio di rifiuto del suggerimento di installazione di bonjour-service. Su indicazione esplicita del maintainer, tutto il testo dei risultati rivolto all'interfaccia in onMessage (righe del report di importazione CSV, risultati del test del dispositivo, riepilogo del rilevamento) è ora anch'esso in inglese, sostituendo la precedente decisione progettuale di mantenerlo in tedesco per il pubblico di riferimento - il maintainer ha chiarito che tutto il testo rivolto all'utente deve essere in inglese o completamente i18n, senza eccezioni per le stringhe di risultato della finestra di dialogo admin. Nessuna migrazione necessaria: nessuna di queste correzioni tocca le proprietà comuni degli oggetti persistiti, solo l'output di log, valori di stato transitori che si aggiornano alla prossima occorrenza, e payload occasionali di callback di messaggio.",
|
|
66
|
+
"es": "Corrige todos los hallazgos restantes de la revisión de seguimiento: se tradujeron 18 mensajes de error en alemán en validateDeviceRow() (validación de fila/duplicados, incluyendo 6 que se pasaron por alto en un pase anterior), las 5 traducciones de código de error a mensaje en handleDeviceError() (también escritas en el estado info.lastError), 9 cadenas en alemán en objetos Error lanzados, y el mensaje de rechazo de la sugerencia de instalación de bonjour-service. Siguiendo la indicación explícita del mantenedor, todo el texto de resultado orientado a la interfaz en onMessage (líneas del informe de importación CSV, resultados de la prueba de dispositivo, resumen de detección) es ahora también en inglés, sustituyendo la decisión de diseño anterior de mantenerlo en alemán para el público objetivo - el mantenedor aclaró que todo el texto orientado al usuario debe ser en inglés o i18n completo, sin excepción para las cadenas de resultado del diálogo de administración. No se necesita migración: ninguna de estas correcciones toca propiedades comunes de objetos persistidos, solo la salida de registro, valores de estado transitorios que se actualizan en la siguiente ocurrencia, y payloads puntuales de callback de mensajes.",
|
|
67
|
+
"pl": "Naprawia wszystkie pozostałe ustalenia z ponownego przeglądu: przetłumaczono 18 niemieckich komunikatów błędów w validateDeviceRow() (walidacja wiersza/duplikatów, w tym 6 pominiętych we wcześniejszym przebiegu), 5 tłumaczeń kod błędu-komunikat w handleDeviceError() (zapisywanych również do stanu info.lastError), 9 niemieckich ciągów w zgłaszanych obiektach Error oraz komunikat odrzucenia sugestii instalacji bonjour-service. Zgodnie z wyraźnym zaleceniem opiekuna, cały tekst wyników skierowany do UI w onMessage (wiersze raportu importu CSV, wyniki testu urządzenia, podsumowanie wykrywania) jest teraz również po angielsku, zastępując wcześniejszą decyzję projektową o pozostawieniu go po niemiecku dla docelowych odbiorców - opiekun wyjaśnił, że cały tekst skierowany do użytkownika musi być po angielsku lub w pełni i18n, bez wyjątku dla ciągów wyników okna dialogowego administratora. Migracja nie jest potrzebna: żadna z tych poprawek nie dotyka trwałych właściwości common obiektów, jedynie wyjścia dziennika, przejściowych wartości stanu odświeżanych przy kolejnym wystąpieniu oraz jednorazowych ładunków callbacków wiadomości.",
|
|
68
|
+
"uk": "Виправлено всі залишкові зауваження з повторного огляду: перекладено 18 німецьких повідомлень про помилки в validateDeviceRow() (перевірка рядків/дублікатів, включно з 6, пропущеними в попередньому проході), 5 перекладів код помилки → повідомлення в handleDeviceError() (також записуються у стан info.lastError), 9 німецьких рядків у викинутих об'єктах Error та повідомлення про відхилення пропозиції встановлення bonjour-service. За явною вказівкою мейнтейнера, увесь текст результатів, орієнтований на UI, в onMessage (рядки звіту імпорту CSV, результати тесту пристрою, підсумок виявлення) тепер також англійською, замінюючи попереднє проєктне рішення залишати його німецькою для цільової аудиторії - мейнтейнер уточнив, що весь текст, орієнтований на користувача, має бути англійською або повністю i18n, без винятку для рядків результатів діалогу адміністрування. Міграція не потрібна: жодна з цих виправлень не торкається постійних властивостей common об'єктів, лише виводу журналу, тимчасових значень стану, що оновлюються при наступній появі, та одноразових корисних навантажень зворотних викликів повідомлень.",
|
|
56
69
|
"zh-cn": "修复了后续审查中的所有剩余问题:翻译了德语错误消息,根据维护者的明确指示,通过 onMessage 发送给用户的所有文本现在均为英文。无需迁移。"
|
|
57
70
|
},
|
|
58
71
|
"1.0.9": {
|
|
59
72
|
"en": "Fix: the common.name i18n conversion from 1.0.8 only applied to newly created objects (setObjectNotExistsAsync/ensureState never update existing ones) - any installation upgrading from <=1.0.7 kept the old plain-German name strings forever. migrateObjectRoles() now also force-corrects these on every startup via a value-based lookup table generated from the same translations already used in the object-creation code, plus dedicated regex rules for the two dynamic cases (scene button names, tilt pulse duration). Also fixes two translation gaps that were missed in 1.0.8 (network info fields and the shutter position estimate/move descriptions) which the extraction script used to build the migration table happened to catch. Verified against a live object dump (409 objects, 4 devices): corrects exactly the 385 affected objects, 0 false positives on user-configured device/room names.",
|
|
60
73
|
"de": "Fix: Die common.name-i18n-Umstellung aus 1.0.8 griff nur bei neu erstellten Objekten (setObjectNotExistsAsync/ensureState aktualisieren bestehende Objekte nie) - jedes Update von <=1.0.7 behielt die alten deutschen Plain-String-Namen für immer. migrateObjectRoles() korrigiert diese jetzt bei jedem Start ebenfalls, über eine wertbasierte Nachschlagetabelle, generiert aus denselben Übersetzungen, die bereits im Objekterstellungs-Code stehen, plus dedizierte Regex-Regeln für die zwei dynamischen Fälle (Szenen-Button-Namen, Lamellen-Impulsdauer). Behebt zudem zwei Übersetzungslücken, die in 1.0.8 übersehen wurden (Netzwerk-Info-Felder und die Storen-Positions-Schätzung/-Anfahrt-Beschreibungen), die das Extraktionsskript zum Aufbau der Migrationstabelle zufällig aufgedeckt hat. Verifiziert gegen einen echten Objekt-Dump (409 Objekte, 4 Geräte): korrigiert exakt die 385 betroffenen Objekte, 0 Fehltreffer bei nutzerkonfigurierten Geräte-/Raumnamen.",
|
|
61
|
-
"ru": "Исправление:
|
|
62
|
-
"pt": "Correção: a
|
|
63
|
-
"nl": "Fix: de
|
|
64
|
-
"fr": "Correction : la
|
|
65
|
-
"it": "Correzione: la
|
|
66
|
-
"es": "Corrección: la
|
|
67
|
-
"pl": "Poprawka:
|
|
68
|
-
"uk": "Виправлення:
|
|
74
|
+
"ru": "Исправление: преобразование i18n для common.name из версии 1.0.8 применялось только к вновь создаваемым объектам (setObjectNotExistsAsync/ensureState никогда не обновляют существующие) - любая установка, обновлённая с версии <=1.0.7, навсегда сохраняла старые немецкие строки имён. migrateObjectRoles() теперь также принудительно исправляет их при каждом запуске с помощью таблицы соответствий на основе значений, созданной из тех же переводов, что уже используются в коде создания объектов, плюс отдельные regex-правила для двух динамических случаев (названия кнопок сцен, длительность импульса наклона). Также исправлены два пробела в переводе, пропущенные в 1.0.8 (поля сетевой информации и описания оценки/перемещения положения жалюзи), которые случайно обнаружил скрипт извлечения, использованный для построения таблицы миграции. Проверено на реальном дампе объектов (409 объектов, 4 устройства): исправляет ровно 385 затронутых объектов, 0 ложных срабатываний на именах устройств/комнат, настроенных пользователем.",
|
|
75
|
+
"pt": "Correção: a conversão i18n de common.name da 1.0.8 aplicava-se apenas a objetos recém-criados (setObjectNotExistsAsync/ensureState nunca atualizam os existentes) - qualquer instalação atualizada a partir de <=1.0.7 mantinha para sempre as antigas strings de nome em alemão simples. O migrateObjectRoles() agora também corrige forçadamente estes casos em cada arranque através de uma tabela de pesquisa baseada em valores, gerada a partir das mesmas traduções já utilizadas no código de criação de objetos, além de regras regex dedicadas para os dois casos dinâmicos (nomes dos botões de cena, duração do impulso de inclinação). Corrige também duas lacunas de tradução que passaram despercebidas na 1.0.8 (campos de informação de rede e as descrições de estimativa/movimento da posição do estore), que o script de extração usado para construir a tabela de migração detetou por acaso. Verificado num despejo real de objetos (409 objetos, 4 dispositivos): corrige exatamente os 385 objetos afetados, 0 falsos positivos em nomes de dispositivo/divisão configurados pelo utilizador.",
|
|
76
|
+
"nl": "Fix: de common.name-i18n-conversie uit 1.0.8 werd alleen toegepast op nieuw aangemaakte objecten (setObjectNotExistsAsync/ensureState werken bestaande objecten nooit bij) - elke installatie die werd bijgewerkt vanaf <=1.0.7 behield de oude, platte Duitse naamreeksen voor altijd. migrateObjectRoles() corrigeert deze nu ook bij elke opstart via een op waarden gebaseerde opzoektabel, gegenereerd uit dezelfde vertalingen die al in de objectcreatiecode worden gebruikt, plus specifieke regex-regels voor de twee dynamische gevallen (scène-knopnamen, kanteltijd). Verhelpt ook twee vertaalhiaten die in 1.0.8 werden gemist (netwerkinfovelden en de beschrijvingen van de schatting/beweging van de zonweringpositie), die het extractiescript voor de migratietabel toevallig aan het licht bracht. Geverifieerd aan de hand van een echte objectdump (409 objecten, 4 apparaten): corrigeert precies de 385 getroffen objecten, 0 valse positieven bij door de gebruiker geconfigureerde apparaat-/kamernamen.",
|
|
77
|
+
"fr": "Correction : la conversion i18n de common.name de la 1.0.8 ne s'appliquait qu'aux objets nouvellement créés (setObjectNotExistsAsync/ensureState ne mettent jamais à jour les objets existants) - toute installation mise à niveau depuis une version <=1.0.7 conservait indéfiniment les anciennes chaînes de nom en allemand. migrateObjectRoles() corrige désormais également ces cas de force à chaque démarrage via une table de correspondance basée sur les valeurs, générée à partir des mêmes traductions déjà utilisées dans le code de création d'objets, ainsi que des règles regex dédiées pour les deux cas dynamiques (noms des boutons de scène, durée d'impulsion d'inclinaison). Corrige également deux lacunes de traduction manquées en 1.0.8 (champs d'information réseau et descriptions d'estimation/déplacement de position du store) que le script d'extraction utilisé pour construire la table de migration a par hasard détectées. Vérifié sur un vidage d'objets réel (409 objets, 4 appareils) : corrige exactement les 385 objets concernés, 0 faux positif sur les noms d'appareil/de pièce configurés par l'utilisateur.",
|
|
78
|
+
"it": "Correzione: la conversione i18n di common.name della 1.0.8 si applicava solo agli oggetti appena creati (setObjectNotExistsAsync/ensureState non aggiornano mai quelli esistenti) - qualsiasi installazione aggiornata da <=1.0.7 manteneva per sempre le vecchie stringhe di nome in tedesco. migrateObjectRoles() ora corregge forzatamente anche questi ad ogni avvio tramite una tabella di ricerca basata sui valori, generata dalle stesse traduzioni già usate nel codice di creazione degli oggetti, oltre a regole regex dedicate per i due casi dinamici (nomi dei pulsanti scena, durata dell'impulso di inclinazione). Corregge anche due lacune di traduzione mancate nella 1.0.8 (campi informazioni di rete e descrizioni di stima/movimento della posizione della tapparella) che lo script di estrazione usato per costruire la tabella di migrazione ha rilevato per caso. Verificato su un dump di oggetti reale (409 oggetti, 4 dispositivi): corregge esattamente i 385 oggetti interessati, 0 falsi positivi sui nomi di dispositivo/stanza configurati dall'utente.",
|
|
79
|
+
"es": "Corrección: la conversión i18n de common.name de la 1.0.8 solo se aplicaba a objetos recién creados (setObjectNotExistsAsync/ensureState nunca actualizan los existentes) - cualquier instalación que actualizara desde <=1.0.7 conservaba para siempre las antiguas cadenas de nombre en alemán. migrateObjectRoles() ahora también corrige esto por la fuerza en cada arranque mediante una tabla de búsqueda basada en valores generada a partir de las mismas traducciones ya usadas en el código de creación de objetos, además de reglas regex dedicadas para los dos casos dinámicos (nombres de botones de escena, duración del pulso de inclinación). También corrige dos lagunas de traducción que se pasaron por alto en la 1.0.8 (campos de información de red y las descripciones de estimación/movimiento de posición de la persiana) que el script de extracción usado para construir la tabla de migración detectó por casualidad. Verificado contra un volcado de objetos real (409 objetos, 4 dispositivos): corrige exactamente los 385 objetos afectados, 0 falsos positivos en nombres de dispositivo/habitación configurados por el usuario.",
|
|
80
|
+
"pl": "Poprawka: konwersja i18n common.name z 1.0.8 dotyczyła tylko nowo utworzonych obiektów (setObjectNotExistsAsync/ensureState nigdy nie aktualizują istniejących) - każda instalacja aktualizowana z wersji <=1.0.7 na zawsze zachowywała stare, zwykłe niemieckie ciągi nazw. migrateObjectRoles() teraz również wymusza ich korektę przy każdym uruchomieniu za pomocą tabeli przeszukiwania opartej na wartościach, wygenerowanej z tych samych tłumaczeń już używanych w kodzie tworzenia obiektów, oraz dedykowanych reguł regex dla dwóch przypadków dynamicznych (nazwy przycisków scen, czas trwania impulsu przechyłu). Naprawia również dwie luki w tłumaczeniu pominięte w 1.0.8 (pola informacji o sieci oraz opisy szacowania/przesuwania pozycji rolety), które skrypt ekstrakcji użyty do zbudowania tabeli migracji przypadkowo wykrył. Zweryfikowano na rzeczywistym zrzucie obiektów (409 obiektów, 4 urządzenia): naprawia dokładnie 385 dotkniętych obiektów, 0 fałszywych trafień w nazwach urządzeń/pomieszczeń skonfigurowanych przez użytkownika.",
|
|
81
|
+
"uk": "Виправлення: перетворення i18n для common.name з версії 1.0.8 застосовувалося лише до новостворених об'єктів (setObjectNotExistsAsync/ensureState ніколи не оновлюють наявні) - будь-яка інсталяція, оновлена з версії <=1.0.7, назавжди зберігала старі німецькі рядки назв. migrateObjectRoles() тепер також примусово виправляє їх під час кожного запуску за допомогою таблиці пошуку на основі значень, згенерованої з тих самих перекладів, що вже використовуються в коді створення об'єктів, плюс окремі regex-правила для двох динамічних випадків (назви кнопок сцен, тривалість імпульсу нахилу). Також виправлено дві прогалини в перекладі, пропущені у 1.0.8 (поля мережевої інформації та описи оцінки/переміщення позиції жалюзі), які випадково виявив скрипт вилучення, використаний для побудови таблиці міграції. Перевірено на реальному дампі об'єктів (409 об'єктів, 4 пристрої): виправляє рівно 385 уражених об'єктів, 0 хибних спрацювань на іменах пристроїв/кімнат, налаштованих користувачем.",
|
|
69
82
|
"zh-cn": "修复:迁移现在也会修正已有安装中的旧德语对象名称,而不仅仅是新对象。已针对真实对象转储(409 个对象)验证:正好修正了 385 个受影响的对象。"
|
|
70
83
|
},
|
|
71
84
|
"1.0.8": {
|
|
72
85
|
"en": "Fix all findings from the manual maintainer review (PR #6327): removed the manual npm installation section from README.md/README_de.md (E6012, prohibited regardless of stated intent); added a verified link to the Feller product page; translated all 40+ German log messages to English (UI-facing result text for CSV import/discovery, shown in the admin config dialog, is intentionally kept German and decoupled from the log call); converted all 50 German common.name strings (incl. the CH_BUTTONS constant and dynamic channel/scene names) to full 11-language i18n objects; completed io-package.json instanceObjects translations for 'info' and 'control' (info.connection already had all 11 languages).",
|
|
73
86
|
"de": "Behebt alle Befunde aus dem manuellen Maintainer-Review (PR #6327): manuelle npm-Installationsanleitung aus README.md/README_de.md entfernt (E6012, unabhängig von der Absicht untersagt); verifizierten Link zur Feller-Produktseite ergänzt; alle 40+ deutschen Log-Meldungen ins Englische übersetzt (UI-Feedback-Text für CSV-Import/Discovery im Admin-Dialog bewusst Deutsch belassen und vom Log-Aufruf entkoppelt); alle 50 deutschen common.name-Strings (inkl. CH_BUTTONS-Konstante und dynamischer Kanal-/Szenen-Namen) auf vollständige 11-Sprachen-i18n-Objekte umgestellt; io-package.json instanceObjects-Übersetzungen für 'info' und 'control' vervollständigt (info.connection hatte bereits alle 11 Sprachen).",
|
|
74
|
-
"ru": "Исправлены все замечания из
|
|
75
|
-
"pt": "
|
|
76
|
-
"nl": "
|
|
77
|
-
"fr": "
|
|
78
|
-
"it": "
|
|
79
|
-
"es": "
|
|
80
|
-
"pl": "
|
|
81
|
-
"uk": "Виправлено всі зауваження з
|
|
87
|
+
"ru": "Исправлены все замечания из ручной проверки мейнтейнера (PR #6327): удалён раздел ручной установки через npm из README.md/README_de.md (E6012, запрещено независимо от заявленного намерения); добавлена проверенная ссылка на страницу продукта Feller; более 40 немецких сообщений журнала переведены на английский (текст результата, ориентированный на UI, для импорта/обнаружения CSV, отображаемый в диалоге конфигурации админки, намеренно остаётся немецким и отделён от вызова журнала); все 50 немецких строк common.name (включая константу CH_BUTTONS и динамические имена каналов/сцен) преобразованы в полные i18n-объекты для 11 языков; завершены переводы instanceObjects в io-package.json для 'info' и 'control' (info.connection уже имел все 11 языков).",
|
|
88
|
+
"pt": "Corrige todos os pontos da revisão manual do mantenedor (PR #6327): removida a secção de instalação manual via npm de README.md/README_de.md (E6012, proibido independentemente da intenção declarada); adicionado um link verificado para a página do produto Feller; traduzidas para inglês mais de 40 mensagens de log em alemão (o texto de resultado voltado para a UI da importação/deteção CSV, mostrado na caixa de diálogo de configuração de admin, mantém-se intencionalmente em alemão e desacoplado da chamada de log); convertidas todas as 50 strings alemãs de common.name (incl. a constante CH_BUTTONS e os nomes dinâmicos de canal/cena) em objetos i18n completos para 11 idiomas; concluídas as traduções instanceObjects do io-package.json para 'info' e 'control' (info.connection já tinha todos os 11 idiomas).",
|
|
89
|
+
"nl": "Verhelpt alle bevindingen uit de handmatige beoordeling door de maintainer (PR #6327): de handmatige npm-installatiesectie is verwijderd uit README.md/README_de.md (E6012, verboden ongeacht de opgegeven bedoeling); een geverifieerde link naar de Feller-productpagina toegevoegd; meer dan 40 Duitse logberichten vertaald naar het Engels (de UI-gerichte resultaattekst voor CSV-import/detectie, getoond in de admin-configuratiedialoog, blijft opzettelijk Duits en losgekoppeld van de logaanroep); alle 50 Duitse common.name-strings (incl. de CH_BUTTONS-constante en dynamische kanaal-/scènenamen) omgezet naar volledige i18n-objecten voor 11 talen; io-package.json instanceObjects-vertalingen voor 'info' en 'control' voltooid (info.connection had al alle 11 talen).",
|
|
90
|
+
"fr": "Corrige tous les points relevés lors de la revue manuelle du mainteneur (PR #6327) : suppression de la section d'installation manuelle via npm de README.md/README_de.md (E6012, interdit quelle que soit l'intention déclarée) ; ajout d'un lien vérifié vers la page produit Feller ; traduction en anglais de plus de 40 messages de journal en allemand (le texte de résultat destiné à l'interface utilisateur pour l'import/la détection CSV, affiché dans la boîte de dialogue de configuration d'administration, reste intentionnellement en allemand et découplé de l'appel au journal) ; conversion des 50 chaînes allemandes de common.name (y compris la constante CH_BUTTONS et les noms dynamiques de canal/scène) en objets i18n complets sur 11 langues ; finalisation des traductions instanceObjects de io-package.json pour 'info' et 'control' (info.connection disposait déjà des 11 langues).",
|
|
91
|
+
"it": "Corregge tutti i rilievi della revisione manuale del maintainer (PR #6327): rimossa la sezione di installazione manuale via npm da README.md/README_de.md (E6012, vietato indipendentemente dall'intento dichiarato); aggiunto un link verificato alla pagina prodotto Feller; tradotti in inglese oltre 40 messaggi di log in tedesco (il testo dei risultati rivolto all'interfaccia utente per l'importazione/rilevamento CSV, mostrato nella finestra di configurazione admin, rimane intenzionalmente in tedesco e disaccoppiato dalla chiamata di log); convertite tutte le 50 stringhe tedesche di common.name (inclusa la costante CH_BUTTONS e i nomi dinamici di canale/scena) in oggetti i18n completi per 11 lingue; completate le traduzioni instanceObjects di io-package.json per 'info' e 'control' (info.connection aveva già tutte le 11 lingue).",
|
|
92
|
+
"es": "Corrige todos los hallazgos de la revisión manual del mantenedor (PR #6327): se eliminó la sección de instalación manual por npm de README.md/README_de.md (E6012, prohibido independientemente de la intención declarada); se añadió un enlace verificado a la página del producto Feller; se tradujeron al inglés más de 40 mensajes de registro en alemán (el texto de resultado orientado a la interfaz de usuario para importación/detección CSV, mostrado en el diálogo de configuración de administración, se mantiene intencionalmente en alemán y desacoplado de la llamada de registro); se convirtieron las 50 cadenas alemanas de common.name (incl. la constante CH_BUTTONS y los nombres dinámicos de canal/escena) a objetos i18n completos de 11 idiomas; se completaron las traducciones de instanceObjects de io-package.json para 'info' y 'control' (info.connection ya tenía los 11 idiomas).",
|
|
93
|
+
"pl": "Naprawia wszystkie ustalenia z ręcznego przeglądu opiekuna (PR #6327): usunięto sekcję ręcznej instalacji przez npm z README.md/README_de.md (E6012, zabronione niezależnie od deklarowanej intencji); dodano zweryfikowany link do strony produktu Feller; przetłumaczono na angielski ponad 40 niemieckich komunikatów dziennika (tekst wyników skierowany do UI dla importu/wykrywania CSV, wyświetlany w oknie konfiguracji administratora, celowo pozostaje po niemiecku i jest odłączony od wywołania dziennika); przekonwertowano wszystkie 50 niemieckich ciągów common.name (w tym stałą CH_BUTTONS oraz dynamiczne nazwy kanałów/scen) na pełne obiekty i18n dla 11 języków; ukończono tłumaczenia instanceObjects w io-package.json dla 'info' i 'control' (info.connection miało już wszystkie 11 języków).",
|
|
94
|
+
"uk": "Виправлено всі зауваження з ручної перевірки мейнтейнера (PR #6327): видалено розділ ручної інсталяції через npm з README.md/README_de.md (E6012, заборонено незалежно від заявленого наміру); додано перевірене посилання на сторінку продукту Feller; понад 40 німецьких повідомлень журналу перекладено англійською (текст результату, орієнтований на UI, для імпорту/виявлення CSV, показаний у діалозі конфігурації адміністратора, навмисно залишається німецькою і відокремлений від виклику журналу); усі 50 німецьких рядків common.name (включно з константою CH_BUTTONS та динамічними назвами каналів/сцен) перетворено на повні i18n-об'єкти для 11 мов; завершено переклади instanceObjects у io-package.json для 'info' та 'control' (info.connection вже мав усі 11 мов).",
|
|
82
95
|
"zh-cn": "修复了维护者人工审查(PR #6327)中的所有问题:移除了手动 npm 安装说明;添加了 Feller 产品页面链接;所有日志信息已翻译为英文;所有对象名称已转换为 11 种语言的 i18n 对象。"
|
|
83
|
-
},
|
|
84
|
-
"1.0.7": {
|
|
85
|
-
"en": "Enable global i18n support (jsonConfig i18n: true) with translation files under admin/i18n/ for all 11 supported languages, resolving the checker's i18n warnings the correct way (validatorErrorText stays a plain string per schema; ioBroker resolves the translation via the files, falling back to the English text if no entry is found). Added @iobroker/adapter-dev and @alcalzone/release-script as devDependencies with translate/release npm scripts. (Migrating to @iobroker/eslint-config was evaluated but reverted: its eslint-plugin-import dependency does not yet support eslint 10.x, which broke npm install.)",
|
|
86
|
-
"de": "Globale i18n-Unterstützung aktiviert (jsonConfig i18n: true) mit Übersetzungsdateien unter admin/i18n/ für alle 11 unterstützten Sprachen - löst die i18n-Warnungen des Checkers auf die vorgesehene Weise (validatorErrorText bleibt gemäss Schema ein einfacher String; ioBroker löst die Übersetzung über die Dateien auf und fällt bei fehlendem Eintrag auf den englischen Text zurück). @iobroker/adapter-dev und @alcalzone/release-script als devDependencies mit translate/release-Skripten ergänzt. (Die Migration auf @iobroker/eslint-config wurde geprüft, aber zurückgenommen: dessen Abhängigkeit eslint-plugin-import unterstützt eslint 10.x noch nicht und hätte npm install gebrochen.)",
|
|
87
|
-
"ru": "Включена глобальная поддержка i18n (jsonConfig i18n: true) с файлами перевода в admin/i18n/ для всех 11 поддерживаемых языков - это правильно устраняет предупреждения чекера об i18n. Добавлены @iobroker/adapter-dev и @alcalzone/release-script.",
|
|
88
|
-
"pt": "Ativado suporte global a i18n (jsonConfig i18n: true) com ficheiros de tradução em admin/i18n/ para os 11 idiomas suportados. Adicionados @iobroker/adapter-dev e @alcalzone/release-script.",
|
|
89
|
-
"nl": "Globale i18n-ondersteuning ingeschakeld (jsonConfig i18n: true) met vertaalbestanden onder admin/i18n/ voor alle 11 ondersteunde talen. @iobroker/adapter-dev en @alcalzone/release-script toegevoegd.",
|
|
90
|
-
"fr": "Activation du support i18n global (jsonConfig i18n : true) avec des fichiers de traduction sous admin/i18n/ pour les 11 langues prises en charge. Ajout de @iobroker/adapter-dev et @alcalzone/release-script.",
|
|
91
|
-
"it": "Abilitato il supporto i18n globale (jsonConfig i18n: true) con file di traduzione in admin/i18n/ per tutte le 11 lingue supportate. Aggiunti @iobroker/adapter-dev e @alcalzone/release-script.",
|
|
92
|
-
"es": "Se habilitó el soporte global de i18n (jsonConfig i18n: true) con archivos de traducción en admin/i18n/ para los 11 idiomas soportados. Se añadieron @iobroker/adapter-dev y @alcalzone/release-script.",
|
|
93
|
-
"pl": "Włączono globalną obsługę i18n (jsonConfig i18n: true) z plikami tłumaczeń w admin/i18n/ dla wszystkich 11 obsługiwanych języków. Dodano @iobroker/adapter-dev i @alcalzone/release-script.",
|
|
94
|
-
"uk": "Увімкнено глобальну підтримку i18n (jsonConfig i18n: true) з файлами перекладу в admin/i18n/ для всіх 11 підтримуваних мов. Додано @iobroker/adapter-dev і @alcalzone/release-script.",
|
|
95
|
-
"zh-cn": "启用全局 i18n 支持(jsonConfig i18n: true),在 admin/i18n/ 下为所有 11 种支持的语言提供翻译文件。新增 @iobroker/adapter-dev 和 @alcalzone/release-script。"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.zeptrion",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "ioBroker Adapter für Feller zeptrion / zApp WLAN-Aktoren (WLAN-Nebenstelle 4K, WLAN-Zwischenmodul 2K) über die zrap Webservice API - inkl. Sammelbefehlen für Hagelalarm und mDNS-Discovery",
|
|
5
|
-
"author": "Stefan Bühler",
|
|
5
|
+
"author": "Stefan Bühler <stefan.buehler46@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/bueste/ioBroker.zeptrion",
|
|
8
8
|
"funding": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"node": ">=22"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@iobroker/adapter-core": "^3.4.
|
|
45
|
+
"@iobroker/adapter-core": "^3.4.3",
|
|
46
46
|
"axios": "^1.18.1",
|
|
47
47
|
"fast-xml-parser": "^5.9.3",
|
|
48
48
|
"bonjour-service": "^1.4.3"
|
|
@@ -50,12 +50,13 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@alcalzone/release-script": "^5.2.1",
|
|
52
52
|
"@alcalzone/release-script-plugin-iobroker": "^5.2.0",
|
|
53
|
-
"@alcalzone/release-script-plugin-license": "^5.2.
|
|
53
|
+
"@alcalzone/release-script-plugin-license": "^5.2.2",
|
|
54
54
|
"@iobroker/adapter-dev": "^1.5.0",
|
|
55
|
-
"@iobroker/testing": "^
|
|
55
|
+
"@iobroker/testing": "^6.2.1",
|
|
56
56
|
"@tsconfig/node22": "^22.0.5",
|
|
57
57
|
"@types/node": "^22.20.1",
|
|
58
|
-
"eslint": "^10.7.0"
|
|
58
|
+
"eslint": "^10.7.0",
|
|
59
|
+
"@alcalzone/release-script-plugin-manual-review": "^5.2.0"
|
|
59
60
|
},
|
|
60
61
|
"scripts": {
|
|
61
62
|
"start": "node main.js",
|