Настроил работу i18next, организовал хранения переводов в отдельных файлах для каждой страницы. Затем решил настроить работу плагина i18next-extract. Как, используя его, сохранить постарничное разделение файлов перевода? Найти в гугле не получилось.
const babelLoader = {
test: /\.(js|jsx|tsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: [
[
'i18next-extract',
{
locales: ['ru', 'en'],
keyAsDefaultValue: true,
keySeparator: false,
outputPath: 'public/locales/{{locale}}/{{ns}}.json',
ns: ['translation', 'home', 'about'],
},
],
],
},
},
};
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import Backend from 'i18next-http-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
i18n
.use(Backend)
.use(LanguageDetector)
.use(initReactI18next)
.init({
lng: 'en', // Язык по умолчанию
fallbackLng: 'en', // Резервный язык
ns: [ 'translation', 'home', 'about' ], // Список namespace
defaultNS: 'translation', // Namespace по умолчанию
backend: {
loadPath: 'public/locales/{{lng}}/{{ns}}.json', // Путь к файлам перевода
}
});
export default i18n;