[Boost.Locale] Upcoming Boost.Locale version

Hello, I'd like to tell about some Boost.Locale updates. I did some deep reworking on Boost.Locale internals that made this library more modular and powerful: Localization backends interface: -------------------------------- I had build localization backends interface that allows using non-ICU based localization sources. It it becomes possible to use absolutely same API with different backends. Standard library based localization: ------------------------------------ I created simple localization backend based on standard C++ library localization support that enhances it in many ways and actually allows to use this library without ICU at all makeing it much smaller for cases where no advanced features are required. Of course you do not get advanced ICU features like boundary analysis, non-gregorian calendar support. But still have full support of message formatting and depending on your compiler's standard library you get localized numbers, currency, date-time formatting and parsing, basic collation etc. What is also important you get it in uniform way so you can create "he_IL.UTF-8" locale even using MSVC standard library that does not support UTF-8 and does not support POSIX locale names, this backend knows to translate POSIX locale names to Windows ones and use wide character facets for providing UTF-8 locales that are not given. Good standard library localization support is provided by GCC and Intel compilers under Linux and MSVC under Windows. Meanwhile this version exists in svn under: <https://cppcms.svn.sourceforge.net/svnroot/cppcms/boost_locale/branches/rework> Other enhancements: ------------------- - Cleanup and simpilification of the locales generation interface - Support of ICU-less builds Hopefully it will be ready for review soon and would repace current version scheduled for review. BTW: Is there anybody who wants to mange the review process. Artyom

On 8/18/2010 7:44 AM, Artyom wrote:
Hello,
I'd like to tell about some Boost.Locale updates. I did some deep reworking on Boost.Locale internals that made this library more modular and powerful:
Localization backends interface: --------------------------------
...
Standard library based localization: ------------------------------------ ...
Other enhancements: -------------------
...
I have a general question concerning usage. I am unfamiliar with ICU. Sometimes when I do I18N, I like to think in terms of [serialized] objects and not strings. Besides having to internationalize images sometimes I need to do the same to arrays of strings or any type of object. In the use case of array of strings, I may in English have a selection or radii ["25 miles", "50 miles", "75 miles" "100 miles", "150 miles", "200 miles"]. However in a different language I may have ["50km", "100km", "150km", "250km"]. Because the unit is different I may more or fewer items in the array. The items in the array may not even be strings but a unit object that has both runtime scaler and runtime unit. So using ICU how would I store and retrieve an array of objects using boost serialization into one field. Does ICU support any kind of contenttype, metadata or filename extension that could identify such items to tools? Will your Locale library have any add on or enhancement to simplify this use-case; perhaps translate<object type> versus translate?
participants (2)
-
Artyom
-
Jarrad Waterloo