如何为Schema<config>内的description定义i18n内容

标题可能不是很清楚,这是我的代码:

export const Config: Schema<Config> = Schema.object({
  IP: Schema.string().description('If no IP is specified, this is the default IP will be used.'),
  icon: Schema.boolean().default(true).description('Whether to show the server icon.'),
  version: Schema.boolean().default(true).description('Whether to show the server version.'),
  motd: Schema.boolean().default(true).description('Whether to show the server motd.')
})

请问我该如何为这些description添加i18n支持,以及我该如何使用?(没法使用ctx.i18n)

1 个赞
Schema.object({
  // ...
}).i18n({
  zh: { IP: xxx },
  en: { IP: xxx },
})
4 个赞

原来 Shigma 也有 i18n 方法了!看来实现全面的 Koishi 国际化指日可待

2 个赞

不是完全理解这个用法,


这样写会报错,并且我该怎么在上面(13行)中引用下方的i18n内容?

2 个赞

不需要引用,这么写完就可以了。

至于报错,你看看你写的是不是 js。对象的属性有 - 你不得加引号?

2 个赞

哦对哦,我傻逼了,谢谢西格玛(

1 个赞


但是我有多个desc需要进行i18n,我该怎么写(脑子不是很转的过来

1 个赞

饭都喂到嘴边了,看来得我帮你吃才行 :anger:

Schema.object({
  // ...
}).i18n({
  zh: { IP: xxx, icon: yyy, version: zzz },
  en: { IP: xxx, icon: yyy, version: zzz },
})

然后你还可以把这些翻译放进各自的文件:

Schema.object({
  // ...
}).i18n({
  zh: require("./zh"),
  en: require("./en"),
})
4 个赞

image

世革马的攻击性!

3 个赞

我也想被喂

3 个赞

哦草,脑子是真没转过来(张嘴

1 个赞