Nonebot Plugin Alconna 0.46.0 #50
RF-Tar-Railt
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
新增
Text
新增.bold()
,.italic()
等一系列便捷方法I18n
通用消息段(在发送前会转为 UniMessage)AlconnaMatcher
新增.i18n()
方法,与I18n
作用相同lang
,可以切换或列出可用的语言模式改进
Tarina
至 0.5.0 以使用 tarina-lang 新特性i18n 说明
plugin-alconna 的 i18n 支持基于
tarina.lang
,其提供了一个 tarina-lang 命令行工具首先可以通过
tarina-lang new
创建文件夹i18n
之后使用
cd ./i18n
和tarina-lang init
,会生成如下文件:你需要将你语言文件中所有包含的项目声明在
.template.json
中,例如:然后通过
tarina-lang schema
和tarina-lang create XXX
来创建新的语言文件。以下为使用命令创建en-US
和zh-CN
语言文件后的文件结构:其中一个语言文件如下所示:
Note
tarina-lang
支持创建和读取 YAML 格式的语言文件。当然首先你需要额外安装tarina[yaml]
然后通过
tarina-lang create XXX --yaml
创建.yml
文件一个 yaml 格式的语言文件如下所示:
之后,在
plugin
里面,你可以用如下方法来使用i18n条目:高级一点,你可以通过
tarina-lang model
来生成一个模型文件:📦 awesome-bot ├──📂 i18n │ ├── __init__.py │ ├── .config.json │ ├── .lang.schema.json │ ├── .template.json │ ├── .template.schema.json │ ├── en-US.json ++ ├── model.py │ └── zh-CN.json ├── plugin.py └── ...
其中
model.py
:之后便可以这样使用:
基于此,
I18n
和AlconnaMatcher.i18n
可以如下使用:Note
在
plugin-alconna
中, i18n 条目会先被转换成 UniMessageTemplate所以 UniMessageTemplate 的所有特性都可用于 i18n 条目
例如:
Full Changelog: v0.45.4...v0.46.0
This discussion was created from the release Nonebot Plugin Alconna 0.46.0.
Beta Was this translation helpful? Give feedback.
All reactions