An Internationalization Framework for PHP.

4.2.4 2024-01-12 10:40 UTC

README

Latest Version on Packagist MIT Licensed Test Status Code Style Status Total Downloads

FBT is an internationalization framework for PHP 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.

FBT intro

FBT plurals

FBT enum

FBT pronouns

Requirements

  • PHP 7.0 or higher
  • Composer is required for installation

Installing

$ composer require richarddobron/fbt:^4

Features

  • Parameters and interpolation
  • Implicit parameters
  • Auto-parameterization
  • Plurals
  • Enumerations
  • Pronouns
  • Number formatting
  • Phrase extracting
  • Inline translating

Getting started

Integrating into your app

Version Guidance

Version Released Status Repo PHP Version
3.x 2022-02-18 Maintained v3 >= 7.0
4.x 2022-04-09 Latest v4 >= 7.2

Official integrations

The following integrations are fully supported and maintained:

How FBT works

FBT works by transforming your <fbt> and fbt(...) constructs via Simple HTML DOM Parser. This library serve to extract strings from source and lookup translated payloads generated while execution. FBT creates tables of all possible variations for the given fbt phrase and accesses this at runtime.

Full documentation

https://github.com/richardDobron/fbt/tree/main/docs

TODO

  • Add driver-agnostic support for multiple database systems.
  • Add integrations for Symfony, CakePHP, Zend Framework, Nette, ...
  • ...

License

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