[sword-devel] LocaleMgr question

Manfred Bergmann bergmannmd at web.de
Thu Mar 27 00:18:16 MST 2008


Hi Troy.

I think my email did sound rude.
Sorry for that. Sometimes writing in english is not so easy for me.

I'm thinking that this might be a bug in LocaleMgr so I will file a  
bug in Jiira.


Regards,
Manfred



Am 26.03.2008 um 19:36 schrieb Manfred Bergmann:

> Hi Troy.
>
> Thanks for getting back to me.
>
> If Sword is compiled and installed normally into the prefix path (from
> configure) then all is fine and the parsekey test works, also using
> the system localemgr works.
> But for MacSword the compiled Sword library is not in the prefix path
> neither are the mods.d and locales.d folders.
>
> Specifying an explicit path when instantiating a new LocaleMgr does
> not work.
> When debugging it seems that any folder below the specified path are
> only searched for "locales.d" folders if there is a prefixpath !=
> NULL. But there is none with this kind of LocaleMgr object creation.
> When instantiating LocaleMgr without an argument the default
> prefixpath and configpath (probably still from configure?) is
> retrieved from SWMgr. If then this prefixpath contains a subfolder
> "share/sword/locales.d" all works fine.
>
> I think when specifying LocaleMgr with explicit path the
> "if(prefixpath)" makes no sense because the way it is now in the
> constructor prefixpath will never be anything else then NULL when
> iConfigPath is specified.
>
> I tried using loadConfigDir(<path_to_locale>) and it seems to work  
> fine.
>
>
>
> Manfred
>
>
> Am 26.03.2008 um 17:17 schrieb Troy A. Griffitts:
>
>>>> 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
>>
>>
>> _______________________________________________
>> 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