Release v7.2
weewx-celestial 7.2
This release makes the Celestial page translatable — entirely through
WeeWX's own mechanisms (lang files, [Texts]/$gettext, the [Almanac]
section), the same machinery weewx-skyfield 1.12/1.13 ships — and German
ships with the skin, native-speaker reviewed. Drop-in upgrade from 7.x:
install over it, no config changes, no loop-data field changes; an
untranslated report renders exactly as before (English is the per-string
fallback).
What's new
-
The whole page speaks the report's language — including the live
parts. Static template strings translate the usual$gettextway,
and everything the javascript composes at run time (the LIVE/OFFLINE/
NO DATA badge, "receding"/"approaching" rate lines, altitude and au
cells, dial ring labels, compass cardinals, body names, Proxima's
light-year label) is resolved at report-generation time and fed to the
script json-escaped, so the dial, roster and badge stay in one language
between loop refreshes. Body names come from the report's[Almanac]
section (the same source as$almanac.<body>.label), cardinals from
the report formatter's ordinates, hemisphere letters from[Labels].
The clock and last-update stamp now format per the report'slang
(previously hardcoded en-US). -
German ships with the skin.
lang/de.confis a complete
translation, kept complete by a test. Its vocabulary — body names,
moon phases, hemisphere letters, compass ordinates and all 88
constellation names — is shared verbatim with weewx-skyfield's
de.conf(native-speaker reviewed), and a test keeps the two repos in
step. Select it per report:[StdReport] [[CelestialReport]] lang = deor once for every German-shipping skin under
[StdReport]
[[Defaults]]. -
A reference dictionary for translators.
lang/en.confships every
string the page renders and nothing else (a test keeps it exact in both
directions). Copy it to<code>.conf, translate the values, keep the
{named}placeholders — a partial translation is fine, and a lang file
is a self-contained, no-code contribution. -
Constellations included for loopdata.
de.confcarries
[Almanac][[Constellations]](all 88, keyed by IAU abbreviation),
so constellation fields (almanac.<body>.constellation.label) arrive
in German when this report is weewx-loopdata's target — loop-data
values already follow the target report's language with no other work. -
A user manual. weewx-celestial now has one, like its siblings:
chaunceygardiner.github.io/weewx-celestial
— installation and upgrading (including the migration utility),
configuration, building the Geocentric into your own skin, and
translating.
One visible tweak: the roster's body names now come from the almanac
texts, capitalized — "Moon" where 7.1 showed "moon" (German nouns need
the capital); the small-caps styling is unchanged.
Requirements
- Python 3.9 or later
- WeeWX 5.2 or later
- weewx-loopdata
5.0 or later - weewx-skyfield
strongly recommended (required for Proxima Centauri), or PyEphem
Installing/upgrading
Download weewx-celestial.zip from this release, then install right over
the existing 7.x:
weectl extension install weewx-celestial.zip
Restart WeeWX. No weewx.conf changes are needed when upgrading from 7.x;
the [LoopData] [[Include]] fields line is unchanged. (Upgrading from
6.x or earlier follows the README's upgrade instructions — those paths do
need the uninstall step, and from 5.x the migration utility.) Note that
upgrading replaces the bundled skin (skins/Celestial/, including its
lang/ files) — local additions and overrides survive upgrades best as
[[[Almanac]]]/[[[Texts]]] entries in the report's section of
weewx.conf.