look for message catalogs also directly under prefix in GetMsgCatalogSubdirs() as we used to do in 2.6

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2007-10-03 21:45:33 +00:00
parent ce903b6f06
commit a19e936e75

View File

@ -1017,21 +1017,25 @@ wxMsgCatalogFile::~wxMsgCatalogFile()
static
wxString GetMsgCatalogSubdirs(const wxString& prefix, const wxString& lang)
{
wxString searchPath;
searchPath << prefix << wxFILE_SEP_PATH << lang;
// Under Unix, the message catalogs are supposed to go into LC_MESSAGES
// subdirectory so look there too. Note that we do it on all platforms
// and not just Unix, because it doesn't cost much to look into one more
// directory and doing it this way has two important benefits:
// Search first in Unix-standard prefix/lang/LC_MESSAGES, then in
// prefix/lang and finally in just prefix.
//
// Note that we use LC_MESSAGES on all platforms and not just Unix, because
// it doesn't cost much to look into one more directory and doing it this
// way has two important benefits:
// a) we don't break compatibility with wx-2.6 and older by stopping to
// look in a directory where the catalogs used to be and thus silently
// breaking apps after they are recompiled against the latest wx
// b) it makes it possible to package app's support files in the same
// way on all target platforms
const wxString searchPathOrig(searchPath);
searchPath << wxFILE_SEP_PATH << wxT("LC_MESSAGES")
<< wxPATH_SEP << searchPathOrig;
wxString pathPrefix;
pathPrefix << prefix << wxFILE_SEP_PATH << lang;
wxString searchPath;
searchPath.reserve(4*pathPrefix.length());
searchPath << pathPrefix << wxFILE_SEP_PATH << "LC_MESSAGES" << wxPATH_SEP
<< prefix << wxFILE_SEP_PATH << wxPATH_SEP
<< pathPrefix;
return searchPath;
}