1. Go to this page and download the library: Download eusonlito/laravel-gettext library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
// app/Providers/GettextServiceProvider.php
namespace App\Providers {
use Illuminate\Support\ServiceProvider;
class GettextServiceProvider extends ServiceProvider
{
public function register()
{
}
}
}
namespace {
function txt($original)
{
static $translator;
if (empty($translator)) {
$translator = app('gettext')->getTranslator();
}
$text = $translator->gettext($original);
if (func_num_args() === 1) {
return $text;
}
$args = array_slice(func_get_args(), 1);
return is_array($args[0]) ? strtr($text, $args[0]) : vsprintf($text, $args);
}
}
return array(
/*
|--------------------------------------------------------------------------
| Available locales
|--------------------------------------------------------------------------
|
| A array list with available locales to load
|
| Default locale will the first in array list
|
*/
'locales' => ['en_US', 'es_ES', 'it_IT', 'fr_FR'],
/*
|--------------------------------------------------------------------------
| Directories to scan
|--------------------------------------------------------------------------
|
| Set directories to scan to find gettext strings (starting with __)
|
*/
'directories' => ['app', 'resources'],
/*
|--------------------------------------------------------------------------
| Where the translations are stored
|--------------------------------------------------------------------------
|
| Full path is $storage/xx_XX/LC_MESSAGES/$domain.XX
|
*/
'storage' => 'storage/gettext',
/*
|--------------------------------------------------------------------------
| Store files as domain name
|--------------------------------------------------------------------------
|
| Full path is $storage/xx_XX/LC_MESSAGES/$domain.XX
|
*/
'domain' => 'messages',
/*
|--------------------------------------------------------------------------
| Use native gettext functions
|--------------------------------------------------------------------------
|
| Are faster than open files from PHP. If you have enabled the php-gettext
| module, is recommended to enable.
|
*/
'native' => true,
/*
|--------------------------------------------------------------------------
| Use package gettext methods
|--------------------------------------------------------------------------
|
| Enable gettext methods: __, noop__, n__, p__, d__, dp__, np__, dnp__
|
| Reference: https://github.com/oscarotero/Gettext/blob/master/src/translator_functions.php
|
*/
'functions' => false,
/*
|--------------------------------------------------------------------------
| Preference to load translations from format
|--------------------------------------------------------------------------
|
| Some systems and formats are fatest than others (low RAM or CPU usage)
| Available options are mo, po, php
|
*/
'formats' => ['mo', 'php', 'po'],
/*
|--------------------------------------------------------------------------
| Cookie name
|--------------------------------------------------------------------------
|
| Locale cookie name. Cookie are stored as plain, without Laravel manager
|
*/
'cookie' => 'locale'
);
bash
php artisan vendor:publish
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.