a4313e3b38
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
180 lines
7.0 KiB
TeX
180 lines
7.0 KiB
TeX
\section{\class{wxLocale}}\label{wxlocale}
|
|
|
|
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
|
|
of the strings used to the current language.
|
|
|
|
\perlnote{In wxPerl the {\tt Wx} module exports a '_' function
|
|
that corresponds to the '_' C++ macro.
|
|
\begin{verbatim}
|
|
use Wx qw(_);
|
|
|
|
# ....
|
|
|
|
print _( ``Panic!'' );
|
|
|
|
my( \$button ) = Wx::Button->new( \$window, -1, _( ``Label'' ) );
|
|
\end{verbatim}
|
|
}
|
|
|
|
\wxheading{Derived from}
|
|
|
|
No base class
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{I18n overview}{internationalization}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/intl.h>
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxLocale::wxLocale}\label{wxlocaledefctor}
|
|
|
|
\func{}{wxLocale}{\void}
|
|
|
|
This is the default constructor and it does nothing to initialize the object:
|
|
\helpref{Init()}{wxlocaleinit} must be used to do that.
|
|
|
|
\func{}{wxLocale}{\param{const char }{*szName}, \param{const char }{*szShort = NULL}, \param{const char }{*szLocale = NULL}, \param{bool }{bLoadDefault = TRUE}, \param{bool }{bConvertEncoding = FALSE}}
|
|
|
|
The parameters have the following meaning:
|
|
\begin{itemize}\itemsep=0pt
|
|
\item szName is the name of the locale and is only used in diagnostic messages
|
|
\item szShort is the standard 2 letter locale abbreviation and is used as the
|
|
directory prefix when looking for the message catalog files
|
|
\item szLocale is the parameter for the call to setlocale()
|
|
\item bLoadDefault may be set to FALSE to prevent loading of the message catalog
|
|
for the given locale containing the translations of standard wxWindows messages.
|
|
This parameter would be rarely used in normal circumstances.
|
|
\item bConvertEncoding may be set to TRUE to do automatic conversion of message
|
|
catalogs to platform's native encoding. Note that it will do only basic
|
|
conversion between well-known pair like iso8859-1 and windows-1252 or
|
|
iso8859-2 and windows-1250.
|
|
See \helpref{Writing non-English applications}{nonenglishoverview} for detailed
|
|
description of this behaviour.
|
|
\end{itemize}
|
|
|
|
The call of this function has several global side effects which you should
|
|
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
|
|
translate the messages using the message catalogs for this locale.
|
|
|
|
\membersection{wxLocale::\destruct{wxLocale}}\label{wxlocaledtor}
|
|
|
|
\func{}{\destruct{wxLocale}}{\void}
|
|
|
|
The destructor, like the constructor, also has global side effects: the previously
|
|
set locale is restored and so the changes described in
|
|
\helpref{Init}{wxlocaleinit} documentation are rolled back.
|
|
|
|
\membersection{wxLocale::AddCatalog}\label{wxlocaleaddcatalog}
|
|
|
|
\func{bool}{AddCatalog}{\param{const char }{*szDomain}}
|
|
|
|
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.
|
|
|
|
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).
|
|
|
|
\membersection{wxLocale::AddCatalogLookupPathPrefix}\label{wxlocaleaddcataloglookuppathprefix}
|
|
|
|
\func{void}{AddCatalogLookupPathPrefix}{\param{const wxString\& }{prefix}}
|
|
|
|
Add a prefix to the catalog lookup path: the message catalog files will be
|
|
looked up under prefix/<lang>/LC\_MESSAGES, prefix/LC\_MESSAGES and prefix
|
|
(in this order).
|
|
|
|
This only applies to subsequent invocations of AddCatalog()!
|
|
|
|
\membersection{wxLocale::GetLocale}\label{wxlocalegetlocale}
|
|
|
|
\constfunc{const char*}{GetLocale}{\void}
|
|
|
|
Returns the locale name as passed to the constructor or
|
|
\helpref{Init()}{wxlocaleinit}.
|
|
|
|
\membersection{wxLocale::GetName}\label{wxlocalegetname}
|
|
|
|
\constfunc{const wxString\&}{GetName}{\void}
|
|
|
|
Returns the current short name for the locale (as given to the constructor or
|
|
the Init() function).
|
|
|
|
\membersection{wxLocale::GetString}\label{wxlocalegetstring}
|
|
|
|
\constfunc{const char*}{GetString}{\param{const char }{*szOrigString}, \param{const char }{*szDomain = NULL}}
|
|
|
|
Retrieves the translation for a string in all loaded domains unless the szDomain
|
|
parameter is specified (and then only this catalog/domain is searched).
|
|
|
|
Returns original string if translation is not available
|
|
(in this case an error message is generated the first time
|
|
a string is not found; use \helpref{wxLogNull}{wxlogoverview} to suppress it).
|
|
|
|
\wxheading{Remarks}
|
|
|
|
Domains are searched in the last to first order, i.e. catalogs
|
|
added later override those added before.
|
|
|
|
\membersection{wxLocale::Init}\label{wxlocaleinit}
|
|
|
|
\func{bool}{Init}{\param{const char }{*szName}, \param{const char }{*szShort = NULL}, \param{const char }{*szLocale = NULL}, \param{bool }{bLoadDefault = TRUE}, \param{bool }{bConvertEncoding = FALSE}}
|
|
|
|
The parameters have the following meaning:
|
|
|
|
\begin{itemize}\itemsep=0pt
|
|
\item szName is the name of the locale and is only used in diagnostic messages
|
|
\item szShort is the standard 2 letter locale abbreviation and is used as the
|
|
directory prefix when looking for the message catalog files
|
|
\item szLocale is the parameter for the call to setlocale()
|
|
\item bLoadDefault may be set to FALSE to prevent loading of the message catalog
|
|
for the given locale containing the translations of standard wxWindows messages.
|
|
This parameter would be rarely used in normal circumstances.
|
|
\item bConvertEncoding may be set to TRUE to do automatic conversion of message
|
|
catalogs to platform's native encoding. Note that it will do only basic
|
|
conversion between well-known pair like iso8859-1 and windows-1252 or
|
|
iso8859-2 and windows-1250.
|
|
See \helpref{Writing non-English applications}{nonenglishoverview} for detailed
|
|
description of this behaviour.
|
|
\end{itemize}
|
|
|
|
The call of this function has several global side effects which you should
|
|
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
|
|
translate the messages using the message catalogs for this locale.
|
|
|
|
Returns TRUE on success or FALSE if the given locale couldn't be set.
|
|
|
|
\membersection{wxLocale::IsLoaded}\label{wxlocaleisloaded}
|
|
|
|
\constfunc{bool}{IsLoaded}{\param{const char* }{domain}}
|
|
|
|
Check if the given catalog is loaded, and returns TRUE if it is.
|
|
|
|
According to GNU gettext tradition, each catalog
|
|
normally corresponds to 'domain' which is more or less the application name.
|
|
|
|
See also: \helpref{AddCatalog}{wxlocaleaddcatalog}
|
|
|
|
\membersection{wxLocale::IsOk}\label{wxlocaleisok}
|
|
|
|
\constfunc{bool}{IsOk}{\void}
|
|
|
|
Returns TRUE if the locale could be set successfully.
|
|
|