oss-tools/laravel-libretranslate
| Install | |
|---|---|
composer require oss-tools/laravel-libretranslate |
|
| Latest Version: | v2.0.0 |
| PHP: | ^8.2 |
| License: | MIT |
| Last Updated: | Aug 26, 2025 |
| Links: | GitHub · Packagist |
Laravel LibreTranslate
This package adds a client to translate text in Laravel using LibreTranslate.
What is LibreTranslate?
LibreTranslate is a free and open source translation library.
Installation
You can install the package via composer:
composer require oss-tools/laravel-libretranslate
Configuration
To set up the package, you will need to set the below env variables.
LIBRETRANSLATE_HOST=https://mylibretranslateserver.com
LIBRETRANSLATE_API_KEY=your-api-key
LIBRETRANSLATE_DEFAULT_SOURCE=en
Note: The default value for LIBRETRANSLATE_HOST is set to https://translate.argosopentech.com however, we recommend setting up your own server or using a host that is suitable for your needs for production.
Usage
use OSSTools\LibreTranslate\Client;
use OSSTools\LibreTranslate\Translation\LanguageCodes;
class ExampleController extends Controller
{
public function translate()
{
$client = new Client();
// Returns an instance of \OSSTools\LibreTranslate\Translation\TranslationCollection
$result = $client->translate('This is some text', LanguageCodes::SPANISH);
// Returns an array of \OSSTools\LibreTranslate\Translation\TranslationItem
$result = $client->translate('This is some text', LanguageCodes::SPANISH)->getAll();
// Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationItem
$result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->first();
// Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationItem
$result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->last();
// Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationItem
$result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->get('A test');
// Returns "Una prueba"
$result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->last()->getText();
}
}
Detecting a language from some text
use OSSTools\LibreTranslate\Client;
class ExampleController extends Controller
{
public function translate()
{
$client = new Client();
// Returns an instance of \OSSTools\LibreTranslate\Translation\TranslationDetectionCollection
$result = $client->detect('This is some text');
// Returns an array of \OSSTools\LibreTranslate\Translation\TranslationDetectionItem
$result = $client->detect('This is some text')->getAll();
// Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationDetectionItem
$result = $client->translate('This is some text')->first();
// Returns "en"
$result = $client->detect('Some text')->first()->getLanguage();
// Returns "es"
$result = $client->detect('Una prueba')->first()->getLanguage();
}
}
Testing
composer test
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Automatically translate your language files using Google Translate
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...