GTK applications behave weird if locale is set to anything
other than "C"
Rolf Schäuble
mailinglists at rschaeuble.de
Fri Mar 16 10:04:39 PDT 2007
Well, I think I got the culprit: strxfrm().
Here's a small app that reproduces the problem for me:
int main(int argc, char** argv)
{
char buf[512];
int res = 0;
if (argc > 1)
setlocale(LC_ALL, "");
res = strxfrm(buf, "test", sizeof(buf));
printf("%d, %s\n", res, buf);
return 0;
}
When I execute it with LC_ALL=C, the output is "4, test"
When I execute it with LC_ALL=en_US or LC_ALL=de_DE.UTF-8, I get "4, ".
Now I just have to find out why strxfrm() doesn't work (and I guess
this will be the hard part ;-) ).
Best regards
Rolf
Am 16.03.2007 um 14:56 schrieb Rolf Schäuble:
> Hi,
>
> I think we got an interesting fact here:
> On my PowerPC MacMini, it works, too, like on your PowerPC Mac.
> So the issue might be platform dependent.
>
> The output of locale is as expected, all variables set to
> de_DE.UTF-8. locale -a outputs the expected list of supported
> locales, which include de_DE.UTF-8.
>
> I had a look at /usr/share/locale, but I can't see anything wrong
> here. The LC_COLLATE file is binary, so I have no clue what it
> means. But I diffed it against the same file on my PowerPC MacMini,
> and they are identical.
>
> Can anyone else with a Intel Mac confirm this behaviour?
> Just execute
> export LANG=en_US
> export LC_ALL=en_US
> # start any GTK application, open a file chooser dialog, and check
> if the sorting is correct (maybe try it with different directories).
>
> Any ideas on how to proceed?
>
> Thanks
> Rolf
>
> Am 15.03.2007 um 23:52 schrieb petr.snyder at yahoo.co.uk:
>
>> Hi,
>>
>> @Yves
>> I've never seen the Gtk-Warning below, though I am using
>> "de_DE.UTF-8". My open file dialog of Gnucash also shows
>> everything in alphabetical order. Something else must be wrong.
>>
>> @Rolf, as you are using an Intel-Mac and I am sitting on a
>> PowerPC: What's in your /usr/share/locale/ ? That seems to be the
>> place where GTK-apps get their localization stuff (I was able to
>> fix Gnucash's missing EURO-Sign (€) by editing /usr/share/locale/
>> de_DE.UTF-8/LC_MONETARY. ) . What happens if you type "locale" and
>> "locale -a" in a terminal?
>>
>> @all If GTK-apps read their language specific settings from usr/
>> share/locale, what is /opt/local/share/locale used for ????
>>
>> Best Regards, Peter
>>
>>
>>
>> ----- Original Message ----
>> From: Yves de Champlain <yves at macports.org>
>> To: Rolf Schäuble <mailinglists at rschaeuble.de>
>> Cc: macports-users at lists.macosforge.org
>> Sent: Thursday, 15 March, 2007 10:27:14 PM
>> Subject: Re: GTK applications behave weird if locale is set to
>> anything other than "C"
>>
>> [ ... ]
>>
>> Hi
>>
>> first of all, any gtk app will kindly tell you that :
>>
>> Gtk-WARNING **: Locale not supported by C library.
>> Using the fallback C locale.
>>
>> And the only way of dealing with many problems is indeed to avoid
>> localisation.
>>
>> But I do use LANG=fr and nothing else (no _CA, no LC_ALL) and many
>> things do work quite fine, including gimp.
>>
>> yves
>>
>> _______________________________________________
>> macports-users mailing list
>> macports-users at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo/macports-users
>>
>>
>>
>>
>>
>>
>> ___________________________________________________________
>> Inbox full of unwanted email? Get leading protection and 1GB
>> storage with All New Yahoo! Mail. http://uk.docs.yahoo.com/
>> nowyoucan.html
>> _______________________________________________
>> macports-users mailing list
>> macports-users at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo/macports-users
>>
>
> _______________________________________________
> macports-users mailing list
> macports-users at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-users
>
More information about the macports-users
mailing list