Host API 参考
I18n 接口
用于向宿主前端加载一段 JSON 语言资源。
接口定义
interface i18n {
load-json: func(content: string) -> future<result>;
}函数
load-json
- 参数:
content: string,一段 JSON 字符串。 - 返回:
future<result>。 - 说明:宿主前端会尝试加载这段 JSON,具体覆盖、合并还是替换策略由前端实现决定。
注意事项
- 这个接口当前直接调用宿主前端的
host/i18n/load_json。 - 如果前端明确拒绝加载,或者前端调用失败,会返回
Err(())。 - 这个接口当前没有额外权限校验。
示例
use crate::astrobox::psys_host;
pub async fn load_i18n_bundle() -> Result<(), ()> {
let json = serde_json::json!({
"zh-CN": {
"plugin.title": "调试工具"
},
"en-US": {
"plugin.title": "Debug Tools"
}
})
.to_string();
psys_host::i18n::load_json(&json).await
}