鸿蒙开源组件——国际化组件

jiecho
发布于 2021-7-21 16:27
浏览
0收藏

国际化组件

简介

国际化组件提供时间日期格式化、获取月份和星期的名称、数字格式化等国际化能力。

目录

国际化组件源代码目录结构如下所示:

/base/global/
├── i18n_lite                 # 国际化框架代码仓
│   ├──  frameworks           # 国际化框架核心代码
│   │   ├── i18n              # 国际化模块
│   │   │   ├── include       # 接口文件
│   │   │   ├── src           # 实现代码
│   │   │   └── test          # 测试用例
│   ├──  interfaces           # 国际化框架接口
│   │   ├── kits              # 应用接口
│   │   │   ├── i18n          # C/C++国际化能力接口
│   │   │   └── js            # javascript接口的C/C++支持

约束

语言限制:C/C++语言

支持范围限制:支持的区域和语言见附录

说明

1.提供时间日期格式化接口,使时间日期格式(如年月日顺序、月份和星期词汇、使用12或24小时制等)跟随系统设置满足不同区域用户的文化习惯。更详细的内容见API文档。示例如下:

#include "date_time_format.h"
using namespace OHOS::I18N

LocaleInfo locale("zh", "Hans", "CN");  // 获得区域
DateTimeFormat formatter(AvailableDateTimeFormatPattern::HOUR_MINUTE, locale); // 初始化时间日期示例,并获取该区域时间格式化所需数据,第一个参数为时间日期格式化模板类型,所支持的模板类型见API文档types.h
time_t time = 3600 * 3; // 所需要格式化的时间
std::string zoneInfo = "+1:00"; // 设置时区,相对于UTC 0时区加一小时
std::string out; // 时间日期格式化结果保存在out中
Ii8nStatus status = Ii8nStatus::ISUCCESS;
formatter.Format(time, zoneInfo, out, status); // 判断status状态

output:  4:00
  1. 提供数字格式化接口,使数字格式(如数字体系、数字分组、小数点、百分号等)跟随应用系统设置满足不同区域用户的文化习惯。更详细的内容见API文档。示例如下:
    #include "number_format.h" using namespace OHOS::I18N LocaleInfo locale("en", "US"); int status = 0; NumberFormat formatter(locale, status); // 初始化数据格式化实例,并获取指定locale数字格式化所需数据;status为初始化的结果,等于1时表示初始化失败 int num = 1234 std::string out = formatter.Format(num, status); // 判断status状态 output: 1,234​
  2. 提供获取指定区域月份、星期不同格式名称的能力。示例如下:
    #include "date_time_format.h" using namespace OHOS::I18N LocaleInfo locale("en", "US"); // 获得区域 DateTimeFormat formatter(AvailableDateTimeFormatPattern::HOUR_MINUTE, locale); std::string month = formatter.GetMonthName(0, DateTimeDataType::FORMAT_WIDE); // 获取format类型的长格式 output: January​
  3. 不同语言下名称跟随数字有不同的表达,如英文下会有:“one apple”、“two apples”。单复数规范总结多种语言的语法规范将名词的单数和复数形式划分为zero、one、two、few、many、other六种类型。不同语言支持不同数量的单复数类型,如中文只支持other一种,英文支持one和other两种,阿拉伯语支持全部6种类型。提供单复数接口来计算不同语言下不同数字时应该使用的名词复数类型,使“数字+名词”这种表达形式跟随应用语言满足不同语言用户的文化习惯。示例如下:
    #include "plural_format.h" using namespace OHOS::I18N Locale locale("en", "US"); // 获得区域 Ii8nStatus status = Ii8nStatus::ISUCCESS; PluralFormatter formatter = PluralFormatter(locale, status); // 判断status状态 int out = formatter.GetPluralFormatter(1, status); // 判断status状态 output: 1 // 获取单复数六条规则中的第二条规则​

    相关仓

    全球化子系统

    global_resmgr_lite

    global_i18n_lite

    global_cust_lite

    附录

    支持语言列表

    缩写

    语言

    缩写

    语言

    缩写

    语言

    am_ET

    阿姆哈拉语

    hr_HR

    克罗地亚语

    or-IN

    欧里亚语

    ar_EG

    阿拉伯语

    hu_HU

    匈牙利语

    pa_IN

    旁遮普语

    as_IN

    阿萨姆语

    in_ID

    印尼语

    pl_PL

    波兰语

    az_AZ

    阿塞拜疆语

    it_IT

    意大利语

    pt_BR

    巴西葡语

    be_BY

    白俄罗斯语

    iw_IL

    希伯来语

    pt_PT

    欧洲葡语

    bg_BG

    保加利亚语

    ja_JP

    日语

    ro_RO

    罗马尼亚语

    bn_BD

    孟加拉语

    jv_ID

    爪哇语

    ru_RU

    俄语

    bo_CN

    藏语

    ka_GE

    格鲁吉亚语

    si_LK

    僧伽罗语

    bs_BA

    波斯尼亚语

    kk_KZ

    哈萨克语(西里尔文)

    sk_SK

    斯洛伐克语

    ca_ES

    加泰罗尼亚语

    km_KH

    高棉语

    sl_SI

    斯洛文尼亚语

    cs_CZ

    捷克语

    kn_IN

    卡纳达语

    sr_Latn_RS sr_RS

    塞尔维亚语(拉丁文)

    da_DK

    丹麦语

    ko_KR

    韩语

    sv_SE

    瑞典语

    de_DE

    德语

    lo_LA

    老挝语

    sw_TZ

    斯瓦希里语

    el_GR

    希腊语

    lt_LT

    立陶宛语

    ta_IN

    泰米尔语

    en_GB

    英式英语

    lv_LV

    拉脱维亚语

    te_IN

    泰卢固语

    en_US

    美式英语

    mai-Deva-IN

    迈蒂利语

    th_TH

    泰语

    es_ES

    欧洲西语

    mi-NZ

    毛利语

    tl_PH

    菲律宾语

    es_US

    拉美西语

    mk_MK

    马其顿语

    tr_TR

    土耳其语

    et_EE

    爱沙尼亚语

    ml_IN

    马拉雅拉姆语

    uk_UA

    乌克兰语

    eu_ES

    巴斯克语

    mn_MN

    蒙古

    ur_PK

    乌尔都语

    fa_IR

    波斯语

    mr_IN

    马拉地语

    uz_UZ

    乌兹别克语

    fi_FI

    芬兰语

    ms_MY

    马来西亚语

    vi_VN

    越南语

    fr_FR

    法语

    my_MM my_ZG

    缅甸语

    zh_CN

    简体中文

    gl_ES

    加利西亚语

    nb_NO

    挪威语

    zh_HK

    香港繁体中文

    gu_IN

    古吉拉特语

    ne_NP

    尼泊尔语

    zh_TW

    台湾繁体中文

    hi_IN

    印地语

    nl_NL

    荷兰语

         

openharmony-global_i18n_lite-master.zip 117.71K 5次下载
已于2021-7-21 16:27:29修改
收藏
回复
举报
回复
    相关推荐