PHP code example of chinleung / laravel-multilingual-routes

1. Go to this page and download the library: Download chinleung/laravel-multilingual-routes 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/ */

    

chinleung / laravel-multilingual-routes example snippets


Route::multilingualResource('test', 'TestController');



// resources/lang/fr/routes.php

return [
   'test' => 'teste',
   'test/{test}' => 'teste/{test}'
];

localized_route('test'); // Returns the url of the current application locale
localized_route('test', [], 'fr'); // Returns https://app.test/fr/teste
localized_route('test', [], 'en'); // Returns https://app.test/test

current_route(); // Returns the current request's route
current_route('fr'); // Returns the current request's route in French version
current_route('fr', route('fallback')); // Returns the fallback route if the current route is not registered in French

current_route_is('home'); // Returns true if current route is 'en.home', 'fr.home', etc.
current_route_is('photos.show'); // Returns true if current route is 'en.photos.show', 'fr.photos.show', etc.

Route::multilingual('test', 'TestController')->name('foo');

Route::multilingual('test', 'TestController')->names([
  'en' => 'foo',
  'fr' => 'bar',
]);

Route::multilingual('test', 'TestController')->except(['fr']);

Route::multilingual('test', 'TestController')->only(['fr']);

Route::multilingual('test', 'TestController')->method('post');

// Loads test.blade.php
Route::multilingual('test');

// Loads welcome.blade.php instead of test.blade.php
Route::multilingual('test')->view('welcome');

Route::multilingual('test')->data(['name' => 'Taylor']);
Route::multilingual('test')->view('welcome', ['name' => 'Taylor']);

Route::multilingual('support');
Route::multilingual('contact')->redirect('support');

Request::localizedRouteIs('home');

URL::signedLocalizedRoute('unsubscribe', ['user' => 1]);
URL::temporarySignedLocalizedRoute('unsubscribe', now()->addMinutes(30), ['user' => 1]);

Route::multilingualResource('photos', 'PhotoController');

Route::multilingualResource('photos', 'PhotoController')->only(['index', 'show']);

Route::multilingualResource('photos', 'PhotoController')->except(['create', 'edit']);

Route::multilingualResource('photos', 'PhotoController')->parameters([
    'photos' => 'photo_id'
]);

Route::multilingualResource('photos', 'PhotoController')->onlyLocales(['fr']);
Route::multilingualResource('photos', 'PhotoController')->exceptLocales(['en']);

// Customize missing model behavior
Route::multilingualResource('photos', 'PhotoController')
    ->missing(function (Request $request) {
        return Redirect::route('photos.index');
    });

// Include soft deleted models
Route::multilingualResource('photos', 'PhotoController')->withTrashed(['show']);

// Apply constraints to specific parameters
Route::multilingualResource('photos', 'PhotoController')->whereParam('photos', '[0-9]+');

// Set custom name
Route::multilingualResource('photos', 'PhotoController')->name('gallery');

// Add middleware
Route::multilingualResource('photos', 'PhotoController')->middleware(['auth', 'verified']);

// Add route constraints
Route::multilingualResource('photos', 'PhotoController')->where('photos', '[0-9]+');

// Set default parameters
Route::multilingualResource('photos', 'PhotoController')->defaults(['format' => 'json']);

// Exclude specific locales
Route::multilingualResource('photos', 'PhotoController')->exceptLocales(['en']);

// Set different names per locale
Route::multilingualResource('photos', 'PhotoController')->names([
    'en' => 'pictures',
    'fr' => 'images'
]);

// Chain multiple methods together
Route::multilingualResource('photos', 'PhotoController')
    ->only(['index', 'show', 'edit'])
    ->exceptLocales(['en'])
    ->name('gallery')
    ->middleware('auth')
    ->parameters(['photos' => 'photo_id'])
    ->withTrashed(['show'])
    ->missing(function (Request $request) {
        return redirect()->route('gallery.index');
    });
 php
protected $middlewareGroups = [
    'web' => [
        \ChinLeung\MultilingualRoutes\DetectRequestLocale::class,
        // ...
    ]
];
 bash
php artisan vendor:publish --provider="ChinLeung\MultilingualRoutes\MultilingualRoutesServiceProvider" --tag="config"
 php
Route::get('/', 'ShowHomeController')->name('en.home');
Route::get('/fr', 'ShowHomeController')->name('fr.home');
 php
Route::multilingual('/', 'ShowHomeController')->name('home');
 php
Route::multilingual('test', 'TestController');
 php


// resources/lang/fr/routes.php

return [
  'test' => 'teste'
];