I18n
Navi 支持定义国际化字符串。
使用 @
后跟一个标识符来定义一个国际化字符串。
以下语句定义了一个名为 hello
的国际化字符串,它支持两种语言:zh-CN
和 en
。
nvs
@hello {
"en" = "Hello",
"zh-CN" = "你好"
}
是的,我们也可以使用字符串插值来定义国际化字符串:
nvs
let n = 10;
@length {
"en" = `Length {n}`,
"zh-CN" = `长度 {n}`
}
你可以使用 @<标识符>
来引用当前语言环境的国际化字符串。
例如,以下代码在收盘价大于开盘价时将 Hello
或 你好
赋值给变量 value
,否则为空字符串。
nvs
@hello {
"en" = "Hello",
"zh-CN" = "你好",
}
let value = quote.close > quote.open ? @hello : "";
WARNING
国际化字符串定义中的字符串插值是相对于引用定义的语句。
例如,以下代码将 Length 10
或 长度 10
赋值给变量 a
,将 Length 20
或 长度 20
赋值给变量 b
。
nvs
@length {
"en" = `Length {n}`,
"zh-CN" = `长度 {n}`,
}
let n = 10;
let a = @length;
// a = "Length 10"