intl-segmenter-polyfill-rs
v0.1.7
Published
A polyfill for Intl.Segmenter
Readme
Intl-Segmenter-Polyfill-rs
About
This project polyfills the Intl.Segmenter API for browsers that do not support it.
See the bugzilla issue here.
As firefox 122 will support the API, this project will be archived in a predictable future.
Packages are available at:
- https://www.npmjs.com/package/intl-segmenter-polyfill-rs
- https://www.npmjs.com/package/intl-segmenter-polyfill-rs-web
Usage
Install wasm-pack
cargo install wasm-packInstall binaryen
Use your package manager to install binaryen.
Install icu4x-datagen
cargo install icu_datagenGenerate the data
bash icu-datagen.shBuild
bash build.shUse it in your project
import * as IntlSegmeterPolyfill from "intl-segmenter-polyfill-rs";
// Browsers like firefox
if (Intl.Segmenter === undefined) {
Intl.Segmenter = IntlSegmeterPolyfill.Segmenter;
const segmenterFr = new Intl.Segmenter('fr', { granularity: 'sentence' });
const string1 = 'Hello World. Xin chào thế giới!';
const iterator1 = segmenterFr.segment(string1)[Symbol.iterator]();
console.log(iterator1.next().value.segment);
// Expected output: 'Hello World. '
console.log(iterator1.next().value.segment);
// Expected output: 'Xin chào thế giới!'
}Use it directly in the browser
<!-- Modify your src according to your need -->
<script type="module" src="/node_modules/intl-segmenter-polyfill-rs-web/intl_segmenter_polyfill_rs.js"></script>License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
