C++ 11 新增于 Boost 1.48.0
分类: 字符串
为 C++ 提供本地化和 Unicode 处理工具。
本次发布
依赖项
Boost.Locale
属于 Boost C++ 库。
Boost.Locale 是一个以 C++ 方式提供高质量本地化功能的库。它最初是作为 CppCMS - 一个 C++ Web 框架项目的一部分设计的,然后贡献给了 Boost。
Boost.Locale 为开发跨平台本地化软件提供了强大的工具 - 能够与用户用其语言交流的软件。
提供的功能
- 正确的字母大小写转换、大小写折叠和规范化。
- 排序(collation),包括对 4 个 Unicode 排序级别的支持。
- 日期、时间、时区和日历操作、格式化和解析,包括对非公历的透明支持。
- 字符、单词、句子和换行的边界分析。
- 数字格式化、拼写和解析。
- 货币格式化和解析。
- 强大的消息格式化(字符串翻译),包括对复数形式的支持,使用 GNU catalogs。
- 字符集转换。
- 对 Latin1 等 8 位字符集的透明支持
- 对
char
和wchar_t
的支持 - 对 C++11
char16_t
和char32_t
字符串和流的实验性支持。
Boost.Locale 增强并统一了标准库的 API,使其能够方便地用于开发跨平台和“跨文化”的软件。
为了实现这一目标,Boost.Locale 使用了最先进的 Unicode 和本地化库:ICU - International Components for Unicode。
Boost.Locale 在 C++ locales 框架、iostreams 和强大的 ICU 库之间建立了自然的连接。
Boost.Locale 也提供了非 ICU 的本地化支持。它基于操作系统的原生 API 或标准 C++ 库支持。通过牺牲一些不太重要的功能,Boost.Locale 可以成为一个功能较少但更轻便、更易于部署和使用的库。
License
根据 Boost Software License, Version 1.0 分发。
属性 / 要求
- C++11
- ICU 4.8.1 或更高版本以获得完整的功能支持。不支持 ICU 50.1,请使用更新的版本。
- 使用 clang-format 格式化,请参阅
tools/format_sources.sh
构建状态
分支 | GH Actions | Appveyor | Drone | codecov.io | 依赖 | 文档 | 测试 |
---|---|---|---|---|---|---|---|
master |
|||||||
develop |
目录
名称 | 目的 |
---|---|
doc |
文档 |
示例 |
示例 |
include |
头文件 |
src |
源文件 |
测试 |
单元测试 |
更多信息
- 提问
- 报告错误:请务必提及您使用的 Boost 版本、平台和编译器。一个小的可编译代码示例来重现问题总是好的。
- 请将您的补丁作为拉取请求提交到 develop 分支。请注意,提交补丁即表示您同意根据 Boost Software License, Version 1.0 许可您的修改。
- 有关该库的讨论在 Boost 开发者邮件列表 上进行。发布前请务必阅读 讨论政策,并在主题行开头添加
[locale]
标签。