1. Go to this page and download the library: Download edulazaro/laralang 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/ */
edulazaro / laralang example snippets
use App\Http\Controllers\DashboardController;
use EduLazaro\Laralang\LocalizedRoute;
LocalizedRoute::get('dashboard', [
'en',
'es' => 'panel'
], [DashboardController::class, 'index'])->name('dashboard');
use App\Http\Controllers\DashboardController;
use EduLazaro\Laralang\LocalizedRoute;
LocalizedRoute::get('dashboard', [
'en',
'es' => 'panel'
], [DashboardController::class, 'index'])->middleware('auth')->name('dashboard');
'locales' => [
'en', // English (default)
'es', // Spanish
'fr', // French
],
'prefixes' => [
'en' => '', // No prefix for English (URL: /)
'es' => 'es', // 'es' prefix for Spanish (URL: /es)
'fr' => 'fr', // 'fr' prefix for French (URL: /fr)
],
laralang_alternates(); // same as Laralang::alternates()
laralang_alternates(['slug' => 'custom']); // with param override
laralang_alternates([], false); // relative paths
// On the Spanish variant of /servicios:
request()->routeIs('services'); // true
request()->routeIs('es.services'); // true
request()->routeIs('fr.services'); // false
// Wildcards keep working across locales:
request()->routeIs('services*'); // true on es.services.show, fr.services.create, etc.
// config/locales.php
'fallback' => true,
use EduLazaro\Laralang\LocalizedRoute;
LocalizedRoute::fallback();
Route::fallback([ErrorController::class, 'notFound']);
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\ProfileController;
use EduLazaro\Laralang\Http\Middleware\SetRouteLocale;
use EduLazaro\Laralang\LocalizedRoute;
Route::middleware(['web', SetRouteLocale::class])
->group(function () {
LocalizedRoute::get('dashboard', [
'en',
'es' => 'panel'
], [DashboardController::class, 'index'])->name('dashboard');
LocalizedRoute::get('profile', [
'en',
'es' => 'perfil'
], [ProfileController::class, 'show'])->name('profile');
});
use App\Http\Controllers\Admin\OrderController;
use EduLazaro\Laralang\Http\Middleware\SetSessionLocale;
Route::middleware(['web', 'auth', SetSessionLocale::class])
->prefix('admin')
->group(function () {
Route::get('orders', [OrderController::class, 'index'])->name('admin.orders');
Route::get('orders/{order}', [OrderController::class, 'show'])->name('admin.orders.show');
Route::post('locale/{locale}', function (string $locale) {
session()->put('locale', $locale);
return back();
})->name('admin.locale');
});
use App\Http\Controllers\HomeController;
use App\Http\Controllers\PricingController;
use EduLazaro\Laralang\Http\Middleware\SetBrowserLocale;
Route::middleware(['web', SetBrowserLocale::class])
->group(function () {
Route::get('/', [HomeController::class, 'index'])->name('home');
Route::get('pricing', [PricingController::class, 'index'])->name('pricing');
});
use App\Http\Controllers\ContactController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\HomeController;
use EduLazaro\Laralang\Http\Middleware\SetSmartLocale;
use EduLazaro\Laralang\LocalizedRoute;
Route::middleware(['web', SetSmartLocale::class])
->group(function () {
// Localized: the URL prefix decides
LocalizedRoute::get('/', ['en', 'es'], [HomeController::class, 'index'])->name('home');
LocalizedRoute::get('contact', [
'en',
'es' => 'contacto'
], [ContactController::class, 'show'])->name('contact');
// Plain: no prefix to read, so the session or the browser decides
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard');
});