On Fri, Jan 26, 2018 at 04:54:08PM +0300, a.parfe...@postgrespro.ru wrote:
> As it mentioned in pg_locale.c, the variable LC_MESSAGES is ignored in 
> Windows(pg_locale.c:162).

That comment says "On Windows, setlocale(LC_MESSAGES) does not work".  It says
nothing about the LC_MESSAGES environment variable.

> Additionally, this affects regress tests, since language
> for messages generated by psql is also configured via LC_MESSAGES and
> ignored on Windows installations and cause failure of tests on
> non-English Windows installations.

I vaguely recall having seen such a problem with an old version of GNU
gettext.  On Windows Server 2016, with binaries from
https://get.enterprisedb.com/postgresql/postgresql-11.0-beta3-windows-x64-binaries.zip,
in an account having its Windows display language set to "Español (España)", I
get this behavior:

$ for lang in '' it C; do LC_MESSAGES=$lang ./psql.exe --help; done | grep -e 
--output
  -o, --output=ARCHIVO enviar resultados de consultas a archivo (u |orden)
  -o, --output=NOME_FILE   reindirizza i risultati al file specificato
  -o, --output=FILENAME    send query results to file (or |pipe)

If you run those commands without your patch, what do you see?  What do you
see with your patch?  What does your environment have for each of the
following characteristics?

- Windows version
- gettext version
- user's Windows display language
- user's locale ("Format" in "Region" control panel)
- Windows ANSI code page
  ("Language for non-Unicode programs" in "Region" control panel)

Reply via email to