]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
listctrl header cleanup
[wxWidgets.git] / src / common / intl.cpp
index 4915e52efe3c8de0ccab96e3663aa47033f03aac..c0d360ea0f7e7ca0750aaa7bbf239b5887bc07f6 100644 (file)
@@ -1017,20 +1017,26 @@ wxMsgCatalogFile::~wxMsgCatalogFile()
     delete [] m_pData;
 }
 
-// return the directory to search for message catalogs under the given prefix
+// return the directories to search for message catalogs under the given
+// prefix, separated by wxPATH_SEP
 static
-wxString GetMsgCatalogSubdir(const wxChar *prefix, const wxChar *lang)
+wxString GetMsgCatalogSubdirs(const wxChar *prefix, const wxChar *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
-#ifdef __UNIX__
+    // 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:
+    // 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;
-#endif // __UNIX__
 
     return searchPath;
 }
@@ -1045,7 +1051,7 @@ static wxString GetFullSearchPath(const wxChar *lang)
            count = gs_searchPrefixes.size();
     for ( n = 0; n < count; n++ )
     {
-        paths.Add(GetMsgCatalogSubdir(gs_searchPrefixes[n], lang));
+        paths.Add(GetMsgCatalogSubdirs(gs_searchPrefixes[n], lang));
     }
 
 
@@ -1065,7 +1071,7 @@ static wxString GetFullSearchPath(const wxChar *lang)
     const wxChar *pszLcPath = wxGetenv(wxT("LC_PATH"));
     if ( pszLcPath )
     {
-        const wxString lcp = GetMsgCatalogSubdir(pszLcPath, lang);
+        const wxString lcp = GetMsgCatalogSubdirs(pszLcPath, lang);
         if ( paths.Index(lcp) == wxNOT_FOUND )
             paths.Add(lcp);
     }
@@ -1074,7 +1080,7 @@ static wxString GetFullSearchPath(const wxChar *lang)
     wxString wxp = wxGetInstallPrefix();
     if ( !wxp.empty() )
     {
-        wxp = GetMsgCatalogSubdir(wxp + _T("/share/locale"), lang);
+        wxp = GetMsgCatalogSubdirs(wxp + _T("/share/locale"), lang);
         if ( paths.Index(wxp) == wxNOT_FOUND )
             paths.Add(wxp);
     }