X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org X-RZG-AUTH: :Ln4Re0+Ic/6oZXR1YgKryK8brksyK8dozXDwHXjf9hj/zDNRb/Q45hFP X-RZG-CLASS-ID: mo00 From: Bruno Haible To: Charles Wilson , Bernhard Voelker Subject: Re: cygwin started speaking German today Date: Thu, 8 Sep 2011 12:46:22 +0200 User-Agent: KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; ) Cc: cygwin AT cygwin DOT com, bug-gnu-gettext AT gnu DOT org References: <7856072A9D04C24B82DFE2B1112FE38A0C27492B56 AT MCHP058A DOT global-ad DOT net> <4E6828B0 DOT 4060807 AT cwilson DOT fastmail DOT fm> In-Reply-To: <4E6828B0.4060807@cwilson.fastmail.fm> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <201109081246.23238.bruno@clisp.org> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Bernhard Voelker wrote: > > Starting with today's update, cygwin started speaking German: > > > > $ mkdir -v x0 > > mkdir: Verzeichnis „x0“ angelegt > > $ LANG=C mkdir -v x2 > > mkdir: created directory `x2' > > $ LANG=C.UTF-8 mkdir -v x1 > > mkdir: Verzeichnis „x1“ angelegt > > > > Default is LANG=C.UTF-8 here. > > > > Ok, the PC is in Germany, but none of my environment > > variables have a 'de' inside. This is as it should be. See the NEWS entry from the gettext package: * Runtime behaviour: - On MacOS X and Windows systems, now extends setlocale() and newlocale() so that their determination of the default locale considers the choice the user has made in the system control panels. 'mkdir' is a GNU coreutils programs, which uses , so it gets the benefit of libintl enhancements. After Cygwin 1.7 added working locales and defined LANG=C.UTF-8 for all users, libintl could be extended to respect the choices the user has made in the system control panels. Charles Wilson writes: > I can reproduce this behavior; the workaround for now is to use $LC_ALL > or $LC_CTYPE instead of $LANG. Which of the three environment variables you use, should not make a difference. If it does, it's a bug in libintl or in the program. Can you show how to reproduce this, please? > I'm not real clear on how to fix it. There is nothing to "fix". Users who don't want internationalization system-wide can set their locale in the "Regional Settings" control panel to English. Users who want to have a German Windows but a non-internationalized Cygwin can set LANG=C or LC_ALL=C - exactly like POSIX specifies. > I've attached a compressed copy of the setlocale implementation, if > anybody (CALL FOR HELP) can suggest a mechanism -- or better, provide a > patch -- to make libintl_setlocale Do The Right Thing on cygwin. There is nothing to change in cygwin's setlocale implementation, nor in libintl_setlocale. Both are POSIX compliant. The one in libintl is more adequate for internationalized programs (given the fact that Cygwin sets LANG to C.UTF-8 and not de_DE.UTF-8 as would be appropriate in a German environment). Bruno -- In memoriam Elisabeth von Thadden -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple