Parse Server Email Template Несколько языков - PullRequest
0 голосов
/ 21 марта 2020

Я использую Parse Server для приложения, которое предлагается на разных языках. Для отправки писем с подтверждением и сбросом пароля я использую почтовый адаптер parse-server-mailgun . Это прекрасно работает, но не поддерживает шаблоны электронной почты на разных языках. Поэтому в настоящее время я включаю несколько текстов на разных языках в одном письме.

Поскольку это выглядит не очень профессионально, я ищу решение для локализации электронных писем.

Я думал о создании собственного адаптера электронной почты, но по-прежнему существует проблема, связанная с созданием ссылки сервер перенаправляет на веб-страницу, которая также должна быть локализована.

Кто-нибудь знает, как лучше всего это сделать? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 24 марта 2020

Я решил эту проблему, изменив почтовый адаптер, чтобы проверить свойство 'locale' для объекта пользователя, который я установил при регистрации. Затем адаптер будет обслуживать нужный шаблон в зависимости от локали пользователя. В моем случае он будет использовать немецкий шаблон, если локаль начинается с 'de'.

sendVerificationEmail({ link, appName, user }) {
   let locale = user.get('locale');
   let templateName = 'verificationEmail';
   if (locale && locale.startsWith('de')) {
      templateName = 'verificationEmailDE';
   }
   return this._sendMail({
      templateName: templateName,
      link,
      appName,
      user
   });
}

Далее я прикрепил скрипт к файлам publi c html, таким как choose-password.html, чтобы перевести страницу в зависимости от языка браузера:

  <script language='javascript' type='text/javascript'>
      window.onload = function() {
          var userLang = navigator.language || navigator.userLanguage;
          if (userLang.startsWith('de')) {
              document.getElementById('label').textContent = "Translated text";
          }
      }
  </script>

Надеюсь, этот ответ поможет кому-то с такой же проблемой.

...