1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxLocale
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
10 // --- --- --- generated code begins here --- --- ---
13 The languages supported by wxLocale.
15 This enum is generated by misc/languages/genlang.py
16 When making changes, please put them into misc/languages/langtabl.txt
20 /// User's default/preffered language as got from OS.
23 /// Unknown language, returned if wxLocale::GetSystemLanguage fails.
32 wxLANGUAGE_ARABIC_ALGERIA
,
33 wxLANGUAGE_ARABIC_BAHRAIN
,
34 wxLANGUAGE_ARABIC_EGYPT
,
35 wxLANGUAGE_ARABIC_IRAQ
,
36 wxLANGUAGE_ARABIC_JORDAN
,
37 wxLANGUAGE_ARABIC_KUWAIT
,
38 wxLANGUAGE_ARABIC_LEBANON
,
39 wxLANGUAGE_ARABIC_LIBYA
,
40 wxLANGUAGE_ARABIC_MOROCCO
,
41 wxLANGUAGE_ARABIC_OMAN
,
42 wxLANGUAGE_ARABIC_QATAR
,
43 wxLANGUAGE_ARABIC_SAUDI_ARABIA
,
44 wxLANGUAGE_ARABIC_SUDAN
,
45 wxLANGUAGE_ARABIC_SYRIA
,
46 wxLANGUAGE_ARABIC_TUNISIA
,
47 wxLANGUAGE_ARABIC_UAE
,
48 wxLANGUAGE_ARABIC_YEMEN
,
54 wxLANGUAGE_AZERI_CYRILLIC
,
55 wxLANGUAGE_AZERI_LATIN
,
58 wxLANGUAGE_BELARUSIAN
,
69 wxLANGUAGE_CHINESE_SIMPLIFIED
,
70 wxLANGUAGE_CHINESE_TRADITIONAL
,
71 wxLANGUAGE_CHINESE_HONGKONG
,
72 wxLANGUAGE_CHINESE_MACAU
,
73 wxLANGUAGE_CHINESE_SINGAPORE
,
74 wxLANGUAGE_CHINESE_TAIWAN
,
80 wxLANGUAGE_DUTCH_BELGIAN
,
82 wxLANGUAGE_ENGLISH_UK
,
83 wxLANGUAGE_ENGLISH_US
,
84 wxLANGUAGE_ENGLISH_AUSTRALIA
,
85 wxLANGUAGE_ENGLISH_BELIZE
,
86 wxLANGUAGE_ENGLISH_BOTSWANA
,
87 wxLANGUAGE_ENGLISH_CANADA
,
88 wxLANGUAGE_ENGLISH_CARIBBEAN
,
89 wxLANGUAGE_ENGLISH_DENMARK
,
90 wxLANGUAGE_ENGLISH_EIRE
,
91 wxLANGUAGE_ENGLISH_JAMAICA
,
92 wxLANGUAGE_ENGLISH_NEW_ZEALAND
,
93 wxLANGUAGE_ENGLISH_PHILIPPINES
,
94 wxLANGUAGE_ENGLISH_SOUTH_AFRICA
,
95 wxLANGUAGE_ENGLISH_TRINIDAD
,
96 wxLANGUAGE_ENGLISH_ZIMBABWE
,
104 wxLANGUAGE_FRENCH_BELGIAN
,
105 wxLANGUAGE_FRENCH_CANADIAN
,
106 wxLANGUAGE_FRENCH_LUXEMBOURG
,
107 wxLANGUAGE_FRENCH_MONACO
,
108 wxLANGUAGE_FRENCH_SWISS
,
113 wxLANGUAGE_GERMAN_AUSTRIAN
,
114 wxLANGUAGE_GERMAN_BELGIUM
,
115 wxLANGUAGE_GERMAN_LIECHTENSTEIN
,
116 wxLANGUAGE_GERMAN_LUXEMBOURG
,
117 wxLANGUAGE_GERMAN_SWISS
,
119 wxLANGUAGE_GREENLANDIC
,
125 wxLANGUAGE_HUNGARIAN
,
126 wxLANGUAGE_ICELANDIC
,
127 wxLANGUAGE_INDONESIAN
,
128 wxLANGUAGE_INTERLINGUA
,
129 wxLANGUAGE_INTERLINGUE
,
130 wxLANGUAGE_INUKTITUT
,
134 wxLANGUAGE_ITALIAN_SWISS
,
139 wxLANGUAGE_KASHMIRI_INDIA
,
142 wxLANGUAGE_KINYARWANDA
,
152 wxLANGUAGE_LITHUANIAN
,
153 wxLANGUAGE_MACEDONIAN
,
156 wxLANGUAGE_MALAYALAM
,
157 wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM
,
158 wxLANGUAGE_MALAY_MALAYSIA
,
163 wxLANGUAGE_MOLDAVIAN
,
164 wxLANGUAGE_MONGOLIAN
,
167 wxLANGUAGE_NEPALI_INDIA
,
168 wxLANGUAGE_NORWEGIAN_BOKMAL
,
169 wxLANGUAGE_NORWEGIAN_NYNORSK
,
175 wxLANGUAGE_PORTUGUESE
,
176 wxLANGUAGE_PORTUGUESE_BRAZILIAN
,
179 wxLANGUAGE_RHAETO_ROMANCE
,
182 wxLANGUAGE_RUSSIAN_UKRAINE
,
187 wxLANGUAGE_SCOTS_GAELIC
,
189 wxLANGUAGE_SERBIAN_CYRILLIC
,
190 wxLANGUAGE_SERBIAN_LATIN
,
191 wxLANGUAGE_SERBO_CROATIAN
,
196 wxLANGUAGE_SINHALESE
,
199 wxLANGUAGE_SLOVENIAN
,
202 wxLANGUAGE_SPANISH_ARGENTINA
,
203 wxLANGUAGE_SPANISH_BOLIVIA
,
204 wxLANGUAGE_SPANISH_CHILE
,
205 wxLANGUAGE_SPANISH_COLOMBIA
,
206 wxLANGUAGE_SPANISH_COSTA_RICA
,
207 wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC
,
208 wxLANGUAGE_SPANISH_ECUADOR
,
209 wxLANGUAGE_SPANISH_EL_SALVADOR
,
210 wxLANGUAGE_SPANISH_GUATEMALA
,
211 wxLANGUAGE_SPANISH_HONDURAS
,
212 wxLANGUAGE_SPANISH_MEXICAN
,
213 wxLANGUAGE_SPANISH_MODERN
,
214 wxLANGUAGE_SPANISH_NICARAGUA
,
215 wxLANGUAGE_SPANISH_PANAMA
,
216 wxLANGUAGE_SPANISH_PARAGUAY
,
217 wxLANGUAGE_SPANISH_PERU
,
218 wxLANGUAGE_SPANISH_PUERTO_RICO
,
219 wxLANGUAGE_SPANISH_URUGUAY
,
220 wxLANGUAGE_SPANISH_US
,
221 wxLANGUAGE_SPANISH_VENEZUELA
,
222 wxLANGUAGE_SUNDANESE
,
225 wxLANGUAGE_SWEDISH_FINLAND
,
240 wxLANGUAGE_UKRAINIAN
,
242 wxLANGUAGE_URDU_INDIA
,
243 wxLANGUAGE_URDU_PAKISTAN
,
245 wxLANGUAGE_UZBEK_CYRILLIC
,
246 wxLANGUAGE_UZBEK_LATIN
,
247 wxLANGUAGE_VALENCIAN
,
248 wxLANGUAGE_VIETNAMESE
,
258 /// For custom, user-defined languages.
259 wxLANGUAGE_USER_DEFINED
262 // --- --- --- generated code ends here --- --- ---
267 This is the layout direction stored in wxLanguageInfo and returned by
268 wxApp::GetLayoutDirection(), wxWindow::GetLayoutDirection(),
269 wxDC::GetLayoutDirection() for RTL (right-to-left) languages support.
271 enum wxLayoutDirection
274 wxLayout_LeftToRight
,
279 Encapsulates a ::wxLanguage indentifier together with OS-specific information
280 related to that language.
283 In wxPerl @c Wx::LanguageInfo has only one method:
284 - Wx::LanguageInfo->new(language, canonicalName, WinLang, WinSubLang, Description)
287 struct WXDLLIMPEXP_BASE wxLanguageInfo
290 /// It should be greater than @c wxLANGUAGE_USER_DEFINED when defining your own
291 /// language info structure.
294 /// Canonical name of the language, e.g. @c fr_FR.
295 wxString CanonicalName
;
299 Win32 language identifiers (LANG_xxxx, SUBLANG_xxxx).
303 wxUint32 WinLang
, WinSublang
;
306 /// Human-readable name of the language.
307 wxString Description
;
309 /// The layout direction used for this language.
310 wxLayoutDirection LayoutDirection
;
312 /// Return the LCID corresponding to this language.
314 wxUint32
GetLCID() const;
316 /// Return the locale name corresponding to this language usable with
317 /// @c setlocale() on the current system.
318 wxString
GetLocaleName() const;
323 The category of locale settings.
325 @see wxLocale::GetInfo()
327 enum wxLocaleCategory
329 /// Number formatting.
332 /// Date/time formatting.
335 /// Monetary values formatting.
339 Default category for the wxLocaleInfo value.
341 This category can be used for values which only make sense for a single
342 category, e.g. wxLOCALE_SHORT_DATE_FMT which can only be used with
343 wxLOCALE_CAT_DATE. As this is the default value of the second parameter
344 of wxLocale::GetInfo(), wxLOCALE_CAT_DATE can be omitted when asking
345 for wxLOCALE_SHORT_DATE_FMT value.
353 The values understood by wxLocale::GetInfo().
355 Note that for the @c wxLOCALE_*_FMT constants (the date and time formats),
356 the strings returned by wxLocale::GetInfo() use strftime() or,
357 equivalently, wxDateTime::Format() format. If the relevant format
358 couldn't be determined, an empty string is returned -- there is no
359 fallback value so that the application could determine the best course
360 of actions itself in such case.
362 All of these values are used with @c wxLOCALE_CAT_DATE in wxLocale::GetInfo() or,
363 more typically, with @c wxLOCALE_CAT_DEFAULT as they only apply to a single category.
368 The thousands separator.
370 This value can be used with either wxLOCALE_CAT_NUMBER or
371 wxLOCALE_CAT_MONEY categories.
373 wxLOCALE_THOUSANDS_SEP
,
376 The character used as decimal point.
378 This value can be used with either wxLOCALE_CAT_NUMBER or
379 wxLOCALE_CAT_MONEY categories.
381 wxLOCALE_DECIMAL_POINT
,
386 Notice that short and long date formats may be the same under POSIX
387 systems currently but may, and typically are, different under MSW or OS X.
391 wxLOCALE_SHORT_DATE_FMT
,
398 wxLOCALE_LONG_DATE_FMT
,
401 Date and time format.
405 wxLOCALE_DATE_TIME_FMT
,
419 wxLocale class encapsulates all language-dependent settings and is a
420 generalization of the C locale concept.
422 In wxWidgets this class manages message catalogs which contain the translations
423 of the strings used to the current language.
425 For a list of the supported languages, please see ::wxLanguage enum values.
426 These constants may be used to specify the language in wxLocale::Init and
427 are returned by wxLocale::GetSystemLanguage.
430 In wxPerl you can't use the '_' function name, so
431 the @c Wx::Locale module can export the @c gettext and
432 @c gettext_noop under any given name.
435 # this imports gettext ( equivalent to Wx::GetTranslation
436 # and gettext_noop ( a noop )
438 use Wx::Locale qw(:default);
443 print gettext( "Panic!" );
445 button = Wx::Button-new( window, -1, gettext( "Label" ) );
448 If you need to translate a lot of strings, then adding gettext( ) around
449 each one is a long task ( that is why _( ) was introduced ), so just choose
450 a shorter name for gettext:
453 use Wx::Locale 'gettext' = 't',
454 'gettext_noop' = 'gettext_noop';
459 print t( "Panic!!" );
468 @see @ref overview_i18n, @ref page_samples_internat, wxXLocale
474 This is the default constructor and it does nothing to initialize the object:
475 Init() must be used to do that.
480 See Init() for parameters description.
482 wxLocale(int language
,
483 int flags
= wxLOCALE_LOAD_DEFAULT
| wxLOCALE_CONV_ENCODING
);
486 See Init() for parameters description.
488 The call of this function has several global side effects which you should
489 understand: first of all, the application locale is changed - note that this
490 will affect many of standard C library functions such as printf() or strftime().
491 Second, this wxLocale object becomes the new current global locale for the
492 application and so all subsequent calls to ::wxGetTranslation() will try to
493 translate the messages using the message catalogs for this locale.
495 wxLocale(const wxString
& name
,
496 const wxString
& short = wxEmptyString
,
497 const wxString
& locale
= wxEmptyString
,
498 bool bLoadDefault
= true,
499 bool bConvertEncoding
= false);
502 The destructor, like the constructor, also has global side effects: the
503 previously set locale is restored and so the changes described in
504 Init() documentation are rolled back.
509 Add a catalog for use with the current locale: it is searched for in standard
510 places (current directory first, then the system one), but you may also prepend
511 additional directories to the search path with AddCatalogLookupPathPrefix().
513 All loaded catalogs will be used for message lookup by GetString() for
516 In this overload, @c msgid strings are assumed
517 to be in English and written only using 7-bit ASCII characters.
518 If you have to deal with non-English strings or 8-bit characters in the
519 source code, see the instructions in @ref overview_nonenglish.
522 @true if catalog was successfully loaded, @false otherwise (which might
523 mean that the catalog is not found or that it isn't in the correct format).
525 bool AddCatalog(const wxString
& domain
);
528 Add a catalog for use with the current locale: it is searched for in standard
529 places (current directory first, then the system one), but you may also prepend
530 additional directories to the search path with AddCatalogLookupPathPrefix().
532 All loaded catalogs will be used for message lookup by GetString() for
535 This overload takes two additional arguments, @a msgIdLanguage and @a msgIdCharset.
538 The catalog domain to add.
541 Specifies the language of "msgid" strings in source code
542 (i.e. arguments to GetString(), wxGetTranslation() and the _() macro).
543 It is used if AddCatalog() cannot find any catalog for current language:
544 if the language is same as source code language, then strings from source
545 code are used instead.
548 Lets you specify the charset used for msgids in sources
549 in case they use 8-bit characters (e.g. German or French strings).
550 This argument has no effect in Unicode build, because literals in sources are
551 Unicode strings; you have to use compiler-specific method of setting the right
552 charset when compiling with Unicode.
555 @true if catalog was successfully loaded, @false otherwise (which might
556 mean that the catalog is not found or that it isn't in the correct format).
558 bool AddCatalog(const wxString
& domain
, wxLanguage msgIdLanguage
,
559 const wxString
& msgIdCharset
);
562 Add a prefix to the catalog lookup path: the message catalog files will
563 be looked up under prefix/lang/LC_MESSAGES, prefix/lang and prefix
566 This only applies to subsequent invocations of AddCatalog().
568 static void AddCatalogLookupPathPrefix(const wxString
& prefix
);
571 Adds custom, user-defined language to the database of known languages.
572 This database is used in conjunction with the first form of Init().
574 static void AddLanguage(const wxLanguageInfo
& info
);
577 This function may be used to find the language description structure for the
578 given locale, specified either as a two letter ISO language code (for example,
579 "pt"), a language code followed by the country code ("pt_BR") or a full, human
580 readable, language description ("Portuguese-Brazil").
582 Returns the information for the given language or @NULL if this language
583 is unknown. Note that even if the returned pointer is valid, the caller
584 should @e not delete it.
586 @see GetLanguageInfo()
588 static const wxLanguageInfo
* FindLanguageInfo(const wxString
& locale
);
591 Returns the canonical form of current locale name. Canonical form is the
592 one that is used on UNIX systems: it is a two- or five-letter string in xx or
593 xx_YY format, where xx is ISO 639 code of language and YY is ISO 3166 code of
594 the country. Examples are "en", "en_GB", "en_US" or "fr_FR".
595 This form is internally used when looking up message catalogs.
596 Compare GetSysName().
598 wxString
GetCanonicalName() const;
601 Returns the header value for header @a header.
602 The search for @a header is case sensitive. If an @a domain is passed,
603 this domain is searched. Else all domains will be searched until a
604 header has been found.
606 The return value is the value of the header if found. Else this will be empty.
608 wxString
GetHeaderValue(const wxString
& header
,
609 const wxString
& domain
= wxEmptyString
) const;
612 Returns the ::wxLanguage constant of current language.
614 Note that you can call this function only if you used the form of
615 Init() that takes ::wxLanguage argument.
617 int GetLanguage() const;
620 Returns a pointer to wxLanguageInfo structure containing information about
621 the given language or @NULL if this language is unknown. Note that even if
622 the returned pointer is valid, the caller should @e not delete it.
624 See AddLanguage() for the wxLanguageInfo description.
625 As with Init(), @c wxLANGUAGE_DEFAULT has the special meaning if passed
626 as an argument to this function and in this case the result of
627 GetSystemLanguage() is used.
629 static const wxLanguageInfo
* GetLanguageInfo(int lang
);
632 Returns English name of the given language or empty string if this
635 See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT.
637 static wxString
GetLanguageName(int lang
);
640 Returns the locale name as passed to the constructor or Init().
642 This is a full, human-readable name, e.g. "English" or "French".
644 const wxString
& GetLocale() const;
647 Returns the current short name for the locale (as given to the constructor or
648 the Init() function).
650 const wxString
& GetName() const;
653 Retrieves the translation for a string in all loaded domains unless the @a domain
654 parameter is specified (and then only this catalog/domain is searched).
656 Returns original string if translation is not available (in this case an
657 error message is generated the first time a string is not found; use
658 wxLogNull to suppress it).
660 @remarks Domains are searched in the last to first order, i.e. catalogs
661 added later override those added before.
663 virtual const wxString
& GetString(const wxString
& origString
,
664 const wxString
& domain
= wxEmptyString
) const;
667 Retrieves the translation for a string in all loaded domains unless the @a domain
668 parameter is specified (and then only this catalog/domain is searched).
670 Returns original string if translation is not available (in this case an
671 error message is generated the first time a string is not found; use
672 wxLogNull to suppress it).
674 This form is used when retrieving translation of string that has different
675 singular and plural form in English or different plural forms in some
677 It takes two extra arguments: @a origString parameter must contain the
678 singular form of the string to be converted.
680 It is also used as the key for the search in the catalog.
681 The @a origString2 parameter is the plural form (in English).
683 The parameter @a n is used to determine the plural form.
684 If no message catalog is found @a origString is returned if 'n == 1',
685 otherwise @a origString2.
687 See GNU gettext manual for additional information on plural forms handling.
688 This method is called by the wxGetTranslation() function and _() macro.
690 @remarks Domains are searched in the last to first order, i.e. catalogs
691 added later override those added before.
693 virtual const wxString
& GetString(const wxString
& origString
,
694 const wxString
& origString2
, size_t n
,
695 const wxString
& domain
= wxEmptyString
) const;
698 Returns current platform-specific locale name as passed to setlocale().
699 Compare GetCanonicalName().
701 wxString
GetSysName() const;
704 Tries to detect the user's default font encoding.
705 Returns wxFontEncoding() value or @c wxFONTENCODING_SYSTEM if it
706 couldn't be determined.
708 static wxFontEncoding
GetSystemEncoding();
711 Tries to detect the name of the user's default font encoding.
712 This string isn't particularly useful for the application as its form is
713 platform-dependent and so you should probably use GetSystemEncoding() instead.
715 Returns a user-readable string value or an empty string if it couldn't be
718 static wxString
GetSystemEncodingName();
721 Tries to detect the user's default language setting.
723 Returns the ::wxLanguage value or @c wxLANGUAGE_UNKNOWN if the language-guessing
726 static int GetSystemLanguage();
729 Get the values of the given locale-dependent datum.
731 This function returns the value of the locale-specific option specified
732 by the given @a index.
735 One of the elements of wxLocaleInfo enum.
737 The category to use with the given index or wxLOCALE_CAT_DEFAULT if
738 the index can only apply to a single category.
740 The option value or empty string if the function failed.
742 static wxString
GetInfo(wxLocaleInfo index
,
743 wxLocaleCategory cat
= wxLOCALE_CAT_DEFAULT
);
746 Initializes the wxLocale instance.
748 The call of this function has several global side effects which you should
749 understand: first of all, the application locale is changed - note that
750 this will affect many of standard C library functions such as printf()
752 Second, this wxLocale object becomes the new current global locale for
753 the application and so all subsequent calls to wxGetTranslation() will
754 try to translate the messages using the message catalogs for this locale.
757 ::wxLanguage identifier of the locale.
758 @c wxLANGUAGE_DEFAULT has special meaning -- wxLocale will use system's
759 default language (see GetSystemLanguage()).
761 Combination of the following:
762 - wxLOCALE_LOAD_DEFAULT: Load the message catalog for the given locale
763 containing the translations of standard wxWidgets messages
765 - wxLOCALE_CONV_ENCODING: Automatically convert message catalogs to
766 platform's default encoding. Note that it will do only basic
767 conversion between well-known pair like iso8859-1 and windows-1252 or
768 iso8859-2 and windows-1250. See @ref overview_nonenglish for
769 detailed description of this behaviour.
770 Note that this flag is meaningless in Unicode build.
772 @return @true on success or @false if the given locale couldn't be set.
774 bool Init(int language
= wxLANGUAGE_DEFAULT
,
775 int flags
= wxLOCALE_LOAD_DEFAULT
| wxLOCALE_CONV_ENCODING
);
779 This form is deprecated, use the other one unless you know what you are doing.
782 The name of the locale. Only used in diagnostic messages.
784 The standard 2 letter locale abbreviation; it is used as the
785 directory prefix when looking for the message catalog files.
787 The parameter for the call to setlocale().
788 Note that it is platform-specific.
790 May be set to @false to prevent loading of the message catalog for the
791 given locale containing the translations of standard wxWidgets messages.
792 This parameter would be rarely used in normal circumstances.
793 @param bConvertEncoding
794 May be set to @true to do automatic conversion of message catalogs to
795 platform's native encoding. Note that it will do only basic conversion
796 between well-known pair like iso8859-1 and windows-1252 or iso8859-2
798 See @ref overview_nonenglish for detailed description of this behaviour.
800 bool Init(const wxString
& name
, const wxString
& short = wxEmptyString
,
801 const wxString
& locale
= wxEmptyString
, bool bLoadDefault
= true,
802 bool bConvertEncoding
= false);
805 Check whether the operating system and/or C run time environment supports
806 this locale. For example in Windows 2000 and Windows XP, support for many
807 locales is not installed by default. Returns @true if the locale is
810 The argument @a lang is the ::wxLanguage identifier. To obtain this for a
811 given a two letter ISO language code, use FindLanguageInfo() to obtain its
812 wxLanguageInfo structure.
813 See AddLanguage() for the wxLanguageInfo description.
817 static bool IsAvailable(int lang
);
820 Check if the given catalog is loaded, and returns @true if it is.
822 According to GNU gettext tradition, each catalog normally corresponds to
823 'domain' which is more or less the application name.
827 bool IsLoaded(const wxString
& domain
) const;
830 Returns @true if the locale could be set successfully.
838 // ============================================================================
839 // Global functions/macros
840 // ============================================================================
842 /** @addtogroup group_funcmacro_string */
846 This macro is identical to _() but for the plural variant of
849 @return A const wxString.
853 #define wxPLURAL(string, plural, n)
856 This macro doesn't do anything in the program code -- it simply expands to
857 the value of its argument.
859 However it does have a purpose which is to mark the literal strings for the
860 extraction into the message catalog created by @c xgettext program. Usually
861 this is achieved using _() but that macro not only marks the string for
862 extraction but also expands into a wxGetTranslation() call which means that
863 it cannot be used in some situations, notably for static array
866 Here is an example which should make it more clear: suppose that you have a
867 static array of strings containing the weekday names and which have to be
868 translated (note that it is a bad example, really, as wxDateTime already
869 can be used to get the localized week day names already). If you write:
872 static const char * const weekdays[] = { _("Mon"), ..., _("Sun") };
874 // use weekdays[n] as usual
877 The code wouldn't compile because the function calls are forbidden in the
878 array initializer. So instead you should do this:
881 static const char * const weekdays[] = { wxTRANSLATE("Mon"), ...,
882 wxTRANSLATE("Sun") };
884 // use wxGetTranslation(weekdays[n])
887 Note that although the code @b would compile if you simply omit
888 wxTRANSLATE() in the above, it wouldn't work as expected because there
889 would be no translations for the weekday names in the program message
890 catalog and wxGetTranslation() wouldn't find them.
892 @return A const wxChar*.
896 #define wxTRANSLATE(string)
899 This function returns the translation of @a string in the current
900 @c locale(). If the string is not found in any of the loaded message
901 catalogs (see @ref overview_i18n), the original string is returned. In
902 debug build, an error message is logged -- this should help to find the
903 strings which were not yet translated. If @a domain is specified then only
904 that domain/catalog is searched for a matching string. As this function is
905 used very often, an alternative (and also common in Unix world) syntax is
906 provided: the _() macro is defined to do the same thing as
909 This function calls wxLocale::GetString().
911 @note This function is not suitable for literal strings in Unicode builds
912 since the literal strings must be enclosed into _T() or wxT() macro
913 which makes them unrecognised by @c xgettext, and so they are not
914 extracted to the message catalog. Instead, use the _() and wxPLURAL()
915 macro for all literal strings.
917 @see wxGetTranslation(const wxString&, const wxString&, size_t, const wxString&)
921 const wxString
& wxGetTranslation(const wxString
& string
,
922 const wxString
& domain
= wxEmptyString
);
925 This is an overloaded version of
926 wxGetTranslation(const wxString&, const wxString&), please see its
927 documentation for general information.
929 This version is used when retrieving translation of string that has
930 different singular and plural forms in English or different plural forms in
931 some other language. Like wxGetTranslation(const wxString&,const wxString&),
932 the @a string parameter must contain the singular form of the string to be
933 converted and is used as the key for the search in the catalog. The
934 @a plural parameter is the plural form (in English). The parameter @a n is
935 used to determine the plural form. If no message catalog is found,
936 @a string is returned if "n == 1", otherwise @a plural is returned.
938 See GNU gettext Manual for additional information on plural forms handling:
939 <http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms>
940 For a shorter alternative see the wxPLURAL() macro.
942 This function calls wxLocale::GetString().
946 const wxString
& wxGetTranslation(const wxString
& string
,
947 const wxString
& plural
, size_t n
,
948 const wxString
& domain
= wxEmptyString
);
951 This macro expands into a call to wxGetTranslation(), so it marks the
952 message for the extraction by @c xgettext just as wxTRANSLATE() does, but
953 also returns the translation of the string for the current locale during
956 Don't confuse this with _T()!
960 const wxString
& _(const wxString
& string
);