Skip to content

docs/man: committed po/pot files are out of sync with po4a.config (stale .1 source refs) #894

Description

@ngosang

Summary

The committed translation catalogs under docs/man/po/ (manpages.pot and
manpages-<lang>.po) are out of sync with the current docs/man/po4a.config.
Their #: source-location comments still point at the old master names
(amule.1, ed2k.1, …) instead of the templatized masters the config now
uses (amule.1.in, ed2k.1.in, …). The catalogs were never regenerated after
the masters were renamed.

How to reproduce

cd docs/man
po4a --no-translations --force po4a.config
git status        # all 11 po/pot files show as modified

Root cause

The man-page masters were templatized for date/version and renamed from
*.1 to *.1.in:

  • 5c9781e5 — the 5 main man pages (amule, amulecmd, amuled, amulegui, amuleweb)
  • a89d1e37 — the 5 utility man pages (ed2k, alc, alcc, cas, wxcas)

po4a.config was updated accordingly, but po/manpages.pot and the
po/manpages-<lang>.po files were not regenerated afterwards. As a result the
committed .pot still contains, e.g.:

#: amule.1:1

while the config master is amule.1.in.

Observations after regenerating

Regenerating with po4a 0.74 produces a large (~3,700-line) diff, but it is
entirely cosmetic — verified there are no translation content changes:

  1. Stale source refs — every #: comment changes *.1*.1.in.
  2. Line-wrapping — the existing catalogs were produced by a different
    po4a/gettext version that wrapped msgid/msgstr strings at a wider column,
    so po4a 0.74 reflows them. The volume varies a lot per language (e.g. de
    ~10 lines vs fr ~600 lines) depending on how recently each was last
    generated.
  3. No msgid/msgstr text changed, and fuzzy/obsolete (#~) counts stay
    at 0 across all languages.

Suggested fix

  • Regenerate the catalogs once so the #: references match po4a.config
    (po4a --no-translations --force po4a.config) and commit the result.
  • Consider documenting / pinning the po4a version used for releases, so the
    PO line-wrapping stays stable and future regenerations don't create large
    cosmetic diffs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    translationUpdates to translation files

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions