28 lines
799 B
JavaScript
28 lines
799 B
JavaScript
import React from "react";
|
|
import { useTranslation } from "react-i18next";
|
|
import i18next from "i18next";
|
|
import { Dropdown, Menu, Icon } from "antd";
|
|
|
|
export default function LanguageSelector() {
|
|
const { t } = useTranslation();
|
|
|
|
const handleMenuClick = e => {
|
|
i18next.changeLanguage(e.key, (err, t) => {
|
|
if (err)
|
|
return console.log("Error encountered when changing languages.", err);
|
|
});
|
|
};
|
|
const menu = (
|
|
<Menu onClick={handleMenuClick}>
|
|
<Menu.Item key="en_us">{t("general.languages.english")}</Menu.Item>
|
|
<Menu.Item key="fr">{t("general.languages.french")}</Menu.Item>
|
|
<Menu.Item key="es">{t("general.languages.spanish")}</Menu.Item>
|
|
</Menu>
|
|
);
|
|
return (
|
|
<Dropdown overlay={menu}>
|
|
<Icon type="global" />
|
|
</Dropdown>
|
|
);
|
|
}
|