AstroBox 文档
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
}

On this page