[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 18:20:25 +0100


On Sun, Feb 27, 2005 at 06:08:06PM +0100, Denis Barbier wrote:
> On Sun, Feb 27, 2005 at 05:12:24PM +0100, Nicolas François wrote:
> > Hi,
> > 
> > On Sun, Feb 27, 2005 at 04:54:30PM +0100, Denis Barbier wrote:
> > > On Sun, Feb 27, 2005 at 03:28:52PM +0000, Nicolas FRAN??OIS wrote:
> > > >   * change back non breaking spaces to '\\ ' in the PO files for =
man pages.
> > > 
> > > I quickly read previous messages but did not realize that this chan=
ge
> > > was needed.  Adding "\\ " is much less natural than a non breaking =
space
> > > (at least for those who are used to write this glyph), so can you p=
lease
> > > explain why this conversion was troublesome?
> > 
> > Using non breaking spaces by default is troublesome because all encod=
ings
> > don't support this glyph, and thus the generated PO may be invalid in=
 some
> > cases.
> 
> 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), msgid and
msgstr will be handled the same way (both having "\\ " or non breaking
space).

I can't see a way to have msgid with "\\ " and msgstr with non breaking
spaces in this case



Then, if you really need this, you can cheat a little bit with gettext
tools.
Or, if original is in English:
English doesn't use non breaking spaces (IMHO), English man pages (mostly)
use them to indicate that two words are in the same argument, and thus
only appear in short macro lines. Thus a simple sed script could do the
trick (with the "-o with-non_breaking_spaces=1" option).

-- 
Nekral