<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Sat, 2011-05-28 at 05:34 -0400, David Pr&#233;vot wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
Le 27/05/2011 20:28, Gaetan Nadon a &#233;crit :
&gt; On Fri, 2011-05-27 at 08:24 -0700, Alan Coopersmith wrote:
&gt; 
&gt;&gt; It seems to be a reasonable approach, my main concern is that
&gt;&gt; nothing is broken if either the packager or builder doesn't
&gt;&gt; have it installed.

A safe approach would be to take care of this at dist time, so the
xrandr.fr.man file could be distributed, without forcing po4a to be
executed at build time (so the problem would only need to be addressed
in the packager).

</PRE>
</BLOCKQUOTE>
I see no issues in creating the translated pages in the regular build. There are no dedicated build person, so the makefiles have to be simple and maintainable by any developer. Building during &quot;make dist&quot; is an order of magnitude more complex and brittle. Developers are invited to run distcheck on a regular basis to detect problems, so it would not be any &quot;safer&quot;. There is no contradiction here, different groups have different work habits.
<BLOCKQUOTE TYPE=CITE>
<PRE>
I wonder if there is a proper way to detect if the po4a command exists,
and skip this part of the packaging if not. If so, the translation could
</PRE>
</BLOCKQUOTE>
Yes, a macro in util-macros can be written to detect the presence of po4a and skip<BR>
the translation if missing. Something like XORG_WITH_XMLTO. We do it all the time<BR>
for the documentation. A message a autoconf time will inform user.
<BLOCKQUOTE TYPE=CITE>
<PRE>
be part of the same man directory: man/xrandr.man would always be
distributed, and man/xrandr.fr.man too if it is provided (and lots of
man/xrandr.*.man in other languages in a near future ;-).

At build time, man/xrandr.1 is created from man/xrandr.man, and
man/xrandr.*.1 could be created from man/xrandr.*.man if they exist,
then installed in their proper /usr/share/man/*/man1/ directories the
same way man/xrandr.1 is installed in /usr/share/man/man1/.

As po4a config doesn't need editing to take care of a new translation,
if the build process is able to handle man/xrandr.*.man only if it
exists, the building or packaging shouldn't be broken if there are no
man/xrandr.*.man files (e.g. if po4a was not present and thus not able
to build it).
A safe build process like this would offer the ability to prepare the
translation handling in other apps, without braking it if there are no
translations yet, and without further headache to add a new translation
(only dropping *.po files in man/po4a/po/ would do the trick).

</PRE>
</BLOCKQUOTE>
You may be accustomed to a centralized &quot;one piece&quot; build process. X.Org packages are all 100% independent and the build process is &quot;./configure &amp;&amp; make install&quot;. Whatever infrastructure needs to be done in a package, it needs to be done in all the packages. This is FYI, not to argue that translation should not be done :-)<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
&gt; Unless I misread, po4a uses gettext which isn't initialized in any of
&gt; the X.Org modules.  This may come as a surprise for those who have been
&gt; routinely working on translation for years.

I'd guess that's why some distributions began to ship their own manpages
translation at the beginning, but the idea would be to share those pages
for everyone now they exist.

</PRE>
</BLOCKQUOTE>
I am not sure I get the answer, are you saying po4a does not invoke gettext? That would make things simpler.
<BLOCKQUOTE TYPE=CITE>
<PRE>
&gt; If this man page is the only
&gt; translatable item we will ever add, then ...

Debian already ships up to date French translation of the following
manpages:

  showrgb.1  xmodmap.1  xrandr.1  xsetmode.1  xsetpointer.1  xvidtune.1

If it's going to be include upstream, I'm pretty sure we would be able
to provide the French translation of (at least) the following ones
(either within Debian, or within the FSF team):

  iceauth.1  xgamma.1  xrdb.1  xset.1  xstdcmap.1  sessreg.1
  xcmsdb.1  xhost.1  xrefresh.1  xsetroot.1

</PRE>
</BLOCKQUOTE>
Assuming the translations are moved &quot;upstream&quot; (which is obviously the right thing to do), would that result in other distros to adopt them (MAC. Solaris, Fedora, BSD's) or would there be some hurdle for them to do so? Perhaps po4a availability or what not. It would be sad to do the work and have it used by Debian only.<BR>
<BR>
There is also the question of on-going maintenance on both the translated files and the build work. There would be no one appointed to do so in X.Org. That's why I am always insisting on doing complete, well tested, bullet proof and simple-to-maintain-by-anybody implementations right from the get go.
<BLOCKQUOTE TYPE=CITE>
<PRE>
Once the structure exists, we would be able to contact team of other
languages team too.

If we manage to prepare a proper structure to include xrandr.1, I'd be
please to propose the patches for the other pages.
</PRE>
</BLOCKQUOTE>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Regards

David

</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>