Variable i18nConst

i18n: {
    generateLocales: ((locales, callback) => {
        name: string;
        buildStart(): void;
    });
    init: (<T>(locales) => (<K>(key) => string));
    transfromLocales: ((locales) => {
        en: {};
        zh_CN: {};
    });
} = ...

chrome扩展环境国际化相关方法

Type declaration

  • generateLocales: ((locales, callback) => {
        name: string;
        buildStart(): void;
    })

    vite-plugin,方便生成 chrome 扩展使用的国际化配置

    Returns

    返回一个提供给 vite-plugin 的配置对象

    Example

    // vite 配置
    export default defineConfig({
    plugins: [
    i18n.generateLocales(locales, (key, content) => {
    try {
    fs.writeFileSync(`public/_locales/${key}/messages.json`, content)
    fs.writeFileSync(`dist/_locales/${key}/messages.json`, content)
    } catch {}
    }),
    ],
    })
      • (locales, callback): {
            name: string;
            buildStart(): void;
        }
      • Parameters

        • locales: LocalesType

          国际化字段配置

        • callback: ((localeKey, content) => void)

          生成每种语言时触发的回调函数

            • (localeKey, content): void
            • Parameters

              • localeKey: string
              • content: string

              Returns void

        Returns {
            name: string;
            buildStart(): void;
        }

        • name: string
        • buildStart:function
  • init: (<T>(locales) => (<K>(key) => string))

    初始化获取国际化字段方法

    Returns

    返回一个获取国际化字段的方法

    Example

    const getI18n = i18n.init([{ en: 'hello', zh_CN: '你好' }])
    // 获取 “你好” 字段的国际化
    getI18n('你好')
      • <T>(locales): (<K>(key) => string)
      • Type Parameters

        Parameters

        • locales: T

          国际化字段配置

        Returns (<K>(key) => string)

          • <K>(key): string
          • Type Parameters

            • K extends {
                  en: string;
                  key?: string;
                  zh_CN: string;
                  [key: string]: string | undefined;
              }

            Parameters

            • key: K extends {
                      key: string;
                  }
                  ? K<K>["key"]
                  : K["zh_CN"]

            Returns string

  • transfromLocales: ((locales) => {
        en: {};
        zh_CN: {};
    })

    转换国际化字段数据

    Returns

    返回一个格式化后的国际化多语言配置

    Example

    const localeData = i18n.transfromLocales([{ en: 'hello', zh_CN: '你好' }])
    // 输出 { en: { hello: { message: 'hello' } }, zh_CN: { hello: { message: '你好' } } }
    console.log(localeData)
      • (locales): {
            en: {};
            zh_CN: {};
        }
      • Parameters

        Returns {
            en: {};
            zh_CN: {};
        }

        • en: {}
          • zh_CN: {}