laravel-fbt maintained by richarddobron
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- richarddobron/fbt ^5.1
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- richarddobron/fbt ^5.1
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- richarddobron/fbt ^5.0
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- richarddobron/fbt ^4.4.0
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- richarddobron/fbt ^4.4.0
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- richarddobron/fbt ^4.3.4
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- richarddobron/fbt ^4.3.3
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0
- richarddobron/fbt ^4.3.3
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.3.3
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.3.3
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.3.3
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.3.2
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.3.2
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.3.1
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.3.1
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.3.0
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.3.0
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.9
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.2.9
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.2.8
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.7
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- richarddobron/fbt ^4.2.7
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.2.6
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.6
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.5
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.2.5
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.4
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.2.4
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.3
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.2.3
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.2
- ext-json *
- ext-dom *
- ext-iconv *
- php ^7.2 || ^8.0
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.2.2
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.2.1
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.2.1
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0
- richarddobron/fbt ^4.1.0
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.1.0
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- richarddobron/fbt ^4.1.0
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.11
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- richarddobron/fbt ^4.0.11
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.11
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- richarddobron/fbt ^4.0.11
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.10
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- richarddobron/fbt ^4.0.10
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.9
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- richarddobron/fbt ^4.0.9
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.8
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0
- richarddobron/fbt ^4.0.8
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.7
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.7
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.6
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.6
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.5
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.5
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.4
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.4
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.3
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.3
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.2
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.2
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0.1
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0.1
- php ^7.2 || ^8.0
- ext-json *
- ext-dom *
- ext-iconv *
- illuminate/contracts ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- illuminate/support ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- richarddobron/fbt ^4.0
- php ^7.0
- ext-json *
- ext-dom *
- ext-iconv *
- ext-mbstring *
- illuminate/contracts ~5.5.0
- illuminate/support ~5.5.0
- richarddobron/fbt ^3.0
FBT for Laravel
FBT is an internationalization framework for Laravel Application 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
This library is based on the JavaScript implementation of Facebook's FBT.
📖 Requirements
- Laravel 5.5 or higher
- Composer is required for installation
📦 Installing
$ composer require richarddobron/laravel-fbt
✨ Features
- Parameters and interpolation
- Implicit parameters
- Auto-parameterization
- Plurals
- Enumerations
- Pronouns
- Number formatting
- Phrase extracting
- Inline translating
🚀 Getting started
📑 Version Guidance
| Version | Released | Status | Repo | Laravel Version | PHP Version |
|---|---|---|---|---|---|
| 3.x | 2022-02-21 | Unsupported | v3 | ^5.5 | ^7.0 |
| 4.x | 2022-04-09 | Unsupported | v4 | ^5.6|^5.7|^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0 | ^7.2|^8.0 |
| 5.x | 2026-09-26 | Latest | v5 | ^5.6|^5.7|^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0|^13.0 | ^7.2|^8.0 |
⚙️ How FBT works
Like Facebook's fbt, FBT creates tables of all possible variations for each fbt phrase and
accesses them at runtime. fbt(...) callsites are compiled from their constructs (e.g. fbt::param()),
and <fbt> constructs are parsed via DOM Forge. Each callsite is compiled once, its strings
are extracted for translation, and the translated payloads are looked up during execution.
⬆️ Upgrading
See UPGRADE.md for upgrading to fbt 5.
📕 Full documentation
🤝 Contributing
Please see CONTRIBUTING for details.
📜 License
This project is licensed under the MIT License. See the LICENSE file for details.