电子说
国际化部件为应用提供了一系列国际化接口,包括:时间日期格式化、数字格式化、月份星期格式化、单复数、度量衡等相关接口。基于这些国际化接口,开发者可以设计并实现具有良好国际化能力的应用,从而可以高效、低成本的实现应用的本地化。国际化部件支持如下设备:Multi-modal V200Z-R BES2600。
国际化部件架构图说明:
鸿蒙知识已更新完整gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
可以前往参考。
或者添+mau123789是卫心
#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
#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
#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
#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 // 获取单复数六条规则中的第二条规则
#include "measure_format.h"
using namespace OHOS::I18N
LocaleInfo locale("en", "US"); // 获得区域
int num = 1; // 度量衡前的数字,如 1h
std::string unit = "h"; // 度量衡
I18nStatus status = I18nStatus::ISUCCESS;
MeasureFormatType type = MeasureFormatType::MEASURE_FULL; // 指定度量衡格式,包括SHORT、MEDIUM、LONG、FULL四种格式。
MeasureFormat formatter(locale, status); // 判断status状态
std::string unit = formatter.Format(num, unit, status, type); // 获取前置数字1、FULL格式下,度量衡h(小时)的格式化表示。
output: hour
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !