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

Re: French translations of util-linux-man



Hello Frédéric,

Am Mo., 20. Sept. 2021 um 08:53 Uhr schrieb Frédéric Marchal
<fmarchal@perso.be>:
>
> Hi Mario,
>
> Thanks to Jean-Philippe Mengual, I understand now there is a good and
> dedicated team working on the translation of those manpages at debian-l10n-
> french.
>
> The TP is not designed to let several people work on one package.
>
> Translating util-linux-man on the TP will place all the burden on one
> translator.
>
Of course, the design of the GNU TP with its »lifetime assignments« is
not useful for a multi-translator workflow, but if you are OK to don't
follow this scheme … see below.

> It looks much more efficient to keep using the existing translation process
> applied by debian-l10n-french.
>
> Can you explain your motivation to move all the manpage translations as one
> package to the TP?
>

The oldest man page translations known to me are from 1995.
Translators took English man pages, translated them and published the
localized versions as *roff or Mdoc files. This was OK so far for a
one-time translation, but once the English source file got updated, it
became more and more difficult to track the changes and keep the
localized version up-to-date and in sync with the original text. It
was around 2001, when most teams gave up.

Years later Po4a was born, and it was a big step ahead. Now it was
possible to use Gettext (.po) files, but only a few teams were still
active (de, pl, fr …). Some years ago we fusioned the remaining
projects to manpages-l10n. Although this was another big step ahead,
also because of the ability to maintain old translations again, it is
still the wrong approach. Our workflow has too many disadvantages: An
upstream project releases a tarball. Downstream folks build the
packages, we download them, unpack the man page files, translate them
and release a new tarball every three months. We have always a big
delay between upstream releases and availability of the translated man
pages. But know users about the existence of man-pages-* packages...?
Maybe, maybe not. Moreover, because we maintain and publish a generic
collection of man pages, all users get the same content, regardless of
whether the appropriate command is available on the system.

That's why it is better to maintain man page translations within the
respective upstream tree, not externally in manpages-l10n. This makes
sure that man pages are in sync with the installed binaries and
scripts. Have a look at GUI projects like Gnome or KDE: There it goes
without saying that user manual translations are part of the upstream
development and are provided via respective translation projects.
There is no external project that tries to catch up with upstream and
never makes it.


Let's discuss about options to ease the pain for the translators.
Admittedly, the util-linux-man template is a big chunk. Imagine, some
German volunteer likes to help out with translation of a certain man
page, chrt.1 for example. He could download the tarball from TP,
unpack it and run the following commands in po-man:

po4a-gettextize -f asciidoc -o compat=asciidoctor -m
../schedutils/chrt.1.adoc  -p chrt.1.pot
msgmerge --previous de.po chrt.1.pot > chrt.1.po

Now the volunteer may remove the »outdated« messages from the end of
the file (to get a somewhat smaller footprint) and translate
chrt.1.po, which contains no other things but the already existing
»msgstr« from de.po. After completing and proofreading the .po file,
it can be merged back into de.po:

msgcat chrt.1.po de.po > de-new.po

After that, the header lines need to be fixed because they show the
headers from both .po files. Besides that, if the translator changed
some existing messages, they are now marked as fuzzy and need to be
reviewed (example from a Serbian .po file):

#, fuzzy
msgid "other"
msgstr ""
"#-#-#-#-#  help2man-1.47.17.sr.po (help2man-1.47.17)  #-#-#-#-#\n"
"остало\n"
"#-#-#-#-#  util-linux-2.37-rc2.sr.po (util-linux 2.37-rc2)  #-#-#-#-#\n"
"друго"

To find these messages, just look for the #-# sequence, which is
common in such cases.

So the translator doesn't have to bother with all the other stuff.
This opens a door for a multiple translator's workflow, where several
people work on particular sub-files the same time; but merging the .po
files still needs to be done sequentially to avoid collisions in case
of existing translations have been changed. BTW, to get the current
translation state of each particular *.adoc file to see what needs to
be updated, just run »po4a po4a.cfg« in po-man/. It gives a complete
overview over all percentages.

Best Regards,
Mario



> Thanks,
>
> Frederic
>
>
> Le vendredi 17 septembre 2021, 8 h 36 min 44 s CEST Frédéric Marchal a écrit :
> > Hi Mario,
> >
> > Thanks for your work.
> >
> > I'll proofread and update the po file at
> > http://translationproject.org/domain/ util-linux-man.html.
> >
> > I see Jean-Paul Guillonneau and Jean-Philippe MENGUAL worked on some
> > translations in 2021.
> >
> > Only one person can work on a po file at a time, do any of you want to take
> > over that translation ?
> >
> > Frédéric
> >
> >
> > Le mercredi 15 septembre 2021, 19 h 46 min 50 s CEST Mario Blättermann a
> >
> > écrit :
> > > Hello Frédéric,
> > >
> > > you are the current translator of util-linux at GNU TP. Some months
> > > ago I started with migrating the util-linux man pages from *roff to
> > > Asciidoctor. As I side effect, I have convinced the util-linux
> > > maintainer to integrate the man page translations in the upstream
> > > tree. I've imported the following translations from manpages-l10n [1]:
> > >
> > > addpart.8.po
> > > agetty.8.po
> > > blkdiscard.8.po
> > > blkid.8.po
> > > blockdev.8.po
> > > cfdisk.8.po
> > > chcpu.8.po
> > > chrt.1.po
> > > ctrlaltdel.8.po
> > > delpart.8.po
> > > dmesg.1.po
> > > fallocate.1.po
> > > fdformat.8.po
> > > fdisk.8.po
> > > findfs.8.po
> > > findmnt.8.po
> > > flock.1.po
> > > fsck.8.po
> > > fsck.cramfs.8.po
> > > fsck.minix.8.po
> > > fsfreeze.8.po
> > > fstab.5.po
> > > fstrim.8.po
> > > getopt.1.po
> > > hwclock.8.po
> > > ionice.1.po
> > > ipcmk.1.po
> > > ipcrm.1.po
> > > ipcs.1.po
> > > isosize.8.po
> > > kill.1.po
> > > last.1.po
> > > ldattach.8.po
> > > libblkid.3.po
> > > logger.1.po
> > > losetup.8.po
> > > lsblk.8.po
> > > lscpu.1.po
> > > lslocks.8.po
> > > mcookie.1.po
> > > mesg.1.po
> > > mkfs.8.po
> > > mkfs.cramfs.8.po
> > > mkfs.minix.8.po
> > > mkswap.8.po
> > > more.1.po
> > > mount.8.po
> > > mountpoint.1.po
> > > namei.1.po
> > > nsenter.1.po
> > > partx.8.po
> > > pivot_root.8.po
> > > prlimit.1.po
> > > raw.8.po
> > > readprofile.8.po
> > > rename.ul.1.po
> > > renice.1.po
> > > resizepart.8.po
> > > rev.1.po
> > > rtcwake.8.po
> > > runuser.1.po
> > > script.1.po
> > > scriptreplay.1.po
> > > setarch.8.po
> > > setsid.1.po
> > > setterm.1.po
> > > sfdisk.8.po
> > > sulogin.8.po
> > > swaplabel.8.po
> > > swapon.8.po
> > > switch_root.8.po
> > > taskset.1.po
> > > terminal-colors.d.5.po
> > > umount.8.po
> > > unshare.1.po
> > > utmpdump.1.po
> > > uuid.3.po
> > > uuid_clear.3.po
> > > uuid_compare.3.po
> > > uuid_copy.3.po
> > > uuidd.8.po
> > > uuid_generate.3.po
> > > uuid_is_null.3.po
> > > uuid_parse.3.po
> > > uuid_time.3.po
> > > uuid_unparse.3.po
> > > wall.1.po
> > > wdctl.8.po
> > > whereis.1.po
> > >
> > > After the import, I've merged the .po files into one and synced with a
> > > template newly created from a Git checkout (the current template from
> > > TP is outdated). Then I've fixed the
> > > markup where possible and added some more translations, as far as
> > > possible without speaking French (merely copying messages such as
> > > "B<-r>, B<--reverse>" which don't need to be translated).
> > >
> > > From my side, the import is finished; the translation state is
> > > currently at 83%. Maybe you have the time and/or motivation to work on
> > > the file? It would be nice if you could translate and/or proofread at
> > > least the 9 messages at the beginning of the .po file. They rely on
> > > some addendum files which appear in almost all of the resulting
> > > translated man pages.
> > >
> > > You can test the translations as follows: Checkout the util-linux Git
> > > repo with the command "git clone
> > > https://github.com/karelzak/util-linux.git";. Then copy the .po file
> > > into po-man/, rename it to fr.po and add "fr" to the [po4a_langs] line
> > > in po-man/po4a.cfg. Then run "po4a po4a.cfg", and the translated
> > > *.adoc files will appear in po-man/fr/. Currently you will get 96 out
> > > of 135 possible files.
> > >
> > > @debian-l10n-french: Many thanks for your work on the util-linux man
> > > page translations last years. In manpages-l10n, we will keep the .po
> > > files still for a whil, until all of our supported distributions ship
> > > the translated man pages with the util-linux package. Maybe someone of
> > > you likes to help the French TP team to complete the translation and
> > > keep it up-to-date?
> > >
> > > [1]
> > > https://salsa.debian.org/manpages-l10n-team/manpages-l10n/-/tree/master/po
> > > /
> > > fr
> > >
> > > Best Regards,
> > > Mario
>
>
>
>


Reply to: