*/
enum wxLanguage
{
- /// User's default/preffered language as got from OS.
+ /// User's default/preferred language as got from OS.
wxLANGUAGE_DEFAULT,
/// Unknown language, returned if wxLocale::GetSystemLanguage fails.
/**
- wxLanguageInfo: encapsulates ::wxLanguage to OS native lang.desc.
- translation information
+ 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 indentifier together with OS-specific information
+ related to that language.
*/
struct WXDLLIMPEXP_BASE wxLanguageInfo
{
- /// ::wxLanguage id. It should be greater than wxLANGUAGE_USER_DEFINED.
+ /// ::wxLanguage id.
+ /// It should be greater than @c wxLANGUAGE_USER_DEFINED when defining your own
+ /// language info structure.
int Language;
- wxString CanonicalName; //!< Canonical name, e.g. fr_FR.
-#ifdef __WXMSW__
- wxUint32 WinLang, //!< Win32 language identifiers (LANG_xxxx, SUBLANG_xxxx).
- WinSublang;
-#endif // __WXMSW__
- wxString Description; //!< Human-readable name of the 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;
-#ifdef __WXMSW__
/// Return the LCID corresponding to this language.
+ /// @onlyfor{wxmsw}
wxUint32 GetLCID() const;
-#endif // __WXMSW__
/// Return the locale name corresponding to this language usable with
- /// setlocale() on the current system
+ /// @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
@endWxPerlOnly
@library{wxbase}
- @category{misc}
+ @category{cfg}
@see @ref overview_i18n, @ref page_samples_internat, wxXLocale
*/
@see GetLanguageInfo()
*/
- static wxLanguageInfo* FindLanguageInfo(const wxString& locale);
+ static const wxLanguageInfo* FindLanguageInfo(const wxString& locale);
/**
Returns the canonical form of current locale name. Canonical form is the
as an argument to this function and in this case the result of
GetSystemLanguage() is used.
*/
- static wxLanguageInfo* GetLanguageInfo(int lang) const;
+ static const wxLanguageInfo* GetLanguageInfo(int lang);
/**
Returns English name of the given language or empty string if this
See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT.
*/
- static wxString GetLanguageName(int lang) const;
+ static wxString GetLanguageName(int lang);
/**
Returns the locale name as passed to the constructor or Init().
Returns wxFontEncoding() value or @c wxFONTENCODING_SYSTEM if it
couldn't be determined.
*/
- static wxFontEncoding GetSystemEncoding() const;
+ static wxFontEncoding GetSystemEncoding();
/**
Tries to detect the name of the user's default font encoding.
Returns a user-readable string value or an empty string if it couldn't be
determined.
*/
- static wxString GetSystemEncodingName() const;
+ static wxString GetSystemEncodingName();
/**
Tries to detect the user's default language setting.
- Returns the ::wxLanguage value or @b wxLANGUAGE_UNKNOWN if the language-guessing
+
+ Returns the ::wxLanguage value or @c wxLANGUAGE_UNKNOWN if the language-guessing
algorithm failed.
*/
- static int GetSystemLanguage() const;
+ 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.
// Global functions/macros
// ============================================================================
-/** @ingroup group_funcmacro_string */
+/** @addtogroup group_funcmacro_string */
//@{
/**