pir

precompile-intl-runtime

Runtime helpers to be used in translations precompiled by babel-plugin-precompile-intl

Showing:

Popularity

Downloads/wk

163

GitHub Stars

9

Maintenance

Last Commit

1mo ago

Contributors

3

Package

Dependencies

0

License

MIT

Type Definitions

Built-In

Tree-Shakeable

Yes?

Categories

Readme

precompile-intl-runtime

This library is a framework-agnostic internationalization library that leverages the [Intl](https API available in all modern browsers and in Node.js for pluralization and formatting numbers, dates and times.

It is designed with a granular functional API that can easily be treeshaken by module bundlers. If your app doesn't format dates or numbers, or use plurals with offsets, it won't include the code for those features.

And even if you use every single feature, the payload of the entire library is less than 2kb after minification and compression.

Precompilation

Although this library can be used on its own to localize numbers, dates and times, it is very likely that you want to have internationalized texts in your app.

This library does not handle message formatting, instead it pairs with [babel-plugin-precompile-intl](https a babel plugin that compiles messages in the [ICU message format](https is the defacto standard for internalization and has implementations in almost every programming language, to super fast functions that use the functions in this package for the runtime part.

Installation

Just run npm install --save-dev precompile-intl-runtime and make sure your bundler (like rollup, webpack or parcel) can import functions from it.

Public API

WIP

  • init
  • locale
  • dictionary
  • locales
  • addMessages
  • format, t, _
  • formatDate
  • formatNumber
  • formatTime
  • json
  • getDateFormatter
  • getNumberFormatter
  • getTimeFormatter

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100