Make the website interface support multiple languages for global accessibility

Implements i18n translations for Header component elements using `t` function and adds a missing translation in `ar.json`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 5a4f78b4-6a2e-4391-b005-5544e086dac8
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9777c70b-fc38-4831-8d6b-78dfffe041b0/c8675744-6bc9-4464-806b-f920c1471265.jpg
This commit is contained in:
ghaddaditw
2025-06-08 08:50:15 +00:00
parent 8d8e93ac99
commit e80e08fdb5
2 changed files with 9 additions and 8 deletions
+7 -7
View File
@@ -65,7 +65,7 @@ export default function Header() {
href="/dashboard"
className="transition-colors hover:text-foreground/80 text-foreground"
>
Dashboard
{t('navigation.dashboard')}
</Link>
</nav>
)}
@@ -77,7 +77,7 @@ export default function Header() {
{/* Voice Status Indicator */}
<div className="flex items-center space-x-2 bg-muted/50 px-3 py-1 rounded-full">
<Activity className="w-3 h-3 text-green-500 animate-pulse" />
<span className="text-xs text-muted-foreground hidden sm:inline">Voice Ready</span>
<span className="text-xs text-muted-foreground hidden sm:inline">{t('voice.ready')}</span>
</div>
{/* Language Switcher */}
@@ -132,26 +132,26 @@ export default function Header() {
<DropdownMenuSeparator />
<DropdownMenuItem onClick={() => setLocation("/settings")}>
<Settings className="mr-2 h-4 w-4" />
<span>Settings</span>
<span>{t('navigation.settings')}</span>
</DropdownMenuItem>
<DropdownMenuItem onClick={() => setLocation("/profile")}>
<User className="mr-2 h-4 w-4" />
<span>Profile</span>
<span>{t('navigation.profile')}</span>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem onClick={handleLogout}>
<LogOut className="mr-2 h-4 w-4" />
<span>Log out</span>
<span>{t('navigation.logout')}</span>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
) : (
<div className="flex items-center space-x-2">
<Button variant="ghost" size="sm" onClick={() => setLocation("/login")}>
Sign In
{t('auth.login')}
</Button>
<Button size="sm" onClick={() => setLocation("/login")}>
Get Started
{t('auth.register')}
</Button>
</div>
)}
+2 -1
View File
@@ -234,7 +234,8 @@
"voiceActivated": "مفعل صوتياً",
"speakingRate": "معدل الكلام",
"voicePitch": "نبرة الصوت",
"voiceVolume": "مستوى الصوت"
"voiceVolume": "مستوى الصوت",
"ready": "الصوت جاهز"
},
"settings": {
"title": "الإعدادات",