I18следующая загрузка перевода локально с помощью связанных файлов перевода

Есть ли способ загрузить переводы из файлов перевода json, прилагаемых к моим файлам js?

Мне нужно охватить только несколько языков, и из-за ограничений установка серверной конечной точки невозможна.

Я знаю о функции addResourceBundle, но мне это не удалось.

У меня есть файл перевода english.json, spanish.json

i18next.init();
i18next.addResourceBundle('en', 'translation', english.json);
i18next.addResourceBundle('es', 'translation', spanish.json);

Кажется, не работает.

1 ответ

Чтобы связать файлы перевода с кодом js, вам необходимо добавить их в дерево зависимостей вашего приложения.

Я предполагаю, что вы используете webpack, вам нужно определить загрузчик для импорта json ( json-loader).

i18next.init({
  resources: {
    'en-US': {translation: require('./en-us/translation.json')},
    // ---------^ namespace
    'nl-NL': {translation: require('./nl-nl/translation.json')},
  },
  fallbackLng: 'en-US',
  ns: ['translation'],
  defaultNS: 'translation',
});

Другие вопросы по тегам