What is Boost.Locale?

Boost.Locale is a library that provides high quality localization facilities in a C++ way. It was originally designed a part of CppCMS - C++ Web Framework project and then contributed to Boost.

Boost.Locale gives powerful tools for development of cross platform localized software - the software that talks to user in its language.

Provided Features:

  • Correct case conversion, case folding and normalization.
  • Collation (sorting), including support for 4 Unicode collation levels.
  • Date, time, timezone and calendar manipulations, formatting and parsing, including transparent support for calendars other than Gregorian.
  • Boundary analysis for characters, words, sentences and line-breaks.
  • Number formatting, spelling and parsing.
  • Monetary formatting and parsing.
  • Powerful message formatting (string translation) including support for plural forms, using GNU catalogs.
  • Character set conversion.
  • Transparent support for 8-bit character sets like Latin1
  • Support for char and wchar_t
  • Experimental support for C++0x char16_t and char32_t strings and streams.

Boost.Locale enhances and unifies the standard library's API the way it becomes useful and convenient for development of cross platform and "cross-culture" software.

In order to achieve this goal Boost.Locale uses the-state-of-the-art Unicode and Localization library: ICU - International Components for Unicode.

Boost.Locale creates the natural glue between the C++ locales framework, iostreams, and the powerful ICU library.

Boost.Locale provides non-ICU based localization support as well. It is based on the operating system native API or on the standard C++ library support. Sacrificing some less important features, Boost.Locale becomes less powerful but lighter and easier to deploy and use library.