monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Translations revisited


From: Zack Weinberg
Subject: Re: [Monotone-devel] Translations revisited
Date: Sat, 10 Mar 2007 17:49:49 -0800

On 3/10/07, Patrick Georgi <address@hidden> wrote:
I'm currently looking at what functionality the Makefile in po/ has to
provide for devs (besides .po -> .gmo/.mo parsing), because I intend to
remove the dependency on gnu gettext there.

Currently, the Makefile in po/ is created by autopoint, a component of
gettext. I already rewrote the autoconf tests (as they're also provided
by gnu gettext - see nvm.portable-gettext-support), but they still need
some work, and now making that Makefile.in static is my next step.

If you're doing this work (and I applaud your doing it) please
consider embedding all the necessary logic in the top-level
Makefile.am rather than keeping a subdirectory Makefile.in.  See the
essay "Recursive Make Considered Harmful" [
http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html ] for
rationale.

Also, please do not bother preserving Makevars, LINGUAS, or any other
such construct that is not actually necessary.  In my ideal world,
merely adding a .po file to the subdirectory would suffice to get it
compiled to .(g)mo and installed.

Also also, please ensure that if a separate build directory is being
used, nothing is written to the source directory during a normal build
(only "make dist" is allowed to do that).

 - run of msgmerge where available to merge .po and .pot into a new version

The translators have requested that we not run msgmerge and commit the
results, ever.  However, it is desirable to run msgmerge before
msgfmt, as this will weed out translated strings that no longer match
anything, giving us smaller installed .(g)mo files.

I would thus suggest rules like this (add extra atomic update and/or
no-change-timestamp-if-contents-unchanged logic as you see fit):

MO = mo  # autoconf sets this to "mo" or "gmo" as appropriate

%.$(MO) : %.merged.po
       $(MSGFMT) -c -o $@ $<

%.merged.po : %.po $(PACKAGE).pot
       $(MSGMERGE) -o $@ $^

zw




reply via email to

[Prev in Thread] Current Thread [Next in Thread]