首先,我如何使以下示例有效(来自boost网站):
#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;
}
(尝试创建一个hello.mo文件,但仍无效)。
基本上我要做的就是能够像一个字符串:“操作”, 然后根据file1 / file2,它将在该特定文件的id:operation下打印字符串值。
我该怎么做?
感谢。
答案 0 :(得分:2)
boost translate: po file not work可能会有所帮助。
最令人困惑的一步是:
2。将.mo文件放入正确的文件结构中,例如,如果您尝试将其翻译为西班牙语,则为./es_ES/LC_MESSAGES/hello.mo
它是GNU 'gettext' utilities的骚扰者。该手册也很有用。