满分
包含全部数据资源的软件包 语言 用于构建本地化应用程序.
安装
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