Насколько я понимаю, это можно сделать, но с помощью изменения кода в плагине.
В строке ниже в коде
https://github.com/ecohealthalliance/parse-server-amazon-ses-email-adapter/blob/0bce9b6c81681c3829a17b208d839d23c846ab05/src/AmazonSESAdapter.js#L90
есть условие
if-else
Так как вы не предоставили никакой обратной связи, и у меня нет способа настроить это, я предположил, что другая часть - это то, что выполняется
const {
link,
appName,
user,
templateConfig
} = options;
const {
callback
} = templateConfig;
let userVars;
if (callback && typeof callback === 'function') {
userVars = callback(user);
// If custom user variables are not packaged in an object, ignore it
const validUserVars = userVars && userVars.constructor && userVars.constructor.name === 'Object';
userVars = validUserVars ? userVars : {};
}
pathPlainText = templateConfig.pathPlainText;
pathHtml = templateConfig.pathHtml;
templateVars = Object.assign({
link,
appName,
username: user.get('username'),
email: user.get('email')
}, userVars);
message = {
from: this.fromAddress,
to: user.get('email'),
subject: templateConfig.subject
};
}
Теперь в этой части 2 строки решают, что шаблонбыть использованным
pathPlainText = templateConfig.pathPlainText;
pathHtml = templateConfig.pathHtml;
К этому времени, предоставленный вами callback
был вызван.Теперь в обратном вызове вы можете установить переменную, предположим, что это имя locale
.Таким образом, вы можете обновить код, как показано ниже
pathPlainText = templateConfig.pathPlainText + (userVars["locale"] || "en");
pathHtml = templateConfig.pathHtml + (userVars["locale"] || "en");
И затем вы создадите шаблоны, которые имеют locale
в пути к файлу, и с обновленным кодом будет выбран правильный шаблон.
Вы также можете посмотреть ответ @bgran
, на первый взгляд, я верю, что это должно сработать