mirror of
https://github.com/henrygd/beszel.git
synced 2025-12-17 18:56:17 +01:00
migrate to lingui
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user