Laravel Markdown邮件模板翻译问题:__()函数无法生效
解决Laravel Markdown邮件模板翻译失效问题
你的问题出在Blade语法使用错误,__()翻译函数没有被正确包裹在Blade输出标签{{ }}内,导致模板直接输出了未解析的文本。
正确写法
修改模板代码,将翻译函数完整放入{{ }}中:
<x-mail::message> # Password {{ __('Your password is') }} : {{ $password }} </x-mail::message>
确保翻译资源存在
- JSON翻译文件(推荐用于简单短语)
在resources/lang目录下创建对应语言的JSON文件,比如zh-CN.json:
{ "Your password is": "您的密码是" }
然后在.env文件中设置APP_LOCALE=zh-CN。
- 数组形式语言文件(适合分类管理翻译项)
创建resources/lang/zh-CN/mail.php:
return [ 'password_label' => '您的密码是', ];
模板中调用时改为:
{{ __('mail.password_label') }} : {{ $password }}
验证生效
确保Laravel缓存已清除(如果开启了缓存),执行命令:
php artisan config:clear php artisan view:clear
内容的提问来源于stack exchange,提问作者Seb
相关产品推荐
相关产品推荐

