Artyom Beilis
Alexander Grund


Part of the Boost C++ Libraries.

Boost.Locale is a library that provides high quality localization facilities in a C++ way. It was originally designed a part of CppCMS - a 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 users in their 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++11 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.


Distributed under the Boost Software License, Version 1.0.


Build Status

Branch GH Actions Appveyor Deps Docs Tests
master CI Build status codecov Deps Documentation Enter the Matrix
develop CI Build status codecov Deps Documentation Enter the Matrix


Name Purpose
doc Documentation
examples Examples
include Headers
src Source files
test Unit tests

More information

  • Ask questions
  • Report bugs: Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
  • Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
  • Discussions about the library are held on the Boost developers mailing list. Be sure to read the discussion policy before posting and add the [locale] tag at the beginning of the subject line.