fluent v0.13.0
fluent
fluent is a JavaScript implementation of Project Fluent, a localization
framework designed to unleash the expressive power of the natural language.
Installation
fluent can be used both on the client-side and the server-side. You can
install it from the npm registry or use it as a standalone script (as the
Fluent global).
npm install fluentHow to use
The FluentBundle constructor provides the core functionality of formatting
translations from FTL files.
import { FluentBundle, ftl } from 'fluent';
const bundle = new FluentBundle('en-US');
const errors = bundle.addMessages(ftl`
-brand-name = Foo 3000
welcome = Welcome, { $name }, to { -brand-name }!
`);
if (errors.length) {
// syntax errors are per-message and don't break the whole resource
}
const welcome = bundle.getMessage('welcome');
bundle.format(welcome, { name: 'Anna' });
// → 'Welcome, Anna, to Foo 3000!'The API reference is available at http://projectfluent.org/fluent.js/fluent.
Compatibility
fluent requires the following Intl formatters:
Intl.DateTimeFormat(standard, well-supported)Intl.NumberFormat(standard, well-supported)Intl.PluralRules(standard, new in ECMAScript 2018)
Intl.PluralRules may already be available in some engines. In most cases,
however, a polyfill will be required. We recommend intl-pluralrules.
import 'intl-pluralrules';
import { FluentBundle } from 'fluent';For legacy browsers, the compat build has been transpiled using Babel's env
preset. It requires the regenerator runtime provided by babel-polyfill.
import { FluentBundle } from 'fluent/compat';Learn more
Find out more about Project Fluent at projectfluent.org, including documentation of the Fluent file format (FTL), links to other packages and implementations, and information about how to get involved.
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
14 years ago