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
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.
See the CONTRIBUTING file for how to help out.
See CHANGELOG.
- babel-plugin-fbt (build-time / server-side)
- See package.json
- babel-plugin-fbt-runtime (server-side)
- See package.json
- @fbtjs/default-collection-transform (build-time)
- See package.json
- fb-babel-plugin-utils (server-side, used by
babel-plugin-fbt-runtime
)- See package.json
- fbt (client-side)
- See package.json
- fb-tiger-hash (build-time)
- See package.json
- gulp-rewrite-flowtyped-modules (build-time)
- See package.json
- gulp-strip-docblock-pragmas (build-time)
- See package.json
- react-native-fbt (build-time)
- See package.json
FBT is MIT licensed, as found in the LICENSE file.