// CFLAGS must contain "-framework Carbon" #include #include char *get_osx_pref_locales() { CFArrayRef languages; CFStringRef uxstylelangs; CFIndex sz; char *uxsl; languages = CFPreferencesCopyValue( CFSTR("AppleLanguages"), kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost ); uxstylelangs = CFStringCreateByCombiningStrings( kCFAllocatorDefault, languages, CFSTR(":") ); sz = CFStringGetLength(uxstylelangs) + 1; uxsl = malloc(sz); CFStringGetCString( uxstylelangs, uxsl, sz, kCFStringEncodingISOLatin1 ); return uxsl; }