Wxwidgets' messages in Spanish
Monday, June 18, 2007
In a cpp wxwidgets app...
1 - Within the source wxwidgets , there's a samples folder.
2 - cd to samples folder , and then to calendar folder.
3 - Add this line before the end of the wxApp class in calendar.cpp...
wxLocale m_locale;
4 - Add these four at the beginning of the OnInit method of the inherited wxApp...
if( m_locale.Init()){
m_locale.AddCatalog(wxT("es"));
m_locale.AddCatalogLookupPathPrefix( wxT("."));
}
5 - Compile the sample with ... make -f makefile.unx ( this in MacOSX or any Unix)
6 - Do this if in MacOSX ...
$ mkdir calendar.app
$ cd calendar.app
$ mkdir Contents
$ cd Contents
$ mkdir MacOS
$ cd MacOS
$ ln -s ../../../calendar calendar
$ cd ../../..
$ open calendar.app
7 - If everything goes as expected days and months of the calendar widget get displayed in spanish.
In you want to apply this in a wxpython program...
1 - If you started your wxpython program with wx.PySimpleApp, ie ...
app = wx.PySimpleApp()
2 - add these lines after that ...
locale = wx.Locale()
if locale.Init(wx.LANGUAGE_DEFAULT , wx.LOCALE_LOAD_DEFAULT | wx.LOCALE_CONV_ENCODING ):
locale.AddCatalog("es")
locale.AddCatalogLookupPathPrefix(".")
3 - After this if your program , for example, uses wx.PreviewFrame, all messages in the frame and widgets will be displayed in Spanish!