Provide localization and Unicode handling tools for C++
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
andwchar_t
- Experimental support for C++11
char16_t
andchar32_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.
License
Distributed under the Boost Software License, Version 1.0.
Properties
- C++11
- Formatted with clang-format, see
tools/format_sources.sh
Build Status
Branch | GH Actions | Appveyor | Drone | codecov.io | Deps | Docs | Tests |
---|---|---|---|---|---|---|---|
master |
|||||||
develop |
Directories
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.
license | BSL-1.0 |
---|---|
project | boost |
url | github.com/boostorg/locale |
doc-url | www.boost.org/doc/libs/1_85_0/libs/locale |
boost-users@lists.boost.orgMailing list | |
topics | C++Boost |
version | 1.85.0 |
---|---|
repository | https://pkg.cppget.org/1/testing |
depends | 9; libboost-predef, libboost-thread, libicuuc, libicui18n, libboost-assert, libboost-config, libboost-core, libboost-iterator, libboost-utility |
reviews | +1 |
version | 1.83.0 |
---|---|
repository | https://pkg.cppget.org/1/stable |
depends | 9; libboost-predef, libboost-thread, libicuuc, libicui18n, libboost-assert, libboost-config, libboost-core, libboost-iterator, libboost-utility |
reviews | +1 |
version | 1.81.0+1 |
---|---|
repository | https://pkg.cppget.org/1/stable |
depends | 8; libboost-core, libboost-predef, libboost-thread, libicuuc, libicui18n, libboost-assert, libboost-config, libboost-iterator |
reviews | +1 |