@dhis2/d2-i18n

中文文档
1.2.0发布于 2025/10/30BSD-3-ClauseTypeScriptESM + CJS近 30 天下载 1.7万

i18next 翻译的配置包

中文使用文档
文档目录11 节
  1. 目的
  2. 安装
  3. 提取和生成地语字符串
  4. 在 App 代码中
  5. 更改用户区域
  6. 翻译
  7. .吉提格诺尔
  8. 升级
  9. .travis.yml (英语)
  10. 页:1
  11. 报告问题

目的

为d2前端Apps提供通化支持.

  • i18n (英语)
  • 日期/时间
  • 日历
  • 监测翻译 文档, (中文(简体) ), 网站

安装

yarn add @dhis2/d2-i18n

提取和生成地语字符串

采掘和生成由 build 财务报告和审定财务报表 start 命令编号 @dhis2/cli-app-scripts:您应该知道可以选择,它们也可以独立于建筑物之外运行:

yarn d2-app-scripts i18n extract
yarn d2-app-scripts i18n generate

在 App 代码中

在开发/建设阶段 弧度/地点 将创建目录。 它将包括国际化的必要设置、日期/时间、日历等。 它是自动生成的,所以请不要更新,任何更改都会丢失.

在最顶端 标准/指数.js (假设这是你App的主要入口). 增加以下内容:,

import './locales'

更改用户区域

创建函数 本地变化 财务报告和审定财务报表 是 LangRTL 语言 现改为: 您应该在 App 加载阶段调用此函数 .

function isLangRTL(code) {
    const langs = ['ar', 'fa', 'ur']
    const prefixed = langs.map(c => `${c}-`)
    return (
        langs.includes(code) ||
        prefixed.filter(c => code.startsWith(c)).length > 0
    )
}

function changeLocale(locale) {
    moment.locale(locale)
    i18n.changeLanguage(locale)
    document.documentElement.setAttribute(
        'dir',
        isLangRTL(locale) ? 'rtl' : 'ltr'
    )
}

翻译

传送要翻译的字符串 i18n.t (单位:千美元) 函数如下.

import i18n from '@dhis2/d2-i18n'
i18n.t('translation string')

A. 背景情况

过 上下文 属性在第二个参数至 i18n.t

i18n.t('hello world', {
    context: 'a customary string to welcome a new born developer',
})

提取点 将自动生成 毫斯克特克特 字段之前 缩写 在en.pot文件中,使翻译者有更好的翻译上下文.

msgctxt "a customary string to welcome a new born developer"
msgid "hello world"
msgstr ""

.吉提格诺尔

附加目录 弧度/地点 在结尾。 因为在Dev/建设阶段 弧度/地点 是自动生成的.

升级

线条

yarn upgrade --scope @dhis2

.travis.yml (英语)

单位 .travis.yml (英语) 在构建/部署步骤之前添加 yarn localize

页:1

  • 我们不用 反应- i18next 因为当 ASCII 和 RTL 字符混合时处理文本编辑器中的光标无法编辑 。 一些ASCII字符将光标移到一行一端,而RTL字符则将光标移到一行一端. 使用 RTL 语言字符串中的变量不起作用, 因为第一个 {{ 翻译时可能输入正确, 但我们要输入结尾序列时 }} 光标最终会出现在错误的地方,因此无法翻译.

报告问题

问题跟踪器可见于 DHIS2 吉拉 下划线 液态 项目.

深链接 :

版本与发布记录

@dhis2/d2-i18n 共发布 9 个版本,首次发布于 2018/04/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.0latest2025/10/301 年前
1.1.32023/11/202 年前
1.1.22023/09/113 年前
1.1.12023/02/023 年前
1.1.02021/03/015 年前
1.0.62019/10/247 年前

关于 @dhis2/d2-i18n 的常见问题

@dhis2/d2-i18n 是什么?

i18next 翻译的配置包

如何安装 @dhis2/d2-i18n?

在项目目录运行 npm install @dhis2/d2-i18n,或使用 pnpm add / yarn add / bun add。

@dhis2/d2-i18n 支持 TypeScript 吗?

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

@dhis2/d2-i18n 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dhis2/d2-i18n 可以商用吗?

@dhis2/d2-i18n 使用 BSD-3-Clause 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括,不构成法律意见,请以许可原文为准。

@dhis2/d2-i18n 的下载量有多少?

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

@dhis2/d2-i18n 还在维护吗?

最新版本 1.2.0 发布于 2025/10/30(1 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/04/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。