Avec la tendance à la mondialisation, de plus en plus de sites Web et d'applications doivent prendre en charge plusieurs langues. Dans le développement de sites Web traditionnels, il est généralement nécessaire de créer manuellement des pages dans plusieurs langues, ce qui est non seulement long et laborieux, mais également sujet aux erreurs. Avec le développement des technologies de développement modernes, il est devenu courant d'utiliser des frameworks et des outils pour simplifier la prise en charge multilingue.
Dans le développement de Laravel, la localisation de Laravel est un moyen populaire d'obtenir une prise en charge multilingue. Cet article explique comment utiliser la localisation de Laravel pour implémenter la prise en charge multilingue dans les applications Laravel.
Tout d'abord, vous devez installer le composant de localisation de Laravel. Vous pouvez utiliser composer pour installer :
composer require "laravelcollective/html":"^5.8.0" php artisan vendor:publish --tag=laravel-errors --force
Ensuite, vous devez créer un nouveau fichier locale.php sous app/config pour configurer les options de langue prises en charge :
return [ 'locales' => ['en' => 'English', 'zh' => '中文'], 'default_locale' => 'en' ];
Ici, locales Le tableau contient les options de langue prises en charge, où la clé de chaque élément est le code de langue et la valeur est le nom de la langue. default_locale spécifie l'option de langue par défaut.
Ensuite, vous devez créer les fichiers de ressources linguistiques correspondants pour chaque langue prise en charge. Un fichier de ressources de langue contient généralement un tableau contenant toutes les chaînes localisées utilisées dans ces paramètres régionaux. Ces fichiers peuvent être rapidement créés à l'aide de la commande artisan, comme indiqué ci-dessous :
php artisan make:lang en php artisan make:lang zh
Cela créera deux répertoires de langue, un pour l'anglais et un pour le chinois.
Modifiez le fichier de ressources linguistiques pour chaque langue pour ajouter des chaînes localisées spécifiques à cette langue dans le tableau. Par exemple, dans les fichiers en.php et zh.php, vous pouvez ajouter ce qui suit :
// en.php return [ "welcome" => "Welcome to our site", "about" => "About Us", "contact" => "Contact Us" ]; // zh.php return [ "welcome" => "欢迎访问我们的网站", "about" => "关于我们", "contact" => "联系我们" ];
<h1>{{ trans('messages.welcome') }}</h1>
<form id="locale-form" method="POST" action="{{ url('locale') }}"> {{ csrf_field() }} <select name="locale" onchange="document.querySelector('#locale-form').submit();"> @foreach (Config::get('locale.locales') as $key => $value) <option value="{{ $key }}" {{ ($key === App::getLocale()) ? ' selected' : '' }}>{{ $value }}</option> @endforeach </select> </form>
Route::post('locale', function(Request $request) { App::setLocale($request->locale); return redirect()->back(); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!