UNPKG

accessibility-widgets

Version:

A comprehensive, lightweight accessibility widget that enhances web accessibility for all users. Provides multiple accessibility features including screen reader support, voice control, high contrast mode, and more.

1,338 lines (1,312 loc) 175 kB
/* =========================================== ACCESSIBILITY WIDGET github.com/sinanisler/accessibility-widgets github.com/sponsors/sinanisler =========================================== */ // =========================================== // TRANSLATIONS // =========================================== const TRANSLATIONS = { en: { accessibilityMenu: 'Accessibility Menu', closeAccessibilityMenu: 'Close Accessibility Menu', accessibilityTools: 'Accessibility Tools', resetAllSettings: 'Reset All Settings', screenReader: 'Screen Reader', voiceCommand: 'Voice Command', textSpacing: 'Text Spacing', pauseAnimations: 'Pause Animations', hideImages: 'Hide Images', dyslexiaFriendly: 'Dyslexia Friendly', biggerCursor: 'Bigger Cursor', lineHeight: 'Line Height', fontSelection: 'Font Selection', colorFilter: 'Color Filter', textAlign: 'Text Align', textSize: 'Text Size', highContrast: 'High Contrast', defaultFont: 'Default Font', noFilter: 'No Filter', default: 'Default', screenReaderOn: 'Screen reader on', screenReaderOff: 'Screen reader off', voiceControlActivated: 'Voice control activated', notSupportedBrowser: 'is not supported in this browser', close: 'Close', reset: 'Reset', saturation: 'Saturation', selectLanguage: 'Select Language' }, de: { accessibilityMenu: 'Barrierefreiheitsmenü', closeAccessibilityMenu: 'Barrierefreiheitsmenü schließen', accessibilityTools: 'Barrierefreiheitswerkzeuge', resetAllSettings: 'Alle Einstellungen zurücksetzen', screenReader: 'Screenreader', voiceCommand: 'Sprachbefehl', textSpacing: 'Textabstand', pauseAnimations: 'Animationen pausieren', hideImages: 'Bilder ausblenden', dyslexiaFriendly: 'Legasthenie-freundlich', biggerCursor: 'Größerer Cursor', lineHeight: 'Zeilenhöhe', fontSelection: 'Schriftauswahl', colorFilter: 'Farbfilter', textAlign: 'Textausrichtung', textSize: 'Textgröße', highContrast: 'Hoher Kontrast', defaultFont: 'Standardschrift', noFilter: 'Kein Filter', default: 'Standard', screenReaderOn: 'Screenreader ein', screenReaderOff: 'Screenreader aus', voiceControlActivated: 'Sprachsteuerung aktiviert', notSupportedBrowser: 'wird in diesem Browser nicht unterstützt', close: 'Schließen', reset: 'Zurücksetzen', saturation: 'Sättigung', selectLanguage: 'Sprache wählen' }, es: { accessibilityMenu: 'Menú de Accesibilidad', closeAccessibilityMenu: 'Cerrar Menú de Accesibilidad', accessibilityTools: 'Herramientas de Accesibilidad', resetAllSettings: 'Restablecer Todas las Configuraciones', screenReader: 'Lector de Pantalla', voiceCommand: 'Comando de Voz', textSpacing: 'Espaciado de Texto', pauseAnimations: 'Pausar Animaciones', hideImages: 'Ocultar Imágenes', dyslexiaFriendly: 'Amigable para Dislexia', biggerCursor: 'Cursor Más Grande', lineHeight: 'Altura de Línea', fontSelection: 'Selección de Fuente', colorFilter: 'Filtro de Color', textAlign: 'Alineación de Texto', textSize: 'Tamaño de Texto', highContrast: 'Alto Contraste', defaultFont: 'Fuente Predeterminada', noFilter: 'Sin Filtro', default: 'Predeterminado', screenReaderOn: 'Lector de pantalla activado', screenReaderOff: 'Lector de pantalla desactivado', voiceControlActivated: 'Control de voz activado', notSupportedBrowser: 'no es compatible con este navegador', close: 'Cerrar', reset: 'Restablecer', saturation: 'Saturación', selectLanguage: 'Seleccionar Idioma' }, it: { accessibilityMenu: 'Menu Accessibilità', closeAccessibilityMenu: 'Chiudi Menu Accessibilità', accessibilityTools: 'Strumenti di Accessibilità', resetAllSettings: 'Ripristina Tutte le Impostazioni', screenReader: 'Lettore Schermo', voiceCommand: 'Comando Vocale', textSpacing: 'Spaziatura Testo', pauseAnimations: 'Pausa Animazioni', hideImages: 'Nascondi Immagini', dyslexiaFriendly: 'Adatto alla Dislessia', biggerCursor: 'Cursore Più Grande', lineHeight: 'Altezza Linea', fontSelection: 'Selezione Font', colorFilter: 'Filtro Colore', textAlign: 'Allineamento Testo', textSize: 'Dimensione Testo', highContrast: 'Alto Contrasto', defaultFont: 'Font Predefinito', noFilter: 'Nessun Filtro', default: 'Predefinito', screenReaderOn: 'Lettore schermo attivo', screenReaderOff: 'Lettore schermo disattivo', voiceControlActivated: 'Controllo vocale attivato', notSupportedBrowser: 'non è supportato in questo browser', close: 'Chiudi', reset: 'Ripristina', saturation: 'Saturazione', selectLanguage: 'Seleziona Lingua' }, fr: { accessibilityMenu: 'Menu Accessibilité', closeAccessibilityMenu: 'Fermer le Menu Accessibilité', accessibilityTools: 'Outils d\'Accessibilité', resetAllSettings: 'Réinitialiser Tous les Paramètres', screenReader: 'Lecteur d\'Écran', voiceCommand: 'Commande Vocale', textSpacing: 'Espacement du Texte', pauseAnimations: 'Mettre en Pause les Animations', hideImages: 'Masquer les Images', dyslexiaFriendly: 'Convivial pour la Dyslexie', biggerCursor: 'Curseur Plus Grand', lineHeight: 'Hauteur de Ligne', fontSelection: 'Sélection de Police', colorFilter: 'Filtre de Couleur', textAlign: 'Alignement du Texte', textSize: 'Taille du Texte', highContrast: 'Contraste Élevé', defaultFont: 'Police par Défaut', noFilter: 'Aucun Filtre', default: 'Par Défaut', screenReaderOn: 'Lecteur d\'écran activé', screenReaderOff: 'Lecteur d\'écran désactivé', voiceControlActivated: 'Contrôle vocal activé', notSupportedBrowser: 'n\'est pas pris en charge dans ce navigateur', close: 'Fermer', reset: 'Réinitialiser', saturation: 'Saturation', selectLanguage: 'Sélectionner la Langue' }, ru: { accessibilityMenu: 'Меню Доступности', closeAccessibilityMenu: 'Закрыть Меню Доступности', accessibilityTools: 'Инструменты Доступности', resetAllSettings: 'Сбросить Все Настройки', screenReader: 'Программа Чтения с Экрана', voiceCommand: 'Голосовая Команда', textSpacing: 'Межбуквенный Интервал', pauseAnimations: 'Приостановить Анимацию', hideImages: 'Скрыть Изображения', dyslexiaFriendly: 'Для Дислексии', biggerCursor: 'Увеличенный Курсор', lineHeight: 'Высота Строки', fontSelection: 'Выбор Шрифта', colorFilter: 'Цветовой Фильтр', textAlign: 'Выравнивание Текста', textSize: 'Размер Текста', highContrast: 'Высокая Контрастность', defaultFont: 'Шрифт по Умолчанию', noFilter: 'Без Фильтра', default: 'По Умолчанию', screenReaderOn: 'Программа чтения включена', screenReaderOff: 'Программа чтения выключена', voiceControlActivated: 'Голосовое управление активировано', notSupportedBrowser: 'не поддерживается в этом браузере', close: 'Закрыть', reset: 'Сбросить', saturation: 'Насыщенность', selectLanguage: 'Выберите Язык' }, tr: { accessibilityMenu: 'Erişilebilirlik Menüsü', closeAccessibilityMenu: 'Erişilebilirlik Menüsünü Kapat', accessibilityTools: 'Erişilebilirlik Araçları', resetAllSettings: 'Tüm Ayarları Sıfırla', screenReader: 'Ekran Okuyucu', voiceCommand: 'Sesli Komut', textSpacing: 'Metin Aralığı', pauseAnimations: 'Animasyonları Duraklat', hideImages: 'Resimleri Gizle', dyslexiaFriendly: 'Disleksi Dostu', biggerCursor: 'Daha Büyük İmleç', lineHeight: 'Satır Yüksekliği', fontSelection: 'Yazı Tipi Seçimi', colorFilter: 'Renk Filtresi', textAlign: 'Metin Hizalama', textSize: 'Metin Boyutu', highContrast: 'Yüksek Kontrast', defaultFont: 'Varsayılan Yazı Tipi', noFilter: 'Filtre Yok', default: 'Varsayılan', screenReaderOn: 'Ekran okuyucu açık', screenReaderOff: 'Ekran okuyucu kapalı', voiceControlActivated: 'Sesli kontrol etkinleştirildi', notSupportedBrowser: 'bu tarayıcıda desteklenmiyor', close: 'Kapat', reset: 'Sıfırla', saturation: 'Doygunluk', selectLanguage: 'Dil Seçin' }, ar: { accessibilityMenu: 'قائمة إمكانية الوصول', closeAccessibilityMenu: 'إغلاق قائمة إمكانية الوصول', accessibilityTools: 'أدوات إمكانية الوصول', resetAllSettings: 'إعادة تعيين جميع الإعدادات', screenReader: 'قارئ الشاشة', voiceCommand: 'الأمر الصوتي', textSpacing: 'تباعد النص', pauseAnimations: 'إيقاف الرسوم المتحركة مؤقتًا', hideImages: 'إخفاء الصور', dyslexiaFriendly: 'صديق لعسر القراءة', biggerCursor: 'مؤشر أكبر', lineHeight: 'ارتفاع الخط', fontSelection: 'اختيار الخط', colorFilter: 'مرشح الألوان', textAlign: 'محاذاة النص', textSize: 'حجم النص', highContrast: 'تباين عالي', defaultFont: 'الخط الافتراضي', noFilter: 'بدون مرشح', default: 'افتراضي', screenReaderOn: 'قارئ الشاشة مفعّل', screenReaderOff: 'قارئ الشاشة معطل', voiceControlActivated: 'تم تفعيل التحكم الصوتي', notSupportedBrowser: 'غير مدعوم في هذا المتصفح', close: 'إغلاق', reset: 'إعادة تعيين', saturation: 'التشبع', selectLanguage: 'اختر اللغة' }, hi: { accessibilityMenu: 'पहुँच मेनू', closeAccessibilityMenu: 'पहुँच मेनू बंद करें', accessibilityTools: 'पहुँच उपकरण', resetAllSettings: 'सभी सेटिंग्स रीसेट करें', screenReader: 'स्क्रीन रीडर', voiceCommand: 'वॉयस कमांड', textSpacing: 'टेक्स्ट स्पेसिंग', pauseAnimations: 'एनिमेशन रोकें', hideImages: 'चित्र छिपाएँ', dyslexiaFriendly: 'डिस्लेक्सिया के अनुकूल', biggerCursor: 'बड़ा कर्सर', lineHeight: 'लाइन की ऊँचाई', fontSelection: 'फ़ॉन्ट चयन', colorFilter: 'रंग फ़िल्टर', textAlign: 'टेक्स्ट संरेखण', textSize: 'टेक्स्ट का आकार', highContrast: 'उच्च कंट्रास्ट', defaultFont: 'डिफ़ॉल्ट फ़ॉन्ट', noFilter: 'कोई फ़िल्टर नहीं', default: 'डिफ़ॉल्ट', screenReaderOn: 'स्क्रीन रीडर चालू', screenReaderOff: 'स्क्रीन रीडर बंद', voiceControlActivated: 'वॉयस नियंत्रण सक्रिय', notSupportedBrowser: 'इस ब्राउज़र में समर्थित नहीं है', close: 'बंद करें', reset: 'रीसेट करें', saturation: 'संतृप्ति', selectLanguage: 'भाषा चुनें' }, 'zh-cn': { accessibilityMenu: '辅助功能菜单', closeAccessibilityMenu: '关闭辅助功能菜单', accessibilityTools: '辅助功能工具', resetAllSettings: '重置所有设置', screenReader: '屏幕阅读器', voiceCommand: '语音命令', textSpacing: '文本间距', pauseAnimations: '暂停动画', hideImages: '隐藏图片', dyslexiaFriendly: '阅读障碍友好', biggerCursor: '更大的光标', lineHeight: '行高', fontSelection: '字体选择', colorFilter: '颜色滤镜', textAlign: '文本对齐', textSize: '文本大小', highContrast: '高对比度', defaultFont: '默认字体', noFilter: '无滤镜', default: '默认', screenReaderOn: '屏幕阅读器已开启', screenReaderOff: '屏幕阅读器已关闭', voiceControlActivated: '语音控制已激活', notSupportedBrowser: '此浏览器不支持', close: '关闭', reset: '重置', saturation: '饱和度', selectLanguage: '选择语言' }, jp: { accessibilityMenu: 'アクセシビリティメニュー', closeAccessibilityMenu: 'アクセシビリティメニューを閉じる', accessibilityTools: 'アクセシビリティツール', resetAllSettings: 'すべての設定をリセット', screenReader: 'スクリーンリーダー', voiceCommand: '音声コマンド', textSpacing: 'テキスト間隔', pauseAnimations: 'アニメーション一時停止', hideImages: '画像を非表示', dyslexiaFriendly: 'ディスレクシア対応', biggerCursor: '大きいカーソル', lineHeight: '行の高さ', fontSelection: 'フォント選択', colorFilter: 'カラーフィルター', textAlign: 'テキスト配置', textSize: 'テキストサイズ', highContrast: 'ハイコントラスト', defaultFont: 'デフォルトフォント', noFilter: 'フィルターなし', default: 'デフォルト', screenReaderOn: 'スクリーンリーダーがオン', screenReaderOff: 'スクリーンリーダーがオフ', voiceControlActivated: '音声制御が有効', notSupportedBrowser: 'このブラウザではサポートされていません', close: '閉じる', reset: 'リセット', saturation: '彩度', selectLanguage: '言語を選択' }, pt: { accessibilityMenu: 'Menu de Acessibilidade', closeAccessibilityMenu: 'Fechar Menu de Acessibilidade', accessibilityTools: 'Ferramentas de Acessibilidade', resetAllSettings: 'Redefinir Configurações', screenReader: 'Leitor de Tela', voiceCommand: 'Comando de Voz', textSpacing: 'Espaçamento de Texto', pauseAnimations: 'Pausar Animações', hideImages: 'Ocultar Imagens', dyslexiaFriendly: 'Fonte para Dislexia', biggerCursor: 'Cursor Maior', lineHeight: 'Altura da Linha', fontSelection: 'Seleção de Fonte', colorFilter: 'Filtro de Cor', textAlign: 'Alinhamento do Texto', textSize: 'Tamanho do Texto', highContrast: 'Alto Contraste', defaultFont: 'Fonte Padrão', noFilter: 'Sem Filtro', default: 'Padrão', screenReaderOn: 'Leitor de tela ativado', screenReaderOff: 'Leitor de tela desativado', voiceControlActivated: 'Controle de voz ativado', notSupportedBrowser: 'não é suportado neste navegador', close: 'Fechar', reset: 'Redefinir', saturation: 'Saturação', selectLanguage: 'Selecionar Idioma' }, bn: { accessibilityMenu: 'অ্যাক্সেসিবিলিটি মেনু', closeAccessibilityMenu: 'মেনু বন্ধ করুন', accessibilityTools: 'অ্যাক্সেসিবিলিটি টুলস', resetAllSettings: 'সব সেটিংস রিসেট করুন', screenReader: 'স্ক্রিন রিডার', voiceCommand: 'ভয়েস কমান্ড', textSpacing: 'টেক্সট স্পেসিং', pauseAnimations: 'অ্যানিমেশন থামান', hideImages: 'ছবি লুকান', dyslexiaFriendly: 'ডিসলেক্সিয়া ফ্রেন্ডলি', biggerCursor: 'বড় কার্সার', lineHeight: 'লাইনের উচ্চতা', fontSelection: 'ফন্ট নির্বাচন', colorFilter: 'কালার ফিল্টার', textAlign: 'লেখা বিন্যাস', textSize: 'লেখার আকার', highContrast: 'হাই কন্ট্রাস্ট', defaultFont: 'ডিফল্ট ফন্ট', noFilter: 'কোন ফিল্টার নেই', default: 'ডিফল্ট', screenReaderOn: 'স্ক্রিন রিডার চালু', screenReaderOff: 'স্ক্রিন রিডার বন্ধ', voiceControlActivated: 'ভয়েস কন্ট্রোল সক্রিয়', notSupportedBrowser: 'এই ব্রাউজারে সমর্থিত নয়', close: 'বন্ধ', reset: 'রিসেট', saturation: 'স্যাচুরেশন', selectLanguage: 'ভাষা নির্বাচন করুন' }, ko: { accessibilityMenu: '접근성 메뉴', closeAccessibilityMenu: '접근성 메뉴 닫기', accessibilityTools: '접근성 도구', resetAllSettings: '모든 설정 초기화', screenReader: '스크린 리더', voiceCommand: '음성 명령', textSpacing: '텍스트 간격', pauseAnimations: '애니메이션 일시 중지', hideImages: '이미지 숨기기', dyslexiaFriendly: '난독증 배려', biggerCursor: '큰 커서', lineHeight: '줄 높이', fontSelection: '글꼴 선택', colorFilter: '색상 필터', textAlign: '텍스트 정렬', textSize: '텍스트 크기', highContrast: '고대비', defaultFont: '기본 글꼴', noFilter: '필터 없음', default: '기본', screenReaderOn: '스크린 리더 켜짐', screenReaderOff: '스크린 리더 꺼짐', voiceControlActivated: '음성 제어 활성화', notSupportedBrowser: '이 브라우저에서 지원되지 않습니다', close: '닫기', reset: '초기화', saturation: '채도', selectLanguage: '언어 선택' }, vi: { accessibilityMenu: 'Menu Trợ năng', closeAccessibilityMenu: 'Đóng Menu', accessibilityTools: 'Công cụ Trợ năng', resetAllSettings: 'Đặt lại Tất cả', screenReader: 'Trình đọc màn hình', voiceCommand: 'Lệnh giọng nói', textSpacing: 'Khoảng cách chữ', pauseAnimations: 'Dừng Hoạt ảnh', hideImages: 'Ẩn Hình ảnh', dyslexiaFriendly: 'Phông chữ dễ đọc', biggerCursor: 'Con trỏ lớn', lineHeight: 'Chiều cao dòng', fontSelection: 'Chọn phông chữ', colorFilter: 'Bộ lọc màu', textAlign: 'Căn chỉnh văn bản', textSize: 'Cỡ chữ', highContrast: 'Độ tương phản cao', defaultFont: 'Phông chữ mặc định', noFilter: 'Không bộ lọc', default: 'Mặc định', screenReaderOn: 'Bật trình đọc màn hình', screenReaderOff: 'Tắt trình đọc màn hình', voiceControlActivated: 'Đã kích hoạt điều khiển giọng nói', notSupportedBrowser: 'không được hỗ trợ trên trình duyệt này', close: 'Đóng', reset: 'Đặt lại', saturation: 'Độ bão hòa', selectLanguage: 'Chọn Ngôn ngữ' }, id: { accessibilityMenu: 'Menu Aksesibilitas', closeAccessibilityMenu: 'Tutup Menu', accessibilityTools: 'Alat Aksesibilitas', resetAllSettings: 'Atur Ulang Semua', screenReader: 'Pembaca Layar', voiceCommand: 'Perintah Suara', textSpacing: 'Jarak Teks', pauseAnimations: 'Hentikan Animasi', hideImages: 'Sembunyikan Gambar', dyslexiaFriendly: 'Ramah Disleksia', biggerCursor: 'Kursor Besar', lineHeight: 'Tinggi Baris', fontSelection: 'Pilihan Font', colorFilter: 'Filter Warna', textAlign: 'Perataan Teks', textSize: 'Ukuran Teks', highContrast: 'Kontras Tinggi', defaultFont: 'Font Default', noFilter: 'Tanpa Filter', default: 'Default', screenReaderOn: 'Pembaca layar aktif', screenReaderOff: 'Pembaca layar mati', voiceControlActivated: 'Kontrol suara diaktifkan', notSupportedBrowser: 'tidak didukung di browser ini', close: 'Tutup', reset: 'Atur Ulang', saturation: 'Saturasi', selectLanguage: 'Pilih Bahasa' }, th: { accessibilityMenu: 'เมนูการเข้าถึง', closeAccessibilityMenu: 'ปิดเมนู', accessibilityTools: 'เครื่องมือการเข้าถึง', resetAllSettings: 'รีเซ็ตการตั้งค่าทั้งหมด', screenReader: 'โปรแกรมอ่านหน้าจอ', voiceCommand: 'คำสั่งเสียง', textSpacing: 'ระยะห่างข้อความ', pauseAnimations: 'หยุดภาพเคลื่อนไหว', hideImages: 'ซ่อนรูปภาพ', dyslexiaFriendly: 'ฟอนต์สำหรับผู้ที่มีปัญหาการอ่าน', biggerCursor: 'เคอร์เซอร์ขนาดใหญ่', lineHeight: 'ความสูงบรรทัด', fontSelection: 'เลือกฟอนต์', colorFilter: 'ตัวกรองสี', textAlign: 'การจัดตำแหน่งข้อความ', textSize: 'ขนาดข้อความ', highContrast: 'ความคมชัดสูง', defaultFont: 'ฟอนต์เริ่มต้น', noFilter: 'ไม่มีตัวกรอง', default: 'ค่าเริ่มต้น', screenReaderOn: 'เปิดโปรแกรมอ่านหน้าจอ', screenReaderOff: 'ปิดโปรแกรมอ่านหน้าจอ', voiceControlActivated: 'เปิดใช้งานการควบคุมด้วยเสียง', notSupportedBrowser: 'ไม่รองรับในเบราว์เซอร์นี้', close: 'ปิด', reset: 'รีเซ็ต', saturation: 'ความอิ่มตัวของสี', selectLanguage: 'เลือกภาษา' }, pl: { accessibilityMenu: 'Menu Dostępności', closeAccessibilityMenu: 'Zamknij Menu', accessibilityTools: 'Narzędzia Dostępności', resetAllSettings: 'Resetuj Ustawienia', screenReader: 'Czytnik Ekranu', voiceCommand: 'Komendy Głosowe', textSpacing: 'Odstępy w Tekście', pauseAnimations: 'Zatrzymaj Animacje', hideImages: 'Ukryj Obrazki', dyslexiaFriendly: 'Dla Dyslektyków', biggerCursor: 'Większy Kursor', lineHeight: 'Wysokość Linii', fontSelection: 'Wybór Czcionki', colorFilter: 'Filtr Kolorów', textAlign: 'Wyrównanie Tekstu', textSize: 'Rozmiar Tekstu', highContrast: 'Wysoki Kontrast', defaultFont: 'Domyślna Czcionka', noFilter: 'Bez Filtra', default: 'Domyślne', screenReaderOn: 'Czytnik ekranu włączony', screenReaderOff: 'Czytnik ekranu wyłączony', voiceControlActivated: 'Sterowanie głosem aktywne', notSupportedBrowser: 'nie jest obsługiwane w tej przeglądarce', close: 'Zamknij', reset: 'Resetuj', saturation: 'Nasycenie', selectLanguage: 'Wybierz Język' }, nl: { accessibilityMenu: 'Toegankelijkheidsmenu', closeAccessibilityMenu: 'Menu Sluiten', accessibilityTools: 'Hulpmiddelen', resetAllSettings: 'Minstellingen Resetten', screenReader: 'Schermlezer', voiceCommand: 'Spraakcommando', textSpacing: 'Tekstafstand', pauseAnimations: 'Animaties Pauzeren', hideImages: 'Afbeeldingen Verbergen', dyslexiaFriendly: 'Dyslexie Vriendelijk', biggerCursor: 'Grotere Cursor', lineHeight: 'Regelhoogte', fontSelection: 'Lettertype Selectie', colorFilter: 'Kleurfilter', textAlign: 'Tekst Uitlijning', textSize: 'Tekstgrootte', highContrast: 'Hoog Contrast', defaultFont: 'Standaard Lettertype', noFilter: 'Geen Filter', default: 'Standaard', screenReaderOn: 'Schermlezer aan', screenReaderOff: 'Schermlezer uit', voiceControlActivated: 'Spraakbesturing geactiveerd', notSupportedBrowser: 'wordt niet ondersteund in deze browser', close: 'Sluiten', reset: 'Resetten', saturation: 'Verzadiging', selectLanguage: 'Selecteer Taal' }, el: { accessibilityMenu: 'Μενού Προσβασιμότητας', closeAccessibilityMenu: 'Κλείσιμο Μενού', accessibilityTools: 'Εργαλεία Προσβασιμότητας', resetAllSettings: 'Επαναφορά Ρυθμίσεων', screenReader: 'Αναγνώστης Οθόνης', voiceCommand: 'Φωνητική Εντολή', textSpacing: 'Απόσταση Κειμένου', pauseAnimations: 'Παύση Κινήσεων', hideImages: 'Απόκρυψη Εικόνων', dyslexiaFriendly: 'Φιλικό για Δυσλεξία', biggerCursor: 'Μεγαλύτερος Δρομέας', lineHeight: 'Ύψος Γραμμής', fontSelection: 'Επιλογή Γραμματοσειράς', colorFilter: 'Φίλτρο Χρώματος', textAlign: 'Στοίχιση Κειμένου', textSize: 'Μέγεθος Κειμένου', highContrast: 'Υψηλή Αντίθεση', defaultFont: 'Προεπιλεγμένη Γραμματοσειρά', noFilter: 'Χωρίς Φίλτρο', default: 'Προεπιλογή', screenReaderOn: 'Αναγνώστης οθόνης ενεργός', screenReaderOff: 'Αναγνώστης οθόνης ανενεργός', voiceControlActivated: 'Φωνητικός έλεγχος ενεργοποιήθηκε', notSupportedBrowser: 'δεν υποστηρίζεται σε αυτόν τον περιηγητή', close: 'Κλείσιμο', reset: 'Επαναφορά', saturation: 'Κορεσμός', selectLanguage: 'Επιλογή Γλώσσας' }, sv: { accessibilityMenu: 'Tillgänglighetsmeny', closeAccessibilityMenu: 'Stäng Meny', accessibilityTools: 'Verktyg', resetAllSettings: 'Återställ Inställningar', screenReader: 'Skärmläsare', voiceCommand: 'Röstkommando', textSpacing: 'Textavstånd', pauseAnimations: 'Pausa Animationer', hideImages: 'Dölj Bilder', dyslexiaFriendly: 'Dyslexi Vänlig', biggerCursor: 'Större Markör', lineHeight: 'Radhöjd', fontSelection: 'Teckensnittsval', colorFilter: 'Färgfilter', textAlign: 'Textjustering', textSize: 'Textstorlek', highContrast: 'Hög Kontrast', defaultFont: 'Standardteckensnitt', noFilter: 'Inget Filter', default: 'Standard', screenReaderOn: 'Skärmläsare på', screenReaderOff: 'Skärmläsare av', voiceControlActivated: 'Röststyrning aktiverad', notSupportedBrowser: 'stöds inte i denna webbläsare', close: 'Stäng', reset: 'Återställ', saturation: 'Mättnad', selectLanguage: 'Välj Språk' }, no: { accessibilityMenu: 'Tilgjengelighetsmeny', closeAccessibilityMenu: 'Lukk Meny', accessibilityTools: 'Verktøy', resetAllSettings: 'Nullstill Innstillinger', screenReader: 'Skjermleser', voiceCommand: 'Talekommando', textSpacing: 'Tekstavstand', pauseAnimations: 'Pause Animasjoner', hideImages: 'Skjul Bilder', dyslexiaFriendly: 'Dysleksivennlig', biggerCursor: 'Større Markør', lineHeight: 'Linjehøyde', fontSelection: 'Skrifttype', colorFilter: 'Fargefilter', textAlign: 'Tekstjustering', textSize: 'Tekststørrelse', highContrast: 'Høy Kontrast', defaultFont: 'Standard Skrifttype', noFilter: 'Ingen Filter', default: 'Standard', screenReaderOn: 'Skjermleser på', screenReaderOff: 'Skjermleser av', voiceControlActivated: 'Talestyring aktivert', notSupportedBrowser: 'støttes ikke i denne nettleseren', close: 'Lukk', reset: 'Nullstill', saturation: 'Metning', selectLanguage: 'Velg Språk' }, da: { accessibilityMenu: 'Tilgængelighedsmenu', closeAccessibilityMenu: 'Luk Menu', accessibilityTools: 'Værktøjer', resetAllSettings: 'Nulstil Indstillinger', screenReader: 'Skærmlæser', voiceCommand: 'Stemmekommando', textSpacing: 'Tekstafstand', pauseAnimations: 'Pause Animationer', hideImages: 'Skjul Billeder', dyslexiaFriendly: 'Ordblindevenlig', biggerCursor: 'Større Markør', lineHeight: 'Linjehøjde', fontSelection: 'Skrifttype', colorFilter: 'Farvefilter', textAlign: 'Tekstjustering', textSize: 'Tekststørrelse', highContrast: 'Høj Kontrast', defaultFont: 'Standard Skrifttype', noFilter: 'Intet Filter', default: 'Standard', screenReaderOn: 'Skærmlæser til', screenReaderOff: 'Skærmlæser fra', voiceControlActivated: 'Stemmestyring aktiveret', notSupportedBrowser: 'understøttes ikke i denne browser', close: 'Luk', reset: 'Nulstil', saturation: 'Mætning', selectLanguage: 'Vælg Sprog' }, fi: { accessibilityMenu: 'Saavutettavuusvalikko', closeAccessibilityMenu: 'Sulje Valikko', accessibilityTools: 'Työkalut', resetAllSettings: 'Nollaa Asetukset', screenReader: 'Ruudunluku', voiceCommand: 'Äänikomento', textSpacing: 'Tekstiväli', pauseAnimations: 'Pysäytä Animaatiot', hideImages: 'Piilota Kuvat', dyslexiaFriendly: 'Lukihäiriöystävällinen', biggerCursor: 'Suurempi Kohdistin', lineHeight: 'Rivikorkeus', fontSelection: 'Fonttivalinta', colorFilter: 'Värisuodatin', textAlign: 'Tekstin Tasaus', textSize: 'Tekstin Koko', highContrast: 'Suuri Kontrasti', defaultFont: 'Oletusfontti', noFilter: 'Ei Suodatinta', default: 'Oletus', screenReaderOn: 'Ruudunluku päällä', screenReaderOff: 'Ruudunluku pois', voiceControlActivated: 'Ääniohjaus aktivoitu', notSupportedBrowser: 'ei tueta tässä selaimessa', close: 'Sulje', reset: 'Nollaa', saturation: 'Kylläisyys', selectLanguage: 'Valitse Kieli' }, cs: { accessibilityMenu: 'Menu Usnadnění', closeAccessibilityMenu: 'Zavřít Menu', accessibilityTools: 'Nástroje', resetAllSettings: 'Resetovat Nastavení', screenReader: 'Čtečka Obrazovky', voiceCommand: 'Hlasový Příkaz', textSpacing: 'Rozestupy Textu', pauseAnimations: 'Pozastavit Animace', hideImages: 'Skrýt Obrázky', dyslexiaFriendly: 'Pro Dyslektiky', biggerCursor: 'Větší Kurzor', lineHeight: 'Výška Řádku', fontSelection: 'Výběr Písma', colorFilter: 'Barevný Filtr', textAlign: 'Zarovnání Textu', textSize: 'Velikost Textu', highContrast: 'Vysoký Kontrast', defaultFont: 'Výchozí Písmo', noFilter: 'Bez Filtru', default: 'Výchozí', screenReaderOn: 'Čtečka obrazovky zapnuta', screenReaderOff: 'Čtečka obrazovky vypnuta', voiceControlActivated: 'Hlasové ovládání aktivováno', notSupportedBrowser: 'není v tomto prohlížeči podporováno', close: 'Zavřít', reset: 'Resetovat', saturation: 'Sytost', selectLanguage: 'Vybrat Jazyk' }, hu: { accessibilityMenu: 'Akadálymentesítési Menü', closeAccessibilityMenu: 'Menü Bezárása', accessibilityTools: 'Eszközök', resetAllSettings: 'Beállítások Alaphelyzetbe', screenReader: 'Képernyőolvasó', voiceCommand: 'Hangparancs', textSpacing: 'Szöveg Térköz', pauseAnimations: 'Animációk Szüneteltetése', hideImages: 'Képek Elrejtése', dyslexiaFriendly: 'Diszlexia Barát', biggerCursor: 'Nagyobb Kurzor', lineHeight: 'Sormagasság', fontSelection: 'Betűtípus Választás', colorFilter: 'Színszűrő', textAlign: 'Szöveg Igazítás', textSize: 'Szövegméret', highContrast: 'Nagy Kontraszt', defaultFont: 'Alapértelmezett Betű', noFilter: 'Nincs Szűrő', default: 'Alapértelmezett', screenReaderOn: 'Képernyőolvasó be', screenReaderOff: 'Képernyőolvasó ki', voiceControlActivated: 'Hangvezérlés aktiválva', notSupportedBrowser: 'nem támogatott ebben a böngészőben', close: 'Bezárás', reset: 'Visszaállítás', saturation: 'Telítettség', selectLanguage: 'Nyelv Választása' }, ro: { accessibilityMenu: 'Meniu Accesibilitate', closeAccessibilityMenu: 'Închide Meniul', accessibilityTools: 'Instrumente', resetAllSettings: 'Resetează Setările', screenReader: 'Cititor de Ecran', voiceCommand: 'Comandă Vocală', textSpacing: 'Spațiere Text', pauseAnimations: 'Pauză Animații', hideImages: 'Ascunde Imaginile', dyslexiaFriendly: 'Pentru Dislexie', biggerCursor: 'Cursor Mai Mare', lineHeight: 'Înălțime Linie', fontSelection: 'Selecție Font', colorFilter: 'Filtru de Culoare', textAlign: 'Aliniere Text', textSize: 'Mărime Text', highContrast: 'Contrast Înalt', defaultFont: 'Font Implicit', noFilter: 'Fără Filtru', default: 'Implicit', screenReaderOn: 'Cititor ecran pornit', screenReaderOff: 'Cititor ecran oprit', voiceControlActivated: 'Control vocal activat', notSupportedBrowser: 'nu este suportat în acest browser', close: 'Închide', reset: 'Resetează', saturation: 'Saturație', selectLanguage: 'Selectează Limba' }, he: { accessibilityMenu: 'תפריט נגישות', closeAccessibilityMenu: 'סגור תפריט', accessibilityTools: 'כלי נגישות', resetAllSettings: 'אפס הגדרות', screenReader: 'קורא מסך', voiceCommand: 'פקודה קולית', textSpacing: 'ריווח טקסט', pauseAnimations: 'השהה אנימציות', hideImages: 'הסתר תמונות', dyslexiaFriendly: 'ידידותי לדיסלקציה', biggerCursor: 'סמן גדול', lineHeight: 'גובה שורה', fontSelection: 'בחירת גופן', colorFilter: 'מסנן צבעים', textAlign: 'יישור טקסט', textSize: 'גודל טקסט', highContrast: 'ניגודיות גבוהה', defaultFont: 'גופן ברירת מחדל', noFilter: 'ללא מסנן', default: 'ברירת מחדל', screenReaderOn: 'קורא מסך פועל', screenReaderOff: 'קורא מסך כבוי', voiceControlActivated: 'שליטה קולית הופעלה', notSupportedBrowser: 'אינו נתמך בדפדפן זה', close: 'סגור', reset: 'אפס', saturation: 'רוויה', selectLanguage: 'בחר שפה' }, fa: { accessibilityMenu: 'منوی دسترسی', closeAccessibilityMenu: 'بستن منو', accessibilityTools: 'ابزارهای دسترسی', resetAllSettings: 'بازنشانی تنظیمات', screenReader: 'صفحه‌خوان', voiceCommand: 'دستور صوتی', textSpacing: 'فاصله متن', pauseAnimations: 'توقف انیمیشن', hideImages: 'مخفی کردن تصاویر', dyslexiaFriendly: 'دوستدار و نارساخوانی', biggerCursor: 'نشانگر بزرگتر', lineHeight: 'ارتفاع خط', fontSelection: 'انتخاب قلم', colorFilter: 'فیلتر رنگ', textAlign: 'تراز متن', textSize: 'اندازه متن', highContrast: 'کنتراست بالا', defaultFont: 'قلم پیش‌فرض', noFilter: 'بدون فیلتر', default: 'پیش‌فرض', screenReaderOn: 'صفحه‌خوان روشن', screenReaderOff: 'صفحه‌خوان خاموش', voiceControlActivated: 'کنترل صوتی فعال شد', notSupportedBrowser: 'در این مرورگر پشتیبانی نمی‌شود', close: 'بستن', reset: 'بازنشانی', saturation: 'اشباع', selectLanguage: 'انتخاب زبان' }, ur: { accessibilityMenu: 'رسائی کا مینو', closeAccessibilityMenu: 'مینو بند کریں', accessibilityTools: 'رسائی کے اوزار', resetAllSettings: 'تمام ترتیبات کو دوبارہ ترتیب دیں', screenReader: 'اسکرین ریڈر', voiceCommand: 'صوتی کمانڈ', textSpacing: 'ٹیکسٹ اسپیسنگ', pauseAnimations: 'اینیمیشن روکیں', hideImages: 'تصاویر چھپائیں', dyslexiaFriendly: 'ڈسلیکسیا فرینڈلی', biggerCursor: 'بڑا کرسر', lineHeight: 'لائن کی اونچائی', fontSelection: 'فونٹ کا انتخاب', colorFilter: 'کلر فلٹر', textAlign: 'ٹیکسٹ الائنمنٹ', textSize: 'ٹیکسٹ کا سائز', highContrast: 'ہائی کنٹراسٹ', defaultFont: 'ڈیفالٹ فونٹ', noFilter: 'کوئی فلٹر نہیں', default: 'ڈیفالٹ', screenReaderOn: 'اسکرین ریڈر آن', screenReaderOff: 'اسکرین ریڈر آف', voiceControlActivated: 'وائس کنٹرول فعال', notSupportedBrowser: 'اس براؤزر میں سپورٹ نہیں ہے', close: 'بند کریں', reset: 'ری سیٹ', saturation: 'دیگر', selectLanguage: 'زبان منتخب کریں' }, pa: { accessibilityMenu: 'ਪਹੁੰਚਯੋਗਤਾ ਮੀਨੂ', closeAccessibilityMenu: 'ਮੀਨੂ ਬੰਦ ਕਰੋ', accessibilityTools: 'ਪਹੁੰਚਯੋਗਤਾ ਟੂਲ', resetAllSettings: 'ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ ਰੀਸੈਟ ਕਰੋ', screenReader: 'ਸਕ੍ਰੀਨ ਰੀਡਰ', voiceCommand: 'ਵਾਇਸ ਕਮਾਂਡ', textSpacing: 'ਟੈਕਸਟ ਸਪੇਸਿੰਗ', pauseAnimations: 'ਐਨੀਮੇਸ਼ਨ ਰੋਕੋ', hideImages: 'ਚਿੱਤਰ ਲੁਕਾਓ', dyslexiaFriendly: 'ਡਿਸਲੈਕਸੀਆ ਫਰੈਂਡਲੀ', biggerCursor: 'ਵੱਡਾ ਕਰਸਰ', lineHeight: 'ਲਾਈਨ ਦੀ ਉਚਾਈ', fontSelection: 'ਫੌਂਟ ਚੋਣ', colorFilter: 'ਰੰਗ ਫਿਲਟਰ', textAlign: 'ਟੈਕਸਟ ਅਲਾਈਨਮੈਂਟ', textSize: 'ਟੈਕਸਟ ਦਾ ਆਕਾਰ', highContrast: 'ਹਾਈ ਕੰਟਰਾਸਟ', defaultFont: 'ਡਿਫੌਲਟ ਫੌਂਟ', noFilter: 'ਕੋਈ ਫਿਲਟਰ ਨਹੀਂ', default: 'ਡਿਫੌਲਟ', screenReaderOn: 'ਸਕ੍ਰੀਨ ਰੀਡਰ ਚਾਲੂ', screenReaderOff: 'ਸਕ੍ਰੀਨ ਰੀਡਰ ਬੰਦ', voiceControlActivated: 'ਵਾਇਸ ਕੰਟਰੋਲ ਐਕਟੀਵੇਟਿਡ', notSupportedBrowser: 'ਇਸ ਬ੍ਰਾਊਜ਼ਰ ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ', close: 'ਬੰਦ ਕਰੋ', reset: 'ਰੀਸੈਟ', saturation: 'ਸੰਤ੍ਰਿਪਤੀ', selectLanguage: 'ਭਾਸ਼ਾ ਚੁਣੋ' }, mr: { accessibilityMenu: 'प्रवेशयोग्यता मेनू', closeAccessibilityMenu: 'मेनू बंद करा', accessibilityTools: 'साधने', resetAllSettings: 'सर्व सेटिंग्ज रीसेट करा', screenReader: 'स्क्रीन रीडर', voiceCommand: 'व्हॉइस कमांड', textSpacing: 'मजकूर अंतर', pauseAnimations: 'अॅनिमेशन थांबवा', hideImages: 'प्रतिमा लपवा', dyslexiaFriendly: 'डिस्लेक्सिया फ्रेंडली', biggerCursor: 'मोठा कर्सर', lineHeight: 'ओळीची उंची', fontSelection: 'फॉन्ट निवड', colorFilter: 'रंग फिल्टर', textAlign: 'मजकूर संरेखन', textSize: 'मजकूर आकार', highContrast: 'उच्च कॉन्ट्रास्ट', defaultFont: 'डीफॉल्ट फॉन्ट', noFilter: 'फिल्टर नाही', default: 'डीफॉल्ट', screenReaderOn: 'स्क्रीन रीडर चालू', screenReaderOff: 'स्क्रीन रीडर बंद', voiceControlActivated: 'आवाज नियंत्रण सक्रिय', notSupportedBrowser: 'या ब्राउझरमध्ये समर्थित नाही', close: 'बंद', reset: 'रीसेट', saturation: 'संपृक्तता', selectLanguage: 'भाषा निवडा' }, te: { accessibilityMenu: 'యాక్సెసిబిలిటీ మెనూ', closeAccessibilityMenu: 'మెనూ మూసివేయి', accessibilityTools: 'సాధనాలు', resetAllSettings: 'అన్ని సెట్టింగ్‌లను రీసెట్ చేయండి', screenReader: 'స్క్రీన్ రీడర్', voiceCommand: 'వాయిస్ కమాండ్', textSpacing: 'టెక్స్ట్ స్పేసింగ్', pauseAnimations: 'యానిమేషన్లను ఆపివేయండి', hideImages: 'చిత్రాలను దాచండి', dyslexiaFriendly: 'డిస్లెక్సియా ఫ్రెండ్లీ', biggerCursor: 'పెద్ద కర్సర్', lineHeight: 'లైన్ ఎత్తు', fontSelection: 'ఫాంట్ ఎంపిక', colorFilter: 'కలర్ ఫిల్టర్', textAlign: 'టెక్స్ట్ అలైన్‌మెంట్', textSize: 'టెక్స్ట్ సైజు', highContrast: 'హై కాంట్రాస్ట్', defaultFont: 'డిఫాల్ట్ ఫాంట్', noFilter: 'ఫిల్టర్ లేదు', default: 'డిఫాల్ట్', screenReaderOn: 'స్క్రీన్ రీడర్ ఆన్', screenReaderOff: 'స్క్రీన్ రీడర్ ఆఫ్', voiceControlActivated: 'వాయిస్ కంట్రోల్ యాక్టివేట్ చేయబడింది', notSupportedBrowser: 'ఈ బ్రౌజర్‌లో మద్దతు లేదు', close: 'మూసివేయి', reset: 'రీసెట్', saturation: 'సంతృప్తత', selectLanguage: 'భాషను ఎంచుకోండి' }, ta: { accessibilityMenu: 'அணுகல் பட்டி', closeAccessibilityMenu: 'பட்டியை மூடு', accessibilityTools: 'கருவிகள்', resetAllSettings: 'அமைப்புகளை மீட்டமை', screenReader: 'திரை படிப்பான்', voiceCommand: 'குரல் கட்டளை', textSpacing: 'உரை இடைவெளி', pauseAnimations: 'அனிமேஷன்களை இடைநிறுத்து', hideImages: 'படங்களை மறை', dyslexiaFriendly: 'டிஸ்லெக்ஸியா நட்பு', biggerCursor: 'பெரிய கர்சர்', lineHeight: 'வரி உயரம்', fontSelection: 'எழுத்துரு தேர்வு', colorFilter: 'வண்ண வடிகட்டி', textAlign: 'உரை சீரமைப்பு', textSize: 'உரை அளவு', highContrast: 'உயர் மாறுபாடு', defaultFont: 'இயல்புநிலை எழுத்துரு', noFilter: 'வடிகட்டி இல்லை', default: 'இயல்புநிலை', screenReaderOn: 'திரை படிப்பான் ஆன்', screenReaderOff: 'திரை படிப்பான் ஆஃப்', voiceControlActivated: 'குரல் கட்டுப்பாடு செயல்படுத்தப்பட்டது', notSupportedBrowser: 'இந்த உலாவியில் ஆதரிக்கப்படவில்லை', close: 'மூடு', reset: 'மீட்டமை', saturation: 'செறிவு', selectLanguage: 'மொழியைத் தேர்ந்தெடு' }, ms: { accessibilityMenu: 'Menu Kebolehcapaian', closeAccessibilityMenu: 'Tutup Menu', accessibilityTools: 'Alat', resetAllSettings: 'Tetapkan Semula Semua', screenReader: 'Pembaca Skrin', voiceCommand: 'Arahan Suara', textSpacing: 'Jarak Teks', pauseAnimations: 'Jeda Animasi', hideImages: 'Sembunyikan Imej', dyslexiaFriendly: 'Mesra Disleksia', biggerCursor: 'Kursor Besar', lineHeight: 'Ketinggian Baris', fontSelection: 'Pilihan Fon', colorFilter: 'Penapis Warna', textAlign: 'Jajaran Teks', textSize: 'Saiz Teks', highContrast: 'Kontras Tinggi', defaultFont: 'Fon Lalai', noFilter: 'Tiada Penapis', default: 'Lalai', screenReaderOn: 'Pembaca skrin dihidupkan', screenReaderOff: 'Pembaca skrin dimatikan', voiceControlActivated: 'Kawalan suara diaktifkan', notSupportedBrowser: 'tidak disokong dalam pelayar ini', close: 'Tutup', reset: 'Tetapkan Semula', saturation: 'Ketepuan', selectLanguage: 'Pilih Bahasa' }, tl: { accessibilityMenu: 'Menu ng Accessibility', closeAccessibilityMenu: 'Isara ang Menu', accessibilityTools: 'Mga Tool', resetAllSettings: 'I-reset Lahat', screenReader: 'Screen Reader', voiceCommand: 'Voice Command', textSpacing: 'Puwang sa Teksto', pauseAnimations: 'Ihinto ang Animasyon', hideImages: 'Itago ang mga Larawan', dyslexiaFriendly: 'Dyslexia Friendly', biggerCursor: 'Mas Malaking Cursor', lineHeight: 'Taas ng Linya', fontSelection: 'Pagpili ng Font', colorFilter: 'Filter ng Kulay', textAlign: 'Pagkakahanay ng Teksto', textSize: 'Laki ng Teksto', highContrast: 'Mataas na Contrast', defaultFont: 'Default na Font', noFilter: 'Walang Filter', default: 'Default', screenReaderOn: 'Naka-on ang screen reader', screenReaderOff: 'Naka-off ang screen reader', voiceControlActivated: 'Aktibo ang voice control', notSupportedBrowser: 'ay hindi suportado sa browser na ito', close: 'Isara', reset: 'I-reset', saturation: 'Saturation', selectLanguage: 'Piliin ang Wika' } }; // Language detection and management let currentLanguage = 'en'; function detectBrowserLanguage() { const browserLang = (navigator.language || navigator.userLanguage).toLowerCase(); // Direct match if (TRANSLATIONS[browserLang]) { return browserLang; } // Try language code only (e.g., 'en' from 'en-US') const langCode = browserLang.split('-')[0]; if (TRANSLATIONS[langCode]) { return langCode; } // Special case for Chinese if (browserLang.includes('zh')) { if (browserLang.includes('cn') || browserLang.includes('hans')) { return 'zh-cn'; } } // Default to English return 'en'; } function setLanguage(lang) { if (TRANSLATIONS[lang]) { currentLanguage = lang; localStorage.setItem('accessibilityWidgetLanguage', lang); return true; } return false; } function getTranslation(key) { return TRANSLATIONS[currentLanguage][key] || TRANSLATIONS['en'][key] || key; } // Initialize language from localStorage or detect from browser const savedLanguage = localStorage.getItem('accessibilityWidgetLanguage'); if (savedLanguage && TRANSLATIONS[savedLanguage]) { currentLanguage = savedLanguage; } else { currentLanguage = detectBrowserLanguage(); localStorage.setItem('accessibilityWidgetLanguage', currentLanguage); } // =========================================== // CONFIGURATION VARIABLES // =========================================== // Default configuration - can be overridden by user const DEFAULT_WIDGET_CONFIG = { // Core Features enableHighContrast: true, enableBiggerText: true, enableTextSpacing: true, // Now has 3 levels enablePauseAnimations: true, // Enhanced to include reduced motion features enableHideImages: true, enableDyslexiaFont: true, enableBiggerCursor: true, enableLineHeight: true, // Now has 3 levels (2em, 3em, 4em) enableTextAlign: true, // Advanced Features enableScreenReader: true, enableVoiceControl: true, enableFontSelection: true, enableColorFilter: true, // Widget Styling widgetWidth: '440px', widgetPosition: { side: 'right', // 'left' or 'right' right: '20px', left: '20px', bottom: '20px' }, // Colors colors: { primary: '#1663d7', // Header bg, main button bg, active border, close hover bg secondary: '#ffffff', // Main button icon color optionBg: '#ffffff', // Option button background optionText: '#333333', // Option button text color optionIcon: '#000000' // Option button icon color }, // Button styling button: { size: '55px', borderRadius: '100px', iconSize: '40px', shadow: '0 4px 8px rgba(0, 0, 0, 0.2)' }, // Menu styling menu: { headerHeight: '70px', padding: '0 10px 10px 10px', optionPadding: '20px 10px', optionMargin: '10px', borderRadius: '8px', fontSize: '16px', titleFontSize: '16px', closeButtonSize: '44px' }, // Typography typography: { fontFamily: 'Arial, sans-serif', fontSize: '17px', titleFontSize: '22px', titleFontWeight: '700', lineHeight: '1' }, // Animation animation: { transition: '0.2s', hoverScale: '1.05' }, // Language/Text Configuration lang: { accessibilityMenu: 'Accessibility Menu', closeAccessibilityMenu: 'Close Accessibility Menu', accessibilityTools: 'Accessibility Tools', resetAllSettings: 'Reset All Settings', screenReader: 'Screen Reader', voiceCommand: 'Voice Command', textSpacing: 'Text Spacing', pauseAnimations: 'Pause Animations', hideImages: 'Hide Images', dyslexiaFriendly: 'Dyslexia Friendly', biggerCursor: 'Bigger Cursor', lineHeight: 'Line Height', fontSelection: 'Font Selection', colorFilter: 'Color Filter', textAlign: 'Text Align', textSize: 'Text Size', highContrast: 'High Contrast', defaultFont: 'Default Font', noFilter: 'No Filter', default: 'Default', screenReaderOn: 'Screen reader on', screenReaderOff: 'Screen reader off', voiceControlActivated: 'Voice control activated', notSupportedBrowser: 'is not supported in this browser', close: 'Close', reset: 'Reset' }, // Voice Command Configuration - Developers can customize commands for different languages voiceCommands: { en: { showMenu: ['show menu', 'open menu', 'accessibility menu', 'access menu'], highContrast: ['high contrast', 'contrast', 'dark mode', 'increase contrast'], biggerText: ['bigger text', 'large text', 'text size', 'increase text', 'bigger', 'larger text', 'text bigger', 'make text bigger', 'enlarge text'], textSpacing: ['text spacing', 'spacing', 'letter spacing', 'text space'], pauseAnimations: ['pause animations', 'stop animations', 'disable animations', 'no animations'], hideImages: ['hide images', 'remove images', 'no images'], dyslexiaFont: ['dyslexia friendly', 'dyslexia font', 'readable font', 'easy font'], biggerCursor: ['bigger cursor', 'large cursor', 'cursor size', 'big cursor'], lineHeight: ['line height', 'line spacing', 'space between lines', 'line space'], textAlign: ['align text', 'text align', 'center text', 'alignment'], saturation: ['saturation', 'color saturation', 'saturate', 'desaturate', 'grayscale'], fontSelection: ['font selection', 'change font', 'select font', 'font'], colorFilter: ['color filter', 'color blind', 'colorblind', 'filter'], screenReader: ['screen reader', 'read aloud', 'voice reader'], voiceControl: ['voice command', 'voice control', 'voice commands'], resetAll: ['reset all', 'reset everything', 'clear all', 'reset settings', 'reset'] }, de: { showMenu: ['menü anzeigen', 'menü öffnen', 'barrierefreiheitsmenü', 'zugangsmenü'], highContrast: ['hoher kontrast', 'kontrast', 'dunkler modus', 'kontrast erhöhen'], biggerText: ['größerer text', 'großer text', 'textgröße', 'text vergrößern', 'größer', 'text größer'], textSpacing: ['textabstand', 'abstand', 'buchstabenabstand', 'text abstand'], pauseAnimations: ['animationen pausieren', 'animationen stoppen', 'animationen deaktivieren'], hideImages: ['bilder ausblenden', 'bilder entfernen', 'keine bilder'], dyslexiaFont: ['legasthenie freundlich', 'legasthenie schrift', 'lesbare schrift'], biggerCursor: ['größerer cursor', 'großer cursor', 'cursor größe'], lineHeight: ['zeilenhöhe', 'zeilenabstand', 'abstand zwischen zeilen'], textAlign: ['text ausrichten', 'textausrichtung', 'text zentrieren'], saturation: ['sättigung', 'farbsättigung', 'sättigen', 'entsättigen', 'graustufen'], fontSelection: ['schriftauswahl', 'schrift ändern', 'schrift wählen', 'schrift'], colorFilter: ['farbfilter', 'farbenblind', 'filter'], screenReader: ['screenreader', 'vorlesen', 'sprach reader'], voiceControl: ['sprachbefehl', 'sprachsteuerung', 'sprachbefehle'], resetAll: ['alles zurücksetzen', 'alle zurücksetzen', 'alle löschen', 'einstellungen zurücksetzen'] }, es: { showMenu: ['mostrar menú', 'abrir menú', 'menú de accesibilidad', 'menú de acceso'], highContrast: ['alto contraste', 'contraste', 'modo oscuro', 'aumentar contraste'], biggerText: ['texto más grande', 'texto grande', 'tamaño de texto', 'aumentar texto', 'más grande'], textSpacing: ['espaciado de texto', 'espaciado', 'espaciado de letras', 'espacio de texto'], pauseAnimations: ['pausar animaciones', 'detener animaciones', 'desactivar animaciones'], hideImages: ['ocultar imágenes', 'quitar imágenes', 'sin imágenes'], dyslexiaFont: ['amigable para dislexia', 'fuente de dislexia', 'fuente legible'], biggerCursor: ['cursor más grande', 'cursor grande', 'tamaño de cursor'], lineHeight: ['altura de línea', 'espaciado de líneas', 'espacio entre líneas'], textAlign: ['alinear texto', 'alineación de texto', 'centrar texto'], saturation: ['saturación', 'saturación de color', 'saturar', 'desaturar', 'escala de grises'], fontSelection: ['selección de fuente', 'cambiar fuente', 'seleccionar fuente', 'fuente'], colorFilter: ['filtro de color', 'daltónico', 'filtro'], screenReader: ['lector de pantalla', 'leer en voz alta', 'lector de voz'], voiceControl: ['comando de voz', 'control de voz', 'comandos de voz'], resetAll: ['restablecer todo', 'restablecer todo', 'borrar todo', 'restablecer configuración'] }, it: { showMenu: ['mostra menu', 'apri menu', 'menu accessibilità', 'menu accesso'], highContrast: ['alto contrasto', 'contrasto', 'modalità scura', 'aumenta contrasto'], biggerText: ['testo più grande', 'testo grande', 'dimensione testo', 'aumenta testo', 'più grande'], textSpacing: ['spaziatura testo', 'spaziatura', 'spaziatura lettere', 'spazio testo'], pauseAnimations: ['pausa animazioni', 'ferma animazioni', 'disabilita animazioni'], hideImages: ['nascondi immagini', 'rimuovi immagini', 'nessuna immagine'], dyslexiaFont: ['adatto alla dislessia', 'font dislessia', 'font leggibile'], biggerCursor: ['cursore più grande', 'cursore grande', 'dimensione cursore'], lineHeight: ['altezza linea', 'spaziatura linee', 'spazio tra linee'], textAlign: ['allinea testo', 'allineamento testo', 'centra testo'], saturation: ['saturazione', 'saturazione colore', 'saturare', 'desaturare', 'scala di grigi'], fontSelection: ['selezione font', 'cambia font', 'seleziona font', 'font'], colorFilter: ['filtro colore', 'daltonico', 'filtro'], screenReader: ['lettore schermo', 'leggi ad alta voce', 'lettore vocale'], voiceControl: ['comando vocale', 'controllo vocale', 'comandi vocali'], resetAll: ['ripristina tutto', 'ripristina tutto', 'cancella tutto', 'ripristina impostazioni'] }, fr: { showMenu: ['afficher menu', 'ouvrir menu', 'menu accessibilité', 'menu accès'], highContrast: ['contraste élevé', 'contraste', 'mode sombre', 'augmenter contraste'], biggerText: ['texte plus grand', 'grand texte', 'taille texte', 'augmenter texte', 'plus grand'], textSpacing: ['espacement texte', 'espacement', 'espacement lettres', 'espace texte'], pauseAnimations: ['mettre en pause animations', 'arrêter animations', 'désactiver animations'], hideImages: ['masquer images', 'supprimer images', 'aucune image'], dyslexiaFont: ['convivial dyslexie', 'police dyslexie', 'police lisible'], biggerCursor: ['curseur plus grand', 'grand curseur', 'taille curseur'], lineHeight: ['hauteur ligne', 'espacement lignes', 'espace entre lignes'], textAlign: ['aligner texte', 'a