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), 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
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
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).
Then manual pages should be fixed by replacing
.B foo\ bar
by
.B "foo bar"
This could be tried.
--
Nekral