| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        intl.h
 
- // Purpose:     interface of wxLocale
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     This is the layout direction stored in wxLanguageInfo and returned by
 
-     wxApp::GetLayoutDirection(), wxWindow::GetLayoutDirection(),
 
-     wxDC::GetLayoutDirection() for RTL (right-to-left) languages support.
 
- */
 
- enum wxLayoutDirection
 
- {
 
-     wxLayout_Default,
 
-     wxLayout_LeftToRight,
 
-     wxLayout_RightToLeft
 
- };
 
- /**
 
-     Encapsulates a ::wxLanguage identifier together with OS-specific information
 
-     related to that language.
 
-     @beginWxPerlOnly
 
-     In wxPerl @c Wx::LanguageInfo has only one method:
 
-     - Wx::LanguageInfo->new(language, canonicalName, WinLang, WinSubLang, Description)
 
-     @endWxPerlOnly
 
- */
 
- struct wxLanguageInfo
 
- {
 
-     /// ::wxLanguage id.
 
-     /// It should be greater than @c wxLANGUAGE_USER_DEFINED when defining your own
 
-     /// language info structure.
 
-     int Language;
 
-     /// Canonical name of the language, e.g. @c fr_FR.
 
-     wxString CanonicalName;
 
-     //@{
 
-     /**
 
-         Win32 language identifiers (LANG_xxxx, SUBLANG_xxxx).
 
-         @onlyfor{wxmsw}
 
-     */
 
-     wxUint32 WinLang, WinSublang;
 
-     //@}
 
-     /// Human-readable name of the language.
 
-     wxString Description;
 
-     /// The layout direction used for this language.
 
-     wxLayoutDirection LayoutDirection;
 
-     /// Return the LCID corresponding to this language.
 
-     /// @onlyfor{wxmsw}
 
-     wxUint32 GetLCID() const;
 
-     /// Return the locale name corresponding to this language usable with
 
-     /// @c setlocale() on the current system.
 
-     wxString GetLocaleName() const;
 
- };
 
- /**
 
-     The category of locale settings.
 
-     @see wxLocale::GetInfo()
 
- */
 
- enum wxLocaleCategory
 
- {
 
-     /// Number formatting.
 
-     wxLOCALE_CAT_NUMBER,
 
-     /// Date/time formatting.
 
-     wxLOCALE_CAT_DATE,
 
-     /// Monetary values formatting.
 
-     wxLOCALE_CAT_MONEY,
 
-     /**
 
-         Default category for the wxLocaleInfo value.
 
-         This category can be used for values which only make sense for a single
 
-         category, e.g. wxLOCALE_SHORT_DATE_FMT which can only be used with
 
-         wxLOCALE_CAT_DATE. As this is the default value of the second parameter
 
-         of wxLocale::GetInfo(), wxLOCALE_CAT_DATE can be omitted when asking
 
-         for wxLOCALE_SHORT_DATE_FMT value.
 
-         @since 2.9.0
 
-      */
 
-     wxLOCALE_CAT_DEFAULT
 
- };
 
- /**
 
-     The values understood by wxLocale::GetInfo().
 
-     
 
-     Note that for the @c wxLOCALE_*_FMT constants (the date and time formats), 
 
-     the strings returned by wxLocale::GetInfo() use strftime() or,
 
-     equivalently, wxDateTime::Format() format. If the relevant format
 
-     couldn't be determined, an empty string is returned -- there is no
 
-     fallback value so that the application could determine the best course
 
-     of actions itself in such case.
 
-     All of these values are used with @c wxLOCALE_CAT_DATE in wxLocale::GetInfo() or, 
 
-     more typically, with @c wxLOCALE_CAT_DEFAULT as they only apply to a single category.
 
- */
 
- enum wxLocaleInfo
 
- {
 
-     /**
 
-         The thousands separator.
 
-         This value can be used with either wxLOCALE_CAT_NUMBER or
 
-         wxLOCALE_CAT_MONEY categories.
 
-      */
 
-     wxLOCALE_THOUSANDS_SEP,
 
-     /**
 
-         The character used as decimal point.
 
-         This value can be used with either wxLOCALE_CAT_NUMBER or
 
-         wxLOCALE_CAT_MONEY categories.
 
-      */
 
-     wxLOCALE_DECIMAL_POINT,
 
-     /**
 
-         Short date format.
 
-         Notice that short and long date formats may be the same under POSIX
 
-         systems currently but may, and typically are, different under MSW or OS X.
 
-         @since 2.9.0
 
-      */
 
-     wxLOCALE_SHORT_DATE_FMT,
 
-     /**
 
-         Long date format.
 
-         @since 2.9.0
 
-      */
 
-     wxLOCALE_LONG_DATE_FMT,
 
-     /**
 
-         Date and time format.
 
-         @since 2.9.0
 
-      */
 
-     wxLOCALE_DATE_TIME_FMT,
 
-     /**
 
-         Time format.
 
-         @since 2.9.0
 
-      */
 
-     wxLOCALE_TIME_FMT
 
- };
 
- /**
 
-     @class wxLocale
 
-     wxLocale class encapsulates all language-dependent settings and is a
 
-     generalization of the C locale concept.
 
-     In wxWidgets this class manages current locale. It also initializes and
 
-     activates wxTranslations object that manages message catalogs.
 
-     For a list of the supported languages, please see ::wxLanguage enum values.
 
-     These constants may be used to specify the language in wxLocale::Init and
 
-     are returned by wxLocale::GetSystemLanguage.
 
-     @beginWxPerlOnly
 
-     In wxPerl you can't use the '_' function name, so
 
-     the @c Wx::Locale module can export the @c gettext and
 
-     @c gettext_noop under any given name.
 
-     @code
 
-       # this imports gettext ( equivalent to Wx::GetTranslation
 
-       # and gettext_noop ( a noop )
 
-       # into your module
 
-       use Wx::Locale qw(:default);
 
-       # ....
 
-       # use the functions
 
-       print gettext( "Panic!" );
 
-       button = Wx::Button-new( window, -1, gettext( "Label" ) );
 
-     @endcode
 
-     If you need to translate a lot of strings, then adding gettext( ) around
 
-     each one is a long task ( that is why _( ) was introduced ), so just choose
 
-     a shorter name for gettext:
 
-     @code
 
-       use Wx::Locale 'gettext' = 't',
 
-                      'gettext_noop' = 'gettext_noop';
 
-       # ...
 
-       # use the functions
 
-       print t( "Panic!!" );
 
-       # ...
 
-     @endcode
 
-     @endWxPerlOnly
 
-     @library{wxbase}
 
-     @category{cfg}
 
-     @see @ref overview_i18n, @ref page_samples_internat, wxXLocale, wxTranslations
 
- */
 
- class wxLocale
 
- {
 
- public:
 
-     /**
 
-         This is the default constructor and it does nothing to initialize the object:
 
-         Init() must be used to do that.
 
-     */
 
-     wxLocale();
 
-     /**
 
-         See Init() for parameters description.
 
-     */
 
-     wxLocale(int language, int flags = wxLOCALE_LOAD_DEFAULT);
 
-     /**
 
-         See Init() for parameters description.
 
-         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.
 
-     */
 
-     wxLocale(const wxString& name,
 
-              const wxString& shortName = wxEmptyString,
 
-              const wxString& locale = wxEmptyString,
 
-              bool bLoadDefault = true);
 
-     /**
 
-         The destructor, like the constructor, also has global side effects: the
 
-         previously set locale is restored and so the changes described in
 
-         Init() documentation are rolled back.
 
-     */
 
-     virtual ~wxLocale();
 
-     /**
 
-         Calls wxTranslations::AddCatalog(const wxString&).
 
-     */
 
-     bool AddCatalog(const wxString& domain);
 
-     /**
 
-         Calls wxTranslations::AddCatalog(const wxString&, wxLanguage).
 
-     */
 
-     bool AddCatalog(const wxString& domain, wxLanguage msgIdLanguage);
 
-     /**
 
-         Calls wxTranslations::AddCatalog(const wxString&, wxLanguage, const wxString&).
 
-     */
 
-     bool AddCatalog(const wxString& domain, wxLanguage msgIdLanguage,
 
-                     const wxString& msgIdCharset);
 
-     /**
 
-         Calls wxFileTranslationsLoader::AddCatalogLookupPathPrefix().
 
-     */
 
-     static void AddCatalogLookupPathPrefix(const wxString& prefix);
 
-     /**
 
-         Adds custom, user-defined language to the database of known languages.
 
-         This database is used in conjunction with the first form of Init().
 
-     */
 
-     static void AddLanguage(const wxLanguageInfo& info);
 
-     /**
 
-         This function may be used to find the language description structure for the
 
-         given locale, specified either as a two letter ISO language code (for example,
 
-         "pt"), a language code followed by the country code ("pt_BR") or a full, human
 
-         readable, language description ("Portuguese-Brazil").
 
-         Returns the information for the given language or @NULL if this language
 
-         is unknown. Note that even if the returned pointer is valid, the caller
 
-         should @e not delete it.
 
-         @see GetLanguageInfo()
 
-     */
 
-     static const wxLanguageInfo* FindLanguageInfo(const wxString& locale);
 
-     /**
 
-         Returns the canonical form of current locale name. Canonical form is the
 
-         one that is used on UNIX systems: it is a two- or five-letter string in xx or
 
-         xx_YY format, where xx is ISO 639 code of language and YY is ISO 3166 code of
 
-         the country. Examples are "en", "en_GB", "en_US" or "fr_FR".
 
-         This form is internally used when looking up message catalogs.
 
-         Compare GetSysName().
 
-     */
 
-     wxString GetCanonicalName() const;
 
-     /**
 
-         Calls wxTranslations::GetHeaderValue().
 
-     */
 
-     wxString GetHeaderValue(const wxString& header,
 
-                             const wxString& domain = wxEmptyString) const;
 
-     /**
 
-         Returns the ::wxLanguage constant of current language.
 
-         Note that you can call this function only if you used the form of
 
-         Init() that takes ::wxLanguage argument.
 
-     */
 
-     int GetLanguage() const;
 
-     /**
 
-         Returns a pointer to wxLanguageInfo structure containing information about
 
-         the given language or @NULL if this language is unknown. Note that even if
 
-         the returned pointer is valid, the caller should @e not delete it.
 
-         See AddLanguage() for the wxLanguageInfo description.
 
-         As with Init(), @c wxLANGUAGE_DEFAULT has the special meaning if passed
 
-         as an argument to this function and in this case the result of
 
-         GetSystemLanguage() is used.
 
-     */
 
-     static const wxLanguageInfo* GetLanguageInfo(int lang);
 
-     /**
 
-         Returns English name of the given language or empty string if this
 
-         language is unknown.
 
-         See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT.
 
-     */
 
-     static wxString GetLanguageName(int lang);
 
-     /**
 
-         Returns canonical name (see GetCanonicalName()) of the given language
 
-         or empty string if this language is unknown.
 
-         See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT.
 
-         @since 2.9.1
 
-     */
 
-     static wxString GetLanguageCanonicalName(int lang);
 
-     /**
 
-         Returns the locale name as passed to the constructor or Init().
 
-         This is a full, human-readable name, e.g. "English" or "French".
 
-     */
 
-     const wxString& GetLocale() const;
 
-     /**
 
-         Returns the current short name for the locale (as given to the constructor or
 
-         the Init() function).
 
-     */
 
-     const wxString& GetName() const;
 
-     /**
 
-         Calls wxGetTranslation(const wxString&, const wxString&).
 
-     */
 
-     virtual const wxString& GetString(const wxString& origString,
 
-                                       const wxString& domain = wxEmptyString) const;
 
-     /**
 
-         Calls wxGetTranslation(const wxString&, const wxString&, unsigned, const wxString&).
 
-     */
 
-     virtual const wxString& GetString(const wxString& origString,
 
-                                       const wxString& origString2, unsigned n,
 
-                                       const wxString& domain = wxEmptyString) const;
 
-     /**
 
-         Returns current platform-specific locale name as passed to setlocale().
 
-         Compare GetCanonicalName().
 
-     */
 
-     wxString GetSysName() const;
 
-     /**
 
-         Tries to detect the user's default font encoding.
 
-         Returns wxFontEncoding() value or @c wxFONTENCODING_SYSTEM if it
 
-         couldn't be determined.
 
-     */
 
-     static wxFontEncoding GetSystemEncoding();
 
-     /**
 
-         Tries to detect the name of the user's default font encoding.
 
-         This string isn't particularly useful for the application as its form is
 
-         platform-dependent and so you should probably use GetSystemEncoding() instead.
 
-         Returns a user-readable string value or an empty string if it couldn't be
 
-         determined.
 
-     */
 
-     static wxString GetSystemEncodingName();
 
-     /**
 
-         Tries to detect the user's default locale setting.
 
-         Returns the ::wxLanguage value or @c wxLANGUAGE_UNKNOWN if the language-guessing
 
-         algorithm failed.
 
-         @note This function works with @em locales and returns the user's default
 
-               locale. This may be, and usually is, the same as their preferred UI
 
-               language, but it's not the same thing. Use wxTranslation to obtain
 
-               @em language information.
 
-         @see wxTranslations::GetBestTranslation().
 
-     */
 
-     static int GetSystemLanguage();
 
-     /**
 
-         Get the values of the given locale-dependent datum.
 
-         This function returns the value of the locale-specific option specified
 
-         by the given @a index.
 
-         @param index
 
-             One of the elements of wxLocaleInfo enum.
 
-         @param cat
 
-             The category to use with the given index or wxLOCALE_CAT_DEFAULT if
 
-             the index can only apply to a single category.
 
-         @return
 
-             The option value or empty string if the function failed.
 
-     */
 
-     static wxString GetInfo(wxLocaleInfo index,
 
-                             wxLocaleCategory cat = wxLOCALE_CAT_DEFAULT);
 
-     /**
 
-         Initializes the wxLocale instance.
 
-         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.
 
-         @param language
 
-             ::wxLanguage identifier of the locale.
 
-             @c wxLANGUAGE_DEFAULT has special meaning -- wxLocale will use system's
 
-             default language (see GetSystemLanguage()).
 
-         @param flags
 
-             Combination of the following:
 
-             - wxLOCALE_LOAD_DEFAULT: Load the message catalog for the given locale
 
-               containing the translations of standard wxWidgets messages
 
-               automatically.
 
-             - wxLOCALE_DONT_LOAD_DEFAULT: Negation of wxLOCALE_LOAD_DEFAULT.
 
-         @return @true on success or @false if the given locale couldn't be set.
 
-     */
 
-     bool Init(int language = wxLANGUAGE_DEFAULT,
 
-               int flags = wxLOCALE_LOAD_DEFAULT);
 
-     /**
 
-         @deprecated
 
-         This form is deprecated, use the other one unless you know what you are doing.
 
-         @param name
 
-             The name of the locale. Only used in diagnostic messages.
 
-         @param shortName
 
-             The standard 2 letter locale abbreviation; it is used as the
 
-             directory prefix when looking for the message catalog files.
 
-         @param locale
 
-             The parameter for the call to setlocale().
 
-             Note that it is platform-specific.
 
-         @param bLoadDefault
 
-             May be set to @false to prevent loading of the message catalog for the
 
-             given locale containing the translations of standard wxWidgets messages.
 
-             This parameter would be rarely used in normal circumstances.
 
-     */
 
-     bool Init(const wxString& name, const wxString& shortName = wxEmptyString,
 
-               const wxString& locale = wxEmptyString, bool bLoadDefault = true);
 
-     /**
 
-         Check whether the operating system and/or C run time environment supports
 
-         this locale. For example in Windows 2000 and Windows XP, support for many
 
-         locales is not installed by default. Returns @true if the locale is
 
-         supported.
 
-         The argument @a lang is the ::wxLanguage identifier. To obtain this for a
 
-         given a two letter ISO language code, use FindLanguageInfo() to obtain its
 
-         wxLanguageInfo structure.
 
-         See AddLanguage() for the wxLanguageInfo description.
 
-         @since 2.7.1.
 
-     */
 
-     static bool IsAvailable(int lang);
 
-     /**
 
-         Calls wxTranslations::IsLoaded().
 
-     */
 
-     bool IsLoaded(const wxString& domain) const;
 
-     /**
 
-         Returns @true if the locale could be set successfully.
 
-     */
 
-     bool IsOk() const;
 
- };
 
 
  |