查看源代码 wxLocale (wx v2.4.3)

wxLocale 类封装了所有与语言相关的设置,是 C 语言区域概念的推广。

在 wxWidgets 中,此类管理当前区域。它还会初始化并激活 wxTranslations(在 wx 中未实现)对象,该对象管理消息目录。

有关支持的语言列表,请参阅 ?wxLanguage 枚举值。这些常量可用于在 init/3 中指定语言,并由 getSystemLanguage/0 返回。

请参阅

wxWidgets 文档:wxLocale

摘要

函数

调用 wxTranslations::AddCatalog(const wxString&)。

调用 wxTranslations::AddCatalog(const wxString&, wxLanguage) (在 wx 中未实现)。

调用 wxTranslations::AddCatalog(const wxString&, wxLanguage, const wxString&) (在 wx 中未实现)。

调用 wxFileTranslationsLoader::AddCatalogLookupPathPrefix() (在 wx 中未实现)。

销毁对象

返回当前区域名称的规范形式。

调用 wxTranslations::GetHeaderValue() (在 wx 中未实现)。

返回当前语言的 ?wxLanguage 常量。

返回给定语言的英文名称,如果该语言未知,则返回空字符串。

返回传递给构造函数或 init/3 的区域名称。

返回当前区域的短名称(如传递给构造函数或 init/3 函数的名称)。

调用 wxGetTranslation(const wxString&, const wxString&)。

调用 wxGetTranslation(const wxString&, const wxString&, unsigned, const wxString&)。

返回传递给 setlocale() 的当前平台特定区域名称。

尝试检测用户的默认字体编码。

尝试检测用户默认字体编码的名称。

尝试检测用户的默认区域设置。

等效于 init(This, [])

初始化 wxLocale 实例。

已弃用

调用 wxTranslations::IsLoaded() (在 wx 中未实现)。

如果区域设置成功,则返回 true。

这是默认构造函数,它不执行任何初始化对象的操作:必须使用 init/3 来执行此操作。

等效于: new/2

有关参数说明,请参阅 init/3

类型

-type wxLocale() :: wx:wx_object().

函数

链接到此函数

addCatalog(This, Domain)

查看源代码
-spec addCatalog(This, Domain) -> boolean() when This :: wxLocale(), Domain :: unicode:chardata().

调用 wxTranslations::AddCatalog(const wxString&)。

链接到此函数

addCatalog(This, Domain, MsgIdLanguage)

查看源代码
-spec addCatalog(This, Domain, MsgIdLanguage) -> boolean()
                    when This :: wxLocale(), Domain :: unicode:chardata(), MsgIdLanguage :: wx:wx_enum().

调用 wxTranslations::AddCatalog(const wxString&, wxLanguage) (在 wx 中未实现)。

链接到此函数

addCatalog(This, Domain, MsgIdLanguage, MsgIdCharset)

查看源代码
-spec addCatalog(This, Domain, MsgIdLanguage, MsgIdCharset) -> boolean()
                    when
                        This :: wxLocale(),
                        Domain :: unicode:chardata(),
                        MsgIdLanguage :: wx:wx_enum(),
                        MsgIdCharset :: unicode:chardata().

调用 wxTranslations::AddCatalog(const wxString&, wxLanguage, const wxString&) (在 wx 中未实现)。

链接到此函数

addCatalogLookupPathPrefix(Prefix)

查看源代码
-spec addCatalogLookupPathPrefix(Prefix) -> ok when Prefix :: unicode:chardata().

调用 wxFileTranslationsLoader::AddCatalogLookupPathPrefix() (在 wx 中未实现)。

-spec destroy(This :: wxLocale()) -> ok.

销毁对象

链接到此函数

getCanonicalName(This)

查看源代码
-spec getCanonicalName(This) -> unicode:charlist() when This :: wxLocale().

返回当前区域名称的规范形式。

规范形式是 UNIX 系统上使用的形式:它是一个两个或五个字母的字符串,格式为 xx 或 xx_YY,其中 xx 是语言的 ISO 639 代码,YY 是国家/地区的 ISO 3166 代码。例如,“en”、“en_GB”、“en_US”或“fr_FR”。在查找消息目录时,内部使用此形式。比较 getSysName/1

链接到此函数

getHeaderValue(This, Header)

查看源代码
-spec getHeaderValue(This, Header) -> unicode:charlist()
                        when This :: wxLocale(), Header :: unicode:chardata().

等效于 getHeaderValue(This, Header, [])

-spec getHeaderValue(This, Header, [Option]) -> unicode:charlist()
                        when
                            This :: wxLocale(),
                            Header :: unicode:chardata(),
                            Option :: {szDomain, unicode:chardata()}.

调用 wxTranslations::GetHeaderValue() (在 wx 中未实现)。

-spec getLanguage(This) -> integer() when This :: wxLocale().

返回当前语言的 ?wxLanguage 常量。

请注意,只有在使用了采用 ?wxLanguage 参数的 init/3 形式时,才能调用此函数。

-spec getLanguageName(Lang) -> unicode:charlist() when Lang :: integer().

返回给定语言的英文名称,如果该语言未知,则返回空字符串。

有关 wxLANGUAGE_DEFAULT 的特殊含义,请参阅 GetLanguageInfo() (在 wx 中未实现)的说明。

-spec getLocale(This) -> unicode:charlist() when This :: wxLocale().

返回传递给构造函数或 init/3 的区域名称。

这是一个完整、可读的名称,例如“English”或“French”。

-spec getName(This) -> unicode:charlist() when This :: wxLocale().

返回当前区域的短名称(如传递给构造函数或 init/3 函数的名称)。

链接到此函数

getString(This, OrigString)

查看源代码
-spec getString(This, OrigString) -> unicode:charlist()
                   when This :: wxLocale(), OrigString :: unicode:chardata().

等效于 getString(This, OrigString, [])

-spec getString(This, OrigString, [Option]) -> unicode:charlist()
                   when
                       This :: wxLocale(),
                       OrigString :: unicode:chardata(),
                       Option :: {szDomain, unicode:chardata()}.

调用 wxGetTranslation(const wxString&, const wxString&)。

链接到此函数

getString(This, OrigString, OrigString2, N)

查看源代码
-spec getString(This, OrigString, OrigString2, N) -> unicode:charlist()
                   when
                       This :: wxLocale(),
                       OrigString :: unicode:chardata(),
                       OrigString2 :: unicode:chardata(),
                       N :: integer().

等效于 getString(This, OrigString, OrigString2, N, [])

-spec getString(This, OrigString, OrigString2, N, [Option]) -> unicode:charlist()
                   when
                       This :: wxLocale(),
                       OrigString :: unicode:chardata(),
                       OrigString2 :: unicode:chardata(),
                       N :: integer(),
                       Option :: {szDomain, unicode:chardata()}.

调用 wxGetTranslation(const wxString&, const wxString&, unsigned, const wxString&)。

-spec getSysName(This) -> unicode:charlist() when This :: wxLocale().

返回传递给 setlocale() 的当前平台特定区域名称。

比较 getCanonicalName/1

-spec getSystemEncoding() -> wx:wx_enum().

尝试检测用户的默认字体编码。

返回 ?wxFontEncoding() 值,如果无法确定,则返回 wxFONTENCODING_SYSTEM

链接到此函数

getSystemEncodingName()

查看源代码
-spec getSystemEncodingName() -> unicode:charlist().

尝试检测用户默认字体编码的名称。

此字符串对于应用程序没有特别的用处,因为它的格式是平台相关的,因此您可能应该改用 getSystemEncoding/0

返回用户可读的字符串值;如果无法确定,则返回空字符串。

-spec getSystemLanguage() -> integer().

尝试检测用户的默认区域设置。

如果语言猜测算法失败,则返回 ?wxLanguage 值或 wxLANGUAGE_UNKNOWN

注意:此函数使用 locales 并返回用户的默认区域设置。这可能(而且通常是)与他们的首选 UI 语言相同,但这不是同一件事。使用 wxTranslation 来获取 language 信息。

-spec init(This) -> boolean() when This :: wxLocale().

等效于 init(This, [])

-spec init(This, [Option]) -> boolean()
              when This :: wxLocale(), Option :: {language, integer()} | {flags, integer()}.

初始化 wxLocale 实例。

调用此函数会产生几个全局副作用,您应该了解:首先,应用程序区域设置会发生更改 - 请注意,这将影响许多标准 C 库函数,如 printf() 或 strftime()。其次,此 wxLocale 对象成为应用程序新的当前全局区域设置,因此所有后续对 ?wxGetTranslation() 的调用都将尝试使用此区域设置的消息目录来翻译消息。

返回:成功时返回 true,如果无法设置给定区域设置,则返回 false。

-spec init(This, Name, [Option]) -> boolean()
              when
                  This :: wxLocale(),
                  Name :: unicode:chardata(),
                  Option ::
                      {shortName, unicode:chardata()} |
                      {locale, unicode:chardata()} |
                      {bLoadDefault, boolean()}.

已弃用

此形式已弃用,除非您知道自己在做什么,否则请使用其他形式。

链接到此函数

isLoaded(This, Domain)

查看源代码
-spec isLoaded(This, Domain) -> boolean() when This :: wxLocale(), Domain :: unicode:chardata().

调用 wxTranslations::IsLoaded() (在 wx 中未实现)。

-spec isOk(This) -> boolean() when This :: wxLocale().

如果区域设置成功,则返回 true。

-spec new() -> wxLocale().

这是默认构造函数,它不执行任何初始化对象的操作:必须使用 init/3 来执行此操作。

-spec new(Language) -> wxLocale() when Language :: integer();
         (Name) -> wxLocale() when Name :: unicode:chardata().

等效于: new/2

-spec new(Language, [Option]) -> wxLocale() when Language :: integer(), Option :: {flags, integer()};
         (Name, [Option]) -> wxLocale()
             when
                 Name :: unicode:chardata(),
                 Option ::
                     {shortName, unicode:chardata()} |
                     {locale, unicode:chardata()} |
                     {bLoadDefault, boolean()}.

有关参数说明,请参阅 init/3

调用此函数会产生几个全局副作用,您应该了解:首先,应用程序区域设置会发生更改 - 请注意,这将影响许多标准 C 库函数,如 printf() 或 strftime()。其次,此 wxLocale 对象成为应用程序新的当前全局区域设置,因此所有后续对 ?wxGetTranslation() 的调用都将尝试使用此区域设置的消息目录来翻译消息。