awtk/docs/manual/locale_info_t.md

333 lines
9.8 KiB
Markdown
Raw Normal View History

2018-12-20 17:33:31 +08:00
## locale\_info\_t
### 概述
2019-11-15 11:33:43 +08:00
本地化信息。提供字符串翻译数据管理,当前语言改变的事件通知等等。
2019-01-15 14:34:05 +08:00
----------------------------------
2018-12-20 17:33:31 +08:00
### 函数
<p id="locale_info_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2018-12-21 12:11:40 +08:00
| <a href="#locale_info_t_locale_info">locale\_info</a> | 获取缺省locale_info。 |
| <a href="#locale_info_t_locale_info_change">locale\_info\_change</a> | 设置当前的国家和语言。 |
| <a href="#locale_info_t_locale_info_create">locale\_info\_create</a> | 创建locale_info。 |
2023-06-29 10:44:29 +08:00
| <a href="#locale_info_t_locale_info_create_ex">locale\_info\_create\_ex</a> | 创建locale_info。 |
2018-12-21 12:11:40 +08:00
| <a href="#locale_info_t_locale_info_destroy">locale\_info\_destroy</a> | 释放全部资源并销毁locale_info对象。 |
| <a href="#locale_info_t_locale_info_off">locale\_info\_off</a> | 注销指定事件的处理函数。 |
| <a href="#locale_info_t_locale_info_on">locale\_info\_on</a> | 注册指定事件的处理函数。 |
2019-10-25 17:53:38 +08:00
| <a href="#locale_info_t_locale_info_reload">locale\_info\_reload</a> | 重新加载字符串资源。 |
2018-12-21 12:11:40 +08:00
| <a href="#locale_info_t_locale_info_set">locale\_info\_set</a> | 设置缺省locale_info。 |
2019-04-03 11:31:58 +08:00
| <a href="#locale_info_t_locale_info_set_assets_manager">locale\_info\_set\_assets\_manager</a> | 设置资源管理器对象。 |
2023-06-29 10:44:29 +08:00
| <a href="#locale_info_t_locale_info_set_custom_tr">locale\_info\_set\_custom\_tr</a> | 设置自定义的候补翻译函数。 |
2022-12-05 12:10:53 +08:00
| <a href="#locale_info_t_locale_info_set_fallback_tr">locale\_info\_set\_fallback\_tr</a> | 设置候补翻译函数。 |
2023-06-29 10:44:29 +08:00
| <a href="#locale_info_t_locale_info_set_fallback_tr2">locale\_info\_set\_fallback\_tr2</a> | 设置候补翻译函数。 |
2018-12-21 12:11:40 +08:00
| <a href="#locale_info_t_locale_info_tr">locale\_info\_tr</a> | 翻译字符串。 |
2018-12-20 17:33:31 +08:00
### 属性
<p id="locale_info_t_properties">
2019-01-17 15:56:15 +08:00
| 属性名称 | 类型 | 说明 |
2018-12-20 17:33:31 +08:00
| -------- | ----- | ------------ |
2023-06-29 10:44:29 +08:00
| <a href="#locale_info_t_country">country</a> | char* | 国家或地区。如CN |
2018-12-21 12:11:40 +08:00
| <a href="#locale_info_t_language">language</a> | char* | 语言。如zh |
2018-12-20 17:33:31 +08:00
#### locale\_info 函数
2018-12-21 18:29:29 +08:00
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info">获取缺省locale_info。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
locale_info_t* locale_info ();
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | locale\_info\_t* | 返回locale\_info对象。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_change 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_change">设置当前的国家和语言。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
ret_t locale_info_change (locale_info_t* locale_info, const char* language, const char* country);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2023-06-29 10:44:29 +08:00
| language | const char* | 语言。 |
| country | const char* | 国家或地区。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_create 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_create">创建locale_info。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
locale_info_t* locale_info_create (const char* language, const char* country);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | locale\_info\_t* | 返回locale\_info对象。 |
2023-06-29 10:44:29 +08:00
| language | const char* | 语言。 |
| country | const char* | 国家或地区。 |
#### locale\_info\_create\_ex 函数
-----------------------
* 函数功能:
> <p id="locale_info_t_locale_info_create_ex">创建locale_info。
* 函数原型:
```
locale_info_t* locale_info_create_ex (const char* language, const char* country, assets_manager_t* am);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | locale\_info\_t* | 返回locale\_info对象。 |
| language | const char* | 语言。 |
| country | const char* | 国家或地区。 |
| am | assets\_manager\_t* | 资源管理器。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_destroy 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_destroy">释放全部资源并销毁locale_info对象。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t locale_info_destroy (locale_info_t* locale_info);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_off 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_off">注销指定事件的处理函数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t locale_info_off (locale_info_t* locale_info, uint32_t id);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-10-25 17:53:38 +08:00
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2018-12-20 17:33:31 +08:00
| id | uint32\_t | locale\_info\_on返回的ID。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_on 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_on">注册指定事件的处理函数。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
uint32_t locale_info_on (locale_info_t* locale_info, event_type_t type, event_func_t on_event, void* ctx);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint32\_t | 返回id用于locale\_info\_off。 |
2019-10-25 17:53:38 +08:00
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2018-12-20 17:33:31 +08:00
| type | event\_type\_t | 事件类型目前固定为EVT\_LOCALE\_CHANGED。 |
| on\_event | event\_func\_t | 事件处理函数。 |
| ctx | void* | 事件处理函数上下文。 |
2019-10-25 17:53:38 +08:00
#### locale\_info\_reload 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_reload">重新加载字符串资源。
2019-10-25 17:53:38 +08:00
* 函数原型:
```
ret_t locale_info_reload (locale_info_t* locale_info);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_set 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_set">设置缺省locale_info。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
ret_t locale_info_set (locale_info_t* locale_info);
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2019-04-03 11:31:58 +08:00
#### locale\_info\_set\_assets\_manager 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_set_assets_manager">设置资源管理器对象。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
ret_t locale_info_set_assets_manager (locale_info_t* locale_info, assets_manager_t* assets_manager);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2019-10-25 17:53:38 +08:00
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2019-04-03 11:31:58 +08:00
| assets\_manager | assets\_manager\_t* | 资源管理器。 |
2023-06-29 10:44:29 +08:00
#### locale\_info\_set\_custom\_tr 函数
-----------------------
* 函数功能:
> <p id="locale_info_t_locale_info_set_custom_tr">设置自定义的候补翻译函数。
> 有时我们需要优先加载用户自定义的翻译,加载失败才加载系统缺省的,可用设置一个函数去实现这类功能。
* 函数原型:
```
ret_t locale_info_set_custom_tr (locale_info_t* locale_info, locale_info_tr_with_context_t tr, void* ctx);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
| tr | locale\_info\_tr\_with\_context\_t | 自定义的翻译函数。 |
| ctx | void* | 翻译函数的上下文。 |
2022-12-05 12:10:53 +08:00
#### locale\_info\_set\_fallback\_tr 函数
-----------------------
* 函数功能:
> <p id="locale_info_t_locale_info_set_fallback_tr">设置候补翻译函数。
* 函数原型:
```
ret_t locale_info_set_fallback_tr (locale_info_t* locale_info, locale_info_tr_t tr);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
| tr | locale\_info\_tr\_t | fallback翻译函数。 |
2023-06-29 10:44:29 +08:00
#### locale\_info\_set\_fallback\_tr2 函数
-----------------------
* 函数功能:
> <p id="locale_info_t_locale_info_set_fallback_tr2">设置候补翻译函数。
* 函数原型:
```
ret_t locale_info_set_fallback_tr2 (locale_info_t* locale_info, locale_info_tr_with_context_t tr, void* ctx);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| locale\_info | locale\_info\_t* | locale\_info对象。 |
| tr | locale\_info\_tr\_with\_context\_t | fallback翻译函数。 |
| ctx | void* | 翻译函数的上下文。 |
2018-12-21 18:29:29 +08:00
#### locale\_info\_tr 函数
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_locale_info_tr">翻译字符串。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2019-12-14 13:25:56 +08:00
const char* locale_info_tr (locale_info_t* locale_info, const char* text);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2019-12-14 13:25:56 +08:00
| 返回值 | const char* | 返回翻译之后的字符串。 |
2018-12-20 17:33:31 +08:00
| locale\_info | locale\_info\_t* | locale\_info对象。 |
2019-12-14 13:25:56 +08:00
| text | const char* | 待翻译的文本。 |
2023-06-29 10:44:29 +08:00
#### country 属性
2018-12-20 17:33:31 +08:00
-----------------------
2023-06-29 10:44:29 +08:00
> <p id="locale_info_t_country">国家或地区。如CN
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型char*
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |
#### language 属性
-----------------------
2019-11-15 11:33:43 +08:00
> <p id="locale_info_t_language">语言。如zh
2019-10-16 09:02:32 +08:00
2018-12-20 17:33:31 +08:00
* 类型char*
| 特性 | 是否支持 |
| -------- | ----- |
| 可直接读取 | 是 |
| 可直接修改 | 否 |