智能小程序 Ray 开发面板 SDK —— 多语言 API 汇总

API

API 示例中的多语言数据源均来自于下方多语言对象

export default {
  en: {
    dsc_edit: 'Edit', // Basic multi language with dsc_ start and name it semantically
    dsc_hour: 'Hour',
    dsc_minute: 'Minute',
    dsc_countdown_on: 'Turn on after {0}',
    dp_switch: 'Switch', // Datapoint (DP) related multi language should be in accordance with the `dp_${dpCode}`
    dp_switch_on: 'Switch is On', // Boolean type datapoint related multi language should be in accordance with the `dp_${dpCode}_${'on' || 'off'}`
    dp_mode_smart: 'Smart Mode', // Enum type datapoint related multi language should be in accordance with the `dp_${dpCode}_${enumValue}`
    dp_fault_0: 'Binary first bit is faulty', // Bitmap type datapoint related multi language should be in accordance with the `dp_${dpCode}_${bit}`
    dp_fault_1: 'Binary second bit is faulty',
  },
  zh: {
    dsc_edit: '编辑', //  基础多语言以 dsc_ 开头并命名语义化即可
    dsc_hour: '时',
    dsc_minute: '分',
    dsc_countdown_on: '设备将在{0}后开启',
    dp_switch: '开关', // 功能点(DP)相关多语言需按照 `dp_${dpCode}` 进行命名
    dp_switch_on: '开关开', // 布尔类型功能点状态相关多语言需按照 `dp_${dpCode}_${'on' || 'off'}` 进行命名
    dp_mode_smart: '智能模式', // 枚举类型功能点状态相关多语言需按照 `dp_${dpCode}_${enumValue}` 进行命名
    dp_fault_0: '第一位故障', // Bitmap 类型功能点状态相关多语言需按照 `dp_${dpCode}_${bit}` 进行命名
    dp_fault_1: '第二位故障',
  },
};

导出多语言

在 src/i18n/index.{js,ts} 文件中进行实例化导出。

 
import { kit } from '@ray-js/panel-sdk'
const { I18N } = kit;
 
import Strings from './strings';
 
export default new I18N(Strings);
 

获取多语言

名称

getLang

描述

获取 key 值对应的多语言字符串

请求参数

参数 数据类型 说明 是否必填
key string 多语言 key 值
defaultValue string 默认值,没有查到对应配置时,返回该值

返回参数

参数 数据类型 说明
result string 返回对应 key 值的多语言字符串,或 defaultValue

请求示例

import Strings from '../i18n';
 
Strings.getLang('on', '开启');
Strings.getLang('on');
Strings.getLang('dsc_edit');

返回示例

'开启';
'I18N@on';
'编辑';

 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。   

获取功能点多语言

名称

getDpLang

描述

获取 dp code 对应的多语言字符串

请求参数

参数 数据类型 说明 是否必填
code string dp code
value string|boolean|number 对应 dp 点的状态值

返回参数

参数 数据类型 说明
result string 返回对应 key 值的多语言字符串,或 code

请求示例

import Strings from '../i18n';
 
Strings.getDpLang('switch', true);
Strings.getDpLang('switch', false);

返回示例

'开关开';
'I18N@dp_switch_off';

获取功能点名称

名称

getDpName

描述

获取 dp 点对应的名称

请求参数

参数 数据类型 说明 是否必填
code string dp code
defaultName string 默认名称

返回参数

参数 数据类型 说明
result string 返回对应 key 值的多语言字符串,或 defaultName

请求示例

import Strings from '../i18n';
 
Strings.getDpName('switch');

返回示例

'开关';

获取多语言集合

名称

getDpsLang

描述

获取多语言或 dp 点多语言对应的集合多语言

请求参数

参数 数据类型 说明 是否必填
key string|object dp code 或 dp 点集合

返回参数

参数 数据类型 说明
result string|object 返回对应 key 值的多语言字符串,或 dp 点对应的多语言集合

请求示例

import Strings from '../i18n';
 
Strings.getDpsLang('dsc_edit');
Strings.getDpsLang(['dsc_hour', 'dsc_minute', 'dsc_edit']);

返回示例

'编辑'
{dsc_hour: "时", dsc_minute: "分", dsc_edit: "编辑"}

获取功能点枚举值多语言集合

名称

getRangeStrings

描述

根据枚举型 dp 点 schema 描述获取枚举值对应的多语言集合

请求参数

参数 数据类型 说明 是否必填
code string dp code
schema object dp 点对应的 schema 对象

返回参数

参数 数据类型 说明
result object 返回 code 对应 dp 点的 range 及多语言信息

请求示例

import Strings from '../i18n';
 
Strings.getRangeStrings('mode', schema);

返回示例

{mode_smart: "智能模式", mode_cold: "dp_mode_cold"}

格式化字符串

名称

formatString

描述

格式化字符串

请求参数

参数 数据类型 说明 是否必填
str string 要格式化的文本
values any[] 格式化文本中的对应参数

返回参数

参数 数据类型 说明
result string 格式化后的文案

请求示例

import Strings from '../i18n';
const str = '我们首先要{0},然后{1},最后{2}。';
Strings.formatString(str, '起床', '洗漱', '吃饭');

返回示例

'我们首先要起床,然后洗漱,最后吃饭。';

格式化多语言字符串

名称

formatValue

描述

格式化多语言字符串

请求参数

参数 数据类型 说明 是否必填
key string 要格式化多语言 key 值
values any[] 格式化文本中的对应参数

返回参数

参数 数据类型 说明
result string 格式化后的文案

请求示例

import Strings from '../i18n';
Strings.formatValue('dsc_countdown_on', '1分钟');

返回示例

'设备将在1分钟后开启';

  立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。   

你可能感兴趣的:(小程序,API,SDK,App,物联网,Ray,多语言)