> On Jul 10, 2019, at 12:05 PM, Jim DeLaHunt <[email protected]> wrote: > > Hello, Gnucash users: > > I am using Gnucash 3.6-1 on macOS 10.11.6 (El Capitan). I don't normally run > Gnucash from the command line, but when I do, I see an error message about > the locale: > > % /Applications/Gnucash.app/Contents/MacOS/Gnucash --debug --extra > Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash > > (process:97574): gnc.gui-WARNING **: 18:23:33.979: [mac_set_languages()] > Language list: en:C:ja:de:zh_CN:zh_TW > The locale defined in the environment isn't supported. Falling back to the > 'C' (US English) locale > % > > Gnucash runs with English language in its GUI, as expected. However, I would > not expect to see an error message about the locale not being supported. > > I expect that "locale defined in the environment" is "en_CA". The Gnucash > wiki says, in /Locale Settings/ # *Changing the Language on MacOS* > <https://wiki.gnucash.org/wiki/Locale_Settings#Changing_the_Language_on_MacOS>, > that the Gnucash selects from the language list set in the OS. When this > message occurred, my System Preferences… Language & Region… Preferred > Language is set to a list of 5 languages beginning with English as primary, > and my region is set to Canadian. The locale settings appear to be: > > % locale > LANG="en_CA.UTF-8" > LC_COLLATE="en_CA.UTF-8" > LC_CTYPE="en_CA.UTF-8" > LC_MESSAGES="en_CA.UTF-8" > LC_MONETARY="en_CA.UTF-8" > LC_NUMERIC="en_CA.UTF-8" > LC_TIME="en_CA.UTF-8" > LC_ALL= > > Maybe the problem is with the Canadian region? (The "_CA" suffix.) No, > changing the Mac region to United States doesn't change the error. After > making the change in System Preferences, I ran the following in a new > terminal window. > > % locale > LANG="en_US.UTF-8" > LC_COLLATE="en_US.UTF-8" > LC_CTYPE="en_US.UTF-8" > LC_MESSAGES="en_US.UTF-8" > LC_MONETARY="en_US.UTF-8" > LC_NUMERIC="en_US.UTF-8" > LC_TIME="en_US.UTF-8" > LC_ALL= > % /Applications/Gnucash.app/Contents/MacOS/Gnucash --debug --extra > Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash > > (process:97708): gnc.gui-WARNING **: 19:08:19.091: [mac_set_languages()] > Language list: en:C:ja:de:zh_CN:zh_TW > The locale defined in the environment isn't supported. Falling back to the > 'C' (US English) locale > % > > In this configuration, the Gnucash GUI still appears, still in English. > > I tried setting the language to German and the region to Germany in System > Preferences. Then I invoked the Gnucash GUI from a new terminal window. > > % locale > LANG="de_DE.UTF-8" > LC_COLLATE="de_DE.UTF-8" > LC_CTYPE="de_DE.UTF-8" > LC_MESSAGES="de_DE.UTF-8" > LC_MONETARY="de_DE.UTF-8" > LC_NUMERIC="de_DE.UTF-8" > LC_TIME="de_DE.UTF-8" > LC_ALL= > % /Applications/Gnucash.app/Contents/MacOS/Gnucash > Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash > > (process:98121): gnc.gui-WARNING **: 20:52:37.069: [mac_set_languages()] > Language list: en:de:en:C:ja:zh_CN:zh_TW > The locale defined in the environment isn't supported. Falling back to the > 'C' (US English) locale > % > > The wiki section /Locale Settings/ # *Changing the Language on MacOS* talks > about the Mac OS X user defaults system, as controlled by the defaults > command in Terminal. The wiki section mentions using "-app Gnucash > AppleLanguages" to control the translation which Gnucash chooses. I had no > setting for this. When I set it to '(en, de)', that changed the Language list > in the error message, but not the presence of the error message, nor the > resulting app UI. Similarly, the wiki section mentions using "-app Gnucash > AppleLocale" to adjust the other locale settings. This had no effect for me. > The UI came up in English, not German, regardless of the AppleLanguages being > set or deleted. > > % defaults write -app Gnucash AppleLanguages '(de, en)' > % defaults write -app Gnucash AppleLocale 'de_DE' > % /Applications/Gnucash.app/Contents/MacOS/Gnucash --debug --extra > Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash > > (process:98475): gnc.gui-WARNING **: 21:57:42.797: [mac_set_languages()] > Language list: de:en:C > The locale defined in the environment isn't supported. Falling back to the > 'C' (US English) locale > > % defaults delete -app Gnucash AppleLanguages > % defaults delete -app Gnucash AppleLocale > % /Applications/Gnucash.app/Contents/MacOS/Gnucash --debug --extra > Application Path /Applications/Gnucash.app/Contents/MacOS/Gnucash > > (process:98486): gnc.gui-WARNING **: 22:01:11.732: [mac_set_languages()] > Language list: en:C:de:ja:zh_CN:zh_TW > The locale defined in the environment isn't supported. Falling back to the > 'C' (US English) locale > % > > Is the error message correct that "the locale… isn't supported"? By this, > does it mean the locale set by System Preferences, as claimed by the wiki, or > does it really mean "defined in the environment" as an environment variable? > (In any case, it would sure be nice if the error message included the locale > or setting it retrieved.) > > Is there a change I can make to remove the error and stop the error message? > That's really the problem which prompted me to explore this whole area. > > Is the wiki correct that Gnucash displays UI language according to System > Preferences settings, or according to the user defaults system values for > "-app Gnucash AppleLanguages" and "-app Gnucash AppleLocale"? This seemed to > have no effect for me. What am I doing wrong? Or what about the wiki's > explanation is wrong? > > I read through the trace file. I didn't see anything related to this error > message there. There were only two mentions of "locale", both in names of > keys read by gnc.app-utils.gsettings. > > Bug 725296 - Unable to change language from english using the environment > file <https://bugs.gnucash.org/show_bug.cgi?id=725296> is the closest I've > found to a relevant bug, and it seems to be about Linux and Windows locale > selection, not macOS. > > (By the way, it would be helpful if the error message displayed the locale > value it thinks it retrieved, and if a similar error were written to the > trace file.) >
Nope, it's a bug in 3.6 caused by an errant #endif. I fixed it yesterday. That check isn't supposed to run on MacOS. Regards, John Ralls _______________________________________________ gnucash-user mailing list [email protected] To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.
