PHP code example of veltix / wayfinder-locales

1. Go to this page and download the library: Download veltix/wayfinder-locales 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/ */

    

veltix / wayfinder-locales example snippets


return [
    'locales' => ['en', 'de'],
    'default_locale' => env('WAYFINDER_DEFAULT_LOCALE', 'en'),
    // 'default_locale' => fn () => Setting::get('locale', 'en'),

    'enabled' => env('WAYFINDER_LOCALES_ENABLED', true),
    'mode' => env('WAYFINDER_LOCALES_MODE', 'segment'),
    'strict' => env('WAYFINDER_LOCALES_STRICT', true),

    'locale_parameter' => env('WAYFINDER_LOCALE_PARAMETER', 'locale'),
    'hide_default_prefix' => env('WAYFINDER_HIDE_DEFAULT_PREFIX', false),

    'exclude_groups' => ['routes'],
    'action_key' => 'wayfinder_locales',
];

use Illuminate\Support\Facades\Route;

Route::middleware('setlocale')->group(function () {
    Route::get('/products', [ProductController::class, 'index'])
        ->name('products')
        ->localized(['en' => 'products', 'de' => 'produkte']);

    Route::get('/products/{product}', [ProductController::class, 'show'])
        ->name('products.show')
        ->localized(['en' => 'products', 'de' => 'produkte']);
});

Route::middleware('setlocale')->group(function () {
    Route::get('/{locale}/products', [ProductController::class, 'index'])
        ->name('products')
        ->localized(['en' => 'products', 'de' => 'produkte']);

    Route::get('/{locale}/products/{product}', [ProductController::class, 'show'])
        ->name('products.show')
        ->localized(['en' => 'products', 'de' => 'produkte']);
});

Route::get('/', [HomeController::class, 'index'])
    ->name('home')
    ->localized(['en' => '', 'de' => '']);

Route::get('/products/{product:slug}', [ProductController::class, 'show'])
    ->name('products.show')
    ->localized(['en' => 'products', 'de' => 'produkte']);

lroute('products');            // active locale
lroute('products', [], 'de');  // "/de/produkte"
bash
php artisan wayfinder:generate
bash
php artisan wayfinder-locales:generate