[GemStone-Smalltalk] Collator for "es_AR" not available

Dale Henrichs dale.henrichs at gemtalksystems.com
Fri Dec 13 12:18:53 PST 2019


brianstone,

This is a good question ... first off the reason that there was any 
change at all is that we ship new versions of GemStone of with the 
latest version of ICU. In 3.2.8.1 we were using version 50.2 of the ICU 
libraries and in 3.4.3 we were using version 58.2 of the ICU libraries.

If you would like to use ICU version 50.2 with GemStone 3.4.3, that is 
possible and here is the information you need to switch ICU versions:

    The libicu libraries are in $GEMSTONE/lib of each release ,
    for example in 3.4.x we provide
       libicu.58.2.so  <http://libicu.58.2.so>
       libicudata.51.2.so  <http://libicudata.51.2.so>
       libicudata.54.1.so  <http://libicudata.54.1.so>
       libicui18n.51.2.so  <http://libicui18n.51.2.so>
       libicui18n.54.1.so  <http://libicui18n.54.1.so>
       libicuuc.51.2.so  <http://libicuuc.51.2.so>
       libicuuc.54.1.so  <http://libicuuc.54.1.so>
    Older versions have 3 .so files per version,  58+ has just one .so

    To change the version of libicu that is loaded ,
    login as SystemUser
    run
    Globals at: #IcuLibraryVersion  "the version configured, 58.2 is default for gemstone v3.4.3"
    %
    run
    Globals at: #IcuLibraryVersion put: '51.2' . "use version that was default in gemstone v3.2"
    System commit
    %

    logout, stopstone, startstone to have the change take effect.

    stopstone,startstone required because stone remembers icu lib version loaded by
    first session to login and denys subsequent logins that are loading a different version.

It does seem that the "es_AR" collator _was_ removed at some point 
between 51.2[1] and 58.2[2].  My skimming of the release description for 
all of the versions between 50 and 58 did not result in an explicit 
mention of "es_AR" collator support being removed ...(other than a 
comment that the "Collation code was re-implemented and Collation data 
size was cut in half" in version 53[3])

Looking at the available collators for 51.2 there were 400 collators and 
in 58.2 there were only 100 collators, so there was a significant 
reduction in the number of collators supported.

In 58,2, there is only a single Spanish collator ("es"), while there are 
28 Spanish locales:

    topaz 1> obj IcuLibraryVersion
    58.2
    topaz 1> run
    (IcuCollator availableLocales select:[:x | x displayName includesString:'span'])
    collect:[:x | x name , '  ', x displayName ]
    %
    anArray
    topaz 1> obj1 **
    a Array
       #1 es  Spanish
    topaz 1> run
    (IcuLocale availableLocales select:[:x | x displayName includesString:'span'])
    collect:[:x | x name , '  ', x displayName ]
    %
    anArray
    topaz 1> obj1 **
    a Array
       #1 es  Spanish
       #2 es_419  Spanish (Latin America)
       #3 es_AR  Spanish (Argentina)
       #4 es_BO  Spanish (Bolivia)
       #5 es_BR  Spanish (Brazil)
       #6 es_CL  Spanish (Chile)
       #7 es_CO  Spanish (Colombia)
       #8 es_CR  Spanish (Costa Rica)
       #9 es_CU  Spanish (Cuba)
       #10 es_DO  Spanish (Dominican Republic)
       #11 es_EA  Spanish (Ceuta & Melilla)
       #12 es_EC  Spanish (Ecuador)
       #13 es_ES  Spanish (Spain)
       #14 es_GQ  Spanish (Equatorial Guinea)
       #15 es_GT  Spanish (Guatemala)
       #16 es_HN  Spanish (Honduras)
       #17 es_IC  Spanish (Canary Islands)
       #18 es_MX  Spanish (Mexico)
       #19 es_NI  Spanish (Nicaragua)
       #20 es_PA  Spanish (Panama)
       #21 es_PE  Spanish (Peru)
       #22 es_PH  Spanish (Philippines)
       #23 es_PR  Spanish (Puerto Rico)
       #24 es_PY  Spanish (Paraguay)
       #25 es_SV  Spanish (El Salvador)
       #26 es_US  Spanish (United States)
       #27 es_UY  Spanish (Uruguay)
       #28 es_VE  Spanish (Venezuela)

My interpretation of this is that all of the Spanish locales now share a 
single collator, and the primary differences between the different 
locales involves calendar, currency, and numbers[4]...

Hope this helps,

Dale

[1] http://site.icu-project.org/download/51
[2] http://site.icu-project.org/download/58
[3] http://site.icu-project.org/download/53
[4] http://userguide.icu-project.org/locale

On 12/13/19 6:00 AM, brianstone via GemStone-Smalltalk wrote:
> Hello Everybody! I've noticed a difference between two GS version 
> regarding Collators and Locales. Some time ago, using version 3.2.8.1, 
> while playing around with Indexes I was able to use a collator for 
> "es_AR". Now, while trying to do the same ini 3.4.3 version, such 
> collator doesn't exist.
>
> As far as I read on the programming guide, Gemstone relies on ICU 
> library but I don't think that ICU removed collator for "es_AR" 
> because there exists a locale for that language-country.
> If I take a look at the result of *IcuLocale availableLocales* it 
> returns an array which includes "es_AR".
> But if I try to create a collator for this locale, an error is 
> returned: /"a ArgumentError occurred (error 2718), No predefined 
> IcuCollator for locale 'es_AR'"/
>
> Taking a closer look at IcuCollator methods, there is one called 
> "availableLocales". Executing it, returns an array where is not 
> included "es_AR".
> From this phrase on the Prog guide: /"The classes IcuLocale and 
> IcuCollator provide an interface to the ICU (International Components 
> for Unicode) libraries./" I expected IcuCollator and IcuLocale to work 
> with the same locales.
>
> So, is this behavior correct? Was "es_AR" removed by Gemstone or by 
> ICU? How can I add my own collator for "es_AR"?
>
> Hope I could made my self clear and sorry if I missunderstood anything 
> here.
> Thank you
> ------------------------------------------------------------------------
> Sent from the Gemstone/S mailing list archive 
> <http://forum.world.st/Gemstone-S-f1461796.html> at Nabble.com.
>
> _______________________________________________
> GemStone-Smalltalk mailing list
> GemStone-Smalltalk at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gemtalksystems.com/mailman/private/gemstone-smalltalk/attachments/20191213/1a3a5ac7/attachment.htm>


More information about the GemStone-Smalltalk mailing list