1. Go to this page and download the library: Download wazza/dom-translate 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/ */
// ---------------
// Register the default Blade directive - @transl8()
// Only the phrase argument is ','fr')
// Register the @transl8 directive separately
Blade::directive('transl8', function ($string) {
return "<?= app(" . TranslateController::class . "::class)->phrase({$string});
use Wazza\DomTranslate\Helpers\TranslateHelper;
class YourLanguageController extends Controller
{
public function setLanguage(Request $request)
{
$langCode = $request->input('language');
return TranslateHelper::setLanguage($langCode);
}
public function getLanguage()
{
return TranslateHelper::getLanguage();
}
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Wazza\DomTranslate\Helpers\TranslateHelper;
class LanguageController extends Controller
{
public function setLanguage(Request $request)
{
$request->validate([
'language' => '
// Apply to specific routes
Route::group(['middleware' => ['dom-translate.locale']], function () {
Route::get('/dashboard', [DashboardController::class, 'index']);
Route::get('/profile', [ProfileController::class, 'show']);
});
// Or apply to individual routes
Route::get('/settings', [SettingsController::class, 'index'])
->middleware('dom-translate.locale');