void OnTest1(wxCommandEvent& event);
void OnTest2(wxCommandEvent& event);
void OnTest3(wxCommandEvent& event);
-
+
DECLARE_EVENT_TABLE()
wxLocale& m_locale;
// ID for the menu commands
enum
{
- INTERNAT_QUIT = 1,
- INTERNAT_TEXT,
+ INTERNAT_TEXT = wxID_HIGHEST + 1,
INTERNAT_TEST,
INTERNAT_TEST_1,
INTERNAT_TEST_2,
};
// ----------------------------------------------------------------------------
-// wxWindows macros
+// wxWidgets macros
// ----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
- EVT_MENU(INTERNAT_QUIT, MyFrame::OnQuit)
+ EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
EVT_MENU(INTERNAT_TEST, MyFrame::OnPlay)
EVT_MENU(INTERNAT_OPEN, MyFrame::OnOpen)
wxLANGUAGE_RUSSIAN,
wxLANGUAGE_BULGARIAN,
wxLANGUAGE_CZECH,
-#if wxUSE_UNICODE
+ wxLANGUAGE_POLISH,
+ wxLANGUAGE_SWEDISH,
+#if wxUSE_UNICODE || defined(__WXMOTIF__)
wxLANGUAGE_JAPANESE,
+#endif
+#if wxUSE_UNICODE
wxLANGUAGE_GEORGIAN,
#endif
wxLANGUAGE_ENGLISH,
_T("Russian"),
_T("Bulgarian"),
_T("Czech"),
-#if wxUSE_UNICODE
+ _T("Polish"),
+ _T("Swedish"),
+#if wxUSE_UNICODE || defined(__WXMOTIF__)
_T("Japanese"),
+#endif
+#if wxUSE_UNICODE
_T("Georgian"),
#endif
_T("English"),
lng = wxGetSingleChoiceIndex
(
_T("Please choose language:"),
- _T("Language"),
+ _T("Language"),
WXSIZEOF(langNames),
langNames
);
if ( lng != -1 )
m_locale.Init(langIds[lng]);
+ // normally this wouldn't be necessary as the catalog files would be found
+ // in the default locations, but under Windows then the program is not
+ // installed the catalogs are in the parent directory (because the binary
+ // is in a subdirectory of samples/internat) where we wouldn't find them by
+ // default
+ wxLocale::AddCatalogLookupPathPrefix(wxT("."));
+ wxLocale::AddCatalogLookupPathPrefix(wxT(".."));
// Initialize the catalogs we'll be using
m_locale.AddCatalog(wxT("internat"));
wxMenu *file_menu = new wxMenu;
file_menu->Append(wxID_ABOUT, _("&About..."));
file_menu->AppendSeparator();
- file_menu->Append(INTERNAT_QUIT, _("E&xit"));
+ file_menu->Append(wxID_EXIT, _("E&xit"));
wxMenu *test_menu = new wxMenu;
test_menu->Append(INTERNAT_OPEN, _("&Open bogus file"));
frame->SetMenuBar(menu_bar);
// Show the frame
- frame->Show(TRUE);
+ frame->Show(true);
SetTopWindow(frame);
- return TRUE;
+ return true;
}
// ----------------------------------------------------------------------------
// main frame constructor
MyFrame::MyFrame(wxLocale& locale)
: wxFrame(NULL,
- -1,
- _("International wxWindows App"),
- wxPoint(50, 50),
- wxSize(350, 60)),
+ wxID_ANY,
+ _("International wxWidgets App")),
m_locale(locale)
{
// Empty
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) )
{
- Close(TRUE);
+ Close(true);
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
wxString sysname = m_locale.GetSysName();
wxString canname = m_locale.GetCanonicalName();
- localeInfo.Printf(_("Language: %s\nSystem locale name: %s\nCanonical locale name: %s\n"),
+ localeInfo.Printf(_("Language: %s\nSystem locale name:\n%s\nCanonical locale name: %s\n"),
locale.c_str(), sysname.c_str(), canname.c_str() );
- wxMessageDialog
- (
- this,
- wxString(_("I18n sample\n(c) 1998, 1999 Vadim Zeitlin and Julian Smart"))
- + wxT("\n\n")
- + localeInfo,
- _("About Internat"),
- wxOK | wxICON_INFORMATION
- ).ShowModal();
+ wxMessageDialog dlg(
+ this,
+ wxString(_("I18n sample\n(c) 1998, 1999 Vadim Zeitlin and Julian Smart"))
+ + wxT("\n\n")
+ + localeInfo,
+ _("About Internat"),
+ wxOK | wxICON_INFORMATION
+ );
+ dlg.ShowModal();
}
void MyFrame::OnPlay(wxCommandEvent& WXUNUSED(event))
{
const wxChar* title = _("Testing _() (gettext)");
wxTextEntryDialog d(this, _("Please enter text to translate"),
- title, wxTRANSLATE("default value"));
+ title, wxTRANSLATE("default value"));
if (d.ShowModal() == wxID_OK)
{
- wxString v = d.GetValue();
- wxString s(title);
- s << _T("\n") << v << _T(" -> ")
- << wxGetTranslation(v.c_str()) << _T("\n");
- wxMessageBox(s);
+ wxString v = d.GetValue();
+ wxString s(title);
+ s << _T("\n") << v << _T(" -> ")
+ << wxGetTranslation(v.c_str()) << _T("\n");
+ wxMessageBox(s);
}
}
{
const wxChar* title = _("Testing _N() (ngettext)");
wxTextEntryDialog d(this,
- _("Please enter range for plural forms of \"n files deleted\""
- "phrase"),
- title, _T("0-10"));
+ _("Please enter range for plural forms of \"n files deleted\" phrase"),
+ title, _T("0-10"));
if (d.ShowModal() == wxID_OK)
{
- int first, last;
- wxSscanf(d.GetValue(), _T("%d-%d"), &first, &last);
- wxString s(title);
- s << _T("\n");
- for (int n = first; n <= last; ++n)
+ int first, last;
+ wxSscanf(d.GetValue(), _T("%d-%d"), &first, &last);
+ wxString s(title);
+ s << _T("\n");
+ for (int n = first; n <= last; ++n)
{
- s << n << _T(" ") <<
- ngettext("file deleted", "files deleted", n) << _T("\n");
- }
+ s << n << _T(" ") <<
+ wxPLURAL("file deleted", "files deleted", n) <<
+ _T("\n");
+ }
wxMessageBox(s);
}
}
{
const wxChar* lines[] =
{
- wxTRANSLATE("line 1"),
- wxTRANSLATE("line 2"),
- wxTRANSLATE("line 3"),
+ wxTRANSLATE("line 1"),
+ wxTRANSLATE("line 2"),
+ wxTRANSLATE("line 3"),
};
wxString s(_("Testing wxTRANSLATE() (gettext_noop)"));
s << _T("\n");
for (size_t i = 0; i < WXSIZEOF(lines); ++i)
{
- s << lines[i] << _T(" -> ") << wxGetTranslation(lines[i]) << _T("\n");
+ s << lines[i] << _T(" -> ") << wxGetTranslation(lines[i]) << _T("\n");
}
wxMessageBox(s);
}