@clean-jsdoc-theme/bhasha

中文文档
5.2.1发布于 2026/10/24MITTypeScriptES Module构建来源已验证近 30 天下载 2.2万

纯度, 浏览器安全 i18n 核心用于 clean-jsdoc-主题( catalog, t, 提供者, 密钥方案, 验证)

中文使用文档
文档目录7 节
  1. 这是什么
  2. Chrome 目录
  3. t + 供应商
  4. API 插槽键 + staleness
  5. 验证原始物
  6. 贡献者
  7. 许可证

@clean-jsdoc-them/bhasha (英语)

纯净,可保护浏览器的i18n运行时间. 磁盘绑取/翻译/构建 输油管生活 @clean-jsdoc-theme/aadesh。 。 。 .

清洁-jsdoc-主题的国际化核心。 BHAsha是,我们 异态 —— 说 零 node:* - 因为按铃把它捆入了浏览器。 它拿着 可转换的铬目录 t 翻译及其倒置链 LanguageProvider 静态载体、 API- slot 密钥方案以及验证 原始的 原始的 原始的 setu 和 aadesh 导入其密钥/ 小时帮助器, 以便商定位置 身份 + 陈旧。 完全本地化的步道进入 将文件本地化。 。 。 .

这是什么

Chrome 目录

EN_CHROME 是一个嵌入式对象, 并且 平地被点缀 chrome.* 键。 关键是 来源于 目录因此,每个 t('chrome.…') 正在对电话进行编译检查.

import { EN_CHROME, EN_CHROME_FLAT, type ChromeKey } from '@clean-jsdoc-theme/bhasha';

t + 供应商

LanguageProvider 是一个 静态载体 - 不可改变的每人价值,否 setter( locale 是建构维度, 不是运行时切换) 。 没有供应商, t 返回精确的英文(字节-同名的无地基线).

import { LanguageProvider, useTranslation, createI18n } from '@clean-jsdoc-theme/bhasha';

function ThemeButton() {
  const { t } = useTranslation();
  return <button title={t('chrome.theme.toggleTitle')}>{t('chrome.theme.switchTo', { mode: 'dark' })}</button>;
}

// Seed an island root (browser) or a page render (SSR):
const i18n = createI18n({ locale: 'fr', messages: { 'chrome.theme.toggleTitle': 'Basculer le thème' } });
<LanguageProvider value={i18n}>{/* … */}</LanguageProvider>;

后退链 : 活动区域 ^ 默认区域 → 密钥 (铬)或 页:1 源文本 (单位:千美元)translateSlot,API插槽). 空值计为 未译而倒.

内插简单 {token} 替换(t(key, { count: 3 })(三); 伊斯兰法院联盟复数被推迟.

API 插槽键 + staleness

import { apiSlotKey, sourceHash } from '@clean-jsdoc-theme/bhasha';

apiSlotKey('Foo#bar', ['params', '0', 'description']); // 'api.Foo#bar#params.0.description'
sourceHash('The Foo class.'); // '9d6177d6' — FNV-1a; changes when source text changes

验证原始物

建于主题的诊断脊柱上(DiagnosticBag 编号 : suggestKey 从 @clean-jsdoc-theme/utilsA级 差额 警告; a 畸变 错误, 已报告 与钥匙相对.

import {
  validateCatalogShape, // missing → warn, unknown → error (+ "did you mean?")
  catalogCoverage, // { translated, total, ratio }
  lintSlotMarkdown, // unbalanced fence / {@link} / braces → error
  validateTokenParity, // dropped/added {token} → error
} from '@clean-jsdoc-theme/bhasha';

贡献者

感谢所有帮助建立干净的jsdoc主题的人.

Contributors

许可证

麻省理工学院.

版本与发布记录

@clean-jsdoc-theme/bhasha 共发布 18 个版本,首次发布于 2026/06/10;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.2.1latest2026/10/2416 天前
5.2.02026/08/282 个月前
5.1.12026/07/293 个月前
5.1.02026/07/243 个月前
5.0.82026/07/183 个月前
5.0.72026/07/074 个月前

其他发布通道:next → 5.0.0-alpha.0。

关于 @clean-jsdoc-theme/bhasha 的常见问题

@clean-jsdoc-theme/bhasha 是什么?

纯度, 浏览器安全 i18n 核心用于 clean-jsdoc-主题( catalog, t, 提供者, 密钥方案, 验证)

如何安装 @clean-jsdoc-theme/bhasha?

在项目目录运行 npm install @clean-jsdoc-theme/bhasha,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:preact(^10.22.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@clean-jsdoc-theme/bhasha 支持 TypeScript 吗?

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

@clean-jsdoc-theme/bhasha 支持 ESM 还是 CommonJS?

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

@clean-jsdoc-theme/bhasha 可以商用吗?

@clean-jsdoc-theme/bhasha 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@clean-jsdoc-theme/bhasha 的下载量有多少?

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

@clean-jsdoc-theme/bhasha 还在维护吗?

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