Skip to content
Snippets Groups Projects
LocaleSwitcher.tsx 790 B
Newer Older
Chris's avatar
Chris committed
import React from 'react';
import { useTranslation } from 'react-i18next';
export const LocaleSwitcher: React.FC = () => {
  if (import.meta.env.MODE === 'production') {
    return null;
  }
  const { t, i18n } = useTranslation();
Chris's avatar
Chris committed
  return (
    <select
      value={i18n.language}
      onChange={(e) => i18n.changeLanguage(e.target.value)}
    >
      {
        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
        Object.entries(i18n.options.resources!).map(([localeCode, _]) => (
          <option key={localeCode} value={localeCode}>
            {t('language', { lng: localeCode })}
          </option>
        ))
      <option key="dev" value="dev">
        localisation keys (dev)
      </option>
Chris's avatar
Chris committed
    </select>
  );
Chris's avatar
Chris committed
export default LocaleSwitcher;