mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
Add language switch to with-react-i18next example (#5306)
This commit is contained in:
parent
397daece42
commit
5c9c7b877b
22
examples/with-react-i18next/components/LanguageSwitch.js
Normal file
22
examples/with-react-i18next/components/LanguageSwitch.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
import React from 'react'
|
||||
import Link from 'next/link'
|
||||
import { withRouter } from 'next/router'
|
||||
|
||||
import i18n from '../i18n'
|
||||
|
||||
const LanguageSwitch = ({ router }) => (
|
||||
<ul>
|
||||
<li>
|
||||
<Link href={`${router.pathname}`}>
|
||||
<a onClick={() => i18n.changeLanguage('en')}>en</a>
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href={`${router.pathname}?lng=de`}>
|
||||
<a onClick={() => i18n.changeLanguage('de')}>de</a>
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
)
|
||||
|
||||
export default withRouter(LanguageSwitch)
|
|
@ -12,14 +12,14 @@
|
|||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"express": "4.16.3",
|
||||
"i18next": "11.3.6",
|
||||
"i18next-browser-languagedetector": "2.2.0",
|
||||
"i18next-express-middleware": "1.2.0",
|
||||
"i18next-node-fs-backend": "1.2.1",
|
||||
"i18next": "11.9.0",
|
||||
"i18next-browser-languagedetector": "2.2.3",
|
||||
"i18next-express-middleware": "1.4.0",
|
||||
"i18next-node-fs-backend": "2.1.0",
|
||||
"i18next-xhr-backend": "1.5.1",
|
||||
"next": "^6.1.1",
|
||||
"react": "^16.4.1",
|
||||
"react-dom": "^16.4.1",
|
||||
"react-i18next": "7.8.1"
|
||||
"next": "latest",
|
||||
"react": "^16.5.2",
|
||||
"react-dom": "^16.5.2",
|
||||
"react-i18next": "7.13.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ import React from 'react'
|
|||
import App, { Container } from 'next/app'
|
||||
import { I18n as I18nR, I18nextProvider } from 'react-i18next'
|
||||
import initialI18nInstance from '../i18n'
|
||||
import LanguageSwitch from '../components/LanguageSwitch'
|
||||
|
||||
export default class MyApp extends App {
|
||||
render () {
|
||||
|
@ -19,6 +20,7 @@ export default class MyApp extends App {
|
|||
<I18nR ns='common' wait>
|
||||
{t => <h1>{t('common:integrates_react-i18next')}</h1>}
|
||||
</I18nR>
|
||||
<LanguageSwitch />
|
||||
<Component {...pageProps} />
|
||||
</React.Fragment>
|
||||
</I18nextProvider>
|
||||
|
|
Loading…
Reference in a new issue