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:
- Organizing your source text for translation
- Composing grammatically correct translatable UI
- Eliminating verbose boilerplate for generating UI
See our demo here See our React Native demo here
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
See how to use the source directly with Babel and Webpack in our demo-app.
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.
https://facebook.github.io/fbt
See the CONTRIBUTING file for how to help out.
See CHANGELOG.
- fbt (client-side)
- See package.json config
- babel-plugin-fbt (server-side)
- See package.json config
- babel-plugin-fbt-runtime (server-side)
- See package.json config
- fb-babel-plugin-utils (server-side, used by
babel-plugin-fbt-runtime
)- See package.json config
# Go to the module's folder (where package.json is located)
cd fbt-runtime/
# or
# cd packages/babel-plugin-fbt/
# cd packages/babel-plugin-runtime/
# publishes to npm and push new git tag to Github
yarn publish_to_npm_latest
FBT is MIT licensed, as found in the LICENSE file.