在最新的i18next版本中,函数t无法正确绑定

问题描述 投票:0回答:1

下面的代码(Alexa技能的本地化拦截器)适用于i18next版本10.5.0,但在最新版本中不起作用。它得到一个功能t不被识别的消息,它似乎没有正确绑定。

我找不到为什么会发生这种情况(我不知道i18next中有什么更新)。任何人都可以对此有所了解吗?

// This request interceptor will bind a translation function 't' to the requestAttributes object
const LocalizationInterceptor = {
  process(handlerInput) {
    const localizationClient = i18n.use(sprintf).init({
      lng: handlerInput.requestEnvelope.request.locale,
      fallbackLng: 'en',
      overloadTranslationOptionHandler: sprintf.overloadTranslationOptionHandler,
      resources: languageStrings,
      returnObjects: true
    });
    const attributes = handlerInput.attributesManager.getRequestAttributes();
    attributes.t = function (...args) {
      return localizationClient.t(...args);
    }
  }
}
internationalization alexa alexa-skills-kit alexa-skill i18next
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.