PHP code example of lambdadigamma / laravel-api-language

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

    

lambdadigamma / laravel-api-language example snippets


return [

    'supported_locales' => ['en'],

    'fallback_locale' => null,

    'use_autoscan_lang_folder' => false,

    'cache' => [
        'supported_locales_key' => 'api-language.supported-locales',
    ],

    'request_attributes' => [
        'accepted_locales' => 'api_language.accepted_locales',
        'excluded_locales' => 'api_language.excluded_locales',
        'resolved_locale' => 'api_language.resolved_locale',
        'result' => 'api_language.result',
    ],

    'prefer_user_locale' => true,

    'user_locale_attribute' => 'locale',

    'automatic_vary_header' => true,

];

use Illuminate\Foundation\Configuration\Middleware;
use Lambdadigamma\LaravelApiLanguage\Http\Middleware\AcceptLanguageMiddleware;

->withMiddleware(function (Middleware $middleware) {
    $middleware->api(append: [
        AcceptLanguageMiddleware::class,
    ]);
})

protected $middleware = [
    ...
    \Lambdadigamma\LaravelApiLanguage\Http\Middleware\AcceptLanguageMiddleware::class,
];

protected $middlewareGroups = [
    'api' => [
        ...
        \Lambdadigamma\LaravelApiLanguage\Http\Middleware\AcceptLanguageMiddleware::class,
    ]
];

$acceptedLocales = $request->attributes->get('api_language.accepted_locales', []);
$excludedLocales = $request->attributes->get('api_language.excluded_locales', []);
$resolvedLocale = $request->attributes->get('api_language.resolved_locale');

use Lambdadigamma\LaravelApiLanguage\LanguageNegotiator;

$result = app(LanguageNegotiator::class)->negotiate($request);

$result->acceptedLocales; // ordered positive locales, including positive * and excluding q=0
$result->excludedLocales; // q=0 locales, including *
$result->resolvedLocale;  // best supported application locale
$result->resolvedLocaleIsAcceptable; // false when every supported locale is excluded
bash
php artisan vendor:publish --provider="Lambdadigamma\LaravelApiLanguage\LaravelApiLanguageServiceProvider" --tag="api-language-config"