什么是 subhah?
subhah 是一个 npm 包,提供了一套可以让你在前端开发中快速获取国际化字符串库的工具。subhah 不仅提供了多语言翻译,还可以将这些翻译缓存在浏览器中,减轻服务器负担。
subhah 安装
使用 npm 安装 subhah:
npm install subhah
subhah 使用
引入 subhah
在你的项目中引入 subhah,并初始化其配置:
import subhah from 'subhah'; subhah.init({ // i18n相关配置 });
添加语言翻译
在配置中添加语言翻译,这里以英文和中文为例:
-- -------------------- ---- ------- ------------- ------------ -------- -- ---- --------------- --------- --------- -- ------- ------------- - -- ---- -------- - -------- ----- -------- ----- -- -- ---- -------- - -------- -------- -------- -------- -- -- ---
获取翻译
使用 t()
方法获取翻译:
const sayHello = subhah.t('hello'); const sayWorld = subhah.t('world'); console.log(sayHello + ' ' + sayWorld); // 输出 “你好 世界” 或 “Hello World”
配置
subhah 的配置如下:
配置项 | 类型 | 描述 | 默认值 |
---|---|---|---|
defaultLang | String | 默认语言 | 'en_US' |
supportedLangs | Array | 支持的语言列表 | ['en_US'] |
translations | Object | 语言翻译 | {} |
translate | Function | 翻译方法 | 默认方法 |
翻译方法
如果需要重写翻译方法,可以使用 translate
配置项,如下:
subhah.init({ // ... translate: function (key, lang) { // 重写翻译方法 return 'xxx'; }, });
缓存
为了减轻服务器负担,subhah 支持将翻译内容缓存在浏览器中。默认使用 localStorage
,配置如下:
subhah.init({ // ... cache: { storage: window.localStorage, // 存储对象,默认为 localStorage expire: 3600, // 过期时间,单位为秒,默认为 1 小时 }, });
示例代码
-- -------------------- ---- ------- ------ ------ ---- --------- ------------- ------------ -------- --------------- --------- --------- ------------- - -------- - -------- ----- -------- ----- -- -------- - -------- -------- -------- -------- -- -- ------ - -------- -------------------- ------- ----- -- --- ----- -------- - ------------------ ----- -------- - ------------------ -------------------- - - - - ----------
总结
subhah 是一个可以方便地获取国际化字符串的 npm 包,同时支持翻译缓存。在多语言应用程序中使用 subhah 可以大大简化翻译的获取,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005595e81e8991b448d6c4c