@finovision/i18n-resource
v1.0.0
Published
i18n resource adapter with Coze-style flat keys and TypeScript definitions (studio-i18n-resource)
Downloads
24
Maintainers
Readme
@finovision/i18n-resource
参照 Coze studio-i18n-resource 的 资源适配包。文案在 src/locales/*.json,由 config.ts 静态 import,构建时打进主包,浏览器 / Node 用法一致。
使用
import { buildDefaultConfig, defaultConfig, Locale } from '@finovision/i18n-resource';
import i18n from 'i18next';
// 按语言 ID 筛选(JSON 已在包内,无需 await、无需再 import JSON)
const resources = buildDefaultConfig([Locale.En, Locale.ZhCN]);
// 或全部语言:defaultConfig
await i18n.init({
resources,
lng: Locale.En,
defaultNS: 'i18n',
keySeparator: false,
});
await i18n.changeLanguage(Locale.ZhCN);Vue 3 + vue-i18n
import { createI18n } from 'vue-i18n';
import { buildDefaultConfig, Locale } from '@finovision/i18n-resource';
const resources = buildDefaultConfig([Locale.En, Locale.ZhCN]);
export const i18n = createI18n({
legacy: false,
locale: Locale.En,
messages: {
en: resources.en!.i18n,
'zh-CN': resources['zh-CN']!.i18n,
},
});手动传入 JSON(可选,覆盖部分语言)
import { assembleI18nResources } from '@finovision/i18n-resource';
import customEn from './my-en.json';
const resources = assembleI18nResources({ en: customEn });安装
npm install @finovision/i18n-resource
# 本地联调
npm install file:../fv-i18n-resource新增语言
- 添加
src/locales/ja.json npm run dl-i18n(更新Locale枚举、config.ts内 import 区块)npm run build
脚本
| 命令 | 说明 |
|------|------|
| npm run dl-i18n | 生成类型、locale-meta.ts、config.ts 内联 import |
| npm run build | Rollup 打包(含 JSON) |
| npm test | 构建并测试 |
License
MIT
