wxShowTip信息提示框的汉化

1.到wxwidgets/locale找到zh_CN.po

2.到网上下载poedit工具,官网好像是www.poedit.net

3.用poedit打开zh_CN.po保存,程序会自动生成mo文件

4.把mo文件copy到你的代码的resource目录下的zh_CN目录下的my.po

5.修改myapp.h

 

C++代码
  1. class myApp : public wxApp   
  2. {   
  3.     public:   
  4.         //初始化   
  5.         virtual bool OnInit();   
  6.   
  7.    protected:   
  8.     wxLocale m_locale; // locale we'll be using   
  9.   
  10. };   
  11.   

 

6.修改myapp.cpp

 

C++代码
  1. #include "wx/log.h"   
  2. bool myApp::OnInit()   
  3. {   
  4.     //(*AppInitialize   
  5.     bool wxsOK = true;   
  6.     wxInitAllImageHandlers();   
  7.     if (m_locale.Init(wxLANGUAGE_CHINESE_SIMPLIFIED,   
  8.                     wxLOCALE_CONV_ENCODING))   
  9.     {   
  10.   
  11.         wxString resDir = wxT("resource");   
  12.         m_locale.AddCatalogLookupPathPrefix(resDir);   
  13.         m_locale.AddCatalog(wxT("my"));   
  14.     }   
  15.     if ( wxsOK )   
  16.     {   
  17.         myFrame* Frame = new myFrame(0);   
  18.         Frame->Show();   
  19.         Frame->ShowTip();   
  20.         SetTopWindow(Frame);   
  21.     }   
  22.     //*)   
  23.     //Frame->ShowTip();放在上面   
  24.     return wxsOK;   
  25.   
  26. }  

 

到此汉化完成。

备注:关健代码解释

设置中文环境

m_locale.Init(wxLANGUAGE_CHINESE_SIMPLIFIED, wxLOCALE_CONV_ENCODING)

设置中文包mo文件所在目录,程序会在此目录下对应语言目录(zh_CN)下查找文件

wxString resDir = wxT("resource");
m_locale.AddCatalogLookupPathPrefix(resDir);

设置中文包mo的文件名,不带后缀

m_locale.AddCatalog(wxT("my"));

 

以上代码为非完整代码,不能直接运行。

上一篇: wxShowTip信息提示框的使用   下一篇: 一个美丽的发现wxSQLite3【转】

提交疑问

回顶部