Skip to content
目录

国际化

Koishi 是一个支持国际化的聊天机器人框架,这意味着 Koishi 机器人可以根据不同的环境使用不同的语言。这可能听起来跟你没啥关系……但先别走!读完这一节,或许你能掌握一些非常有用的功能。国际化并没有你想象得那么简单。

设置语言偏好

在 Koishi 中,应用本身及其管理的每个用户、每个频道都可以独立地设置语言偏好。其中,应用级别的默认语言通过全局配置项 locale 来设置,而用户、频道的语言偏好则通过 admin 插件提供的 user.localechannel.locale 指令来管理 (还记得指令系统中的 这个例子 吧)。

默认情况下,语言偏好的优先级是 频道 > 用户 > 全局。一个群组中可能有大量使用不同母语的用户参与讨论,为了方便交流通常会设置不同的语言频道。而对于此类情况,频道优先策略就可以让机器人在这些频道内始终使用预设好的语言来回答,而对于未设置语言偏好的频道,机器人仍然会遵循用户的偏好设置。当然,你也可以通过全局配置项 i18n.output 来更改此行为。

本地化文本

当然,绝大部分插件都仅仅支持了中文。如果你希望你的机器人支持其他语言,除了向这些插件的作者提交 Pull Request 外,还可以本地修改插件的文本。

在活动栏中点击「本地化」,你将看到如下的界面:

locales

locales

左侧可以选择类别,右上角可以选择要显示的语言,而中间则是编辑文本的区域。其中,文本框里的占位符对应于插件本身提供的文本,可以在翻译到其他语言时用做参考。

然而,这个页面还有另一个用法,就是修改已有的文本!例如在上面的截图中,low-authority 原本对应到的文本是 权限不足,我们可以将它修改为 哼,不给用。现在让我们找个带权限等级的指令试试看有什么效果:

A
Alice
authorize -u @Bob 5
Koishi
哼,不给用!

只要你如法炮制,就可以配置出一套完全属于你的机器人文案,让你的机器人与众不同。