richarddobron/laravel-fbt
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.
Related Packages
Extension for automatic deployment of fbt framework translations for Laravel
Laravel translation scanner that auto-extracts __(), trans() and t() strings fro...
Laravel Localizer bridges Laravel translations to your SPA frontend (React/Vue/I...
Highly customizable Translation component for Filament PHP.
Self-hosted Laravel translation manager for the TALL stack: edit, sync, import/e...