Я создаю многоязычный сайт Laravel.Laravel Локализация на лету для списка почтовых ящиков
Мне нужно иметь возможность отправлять почту клиентам на языке, определяемом сохраненной переменной. Это то, что я делаю:
$broker = $this->getSiteInstanceDetails($broker_id);
$transport = Swift_SmtpTransport::newInstance($broker->smtp_server, $broker->smtp_port, $broker->smtp_encryption)
->setUsername($broker->smtp_username)
->setPassword($broker->smtp_password);
// creating the Swift_Mailer instance and pass the config settings
$mailer = Swift_Mailer::newInstance($transport);
$mailer->send($message);
Таким образом, я использую экземпляр swift_mailer для отправки моей почты. Проблема в том, что я не вижу настройки локали. Я хотел бы иметь возможность установить языковой стандарт для каждого клиента (например, мне может потребоваться отправить почтовый снимок клиентам на нескольких языках)
, так как у администратора есть локальная настройка «en», но я хотите поразить клиентов, скажем, 'it', 'ko' и 'jp'
Нужно ли использовать App::setLocale('en');
на одного клиента? например, прокрутить список моих клиентов, установить локаль для текущего клиента, отправить электронное письмо и затем установить локаль обратно администратору? Кажется беспорядочным устанавливать локаль для всего приложения, когда мне нужно только получить 1 просмотр.
любые комментарии или предложения приветствуются.
Perfect. Спасибо –
Это полезное решение, но что, если почта находится в очереди? – Christophvh