From 04522a256620901a939aa674177d284e9c7e50c9 Mon Sep 17 00:00:00 2001 From: Osama Mabkhot <99215291+O2sa@users.noreply.github.com> Date: Tue, 14 Apr 2026 06:03:55 +0300 Subject: [PATCH 1/2] feat: Add i18n Support (EN/AR) --- app/page.tsx | 6 +- app/providers.tsx | 7 +- components/breakdown-bars.tsx | 105 ++++++++++++++++++------------ components/compare-form.tsx | 18 +++--- components/comparison-chart.tsx | 20 +++--- components/comparison-table.tsx | 11 ++-- components/insights-list.tsx | 5 +- components/language-provider.tsx | 26 ++++++++ components/language-switcher.tsx | 23 +++++++ components/result-dashboard.tsx | 56 ++++++++-------- components/top-list.tsx | 43 ++++++------- lib/i18n.ts | 106 +++++++++++++++++++++++++++++++ locales/ar.json | 55 ++++++++++++++++ locales/en.json | 56 ++++++++++++++++ 14 files changed, 419 insertions(+), 118 deletions(-) create mode 100644 components/language-provider.tsx create mode 100644 components/language-switcher.tsx create mode 100644 lib/i18n.ts create mode 100644 locales/ar.json create mode 100644 locales/en.json diff --git a/app/page.tsx b/app/page.tsx index ed3a79e..4adc5f4 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -5,6 +5,7 @@ import { CompareForm } from "../components/compare-form"; import { ResultDashboard } from "../components/result-dashboard"; import { DashboardSkeleton } from "../components/skeletons"; import { UserResult } from "@/types/user-result"; +import { LanguageSwitcher } from "@/components/language-switcher"; type ApiResponse = { success: boolean; @@ -74,7 +75,10 @@ export default function HomePage() { DevImpact - + +
- No repository data + {t('topwork.norepos')}
)}- No pull request data + {t('topwork.noPRs')}
)}