我的网站有三种语言['英语','波斯语',#39;阿拉伯语']。
例如:
在Request
:
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'mobile' => 'required|max:11|min:11',
'register_id' => 'required|max:7|min:7'
];
}
我想在用户选择语言后,将以所选语言显示错误消息。
我该怎么办?
答案 0 :(得分:1)
如果您想在laravel
应用中使用其他语言,则可以使用内置本地化:
https://laravel.com/docs/5.2/localization
修改强>
出于您的目的,我会像这样接近它。
首先,在resources/lang
中创建您的语言文件夹,例如,为您添加messages.php
resource/lang/ar
的阿拉伯语消息
我不确定您是如何存储用户语言的,所以我假设它以lang
的形式存储在会话中。
现在,您可以创建中间件来检查用户选择的语言并设置区域设置:
public function handle($request, Closure $next)
{
// set language from session
\App::setLocale(session('lang'));
return $next($request);
}
现在将其注册为:app\Kernal.php
现在,您的app
应根据会话中的“lang”值自动在每个请求之前设置区域设置。确保您设置了fallback_locale
,以便您的应用知道如果您的用户没有设置区域设置该怎么做。