答案 0 :(得分:33)
resources/lang
文件夹包含本地化文件。文件名对应于将使用的视图。要从此文件中获取值,只需使用以下代码:
Lang::get('localization_file_name.variable_name');
如果您想要实现语言选择的可能性,您只需要几个简单的步骤来应用:
在config/app.php
中添加以下代码:
'locale' => 'ru',
'locales' => ['ru', 'en'],
语言环境的名称可以是任意名称。
在app/Http/Middleware
中创建名为Locale.php
的新文件。
该文件的内容应如下所示:
<?php
namespace App\Http\Middleware;
use Closure;
use App;
use Config;
use Session;
class Locale
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
//$raw_locale = Session::get('locale');
$raw_locale = $request->session()->get('locale');
if (in_array($raw_locale, Config::get('app.locales'))) {
$locale = $raw_locale;
}
else $locale = Config::get('app.locale');
App::setLocale($locale);
return $next($request);
}
}
在app/Http/Kernel.php
的{{1}}中添加以下行:
$middlewareGroups=[ ... ]
在\App\Http\Middleware\Locale::class,
添加:
routes/web.php
答案 1 :(得分:1)
尝试一下!
{{ @lang('messages.login') }}
现在在以下语言文件下添加具有其值的登录键
return['login'=>'Login']; // write inside messages file
并设置您的APP配置本地变量,例如'en','nl','us'
App::setLocale(language name); like 'en','nl','us'
答案 2 :(得分:0)
Laravel有一个localization模块。
基本上,您创建一个文件,例如:resources/lang/en/login.php
并放入
return [
'header' => 'Login'
];
在您的模板中,您使用@lang('login.header')
代替Login
。
您可以在/resources/lang/en
目录中包含尽可能多的文件,并使用@lang
刀片指令放置文件名(不带扩展名),并用点分隔所需的值。