1. Go to this page and download the library: Download goodcat/laravel-l10n 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/ */
// Assuming the current locale is 'en'
route('example'); // Returns "/example"
// To generate a URL for a different locale
route('example', ['lang' => 'fr']); // Returns "/fr/example"
// If a translation exists for 'es' in lang/es/routes.php, the translated slug is used
route('example', ['lang' => 'es']); // Returns "/es/ejemplo"
use Goodcat\L10n\L10n;
use Goodcat\L10n\Resolvers\BrowserLocale;
L10n::$preferredLocaleResolvers = [
new BrowserLocale,
];
use Goodcat\L10n\Resolvers\LocaleResolver;
use Illuminate\Http\Request;
class CookieLocale implements LocaleResolver
{
public function resolve(Request $request): ?string
{
return $request->cookie('locale');
}
}
L10n::$preferredLocaleResolvers = [
new CookieLocale,
new SessionLocale,
new UserLocale,
new BrowserLocale,
];
// Get the user's preferred locale
app()->getPreferredLocale(); // Returns ?string
// Set the user's preferred locale (dispatches PreferredLocaleUpdated event)
app()->setPreferredLocale('es');
// Check if a locale is the fallback locale
app()->isFallbackLocale('en'); // Returns bool
L10n::is('dashboard'); // Matches /dashboard, /es/dashboard, /it/bacheca, etc.
L10n::is('admin.*'); // Wildcard patterns are supported, just like Route::is()