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
, 
  53     wxLANGUAGE_AZERI_CYRILLIC
, 
  54     wxLANGUAGE_AZERI_LATIN
, 
  57     wxLANGUAGE_BELARUSIAN
, 
  68     wxLANGUAGE_CHINESE_SIMPLIFIED
, 
  69     wxLANGUAGE_CHINESE_TRADITIONAL
, 
  70     wxLANGUAGE_CHINESE_HONGKONG
, 
  71     wxLANGUAGE_CHINESE_MACAU
, 
  72     wxLANGUAGE_CHINESE_SINGAPORE
, 
  73     wxLANGUAGE_CHINESE_TAIWAN
, 
  79     wxLANGUAGE_DUTCH_BELGIAN
, 
  81     wxLANGUAGE_ENGLISH_UK
, 
  82     wxLANGUAGE_ENGLISH_US
, 
  83     wxLANGUAGE_ENGLISH_AUSTRALIA
, 
  84     wxLANGUAGE_ENGLISH_BELIZE
, 
  85     wxLANGUAGE_ENGLISH_BOTSWANA
, 
  86     wxLANGUAGE_ENGLISH_CANADA
, 
  87     wxLANGUAGE_ENGLISH_CARIBBEAN
, 
  88     wxLANGUAGE_ENGLISH_DENMARK
, 
  89     wxLANGUAGE_ENGLISH_EIRE
, 
  90     wxLANGUAGE_ENGLISH_JAMAICA
, 
  91     wxLANGUAGE_ENGLISH_NEW_ZEALAND
, 
  92     wxLANGUAGE_ENGLISH_PHILIPPINES
, 
  93     wxLANGUAGE_ENGLISH_SOUTH_AFRICA
, 
  94     wxLANGUAGE_ENGLISH_TRINIDAD
, 
  95     wxLANGUAGE_ENGLISH_ZIMBABWE
, 
 103     wxLANGUAGE_FRENCH_BELGIAN
, 
 104     wxLANGUAGE_FRENCH_CANADIAN
, 
 105     wxLANGUAGE_FRENCH_LUXEMBOURG
, 
 106     wxLANGUAGE_FRENCH_MONACO
, 
 107     wxLANGUAGE_FRENCH_SWISS
, 
 112     wxLANGUAGE_GERMAN_AUSTRIAN
, 
 113     wxLANGUAGE_GERMAN_BELGIUM
, 
 114     wxLANGUAGE_GERMAN_LIECHTENSTEIN
, 
 115     wxLANGUAGE_GERMAN_LUXEMBOURG
, 
 116     wxLANGUAGE_GERMAN_SWISS
, 
 118     wxLANGUAGE_GREENLANDIC
, 
 124     wxLANGUAGE_HUNGARIAN
, 
 125     wxLANGUAGE_ICELANDIC
, 
 126     wxLANGUAGE_INDONESIAN
, 
 127     wxLANGUAGE_INTERLINGUA
, 
 128     wxLANGUAGE_INTERLINGUE
, 
 129     wxLANGUAGE_INUKTITUT
, 
 133     wxLANGUAGE_ITALIAN_SWISS
, 
 138     wxLANGUAGE_KASHMIRI_INDIA
, 
 141     wxLANGUAGE_KINYARWANDA
, 
 151     wxLANGUAGE_LITHUANIAN
, 
 152     wxLANGUAGE_MACEDONIAN
, 
 155     wxLANGUAGE_MALAYALAM
, 
 156     wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM
, 
 157     wxLANGUAGE_MALAY_MALAYSIA
, 
 162     wxLANGUAGE_MOLDAVIAN
, 
 163     wxLANGUAGE_MONGOLIAN
, 
 166     wxLANGUAGE_NEPALI_INDIA
, 
 167     wxLANGUAGE_NORWEGIAN_BOKMAL
, 
 168     wxLANGUAGE_NORWEGIAN_NYNORSK
, 
 174     wxLANGUAGE_PORTUGUESE
, 
 175     wxLANGUAGE_PORTUGUESE_BRAZILIAN
, 
 178     wxLANGUAGE_RHAETO_ROMANCE
, 
 181     wxLANGUAGE_RUSSIAN_UKRAINE
, 
 186     wxLANGUAGE_SCOTS_GAELIC
, 
 188     wxLANGUAGE_SERBIAN_CYRILLIC
, 
 189     wxLANGUAGE_SERBIAN_LATIN
, 
 190     wxLANGUAGE_SERBO_CROATIAN
, 
 195     wxLANGUAGE_SINHALESE
, 
 198     wxLANGUAGE_SLOVENIAN
, 
 201     wxLANGUAGE_SPANISH_ARGENTINA
, 
 202     wxLANGUAGE_SPANISH_BOLIVIA
, 
 203     wxLANGUAGE_SPANISH_CHILE
, 
 204     wxLANGUAGE_SPANISH_COLOMBIA
, 
 205     wxLANGUAGE_SPANISH_COSTA_RICA
, 
 206     wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC
, 
 207     wxLANGUAGE_SPANISH_ECUADOR
, 
 208     wxLANGUAGE_SPANISH_EL_SALVADOR
, 
 209     wxLANGUAGE_SPANISH_GUATEMALA
, 
 210     wxLANGUAGE_SPANISH_HONDURAS
, 
 211     wxLANGUAGE_SPANISH_MEXICAN
, 
 212     wxLANGUAGE_SPANISH_MODERN
, 
 213     wxLANGUAGE_SPANISH_NICARAGUA
, 
 214     wxLANGUAGE_SPANISH_PANAMA
, 
 215     wxLANGUAGE_SPANISH_PARAGUAY
, 
 216     wxLANGUAGE_SPANISH_PERU
, 
 217     wxLANGUAGE_SPANISH_PUERTO_RICO
, 
 218     wxLANGUAGE_SPANISH_URUGUAY
, 
 219     wxLANGUAGE_SPANISH_US
, 
 220     wxLANGUAGE_SPANISH_VENEZUELA
, 
 221     wxLANGUAGE_SUNDANESE
, 
 224     wxLANGUAGE_SWEDISH_FINLAND
, 
 239     wxLANGUAGE_UKRAINIAN
, 
 241     wxLANGUAGE_URDU_INDIA
, 
 242     wxLANGUAGE_URDU_PAKISTAN
, 
 244     wxLANGUAGE_UZBEK_CYRILLIC
, 
 245     wxLANGUAGE_UZBEK_LATIN
, 
 246     wxLANGUAGE_VALENCIAN
, 
 247     wxLANGUAGE_VIETNAMESE
, 
 257     /// For custom, user-defined languages. 
 258     wxLANGUAGE_USER_DEFINED
 
 261 // --- --- --- generated code ends here --- --- --- 
 266     wxLanguageInfo: encapsulates wxLanguage to OS native lang.desc. 
 267                     translation information 
 269 struct WXDLLIMPEXP_BASE wxLanguageInfo
 
 271     /// wxLanguage id. It should be greater than wxLANGUAGE_USER_DEFINED. 
 273     wxString CanonicalName
;         //!< Canonical name, e.g. fr_FR. 
 275     wxUint32 WinLang
,               //!< Win32 language identifiers (LANG_xxxx, SUBLANG_xxxx). 
 278     wxString Description
;           //!< Human-readable name of the language. 
 279     wxLayoutDirection LayoutDirection
; 
 282     /// Return the LCID corresponding to this language. 
 283     wxUint32 
GetLCID() const; 
 286     /// Return the locale name corresponding to this language usable with 
 287     /// setlocale() on the current system 
 288     wxString 
GetLocaleName() const; 
 295     wxLocale class encapsulates all language-dependent settings and is a 
 296     generalization of the C locale concept. 
 298     In wxWidgets this class manages message catalogs which contain the translations 
 299     of the strings used to the current language. 
 301     For a list of the supported languages, please see ::wxLanguage enum values. 
 302     These constants may be used to specify the language in wxLocale::Init and 
 303     are returned by wxLocale::GetSystemLanguage. 
 306     In wxPerl you can't use the '_' function name, so 
 307     the @c Wx::Locale module can export the @c gettext and 
 308     @c gettext_noop under any given name. 
 311       # this imports gettext ( equivalent to Wx::GetTranslation 
 312       # and gettext_noop ( a noop ) 
 314       use Wx::Locale qw(:default); 
 319       print gettext( "Panic!" ); 
 321       button = Wx::Button-new( window, -1, gettext( "Label" ) ); 
 324     If you need to translate a lot of strings, then adding gettext( ) around 
 325     each one is a long task ( that is why _( ) was introduced ), so just choose 
 326     a shorter name for gettext: 
 329       use Wx::Locale 'gettext' = 't', 
 330                      'gettext_noop' = 'gettext_noop'; 
 335       print t( "Panic!!" ); 
 344     @see @ref overview_i18n, @ref page_samples_internat, wxXLocale 
 350         This is the default constructor and it does nothing to initialize the object: 
 351         Init() must be used to do that. 
 356         See Init() for parameters description. 
 358     wxLocale(int language
, 
 359              int flags 
= wxLOCALE_LOAD_DEFAULT 
| wxLOCALE_CONV_ENCODING
); 
 362         See Init() for parameters description. 
 364         The call of this function has several global side effects which you should 
 365         understand: first of all, the application locale is changed - note that this 
 366         will affect many of standard C library functions such as printf() or strftime(). 
 367         Second, this wxLocale object becomes the new current global locale for the 
 368         application and so all subsequent calls to ::wxGetTranslation() will try to 
 369         translate the messages using the message catalogs for this locale. 
 371     wxLocale(const wxString
& name
, 
 372              const wxString
& short = wxEmptyString
, 
 373              const wxString
& locale 
= wxEmptyString
, 
 374              bool bLoadDefault 
= true, 
 375              bool bConvertEncoding 
= false); 
 378         The destructor, like the constructor, also has global side effects: the 
 379         previously set locale is restored and so the changes described in 
 380         Init() documentation are rolled back. 
 386         Add a catalog for use with the current locale: it is searched for in standard 
 387         places (current directory first, then the system one), but you may also prepend 
 388         additional directories to the search path with AddCatalogLookupPathPrefix(). 
 390         All loaded catalogs will be used for message lookup by GetString() for 
 393         Returns @true if catalog was successfully loaded, @false otherwise (which might 
 394         mean that the catalog is not found or that it isn't in the correct format). 
 396         The second form of this method takes two additional arguments, 
 397         @a msgIdLanguage and @a msgIdCharset. 
 399         @a msgIdLanguage specifies the language of "msgid" strings in source code 
 400         (i.e. arguments to GetString(), wxGetTranslation() and the _() macro). 
 401         It is used if AddCatalog() cannot find any catalog for current language: 
 402         if the language is same as source code language, then strings from source 
 403         code are used instead. 
 405         @a msgIdCharset lets you specify the charset used for msgids in sources 
 406         in case they use 8-bit characters (e.g. German or French strings). 
 407         This argument has no effect in Unicode build, because literals in sources are 
 408         Unicode strings; you have to use compiler-specific method of setting the right 
 409         charset when compiling with Unicode. 
 411         By default (i.e. when you use the first form), msgid strings are assumed 
 412         to be in English and written only using 7-bit ASCII characters. 
 413         If you have to deal with non-English strings or 8-bit characters in the 
 414         source code, see the instructions in @ref overview_nonenglish. 
 416     bool AddCatalog(const wxString
& domain
); 
 417     bool AddCatalog(const wxString
& domain
, wxLanguage msgIdLanguage
, 
 418                     const wxString
& msgIdCharset
); 
 422         Add a prefix to the catalog lookup path: the message catalog files will 
 423         be looked up under prefix/lang/LC_MESSAGES, prefix/lang and prefix 
 426         This only applies to subsequent invocations of AddCatalog(). 
 428     static void AddCatalogLookupPathPrefix(const wxString
& prefix
); 
 431         Adds custom, user-defined language to the database of known languages. 
 432         This database is used in conjunction with the first form of Init(). 
 434     static void AddLanguage(const wxLanguageInfo
& info
); 
 437         This function may be used to find the language description structure for the 
 438         given locale, specified either as a two letter ISO language code (for example, 
 439         "pt"), a language code followed by the country code ("pt_BR") or a full, human 
 440         readable, language description ("Portuguese-Brazil"). 
 442         Returns the information for the given language or @NULL if this language 
 443         is unknown. Note that even if the returned pointer is valid, the caller 
 444         should @e not delete it. 
 446         @see GetLanguageInfo() 
 448     static wxLanguageInfo
* FindLanguageInfo(const wxString
& locale
); 
 451         Returns the canonical form of current locale name. Canonical form is the 
 452         one that is used on UNIX systems: it is a two- or five-letter string in xx or 
 453         xx_YY format, where xx is ISO 639 code of language and YY is ISO 3166 code of 
 454         the country. Examples are "en", "en_GB", "en_US" or "fr_FR". 
 455         This form is internally used when looking up message catalogs. 
 456         Compare GetSysName(). 
 458     wxString 
GetCanonicalName() const; 
 461         Returns the header value for header @a header. 
 462         The search for @a header is case sensitive. If an @a domain is passed, 
 463         this domain is searched. Else all domains will be searched until a 
 464         header has been found. 
 466         The return value is the value of the header if found. Else this will be empty. 
 468     wxString 
GetHeaderValue(const wxString
& header
, 
 469                             const wxString
& domain 
= wxEmptyString
) const; 
 472         Returns wxLanguage() constant of current language. 
 474         Note that you can call this function only if you used the form of 
 475         Init() that takes wxLanguage argument. 
 477     int GetLanguage() const; 
 480         Returns a pointer to wxLanguageInfo structure containing information about 
 481         the given language or @NULL if this language is unknown. Note that even if 
 482         the returned pointer is valid, the caller should @e not delete it. 
 484         See AddLanguage() for the wxLanguageInfo description. 
 485         As with Init(), @c wxLANGUAGE_DEFAULT has the special meaning if passed 
 486         as an argument to this function and in this case the result of 
 487         GetSystemLanguage() is used. 
 489     static wxLanguageInfo
* GetLanguageInfo(int lang
) const; 
 492         Returns English name of the given language or empty string if this 
 495         See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT. 
 497     static wxString 
GetLanguageName(int lang
) const; 
 500         Returns the locale name as passed to the constructor or Init(). 
 502         This is a full, human-readable name, e.g. "English" or "French". 
 504     const wxString
& GetLocale() const; 
 507         Returns the current short name for the locale (as given to the constructor or 
 508         the Init() function). 
 510     const wxString
& GetName() const; 
 513         Retrieves the translation for a string in all loaded domains unless the @a domain 
 514         parameter is specified (and then only this catalog/domain is searched). 
 516         Returns original string if translation is not available (in this case an 
 517         error message is generated the first time a string is not found; use 
 518         wxLogNull to suppress it). 
 520         @remarks Domains are searched in the last to first order, i.e. catalogs 
 521                  added later override those added before. 
 523     virtual const wxString
& GetString(const wxString
& origString
, 
 524                                       const wxString
& domain 
= wxEmptyString
) const; 
 527         Retrieves the translation for a string in all loaded domains unless the @a domain 
 528         parameter is specified (and then only this catalog/domain is searched). 
 530         Returns original string if translation is not available (in this case an 
 531         error message is generated the first time a string is not found; use 
 532         wxLogNull to suppress it). 
 534         This form is used when retrieving translation of string that has different 
 535         singular and plural form in English or different plural forms in some 
 537         It takes two extra arguments: @a origString parameter must contain the 
 538         singular form of the string to be converted. 
 540         It is also used as the key for the search in the catalog. 
 541         The @a origString2 parameter is the plural form (in English). 
 543         The parameter @a n is used to determine the plural form. 
 544         If no message catalog is found @a origString is returned if 'n == 1', 
 545         otherwise @a origString2. 
 547         See GNU gettext manual for additional information on plural forms handling. 
 548         This method is called by the wxGetTranslation() function and _() macro. 
 550         @remarks Domains are searched in the last to first order, i.e. catalogs 
 551                  added later override those added before. 
 553     virtual const wxString
& GetString(const wxString
& origString
, 
 554                                       const wxString
& origString2
, size_t n
, 
 555                                       const wxString
& domain 
= wxEmptyString
) const; 
 558         Returns current platform-specific locale name as passed to setlocale(). 
 559         Compare GetCanonicalName(). 
 561     wxString 
GetSysName() const; 
 564         Tries to detect the user's default font encoding. 
 565         Returns wxFontEncoding() value or @c wxFONTENCODING_SYSTEM if it 
 566         couldn't be determined. 
 568     static wxFontEncoding 
GetSystemEncoding() const; 
 571         Tries to detect the name of the user's default font encoding. 
 572         This string isn't particularly useful for the application as its form is 
 573         platform-dependent and so you should probably use GetSystemEncoding() instead. 
 575         Returns a user-readable string value or an empty string if it couldn't be 
 578     static wxString 
GetSystemEncodingName() const; 
 581         Tries to detect the user's default language setting. 
 582         Returns wxLanguage value or @b wxLANGUAGE_UNKNOWN if the language-guessing 
 585     static int GetSystemLanguage() const; 
 588         Initializes the wxLocale instance. 
 590         The call of this function has several global side effects which you should 
 591         understand: first of all, the application locale is changed - note that 
 592         this will affect many of standard C library functions such as printf() 
 594         Second, this wxLocale object becomes the new current global locale for 
 595         the application and so all subsequent calls to wxGetTranslation() will 
 596         try to translate the messages using the message catalogs for this locale. 
 599             wxLanguage identifier of the locale. 
 600             @c wxLANGUAGE_DEFAULT has special meaning -- wxLocale will use system's 
 601             default language (see GetSystemLanguage()). 
 603             Combination of the following: 
 604             - wxLOCALE_LOAD_DEFAULT: Load the message catalog for the given locale 
 605               containing the translations of standard wxWidgets messages 
 607             - wxLOCALE_CONV_ENCODING: Automatically convert message catalogs to 
 608               platform's default encoding. Note that it will do only basic 
 609               conversion between well-known pair like iso8859-1 and windows-1252 or 
 610               iso8859-2 and windows-1250. See @ref overview_nonenglish for 
 611               detailed description of this behaviour. 
 612               Note that this flag is meaningless in Unicode build. 
 614         @return @true on success or @false if the given locale couldn't be set. 
 616     bool Init(int language 
= wxLANGUAGE_DEFAULT
, 
 617               int flags 
= wxLOCALE_LOAD_DEFAULT 
| wxLOCALE_CONV_ENCODING
); 
 621         This form is deprecated, use the other one unless you know what you are doing. 
 624             The name of the locale. Only used in diagnostic messages. 
 626             The standard 2 letter locale abbreviation; it is used as the 
 627             directory prefix when looking for the message catalog files. 
 629             The parameter for the call to setlocale(). 
 630             Note that it is platform-specific. 
 632             May be set to @false to prevent loading of the message catalog for the 
 633             given locale containing the translations of standard wxWidgets messages. 
 634             This parameter would be rarely used in normal circumstances. 
 635         @param bConvertEncoding 
 636             May be set to @true to do automatic conversion of message catalogs to 
 637             platform's native encoding. Note that it will do only basic conversion 
 638             between well-known pair like iso8859-1 and windows-1252 or iso8859-2 
 640             See @ref overview_nonenglish for detailed description of this behaviour. 
 642     bool Init(const wxString
& name
, const wxString
& short = wxEmptyString
, 
 643               const wxString
& locale 
= wxEmptyString
, bool bLoadDefault 
= true, 
 644               bool bConvertEncoding 
= false); 
 647         Check whether the operating system and/or C run time environment supports 
 648         this locale. For example in Windows 2000 and Windows XP, support for many 
 649         locales is not installed by default. Returns @true if the locale is 
 651         The argument @a lang is the wxLanguage identifier. To obtain this for a 
 652         given a two letter ISO language code, use 
 653         FindLanguageInfo() to obtain its 
 654         wxLanguageInfo structure. See AddLanguage() for 
 655         the wxLanguageInfo description. 
 659     static bool IsAvailable(int lang
); 
 662         Check if the given catalog is loaded, and returns @true if it is. 
 664         According to GNU gettext tradition, each catalog normally corresponds to 
 665         'domain' which is more or less the application name. 
 669     bool IsLoaded(const wxString
& domain
) const; 
 672         Returns @true if the locale could be set successfully. 
 680 // ============================================================================ 
 681 // Global functions/macros 
 682 // ============================================================================ 
 684 /** @ingroup group_funcmacro_string */ 
 688     This macro is identical to _() but for the plural variant of 
 691     @return A const wxString. 
 695 #define wxPLURAL(string, plural, n) 
 698     This macro doesn't do anything in the program code -- it simply expands to 
 699     the value of its argument. 
 701     However it does have a purpose which is to mark the literal strings for the 
 702     extraction into the message catalog created by @c xgettext program. Usually 
 703     this is achieved using _() but that macro not only marks the string for 
 704     extraction but also expands into a wxGetTranslation() call which means that 
 705     it cannot be used in some situations, notably for static array 
 708     Here is an example which should make it more clear: suppose that you have a 
 709     static array of strings containing the weekday names and which have to be 
 710     translated (note that it is a bad example, really, as wxDateTime already 
 711     can be used to get the localized week day names already). If you write: 
 714     static const char * const weekdays[] = { _("Mon"), ..., _("Sun") }; 
 716     // use weekdays[n] as usual 
 719     The code wouldn't compile because the function calls are forbidden in the 
 720     array initializer. So instead you should do this: 
 723     static const char * const weekdays[] = { wxTRANSLATE("Mon"), ..., 
 724     wxTRANSLATE("Sun") }; 
 726     // use wxGetTranslation(weekdays[n]) 
 729     Note that although the code @b would compile if you simply omit 
 730     wxTRANSLATE() in the above, it wouldn't work as expected because there 
 731     would be no translations for the weekday names in the program message 
 732     catalog and wxGetTranslation() wouldn't find them. 
 734     @return A const wxChar*. 
 738 #define wxTRANSLATE(string) 
 741     This function returns the translation of @a string in the current 
 742     @c locale(). If the string is not found in any of the loaded message 
 743     catalogs (see @ref overview_i18n), the original string is returned. In 
 744     debug build, an error message is logged -- this should help to find the 
 745     strings which were not yet translated.  If @a domain is specified then only 
 746     that domain/catalog is searched for a matching string.  As this function is 
 747     used very often, an alternative (and also common in Unix world) syntax is 
 748     provided: the _() macro is defined to do the same thing as 
 751     This function calls wxLocale::GetString(). 
 753     @note This function is not suitable for literal strings in Unicode builds 
 754           since the literal strings must be enclosed into _T() or wxT() macro 
 755           which makes them unrecognised by @c xgettext, and so they are not 
 756           extracted to the message catalog. Instead, use the _() and wxPLURAL() 
 757           macro for all literal strings. 
 759     @see wxGetTranslation(const wxString&, const wxString&, size_t, const wxString&) 
 763 const wxString
& wxGetTranslation(const wxString
& string
, 
 764                                  const wxString
& domain 
= wxEmptyString
); 
 767     This is an overloaded version of 
 768     wxGetTranslation(const wxString&, const wxString&), please see its 
 769     documentation for general information. 
 771     This version is used when retrieving translation of string that has 
 772     different singular and plural forms in English or different plural forms in 
 773     some other language. Like wxGetTranslation(const wxString&,const wxString&), 
 774     the @a string parameter must contain the singular form of the string to be 
 775     converted and is used as the key for the search in the catalog. The 
 776     @a plural parameter is the plural form (in English). The parameter @a n is 
 777     used to determine the plural form. If no message catalog is found, 
 778     @a string is returned if "n == 1", otherwise @a plural is returned. 
 780     See GNU gettext Manual for additional information on plural forms handling: 
 781     <http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms> 
 782     For a shorter alternative see the wxPLURAL() macro. 
 784     This function calls wxLocale::GetString(). 
 788 const wxString
& wxGetTranslation(const wxString
& string
, 
 789                                  const wxString
& plural
, size_t n
, 
 790                                  const wxString
& domain 
= wxEmptyString
); 
 793     This macro expands into a call to wxGetTranslation(), so it marks the 
 794     message for the extraction by @c xgettext just as wxTRANSLATE() does, but 
 795     also returns the translation of the string for the current locale during 
 798     Don't confuse this with _T()! 
 802 const wxString
& _(const wxString
& string
);