# @codeborne/i18n-json 中文文档

规范地址：https://npmcn.com/package/%40codeborne/i18n-json/

版本：0\.3\.7
npm 元数据更新时间：2024-02-27T13:02:11.585Z
中文译文更新时间：2026-11-10T06:37:17.859Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40codeborne/i18n-json
原文对照：https://npmcn.com/package/%40codeborne/i18n-json/?lang=original
项目主页：https://github.com/codeborne/i18n-json#readme
源码仓库：https://github.com/codeborne/i18n-json

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：11.9 kB，12 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2022-05-12T08:45:42.223Z
- 最新版本发布：2024-02-27T13:02:11.077Z
- 近 30 天下载量：2839（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 0 个）

## 中文简介

基于 json 的简单框架中立翻译,没有依赖性

## 安装

```sh
npm install @codeborne/i18n-json
```

也可以使用：`pnpm add @codeborne/i18n-json`、`yarn add @codeborne/i18n-json`、`bun add @codeborne/i18n-json`

## README

# @codeborne/i18n-json (英语)

简单的框架中和 json 翻译,没有依赖性.

```
npm install @codeborne/i18n-json
```

见 [样本](https://npmcn.com/package/%40codeborne/i18n-json/sample) 如何构建您的翻译文件.

该格式还得到以下支持: [翻译工具图形界面](https://github.com/codeborne/translate-tool)。 。 。 .

### 使用量

在您的项目中创建 `i18n.ts` 用于进口的:

```ts
import langs from '../i18n/langs.json'
import {init} from '@codeborne/i18n-json'
export * from '@codeborne/i18n-json'

export async function initTranslations() {
  await init({langs})
}
```

那就打电话 `await initTranslations()` 在索引.ts中加载所选语言文件.

要翻译一个密钥,呼叫 `_('your.translate.key')` 或用替换: `_('users.hello', {name: 'World'})`

多元字符串也被支持: `_('trees', {count: 1})`,对于英语来说,它可能看起来像: `"trees": "You have {count|one:# tree|other:# trees}"` 俄语是: `"trees": "У вас есть {count|one:одно дерево|few:# дерева|many:# деревьев}"`。 。 。 . 由浏览器提供的多键 `Intl.PluralRules` 为语言.

更多例子见测试.

### 框架

库体非常小,具有零依赖性并具有框架不可知性. 你可以用到斯维尔特,反应,Vue或其他东西.

如果使用 SPA 框架并想要在"飞行"上切换语言(不重新加载页面),则需要添加一个 小包装 `_` 函数.

例如,在Svelte中,您会使用商店设置/检索函数,然后将其作为 `$_()`。 。 。 .

### 后汇编步骤

您可以在构建时将默认 lang 中缺失的密钥/ 值添加到其它所有文件, 从而合并翻译文件, 而不需要在运行时对未翻译的密钥进行倒置 .

```bash
i18n-compile <srcDir> <dstDir>
```

然后在prod模式下禁用动态回落到默认状态,例如. `await init({langs, fallbackToDefault: import.meta.env.DEV})`。 。 。 .

## 常见问题

### @codeborne/i18n-json 是什么？

基于 json 的简单框架中立翻译,没有依赖性

### 如何安装 @codeborne/i18n-json？

在项目目录运行 npm install @codeborne/i18n-json，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 i18n-compile，可以用 npx i18n-compile 直接运行。

### @codeborne/i18n-json 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @codeborne/i18n-json 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @codeborne/i18n-json 可以商用吗？

@codeborne/i18n-json 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @codeborne/i18n-json 的下载量有多少？

根据 npm 官方下载统计，@codeborne/i18n-json 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,839 次，日均约 95 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @codeborne/i18n-json 还在维护吗？

最新版本 0\.3\.7 发布于 2024/02/27（2 年前）；至今共发布 18 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/05/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

