PHP code example of umbalaconmeogia / laravel-language-switcher

1. Go to this page and download the library: Download umbalaconmeogia/laravel-language-switcher 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/ */

    

umbalaconmeogia / laravel-language-switcher example snippets


Route::languageSwitcher();

->withMiddleware(function (Middleware $middleware): void {
    $middleware->web(append: [
        'setlocale',
    ]);
})

'supported_languages' => [
    'en' => 'English',
    'ja' => '日本語',
    'vi' => 'Tiếng Việt',
    'fr' => 'Français',
],
'default_language' => 'en',
'fallback_language' => 'en',
'session_key' => 'locale',
'detection_method' => 'all', // 'session', 'url', 'header', 'all'
'url_parameter' => 'locale',
'route_prefix' => false,
'cache' => [
    'enabled' => true,
    'ttl' => 3600,
    'prefix' => 'language_switcher_',
],
'component' => [
    'default_style' => 'default',
    'show_flags' => false,
    'show_language_codes' => false,
    'dropdown_position' => 'bottom-right',
    'animation_duration' => 200,
],
'middleware' => [
    'auto_detect' => true,
    'store_in_session' => true,
    'redirect_on_change' => false,
    'exclude_paths' => ['api/*', 'admin/*'],
],
'api' => [
    'enabled' => true,
    'endpoints' => [
        'current' => '/api/languages/current',
        'supported' => '/api/languages/supported',
        'switch' => '/api/languages/{locale}',
    ],
    'response_format' => 'json',
    '

use Umbalaconmeogia\LanguageSwitcher\Events\LanguageChanged;

// Listen for language changes
Event::listen(LanguageChanged::class, function (LanguageChanged $event) {
    Log::info("Language changed from {$event->previousLanguage} to {$event->newLanguage}");
    
    // Access user information if available
    if ($event->user) {
        Log::info("Changed by user: {$event->user->email}");
    }
});

use Umbalaconmeogia\LanguageSwitcher\Enums\Language;

// Get supported languages
$languages = Language::getSupportedLanguages();

// Get display name for a language code
$displayName = Language::getDisplayName('ja'); // Returns '日本語'

// Check if language is supported
$isSupported = Language::isSupported('en'); // Returns true

// Get current application locale
$current = Language::getCurrent();

// Get default language
$default = Language::getDefault();

// Check if current language is default
$isDefault = Language::isCurrentDefault();

protected $middlewareAliases = [
    // ...
    'setlocale' => \Umbalaconmeogia\LanguageSwitcher\Middleware\SetLocale::class,
];
bash
php artisan language-switcher:publish