Gettext translator functions

v1.2.0 2023-11-06 15:42 UTC

This package is auto-updated.

Last update: 2024-05-06 16:37:26 UTC


Latest Version on Packagist Software License Total Downloads

Created by Oscar Otero (MIT License)

Translator functions to use with gettext/gettext. Useful if you don't have the native gettext extension for php or want to avoid problems with it.


composer require gettext/translator


use Gettext\Translator;

//Create a new instance of the translator
$t = new Translator();

//Load the translations from php files (generated by Gettext\Extractors\PhpArray)

//Now you can use it in your templates
echo $t->gettext('apple');


The class Gettext\GettextTranslator uses the gettext extension. It's useful because combines the performance of using real gettext functions but with the same API than Translator class, so you can switch to one or other translator without change code of your app.

use Gettext\GettextTranslator;

//Create a new instance
$t = new GettextTranslator();

//It detects the environment variables to set the locale, but you can change it:

//Load the domains:
$t->loadDomain('messages', 'project/Locale');
//this means you have the file "project/Locale/gl/LC_MESSAGES/"

//Now you can use it in your templates
echo $t->gettext('apple');

Translator functions

To ease the use of translations in your php templates, you can use the provided functions:

use Gettext\TranslatorFunctions;

//Register the translator to use the global functions

echo __('apple'); // it's the same than $t->gettext('apple');

You can scan the php files containing these functions and extract the values with the PhpCode extractor:

<!-- index.php -->
        <?= __('Hello world'); ?>

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.