Poedit, wxWidgets库(wxLocale)制作国际化(多语言)程序

文件-->新建项目

Poedit, wxWidgets库(wxLocale)制作国际化(多语言)程序_第1张图片Poedit, wxWidgets库(wxLocale)制作国际化(多语言)程序_第2张图片Poedit, wxWidgets库(wxLocale)制作国际化(多语言)程序_第3张图片

属性根据项目情况填写,字符集根据语言字符编码确定

源路径的基础路径是父路径(../),路径就是当前目录了(.),因为每一种语言都对应一个特定名称的文件夹,一般把.po,.mo文件放在该语言文件夹中。

在确认后会自动从源文更新,这时就会从上面指定的父目录下面查找源文件,

注意可以通过目录指定你要查找的源文件,有时只需要把某一个源文件里的字符串翻译

需要翻译的字符串用wxGettranslation宏,一般用简单的  _()替代即可,比如要把About翻译成关于,代码里写上  _("About"),不用翻译的还是用wxT或_T

查找完毕确定就会得到需要翻译的字符串

然后每一个需要的字符,指定翻译,怎么翻译可以google。

翻译完每一条就可以保存,保存时会自动生成.mo文件。关于gettext,msgfmt工具命令,Poedit已经自带了。

关于不同的语言对应的文件夹名称:(可以参考wxWidgets安装目录下的locale文件下的文件名称

一般代码中已经用了英语,用默认的就行

中文 zh_CN

中文(台湾) zh_TW

法文 de

德语 fr

日语 ja

.po,.mo文件生成以后就可以拿来使用了


wxLocale* m_locale;
    m_locale = new wxLocale( wxLANGUAGE_DEFAULT) ;
    m_locale->AddCatalogLookupPathPrefix(wxGetCwd());
    m_locale->AddCatalog( wxT("the_name_of_mofile") )   ;

通过改变wxLANGUAGE_DEFAULT值改变设置的语言:

    wxLANGUAGE_CHINESE,    wxLANGUAGE_ENGLISH,    wxLANGUAGE_FRENCH,    wxLANGUAGE_GERMAN等等。




你可能感兴趣的:(Poedit, wxWidgets库(wxLocale)制作国际化(多语言)程序)