fix(ui): add language switcher to connections page (#954)

* fix(ui): add language switcher to connections page

* desciption length fix

* Update packages/web/src/pages/Connections/index.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add new language picker key

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Dan Ditomaso
2025-11-13 13:06:20 -05:00
committed by GitHub
parent 94d51912e6
commit 390b46f026
23 changed files with 27 additions and 24 deletions

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Language",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Никога не е чуван"
},
"language": {
"languagePicker": {
"label": "Език",
"changeLanguage": "Промяна на езика"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Jazyk",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Nie gehört"
},
"language": {
"languagePicker": {
"label": "Sprache",
"changeLanguage": "Sprache ändern"
},

View File

@@ -181,7 +181,7 @@
"showUnheard": {
"label": "Unknown last heard"
},
"language": {
"languagePicker": {
"label": "Language",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Idioma",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Ei koskaan kuultu"
},
"language": {
"languagePicker": {
"label": "Kieli",
"changeLanguage": "Vaihda kieli"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Jamais entendu"
},
"language": {
"languagePicker": {
"label": "Langue",
"changeLanguage": "Changer la langue"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Nyelv",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Lingua",
"changeLanguage": "Cambia Lingua"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "言語設定",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "수신된 적 없음"
},
"language": {
"languagePicker": {
"label": "언어",
"changeLanguage": "언어 선택"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Taal",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Język",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Idioma",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Idioma",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Aldrig hörd"
},
"language": {
"languagePicker": {
"label": "Språk",
"changeLanguage": "Byt språk"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Dil",
"changeLanguage": "Change Language"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "Мова",
"changeLanguage": "Змінити мову"
},

View File

@@ -195,7 +195,7 @@
"showUnheard": {
"label": "Never heard"
},
"language": {
"languagePicker": {
"label": "语言",
"changeLanguage": "Change Language"
},

View File

@@ -135,7 +135,7 @@ export const DeviceInfoPanel = ({
{
id: "language",
label: t("language.changeLanguage"),
label: t("languagePickeer.label"),
icon: Languages,
render: () => <LanguageSwitcher />,
},

View File

@@ -1,6 +1,7 @@
import type { LangCode } from "@app/i18n-config.ts";
import useLang from "@core/hooks/useLang.ts";
import { cn } from "@core/utils/cn.ts";
import { t } from "i18next";
import { Check, Languages } from "lucide-react";
import { useCallback } from "react";
import { useTranslation } from "react-i18next";
@@ -56,7 +57,7 @@ export default function LanguageSwitcher({
"group-hover:text-gray-800 dark:group-hover:text-gray-100",
)}
>
{`${i18n.t("language.changeLanguage")}:`}
{`${t("languagePicker.label")}:`}
</Subtle>
<Subtle
className={cn(

View File

@@ -1,5 +1,6 @@
import AddConnectionDialog from "@app/components/Dialog/AddConnectionDialog/AddConnectionDialog";
import { TimeAgo } from "@app/components/generic/TimeAgo";
import LanguageSwitcher from "@app/components/LanguageSwitcher";
import { ConnectionStatusBadge } from "@app/components/PageComponents/Connections/ConnectionStatusBadge";
import type { Connection } from "@app/core/stores/deviceStore/types";
import { useConnections } from "@app/pages/Connections/useConnections";
@@ -106,16 +107,17 @@ export const Connections = () => {
<h1 className="text-2xl md:text-3xl font-bold tracking-tight">
{t("page.title")}
</h1>
<p className="text-slate-500 dark:text-slate-400 mt-1">
<p className="lg:w-4/6 md:w-6 text-slate-500 dark:text-slate-400 mt-1">
{t("page.description")}
</p>
</div>
</div>
<div className="flex items-center ml-2 gap-2">
<div className="flex flex-col items-end ml-2 gap-2">
<Button onClick={() => setAddOpen(true)} className="gap-2">
<RouterIcon className="size-5" />
{t("button.addConnection")}
</Button>
<LanguageSwitcher />
</div>
</header>