migrate to lingui

This commit is contained in:
Henry Dollman
2024-11-01 20:31:57 -04:00
parent 856683610a
commit a93ff63605
76 changed files with 14410 additions and 3837 deletions

View File

@@ -1,19 +1,14 @@
import { useEffect } from "react"
import { LanguagesIcon } from "lucide-react"
import { Button } from "@/components/ui/button"
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
import { useTranslation } from "react-i18next"
import languages from "../lib/languages.json"
import { cn } from "@/lib/utils"
import { setLang } from "@/lib/i18n"
import { useLingui } from "@lingui/react"
import { dynamicActivate } from "@/lib/i18n"
export function LangToggle() {
const { i18n } = useTranslation()
useEffect(() => {
document.documentElement.lang = i18n.language
}, [i18n.language])
const { i18n } = useLingui()
return (
<DropdownMenu>
@@ -27,8 +22,8 @@ export function LangToggle() {
{languages.map(({ lang, label, e }) => (
<DropdownMenuItem
key={lang}
className={cn("px-3 flex gap-2.5", lang === i18n.language ? "font-bold" : "")}
onClick={() => setLang(lang)}
className={cn("px-3 flex gap-2.5", lang === i18n.locale && "font-semibold")}
onClick={() => dynamicActivate(lang)}
>
<span>{e}</span> {label}
</DropdownMenuItem>