German translations for weewx-skyfield, weewx-celestial and weewx-loopdata (danke, Christian!)

29 views
Skip to first unread message

John Kline

unread,
Jul 28, 2026, 6:00:23 PM (5 days ago) Jul 28
to weewx...@googlegroups.com

Hi all,


A follow-up to last week's introduction of these three extensions: all three now speak German. The current releases — weewx-skyfield 1.13, weewx-celestial 7.3 and weewx-loopdata 6.4 — make every bundled page translatable through WeeWX's own lang-file mechanisms, and a complete German translation ships with each one.



First, a thank-you: Christian (peters77) reviewed the German translations — body names, moon phases, compass points, all 88 constellation names, and every string on the three sample reports — and ran all three on his own station. The screenshots below are his. Danke, Christian!


Turning it on

One line in weewx.conf:


[StdReport]
    [[Defaults]]
        lang = de

switches every skin that ships German — WeeWX's own Seasons skin included — in one go. Or set lang = de on an individual report's stanza ([[SkyfieldReport]][[CelestialReport]][[LoopDataReport]]) to switch just that page. English reports render exactly as before.


Here is what you get (Christian's screenshots):



weewx-skyfield — the Sky page:


The Sky page in German





weewx-celestial — the Celestial page:


The Celestial page in German



weewx-loopdata — the sample gauges report:

The LoopData gauges in German


Localized almanac names in your own reports

The machinery is not just for the bundled pages — two almanac tags let any skin, in any language, render localized names (weewx-skyfield 1.13+, no PyEphem needed):


  • $almanac.<body>.label — the body's display name, translated by your report.
  • $almanac.<body>.constellation.label — the translated name of the constellation the body currently stands in.


For German, none of this needs configuring: the shipped lang files already carry the sun, moon, planets and all 88 constellations, so the bundled skins translate the moment you set lang = de — and a skin of your own picks up the same names by copying the shipped de.conf into its lang/ directory (the recipe is in the manual).


You only define names yourself for a language that doesn't ship yet, or for names of your own choosing (a named star, say). They go in the report's [Almanac] section — the same section that holds moon_phases — in skin.conf or a lang file; constellations in an [[Constellations]] subsection, keyed by IAU abbreviation. Say you want French:


[Almanac]
    sun = Soleil
    moon = Lune
    polaris = Étoile polaire
    [[Constellations]]
        Leo = Lion
        Psc = Poissons


With that in place:


  • $almanac.moon.label renders Lune
  • $almanac.polaris.label renders Étoile polaire — this works for every body and all 412 IAU-named stars
  • $almanac.saturn.constellation.label renders Poissons while Saturn stands in Pisces
  • $almanac.saturn.constellation itself still renders the Latin Pisces in every language, so templates that compare it keep working; the IAU abbreviation is $almanac.saturn.constellation.abbr


Anything you don't define falls back to English (Latin for constellations), so a partial list is fine.

The same names work live: list almanac.moon.label or almanac.saturn.constellation.label as weewx-loopdata fields and they are published to loop-data.txt in the language of loopdata's target report, ready for your page's javascript.


Other languages

A lang file is a self-contained, no-code contribution: each skin ships lang/en.conf as its reference dictionary, and a translation is that file with the right-hand sides in your language — partial is fine, every missing string falls back to English. If there is demand for more languages, I'd be happy to do the work if you are willing to review the translated text.


Thanks,
John

John Kline

unread,
Jul 28, 2026, 6:14:31 PM (5 days ago) Jul 28
to weewx...@googlegroups.com
Let’s try again on those screen shots:

SkyfieldReport:
image0.png

Celestial report:
image1.png

LoopDataReport:
image2.png

On Jul 28, 2026, at 3:00 PM, John Kline <jo...@johnkline.com> wrote:



Hi all,


A follow-up to last week's introduction of these three extensions: all three now speak German. The current releases — weewx-skyfield 1.13, weewx-celestial 7.3 and weewx-loopdata 6.4 — make every bundled page translatable through WeeWX's own lang-file mechanisms, and a complete German translation ships with each one.



First, a thank-you: Christian (peters77) reviewed the German translations — body names, moon phases, compass points, all 88 constellation names, and every string on the three sample reports — and ran all three on his own station. The screenshots below are his. Danke, Christian!


Turning it on

One line in weewx.conf:


[StdReport]
    [[Defaults]]
        lang = de

switches every skin that ships German — WeeWX's own Seasons skin included — in one go. Or set lang = de on an individual report's stanza ([[SkyfieldReport]][[CelestialReport]][[LoopDataReport]]) to switch just that page. English reports render exactly as before.


Here is what you get (Christian's screenshots):



weewx-skyfield — the Sky page:






weewx-celestial — the Celestial page:




weewx-loopdata — the sample gauges report:

Reply all
Reply to author
Forward
0 new messages