AirPower-i18n 是一个基于 TypeScript 原生支持的国际化(i18n)工具,旨在为管理多语言应用程序提供简洁、面向对象的方法。该库允许开发人员使用类创建强类型的语言包,并提供简单的 API 来切换语言。
- 基于类的语言包定义
- 强类型国际化
- 通过继承支持多种语言
- 简单的语言切换 API
- 使用 TypeScript 构建以增强开发体验
该项目由三个主要组件组成:
I18n.ts- 管理语言切换和存储的核心类Language.ts- 定义支持语言的枚举,包含详细文档type.ts- 库的类型定义
构建过程使用:
- TypeScript 编译器转换源代码
- ESLint 进行代码质量检查
- Vite 与
vite-plugin-dts插件生成声明文件 - 输出放置在
dist目录中作为 ES 模块
// 定义您的语言类
export class Strings extends I18n {
Hello_World = '你好,世界!'
}
// 定义其他语言
const English: Strings = {
language: Language.English,
Hello_World: 'Hello World!'
}
// 注册语言
Strings.addLanguage(English)
// 切换语言
Strings.setCurrentLanguage(Language.English)
// 使用翻译
console.log(Strings.get().Hello_World) // 输出: 'Hello World!'src/
├── index.ts # 主导出文件
└── i18n/ # 核心 i18n 功能
├── I18n.ts # 主 I18n 类
├── Language.ts # 语言枚举
└── type.ts # 类型定义
- 生产环境:无(零依赖)
- 开发环境:TypeScript、ESLint、Vite 及相关插件
该项目在当前代码库中似乎不包含单元测试,尽管其基于类的设计支持测试。
该包以 @airpower/i18n 名称发布在 npm 上,具有公共访问权限。
- 使用
eslint --fix修复项目中可能出现的问题 - 更新
package.json中的版本号 - 使用
yarn build构建项目 - 使用
npm publish发布包 - 使用
git add/commit/push将本地所有变更的文件推送到 Github - 根据当前版本创建
git tag并推送到Github,格式例如v1.2.3