У меня есть экспресс-бэкэнд, который я хочу интернационализировать. Я хочу:
- инициализировать мой экземпляр i18next в одном месте
- повторно использовать этот экземпляр в нескольких местах в коде
- Я хочу использовать их также в коде модели, а не только в маршрутах
Это может звучать как примитивный вопрос, но даже после прочтения документации i18next я до сих пор не знаю, как мне следует использовать инициализированный экземпляр i18next. Если я использую i18next-express-middleware , я могу использовать метод t()
в маршрутах. Хорошо, но что мне делать, если я хочу использовать его в моделях или в каком-то другом файле, скажем, в модели?
Мне не нравится идея передавать его в каждый метод модели через параметр. Я не могу просто сделать import i18next from 'i18next'
в каждом файле, потому что он вернет новый экземпляр. Я не могу создать js-файл, в котором я мог бы инициировать экземпляр в асинхронной функции, а затем вернуть его, потому что я не могу вызвать асинхронную функцию через await в app.js (корневой файл моего экспресс-приложения). Я пытаюсь навязать его сценарию использования, для которого он не был создан?
Спасибо за любые советы.