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;
}