跳到正文
发现
其他开发者工具

FormatJS:国际化与本地化工具集

面向 JS/TS、Rust 与 Python 的国际化库和工具集合,包含 react-intl 与全套 Intl 实现。

admin
发布于 2026-10-28 · 更新于 2026-11-02
浏览
4
访问
0
下载
0
版本
v@formatjs/[email protected]
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

FormatJS 是 FormatJS 相关库的 monorepo,其中最为人熟知的是 react-intl。项目面向需要处理国际化(i18n)与本地化的开发者,覆盖 JavaScript/TypeScript、Rust、Python 以及 Hermes/React Native 等生态,提供 Intl API 实现、ICU MessageFormat 处理、框架绑定和构建工具链。

主要功能

  • Intl API 实现与 polyfill:包括 Collator、DateTimeFormat、DisplayNames、DurationFormat、getCanonicalLocales、ListFormat、Locale、LocaleMatcher、NumberFormat、PluralRules、RelativeTimeFormat、Segmenter、supportedValuesOf,分别在 npm 与 crates.io 发布。
  • 应用层 API:react-intl、vue-intl、@formatjs/svelte-intl、@formatjs/intl。
  • ICU MessageFormat:intl-messageformat、ICU 消息解析器、skeleton 解析器。
  • 开发工具:@formatjs/cli、@formatjs/cli-lib、babel-plugin-formatjs、@formatjs/ts-transformer、@formatjs/unplugin、eslint-plugin-formatjs、@formatjs/editor。
  • Rust crates:formatjs_intl、formatjs_icu_messageformat、ICU 与 printf 解析器、locale-data 基础设施、Hermes native archive。
  • Python 绑定:py_intl、icu_messageformat、icu_messageformat_parser、icu_skeleton_parser。
  • Hermes / React Native:通过 GitHub Releases 提供原生 SDK。

安装与使用

按应用生态选择发布渠道:

  • JavaScript / TypeScript:通过 npm 安装对应的 @formatjs/* 包或 react-intl 等框架包。
  • Rust:通过 crates.io 使用 formatjs_* crates。
  • Python:python -m pip install <package>
  • Hermes / React Native:从 GitHub Releases 获取原生 SDK。

各包的文档与用法可查看官网:formatjs.github.io。

注意事项

  • 发行包的 registry 名称只表示安装渠道,实际实现语言可能不同。例如 @formatjs/cli 由 Rust 支撑,但通过 npm 分发。
  • DateTimeFormat 的日历扩展是名为 @formatjs/intl-datetimeformat-calendar-* 的 npm 包;Rust 端日历支持位于 formatjs_intl_datetimeformat_calendars。
  • @formatjs/cli 会自动选择对应的 @formatjs/cli-native-* 平台包。
  • 项目还提供独立的 CLI 二进制文件,可在 GitHub Releases 中查找。

本作品整理自 GitHub 开源项目 formatjs/formatjs,原作者 @formatjs。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v@formatjs/[email protected]当前版本

    @formatjs/intl-pluralrules: 7.0.2

  2. vformatjs_intl_hermes_v0.3.2

    更新工作区依赖:formatjs_intl_datetimeformat 从 1.0.0 升至 1.0.1,formatjs_intl_datetimeformat_calendars 从 0.2.1 升至 0.2.2。

  3. vformatjs_apple_printf_parser_v

    formatjs_apple_printf_parser: 0.2.0

评论