wxLocaleを使用して単純な多言語プログラムを作成しようとしましたが、失敗することすらありません。言語を読み込もうとすると、常にOKが返されますが、何も変更されないようです。
#include <wx/intl.h>
#include <wx/stdpaths.h>
#include <wx/app.h>
#include <wx/txtstrm.h>
#include <wx/wfstream.h>
wxFFileOutputStream wxstdout (stdout); wxTextOutputStream cout(wxstdout);
wxFFileOutputStream wxstderr (stderr); wxTextOutputStream cerr(wxstderr);
class app: public wxApp
{
public:
virtual bool OnInit();
};
bool app::OnInit()
{
long language = wxLANGUAGE_GERMAN;
wxLocale* locale = new wxLocale();
if (locale->Init(language, wxLOCALE_CONV_ENCODING))
cerr << L"Language loaded OK\n";
else
cerr << L"Language loading failed\n";
cout << _("Hi!") << endl;
exit(0);
return true;
}
IMPLEMENT_APP_CONSOLE(app);
どの言語を指定しようとしても、常に印刷されます
Language loaded OK
Hi!
翻訳(.poファイルと.moファイル)がないので、Init
言語に失敗するはずだと思いますか?しかし、実際にいくつかの翻訳を追加しようとすると、何も変更されず、プログラムは常に印刷しますHi!
。なぜそれがすべて起こるのですか?