You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Alexander Grund 458aeee83c Use the C++11 cstdint header instead of the boost fallback 1 day ago
.github/workflows Add tests for failing `create_simple_converter` and fix missing coverage 1 month ago
build Factor out iconv_codecvt and remove use of `std::shared_ptr` 3 months ago
doc Make std backend fall back to classic locale instead of system locale 2 weeks ago
examples Remove superflous braces 4 weeks ago
include/boost Use the C++11 cstdint header instead of the boost fallback 1 day ago
meta Require C++11 9 months ago
src/boost/locale Use the C++11 cstdint header instead of the boost fallback 1 day ago
test Use the C++11 cstdint header instead of the boost fallback 1 day ago
tools Make format_sources executable 8 months ago
.appveyor.yml Reduce number of combinations tested on Appveyor 1 month ago
.clang-format Switch to consistent west-const 8 months ago
.codecov.yml Ignore coverage of test framework files 9 months ago
.gitattributes Move top-level boost directory over to "devel" (temporarily) 16 years ago
CMakeLists.txt Refactoring: Simplify templates based on (supported) char types 4 weeks ago
LICENSE Add LICENSE file 11 months ago Format sources 8 months ago
index.html Suppress boostinspect warning for redirection doc page 11 months ago


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.