Skip to content

Commit

Permalink
feat(guide/i18n): calculate when inserting value (#178)
Browse files Browse the repository at this point in the history
Co-authored-by: Shigma <[email protected]>
  • Loading branch information
TTsdzb and shigma authored Jul 17, 2024
1 parent 462a65d commit d277468
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions zh-CN/guide/i18n/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,18 @@ ctx.i18n.define('en-US', { hello: 'Hello, {author.name}!' })

上述三段代码的实际效果完全相同,可以根据自己的需要进行选择。

如果你希望对属性值进行某些计算,传入 Javascript 表达式也是可以的:

```ts
ctx.i18n.define('zh-CN', { list: '列表:{arr.join(",")}' })
ctx.i18n.define('en-US', { list: 'List: {arr.join(",")}' })
```

::: tip
目前支持的表达能力会受到解析器和特殊语法的限制。请避免在表达式中引入 `}`,以免造成歧义。

此外,如果向 `session.text()` 传入的二参数是一个数组,那么直接写 `{0}` 将表示数组中的第一个元素 (而非作为 JavaScript 表达式的 `0`)。
:::
### 使用消息元素

你也可以在模板中使用 [消息元素](../basic/element.md) 语法。消息元素的属性同样使用 `{}` 进行插值:
Expand Down

0 comments on commit d277468

Please sign in to comment.