[sword-devel] LocaleMgr question

Troy A. Griffitts scribe at crosswire.org
Wed Mar 26 09:17:00 MST 2008


Dear Manfred,

Manfred Bergmann wrote:
> No one any idea?

My apologies for not getting back with you sooner.

>> There is a problem with loading the correct locale in MacSword. This
>> is how it is done:
>> (I need to point out that MacSword has the "locale.d" folder with all
>> available locales in the Application bundle, means it is part of the
>> application and it is not using the default locales in ~/.sword.)
>>
>> 1. getting the default system localemgr
>> 2. checking the supported languages by the OS and looping over
>> available locales in locale.d (in the bundle) until one is found. utf8
>> is prefered if exists.
>> 3. setting a found locale with setDefaultLocaleName(<locale name>)
>>
>> However this doesn't work.
>>
>> If I do a getLocale(<locale name>) NULL is returned.

Have a look in sword/tests for parsekey.  Try running it and passing a 
locale string and see if it fails in the same way.


>> I think that probably is why the default system localemgr is not
>> looking at the locale.d folder of the bundle and thus can't find the
>> locale.
>> How can localemgr be forced to use the locale file in the bundle?

locales.d should be in the same location as the main mods.d.  If you 
want to force a different configuration (not recommended as any other 
sword app on the system will not be able to find things in the default 
places), you can call:

LocaleMgr::setSystemLocaleMgr(new LocaleMgr("/path/to/your_locals"));


>>
>> Another question is which string encoding is prefered for <locale  
>> name>?

LocaleMgr::getLocale(...) expects the ascii name which corresponds to 
the Name property in the [Meta] section of the locales.d/<local>.conf file.

You must build with ICU to get the utf-8 locales loaded by the engine 
and they will take precedence.  But the encoding of the <local name> is 
always a simple ascii name like "de".

Hope this helps.

	-Troy.




>>
>>
>> Regards,
>> Manfred
>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> 
> 
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page




More information about the sword-devel mailing list