这可能是一个简单的问题,但我一直在努力解决这个问题,这就是为什么我希望你们中的一个可以帮助我。
我正在尝试让 Boost 语言环境的功能发挥translate
作用。参考此示例代码:
#include <boost/locale.hpp>
#include <iostream>
using namespace std;
using namespace boost::locale;
int main()
{
generator gen;
// Specify location of dictionaries
gen.add_messages_path(".");
gen.add_messages_domain("hello");
// Generate locales and imbue them to iostream
locale::global(gen(""));
cout.imbue(locale());
// Display a message using current system locale
cout << translate("Hello World") << endl;
}
假设我想翻译成德语。我必须像过去
"de"
一样locale::global(gen("de"));
吗?我读了一些
*.po
和*.mo
文件。有人可以解释一下这一切是如何工作的吗?
提前致谢。