SYS_I18n.text() method
输出语言文本
签名
typescript
function text(tag: string, namespace?: string, language?: string, ...args: Array<any>): string;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
tag | string | 文本标签,对应多语言文件键值对中的键 |
namespace | string | (可选) 文本命名空间,在扩展运行环境内默认为扩展的 UUID,否则为系统默认命名空间 |
language | string | (可选) 语言, |
args | Array<any> | 语言文本中替换占位符的参数 |
返回值
string
语言文本
备注
可以使用 ${1} 格式的占位符表示参数;
语言优先级:当前显示语言 > 系统默认语言 > 数据集中第一个搜索到的包含该文本标签的语言 > 文本标签(tag)
示例
javascript
// 1. 先导入一份多语言数据作为取文本的数据源
eda.sys_I18n.importMultilingualNamespace('嘉立创示例_取文本', {
'zh-Hans': { 示例_问候: '你好,${1}!今天是${2}' },
'en': { 示例_问候: 'Hello, ${1}! Today is ${2}' },
});
// 2. 指定语言取文案,占位符按参数顺序替换
const greeting = eda.sys_I18n.text('示例_问候', '嘉立创示例_取文本', 'en', 'Tom', 'Monday');
// 3. 不传语言则用 EDA 当前显示语言;缺参的占位符原样保留
const current = await eda.sys_I18n.getCurrentLanguage();
const localized = eda.sys_I18n.text('示例_问候', '嘉立创示例_取文本', undefined, '嘉立创');
// 4. 标签不存在时回退为标签本身
const missing = eda.sys_I18n.text('示例_不存在的标签', '嘉立创示例_取文本');
console.log('当前语言:', current);
console.log('英文文案:', greeting);
console.log('当前语言文案:', localized);
console.log('缺失标签回退:', missing);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20