Можете ли вы использовать хранилище redux в качестве ресурсов перевода в next-i18next?

#reactjs #next.js #i18next #react-i18next #next-i18next

Вопрос:

У меня есть веб-сайт, настроенный с редактируемым текстом, это текстовое содержимое, которое пользователь может редактировать, и мне нужно настроить переводы так, чтобы, когда пользователь редактирует этот текст, он обновлялся в файле translations.json. Я настроил хранилище исправлений с действиями, в котором хранилище выглядит точно так, как выглядит файл translations.json, передаваемый ресурсам. Проблема в том, что я действительно не знаю, как заставить next-i18n использовать этот магазин в качестве ресурса перевода.

Вот как в документации next-i18n говорится, что я должен настроить переводы в конфигурации:

 export async function getServerSideProps({locale}) {
  return {
    props: {
      ...await serverSideTranslations(locale, ['common', 'slide1'], config
      ),
    }
  }
}
 

Конфигурация может содержать ресурсы, но я не могу использовать селектор redux внутри getServerSideProps.

Ответ №1:

Используйте react-i18n и функцию i18n.addResource вместо redux. Вы не можете удалить ресурс, поэтому ключи не могут быть динамическими для существующего текста. Но для меня это нормально