{"_id":"@volcengine/i18n","_rev":"109-286c1b41feea87642f1df2a04917f180","name":"@volcengine/i18n","dist-tags":{"beta":"1.0.3-beta.0","latest":"1.0.5"},"versions":{"1.0.1-beta.0":{"name":"@volcengine/i18n","version":"1.0.1-beta.0","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.1-beta.0","maintainers":[{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"0a076ad93c8b6896149df1c75dfa777000853787","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.1-beta.0.tgz","fileCount":29,"integrity":"sha512-Wu9B2Ya5J2M0rOOW55bv8hsJPVfSLJvdFVClXQae2wlXZgRfCoUOCuQvnbygMAI1BcE12/LMW4TZCl2+aAVjjg==","signatures":[{"sig":"MEQCIFQTAM/5LBnbEvvz40YIZk+3prlYQuWKCUT8YrUR5ymPAiBY9JgmfZDEIqBeWFg4hTKbQhDqEK01Yv4tkIbY+ARVOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1WR9CRA9TVsSAnZWagAAjaQP/0+qE9lQ7vZrxrBtJlf4\n54OsKuKTiMCvv35f/Vy8uyrwIZK9PTnosdv9/gBCjNzdMviyJroAtKKcdBaB\nRm7TWem3cwn/pUa4lVX5nGrSEVY1myv5TDUsRI+lBwK9rP+pbwp7NtylPMl3\nBrFVlhaba1Wcvk9Pdigzl8XnAAxeqz5EZuKkkZlLSdCAj02mVJVaMR5I6lw1\n5X4XKsYCMQvjWaAgESdCS1pj7+Tqtf7J2NJQeX6HR8hzWbESf1djRlTPlE9Z\ngdC4zgEjkllSxM0zkvXb8AF1B6Y7s8hZtZ0BGxxOL9mqq53GLnrtEcjVozhu\nGhoeEkzl7hn2JVA1qQh7Z9HibITIIRsMlIdTicpgFW/3svT3+O0zufsX7hiF\nzI0AgsIkPd35EQSJmOxzXLlvPcyvx8fX6ANpL0EJXKyoqOaXCAeqhNSWmoXE\nxAbL5I7cUQTHmuI1XfWlIXiRTrnB2ipTR22G/EAWfBk9XJIre93K8mQ9Z6dv\ndFGRFbtV0GemZ4ddXmHGgqRv/yKRwavHI5PY7Coq/cXKZKii1r0COQCcsY2y\ngMNAec9J3iPLWWu6uXw3uaPchlfKzhUF01xQ61MVt/XdFY81blfN0XAT1ajZ\nfSlDm5vU8Cht/FZVzCeVSL0scsip3AgHMMfohBU5HOGsHv3zikC/1pwWKSVQ\nhKNl\r\n=RLc5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"./dist/react.js","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"volcengine i18n runtime lib","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"12.22.7","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","husky":"4.2.5","i18next":"^21.5.4","request":"^2.88.2","ts-jest":"^26.4.0","lru-cache":"^6.0.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@panter/vue-i18next":"^0.15.2","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"peerDependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.1-beta.0_1641374845555_0.9237445957251276","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@volcengine/i18n","version":"1.0.1","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.1","maintainers":[{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"e853d3fed805b2e4a510ab3b98a70d61f595d8cd","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.1.tgz","fileCount":29,"integrity":"sha512-ulzbjbWuCUQAXut7ZBkkhfSOdVWO+vqeaaBmCDV75XGF3sAQBt0J33/4VVGn4G9QOorWatQt2bsOkZ5QaYUusA==","signatures":[{"sig":"MEYCIQCuVNPIyFDjg+fdmy5M5c95aN5QAS5ufLGG4BZBUgEtnAIhAJkHyHKPAmlugSnp+1e5QKs92XUTgi/98+Xspf8UiTfZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh17t9CRA9TVsSAnZWagAAOGgP/0+4lTAdFKe1oE9HRq8L\nosagZ35JAox1gvjHDEqsLVhOzXuWho29GxVpRg3whbOsBfAcoKlcSSvYHxKg\n8WdRe0XP41z6gFpqdzJCeKIvh/QhD8qBLadRtB2Rv66C6BtwYORojIBXHFPC\nkB4QByYfbJLThOho/yTBnTttg718lBozPmZHQHdem5V0HLXAySeK/j6dE3iU\nSu5jfiiaItv5p4PiDUsAGQp7ezmK84rBxLk67JYc+0MwuSSrZMMkvGgbzJQQ\nrhT044CKOe7H6W+8PkFSVB9uRDaqZVJ8dugjYdhI7RmcWkb/5bOOWuMAsv81\ntA7ynFrP325gf5Ty2ZXTXqMCL1YIpfy2AJz0tuoOiSxoS0N/ka3NpxMKhhf1\ngLmk7zGjVjkpebU49frrRHmTFQTuATA9wzQ1h8ePY4CxsDaqClvYnaZa77TD\nPD38S9Xn87448fd+O4kyrm/iIidoNO6BylNuUjpRNz4u4FLYz61+wU1xxtSM\n96onujndDlX5MicXyYq5g69HnpiXNIQg4uiB3TS/3h9jkKasGQ79tXSoKX4x\n/qjX2MUSDtlG138J3BzjmtqZQL+8YqT3B5T1JgZZjrXbZJdluCNF2D+0s4Vj\nY3BSQhWn2Qsd2/qpG9wPrcPaRSXtSZIAWucnIuh/MCT6WLmUCbSfKN58Y2F/\nCP7s\r\n=xGgJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"./dist/react.js","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"volcengine i18n runtime lib","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"12.22.7","_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","husky":"4.2.5","i18next":"^21.5.4","request":"^2.88.2","ts-jest":"^26.4.0","lru-cache":"^6.0.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@panter/vue-i18next":"^0.15.2","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"peerDependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.1_1641528189562_0.8798948900858796","host":"s3://npm-registry-packages"}},"1.0.2-beta.0":{"name":"@volcengine/i18n","version":"1.0.2-beta.0","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.2-beta.0","maintainers":[{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"7eddf8d2e94c95c49c38104448ab832f5f3adce5","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.2-beta.0.tgz","fileCount":4,"integrity":"sha512-/gtrhi94AmJZ9UDLbFPnHJbJEaNpH3xbpUord9NNt6nTDwOaqgjtHS8LBLt1d1M+XIdXxdIxo17t5/0u3Sxn1w==","signatures":[{"sig":"MEYCIQDNAUf6Pr4VszPXfs9rKWxv3EzyGjzDqBndStMAylzkZAIhAI4XWh/lPB74v2aipx/i2btw5FZ7AIGQT8WeN+AokoUL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC0xHCRA9TVsSAnZWagAADKQP/2gFFVsAQNrUpCGTtC+O\n0AlVVaXQwRcgdPT1B7BH/VrN1+gnVGyC7eHV17MBYzXYbxv6g4yG1Rd3CWPn\nvefGGD+e3CEEAgInw73vTh8HtRqkLrY8F/P0H3WbTIQ4JOQlVJta2Lf6tW8Q\nc9cQ0EgrYm0swf7RXKQ+qO/VyKkcfune7Ec3+2UhAZzJUm7ARx23LDE2zxig\n/BbYXOc+R4Hd9Zd3I84+WWYLz8en5+dfDwZJpdiDUhNpsF+Bq0GLw948CmP4\nqjuUR3tM6jioNGF3wnOxNce2hpNfXPXr4p3LlXcTq3/AbaJXZ0mR5G9LEVw+\n+mvn+SJ1GP0iOlVYY+bEDT2ZW7Tg5BnvzGzcaYLwiS0z/GKfvA5q44XxpOe1\n3qtAkM16Ayb0m4CUgRZdLbFKmHmraLPLC40i/+jCXqjk1944I9r7pjkwFtQ5\nsHw3bDbMsJRMxlBsxC1TKBJ5c5SwUsb/uexiLQ3nP3J8Sx4ck3WOWjk4ooro\ni59V5eiKcaZA3jyEx5dxh6cBd/TqbVzFep1G1HDZDbZ/92jp23Bv3RHtFMe8\nsiijMoOkHXN3Ni+E7Vid9zwUuMAYKD2SxP0zYnU9JH/ci44za/Zs4NjV6/Cm\nuWbLj6EeXx7QVsReV7RujhRj4SJs18ryxTth50yIPZyNjJjMpii1OzPlgivD\nYbbs\r\n=nCip\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"./dist/react.js","readme":"# 简介\n\n`@volcengine/i18n`是针对node、web等泛前端场景推出的国际化运行时sdk，可帮助解决远程拉取[国际化翻译平台](https://www.volcengine.com/docs/6411/69417)数据并在运行时实时进行文案替换，快速接入翻译平台帮助应用国际化\n\n# 使用场景\n\n该 sdk 默认使用 [i18next](https://www.i18next.com/) 框架为底座并基于开源社区进行功能扩展，实现多个场景下的国际化能力。如需更多的能力可查询官方网站进行判断\n\n并且多种场景下只需安装一次，默认情况下是React\n\n```javascript\nnpm install @volcengine/i18n\n```\n\n以下多场景中 **backend** 参数一致，统一说明\n\n| 字段名称      | 必填 | 类型                         | 默认值                             | 说明                                                         |\n| :------------ | ---- | ---------------------------- | ---------------------------------- | ------------------------------------------------------------ |\n| namespace     | 是   | number\\|number[]             | -                                  | 国际化翻译平台空间 id                                        |\n| apiKey        | 是   | string                       | -                                  | 国际化翻译平台apikey，用于鉴权                               |\n| projectId     | 是   | number                       | -                                  | 国际化翻译平台项目 id，用于鉴权                              |\n| operatorId    | 是   | number                       | -                                  | 国际化翻译平台用户id，必须是主账号，用户鉴权                 |\n| mode          | 否   | 'normal' \\| 'gray' \\| 'test' | normal                             | 选择拉取文案的环境，支持正式，测试，灰度环境。normal: 拉取正式环境  test: 拉取测试环境 gray: 拉取灰度环境 |\n| host          | 否   | string                       | https://starling-public.snssdk.com | 文案数据获取的域名，默认国内                                 |\n| fallbackLangs | 否   | string[]                     | []                                 | 文案拉取兜底语种                                             |\n| version       | 否   | string\\|string[]             | []                                 | 按版本获取文案，与namespace一一对应                          |\n| expiredTime   | 否   | number                       | 60 * 1000                          | 本地缓存过期时间，默认一分钟                                 |\n| timeout       | 否   | number                       | 10000                              | 接口请求超时时间，默认10s                                    |\n| retry         | 否   | number                       | 5                                  | 失败后重试次数，每隔1s重试一次，默认5次                      |\n| enableWatch   | 否   | boolean                      | false                              | 针对node，开启自动定时更新本地缓存                           |\n| cron          | 否   | string                       | */20 * * * * *                     | 针对node，每隔20分钟刷新一次，格式参考：https://crontab.guru/ |\n\n## React\n\nReact 场景下基于 **[react-i18next](https://react.i18next.com/)** 进行处理，api一致，如需更多功能可查询官方网站\n\n**新建 i18n.js**\n\n```javascript\nimport reactI18n from '@volcengine/i18n'\nreactI18n.init({\n  lng: 'zh',\n  backend: {\n    namespace: 3174,\n    operatorId: 210041130,\n    apiKey: '704dbe7057f510ec8e4aedf71dc34d4f',\n    projectId: 4168,\n  }\n})\nexport default reactI18n\n```\n\n**入口index.js**\n\n```javascript\nimport React, { Suspense } from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport './i18n';\n\nReactDOM.render(\n  <Suspense fallback=\"Loading...\">\n    <App />\n  </Suspense>,\n  document.getElementById('root')\n);\n```\n\n**页面使用-类组件**\n\n```javascript\nimport React, { Component } from 'react';\nimport { withTranslation, Trans } from '@volcengine/i18n';\n\nclass Page extends Component {\n  render() {\n    const { t, i18n } = this.props;\n\n    const changeLanguage = (lng) => {\n      i18n.changeLanguage(lng);\n    };\n\n    return (\n      <div className=\"App\">\n        <div className=\"App-header\">\n          <img src={logo} className=\"App-logo\" alt=\"logo\" />\n          <button onClick={() => changeLanguage('zh')}>zh</button>\n          <button onClick={() => changeLanguage('en')}>en</button>\n        </div>\n        <h1>文案</h1>\n        <div>{t('normal')}</div>\n        \n              <h1>文案，带插值</h1>\n        <div>{t('placeholder', { name: 'xx' })}</div>\n        \n        <h1>文案，富文本</h1>\n        <Trans i18nKey=\"richText\">\n          To get started, edit <code>src/App.js</code> and save to reload.\n        </Trans>\n\n        <h1>文案，带富文本插值 </h1>\n        <Trans\n          i18nKey=\"Welcome, <0>{name}</0>!\"\n          components={[<code>src/App.js</code>]}\n          values={{ name: 3232 }}\n        />\n      </div>\n    );\n  }\n}\n\nconst PageWithTranslation = withTranslation('translations')(Page);\nexport default PageWithTranslation\n```\n\n**页面使用-函数组件**\n\n```javascript\nimport React, { Component } from 'react';\nimport { useTranslation, Trans } from '@volcengine/i18n';\nfunction Page() {\n  const { t, i18n } = useTranslation();\n  const changeLanguage = (lng) => {\n    i18n.changeLanguage(lng);\n  };\n\n  return (\n    <div className=\"App\">\n      <div className=\"App-header\">\n        <img src={logo} className=\"App-logo\" alt=\"logo\" />\n        <button onClick={() => changeLanguage('zh')}>zh</button>\n        <button onClick={() => changeLanguage('en')}>en</button>\n      </div>\n      <h1>文案</h1>\n      <div>{t('normal')}</div>\n      <h1>文案，带插值</h1>\n      <div>{t('placeholder', { name: 'xx' })}</div>\n      \n      <h1>文案，富文本</h1>\n      <Trans i18nKey=\"richText\">\n        To get started, edit <code>src/App.js</code> and save to reload.\n      </Trans>\n\n      <h1>文案，带富文本插值 </h1>\n      <Trans\n        i18nKey=\"Welcome, <0>{name}</0>!\"\n        components={[<code>src/App.js</code>]}\n        values={{ name: 3232 }}\n      />\n    </div>\n  );\n}\nexport default Page\n```\n\n## Vue\n\nvue 场景下基于 [vue-i18next](https://panter.github.io/vue-i18next/introduction.html) 进行处理，api一致，如需更多功能可查询官方网站\n\n**入口main.js**\n\n```javascript\nimport Vue from 'vue'\nimport App from './App.vue'\nimport vueI18n from '@volcengine/i18n/dist/vue';\n\nconst i18n = vueI18n.use(ICU).init({\n  lng: 'en',\n  backend: {\n    namespace: 39174,\n    operatorId: 2100041130,\n    apiKey: '704dbe7057f511ec8e4aedf71dc34d4f',\n    projectId: 4568,\n  }\n}, Vue)\n\nnew Vue({\n  render: h => h(App),\n  i18n: i18n\n}).$mount('#app')\n```\n\n**使用**\n\n```vue\n// 当注入语言如下\nconst locales = {\n  en: {\n    tos: \"Term of Service\",\n    term: \"I accept {{0}}. {{1}}.\",\n    promise: \"I promise\",\n    hello: \"Hello {{name}}\"\n  }\n};\n\n<template>\n  <div id=\"app\">\n    <h1>文案</h1>\n    {{$t('tos')}}\n\n    <h1>文案带插值</h1>\n    <p ref=\"text\" v-t=\"{ path: 'hello', args: { name: 'Hans' } }\"></p>\n\n    <h1>文案带富文本</h1>\n    <i18next path=\"term\" tag=\"label\">\n      <a href=\"#\" target=\"_blank\">{{ $t(\"tos\") }}</a>\n      <strong>{{ $t(\"promise\") }}</strong>\n    </i18next>\n  </div>\n</template>\n```\n\n## node\n\nnode端如果有使用koa之类的框架，可以直接写一个中间件进行扩展：\n\n```javascript\nconst nodeI18n = require('@volcengine/i18n/dist/node')\nmodule.exports = (options) => {\n  const i18n = nodeI18n.init({\n    lng: 'en',\n    backend: {\n      namespace: 3174,\n      operatorId: 210041130,\n      apiKey: '704dbe7057f510ec8e4aedf71dc34d4f',\n      projectId: 4168,\n      enableWatch: true\n    }\n  })\n  \n  return async (ctx, next) => {\n    ctx.t = i18n.t\n    await next()\n  }\n}\n```\n\n然后在代码中直接 **ctx.t** 进行调用\n\n# 扩展功能\n\n扩展功能都是基于i18next的生态，如想继续扩展可以在 [i18next 插件](https://github.com/i18next )自行寻找\n\n## 浏览器语言检测\n\n```javascript\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport reactI18n from '@volcengine/i18n';\nreactI18n.use(LanguageDetector).init({\n  ...\n})\n\n```\n\n## ICU\n\n文档：https://github.com/i18next/i18next-icu\n\n```javascript\nimport ICU from 'i18next-icu';\nimport reactI18n from '@volcengine/i18n';\nreactI18n.use(ICU).init({\n  ...\n})\n```\n\n# 文案拉取\n\n如果使用的不是 i18next 框架，但依旧要用到我们的国际化平台托管文案，我们也支持单独的文案拉取功能\n\n## web端\n\n```javascript\nimport WebBackend from '@volcengine/i18n/dist/backend/web'\n// 这里的options同顶部backend参数\nconst web = new WebBackend({...})\nweb.load('zh', (err, data) => {\n  // data 数据结构：{ key: value }\n})\n// 然后注入到对应的intl框架中\n```\n\n## node端\n\n```javascript\nimport NodeBackend from '@volcengine/i18n/dist/backend/node'\n// 这里的options同顶部backend参数\nconst node = new WebBackend({...})\nnode.load('zh', (err, data) => {\n  // data 数据结构：{ key: value }\n})\n// 然后注入到对应的intl框架中\n```\n\n## 自定义场景扩展\n\n自定义扩展必须实现以下四个方法\n\n## auth\n\n获取签名接口\n\n### method: POST\n\n### 参数\n\n| 参数名   | 描述                                                         |\n| :------- | ------------------------------------------------------------ |\n| url      | 鉴权文案接口地址                                             |\n| callback | (err, data) => void，有错误传err，正常请求传data，data结构: string |\n\n## fetch\n\n拉取文案核心方案\n\n### method: GET\n\n### 参数\n\n| 参数名   | 描述                                                         |\n| :------- | ------------------------------------------------------------ |\n| url      | 拉取文案接口地址                                             |\n| headers  | 主要是 { Authorization: '' } 用于接口鉴权，需要放于请求头中  |\n| callback | (err, data) => void，有错误传err，正常请求传data，data结构: { key: value } |\n\n## setCache\n\n保存文案进本地缓存，可以同时存入一个过期时间\n\n### 参数\n\n| 参数名 | 描述                      |\n| :----- | ------------------------- |\n| key    | 缓存key                   |\n| value  | value结构: { key: value } |\n\n## getCache\n\n获取本地缓存\n\n### 参数\n\n| 参数名   | 描述                                                         |\n| :------- | ------------------------------------------------------------ |\n| key      | 缓存key                                                      |\n| callback | (err, data) => void，有错误传err，正常请求传data，data结构: { key: value } |\n\n```javascript\nimport BaseBackend from '@volcengine/i18n/dist/backend/base'\n\nclass OtherBackend extends BaseBackend {\n  fetch(url, headers, callback) {\n    throw new StarlingError('fetch() needs to be implemented.')\n  }\n\n  auth(url, callback) {\n    throw new StarlingError('auth() needs to be implemented.')\n  }\n\n  getCache(key: string, callback) {\n    try {\n      const { expiredTime, value } = JSON.parse(localStorage.getItem(key) || '{}')\n      if (Date.now() - expiredTime < this.options.expiredTime && Object.keys(value).length) \t\t\t{\n        return callback(null, value)\n      }\n      callback(null, undefined)\n    } catch (error) {\n      callback(error, undefined)\n    }\n  }\n\n  setCache(key, value) {\n    try {\n      const data = { expiredTime: Date.now(), value }\n      localStorage.setItem(key, JSON.stringify(data))\n    } catch (error) {\n      //\n    }\n  }\n}\n```\n\n","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"volcengine i18n runtime lib","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^26.4.2","husky":"4.2.5","ts-jest":"^26.4.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.2-beta.0_1644907591310_0.368652138219298","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@volcengine/i18n","version":"1.0.2","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.2","maintainers":[{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"8d7aa6280cecd38b406add2ffae0b0ee22c62502","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.2.tgz","fileCount":29,"integrity":"sha512-AgBbR818lPCYn2mDA7qR0UZ26tl/gwJN/+yTBOFT3wTvBbV/uZ9Q/W4bJJY4+AdQZIZXcnYS5dJ6lURMbDQTxg==","signatures":[{"sig":"MEQCIFg3pyGRJ5DOmWhXa6S3KYs70kFmaSz1y55PV7wt3hebAiAmmvqer5EoyQVk2O/TlpKqg8d7BSWjde+pmpr3o5h+Kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD30rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyzhAAjzaid++8Z9lTodjF82KAYq8fhZrh8XOXT6WonGikhdddEZGL\r\nGxaFAm/v9DeRMctytaibq4e5sEN87cPsOln4b1diMWSA3zFohFWxhkDR/eCC\r\nd/1Hl2wEEOxkHU18yqHxkcIpLQ7eA4TzckUyvQ2ZLFCUqqQLPRrbCNKVrBmL\r\nv2q7lNY0a8NvStF7L7/d4UL50iI9vR24Ym2+woXnpDThE3kuNB+MxasNftby\r\nfMtvSid/6eyBU1VsN0ZKKMd4vrES1JREEYbJsBPR3x6ZOOVJr5blXgbrUSEa\r\nUo/D8pXEVegG7Pb+92KB8AvUCYUq2XS7i5RBH5prNPn+ql5/H3wbHVca2waz\r\nTSIagk0SwLu5ToqHWTkzuXCVgf1bKg6N1Jxm34vO9AY7FEp1V+d8GLddO+mL\r\nHdqGx2Gla+Ou75qtEq8tA10DcTCeN//CoUILEMyjfW/hDXgVozTbL9m36cLc\r\nqGwNpasZXDFDBEXRN4Dpy8DwtgDrLFouuFM0eH4FCri/ZMlc+tvCmI2pcTZt\r\nkJ3HY9LjN3dnVkh1PlsEYbvilSvSZUErjUdJJhovyDPIZhwoKSSpc++sHfEf\r\n4hcvL/UUfzFHifeE47zSpuQ3GaSnkplgEGHe9z8ce/8VbLDMCWBpvQ9MCsEZ\r\nNVwmwdROfNdc/tKap9aa277/fp4XEYIOeZ8=\r\n=zuRu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"./dist/react.js","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"awesome-starling","email":"wangyu.1027@bytedance.com"},"_npmVersion":"lerna/4.0.0/node@v12.22.7+x64 (linux)","description":"starling火山引擎文案拉取和替换工具","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"12.22.7","dependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","husky":"4.2.5","ts-jest":"^26.4.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.2_1645182251799_0.4391862828839723","host":"s3://npm-registry-packages"}},"1.0.3-beta.0":{"name":"@volcengine/i18n","version":"1.0.3-beta.0","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.3-beta.0","maintainers":[{"name":"wallaceyuan","email":"1272864289@qq.com"},{"name":"zhanglinjun.xinger","email":"zhanglinjun.xinger@bytedance.com"},{"name":"cmaxd","email":"mchao85@foxmail.com"},{"name":"liuzhao.90","email":"liuzhao.90@bytedance.com"},{"name":"yangwenhan","email":"yangwenhan.990896@bytedance.com"},{"name":"liucheng.bigorange","email":"liucheng.bigorange@bytedance.com"},{"name":"zhouyk","email":"1735506759@qq.com"},{"name":"leifangfang","email":"1761510181@qq.com"},{"name":"zhangzhimeng.vivi","email":"zhangzhimeng.vivi@bytedance.com"},{"name":"oanakiaja","email":"oanakiaja@gmail.com"},{"name":"chenyongjin","email":"756395131@qq.com"},{"name":"moonball","email":"gangc.cxy@foxmail.com"},{"name":"shushushu","email":"1064076525@qq.com"},{"name":"changzhn","email":"377757708@qq.com"},{"name":"wudechang","email":"wudechang.3@bytedance.com"},{"name":"lixiangfeiorg","email":"840965802@qq.com"},{"name":"goldvideo","email":"418900516@qq.com"},{"name":"leonardo-fu","email":"fuyuhao@bytedance.com"},{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"6161f5db6fdc9e8021f631486241185ff4c2a2b9","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.3-beta.0.tgz","fileCount":33,"integrity":"sha512-RiaYB2fJN5K40RsENzhoz+1PCs0zKsvG28f+egGXudefjlK1qRQAxNaoLXXNYr9ERaxicusYWfK7NNVdCJElIg==","signatures":[{"sig":"MEYCIQDOFvsGiCrtZKWo5ZKQm8dFcYA7tWuIs2RAt+rTA2GMrQIhANwzAysWQqGzZUx1fFr6LLDIDQD258kUw5lTLOVdna7y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbJ04ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo19Q/6AtPX0KQV2Jo3AbfFJjfGCcxPXKHgTTpE+j7J4zzYg0YoEpfI\r\nEp/8WkyGsfRNmMIHYiQTuDahuLAPQgUyoXFr0jvad7K5lHCWPwjmDImJRMYm\r\nriKc+nHuBBFpSZhs964lFe9TzrtugamPPAvqnY0lY6gWzh2tqy9MtHYdxW0K\r\nNLcUNAkkxSyB4UemH70Z7JTyDtAApyM6VadJwXe3yYEC1q6gGghBRhme0/C9\r\n8MB89N+rV8WAjQTW6ziVVBTTPptqiezlZKcQKqueCNySZA5H1Tps1RhQrbAS\r\n0pNQoygnrkcQCcuNQaEg7JwTUZJC73u8lwdAh8FKw9ShhturzWPbHLRwlcvy\r\npJkngiazzNucowsSG4+BZVy5DGf79uDcmtE0YN3z20aEBavNdaGdt/L6kbha\r\nl/fiqa0iDQGwuVpZfqVwLIiyfjxpS+73vvB1E68GT35L/XhzGvL4Adc/X5IF\r\ng9bzOycNI4j/U5WYkBxci8Y0zKORewIwfWCHPs2dM6zh76ic7lMYBbfLjh1A\r\n8JTiGTUXtY8dyZ1HylKIjYKpbLfK80XuLmn6E2yMONi12D8QjD9Zoo05t15O\r\nHaCgeGIjWXFuI1sH+QNw9/Ss95RcJ8dpDmZjxE20eYC3eeb0kkNthnDQrysv\r\nd4bs8O+4m9euIlQ0DiRe7EjIb9qE1YqrjxA=\r\n=Extz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"module":"./dist/react.js","readme":"ERROR: No README data found!","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage"},"_npmUser":{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},"_npmVersion":"6.14.17","description":"starling火山引擎文案拉取和替换工具","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"14.20.1","dependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","i18next-vue":"^2.1.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","husky":"4.2.5","ts-jest":"^26.4.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.3-beta.0_1668062520441_0.9855424042212293","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@volcengine/i18n","version":"1.0.3","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.3","maintainers":[{"name":"liangshuang.fiona","email":"liangshuang.fiona@bytedance.com"},{"name":"zhengwenyue","email":"zhengwenyue.666@bytedance.com"},{"name":"naturaless","email":"1324684500@qq.com"},{"name":"wallaceyuan","email":"1272864289@qq.com"},{"name":"zhanglinjun.xinger","email":"zhanglinjun.xinger@bytedance.com"},{"name":"cmaxd","email":"mchao85@foxmail.com"},{"name":"liuzhao.90","email":"liuzhao.90@bytedance.com"},{"name":"yangwenhan","email":"yangwenhan.990896@bytedance.com"},{"name":"liucheng.bigorange","email":"liucheng.bigorange@bytedance.com"},{"name":"zhouyk","email":"1735506759@qq.com"},{"name":"leifangfang","email":"1761510181@qq.com"},{"name":"zhangzhimeng.vivi","email":"zhangzhimeng.vivi@bytedance.com"},{"name":"oanakiaja","email":"oanakiaja@gmail.com"},{"name":"chenyongjin","email":"756395131@qq.com"},{"name":"moonball","email":"gangc.cxy@foxmail.com"},{"name":"shushushu","email":"1064076525@qq.com"},{"name":"changzhn","email":"377757708@qq.com"},{"name":"wudechang","email":"wudechang.3@bytedance.com"},{"name":"lixiangfeiorg","email":"840965802@qq.com"},{"name":"goldvideo","email":"418900516@qq.com"},{"name":"leonardo-fu","email":"fuyuhao@bytedance.com"},{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"c639335b745abb33e40d7d4f3dcb07d1b37387df","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.3.tgz","fileCount":34,"integrity":"sha512-wPVdh2MmnaO3mxSQDGwevJhKyEob1ZDOFrFu7AGeqHTnsp07dmnt7q9Im1fUCy+29UPKOS+6yxR9OsJVpPdj2A==","signatures":[{"sig":"MEQCIHQ2Tr12pb2DJiGrrqpBy8dLY+A1tL0nfYZGo7x7nsBhAiByg9JzIA/LlJDPhaSt+rPmJC4PVmRyLT2q8XQUq+K19A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkG8psACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmopow//T7PN/qFc9gD+HWdx54b7EO7ry2WlgrpJp38YTqfekwGHQA96\r\nmte19vRuyuuwmRQCsNysuVyRHrtBI25WuvfL6V1ENAtuNVnVJsLeeDcIMmUF\r\nHqKHl2quonrmEW1hTq9jObRFNApf82k/groISpiLWNB3dhzXzWl2VjSVGlwl\r\n0qaYUCFDjsL+NmVTGS5Rzc5y+Omjw0KUMHTiAQsi9rXu2kPzzBe6mvkwpL9o\r\nS0Q4zE7q0XZEyg1I4LbcIDh1aeYXlEI3Cf1Oac9u3rLiloAU5J0Wooy+DSXU\r\nqDa5hsf+fk1DP/Fy/CoOb6hzUu/MgXHbn6Nmvt/SKGBKi631WdnJRyfIaPVp\r\nRRK8Lkxfu7M3nJ6kjG+vORQDzdTPAZu3QJP6dZvQarTUBXb1/TK/itR+X0mE\r\nS621r1dIS7siUbcMcgWO/WPzZ2jWWwyJXIBQPWNBEE1IWJ1h90WrvkXystGk\r\nTFRsi2BJshHMktsV3eQlmOjVu3LZQqsrVuqFUvmxcUgBD6D+v94QGDc7lgfg\r\nHcYqnmgTGXPPmPpj9x+aMeGd4GUIunQvp3u1otCI6Yqa/E1Ot6LkHv5d0g8c\r\nrCTrElxxLqC1dfhYFtlf1JTVwExfNE6OjdCZB3q3VnhJz5bSRjnM2WfP6Sj7\r\nlo7DCfY0IbhvlkrS0N2nHv2qBZLJlpDMlP8=\r\n=cEHW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"./dist/react.d.ts","module":"./dist/react.js","gitHead":"a712de66a015c51579cd4cd6717c776c9bd14990","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","token":"echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN_}' >> ~/.npmrc","prepublish":"npm run build","test:watch":"jest --runInBand --watch --coverage"},"_npmUser":{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},"_npmVersion":"8.19.2","description":"starling火山引擎文案拉取和替换工具","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","i18next-vue":"^2.0.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.2.41","jest":"^26.4.2","husky":"4.2.5","tslib":"~2.4.1","ts-jest":"^26.4.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.3_1679542892648_0.1377223948129085","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@volcengine/i18n","version":"1.0.4","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.4","maintainers":[{"name":"zhuhongshuyu","email":"zhuhongshuyu@bytedance.com"},{"name":"wangyx.byte","email":"wangyixuan.byte@bytedance.com"},{"name":"shushushu","email":"1064076525@qq.com"},{"name":"zhoulei","email":"zhouleiwit@163.com"},{"name":"shanggw","email":"2661276716@qq.com"},{"name":"liangshuang.fiona","email":"liangshuang.fiona@bytedance.com"},{"name":"zhengwenyue","email":"zhengwenyue.666@bytedance.com"},{"name":"wallaceyuan","email":"1272864289@qq.com"},{"name":"cmaxd","email":"mchao85@foxmail.com"},{"name":"liuzhao.90","email":"liuzhao.90@bytedance.com"},{"name":"liucheng.bigorange","email":"liucheng.bigorange@bytedance.com"},{"name":"zhouyk","email":"1735506759@qq.com"},{"name":"oanakiaja","email":"oanakiaja@gmail.com"},{"name":"chenyongjin","email":"756395131@qq.com"},{"name":"lixiangfeiorg","email":"840965802@qq.com"},{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"2127e3b4ab60016b14d9d01eb03c97f207085884","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.4.tgz","fileCount":32,"integrity":"sha512-oECQgZsRGnDf6u2ryyNsfiop3e2vkJOpDMQWsNJJjoYoNuuakMb1wFLTONalrOvTCMHQhMnF6bWeKpbpwoRxiQ==","signatures":[{"sig":"MEUCICIPiAHVNg0782nQMjCFw766ZxEIbOd/Gy6BhfDfb3TUAiEA4YkS+4oQDWhzln7d9sMPLLVtN2+sDazv5/Z6Zexx6+0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66977},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"./dist/react.d.ts","module":"./dist/react.js","gitHead":"92c756fb2e4dfa9c4de586a64465bba9286f8a1b","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage"},"_npmUser":{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},"_npmVersion":"8.19.2","description":"starling火山引擎文案拉取和替换工具","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","i18next-vue":"^2.1.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","husky":"4.2.5","ts-jest":"^26.4.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.4_1686798959281_0.5944310760366067","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@volcengine/i18n","version":"1.0.5","author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","_id":"@volcengine/i18n@1.0.5","maintainers":[{"name":"vcloud_fe","email":"zhuxinben@bytedance.com"},{"name":"zhuhongshuyu","email":"zhuhongshuyu@bytedance.com"},{"name":"wangyx.byte","email":"wangyixuan.byte@bytedance.com"},{"name":"shushushu","email":"1064076525@qq.com"},{"name":"zhoulei","email":"zhouleiwit@163.com"},{"name":"shanggw","email":"2661276716@qq.com"},{"name":"liangshuang.fiona","email":"liangshuang.fiona@bytedance.com"},{"name":"zhengwenyue","email":"zhengwenyue.666@bytedance.com"},{"name":"wallaceyuan","email":"1272864289@qq.com"},{"name":"cmaxd","email":"mchao85@foxmail.com"},{"name":"liuzhao.90","email":"liuzhao.90@bytedance.com"},{"name":"liucheng.bigorange","email":"liucheng.bigorange@bytedance.com"},{"name":"zhouyk","email":"1735506759@qq.com"},{"name":"oanakiaja","email":"oanakiaja@gmail.com"},{"name":"chenyongjin","email":"756395131@qq.com"},{"name":"lixiangfeiorg","email":"840965802@qq.com"},{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},{"name":"zhang6464","email":"zhang6464@gmail.com"},{"name":"volcanoengine","email":"volcengine@bytedance.com"},{"name":"bytednpm","email":"bnpm@bytedance.com"}],"dist":{"shasum":"94e658f970f78b7f88d235d84113279de8c00bec","tarball":"https://registry.npmjs.org/@volcengine/i18n/-/i18n-1.0.5.tgz","fileCount":32,"integrity":"sha512-i1PF9kTB5qJ9WCo2ziZUc0Wr2Zo1ehpsf3AL2SwWLgffYbNgxOtCBRb6TOjNlWe9cfXvfywKN4ZHSdSlx6CfzA==","signatures":[{"sig":"MEUCIBJtgYZYn+6Mudnupy/iyAntBLW9giM4CAsZMjlTHDwOAiEAiF6IUqnvU8mX7KydXhBdeTRjUUVtmySNXDAlK+sU6aY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58635},"main":"./dist/react.js","husky":{"hooks":{"commit-msg":"commitlint .commitlintrc.js -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"./dist/react.d.ts","module":"./dist/react.js","gitHead":"9044981d797b3f291989623519935c998e41fe56","scripts":{"test":"jest --runInBand --coverage","build":"NODE_ENV=production eden-lib build","start":"eden-lib start","test:watch":"jest --runInBand --watch --coverage"},"_npmUser":{"name":"awesome-starling","email":"zhangpeng.artoria@bytedance.com"},"_npmVersion":"8.19.2","description":"starling火山引擎文案拉取和替换工具","directories":{},"lint-staged":{"*":["eden-lint"]},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"i18next":"^21.5.4","request":"^2.88.2","lru-cache":"^6.0.0","i18next-vue":"^2.1.0","node-schedule":"^2.1.0","react-i18next":"^11.14.3","@panter/vue-i18next":"^0.15.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","husky":"4.2.5","ts-jest":"^26.4.0","typescript":"^4.0.2","@types/jest":"^26.0.1","lint-staged":"^10.1.3","ttypescript":"^1.5.10","@ies/eden-lint":"^3.4.2","@types/request":"^2.48.7","@commitlint/cli":"^10.0.0","@types/lru-cache":"^5.1.1","@ies/eden-lib-build":"^1.0.1","@types/node-schedule":"^1.3.2","@ies/intl-react-plugin":"^0.4.1","@ies/create-eden-config":"^1.2.2","@rollup/plugin-commonjs":"^21.0.1","typescript-transform-paths":"^2.2.3","@rollup/plugin-node-resolve":"^13.0.6","@commitlint/config-conventional":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/i18n_1.0.5_1686822001024_0.46165894988296086","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-01-05T09:27:25.505Z","modified":"2026-09-29T17:48:53.408Z","1.0.1-beta.0":"2022-01-05T09:27:25.719Z","1.0.1":"2022-01-07T04:03:09.796Z","1.0.2-beta.0":"2022-02-15T06:46:31.434Z","1.0.2":"2022-02-18T11:04:11.945Z","1.0.3-beta.0":"2022-11-10T06:42:00.604Z","1.0.3":"2023-03-23T03:41:32.854Z","1.0.4":"2023-06-15T03:15:59.464Z","1.0.5":"2023-06-15T09:40:01.200Z"},"author":{"name":"wangyu.1027@bytedance.com"},"license":"MIT","description":"starling火山引擎文案拉取和替换工具","maintainers":[{"email":"zhang6464@gmail.com","name":"zhang6464"},{"email":"fanziqing@bytedance.com","name":"fanziqing"},{"email":"lugefan@bytedance.com","name":"jjjkkkaaa"},{"email":"bnpm@bytedance.com","name":"bytednpm"},{"email":"vcloud-fe.npm@bytedance.com","name":"vcloud_fe"},{"email":"1735506759@qq.com","name":"zhouyk"},{"email":"zhouyongqiang@bytedance.com","name":"zyqhi"},{"email":"laiboya@bytedance.com","name":"boya1127"},{"email":"kongfanzi@bytedance.com","name":"kongfanzi"},{"email":"zhangjing.2037@bytedance.com","name":"zhangjing.2037"},{"email":"maoshuai.17@bytedance.com","name":"msq17"},{"email":"huangkaisheng.0x0@bytedance.com","name":"huangkaisheng.0x0"},{"email":"yekenan@bytedance.com","name":"zhebuchong"},{"email":"wangrui.tr@bytedance.com","name":"wangrui.tr"},{"email":"gaowujian@bytedance.com","name":"gaowujian"},{"email":"liubingxia@bytedance.com","name":"vikinglbx"},{"email":"luoyu@bytedance.com","name":"ugaroy"},{"email":"zhangzhi.s@bytedance.com","name":"fytriht-bytedance"},{"email":"xuemanchi@bytedance.com","name":"xuemanchi.bytedance"},{"email":"zhujie.0@bytedance.com","name":"zhujie.0"},{"email":"chenkaijie.jay@bytedance.com","name":"kaijie_byte"},{"email":"zhen.xiong@bytedance.com","name":"zhenxiong"},{"email":"zhangchen.zchen@bytedance.com","name":"qqdxyg"},{"email":"xiezhangpeng@bytedance.com","name":"tank_xie"},{"email":"zangleiguang@bytedance.com","name":"diyijienigui"},{"email":"caocun@bytedance.com","name":"caocun"},{"email":"tangjinwei@bytedance.com","name":"tangjinwei123"},{"email":"lichen.777@bytedance.com","name":"lichen.777"},{"email":"liuhongwei.pama@bytedance.com","name":"pamaforce"},{"email":"zhaojian.0322@bytedance.com","name":"zhaojian123456"},{"email":"hanshanfeng@bytedance.com","name":"hanshanfeng_bd"},{"email":"xuxiaofeng.work@bytedance.com","name":"xuxiaofeng.work"},{"email":"yexianyou.wbju@bytedance.com","name":"kevinye9527"},{"email":"yangaofeng.lykv@bytedance.com","name":"yangaofeng.lykv"},{"email":"tiehongji@bytedance.com","name":"tiebyte"},{"email":"fengxianheng@bytedance.com","name":"fengxianheng"},{"email":"xiongxiong.001@bytedance.com","name":"xiongxiong.001"},{"email":"1064076525@qq.com","name":"shushushu"},{"email":"luofan.0406@bytedance.com","name":"luofan.0406"},{"email":"yanzhen.0756@bytedance.com","name":"yanzhen.0756"},{"email":"yuao.ash@bytedance.com","name":"ash.yu"},{"email":"chenyunfei.cs@bytedance.com","name":"chenyunfei.cs"},{"email":"yuhuajian.1@bytedance.com","name":"yuhuajian.1"},{"email":"hujinpu.flash@bytedance.com","name":"yunyi_6512"},{"email":"dongjishen@bytedance.com","name":"ethan.byte"},{"email":"wangmengyuan.1997@bytedance.com","name":"wangmengyuan"},{"email":"xuguoqing.74@bytedance.com","name":"xuguoqing"},{"email":"lvguojun.001@bytedance.com","name":"volc-iaas-test01"},{"email":"jiangyunong@bytedance.com","name":"volc-iaas"},{"email":"xiujie.1@bytedance.com","name":"xiujie.1"},{"email":"zhuhongshuyu@bytedance.com","name":"zhuhongshuyu"}],"readme":"ERROR: No README data found!","readmeFilename":""}