React6 min read
React Internationalization (i18n)
Add multi-language support with react-i18next.
Sarah Johnson
December 20, 2025
0.0k0
Add multi-language support to React apps.
Install react-i18next
npm install react-i18next i18next
Setup
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
i18n.use(initReactI18next).init({
resources: {
en: {
translation: {
welcome: 'Welcome',
goodbye: 'Goodbye'
}
},
es: {
translation: {
welcome: 'Bienvenido',
goodbye: 'Adiós'
}
}
},
lng: 'en',
fallbackLng: 'en'
});
export default i18n;
Using Translations
import { useTranslation } from 'react-i18next';
function App() {
const { t, i18n } = useTranslation();
const changeLanguage = (lng) => {
i18n.changeLanguage(lng);
};
return (
<div>
<h1>{t('welcome')}</h1>
<button onClick={() => changeLanguage('es')}>Español</button>
<button onClick={() => changeLanguage('en')}>English</button>
</div>
);
}
With Variables
{
welcome: 'Welcome, {{name}}!'
}
t('welcome', { name: 'John' })
Remember
- Separate translation files
- Use translation keys
- Support plurals
- Format dates/numbers correctly
Next: Learn SEO optimization!
#React#i18n#Internationalization#Advanced