Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including @fluent/bundle with all npm packages installed. Try it out:

var bundle = require("@fluent/bundle")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@fluent/bundle v0.16.0

Localization library for expressive translations.


@fluent/bundle is a JavaScript implementation of Project Fluent, optimized for runtime performance.


@fluent/bundle 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 FluentBundle global).

npm install @fluent/bundle

How to use

The FluentBundle constructor provides the core functionality of formatting translations from FTL files.

import {FluentBundle, FluentResource} from "@fluent/bundle";

let resource = new FluentResource(`
-brand-name = Foo 3000
welcome = Welcome, {$name}, to {-brand-name}!

let bundle = new FluentBundle("en-US");
let errors = bundle.addResource(resource);
if (errors.length) {
    // Syntax errors are per-message and don't break the whole resource

let welcome = bundle.getMessage("welcome");
if (welcome.value) {
    bundle.formatPattern(welcome.value, {name: "Anna"});
    // → "Welcome, Anna, to Foo 3000!"

The API reference is available at


@fluent/bundle 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/bundle';

See also the Compatibility article on the fluent.js wiki.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free