Re: [pgsql-hackers-win32] %2$, %1$ gettext placeholder replacement is not working under Win32 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [pgsql-hackers-win32] %2$, %1$ gettext placeholder replacement is not working under Win32
Date
Msg-id 9458.1105990878@sss.pgh.pa.us
Whole thread Raw
In response to %2$, %1$ gettext placeholder replacement is not working under Win32  (Nicolai Tufar <ntufar@gmail.com>)
Responses Re: [pgsql-hackers-win32] %2$, %1$ gettext placeholder replacement is not working under Win32
Re: [pgsql-hackers-win32] %2$, %1$ gettext placeholder
List pgsql-hackers
Nicolai Tufar <ntufar@gmail.com> writes:
> Sorry for such a late submission.
> I just downloaded the latest postgresql-8.0.0-rc5-3.zip installer
> for windows and it appears that Windows' printf() does not
> support placeholder replacement as described in
> http://developer.postgresql.org/docs/postgres/nls.html#AEN57284

> Original string is <<%s at or near \"%s\">> and we
> replaced it in Turkish for <<\"%2$s\"  yerinde %1$s>>.

Hmm.  Looking around, it seems that %n$ support is required by the
Single Unix Spec:
http://www.opengroup.org/onlinepubs/007908799/xsh/fprintf.html
but it is *not* required by C99 as far as I can tell.  I don't see any
mention of support for it in my HPUX fprintf man page, either.  So this
construct may not be as portable as we could wish.

There appear to be about 150 affected messages, in these files:

src/backend/po/pt_BR.po
src/backend/po/de.po
src/backend/po/es.po
src/backend/po/zh_CN.po
src/backend/po/tr.po
src/bin/pg_dump/po/zh_CN.po
src/bin/pg_dump/po/tr.po
src/bin/psql/po/zh_CN.po
src/bin/psql/po/zh_TW.po
src/bin/psql/po/tr.po
src/bin/scripts/po/zh_CN.po

I don't think we'll hold up release to fix this, but the affected
translators may want to think about whether they can avoid the problem
or not.

            regards, tom lane

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: ARC patent
Next
From: "Joshua D. Drake"
Date:
Subject: Re: ARC patent