Home

Awesome

<p> <a href="https://github.com/facebook/fbt/actions?query=workflow%3Abuild"> <img src="https://github.com/facebook/fbt/workflows/build/badge.svg" /> </a> <a href="https://twitter.com/fbt_js"> <img src="https://img.shields.io/twitter/follow/fbt_js.svg?style=social" align="right" alt="Twitter Follow" /> </a> <a href="https://discord.gg/cQvXZr5"> <img src="https://img.shields.io/discord/102860784329052160.svg" align="right" alt="Discord Chat" /> </a> <a href="https://www.facebook.com/groups/498204277369868"> <img src="https://img.shields.io/badge/Facebook-Group-blue" align="right" alt="Facebook Group" /> </a> </p> <h1 align="center"> <img src="https://facebook.github.io/fbt/img/fbt.png" height="150" width="150" alt="FBT"/> </h1>

FBT is an internationalization framework for JavaScript designed to be not just powerful and flexible, but also simple and intuitive. It helps with the following:

Online Resources

Examples

Requirements

Building the fbt library

git clone git@github.com:facebook/fbt.git
cd fbt
yarn install

NOTE: if you make changes to the fbt runtime that you'd like to test in the demo-app, be sure to run this command to rebuild the JS code:

yarn build-runtime

Using fbt

See how to use the source directly with Babel and Webpack in our demo-app.

How FBT works

FBT works by transforming your <fbt> and fbt(...) constructs via Babel plugins. These plugins serve to extract strings from source and lookup translated payloads generated at build-time. FBT creates tables of all possible variations for the given fbt phrase and accesses this at runtime.

Join the fbt community

See the CONTRIBUTING file for how to help out.

Change log

See CHANGELOG.

List of npm modules published from this repo:

License

FBT is MIT licensed, as found in the LICENSE file.