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)