@bluecateng/l10n.macro

中文文档
0.2.1发布于 2026/11/03ISCTypeScriptES Module构建来源已验证近 30 天下载 2362

L10n 宏

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. Babel 配置
  4. 宏使用量

@bluecateng/l10n.macro

L10n宏报.

从旧版本升级? 见 移徙指南。 。 。 .

安装

npm i -D @bluecateng/l10n.macro babel-plugin-macros

使用量

Babel 配置

为了启用宏插件, 它应该添加到 Babel 配置中 .

plugins: [
  "macros"
]

宏使用量

页:1

标记本地化的模板。 其他l10n宏可以在模板中被浅入巢.

import {t} from '@bluecateng/l10n.macro';

console.log(t`Hello world`);

const salute = (name) => t`Hello ${name}`;

选择

在指定的选项中根据值选择字符串 key。 。 。 . 键可以是字符串,数字,也可以是布尔. 选择列表必须包括"其他",如果其他选择没有匹配,则选择该列表.

import {select} from '@bluecateng/l10n.macro';

const statusText = (active) => select(active, {true: 'Active', other: 'Inactive'});

复数

在指定的选项中选择一个字符串,其基础是主文形式 key。 。 。 . 关键必须是数字. 选择列表必须包括"其他",如果其他选择没有匹配,则选择该列表. 选择键可以是数字,也可以是目标语言的复数关键词. 页:1.

import {plural} from '@bluecateng/l10n.macro';

const peopleCount = (count) =>
    plural(count, {offset: 1, 0: 'nobody', 1: 'you', one: 'you and one other', other: 'you and # other'});

选择正文

在指定的选项中选择一个字符串,该字符串基于 key。 。 。 . 这个宏的论据必须遵循与下列规则相同的规则: plural 宏 .

import {selectOrdinal} from '@bluecateng/l10n.macro';

const place = (number) => selectOrdinal(number, {one: '#st', two: '#nd', few: '#rd', other: '#th'});

编号

使用当前区域规则格式化指定的编号. 第一个论点必须是数字. 第二个参数是可选的,如果指定必须是其中之一 'decimal' 或者说 'percent',默认值为 'decimal'。 。 。 .

import {t, number} from '@bluecateng/l10n.macro';

const interest = (value) => t`The interest is ${number(value, 'percent')}`;

版本与发布记录

@bluecateng/l10n.macro 共发布 7 个版本,首次发布于 2022/09/22;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.1latest2026/11/035 天前
0.2.02026/08/142 个月前
0.1.102026/04/096 个月前
0.1.92025/06/041.4 年前
0.1.82024/04/272 年前
0.1.72023/02/023 年前

关于 @bluecateng/l10n.macro 的常见问题

@bluecateng/l10n.macro 是什么?

L10n 宏

如何安装 @bluecateng/l10n.macro?

在项目目录运行 npm install @bluecateng/l10n.macro,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:babel-plugin-macros(>= 3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bluecateng/l10n.macro 支持 TypeScript 吗?

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

@bluecateng/l10n.macro 支持 ESM 还是 CommonJS?

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

@bluecateng/l10n.macro 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.18.0 || >=24.11.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bluecateng/l10n.macro 可以商用吗?

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

@bluecateng/l10n.macro 的下载量有多少?

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

@bluecateng/l10n.macro 还在维护吗?

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