Drupal 8:通知消息未翻译

Drupal 8: Notify message is not translated

我正在使用 消息 & message_notify 贡献模块。

我启用了语言模块,它默认有英语 (en)、韩语 (ko)、日语 (ja)。

我也将下面的模板翻译成了日文。

  $language = 'ja';
  $message = Message::create([
    'template' => 'sample_template',
    'langcode' => $language
  ]);

  $message->setLanguage($language);

  $message->save();

  $message = $message->getTranslation($language);

  $notifier = \Drupal::service('message_notify.sender');
  $result = $notifier->send($message);

当我尝试发送电子邮件时,它总是以英语发送,而不是日语。

我是否在语言配置中遗漏了什么?

Drupal\message_notify\MessageNotifier 期望传递一个实现 Drupal\message\MessageInterface.

的对象
public function send(
    MessageInterface $message, array $options = [], $notifier_name = 'email')

Drupal\message_notify\Plugin\Notifier\Email 源中,当 language override 选项设置为 FALSE 时,首选项语言用于呈现消息。

    if (!$this->configuration['language override']) {
      $language = $account->getPreferredLangcode();
    }
    else {
      $language = $this->message->language()->getId();
    }

options 数组中,配置要覆盖的语言,以便以设置的语言呈现消息。

$message->setLanguage($language);
$result = $notifier->send($message, ['language override' => TRUE]);