You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel本地化波斯语邮件配置求助:JSON语言文件疑问

Laravel 本地化配置波斯语邮件(JSON语言文件版)

1. 创建波斯语JSON语言文件

在项目的resources/lang目录下新建fa.json文件(fa是波斯语的locale代码),文件采用键值对格式:键用你模板中@lang调用的原文(通常用英文),值对应波斯语翻译。示例:

{
    "Welcome to our project": "خوش آمدید به پروژه ما",
    "Your verification code is :code": "کد تأیید شما :code است",
    "Hello :name": "سلام :name"
}

注意文件编码必须是UTF-8,避免波斯语显示乱码。

2. 在邮件模板中使用@lang辅助函数

直接在Blade邮件模板里调用@lang,传入JSON文件中定义的键即可;带动态参数的话,直接传数组替换占位符:

<!-- 邮件模板示例 -->
<h1>@lang('Welcome to our project')</h1>
<p>@lang('Hello :name', ['name' => $user->full_name])</p>
<p>@lang('Your verification code is :code', ['code' => $verificationCode])</p>

3. 发送邮件时切换到波斯语Locale

在触发邮件发送的逻辑里,先设置当前应用的locale为波斯语,确保翻译生效:

// 引入Facades(未自动引入时添加)
use Illuminate\Support\Facades\App;

// 切换到波斯语
App::setLocale('fa');

// 发送邮件
Mail::to($user->email)->send(new YourMailClass($user, $verificationCode));

如果是队列邮件,建议在邮件类的build方法里设置locale,避免队列执行时locale被其他请求覆盖:

public function build()
{
    App::setLocale('fa');
    
    return $this->view('emails.your-template');
}

4. 验证效果

发送测试邮件,检查内容是否正确显示波斯语。若出现乱码,确认JSON文件是UTF-8编码,且服务器环境支持波斯语字符。

内容的提问来源于stack exchange,提问作者Hesam Mahmoodi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:55:47