]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/locale.tex
If somebody ever decides to actually check in fsfile.tex and
[wxWidgets.git] / docs / latex / wx / locale.tex
CommitLineData
c1b7dab0
VZ
1\section{\class{wxLocale}}\label{wxlocale}
2
dbdb39b2
JS
3wxLocale class encapsulates all language-dependent settings and is a
4generalization of the C locale concept.
c1b7dab0
VZ
5
6In wxWindows this class manages message catalogs which contain the translations
7of the strings used to the current language.
8
9\wxheading{Derived from}
10
11No base class
12
ed93168b
VZ
13\wxheading{See also}
14
15\helpref{I18n overview}{internationalization}
16
dbdb39b2
JS
17\wxheading{Include files}
18
19<wx/intl.h>
20
c1b7dab0
VZ
21\latexignore{\rtfignore{\wxheading{Members}}}
22
23\membersection{wxLocale::wxLocale}\label{wxlocaledefctor}
24
25\func{}{wxLocale}{\void}
26
27This is the default constructor and it does nothing to initialize the object:
dbdb39b2 28\helpref{Init()}{wxlocaleinit} must be used to do that.
c1b7dab0
VZ
29
30\func{}{wxLocale}{\param{const char }{*szName}, \param{const char }{*szShort = NULL}, \param{const char }{*szLocale = NULL}, \param{bool }{bLoadDefault = TRUE}}
31
32The parameters have the following meaning:
33\begin{itemize}\itemsep=0pt
34\item szName is the name of the locale and is only used in diagnostic messages
35\item szShort is the standard 2 letter locale abbreviation and is used as the
36directory prefix when looking for the message catalog files
37\item szLocale is the parameter for the call to setlocale()
38\item bLoadDefault may be set to FALSE to prevent loading of the message catalog
39for the given locale containing the translations of standard wxWindows messages.
40This parameter would be rarely used in normal circumstances.
41\end{itemize}
42
43The call of this function has several global side effects which you should
44understand: first of all, the application locale is changed - note that this
45will affect many of standard C library functions such as printf() or strftime().
46Second, this wxLocale object becomes the new current global locale for the
47application and so all subsequent calls to wxGetTranslation() will try to
48translate the messages using the message catalogs for this locale.
49
50\membersection{wxLocale::\destruct{wxLocale}}\label{wxlocaledtor}
51
52\func{}{\destruct{wxLocale}}{\void}
53
dbdb39b2 54The destructor, like the constructor, also has global side effects: the previously
c1b7dab0
VZ
55set locale is restored and so the changes described in
56\helpref{Init}{wxlocaleinit} documentation are rolled back.
57
58\membersection{wxLocale::GetLocale}\label{wxlocalegetlocale}
59
60\constfunc{const char*}{GetLocale}{\void}
61
62Returns the locale name as passed to the constructor or
63\helpref{Init()}{wxlocaleinit}.
64
c1b7dab0
VZ
65\membersection{wxLocale::AddCatalog}\label{wxlocaleaddcatalog}
66
67\func{bool}{AddCatalog}{\param{const char }{*szDomain}}
68
69Add a catalog for use with the current locale: it's searched for in standard
dbdb39b2 70places (current directory first, then the system one), but you may also prepend
c1b7dab0 71additional directories to the search path with
dbdb39b2 72\helpref{AddCatalogLookupPathPrefix()}{wxlocaleaddcataloglookuppathprefix}.
c1b7dab0
VZ
73
74All loaded catalogs will be used for message lookup by GetString() for the
75current locale.
76
77Returns TRUE if catalog was successfully loaded, FALSE otherwise (which might
78mean that the catalog is not found or that it isn't in the correct format).
79
80\membersection{wxLocale::AddCatalogLookupPathPrefix}\label{wxlocaleaddcataloglookuppathprefix}
81
82\func{void}{AddCatalogLookupPathPrefix}{\param{const wxString\& }{prefix}}
83
84Add a prefix to the catalog lookup path: the message catalog files will be
85looked up under prefix/<lang>/LC\_MESSAGES, prefix/LC\_MESSAGES and prefix
86(in this order).
87
88This only applies to subsequent invocations of AddCatalog()!
89
90\membersection{wxLocale::Init}\label{wxlocaleinit}
91
92\func{bool}{Init}{\param{const char }{*szName}, \param{const char }{*szShort = NULL}, \param{const char }{*szLocale = NULL}, \param{bool }{bLoadDefault = TRUE}}
93
94The parameters have the following meaning:
dbdb39b2 95
c1b7dab0
VZ
96\begin{itemize}\itemsep=0pt
97\item szName is the name of the locale and is only used in diagnostic messages
98\item szShort is the standard 2 letter locale abbreviation and is used as the
99directory prefix when looking for the message catalog files
100\item szLocale is the parameter for the call to setlocale()
101\item bLoadDefault may be set to FALSE to prevent loading of the message catalog
102for the given locale containing the translations of standard wxWindows messages.
103This parameter would be rarely used in normal circumstances.
104\end{itemize}
105
106The call of this function has several global side effects which you should
107understand: first of all, the application locale is changed - note that this
108will affect many of standard C library functions such as printf() or strftime().
109Second, this wxLocale object becomes the new current global locale for the
110application and so all subsequent calls to wxGetTranslation() will try to
111translate the messages using the message catalogs for this locale.
112
113Returns TRUE on success or FALSE if the given locale couldn't be set.
114
115\membersection{wxLocale::IsLoaded}\label{wxlocaleisloaded}
116
dbdb39b2
JS
117\constfunc{bool}{IsLoaded}{\param{const char* }{domain}}
118
119Check if the given catalog is loaded, and returns TRUE if it is.
c1b7dab0 120
dbdb39b2
JS
121According to GNU gettext tradition, each catalog
122normally corresponds to 'domain' which is more or less the application name.
c1b7dab0
VZ
123
124See also: \helpref{AddCatalog}{wxlocaleaddcatalog}
125
126\membersection{wxLocale::GetName}\label{wxlocalegetname}
127
128\constfunc{const wxString\&}{GetName}{\void}
129
130Returns the current short name for the locale (as given to the constructor or
131the Init() function).
132
133\membersection{wxLocale::GetString}\label{wxlocalegetstring}
134
135\constfunc{const char*}{GetString}{\param{const char }{*szOrigString}, \param{const char }{*szDomain = NULL}}
136
dbdb39b2 137Retrieves the translation for a string in all loaded domains unless the szDomain
c1b7dab0
VZ
138parameter is specified (and then only this catalog/domain is searched).
139
140Returns original string if translation is not available
141(in this case an error message is generated the first time
142a string is not found; use \helpref{wxLogNull}{wxlogoverview} to suppress it).
143
dbdb39b2
JS
144\wxheading{Remarks}
145
146Domains are searched in the last to first order, i.e. catalogs
c1b7dab0 147added later override those added before.
dbdb39b2 148