Skip to content

Release v7.2

Choose a tag to compare

@chaunceygardiner chaunceygardiner released this 28 Jul 17:09

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 $gettext way,
    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's lang
    (previously hardcoded en-US).

  • German ships with the skin. lang/de.conf is 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 = de
    

    or once for every German-shipping skin under [StdReport]
    [[Defaults]].

  • A reference dictionary for translators. lang/en.conf ships 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.conf carries
    [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.