[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