I18next: Загрузка перевода пространства имен для языка en Не удалась: не загруженные бэкэнд данныхJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 I18next: Загрузка перевода пространства имен для языка en Не удалась: не загруженные бэкэнд данных

Сообщение Anonymous »

Прямо сейчас я стараюсь переехать от звездочек в jsbundling с Esbuild в нашем приложении Rails. /p>
Кроме того, структура является следующей: < /p>

Код: Выделить всё

├── assets
│   ├── javascripts
│       ├── views
│       │   └── js1.js
|       |   └── js2.js
│       └── application.js
└── globals.js
в Application.js I Импортируйте большинство библиотек и все представления, связанные с Javascripts из папки представлений.
Все View-javascripts структурированы как следующее: < /p>

Код: Выделить всё

export default (() => {
//javascript code here
})();
Дополнительно к этим сценариям, существует Globals.js, который содержит объекты jQuery , на которых представления могут слушать.
Для нашего проекта мы хотим использовать i18next, с текущими версиями. Br />

Код: Выделить всё

import i18next from 'i18next'
import Backend from 'i18next-chained-backend'
import LocalStorageBackend from 'i18next-localstorage-backend/'
import HttpApi from 'i18next-http-backend'

globalVariables.dfd.i18next = $.Deferred();

i18next
.use(Backend)
.init({
backend: {
backends: [
LocalStorageBackend,
HttpApi
],
backendOptions: [{
enabled: true,
expirationTime: 10,
versions: {
en: 'v2022-08-03',
de: 'v2022-08-03',
fr: 'v2022-08-03'
}
},
{
loadPath: '/assets/i18next/{{lng}}.json' // {{lng}}-{{ns}}
}
]
},
lng: globalVariables.language,
fallbackLng: {
'ch': ['de'],
'default': ['en']
}
}).then(() => {
globalVariables.dfd.i18next.resolve();
console.log('i18next initialized');
});
Теперь несколько представлений javascripts слушают этот объект GlobalVariables.dfd.i18next и, как только он будет разрешен, он должен выполнить код. С этим мы удостоверимся, что i18next инициализируется .:

Код: Выделить всё

export default (() => {
$.when($.ready, order.dfd.i18next).done(() => {
//do some code
});
return true;
})();
< /code>
Каким -то образом он разрешается только для первого файла, но не для второй, а в консоли возникает следующая ошибка: < /p>
i18next::backendConnector: loading namespace translation for language en failed Error: non of the backend loaded data

, как только я прокомментирую httpapi , кажется, работает.
Мой вопрос: есть ли у меня есть Некоторые основные проблемы с настройкой структуры модуля и как я могу использовать i18next в этом контексте?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... non-of-the
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»