[Po4a-devel]Re: [Po4a-commits] po4a/t 02-TransTractors.t,1.8,1.9

Nicolas François nicolas.francois@centraliens.net
Sun, 27 Feb 2005 19:52:12 +0100


On Sun, Feb 27, 2005 at 07:23:37PM +0100, Denis Barbier wrote:
> On Sun, Feb 27, 2005 at 06:20:25PM +0100, Nicolas François wrote:
> > On Sun, Feb 27, 2005 at 06:08:06PM +0100, Denis Barbier wrote:
> > > Ok, this is indeed troublesome in msgid, but should seldom happen.
> > > Is there a way to keep "\\ " in msgid but convert to non breaking
> > > space in msgstr?
> > 
> > Yes and no.
> > 
> > With the default behavior, msgid will contain "\\ ". Then, a french
> > translator may use non breaking space in msgstr if he wants.
> > 
> > But, during a gettextization (with an original and translation), msgi=
d and
> > msgstr will be handled the same way (both having "\\ " or non breakin=
g
> > space).
> > 
> > I can't see a way to have msgid with "\\ " and msgstr with non breaki=
ng
> > spaces in this case
> 
> I had another look at the "Non breaking spaces in man pages" thread;
> being on vacation during this period I could not post.
> 
> Your with-non_breaking_spaces and with-hyphen_to_minus options look
> bogus to me.  The reason is that the POT file is unique, and thus
> msgmerge won't be able to handle PO files if their msgid are different.

Yes, I didn't think about this.

Is it OK if we document this, and indicate that a project should always
use the same option for all languages/po4a commands.

If we remove the option, then we can:
  * just stay with "\\ " in PO. Translators can always use 0xA0 in their
    msgstr
  * do the transliteration if the po_out charset is UTF-8 or latin-1.
    I never tried it.

> > Then, if you really need this, you can cheat a little bit with gettex=
t
> > tools.
> > Or, if original is in English:
> > English doesn't use non breaking spaces (IMHO), English man pages (mo=
stly)
> > use them to indicate that two words are in the same argument, and thu=
s
> > only appear in short macro lines. Thus a simple sed script could do t=
he
> > trick (with the "-o with-non_breaking_spaces=1" option).
> 
> Then manual pages should be fixed by replacing
>   .B foo\ bar
> by
>   .B "foo bar"

This could be tried.

-- 
Nekral