boost locale c ++ - 理解基础知识

时间:2013-10-22 17:00:23

标签: c++ boost localization locale

首先,我如何使以下示例有效(来自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下打印字符串值。

我该怎么做?

感谢。

1 个答案:

答案 0 :(得分:2)

boost translate: po file not work可能会有所帮助。

最令人困惑的一步是:

  

2。将.mo文件放入正确的文件结构中,例如,如果您尝试将其翻译为西班牙语,则为./es_ES/LC_MESSAGES/hello.mo

它是GNU 'gettext' utilities的骚扰者。该手册也很有用。