@electric-sql/pglite-icu-full

中文文档
0.1.0发布于 2026/06/02Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 9.5万

伊斯兰法院联盟支助

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 生成 PGlite 的 ICU 包
  4. 下载 libicu 代码和数据
  5. 创建过滤器.json 文件
  6. 构建 ICU
  7. 用 icu 数据创建归档
  8. 示例

满分

包含全部数据资源的软件包 语言 用于构建本地化应用程序.

安装

npm install @electric-sql/pglite-icu-full
# or
yarn add @electric-sql/pglite-icu-full
# or
pnpm add @electric-sql/pglite-icu-full

使用量

这个加载了由 libicu 提供的全部地方设置, 可能相当大 .

import { PGlite } from '@electric-sql/pglite'
import { icuDataDir } from '@electric-sql/pglite-icu-full'

// Create a PGlite instance with the icu resources
const pg = await PGlite.create({
  icuDataDir: await icuDataDir(),
})

// just an example, query the available collations
const collations = await pg.exec('select * from pg_collation')

生成 PGlite 的 ICU 包

以下简单描述如何生成您自己的 icu 文件, 该文件只包含您想要的 PGlite 启用的应用程序中的位置 .

下载 libicu 代码和数据

目前PGlite被测试与libicu v76.1合作. 获取来源和数据:

微调 https://github.com/unicode-org/icu/releases/download/release-76-1/icu4c-76 1-src.tgz 互联网档案馆的存檔,存档日期2013-12-22 微调 https://github.com/unicode-org/icu/releases/download/release-78.3/icu4c-78.3-data.zip

重要:您必须拥有数据源才能使用ICU数据构建工具. 检查文件 icu4c/ source/data/locales/root.txt. 如果缺少该文件,您需要下载“ icu4c- *- data.zip”,删除旧的 icu4c/ source/ data 目录, 并替换为 zip 文件的数据目录 。 如果在 icu4c/ source/data/ in中存在 *.dat 文件,即使您给出了 ICU 自定义过滤规则,该文件也会被使用.

创建过滤器.json 文件

这将只允许您生成您需要的数据 .

这里有一个简单的例子:

{
  "localeFilter": {
    "filterType": "locale",
    "includelist": [
      "en_US"
    ]
  }
}

关于更多信息,见 https://unicode-org.github.io/icu/userguide/icu data/buildingtool.html 互联网档案馆的存檔,存档日期2014-12-11。 。 。 .

构建 ICU

$CU DATA FILTER FILE ful path to your filters.json > 页面存档备份,存于互联网档案馆 ./icu/ source/confit -- with-data-packaging=文件 -- disable-shared --enstatic -- disable-tests -- disable-samples -- disable-extras -- disable-icuio -- disable-layoutex -- prefix --\ your intall dir >

美元制造 -j 制造安装

用 icu 数据创建归档

先前的步骤已经在<your install dir> 中安装了与ICU有关的一切。 您只需要数据文件 :

$ cd <your_install_dir>/share/icu/76.1/ && tar cvfz icu_76.tgz icudt76l/

现在 icu_76.tgz 包含可用于PGlite的本地化数据.

// load your newly generate icu archive
const icuDataDir = await fs.readFile(
  resolve(import.meta.dirname, 'icu_76.tgz'),
)
// now pass it to PGlite
pg = await PGlite.create({
  icuDataDir: new Blob([new Uint8Array(icuDataDir)]),
})

示例

文件夹 examples/Switzerland 包含 filter.json 和可用于 PGlite 生成的数据文件.

文档

https://www.postgresql.org/docs/current/locale.html (中文(简体) ) https://unicode-org.github.io/icu/userguide/icu data/buildingtool.html 互联网档案馆的存檔,存档日期2014-12-11

版本与发布记录

@electric-sql/pglite-icu-full 共发布 3 个版本,首次发布于 2026/05/25;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.0latest2026/06/025 个月前
0.0.22026/05/265 个月前
0.0.12026/05/255 个月前

关于 @electric-sql/pglite-icu-full 的常见问题

@electric-sql/pglite-icu-full 是什么?

伊斯兰法院联盟支助

如何安装 @electric-sql/pglite-icu-full?

在项目目录运行 npm install @electric-sql/pglite-icu-full,或使用 pnpm add / yarn add / bun add。

@electric-sql/pglite-icu-full 支持 TypeScript 吗?

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

@electric-sql/pglite-icu-full 支持 ESM 还是 CommonJS?

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

@electric-sql/pglite-icu-full 可以商用吗?

@electric-sql/pglite-icu-full 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@electric-sql/pglite-icu-full 的下载量有多少?

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

@electric-sql/pglite-icu-full 还在维护吗?

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