wxLocale class encapsulates all language-dependent settings and is a
generalization of the C locale concept.
-In wxWindows this class manages message catalogs which contain the translations
+In wxWidgets this class manages message catalogs which contain the translations
of the strings used to the current language.
\perlnote{In wxPerl you can't use the '\_' function name, so
\func{bool}{AddCatalog}{\param{const char }{*szDomain}}
+\func{bool}{AddCatalog}{\param{const char }{*szDomain}, \param{wxLanguage}{msgIdLanguage}, \param{const char }{*msgIdCharset}}
+
Add a catalog for use with the current locale: it is searched for in standard
places (current directory first, then the system one), but you may also prepend
additional directories to the search path with
\helpref{AddCatalogLookupPathPrefix()}{wxlocaleaddcataloglookuppathprefix}.
-All loaded catalogs will be used for message lookup by GetString() for the
-current locale.
+All loaded catalogs will be used for message lookup by
+\helpref{GetString()}{wxlocalegetstring} for the current locale.
Returns true if catalog was successfully loaded, false otherwise (which might
mean that the catalog is not found or that it isn't in the correct format).
+The second form of this method takes two additional arguments,
+\arg{msgIdLanguage} and \arg{msgIdCharset}.
+
+\arg{msgIdLanguage} specifies the language of "msgid" strings in source code
+(i.e. arguments to \helpref{GetString}{wxlocalegetstring},
+\helpref{wxGetTranslation}{wxgettranslation} and the
+\helpref{\_()}{underscore} macro). It is used if AddCatalog cannot find any
+catalog for current language: if the language is same as source code language,
+then strings from source code are used instead.
+
+\arg{msgIdCharset} lets you specify the charset used for msgids in sources
+in case they use 8-bit characters (e.g. German or French strings). This
+argument has no effect in Unicode build, because literals in sources are
+Unicode strings; you have to use compiler-specific method of setting the right
+charset when compiling with Unicode.
+
+By default (i.e. when you use the first form), msgid strings are assumed
+to be in English and written only using 7-bit ASCII characters.
+
+If you have to deal with non-English strings or 8-bit characters in the source
+code, see the instructions in
+\helpref{Writing non-English applications}{nonenglishoverview}.
+
\membersection{wxLocale::AddCatalogLookupPathPrefix}\label{wxlocaleaddcataloglookuppathprefix}
\func{void}{AddCatalogLookupPathPrefix}{\param{const wxString\& }{prefix}}
otherwise \arg{szOrigString2}.
See \urlref{GNU gettext manual}{http://www.gnu.org/manual/gettext/html\_chapter/gettext\_10.html\#SEC150} for additional information on plural forms handling.
+This method is called by the \helpref{wxGetTranslation}{wxgettranslation}
+function and \helpref{\_()}{underscore} macro.
+
\wxheading{Remarks}
Domains are searched in the last to first order, i.e. catalogs
language (see \helpref{GetSystemLanguage}{wxlocalegetsystemlanguage}).}
\docparam{flags}{Combination of the following:
+
+
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxLOCALE\_LOAD\_DEFAULT}}{Load the message catalog
-for the given locale containing the translations of standard wxWindows messages
+for the given locale containing the translations of standard wxWidgets messages
automatically.}
\twocolitem{\windowstyle{wxLOCALE\_CONV\_ENCODING}}{Automatically convert message
catalogs to platform's default encoding. Note that it will do only basic
platform-specific.}
\docparam{bLoadDefault}{May be set to false to prevent loading of the message catalog
-for the given locale containing the translations of standard wxWindows messages.
+for the given locale containing the translations of standard wxWidgets messages.
This parameter would be rarely used in normal circumstances.}
\docparam{bConvertEncoding}{May be set to true to do automatic conversion of message
understand: first of all, the application locale is changed - note that this
will affect many of standard C library functions such as printf() or strftime().
Second, this wxLocale object becomes the new current global locale for the
-application and so all subsequent calls to wxGetTranslation() will try to
+application and so all subsequent calls to
+\helpref{wxGetTranslation()}{wxgettranslation} will try to
translate the messages using the message catalogs for this locale.
Returns true on success or false if the given locale couldn't be set.