{"_id":"@cainiaofe/panda-i18n-lite","_rev":"31-078a8dc2b613199c541ca426453ece46","name":"@cainiaofe/panda-i18n-lite","dist-tags":{"latest":"1.0.0","beta":"1.0.1-beta1"},"versions":{"1.0.0":{"name":"@cainiaofe/panda-i18n-lite","version":"1.0.0","author":{"name":"cainiao FE"},"_id":"@cainiaofe/panda-i18n-lite@1.0.0","maintainers":[{"name":"ystar","email":"ystarchen@gmail.com"},{"name":"cismous","email":"251250076@qq.com"},{"name":"wangyuhao.wyh","email":"emailofwyh@foxmail.com"},{"name":"beside4ever","email":"beside4ever@outlook.com"},{"name":"sr2318522","email":"512828461@qq.com"},{"name":"xt339732","email":"xutingahaq@gmail.com"},{"name":"joshuasui","email":"joshuasui@163.com"},{"name":"shdongdongshihao","email":"630434698@qq.com"}],"homepage":"https://unpkg.com/@cainiaofe/panda-i18n-lite@1.0.0/build/index.html","dist":{"shasum":"4fad54c7375c9cd5d542f106b8fd3861a213da78","tarball":"https://registry.npmjs.org/@cainiaofe/panda-i18n-lite/-/panda-i18n-lite-1.0.0.tgz","fileCount":86,"integrity":"sha512-g2ob3DSE7jw1yCzYE52p6CmYOA0tcUqTFOv/Aer4a62JExrAByoWoSuVG4ahmVBce9Q+s/r1KsiH41jlVHLLJA==","signatures":[{"sig":"MEUCIQDNO2hFG0+ssihZbyFshRKAVpNkKtfaWyNNt9/4quNqJwIgEybZBSTTjb/S0anLEaHiK325DoYa1Kr3F4+3vU/f72c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":747494},"main":"lib/index.js","types":"es/index.d.ts","unpkg":"./dist/panda-i18n-lite.js","module":"es/index.js","browser":"es/index.js","gitHead":"34f89ec35720559268d1a49d11c3918357a7624d","scripts":{"build":"cone build","start":"parcel ./test/index.html","analyse":"source-map-explorer 'dist/panda-i18n-lite.js'"},"typings":"es/index.d.ts","_npmUser":{"name":"ystar","email":"ystarchen@gmail.com"},"repository":{"url":"git@gitlab.alibaba-inc.com:cn-panda/panda-i18n-lite.git","type":"git"},"_npmVersion":"8.3.1","description":"panda sdk lite","directories":{},"_nodeVersion":"16.14.0","browserslist":["> 5%","last 5 versions"],"dependencies":{"lodash":"^4.17.21"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.15.0","prettier":"^2.8.7","typescript":"^5.0.2","@types/lodash":"^4.14.182","@alife/cone-cli":"^0.3.79","@alib/build-scripts":"^0.1.32","source-map-explorer":"^2.5.3","@alife/eslint-config-cone":"^0.2.40","cn-build-plugin-component":"^1.10.0","@alicd/build-plugin-cone-component":"^0.2.20","@alicd/build-plugin-component-babel-plugins":"^0.3.10"},"_npmOperationalInternal":{"tmp":"tmp/panda-i18n-lite_1.0.0_1685934394313_0.5202507332874526","host":"s3://npm-registry-packages"}},"1.0.1-beta1":{"name":"@cainiaofe/panda-i18n-lite","version":"1.0.1-beta1","author":{"name":"cainiao FE"},"_id":"@cainiaofe/panda-i18n-lite@1.0.1-beta1","maintainers":[{"name":"wulie88","email":"1216446181@qq.com"},{"name":"vincent.ljq","email":"1312065793@qq.com"},{"name":"snowden_","email":"1149518004@qq.com"},{"name":"test_zy","email":"zhaoyangsoft@gmail.com"},{"name":"leannechen","email":"811873539@qq.com"},{"name":"tgshell","email":"tgshell@sina.com"},{"name":"chenyongqing.cyq","email":"chenyongqing.cyq@cainiao.com"},{"name":"fengyue1","email":"heiniuhaha@gmail.com"},{"name":"zyy7259","email":"zyy7259@gmail.com"},{"name":"juntao.wjt","email":"juntao.wjt@alibaba-inc.com"},{"name":"hadon","email":"huadong19890803@qq.com"},{"name":"lanjian.yj","email":"lanjian.yj@alibaba-inc.com"},{"name":"connerliu","email":"connerliu@126.com"},{"name":"qianqianyinian","email":"83581869@qq.com"},{"name":"zhen.hz","email":"595620510@qq.com"},{"name":"mcdyzg","email":"940608110@qq.com"},{"name":"zhouhuan","email":"zhouhuan0910@163.com"},{"name":"ystar","email":"ystarchen@gmail.com"},{"name":"cismous","email":"251250076@qq.com"},{"name":"wangyuhao.wyh","email":"emailofwyh@foxmail.com"},{"name":"beside4ever","email":"beside4ever@outlook.com"},{"name":"joshuasui","email":"joshuasui@163.com"},{"name":"shdongdongshihao","email":"630434698@qq.com"}],"homepage":"https://unpkg.com/@cainiaofe/panda-i18n-lite@1.0.1-beta1/build/index.html","dist":{"shasum":"8c448c7108e7131947a6c14bc6d049c9ef0d364b","tarball":"https://registry.npmjs.org/@cainiaofe/panda-i18n-lite/-/panda-i18n-lite-1.0.1-beta1.tgz","fileCount":90,"integrity":"sha512-VpC86tA9clXi8vJkOiVisRHc6XI/Qp1+vspgAQvELhxB0PDiTztGQuj6TqMuWFPdvCp0/uaw0I5h85xrso9STQ==","signatures":[{"sig":"MEQCIHtIQ26p3JQvu176KZFi47wXX1oeeCqvxIqMLODOwnCnAiBvDclaMUwzH+ju7yxNSG0w/oCeh6EpymVelKMyMqXbrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":723214},"main":"lib/index.js","types":"es/index.d.ts","unpkg":"./dist/panda-i18n-lite.js","module":"es/index.js","readme":"## 使用\n\n引入 panda npm 包，需注意默认$i18n 的翻译来自于的 CDN 资源，请在项目中先加载 CDN 的翻译语言包\n_\\*\\*如需脱离语言包使用请参考下述 PandaConfigProvider 的使用_\n\n#### 语言包格式\n\ncdn url\n\n> https://assets-daily.cainiao-inc.com/upload/pack/<packId>/<packVersion>/lang.js\n> https://cn.alicdn.com/upload/pack/<packId>/<packVersion>/lang.js\n\n```javascript\nimport $i18n from '@alife/panda-i18n';\n```\n\n#### 支持的语种列表\n\nzh-CN / en-US / ja-JP / ru-RU / pt-PT / fr-FR / es-ES\nar-SA / as / bn-BD / bn-IN / bho / my-MM / zh-HK / zh-SG / zh-TW / cs-CZ / da-DK / nl-BE / nl-NL / en-BD / en-CA / en-CZ / en-FR / en-HU / en-ID / en-MY / en-MM / en-NP / en-PK / en-PH / en-PL / en-SG / en-ES / en-LK / en-TH / en-GB / en-VN / de-DE / gu / iw-IL / hi-IN / hu / in-ID / it-IT / kn / ko-KR / lo-LA / ms-MY / ml / mni / mr / ne-NP / or / pa / pl-PL / pt-BR / ro / sr / si-LK / sk-SK / sv-SE / tl-PH / ta / te / th-TH / tr-TR / uk-UA / ur-IN / ur-PK / vi-VN\n\n#### 翻译文案格式\n\n> {\n> 'en-US': {\n> 'Hello': 'hello'\n> },\n> 'zh-CN': {\n> 'Hello': '你好'\n> }\n> ...\n> }\n\nts 表述\n\n> {\n> [lang in TLanauage]?: Record<string, string>\n> }\n\n## $i18n\n\n### $i18n.get() 消费多语言翻译\n\n```javascript\n/** \n* @param {key:string | {id:string; dm:string; ns?:string}} \n  文案的key(id)以及默认翻译(dm) 或 文案key(key) \n  ns为namespace，用于创建i18n实例时，区分多实例，一般不关心\n* @param {object} 可选参数，如果文案中存在变量\n* @return {string} 根据语言环境渲染的文案\n*/\n\n$i18n.get('hello'); // 你好\n\n$i18n.get({ id: 'hello', dm: '你好' }); // 你好\n\n$i18n.get(\n  {\n    id: 'totalPage',\n    dm: '一共 {index} 页',\n  },\n  { index: 20 },\n); // 一共20页\n\n/** namespace的使用，主要用于组件内消费 */\n$i18n.get(\n  {\n    id: 'hello',\n    dm: '你好',\n    ns: 'MyComponent',\n  },\n  { index: 20 },\n); // 一共20页\n```\n\n### $i18n.getLang() 获取当前语言环境\n\n```javascript\n/**\n * @return {string} 当前环境中的语种的值\n */\n$i18n.getLang(); // 'zh-CN' or 'en-US'\n```\n\n### $i18n.setLang() 切换语言环境\n\n```javascript\n/**\n * @param {string} 当前需要切换的语种\n * @return {void}\n */\n$i18n.setLang('en-US');\n```\n\n## setConfig\n\n使用 setConfig api 可以配置 panda 的全局配置\n使用 setConfig 保持在应用渲染之前执行，保证 panda 的配置在渲染时即可生效\n\n```tsx\nimport { setConfig } from '@alife/panda-i18n';\n\nsetConfig({\n  logLevel: 0\n})\n\n...\n```\n\n| option                                        | default | description                                                          |\n| --------------------------------------------- | ------- | -------------------------------------------------------------------- |\n| logLevel                                      | 2       | 控制台输出 0 关闭所有 1 仅 error 2 error&warn ，默认 2               |\n| cookieKey                                     |\n| 自定义 cookieKey（优先级高于 CDN 语言包设置） |\n| langList                                      |         | 设置全局生效的语种列表，如环境语种不在列表中将把第一个作为默认的语种 |\n\n## 进阶使用说明\n\n### init\n\n使用 init api 可创建一个$i18n 的实例\n\n| option                                        | default | description                                                          |\n| --------------------------------------------- | ------- | -------------------------------------------------------------------- |\n| locale                                        |\n| 文案翻译                                      |\n| lang                                          |\n| 自定义 cookieKey（优先级高于 CDN 语言包设置） |\n| langList                                      |         | 设置全局生效的语种列表，如环境语种不在列表中将把第一个作为默认的语种 |\n| componentName                                 |         |                                                                      |\n\n### 多实例\n\n当前$i18n的处理为多实例的方案处理，默认输出的为cdn的实例，即可获取panda平台的发布的cdn中的文案\n可使用 **_$i18n.init\\*\\*\\* 的 api 生成一个实例，即可使用$i18n 所有的能力\n当使用***PandaConfigProvider**_时为在内部生成一个 context 作用域，内部可使用 _**useI18n**_ 获取生成$i18n 实例\n当使用 ***withI18n ***为组件进行 hoc 包裹时，也会生成一个基于组件配置的实例，内部可使用 props 中获取该实例，也可使用 \\_**useI18n**\\_\\*\\* \\*\\*获取该实例\n\n### 语种选择\n\npanda 环境语种由多个值的选择决定\n\n- lang 初始化配置\n- urlSearch URL 的 seach 中的 lang 参数\n- cookie 默认为 x-hng 的语种，或用户设置的 cookieKey\n- defaultLang 默认的语种\n- DEFAULT_LANG 特指中文\n\n**权重：**\n\n> lang > userSearch > cookie(default) > cookie(custom) > defaultLang > DEFAULT_LANG\n\n_如果用户在 _**_setConfig _**_设置的 langList（生效的语种）_\n_当筛选出当前的语种时无法在 langList 找到时，会使用 langList 的第一个语种作为当前环境语种，保证语种一定在支持的语种列表中_\n","browser":"es/index.js","gitHead":"e68723bef7a0626b8dff70a2d8fcb9b377169334","scripts":{"build":"cone build","start":"parcel ./test/index.html","analyse":"source-map-explorer 'dist/panda-i18n-lite.js'"},"typings":"es/index.d.ts","_npmUser":{"name":"ystar","email":"ystarchen@gmail.com"},"repository":{"url":"git@gitlab.alibaba-inc.com:cn-panda/panda-i18n-lite.git","type":"git"},"_npmVersion":"8.3.1","description":"panda sdk lite","directories":{},"_nodeVersion":"16.14.0","browserslist":["> 5%","last 5 versions"],"dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.15.0","prettier":"^2.8.7","typescript":"^5.0.2","@alife/cone-cli":"^0.3.79","@alib/build-scripts":"^0.1.32","source-map-explorer":"^2.5.3","@alife/eslint-config-cone":"^0.2.40","cn-build-plugin-component":"^1.10.0","@alicd/build-plugin-cone-component":"^0.2.20","@alicd/build-plugin-component-babel-plugins":"^0.3.10"},"_npmOperationalInternal":{"tmp":"tmp/panda-i18n-lite_1.0.1-beta1_1701775342798_0.28103648613410215","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-06-05T03:06:34.221Z","modified":"2026-05-28T14:34:00.414Z","1.0.0":"2023-06-05T03:06:34.562Z","1.0.1-beta1":"2023-12-05T11:22:23.083Z"},"author":{"name":"cainiao FE"},"homepage":"https://unpkg.com/@cainiaofe/panda-i18n-lite@1.0.0/build/index.html","repository":{"url":"git@gitlab.alibaba-inc.com:cn-panda/panda-i18n-lite.git","type":"git"},"description":"panda sdk lite","maintainers":[{"email":"ystarchen@gmail.com","name":"ystar"},{"email":"beside4ever@outlook.com","name":"beside4ever"},{"email":"811873539@qq.com","name":"leannechen"},{"email":"tgshell@sina.com","name":"tgshell"},{"email":"joshuasui@163.com","name":"joshuasui"},{"email":"630434698@qq.com","name":"shdongdongshihao"},{"email":"1149518004@qq.com","name":"snowden_"},{"email":"zhaoyangsoft@gmail.com","name":"test_zy"},{"email":"fyq01039365@cainiao.com","name":"feiyanqiu"},{"email":"1312065793@qq.com","name":"vincent.ljq"},{"email":"emailofwyh@foxmail.com","name":"wangyuhao.wyh"},{"email":"1216446181@qq.com","name":"wulie88"},{"email":"251250076@qq.com","name":"cismous"},{"email":"yangyuyu9898@163.com","name":"yuqiaoling"},{"email":"wanghuanqiang1988@gmail.com","name":"walker.whq"},{"email":"majiangqi.mjq@cainiao.com","name":"majiangqi.mjq"},{"email":"heiniuhaha@gmail.com","name":"fengyue1"},{"email":"kayla3love@163.com","name":"kayla3love"},{"email":"940608110@qq.com","name":"mcdyzg"},{"email":"juntao.wjt@alibaba-inc.com","name":"juntao.wjt"},{"email":"595620510@qq.com","name":"zhen.hz"},{"email":"ozgzzyzo@gmail.com","name":"gz.sanqi"},{"email":"hahaiwin@163.com","name":"hahaiwin"},{"email":"yangjian_666@qq.com","name":"lanjian.yj"},{"email":"83581869@qq.com","name":"qianqianyinian"},{"email":"connerliu@126.com","name":"connerliu"},{"email":"huadong19890803@qq.com","name":"hadon"},{"email":"zhouhuan0910@163.com","name":"zhouhuan"},{"email":"chenyongqing.cyq@cainiao.com","name":"chenyongqing.cyq"},{"email":"qdq77a@gmail.com","name":"77a"},{"email":"1914016465@qq.com","name":"lhn123"}],"readme":"","readmeFilename":""}