--- /dev/null
+import axios from 'axios';
+import PropTypes from 'prop-types';
+import React from 'react';
+import { Button } from 'react-bootstrap';
+import { withTranslation } from 'react-i18next';
+
+import Icon from './Icon';
+import { withUser } from '../../helpers/UserContext';
+import i18n from '../../i18n';
+
+const setLanguage = (user, language) => {
+ i18n.changeLanguage(language);
+ if (user) {
+ axios.post('/api/users/set-language', { language });
+ }
+};
+
+const LanguageSwitcher = ({ user }) =>
+<Button
+ onClick={() => { setLanguage(user, i18n.language === 'de' ? 'en' : 'de'); }}
+ title={i18n.language === 'de' ? 'Switch to english' : 'Auf deutsch wechseln'}
+ variant="outline-secondary"
+>
+ <Icon.LANGUAGE />
+ {' '}
+ {i18n.language === 'de' ? 'Deutsch' : 'English'}
+</Button>;
+
+LanguageSwitcher.propTypes = {
+ user: PropTypes.shape({
+ }),
+};
+
+export default withTranslation()(withUser(LanguageSwitcher));