Problems trying to get currency separator correct for CAD

bunk3m bunk3m at gmail.com
Fri Jul 22 14:19:34 EDT 2011


On 7.22.2011 11:53 AM, John Ralls wrote:
> On Jul 22, 2011, at 11:29 AM, bunk3m wrote:
>
>> On 22.07.2011 11:17, John Ralls wrote:
>>> On Jul 22, 2011, at 9:52 AM, bunk3m wrote:
>>>
>>>> On 22.07.2011 09:21, John Ralls wrote:
>>>>> On Jul 22, 2011, at 9:00 AM, John Ralls wrote:
>>>>>
>>>>>> On Jul 21, 2011, at 5:58 PM, bunk3m wrote:
>>>>>>
>>>>>>> Thank you, John.
>>>>>>>
>>>>>>> In the earlier part of my post which I guess got lost, I mentioned that
>>>>>>> I had already tried to do this using the wiki post.
>>>>>>>
>>>>>>> In the FAQ it says to do the following command to customize: "defaults
>>>>>>> write -app Gnucash AppleLocale = "en_US at currency=CAD" "
>>>>>>>
>>>>>>> This command should actually be:
>>>>>>>
>>>>>>> defaults write -app /Applications/Gnucash/Gnucash.app
>>>>>>> AppleLocale="en_US at currency=CAD"
>>>>>>>
>>>>>>> But I get an error:
>>>>>>> 2011-07-20 13:42:44.553 defaults[4877:10b]
>>>>>>> Rep argument is not a dictionary
>>>>>>> Defaults have not been changed.
>>>>>>>
>>>>>>> Can you help me with understanding why the command didn't work?
>>>>>> Apparently not; it isn't working for me on my MBA, either. 
>>>>>>
>>>>>> The syntax *is* correct in the FAQ article. See "Specifying Domains" in the defaults manpage. I'll have to figure out why it doesn't work for Gnucash.
>>>>> Well,,, the syntax was *almost* correct in the Wiki article (it's fixed now, with a note).
>>>>> The command is:
>>>>>
>>>>> defaults write -app Gnucash AppleLocale 'en_US at currency=CAD'
>>>>>
>>>>> Note the single quotes. It's the double quotes that were causing the error.
>>>>>
>>>>> Regards,
>>>>> John Ralls
>>>> Thank you for helping out with the command, John.
>>>>
>>>> Gnucash preferences:account has always shown the Default Currency to be
>>>> Locale: CAD (Canadian Dollar).  This has always been selected.
>>>>
>>>> When I typed the command you posted above I got:
>>>>  $ defaults write -app Gnucash AppleLocale 'en_US at currency=CAD'
>>>>
>>>>  $ 2011-07-22 09:37:03.093 defaults[2413:10b] Couldn't find an
>>>> application named "Gnucash"; defaults unchanged
>>>>
>>>> So I changed it to:
>>>>
>>>>  $ defaults write -app /Applications/Gnucash/Gnucash.app AppleLocale
>>>> 'en_US at currency=CAD'
>>>>
>>>> This appears to have worked since there was no error message.  However,
>>>> I still have a comma for the currency separator between the dollars and
>>>> cents. ie. 1 234,56 $
>>>>
>>>> :-(
>>>>
>>>> There appears to be a bigger problem at play here. 
>>>>
>>>> I took one of the other suggestions and changed the Default currency to
>>>> USD.  Then I changed the currency of the cheque account to USD also.  I
>>>> was hoping to get $1,234.56 as USD has the same currency separator as
>>>> Canada.  Now I'm getting:
>>>>
>>>>  USD 1 234,56
>>>>
>>>> Ha ha ha.  This is nuts!   Grrrrr!!!
>>>>
>>>> I restarted Gnucash just to see if that would make a difference.  But no
>>>> joy.
>>>>
>>>> So I change it back to CAD.  
>>>>
>>>> Do you have any other suggestion?
>>> Cool!
>>>
>>> If you give a path to the application, leave off the -app flag:
>>>
>>> defaults write /Applications/Gnucash/Gnucash.app AppleLocale 'en_US at currency=CAD'
>>>
>>> back-test it with 
>>>
>>> defaults read -app Gnucash AppleLocale
>>> defaults read org.gnucash.Gnucash AppleLocale
>>> defaults read /Applications/Gnucash/Gnucash.app AppleLocale
>>>
>>> They should all report the same thing unless defaults is utterly confused by having the app in an unconventional location (it sure shouldn't be).
>>>
>>> After futzing about with the account currencies to get two of them to work, I have CAD as the default currency from the locale and amounts in USD show as USD 1,234.56 while amounts in CAD show as $1,234.56.
>>>
>>> What shows as the locale default currency in Gnucash? If it's CAD, then that part is working. Numeric formatting is actually independent of currency, and as you know, en_CA and en_US should produce the same results -- so just setting en_CA should do what you want. 
>>>
>>> What is the result of 
>>> defaults read -g AppleLocale ?
>>>
>>> Regards,
>>> John Ralls
>> Hi John.
>>
>> Here is the result:
>>
>> a)    defaults read -app Gnucash AppleLocale
>>  gives:
>>       defaults[4580:10b] Couldn't find an application named "Gnucash";
>> defaults unchanged
>>
>> b)    defaults read org.gnucash.Gnucash AppleLocale
>>  gives:
>>       en_US at currency=CAD
>>
>> c)    defaults read /Applications/Gnucash/Gnucash.app AppleLocale
>>   gives:
>>      defaults[4598:10b]
>> The domain/default pair of (/Applications/Gnucash/Gnucash.app,
>> AppleLocale) does not exist
>>
>> The Locale currency in Gnucash is: CAD (Canadian Dollars)
>>
>> Finally,
>>
>>    defaults read -g AppleLocale
>>  gives:
>>    en_US at currency=CAD
>>
>> But I still have: 1 234,56 $ 
>>
>> (oh good grief...)
>>
>> Thanks again for your help.  Any other things to try or check?
>> B
>
> Oops, GCE on the third read command: The file argument is for a prefs plist, not an app, so you were right to use -app:
>   defaults read -app /Applications/Gnucash/Gnucash.app
> or
>   defaults read ~/Library/preferences/org.gnucash.Gnucash.plist
>  
> Anyway, it appears that you don't really need a special locale for gnucash, so let's start by getting that out of the way (quit Gnucash first):
>   defaults delete org.gnucash.Gnucash
>
> Now go to System Preferences>Languages and Text>Formats and select "Canada".
>
> It occurs to me that something somewhere might be calling setlocale(LC_ALL, ""), which will read the environment and mess things up. Make sure that you don't have any of the LC_FOO or LANG environment variables overridden in Gnucash.app/Contents/MacOS/Gnucash and that you don't have a ~/.MacOSX/environment.plist.
>
> Regards,
> John Ralls

John, running:

   defaults delete org.gnucash.Gnucash

   resetting the formats to Canada

   starting Gnucash

has solved the problem.  I have $1,234.56 !!!  Default says CAD
(Canadian Dollar) .

BTW, there are no LC_FOO or LANG in the Gnucash.app/Contents/MacOS/Gnucash
and there was no ~/.MacOSX/environment.plist.

Thanks for your help!!

Now I can run Gnucash properly.

B



More information about the gnucash-user mailing list