Я попытался внедрить react-i18next
в свое приложение для реагирования, но это не дает ... что я хочу, чтобы оно работало
Консоль не показывает никаких ошибок. Он просто не переводится.
У кого-нибудь была похожая проблема, и он может помочь мне понять, почему он не переводится?
содержимое моего i18n.js
файла:
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import translationPL from './translations/pl/common.json';
const resources = {
pl: {
translation: translationPL
}
};
i18n
.use(initReactI18next)
.init({
resources: resources,
lng: "pl",
defaultNS: 'common',
keySeparator: false,
interpolation: {
escapeValue: false
}
});
export default i18n;
тогда мой App.js
файл
import React from 'react';
import './App.css';
import './i18n';
import { withTranslation } from 'react-i18next';
class App extends React.Component {
.
.
.
render() {
const { t } = this.props;
return (
button className="btn btn-primary" onClick={() => this.endMeeting()}><span className="code-tag">{ t('End meeting') }</span></button>
);
}
}
export default withTranslation('common')(App);
и наконец ./translations/pl/common.json
{
"End meeting": "Zakończ posiedzenie"
}
Обновить
После включения опции отладки он дает мне следующий вывод:
i18next: languageChanged pl
i18next: initialized {debug: true, initImmediate: true, ns: Array(1), defaultNS: "common", fallbackLng: Array(1), …}
i18next::translator: missingKey pl common key_name key_name
i18next::translator: missingKey pl common key_name key_name