Я решил эту проблему, изменив почтовый адаптер, чтобы проверить свойство '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>
Надеюсь, этот ответ поможет кому-то с такой же проблемой.