Здравствуйте.
Решил добавить на проект локализацию с помощью библиотеки -
https://github.com/stefalda/react-localization
Подключить в определённом компоненте смог, всё работает. Но, не могу понять как подключить локализацию один раз, чтоб работала во всех компонентах, а то если в каждом компоненте добавлять:
import LocalizedStrings from 'react-localization';
let strings = new LocalizedStrings({
en:{
how:"How do you want your egg today?",
boiledEgg:"Boiled egg",
softBoiledEgg:"Soft-boiled egg",
choice:"How to choose the egg"
},
it: {
how:"Come vuoi il tuo uovo oggi?",
boiledEgg:"Uovo sodo",
softBoiledEgg:"Uovo alla coque",
choice:"Come scegliere l'uovo"
}
});
class OldChatt extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
language: 'en'
}
this.handleLanguageChange = this.handleLanguageChange.bind(this);
}
handleLanguageChange(e) {
e.preventDefault();
let lang = e.target.value;
this.setState(prevState => ({
language: lang
}))
}
render(){
strings.setLanguage(this.state.language);
return (
<div>
Change Language: <select onChange={this.handleLanguageChange}>
<option value="en">En- English</option>
<option value="it">It- Italian</option>
</select>
<br /><br />
{strings.how}
</div>
и т.д.
Будет большая каша. Свожусь к тому, что стоит создать ещё компонент, который бы можно было выводить в других, но не пойму как бы это правильно реализовать.
При переключение
<option value="en">En- English</option>
<option value="it">It- Italian</option>
Из массиваlet strings = new LocalizedStrings приходит перевод в {strings.how}