Releases: bueste/ioBroker.zeptrion
Release list
Release v1.0.13
Only ru/uk/zh-cn had proper translations of the SW/SN abbreviations
in testDeviceOk; the other six languages silently kept the English
copy verbatim. Translated appropriately per language. Also fixed the
identical issue in fr, which the checkers exact-match heuristic
missed due to a spacing difference before the colon.
Verified with a full sweep comparing every key across all 11 i18n
files against the English source for other >5-word identical
matches - none found.
Release v1.0.12
Found during independent end-to-end testing of v1.0.11, not by the reviewer:
-
csvRowError (CSV import report) was correctly localized via
I18n.translate(), but the embedded field-validation messages from
validateDeviceRow() (host missing, invalid IP, etc.) were still the
hardcoded English strings from v1.0.10. Result: a mixed-language
sentence for non-English admin users, e.g. "Zeile 3: Host missing"
in German instead of "Zeile 3: Host fehlt".Fix: validateDeviceRow() now returns structured {key, args} entries
instead of pre-rendered strings. Two explicit renderers:- renderValidationErrorsEn(): always English, for this.log.*() call
sites (which must stay English regardless of system language) - renderValidationErrorsLocalized(): uses I18n.translate(), for the
localized CSV import UI report
Added 13 new i18n keys across all 11 languages.
- renderValidationErrorsEn(): always English, for this.log.*() call
-
package.json is missing README_de.md from its "files" allowlist.
npm auto-includes README.md in every published package (documented
npm behaviour), but NOT other README variants - so README_de.md was
silently absent from every previously published npm tarball despite
being present in the GitHub repo.
Verified end-to-end, not just by code review:
- Loaded the real @iobroker/adapter-core I18n module directly and
called I18n.translate() with real interpolated values in EN/DE/FR/
ZH-CN, confirming log rendering stays English regardless of the
active UI language while the UI rendering switches correctly. - Downloaded and extracted the actual published npm tarball
(iobroker.zeptrion@1.0.11) to confirm the i18n/ folder ships
correctly (it does) and to catch the README_de.md gap. - Full npm ci + lint + 57 package tests + 1 unit test, all passing.
Release v1.0.11
v1.0.10 translated all onMessage() result text (CSV import report,
device test, discovery summary) to English only. Implemented proper
i18n instead, using the official @iobroker/adapter-core I18n module:
- I18n.init(__dirname, this) in onReady() reads system.config.common.language
automatically - no custom config field needed - New root-level i18n/ directory (separate from admin/i18n/, which is
for jsonConfig labels) with all 11 required languages - All 9 onMessage message templates now go through I18n.translate()
- ioBroker log entries stay English-only regardless of system
language, per the separate log requirement - only decoupled
UI-facing text is localized
Verified end-to-end with real interpolated values in German, English,
and French (representative of the other 8 languages), plus fallback
to English for an unsupported/unknown system language.
Also fixes a packaging bug found before this push: the new i18n/
folder was missing from package.json's "files" allowlist, which would
have excluded it from the published npm tarball and caused
"Cannot find i18n directory" at runtime on a real install. Caught by
actually running npm pack and extracting+testing the resulting
tarball, not just local directory testing.
Release v1.0.10
- validateDeviceRow(): 18 error messages translated (6 of these were
missed in the 1.0.8 pass: IPv4 validation, kind/travelTime/tilt-pulse
checks) - handleDeviceError(): 5 error-code-to-message translations (also
written to info.lastError - self-heals on the next error occurrence,
no migration needed for transient state values) - 9 German strings in thrown Error objects across the codebase
- bonjour-service install-hint rejection message
Per explicit maintainer direction (all user-facing text must be
English or full i18n, no exception for admin-dialog result strings):
all UI-facing text in onMessage is now English too - CSV import
report lines, device test results, discovery summary. This supersedes
the earlier design decision (v1.0.8/1.0.9) to keep this text German
for the target audience.
No migration needed: none of these fixes touch persisted object
common properties, only log output, transient state values, and
one-off message-callback payloads.
Release v1.0.9
setObjectNotExistsAsync()/ensureState() never update an already-existing object, so
the common.name i18n conversion from 1.0.8 only ever applied to newly created objects.
Every installation upgrading from <=1.0.7 kept the old plain-German name strings forever.
Added a value-based NAME_MIGRATION_MAP (generated from the same translations already
used in the object-creation code, not retyped) plus dedicated regex rules for the two
dynamic cases (scene button names, tilt pulse duration in ms).
Also fixes two translation gaps missed in 1.0.8 (netFields network info, posEstimate/
setPosition descriptions) that the extraction script used to build the migration table
happened to surface.
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.
Release v1.0.8
- E6012: removed manual npm installation section from README.md/README_de.md
- added verified link to the Feller product page
- translated all 40+ German log messages to English (this.log.* calls);
UI-facing result text for CSV import/discovery stays German (admin dialog)
and is now decoupled from the log call - converted all 50 German common.name strings to full 11-language i18n
objects, including the CH_BUTTONS constant and dynamic channel/scene names - completed io-package.json instanceObjects translations for info and
control (info.connection already had all 11 languages)
Verified: npm ci, lint, 57 tests, all 50 i18n name objects checked for
complete 11-language coverage.
Release v1.0.7
fix: sync package-lock.json with package.json (was stuck at v0.8.5, b…
Release v1.0.6
release: v1.0.6 - fix: validatorErrorText must be a string per admin …
Release v1.0.5
release: v1.0.5 (i18n validatorErrorText, dependency minimums)
Release v1.0.4
- added Buy Me a Coffee badge next to PayPal donate badge in README.md/README_de.md
- added funding field to package.json
- package.json/io-package.json author changed to 'Stefan Bühler' (no email/username)
- real per-language translations for the 1.0.4 common.news entry (previously English-only placeholders in all 9 non-DE languages)