0.0.5 • Published 6 years ago

react-redux-multilang v0.0.5

Weekly downloads
3
License
ISC
Repository
-
Last release
6 years ago

Install

npm install --save react-redux-multilang

Reducer and sync

import { langReducer, syncWithStore } from 'react-redux-multilang'

const store = createStore(
  combineReducers({
    lang: langReducer // step 1: add reducer
  })
);
syncWithStore(store) // step 2: sync language with store

Use in components

import MultiLanguage from 'react-redux-multilang'
import { connect } from 'react-redux'

const translate = new MultiLanguage({
    en: {
        text: 'text here',
        deep: {
            text: 'deep text here'
        }
    },
    ru: {
        text: 'текст тут',
        deep: {
            text: 'вложенный текст тут'
        }
    }
})

class MyComponent extends Component{
    render(){
        return (
            <div>
                <p>{translate.text}</p>
                <p>{translate.deep.text}</p>
            </div>
        )
    }
}

export default connect(state => ({ lang: state.lang }))(MyComponent);

Change language

import { setLanguage } from 'react-redux-multilang'

// change language from anywhere
setLanguage('ru')

// sample with button and onClick
<button onClick={() => setLanguage('ru')}>Change language to Russian</button>
<button onClick={() => setLanguage('en')}>Change language to English</button>

// also you can dispatch action like this
store.dispatch({
    type: 'SET_REDUX_LANGUAGE',
    code: 'ru'
})
0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago