From 3da2663a69c80e24fab57248d97a0e5b02341791 Mon Sep 17 00:00:00 2001 From: Priyanshu Verma Date: Mon, 4 Nov 2024 15:01:34 +0000 Subject: [PATCH] feat: i18n Added for 5 langs --- client/bun.lockb | Bin 328974 -> 330562 bytes client/package.json | 2 + client/src/components/ChatbotCard.tsx | 12 +- client/src/components/ImageCard.tsx | 4 +- client/src/components/LikeAndReport.tsx | 2 - client/src/components/Navbar.tsx | 59 ++++- .../src/components/modals/Tts-magic-modal.tsx | 14 +- .../src/components/modals/command-modal.tsx | 38 ++-- .../modals/create-chatbot-modal.tsx | 20 +- .../modals/delete-chatbot-modal.tsx | 11 +- client/src/components/modals/imgine-modal.tsx | 12 +- .../src/components/modals/settings-modal.tsx | 37 +-- client/src/components/modals/share-modal.tsx | 4 +- .../modals/translate-magic-modal.tsx | 14 +- .../modals/update-chatbot-modal.tsx | 25 +- .../modals/update-profile-modal.tsx | 33 +-- client/src/i18n/i18n.ts | 27 +++ client/src/i18n/locales/en.ts | 213 ++++++++++++++++++ client/src/i18n/locales/es.ts | 212 +++++++++++++++++ client/src/i18n/locales/fr.ts | 212 +++++++++++++++++ client/src/i18n/locales/hi.ts | 205 +++++++++++++++++ client/src/i18n/locales/ja.ts | 207 +++++++++++++++++ client/src/i18n/types.ts | 8 + client/src/main.tsx | 2 +- client/src/pages/404.tsx | 8 +- client/src/pages/Anonymous.tsx | 4 +- client/src/pages/Chatbot.tsx | 24 +- client/src/pages/ChatbotView.tsx | 39 ++-- client/src/pages/Dashboard.tsx | 35 ++- client/src/pages/Hub.tsx | 18 +- client/src/pages/Landing.tsx | 66 +++--- client/src/pages/Leaderboard.tsx | 12 +- client/src/pages/Login.tsx | 22 +- client/src/pages/MyChatbots.tsx | 26 ++- client/src/pages/MyImages.tsx | 29 ++- client/src/pages/Profile.tsx | 18 +- client/src/pages/Signup.tsx | 26 ++- 37 files changed, 1457 insertions(+), 243 deletions(-) create mode 100644 client/src/i18n/i18n.ts create mode 100644 client/src/i18n/locales/en.ts create mode 100644 client/src/i18n/locales/es.ts create mode 100644 client/src/i18n/locales/fr.ts create mode 100644 client/src/i18n/locales/hi.ts create mode 100644 client/src/i18n/locales/ja.ts create mode 100644 client/src/i18n/types.ts diff --git a/client/bun.lockb b/client/bun.lockb index eb505f98911e8e3aba6e74ee1d4ff7f717dabfd9..2bd537632c812d36ac2d083c49611a013caf6782 100755 GIT binary patch delta 62083 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 XRhRZQ*vE7x*UcL1%!~|8%%J}PeR^O= diff --git a/client/package.json b/client/package.json index 52400cf..9dea249 100644 --- a/client/package.json +++ b/client/package.json @@ -32,6 +32,7 @@ "cmdk": "1.0.0", "emoji-picker-react": "^4.12.0", "export-from-json": "^1.7.4", + "i18next": "^23.16.4", "lucide-react": "^0.453.0", "moment": "^2.30.1", "next-themes": "^0.3.0", @@ -39,6 +40,7 @@ "react-dom": "^18.3.1", "react-hook-form": "^7.53.1", "react-hot-toast": "^2.4.1", + "react-i18next": "^15.1.0", "react-markdown": "^9.0.1", "react-router-dom": "^6.27.0", "react-scroll-to-top": "^3.0.0", diff --git a/client/src/components/ChatbotCard.tsx b/client/src/components/ChatbotCard.tsx index 573f80f..e53628c 100644 --- a/client/src/components/ChatbotCard.tsx +++ b/client/src/components/ChatbotCard.tsx @@ -6,6 +6,7 @@ import { Card, CardContent, CardFooter, CardHeader } from "./ui/card"; import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar"; import { Button } from "./ui/button"; import { Link, useNavigate } from "react-router-dom"; +import { useTranslation } from "react-i18next"; export function ChatbotCard({ chatbot, @@ -16,6 +17,7 @@ export function ChatbotCard({ }) { const shareModel = useShareModal(); const rq = useQueryClient(); + const { t } = useTranslation(); const navigate = useNavigate(); const likeMutation = useMutation({ mutationFn: likeAndReport, @@ -40,7 +42,7 @@ export function ChatbotCard({ {chatbot.latest_version.name}

- Created by @{chatbot.latest_version.modified_by} + {t("created_by")}@{chatbot.latest_version.modified_by}

@@ -64,7 +66,7 @@ export function ChatbotCard({ } > - Like + {t("like")} - Report + {t("report")} navigate(`/chatbot/${chatbot.id}`)} > - Chat + {t("chat")} diff --git a/client/src/components/ImageCard.tsx b/client/src/components/ImageCard.tsx index 000584d..5339bcd 100644 --- a/client/src/components/ImageCard.tsx +++ b/client/src/components/ImageCard.tsx @@ -4,6 +4,7 @@ import { Card, CardContent, CardFooter, CardHeader } from "./ui/card"; import { Button } from "./ui/button"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { likeAndReport } from "@/lib/queries"; +import { useTranslation } from "react-i18next"; export function ImageCard({ image, @@ -13,6 +14,7 @@ export function ImageCard({ queryKeys: string[]; }) { const qc = useQueryClient(); + const { t } = useTranslation(); const mutation = useMutation({ mutationFn: likeAndReport, onSuccess: () => qc.invalidateQueries({ queryKey: queryKeys }), @@ -73,7 +75,7 @@ export function ImageCard({ > diff --git a/client/src/components/LikeAndReport.tsx b/client/src/components/LikeAndReport.tsx index 8ef5d05..280acc7 100644 --- a/client/src/components/LikeAndReport.tsx +++ b/client/src/components/LikeAndReport.tsx @@ -15,7 +15,6 @@ export function LikeAndReport({ queryKeys: string[]; }) { const qc = useQueryClient(); - const mutation = useMutation({ mutationFn: likeAndReport, onSuccess: () => qc.invalidateQueries({ queryKey: queryKeys }), @@ -59,7 +58,6 @@ export function LikeAndReport({ } > - {/* Display reports count on top of the button */} {reports} diff --git a/client/src/components/Navbar.tsx b/client/src/components/Navbar.tsx index 8c99d16..985cece 100644 --- a/client/src/components/Navbar.tsx +++ b/client/src/components/Navbar.tsx @@ -4,14 +4,33 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, + DropdownMenuPortal, DropdownMenuSeparator, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useSettingsModal } from "@/stores/modal-store"; +import { useTranslation } from "react-i18next"; + +const languages = [ + { label: "English", code: "en" }, + { label: "हिन्दी", code: "hi" }, + { label: "Español", code: "es" }, + { label: "Français", code: "fr" }, + { label: "日本語", code: "ja" }, +]; export default function Navbar() { const { user, loading, logout } = useAuth(); const settingsModal = useSettingsModal(); + const { t, i18n } = useTranslation(); + + const changeLanguage = (lng: string) => { + i18n.changeLanguage(lng); + }; + return (