Is it possible to compare localized strings in some Smalltalk implementation? The only one I have met so far is Pharo and GNU ST, which seem to lack this ability. It seems the only possibility would be to write an ICU wrapper from scratch. (That's far beyond my experiences.)
I know this is a complicated functionality. Unfortunately, it is needed very often everywhere, e.g., sorting menus in web apps.
I mean:
'á' > 'a' => true
And the possibility to use the comparison for sorting arrays of strings:
#('č' 'ř' 'a' 'r' 'á') asSortedCollection => #('a' 'á' 'č' 'r' 'ř')
Should be straightforward to translate from the NativeBoost (old FFI style used in Pharo 4) to UFFI. The code is on the gemstone repo. Easiest way is to first make sure you can run an old Pharo 4 using deprecated releases in the Launcher and verify that works for you. You might need to install 32-bit libraries for that to work (or use something like a 32-bit virtual box image). The packages independent from NativeBoost load in Pharo 8. There is a booklet about UFFI