diff --git a/Makefile.in b/Makefile.in index d9a939c737..d21458bc93 100644 --- a/Makefile.in +++ b/Makefile.in @@ -2155,7 +2155,6 @@ WEBKIT2_EXT_CXXFLAGS = $(WX_CPPFLAGS) -DWXUSINGDLL -DwxUSE_GUI=0 $(PIC_FLAG) \ WEBKIT2_EXT_OBJECTS = \ webkit2_ext_webview_webkit2_extension.o LOCALE_LINGUAS = ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk zh zh_CN zh_TW -LOCALE_MSW_LINGUAS = it ### Conditionally set variables: ### @@ -13871,7 +13870,7 @@ COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \ all: $(__wxregex___depname) $(__wxzlib___depname) $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(__wxexpat___depname) $(__wxscintilla___depname) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__webviewdll___depname) $(__webviewlib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) $(__sound_sdl___depname) $(__webkit2_ext___depname) $(__wxrc___depname) -install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install +install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install $(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal (cd $(srcdir) ; $(INSTALL_DATA) wxwin.m4 $(DESTDIR)$(datadir)/aclocal) $(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets @@ -13907,7 +13906,7 @@ install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__instal @echo " ------------------------------------------------------" @echo " " -uninstall: $(__uninstall_wxregex___depname) $(__uninstall_wxzlib___depname) $(__uninstall_wxpng___depname) $(__uninstall_wxjpeg___depname) $(__uninstall_wxtiff___depname) $(__uninstall_wxexpat___depname) $(__uninstall_wxscintilla___depname) $(__uninstall_monodll___depname) $(__uninstall_monolib___depname) $(__uninstall_basedll___depname) $(__uninstall_baselib___depname) $(__uninstall_netdll___depname) $(__uninstall_netlib___depname) $(__uninstall_coredll___depname) $(__uninstall_corelib___depname) $(__uninstall_advdll___depname) $(__uninstall_advlib___depname) $(__uninstall_mediadll___depname) $(__uninstall_medialib___depname) $(__uninstall_htmldll___depname) $(__uninstall_htmllib___depname) $(__uninstall_webviewdll___depname) $(__uninstall_webviewlib___depname) $(__uninstall_qadll___depname) $(__uninstall_qalib___depname) $(__uninstall_xmldll___depname) $(__uninstall_xmllib___depname) $(__uninstall_xrcdll___depname) $(__uninstall_xrclib___depname) $(__uninstall_auidll___depname) $(__uninstall_auilib___depname) $(__uninstall_ribbondll___depname) $(__uninstall_ribbonlib___depname) $(__uninstall_propgriddll___depname) $(__uninstall_propgridlib___depname) $(__uninstall_richtextdll___depname) $(__uninstall_richtextlib___depname) $(__uninstall_stcdll___depname) $(__uninstall_stclib___depname) $(__uninstall_gldll___depname) $(__uninstall_gllib___depname) $(__uninstall_sound_sdl___depname) $(__uninstall_webkit2_ext___depname) locale_uninstall locale_msw_uninstall +uninstall: $(__uninstall_wxregex___depname) $(__uninstall_wxzlib___depname) $(__uninstall_wxpng___depname) $(__uninstall_wxjpeg___depname) $(__uninstall_wxtiff___depname) $(__uninstall_wxexpat___depname) $(__uninstall_wxscintilla___depname) $(__uninstall_monodll___depname) $(__uninstall_monolib___depname) $(__uninstall_basedll___depname) $(__uninstall_baselib___depname) $(__uninstall_netdll___depname) $(__uninstall_netlib___depname) $(__uninstall_coredll___depname) $(__uninstall_corelib___depname) $(__uninstall_advdll___depname) $(__uninstall_advlib___depname) $(__uninstall_mediadll___depname) $(__uninstall_medialib___depname) $(__uninstall_htmldll___depname) $(__uninstall_htmllib___depname) $(__uninstall_webviewdll___depname) $(__uninstall_webviewlib___depname) $(__uninstall_qadll___depname) $(__uninstall_qalib___depname) $(__uninstall_xmldll___depname) $(__uninstall_xmllib___depname) $(__uninstall_xrcdll___depname) $(__uninstall_xrclib___depname) $(__uninstall_auidll___depname) $(__uninstall_auilib___depname) $(__uninstall_ribbondll___depname) $(__uninstall_ribbonlib___depname) $(__uninstall_propgriddll___depname) $(__uninstall_propgridlib___depname) $(__uninstall_richtextdll___depname) $(__uninstall_richtextlib___depname) $(__uninstall_stcdll___depname) $(__uninstall_stclib___depname) $(__uninstall_gldll___depname) $(__uninstall_gllib___depname) $(__uninstall_sound_sdl___depname) $(__uninstall_webkit2_ext___depname) locale_uninstall (cd $(DESTDIR)$(datadir)/aclocal ; rm -f wxwin.m4) (cd $(DESTDIR)$(datadir)/bakefile/presets ; rm -f wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py) for f in setup.h $(RCDEFS_H); do \ @@ -14790,23 +14789,6 @@ locale_uninstall: fi ; \ done -locale_msw_install: - $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale - for l in $(LOCALE_MSW_LINGUAS) ; do \ - $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \ - $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \ - if test -f $(srcdir)/locale/msw/$$l.mo ; then \ - $(INSTALL_DATA) $(srcdir)/locale/msw/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \ - fi ; \ - done - -locale_msw_uninstall: - for l in $(LOCALE_MSW_LINGUAS) ; do \ - if test -f $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; then \ - rm -f $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxmsw.mo ; \ - fi ; \ - done - wxregex_regcomp.o: $(srcdir)/src/regex/regcomp.c $(CCC) -c -o $@ $(WXREGEX_CFLAGS) $(srcdir)/src/regex/regcomp.c diff --git a/build/bakefiles/wx.bkl b/build/bakefiles/wx.bkl index 8c26aa5b48..4165e1a849 100644 --- a/build/bakefiles/wx.bkl +++ b/build/bakefiles/wx.bkl @@ -144,12 +144,6 @@ $(LOCALEDIR) - - $(SRCDIR)/locale/msw - wxmsw - it - $(LOCALEDIR) - diff --git a/docs/contributing/translators-guide.md b/docs/contributing/translators-guide.md index 5814259eb0..d48e0d66f7 100644 --- a/docs/contributing/translators-guide.md +++ b/docs/contributing/translators-guide.md @@ -50,18 +50,3 @@ them). Then type `make lang.mo` which will create the binary message catalog. Under Windows (If you don't have Cygwin or MinGW), you should execute the commands manually, please have a look at Makefile to see what must be done. - -For platform specific translations, .po files such as `locale/msw/it.po` can be -used to provide translations that override the usual ones in `locale/it.po`. -The generated .mo files are then installed under the names such as `wxmsw.mo` -alongside the generic `wxstd.mo`. - -A new platform specific translation should be added to a section such as this -in wx.bkl: - - - $(SRCDIR)/locale/msw - wxmsw - it - $(LOCALEDIR) - diff --git a/locale/Makefile b/locale/Makefile index 70302eacf4..12c96b63c9 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -7,8 +7,7 @@ # being called with this dir as the cwd, but if we generate this file # with configure an explicit path should be specified -- RL. -WX_LINGUAS := $(shell ls *.po */*.po 2> /dev/null | sed 's/wxstd.pot//g' | sed 's/.po//g') -WX_LINGUAS_UPDATE := $(shell ls *.po 2> /dev/null | sed 's/wxstd.pot//g' | sed 's/.po//g') +WX_LINGUAS := $(shell ls *.po 2> /dev/null | sed 's/wxstd.pot//g' | sed 's/.po//g') # the programs we use (TODO: use configure to detect them) MSGFMT=msgfmt --verbose @@ -24,8 +23,7 @@ XGETTEXT_ARGS=-C -k_ -kwxPLURAL:1,2 -kwxGETTEXT_IN_CONTEXT:1c,2 -kwxGETTEXT_IN_C $(MSGFMT) -c -o $@ $< # a PO file must be updated from wxstd.pot to include new translations -# (but not manually maintained platform-specific files like msw/it.po) -$(foreach lang,$(WX_LINGUAS_UPDATE),$(lang).po): wxstd.pot +$(foreach lang,$(WX_LINGUAS),$(lang).po): wxstd.pot %.po: if [ -f $@ ]; then $(MSGMERGE) $@ wxstd.pot > $@.new && mv $@.new $@; else cp wxstd.pot $@; fi @@ -35,7 +33,7 @@ wxstd.pot: (find ../include -name "*.h"; find ../src -name "*.cpp"; find ../src -name "*.mm") | LC_COLLATE=C sort | $(XARGS) $(XGETTEXT) $(XGETTEXT_ARGS) -o wxstd.pot allpo: force-update - @-for t in $(WX_LINGUAS_UPDATE); do $(MAKE) $$t.po; done + @-for t in $(WX_LINGUAS); do $(MAKE) $$t.po; done allmo: @for t in $(WX_LINGUAS); do $(MAKE) $$t.mo; done diff --git a/locale/it.po b/locale/it.po index 40f1d7e1b3..b3cf5b6485 100644 --- a/locale/it.po +++ b/locale/it.po @@ -440,6 +440,11 @@ msgstr "&Altezza:" msgid "&Help" msgstr "&Aiuto" +# The help menu is called just '?' on Italian versions of Windows +msgctxt "standard Windows menu" +msgid "&Help" +msgstr "&?" + #: ../include/wx/richmsgdlg.h:30 msgid "&Hide details" msgstr "&Nascondi dettagli" diff --git a/locale/msw/it.po b/locale/msw/it.po deleted file mode 100644 index 236d44bde5..0000000000 --- a/locale/msw/it.po +++ /dev/null @@ -1,18 +0,0 @@ -# wxMSW specific overrides for it.po -# -msgid "" -msgstr "" -"Project-Id-Version: wxWidgets 3.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-29 14:59+0100\n" -"PO-Revision-Date: 2005-08-12 14:23:42+0100\n" -"Last-Translator: Mike Wetherell \n" -"Language-Team: wxWidgets translators \n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -# The help menu is called just '?' on Italian versions of Windows -msgid "&Help" -msgstr "&?" diff --git a/samples/internat/internat.cpp b/samples/internat/internat.cpp index 6d3bb82e60..16e86a6620 100644 --- a/samples/internat/internat.cpp +++ b/samples/internat/internat.cpp @@ -32,6 +32,7 @@ #include "wx/file.h" #include "wx/log.h" #include "wx/cmdline.h" +#include "wx/platinfo.h" #ifndef wxHAS_IMAGES_IN_RESOURCES #include "../sample.xpm" @@ -298,10 +299,8 @@ MyFrame::MyFrame(wxLocale& locale) file_menu->Append(INTERNAT_TEST, _("&Test locale availability...\tCtrl-T")); file_menu->AppendSeparator(); - // since wxID_ABOUT and wxID_EXIT are stock IDs they will automatically get - // translated help strings; nice isn't it? - file_menu->Append(wxID_ABOUT, _("&About")); - file_menu->AppendSeparator(); + // since wxID_EXIT is a stock ID it will automatically get a translated help + // string; nice isn't it? file_menu->Append(wxID_EXIT, _("E&xit")); wxMenu *test_menu = new wxMenu; @@ -327,11 +326,20 @@ MyFrame::MyFrame(wxLocale& locale) macro_menu->Append(INTERNAT_MACRO_8, wxGETTEXT_IN_CONTEXT_PLURAL("context_2", "sing", "plur", 1)); macro_menu->Append(INTERNAT_MACRO_9, wxGETTEXT_IN_CONTEXT_PLURAL("context_2", "sing", "plur", 2)); + wxMenu *help_menu = new wxMenu; + help_menu->Append(wxID_ABOUT, _("&About")); + wxMenuBar *menu_bar = new wxMenuBar; // Using stock label here means that it will be automatically translated. menu_bar->Append(file_menu, wxGetStockLabel(wxID_FILE)); menu_bar->Append(test_menu, _("&Test")); menu_bar->Append(macro_menu, _("&Macro")); + // We could have used wxGetStockLabel(wxID_HELP) here too, but show the + // special case of "Help" menu: it has a special, Windows-specific + // translation for some languages. Note that normally we would actually use + // it only under MSW, we're doing it here unconditionally just for + // demonstration purposes. + menu_bar->Append(help_menu, wxGETTEXT_IN_CONTEXT("standard Windows menu", "&Help")); SetMenuBar(menu_bar); // this demonstrates RTL support in wxStatusBar: diff --git a/src/common/stockitem.cpp b/src/common/stockitem.cpp index e82b368661..4898588437 100644 --- a/src/common/stockitem.cpp +++ b/src/common/stockitem.cpp @@ -120,6 +120,15 @@ wxString wxGetStockLabel(wxWindowID id, long flags) // for it because it is already bound to Esc implicitly) if ( id == wxID_CANCEL ) flags &= ~wxSTOCK_WITH_MNEMONIC; + + // Another one: "Help" in the context of a menu label has a different + // translation for some languages (Italian), so try this first. + if ( id == wxID_HELP && (flags & wxSTOCK_WITH_MNEMONIC) ) + { + stockLabel = wxGETTEXT_IN_CONTEXT("standard Windows menu", "&Help"); + if ( !stockLabel.empty() ) + return stockLabel; + } #endif // __WXMSW__ diff --git a/src/common/translation.cpp b/src/common/translation.cpp index dbd2d4dcef..d1fc7f5c1f 100644 --- a/src/common/translation.cpp +++ b/src/common/translation.cpp @@ -1522,14 +1522,6 @@ bool wxTranslations::AddStdCatalog() if ( !AddCatalog(wxS("wxstd")) ) return false; - // there may be a catalog with toolkit specific overrides, it is not - // an error if this does not exist - wxString port(wxPlatformInfo::Get().GetPortIdName()); - if ( !port.empty() ) - { - AddCatalog(port.BeforeFirst(wxS('/')).MakeLower()); - } - return true; }