Чтобы сделать эту работу вам необходимо использовать промежуточное программное обеспечение для установки локалей:
Создать LocaleMiddleware.php
внутри app/http/middleware
каталог с
//LocaleMiddleware.php
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Session\Store as Session;
use Illuminate\Contracts\Auth\Guard as Auth;
class LocaleMiddleware {
public function __construct(Session $session)
{
$this->session = $session;
}
//Languages available in your resources/lang
protected $languages = ['en','es', 'nl-be'];
public function handle($request, Closure $next)
{
$langlist = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
// We just want the main language
$lang = substr($langlist,0,2);
if(isset($this->languages[$lang])){
app()->setLocale($lang);
}else{
//You may log this here
}
return $next($request);
}
}
Затем зарегистрировать промежуточное программное обеспечение в app\httpe.kernel.php
в $middleware
массив
/**
* The application's global HTTP middleware stack.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
.........
\App\Http\Middleware\LocaleMiddleware::class,
];
Создание Ланг файлов
Вам нужно создать отдельные папки для всех языков, которые вы хотите поддерживать и транслировать файлы в них, соответственно, например nl-be\validation.php
.
Вы можете начать справляясь содержимое resources/lang/en to resources/lang/nl-be, then translate the contents of
п-быть \ validation.php` голландским эквивалент
вы можете показать код того, что вы делали до сих пор? Вам необходимо создать отдельные папки для всех языков, которые вы хотите поддерживать и переводить соответственно. Вы можете начать с копирования содержимого ресурсов/lang/en в ресурсы/lang/nl-be, затем перевести содержимое nl-be в голландский. – Digitlimit
'Registrar.php',' English' и 'Dutch' являются ссылками :) – g3mini
как? не понимаю, в какой версии Laravel вы используете – Digitlimit