我希望有一种简单易用的方式来编写代码,比如:
#include <iostream>
int main (){
    std::cout << "hello, world!\n";
}但这支持i18n。下面是一个使用gettext()的示例
#include <libintl.h>
#include <iostream>
int main (){
    std::cout << gettext("hello, world!\n");
}然后,xgettext可以对其进行处理,以生成一个消息目录文件,翻译器可以使用该文件来创建各种版本。这些额外的文件可以在目标系统上处理,以允许用户以首选语言进行交互。
我想写类似下面这样的代码:
#include <i18n-iostream>
int main (){
    i18n::cout << "hello, world!\n";
}在构建时,xgettext之类的程序将检查引用的字符串,以生成基本消息目录文件。带有参数i18n::cout的<<操作符将接受字符串文字作为键,以便从消息目录中查找要使用的运行时文本。
它是否存在于某个地方?
发布于 2009-06-10 17:52:40
简短的回答是“不”:)
说真的,你对国际化的哪些方面感兴趣?重症监护室提供了几乎所有的东西,但感觉不像标准的C++。还有其他一些范围较小的库,它们提供了一些i18n功能,例如,用于处理UTF-8编码字符串的UTF-CPP。
https://stackoverflow.com/questions/977146
复制相似问题