i18n — 语言包贡献
注册自定义语言翻译包。
self.i18n 提供语言包贡献能力。Ui、Service、Data 插件均可用(贡献写入通常需要 data.write 权限,读取需要 data.read)。
方法
contribute(locale, messages, callback?)
注册语言包。
from pyrite_sdk.api.data import I18nKey
self.i18n.contribute("en", {
I18nKey.NAV_FILES.key: "Files",
I18nKey.NAV_DEVICES.key: "Devices",
I18nKey.NAV_GIT.key: "Git",
})参数:
locale(str) — 语言代码(如"en"、"ja"、"zh")messages(dict) — 翻译消息字典
register_runtime(locale, messages, callback?)
注册运行时语言包(可动态更新)。
self.i18n.register_runtime("ja", {
I18nKey.NAV_FILES.key: "ファイル",
})revoke(locale, callback?)
撤销已注册的语言包。
self.i18n.revoke("en")参数:
locale(str) — 语言代码
get(locale, callback?)
查询已注册的语言包。
self.i18n.get("en",
lambda **cb: print(cb)
)list(callback?)
列出所有已注册语言包。
self.i18n.list(
lambda **cb: print(cb)
)使用 I18nKey
I18nKey 枚举包含 IDE 中所有可翻译的键。每个键有:
.key— 字符串键名.fallback— 默认文本
from pyrite_sdk.api.data import I18nKey
# 获取键名
key_name = I18nKey.NAV_FILES.key # "NAV_FILES"
# 获取默认文本
fallback = I18nKey.NAV_FILES.fallback # "文件"完整示例
from pyrite_sdk.core.plugin import DataPlugin
from pyrite_sdk.api.data import I18nKey
class JapaneseLangPack(DataPlugin):
def on_contribute(self):
self.i18n.contribute("ja", {
I18nKey.NAV_FILES.key: "ファイル",
I18nKey.NAV_DEVICES.key: "デバイス",
I18nKey.NAV_GIT.key: "Git",
I18nKey.NAV_PLUGINS.key: "プラグイン",
I18nKey.NAV_SETTINGS.key: "設定",
I18nKey.SETTINGS_TITLE.key: "設定",
I18nKey.PLUGINS_TITLE.key: "プラグイン",
I18nKey.GIT_COMMIT.key: "コミット",
})
plugin = JapaneseLangPack()
plugin.run_once()