]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/locale.tex
fixed sending 2 events (normal and bogus cancel one) when ending to edit a tree ctrl...
[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 5
fc2171bd 6In wxWidgets this class manages message catalogs which contain the translations
c1b7dab0
VZ
7of the strings used to the current language.
8
0a67eeac
MB
9\perlnote{In wxPerl you can't use the '\_' function name, so
10the {\tt Wx::Locale} module can export the {\tt gettext} and
11{\tt gettext\_noop} under any given name.
d2c2afc9 12
5873607e 13\begin{verbatim}
0a67eeac
MB
14 # this imports gettext ( equivalent to Wx::GetTranslation
15 # and gettext_noop ( a noop )
16 # into your module
17 use Wx::Locale qw(:default);
5873607e
VZ
18
19 # ....
20
0a67eeac
MB
21 # use the functions
22 print gettext( ``Panic!'' );
5873607e 23
0a67eeac
MB
24 button = Wx::Button->new( window, -1, gettext( ``Label'' ) );
25\end{verbatim}
d2c2afc9 26
0a67eeac
MB
27If you need to translate a lot of strings, then adding gettext( ) around
28each one is a long task ( that is why \_( ) was introduced ), so just choose
29a shorter name for gettext:
d2c2afc9 30
0a67eeac
MB
31\begin{verbatim}
32 #
33 use Wx::Locale 'gettext' => 't',
34 'gettext_noop' => 'gettext_noop';
35
36 # ...
37
38 # use the functions
39 print t( ``Panic!!'' );
40
41 # ...
5873607e 42\end{verbatim}
d2c2afc9 43}%
5873607e 44
c1b7dab0
VZ
45\wxheading{Derived from}
46
47No base class
48
ed93168b
VZ
49\wxheading{See also}
50
5db9e0e8
VZ
51\helpref{Internationalization overview}{internationalization},\\
52\helpref{Internat sample}{sampleinternat}
ed93168b 53
dbdb39b2
JS
54\wxheading{Include files}
55
56<wx/intl.h>
57
8ec77cd7 58
c1b7dab0
VZ
59\latexignore{\rtfignore{\wxheading{Members}}}
60
8ec77cd7
VS
61
62\membersection{Supported languages}\label{wxlanguage}
63
64The following wxLanguage constants may be used to specify the language
65in \helpref{Init}{wxlocaleinit} and are returned by
66\helpref{GetSystemLanguage}{wxlocalegetsystemlanguage}:
67
41780009
VS
68
69
70%% --- --- --- generated code begins here --- --- ---
71
8ec77cd7
VS
72%% This enum is generated by misc/languages/genlang.py
73%% When making changes, please put them into misc/languages/langtabl.txt
74\begin{itemize}\itemsep=0pt
e7240349
GT
75\item wxLANGUAGE\_DEFAULT -- user's default language as obtained from the operating system
76\item wxLANGUAGE\_UNKNOWN -- returned by \helpref{GetSystemLanguage}{wxlocalegetsystemlanguage}
8ec77cd7 77if it fails to detect the default language
e7240349 78\item wxLANGUAGE\_USER\_DEFINED -- user defined languages' integer identifiers should start from
8ec77cd7
VS
79this
80\item wxLANGUAGE\_ABKHAZIAN
81\item wxLANGUAGE\_AFAR
82\item wxLANGUAGE\_AFRIKAANS
83\item wxLANGUAGE\_ALBANIAN
84\item wxLANGUAGE\_AMHARIC
85\item wxLANGUAGE\_ARABIC
86\item wxLANGUAGE\_ARABIC\_ALGERIA
87\item wxLANGUAGE\_ARABIC\_BAHRAIN
88\item wxLANGUAGE\_ARABIC\_EGYPT
89\item wxLANGUAGE\_ARABIC\_IRAQ
90\item wxLANGUAGE\_ARABIC\_JORDAN
91\item wxLANGUAGE\_ARABIC\_KUWAIT
92\item wxLANGUAGE\_ARABIC\_LEBANON
93\item wxLANGUAGE\_ARABIC\_LIBYA
94\item wxLANGUAGE\_ARABIC\_MOROCCO
95\item wxLANGUAGE\_ARABIC\_OMAN
96\item wxLANGUAGE\_ARABIC\_QATAR
97\item wxLANGUAGE\_ARABIC\_SAUDI\_ARABIA
98\item wxLANGUAGE\_ARABIC\_SUDAN
99\item wxLANGUAGE\_ARABIC\_SYRIA
100\item wxLANGUAGE\_ARABIC\_TUNISIA
101\item wxLANGUAGE\_ARABIC\_UAE
102\item wxLANGUAGE\_ARABIC\_YEMEN
103\item wxLANGUAGE\_ARMENIAN
104\item wxLANGUAGE\_ASSAMESE
105\item wxLANGUAGE\_AYMARA
106\item wxLANGUAGE\_AZERI
107\item wxLANGUAGE\_AZERI\_CYRILLIC
108\item wxLANGUAGE\_AZERI\_LATIN
109\item wxLANGUAGE\_BASHKIR
110\item wxLANGUAGE\_BASQUE
111\item wxLANGUAGE\_BELARUSIAN
112\item wxLANGUAGE\_BENGALI
113\item wxLANGUAGE\_BHUTANI
114\item wxLANGUAGE\_BIHARI
115\item wxLANGUAGE\_BISLAMA
116\item wxLANGUAGE\_BRETON
117\item wxLANGUAGE\_BULGARIAN
118\item wxLANGUAGE\_BURMESE
119\item wxLANGUAGE\_CAMBODIAN
120\item wxLANGUAGE\_CATALAN
121\item wxLANGUAGE\_CHINESE
122\item wxLANGUAGE\_CHINESE\_SIMPLIFIED
123\item wxLANGUAGE\_CHINESE\_TRADITIONAL
124\item wxLANGUAGE\_CHINESE\_HONGKONG
125\item wxLANGUAGE\_CHINESE\_MACAU
126\item wxLANGUAGE\_CHINESE\_SINGAPORE
127\item wxLANGUAGE\_CHINESE\_TAIWAN
128\item wxLANGUAGE\_CORSICAN
129\item wxLANGUAGE\_CROATIAN
130\item wxLANGUAGE\_CZECH
131\item wxLANGUAGE\_DANISH
132\item wxLANGUAGE\_DUTCH
133\item wxLANGUAGE\_DUTCH\_BELGIAN
134\item wxLANGUAGE\_ENGLISH
135\item wxLANGUAGE\_ENGLISH\_UK
136\item wxLANGUAGE\_ENGLISH\_US
137\item wxLANGUAGE\_ENGLISH\_AUSTRALIA
138\item wxLANGUAGE\_ENGLISH\_BELIZE
139\item wxLANGUAGE\_ENGLISH\_BOTSWANA
140\item wxLANGUAGE\_ENGLISH\_CANADA
141\item wxLANGUAGE\_ENGLISH\_CARIBBEAN
142\item wxLANGUAGE\_ENGLISH\_DENMARK
143\item wxLANGUAGE\_ENGLISH\_EIRE
144\item wxLANGUAGE\_ENGLISH\_JAMAICA
145\item wxLANGUAGE\_ENGLISH\_NEW\_ZEALAND
146\item wxLANGUAGE\_ENGLISH\_PHILIPPINES
147\item wxLANGUAGE\_ENGLISH\_SOUTH\_AFRICA
148\item wxLANGUAGE\_ENGLISH\_TRINIDAD
149\item wxLANGUAGE\_ENGLISH\_ZIMBABWE
150\item wxLANGUAGE\_ESPERANTO
151\item wxLANGUAGE\_ESTONIAN
152\item wxLANGUAGE\_FAEROESE
153\item wxLANGUAGE\_FARSI
154\item wxLANGUAGE\_FIJI
155\item wxLANGUAGE\_FINNISH
156\item wxLANGUAGE\_FRENCH
157\item wxLANGUAGE\_FRENCH\_BELGIAN
158\item wxLANGUAGE\_FRENCH\_CANADIAN
159\item wxLANGUAGE\_FRENCH\_LUXEMBOURG
160\item wxLANGUAGE\_FRENCH\_MONACO
161\item wxLANGUAGE\_FRENCH\_SWISS
162\item wxLANGUAGE\_FRISIAN
163\item wxLANGUAGE\_GALICIAN
164\item wxLANGUAGE\_GEORGIAN
165\item wxLANGUAGE\_GERMAN
166\item wxLANGUAGE\_GERMAN\_AUSTRIAN
167\item wxLANGUAGE\_GERMAN\_BELGIUM
168\item wxLANGUAGE\_GERMAN\_LIECHTENSTEIN
169\item wxLANGUAGE\_GERMAN\_LUXEMBOURG
170\item wxLANGUAGE\_GERMAN\_SWISS
171\item wxLANGUAGE\_GREEK
172\item wxLANGUAGE\_GREENLANDIC
173\item wxLANGUAGE\_GUARANI
174\item wxLANGUAGE\_GUJARATI
175\item wxLANGUAGE\_HAUSA
176\item wxLANGUAGE\_HEBREW
177\item wxLANGUAGE\_HINDI
178\item wxLANGUAGE\_HUNGARIAN
179\item wxLANGUAGE\_ICELANDIC
180\item wxLANGUAGE\_INDONESIAN
181\item wxLANGUAGE\_INTERLINGUA
182\item wxLANGUAGE\_INTERLINGUE
183\item wxLANGUAGE\_INUKTITUT
184\item wxLANGUAGE\_INUPIAK
185\item wxLANGUAGE\_IRISH
186\item wxLANGUAGE\_ITALIAN
187\item wxLANGUAGE\_ITALIAN\_SWISS
188\item wxLANGUAGE\_JAPANESE
189\item wxLANGUAGE\_JAVANESE
190\item wxLANGUAGE\_KANNADA
191\item wxLANGUAGE\_KASHMIRI
192\item wxLANGUAGE\_KASHMIRI\_INDIA
193\item wxLANGUAGE\_KAZAKH
194\item wxLANGUAGE\_KERNEWEK
195\item wxLANGUAGE\_KINYARWANDA
196\item wxLANGUAGE\_KIRGHIZ
197\item wxLANGUAGE\_KIRUNDI
198\item wxLANGUAGE\_KONKANI
199\item wxLANGUAGE\_KOREAN
200\item wxLANGUAGE\_KURDISH
201\item wxLANGUAGE\_LAOTHIAN
202\item wxLANGUAGE\_LATIN
203\item wxLANGUAGE\_LATVIAN
204\item wxLANGUAGE\_LINGALA
205\item wxLANGUAGE\_LITHUANIAN
206\item wxLANGUAGE\_MACEDONIAN
207\item wxLANGUAGE\_MALAGASY
208\item wxLANGUAGE\_MALAY
209\item wxLANGUAGE\_MALAYALAM
210\item wxLANGUAGE\_MALAY\_BRUNEI\_DARUSSALAM
211\item wxLANGUAGE\_MALAY\_MALAYSIA
212\item wxLANGUAGE\_MALTESE
213\item wxLANGUAGE\_MANIPURI
214\item wxLANGUAGE\_MAORI
215\item wxLANGUAGE\_MARATHI
216\item wxLANGUAGE\_MOLDAVIAN
217\item wxLANGUAGE\_MONGOLIAN
218\item wxLANGUAGE\_NAURU
219\item wxLANGUAGE\_NEPALI
220\item wxLANGUAGE\_NEPALI\_INDIA
221\item wxLANGUAGE\_NORWEGIAN\_BOKMAL
222\item wxLANGUAGE\_NORWEGIAN\_NYNORSK
223\item wxLANGUAGE\_OCCITAN
224\item wxLANGUAGE\_ORIYA
225\item wxLANGUAGE\_OROMO
226\item wxLANGUAGE\_PASHTO
227\item wxLANGUAGE\_POLISH
228\item wxLANGUAGE\_PORTUGUESE
229\item wxLANGUAGE\_PORTUGUESE\_BRAZILIAN
230\item wxLANGUAGE\_PUNJABI
231\item wxLANGUAGE\_QUECHUA
232\item wxLANGUAGE\_RHAETO\_ROMANCE
233\item wxLANGUAGE\_ROMANIAN
234\item wxLANGUAGE\_RUSSIAN
235\item wxLANGUAGE\_RUSSIAN\_UKRAINE
236\item wxLANGUAGE\_SAMOAN
237\item wxLANGUAGE\_SANGHO
238\item wxLANGUAGE\_SANSKRIT
239\item wxLANGUAGE\_SCOTS\_GAELIC
240\item wxLANGUAGE\_SERBIAN
241\item wxLANGUAGE\_SERBIAN\_CYRILLIC
242\item wxLANGUAGE\_SERBIAN\_LATIN
243\item wxLANGUAGE\_SERBO\_CROATIAN
244\item wxLANGUAGE\_SESOTHO
245\item wxLANGUAGE\_SETSWANA
246\item wxLANGUAGE\_SHONA
247\item wxLANGUAGE\_SINDHI
248\item wxLANGUAGE\_SINHALESE
249\item wxLANGUAGE\_SISWATI
250\item wxLANGUAGE\_SLOVAK
251\item wxLANGUAGE\_SLOVENIAN
252\item wxLANGUAGE\_SOMALI
253\item wxLANGUAGE\_SPANISH
254\item wxLANGUAGE\_SPANISH\_ARGENTINA
255\item wxLANGUAGE\_SPANISH\_BOLIVIA
256\item wxLANGUAGE\_SPANISH\_CHILE
257\item wxLANGUAGE\_SPANISH\_COLOMBIA
258\item wxLANGUAGE\_SPANISH\_COSTA\_RICA
259\item wxLANGUAGE\_SPANISH\_DOMINICAN\_REPUBLIC
260\item wxLANGUAGE\_SPANISH\_ECUADOR
261\item wxLANGUAGE\_SPANISH\_EL\_SALVADOR
262\item wxLANGUAGE\_SPANISH\_GUATEMALA
263\item wxLANGUAGE\_SPANISH\_HONDURAS
264\item wxLANGUAGE\_SPANISH\_MEXICAN
265\item wxLANGUAGE\_SPANISH\_MODERN
266\item wxLANGUAGE\_SPANISH\_NICARAGUA
267\item wxLANGUAGE\_SPANISH\_PANAMA
268\item wxLANGUAGE\_SPANISH\_PARAGUAY
269\item wxLANGUAGE\_SPANISH\_PERU
270\item wxLANGUAGE\_SPANISH\_PUERTO\_RICO
271\item wxLANGUAGE\_SPANISH\_URUGUAY
272\item wxLANGUAGE\_SPANISH\_US
273\item wxLANGUAGE\_SPANISH\_VENEZUELA
274\item wxLANGUAGE\_SUNDANESE
275\item wxLANGUAGE\_SWAHILI
276\item wxLANGUAGE\_SWEDISH
277\item wxLANGUAGE\_SWEDISH\_FINLAND
278\item wxLANGUAGE\_TAGALOG
279\item wxLANGUAGE\_TAJIK
280\item wxLANGUAGE\_TAMIL
281\item wxLANGUAGE\_TATAR
282\item wxLANGUAGE\_TELUGU
283\item wxLANGUAGE\_THAI
284\item wxLANGUAGE\_TIBETAN
285\item wxLANGUAGE\_TIGRINYA
286\item wxLANGUAGE\_TONGA
287\item wxLANGUAGE\_TSONGA
288\item wxLANGUAGE\_TURKISH
289\item wxLANGUAGE\_TURKMEN
290\item wxLANGUAGE\_TWI
291\item wxLANGUAGE\_UIGHUR
292\item wxLANGUAGE\_UKRAINIAN
293\item wxLANGUAGE\_URDU
294\item wxLANGUAGE\_URDU\_INDIA
295\item wxLANGUAGE\_URDU\_PAKISTAN
296\item wxLANGUAGE\_UZBEK
297\item wxLANGUAGE\_UZBEK\_CYRILLIC
298\item wxLANGUAGE\_UZBEK\_LATIN
299\item wxLANGUAGE\_VIETNAMESE
300\item wxLANGUAGE\_VOLAPUK
301\item wxLANGUAGE\_WELSH
302\item wxLANGUAGE\_WOLOF
303\item wxLANGUAGE\_XHOSA
304\item wxLANGUAGE\_YIDDISH
305\item wxLANGUAGE\_YORUBA
306\item wxLANGUAGE\_ZHUANG
307\item wxLANGUAGE\_ZULU
308\end{itemize}
309
41780009
VS
310%% --- --- --- generated code ends here --- --- ---
311
312
8ec77cd7
VS
313
314
c1b7dab0
VZ
315\membersection{wxLocale::wxLocale}\label{wxlocaledefctor}
316
317\func{}{wxLocale}{\void}
318
319This is the default constructor and it does nothing to initialize the object:
dbdb39b2 320\helpref{Init()}{wxlocaleinit} must be used to do that.
c1b7dab0 321
8ec77cd7
VS
322\func{}{wxLocale}{\param{int }{language}, \param{int }{flags =
323 wxLOCALE\_LOAD\_DEFAULT | wxLOCALE\_CONV\_ENCODING}}
324
325See \helpref{Init()}{wxlocaleinit} for parameters description.
326
cc81d32f 327\func{}{wxLocale}{\param{const char }{*szName}, \param{const char }{*szShort = NULL}, \param{const char }{*szLocale = NULL}, \param{bool }{bLoadDefault = true}, \param{bool }{bConvertEncoding = false}}
c1b7dab0 328
8ec77cd7 329See \helpref{Init()}{wxlocaleinit} for parameters description.
c1b7dab0
VZ
330
331The call of this function has several global side effects which you should
332understand: first of all, the application locale is changed - note that this
333will affect many of standard C library functions such as printf() or strftime().
334Second, this wxLocale object becomes the new current global locale for the
335application and so all subsequent calls to wxGetTranslation() will try to
336translate the messages using the message catalogs for this locale.
337
8ec77cd7 338
c1b7dab0
VZ
339\membersection{wxLocale::\destruct{wxLocale}}\label{wxlocaledtor}
340
341\func{}{\destruct{wxLocale}}{\void}
342
dbdb39b2 343The destructor, like the constructor, also has global side effects: the previously
c1b7dab0
VZ
344set locale is restored and so the changes described in
345\helpref{Init}{wxlocaleinit} documentation are rolled back.
346
c1b7dab0
VZ
347\membersection{wxLocale::AddCatalog}\label{wxlocaleaddcatalog}
348
349\func{bool}{AddCatalog}{\param{const char }{*szDomain}}
350
f6bcfd97 351Add a catalog for use with the current locale: it is searched for in standard
dbdb39b2 352places (current directory first, then the system one), but you may also prepend
c1b7dab0 353additional directories to the search path with
dbdb39b2 354\helpref{AddCatalogLookupPathPrefix()}{wxlocaleaddcataloglookuppathprefix}.
c1b7dab0
VZ
355
356All loaded catalogs will be used for message lookup by GetString() for the
357current locale.
358
cc81d32f 359Returns true if catalog was successfully loaded, false otherwise (which might
c1b7dab0
VZ
360mean that the catalog is not found or that it isn't in the correct format).
361
362\membersection{wxLocale::AddCatalogLookupPathPrefix}\label{wxlocaleaddcataloglookuppathprefix}
363
364\func{void}{AddCatalogLookupPathPrefix}{\param{const wxString\& }{prefix}}
365
366Add a prefix to the catalog lookup path: the message catalog files will be
367looked up under prefix/<lang>/LC\_MESSAGES, prefix/LC\_MESSAGES and prefix
368(in this order).
369
370This only applies to subsequent invocations of AddCatalog()!
371
8ec77cd7
VS
372\membersection{wxLocale::AddLanguage}\label{wxlocaleaddlanguage}
373
41780009 374\func{static void}{AddLanguage}{\param{const wxLanguageInfo\& }{info}}
8ec77cd7
VS
375
376Adds custom, user-defined language to the database of known languages. This
2edb0bde 377database is used in conjunction with the first form of
8ec77cd7
VS
378\helpref{Init}{wxlocaleinit}.
379
380wxLanguageInfo is defined as follows:
381
382\begin{verbatim}
383struct WXDLLEXPORT wxLanguageInfo
384{
385 int Language; // wxLanguage id
386 wxString CanonicalName; // Canonical name, e.g. fr_FR
387#ifdef __WIN32__
388 wxUint32 WinLang, WinSublang; // Win32 language identifiers
389 // (LANG_xxxx, SUBLANG_xxxx)
390#endif
391 wxString Description; // human-readable name of the language
392};
393\end{verbatim}
394
395
396{\it Language} should be greater than wxLANGUAGE\_USER\_DEFINED.
397
0a67eeac
MB
398\perlnote{In wxPerl Wx::LanguageInfo has only one method:\par
399Wx::LanguageInfo->new( language, canonicalName, WinLang, WinSubLang, Description )}
8ec77cd7 400
9d1e1be4
VZ
401\membersection{wxLocale::FindLanguageInfo}{wxlocalefindlanguageinfo}
402
403\constfunc{static wxLanguageInfo *}{FindLanguageInfo}{\param{const wxString\& }{locale}}
404
405This function may be used to find the language description structure for the
406given locale, specified either as a two letter ISO language code (for example,
407"pt"), a language code followed by the country code ("pt\_BR") or a full, human
408readable, language description ("Portuguese-Brazil").
409
410Returns the information for the given language or {\tt NULL} if this language
411is unknown. Note that even if the returned pointer is valid, the caller should
412{\it not} delete it.
413
414\wxheading{See also}
415
416\helpref{GetLanguageInfo}{wxlocalegetlanguageinfo}
8ec77cd7
VS
417
418\membersection{wxLocale::GetCanonicalName}\label{wxlocalegetcanonicalname}
419
420\constfunc{wxString}{GetSysName}{\void}
421
422Returns the canonical form of current locale name. Canonical form is the
423one that is used on UNIX systems: it is a two- or five-letter string in xx or
424xx\_YY format, where xx is ISO 639 code of language and YY is ISO 3166 code of
425the country. Examples are "en", "en\_GB", "en\_US" or "fr\_FR".
426
427This form is internally used when looking up message catalogs.
428
429Compare \helpref{GetSysName}{wxlocalegetsysname}.
430
431
432
433\membersection{wxLocale::GetLanguage}\label{wxlocalegetlanguage}
434
435\constfunc{int}{GetLanguage}{\void}
436
437Returns \helpref{wxLanguage}{wxlanguage} constant of current language.
438Note that you can call this function only if you used the form of
439\helpref{Init}{wxlocaleinit} that takes wxLanguage argument.
440
14f8fa9d
VZ
441\membersection{wxLocale::GetLanguageInfo}\label{wxlocalegetlanguageinfo}
442
443\constfunc{static wxLanguageInfo *}{GetLanguageInfo}{\param{int }{lang}}
444
445Returns a pointer to wxLanguageInfo structure containing information about the
446given language or {\tt NULL} if this language is unknown. Note that even if the
447returned pointer is valid, the caller should {\it not} delete it.
448
449See \helpref{AddLanguage}{wxlocaleaddlanguage} for the wxLanguageInfo
450description.
451
4a6e4a46
VS
452\membersection{wxLocale::GetLanguageName}\label{wxlocalegetlanguagename}
453
454\constfunc{static wxString}{GetLanguageName}{\param{int }{lang}}
455
456Returns English name of the given language or empty string if this
457language is unknown.
458
8ec77cd7 459
3ca6a5f0
BP
460\membersection{wxLocale::GetLocale}\label{wxlocalegetlocale}
461
462\constfunc{const char*}{GetLocale}{\void}
463
464Returns the locale name as passed to the constructor or
8ec77cd7
VS
465\helpref{Init()}{wxlocaleinit}. This is full, human-readable name,
466e.g. "English" or "French".
467
3ca6a5f0
BP
468
469\membersection{wxLocale::GetName}\label{wxlocalegetname}
470
471\constfunc{const wxString\&}{GetName}{\void}
472
473Returns the current short name for the locale (as given to the constructor or
474the Init() function).
475
476\membersection{wxLocale::GetString}\label{wxlocalegetstring}
477
478\constfunc{const char*}{GetString}{\param{const char }{*szOrigString}, \param{const char }{*szDomain = NULL}}
479
6f80247a
VS
480\constfunc{const char*}{GetString}{\param{const char }{*szOrigString}, \param{const char }{*szOrigString2}, \param{size\_t }{n}, \param{const char }{*szDomain = NULL}}
481
3ca6a5f0
BP
482Retrieves the translation for a string in all loaded domains unless the szDomain
483parameter is specified (and then only this catalog/domain is searched).
484
485Returns original string if translation is not available
486(in this case an error message is generated the first time
487a string is not found; use \helpref{wxLogNull}{wxlogoverview} to suppress it).
488
6f80247a
VS
489The second form is used when retrieving translation of string that has
490different singular and plural form in English or different plural forms in some
9e3b313e
VS
491other language. It takes two extra arguments: \arg{szOrigString}
492parameter must contain the singular form of the string to be converted.
493It is also used as the key for the search in the catalog.
494The \arg{szOrigString2} parameter is the plural form (in English).
495The parameter \arg{n} is used to determine the plural form. If no
496message catalog is found \arg{szOrigString} is returned if `n == 1',
497otherwise \arg{szOrigString2}.
498See \urlref{GNU gettext manual}{http://www.gnu.org/manual/gettext/html\_chapter/gettext\_10.html\#SEC150} for additional information on plural forms handling.
6f80247a 499
3ca6a5f0
BP
500\wxheading{Remarks}
501
502Domains are searched in the last to first order, i.e. catalogs
503added later override those added before.
504
8ec77cd7
VS
505\membersection{wxLocale::GetSysName}\label{wxlocalegetsysname}
506
507\constfunc{wxString}{GetSysName}{\void}
508
509Returns current platform-specific locale name as passed to setlocale().
510
511Compare \helpref{GetCanonicalName}{wxlocalegetcanonicalname}.
512
513
dccce9ea
VZ
514\membersection{wxLocale::GetSystemEncoding}\label{wxlocalegetsystemencoding}
515
516\constfunc{static wxFontEncoding}{GetSystemEncoding}{\void}
517
518Tries to detect the user's default font encoding.
519Returns \helpref{wxFontEncoding}{wxfont} value or
520{\bf wxFONTENCODING\_SYSTEM} if it couldn't be determined.
521
522\membersection{wxLocale::GetSystemEncodingName}\label{wxlocalegetsystemencodingname}
523
524\constfunc{static wxString}{GetSystemEncodingName}{\void}
525
526Tries to detect the name of the user's default font encoding. This string isn't
527particularly useful for the application as its form is platform-dependent and
528so you should probably use
529\helpref{GetSystemEncoding}{wxlocalegetsystemencoding} instead.
530
531Returns a user-readable string value or an empty string if it couldn't be
532determined.
533
8ec77cd7
VS
534\membersection{wxLocale::GetSystemLanguage}\label{wxlocalegetsystemlanguage}
535
41780009 536\constfunc{static int}{GetSystemLanguage}{\void}
8ec77cd7
VS
537
538Tries to detect the user's default language setting.
539Returns \helpref{wxLanguage}{wxlanguage} value or
540 {\bf wxLANGUAGE\_UNKNOWN} if the language-guessing algorithm failed.
541
542
c1b7dab0
VZ
543\membersection{wxLocale::Init}\label{wxlocaleinit}
544
8ec77cd7
VS
545
546\func{bool}{Init}{\param{int }{language = wxLANGUAGE\_DEFAULT}, \param{int }{flags =
547 wxLOCALE\_LOAD\_DEFAULT | wxLOCALE\_CONV\_ENCODING}}
548
cc81d32f 549\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}}
c1b7dab0 550
8ec77cd7
VS
551The second form is deprecated, use the first one unless you know what you are
552doing.
dbdb39b2 553
8ec77cd7
VS
554
555\wxheading{Parameters}
556
557\docparam{language}{\helpref{wxLanguage}{wxlanguage} identifier of the locale.
558wxLANGUAGE\_DEFAULT has special meaning -- wxLocale will use system's default
559language (see \helpref{GetSystemLanguage}{wxlocalegetsystemlanguage}).}
560
561\docparam{flags}{Combination of the following:
75173186
JS
562
563
8ec77cd7
VS
564\begin{twocollist}\itemsep=0pt
565\twocolitem{\windowstyle{wxLOCALE\_LOAD\_DEFAULT}}{Load the message catalog
fc2171bd 566for the given locale containing the translations of standard wxWidgets messages
8ec77cd7
VS
567automatically.}
568\twocolitem{\windowstyle{wxLOCALE\_CONV\_ENCODING}}{Automatically convert message
ae71a6e8 569catalogs to platform's default encoding. Note that it will do only basic
8ec77cd7
VS
570conversion between well-known pair like iso8859-1 and windows-1252 or
571iso8859-2 and windows-1250. See \helpref{Writing non-English applications}{nonenglishoverview} for detailed
ae71a6e8 572description of this behaviour. Note that this flag is meaningless in Unicode build.}
8ec77cd7
VS
573\end{twocollist}
574}
575
576\docparam{szName}{The name of the locale. Only used in diagnostic messages.}
577
578\docparam{szShort}{The standard 2 letter locale abbreviation and is used as the
579directory prefix when looking for the message catalog files.}
580
581\docparam{szLocale}{The parameter for the call to setlocale(). Note that it is
582platform-specific.}
583
cc81d32f 584\docparam{bLoadDefault}{May be set to false to prevent loading of the message catalog
fc2171bd 585for the given locale containing the translations of standard wxWidgets messages.
8ec77cd7
VS
586This parameter would be rarely used in normal circumstances.}
587
cc81d32f 588\docparam{bConvertEncoding}{May be set to true to do automatic conversion of message
a4313e3b
VS
589catalogs to platform's native encoding. Note that it will do only basic
590conversion between well-known pair like iso8859-1 and windows-1252 or
591iso8859-2 and windows-1250.
592See \helpref{Writing non-English applications}{nonenglishoverview} for detailed
8ec77cd7
VS
593description of this behaviour.}
594
c1b7dab0
VZ
595
596The call of this function has several global side effects which you should
597understand: first of all, the application locale is changed - note that this
598will affect many of standard C library functions such as printf() or strftime().
599Second, this wxLocale object becomes the new current global locale for the
600application and so all subsequent calls to wxGetTranslation() will try to
601translate the messages using the message catalogs for this locale.
602
cc81d32f 603Returns true on success or false if the given locale couldn't be set.
c1b7dab0
VZ
604
605\membersection{wxLocale::IsLoaded}\label{wxlocaleisloaded}
606
dbdb39b2
JS
607\constfunc{bool}{IsLoaded}{\param{const char* }{domain}}
608
cc81d32f 609Check if the given catalog is loaded, and returns true if it is.
c1b7dab0 610
dbdb39b2
JS
611According to GNU gettext tradition, each catalog
612normally corresponds to 'domain' which is more or less the application name.
c1b7dab0
VZ
613
614See also: \helpref{AddCatalog}{wxlocaleaddcatalog}
615
3ca6a5f0 616\membersection{wxLocale::IsOk}\label{wxlocaleisok}
c1b7dab0 617
3ca6a5f0 618\constfunc{bool}{IsOk}{\void}
dbdb39b2 619
cc81d32f 620Returns true if the locale could be set successfully.
dbdb39b2 621