book / src /components /LanguageToggle.jsx
Ammar Ahmed Khan
Add Physical AI Humanoid Book Platform
e2eff86
import React, { useState, useEffect } from 'react';
import BrowserOnly from '@docusaurus/BrowserOnly';
const LanguageToggle = () => {
const [currentLanguage, setCurrentLanguage] = useState('en');
// Load language preference from localStorage on component mount
useEffect(() => {
const savedLanguage = localStorage.getItem('preferredLanguage') || 'en';
setCurrentLanguage(savedLanguage);
}, []);
// Handle language change
const handleLanguageChange = (newLanguage) => {
if (newLanguage !== currentLanguage) {
setCurrentLanguage(newLanguage);
localStorage.setItem('preferredLanguage', newLanguage);
// In a real implementation, this would trigger UI updates for all content
// For now, we'll just log the change
console.log(`Language changed to: ${newLanguage}`);
// Trigger a custom event that other components can listen to
window.dispatchEvent(new CustomEvent('languageChange', { detail: { newLanguage } }));
}
};
return (
<BrowserOnly>
{() => (
<div className="language-toggle">
<select
value={currentLanguage}
onChange={(e) => handleLanguageChange(e.target.value)}
aria-label="Select language"
>
<option value="en">English</option>
<option value="ur">Urdu</option>
</select>
</div>
)}
</BrowserOnly>
);
};
export default LanguageToggle;