Skip to content

Repository files navigation

Boost.Locale

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.

License

Distributed under the Boost Software License, Version 1.0.

Properties / Requirements

  • C++11
  • ICU 4.8.1 or newer for full feature support. ICU 50.1 is not supported, please use a newer version.
  • Formatted with clang-format, see tools/format_sources.sh

Build Status

BranchGH ActionsAppveyorDronecodecov.ioDepsDocsTests
masterCIBuild statusBuild StatuscodecovDepsDocumentationEnter the Matrix
developCIBuild statusBuild StatuscodecovDepsDocumentationEnter the Matrix

Directories

NamePurpose
docDocumentation
examplesExamples
includeHeaders
srcSource files
testUnit 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.

About

Boost.Locale

Resources

Stars

40 stars

Watchers

5 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages