accessibility-widgets 2.0.9 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/widget.js +1324 -49
package/widget.js CHANGED
@@ -1,4 +1,4 @@
1
- /* ===========================================
1
+ /* ===========================================
2
2
 
3
3
  ACCESSIBILITY WIDGET
4
4
 
@@ -342,6 +342,756 @@ const TRANSLATIONS = {
342
342
  reset: 'リセット',
343
343
  saturation: '彩度',
344
344
  selectLanguage: '言語を選択'
345
+ },
346
+ pt: {
347
+ accessibilityMenu: 'Menu de Acessibilidade',
348
+ closeAccessibilityMenu: 'Fechar Menu de Acessibilidade',
349
+ accessibilityTools: 'Ferramentas de Acessibilidade',
350
+ resetAllSettings: 'Redefinir Configurações',
351
+ screenReader: 'Leitor de Tela',
352
+ voiceCommand: 'Comando de Voz',
353
+ textSpacing: 'Espaçamento de Texto',
354
+ pauseAnimations: 'Pausar Animações',
355
+ hideImages: 'Ocultar Imagens',
356
+ dyslexiaFriendly: 'Fonte para Dislexia',
357
+ biggerCursor: 'Cursor Maior',
358
+ lineHeight: 'Altura da Linha',
359
+ fontSelection: 'Seleção de Fonte',
360
+ colorFilter: 'Filtro de Cor',
361
+ textAlign: 'Alinhamento do Texto',
362
+ textSize: 'Tamanho do Texto',
363
+ highContrast: 'Alto Contraste',
364
+ defaultFont: 'Fonte Padrão',
365
+ noFilter: 'Sem Filtro',
366
+ default: 'Padrão',
367
+ screenReaderOn: 'Leitor de tela ativado',
368
+ screenReaderOff: 'Leitor de tela desativado',
369
+ voiceControlActivated: 'Controle de voz ativado',
370
+ notSupportedBrowser: 'não é suportado neste navegador',
371
+ close: 'Fechar',
372
+ reset: 'Redefinir',
373
+ saturation: 'Saturação',
374
+ selectLanguage: 'Selecionar Idioma'
375
+ },
376
+ bn: {
377
+ accessibilityMenu: 'অ্যাক্সেসিবিলিটি মেনু',
378
+ closeAccessibilityMenu: 'মেনু বন্ধ করুন',
379
+ accessibilityTools: 'অ্যাক্সেসিবিলিটি টুলস',
380
+ resetAllSettings: 'সব সেটিংস রিসেট করুন',
381
+ screenReader: 'স্ক্রিন রিডার',
382
+ voiceCommand: 'ভয়েস কমান্ড',
383
+ textSpacing: 'টেক্সট স্পেসিং',
384
+ pauseAnimations: 'অ্যানিমেশন থামান',
385
+ hideImages: 'ছবি লুকান',
386
+ dyslexiaFriendly: 'ডিসলেক্সিয়া ফ্রেন্ডলি',
387
+ biggerCursor: 'বড় কার্সার',
388
+ lineHeight: 'লাইনের উচ্চতা',
389
+ fontSelection: 'ফন্ট নির্বাচন',
390
+ colorFilter: 'কালার ফিল্টার',
391
+ textAlign: 'লেখা বিন্যাস',
392
+ textSize: 'লেখার আকার',
393
+ highContrast: 'হাই কন্ট্রাস্ট',
394
+ defaultFont: 'ডিফল্ট ফন্ট',
395
+ noFilter: 'কোন ফিল্টার নেই',
396
+ default: 'ডিফল্ট',
397
+ screenReaderOn: 'স্ক্রিন রিডার চালু',
398
+ screenReaderOff: 'স্ক্রিন রিডার বন্ধ',
399
+ voiceControlActivated: 'ভয়েস কন্ট্রোল সক্রিয়',
400
+ notSupportedBrowser: 'এই ব্রাউজারে সমর্থিত নয়',
401
+ close: 'বন্ধ',
402
+ reset: 'রিসেট',
403
+ saturation: 'স্যাচুরেশন',
404
+ selectLanguage: 'ভাষা নির্বাচন করুন'
405
+ },
406
+ ko: {
407
+ accessibilityMenu: '접근성 메뉴',
408
+ closeAccessibilityMenu: '접근성 메뉴 닫기',
409
+ accessibilityTools: '접근성 도구',
410
+ resetAllSettings: '모든 설정 초기화',
411
+ screenReader: '스크린 리더',
412
+ voiceCommand: '음성 명령',
413
+ textSpacing: '텍스트 간격',
414
+ pauseAnimations: '애니메이션 일시 중지',
415
+ hideImages: '이미지 숨기기',
416
+ dyslexiaFriendly: '난독증 배려',
417
+ biggerCursor: '큰 커서',
418
+ lineHeight: '줄 높이',
419
+ fontSelection: '글꼴 선택',
420
+ colorFilter: '색상 필터',
421
+ textAlign: '텍스트 정렬',
422
+ textSize: '텍스트 크기',
423
+ highContrast: '고대비',
424
+ defaultFont: '기본 글꼴',
425
+ noFilter: '필터 없음',
426
+ default: '기본',
427
+ screenReaderOn: '스크린 리더 켜짐',
428
+ screenReaderOff: '스크린 리더 꺼짐',
429
+ voiceControlActivated: '음성 제어 활성화',
430
+ notSupportedBrowser: '이 브라우저에서 지원되지 않습니다',
431
+ close: '닫기',
432
+ reset: '초기화',
433
+ saturation: '채도',
434
+ selectLanguage: '언어 선택'
435
+ },
436
+ vi: {
437
+ accessibilityMenu: 'Menu Trợ năng',
438
+ closeAccessibilityMenu: 'Đóng Menu',
439
+ accessibilityTools: 'Công cụ Trợ năng',
440
+ resetAllSettings: 'Đặt lại Tất cả',
441
+ screenReader: 'Trình đọc màn hình',
442
+ voiceCommand: 'Lệnh giọng nói',
443
+ textSpacing: 'Khoảng cách chữ',
444
+ pauseAnimations: 'Dừng Hoạt ảnh',
445
+ hideImages: 'Ẩn Hình ảnh',
446
+ dyslexiaFriendly: 'Phông chữ dễ đọc',
447
+ biggerCursor: 'Con trỏ lớn',
448
+ lineHeight: 'Chiều cao dòng',
449
+ fontSelection: 'Chọn phông chữ',
450
+ colorFilter: 'Bộ lọc màu',
451
+ textAlign: 'Căn chỉnh văn bản',
452
+ textSize: 'Cỡ chữ',
453
+ highContrast: 'Độ tương phản cao',
454
+ defaultFont: 'Phông chữ mặc định',
455
+ noFilter: 'Không bộ lọc',
456
+ default: 'Mặc định',
457
+ screenReaderOn: 'Bật trình đọc màn hình',
458
+ screenReaderOff: 'Tắt trình đọc màn hình',
459
+ voiceControlActivated: 'Đã kích hoạt điều khiển giọng nói',
460
+ notSupportedBrowser: 'không được hỗ trợ trên trình duyệt này',
461
+ close: 'Đóng',
462
+ reset: 'Đặt lại',
463
+ saturation: 'Độ bão hòa',
464
+ selectLanguage: 'Chọn Ngôn ngữ'
465
+ },
466
+ id: {
467
+ accessibilityMenu: 'Menu Aksesibilitas',
468
+ closeAccessibilityMenu: 'Tutup Menu',
469
+ accessibilityTools: 'Alat Aksesibilitas',
470
+ resetAllSettings: 'Atur Ulang Semua',
471
+ screenReader: 'Pembaca Layar',
472
+ voiceCommand: 'Perintah Suara',
473
+ textSpacing: 'Jarak Teks',
474
+ pauseAnimations: 'Hentikan Animasi',
475
+ hideImages: 'Sembunyikan Gambar',
476
+ dyslexiaFriendly: 'Ramah Disleksia',
477
+ biggerCursor: 'Kursor Besar',
478
+ lineHeight: 'Tinggi Baris',
479
+ fontSelection: 'Pilihan Font',
480
+ colorFilter: 'Filter Warna',
481
+ textAlign: 'Perataan Teks',
482
+ textSize: 'Ukuran Teks',
483
+ highContrast: 'Kontras Tinggi',
484
+ defaultFont: 'Font Default',
485
+ noFilter: 'Tanpa Filter',
486
+ default: 'Default',
487
+ screenReaderOn: 'Pembaca layar aktif',
488
+ screenReaderOff: 'Pembaca layar mati',
489
+ voiceControlActivated: 'Kontrol suara diaktifkan',
490
+ notSupportedBrowser: 'tidak didukung di browser ini',
491
+ close: 'Tutup',
492
+ reset: 'Atur Ulang',
493
+ saturation: 'Saturasi',
494
+ selectLanguage: 'Pilih Bahasa'
495
+ },
496
+ th: {
497
+ accessibilityMenu: 'เมนูการเข้าถึง',
498
+ closeAccessibilityMenu: 'ปิดเมนู',
499
+ accessibilityTools: 'เครื่องมือการเข้าถึง',
500
+ resetAllSettings: 'รีเซ็ตการตั้งค่าทั้งหมด',
501
+ screenReader: 'โปรแกรมอ่านหน้าจอ',
502
+ voiceCommand: 'คำสั่งเสียง',
503
+ textSpacing: 'ระยะห่างข้อความ',
504
+ pauseAnimations: 'หยุดภาพเคลื่อนไหว',
505
+ hideImages: 'ซ่อนรูปภาพ',
506
+ dyslexiaFriendly: 'ฟอนต์สำหรับผู้ที่มีปัญหาการอ่าน',
507
+ biggerCursor: 'เคอร์เซอร์ขนาดใหญ่',
508
+ lineHeight: 'ความสูงบรรทัด',
509
+ fontSelection: 'เลือกฟอนต์',
510
+ colorFilter: 'ตัวกรองสี',
511
+ textAlign: 'การจัดตำแหน่งข้อความ',
512
+ textSize: 'ขนาดข้อความ',
513
+ highContrast: 'ความคมชัดสูง',
514
+ defaultFont: 'ฟอนต์เริ่มต้น',
515
+ noFilter: 'ไม่มีตัวกรอง',
516
+ default: 'ค่าเริ่มต้น',
517
+ screenReaderOn: 'เปิดโปรแกรมอ่านหน้าจอ',
518
+ screenReaderOff: 'ปิดโปรแกรมอ่านหน้าจอ',
519
+ voiceControlActivated: 'เปิดใช้งานการควบคุมด้วยเสียง',
520
+ notSupportedBrowser: 'ไม่รองรับในเบราว์เซอร์นี้',
521
+ close: 'ปิด',
522
+ reset: 'รีเซ็ต',
523
+ saturation: 'ความอิ่มตัวของสี',
524
+ selectLanguage: 'เลือกภาษา'
525
+ },
526
+ pl: {
527
+ accessibilityMenu: 'Menu Dostępności',
528
+ closeAccessibilityMenu: 'Zamknij Menu',
529
+ accessibilityTools: 'Narzędzia Dostępności',
530
+ resetAllSettings: 'Resetuj Ustawienia',
531
+ screenReader: 'Czytnik Ekranu',
532
+ voiceCommand: 'Komendy Głosowe',
533
+ textSpacing: 'Odstępy w Tekście',
534
+ pauseAnimations: 'Zatrzymaj Animacje',
535
+ hideImages: 'Ukryj Obrazki',
536
+ dyslexiaFriendly: 'Dla Dyslektyków',
537
+ biggerCursor: 'Większy Kursor',
538
+ lineHeight: 'Wysokość Linii',
539
+ fontSelection: 'Wybór Czcionki',
540
+ colorFilter: 'Filtr Kolorów',
541
+ textAlign: 'Wyrównanie Tekstu',
542
+ textSize: 'Rozmiar Tekstu',
543
+ highContrast: 'Wysoki Kontrast',
544
+ defaultFont: 'Domyślna Czcionka',
545
+ noFilter: 'Bez Filtra',
546
+ default: 'Domyślne',
547
+ screenReaderOn: 'Czytnik ekranu włączony',
548
+ screenReaderOff: 'Czytnik ekranu wyłączony',
549
+ voiceControlActivated: 'Sterowanie głosem aktywne',
550
+ notSupportedBrowser: 'nie jest obsługiwane w tej przeglądarce',
551
+ close: 'Zamknij',
552
+ reset: 'Resetuj',
553
+ saturation: 'Nasycenie',
554
+ selectLanguage: 'Wybierz Język'
555
+ },
556
+ nl: {
557
+ accessibilityMenu: 'Toegankelijkheidsmenu',
558
+ closeAccessibilityMenu: 'Menu Sluiten',
559
+ accessibilityTools: 'Hulpmiddelen',
560
+ resetAllSettings: 'Minstellingen Resetten',
561
+ screenReader: 'Schermlezer',
562
+ voiceCommand: 'Spraakcommando',
563
+ textSpacing: 'Tekstafstand',
564
+ pauseAnimations: 'Animaties Pauzeren',
565
+ hideImages: 'Afbeeldingen Verbergen',
566
+ dyslexiaFriendly: 'Dyslexie Vriendelijk',
567
+ biggerCursor: 'Grotere Cursor',
568
+ lineHeight: 'Regelhoogte',
569
+ fontSelection: 'Lettertype Selectie',
570
+ colorFilter: 'Kleurfilter',
571
+ textAlign: 'Tekst Uitlijning',
572
+ textSize: 'Tekstgrootte',
573
+ highContrast: 'Hoog Contrast',
574
+ defaultFont: 'Standaard Lettertype',
575
+ noFilter: 'Geen Filter',
576
+ default: 'Standaard',
577
+ screenReaderOn: 'Schermlezer aan',
578
+ screenReaderOff: 'Schermlezer uit',
579
+ voiceControlActivated: 'Spraakbesturing geactiveerd',
580
+ notSupportedBrowser: 'wordt niet ondersteund in deze browser',
581
+ close: 'Sluiten',
582
+ reset: 'Resetten',
583
+ saturation: 'Verzadiging',
584
+ selectLanguage: 'Selecteer Taal'
585
+ },
586
+ el: {
587
+ accessibilityMenu: 'Μενού Προσβασιμότητας',
588
+ closeAccessibilityMenu: 'Κλείσιμο Μενού',
589
+ accessibilityTools: 'Εργαλεία Προσβασιμότητας',
590
+ resetAllSettings: 'Επαναφορά Ρυθμίσεων',
591
+ screenReader: 'Αναγνώστης Οθόνης',
592
+ voiceCommand: 'Φωνητική Εντολή',
593
+ textSpacing: 'Απόσταση Κειμένου',
594
+ pauseAnimations: 'Παύση Κινήσεων',
595
+ hideImages: 'Απόκρυψη Εικόνων',
596
+ dyslexiaFriendly: 'Φιλικό για Δυσλεξία',
597
+ biggerCursor: 'Μεγαλύτερος Δρομέας',
598
+ lineHeight: 'Ύψος Γραμμής',
599
+ fontSelection: 'Επιλογή Γραμματοσειράς',
600
+ colorFilter: 'Φίλτρο Χρώματος',
601
+ textAlign: 'Στοίχιση Κειμένου',
602
+ textSize: 'Μέγεθος Κειμένου',
603
+ highContrast: 'Υψηλή Αντίθεση',
604
+ defaultFont: 'Προεπιλεγμένη Γραμματοσειρά',
605
+ noFilter: 'Χωρίς Φίλτρο',
606
+ default: 'Προεπιλογή',
607
+ screenReaderOn: 'Αναγνώστης οθόνης ενεργός',
608
+ screenReaderOff: 'Αναγνώστης οθόνης ανενεργός',
609
+ voiceControlActivated: 'Φωνητικός έλεγχος ενεργοποιήθηκε',
610
+ notSupportedBrowser: 'δεν υποστηρίζεται σε αυτόν τον περιηγητή',
611
+ close: 'Κλείσιμο',
612
+ reset: 'Επαναφορά',
613
+ saturation: 'Κορεσμός',
614
+ selectLanguage: 'Επιλογή Γλώσσας'
615
+ },
616
+ sv: {
617
+ accessibilityMenu: 'Tillgänglighetsmeny',
618
+ closeAccessibilityMenu: 'Stäng Meny',
619
+ accessibilityTools: 'Verktyg',
620
+ resetAllSettings: 'Återställ Inställningar',
621
+ screenReader: 'Skärmläsare',
622
+ voiceCommand: 'Röstkommando',
623
+ textSpacing: 'Textavstånd',
624
+ pauseAnimations: 'Pausa Animationer',
625
+ hideImages: 'Dölj Bilder',
626
+ dyslexiaFriendly: 'Dyslexi Vänlig',
627
+ biggerCursor: 'Större Markör',
628
+ lineHeight: 'Radhöjd',
629
+ fontSelection: 'Teckensnittsval',
630
+ colorFilter: 'Färgfilter',
631
+ textAlign: 'Textjustering',
632
+ textSize: 'Textstorlek',
633
+ highContrast: 'Hög Kontrast',
634
+ defaultFont: 'Standardteckensnitt',
635
+ noFilter: 'Inget Filter',
636
+ default: 'Standard',
637
+ screenReaderOn: 'Skärmläsare på',
638
+ screenReaderOff: 'Skärmläsare av',
639
+ voiceControlActivated: 'Röststyrning aktiverad',
640
+ notSupportedBrowser: 'stöds inte i denna webbläsare',
641
+ close: 'Stäng',
642
+ reset: 'Återställ',
643
+ saturation: 'Mättnad',
644
+ selectLanguage: 'Välj Språk'
645
+ },
646
+ no: {
647
+ accessibilityMenu: 'Tilgjengelighetsmeny',
648
+ closeAccessibilityMenu: 'Lukk Meny',
649
+ accessibilityTools: 'Verktøy',
650
+ resetAllSettings: 'Nullstill Innstillinger',
651
+ screenReader: 'Skjermleser',
652
+ voiceCommand: 'Talekommando',
653
+ textSpacing: 'Tekstavstand',
654
+ pauseAnimations: 'Pause Animasjoner',
655
+ hideImages: 'Skjul Bilder',
656
+ dyslexiaFriendly: 'Dysleksivennlig',
657
+ biggerCursor: 'Større Markør',
658
+ lineHeight: 'Linjehøyde',
659
+ fontSelection: 'Skrifttype',
660
+ colorFilter: 'Fargefilter',
661
+ textAlign: 'Tekstjustering',
662
+ textSize: 'Tekststørrelse',
663
+ highContrast: 'Høy Kontrast',
664
+ defaultFont: 'Standard Skrifttype',
665
+ noFilter: 'Ingen Filter',
666
+ default: 'Standard',
667
+ screenReaderOn: 'Skjermleser på',
668
+ screenReaderOff: 'Skjermleser av',
669
+ voiceControlActivated: 'Talestyring aktivert',
670
+ notSupportedBrowser: 'støttes ikke i denne nettleseren',
671
+ close: 'Lukk',
672
+ reset: 'Nullstill',
673
+ saturation: 'Metning',
674
+ selectLanguage: 'Velg Språk'
675
+ },
676
+ da: {
677
+ accessibilityMenu: 'Tilgængelighedsmenu',
678
+ closeAccessibilityMenu: 'Luk Menu',
679
+ accessibilityTools: 'Værktøjer',
680
+ resetAllSettings: 'Nulstil Indstillinger',
681
+ screenReader: 'Skærmlæser',
682
+ voiceCommand: 'Stemmekommando',
683
+ textSpacing: 'Tekstafstand',
684
+ pauseAnimations: 'Pause Animationer',
685
+ hideImages: 'Skjul Billeder',
686
+ dyslexiaFriendly: 'Ordblindevenlig',
687
+ biggerCursor: 'Større Markør',
688
+ lineHeight: 'Linjehøjde',
689
+ fontSelection: 'Skrifttype',
690
+ colorFilter: 'Farvefilter',
691
+ textAlign: 'Tekstjustering',
692
+ textSize: 'Tekststørrelse',
693
+ highContrast: 'Høj Kontrast',
694
+ defaultFont: 'Standard Skrifttype',
695
+ noFilter: 'Intet Filter',
696
+ default: 'Standard',
697
+ screenReaderOn: 'Skærmlæser til',
698
+ screenReaderOff: 'Skærmlæser fra',
699
+ voiceControlActivated: 'Stemmestyring aktiveret',
700
+ notSupportedBrowser: 'understøttes ikke i denne browser',
701
+ close: 'Luk',
702
+ reset: 'Nulstil',
703
+ saturation: 'Mætning',
704
+ selectLanguage: 'Vælg Sprog'
705
+ },
706
+ fi: {
707
+ accessibilityMenu: 'Saavutettavuusvalikko',
708
+ closeAccessibilityMenu: 'Sulje Valikko',
709
+ accessibilityTools: 'Työkalut',
710
+ resetAllSettings: 'Nollaa Asetukset',
711
+ screenReader: 'Ruudunluku',
712
+ voiceCommand: 'Äänikomento',
713
+ textSpacing: 'Tekstiväli',
714
+ pauseAnimations: 'Pysäytä Animaatiot',
715
+ hideImages: 'Piilota Kuvat',
716
+ dyslexiaFriendly: 'Lukihäiriöystävällinen',
717
+ biggerCursor: 'Suurempi Kohdistin',
718
+ lineHeight: 'Rivikorkeus',
719
+ fontSelection: 'Fonttivalinta',
720
+ colorFilter: 'Värisuodatin',
721
+ textAlign: 'Tekstin Tasaus',
722
+ textSize: 'Tekstin Koko',
723
+ highContrast: 'Suuri Kontrasti',
724
+ defaultFont: 'Oletusfontti',
725
+ noFilter: 'Ei Suodatinta',
726
+ default: 'Oletus',
727
+ screenReaderOn: 'Ruudunluku päällä',
728
+ screenReaderOff: 'Ruudunluku pois',
729
+ voiceControlActivated: 'Ääniohjaus aktivoitu',
730
+ notSupportedBrowser: 'ei tueta tässä selaimessa',
731
+ close: 'Sulje',
732
+ reset: 'Nollaa',
733
+ saturation: 'Kylläisyys',
734
+ selectLanguage: 'Valitse Kieli'
735
+ },
736
+ cs: {
737
+ accessibilityMenu: 'Menu Usnadnění',
738
+ closeAccessibilityMenu: 'Zavřít Menu',
739
+ accessibilityTools: 'Nástroje',
740
+ resetAllSettings: 'Resetovat Nastavení',
741
+ screenReader: 'Čtečka Obrazovky',
742
+ voiceCommand: 'Hlasový Příkaz',
743
+ textSpacing: 'Rozestupy Textu',
744
+ pauseAnimations: 'Pozastavit Animace',
745
+ hideImages: 'Skrýt Obrázky',
746
+ dyslexiaFriendly: 'Pro Dyslektiky',
747
+ biggerCursor: 'Větší Kurzor',
748
+ lineHeight: 'Výška Řádku',
749
+ fontSelection: 'Výběr Písma',
750
+ colorFilter: 'Barevný Filtr',
751
+ textAlign: 'Zarovnání Textu',
752
+ textSize: 'Velikost Textu',
753
+ highContrast: 'Vysoký Kontrast',
754
+ defaultFont: 'Výchozí Písmo',
755
+ noFilter: 'Bez Filtru',
756
+ default: 'Výchozí',
757
+ screenReaderOn: 'Čtečka obrazovky zapnuta',
758
+ screenReaderOff: 'Čtečka obrazovky vypnuta',
759
+ voiceControlActivated: 'Hlasové ovládání aktivováno',
760
+ notSupportedBrowser: 'není v tomto prohlížeči podporováno',
761
+ close: 'Zavřít',
762
+ reset: 'Resetovat',
763
+ saturation: 'Sytost',
764
+ selectLanguage: 'Vybrat Jazyk'
765
+ },
766
+ hu: {
767
+ accessibilityMenu: 'Akadálymentesítési Menü',
768
+ closeAccessibilityMenu: 'Menü Bezárása',
769
+ accessibilityTools: 'Eszközök',
770
+ resetAllSettings: 'Beállítások Alaphelyzetbe',
771
+ screenReader: 'Képernyőolvasó',
772
+ voiceCommand: 'Hangparancs',
773
+ textSpacing: 'Szöveg Térköz',
774
+ pauseAnimations: 'Animációk Szüneteltetése',
775
+ hideImages: 'Képek Elrejtése',
776
+ dyslexiaFriendly: 'Diszlexia Barát',
777
+ biggerCursor: 'Nagyobb Kurzor',
778
+ lineHeight: 'Sormagasság',
779
+ fontSelection: 'Betűtípus Választás',
780
+ colorFilter: 'Színszűrő',
781
+ textAlign: 'Szöveg Igazítás',
782
+ textSize: 'Szövegméret',
783
+ highContrast: 'Nagy Kontraszt',
784
+ defaultFont: 'Alapértelmezett Betű',
785
+ noFilter: 'Nincs Szűrő',
786
+ default: 'Alapértelmezett',
787
+ screenReaderOn: 'Képernyőolvasó be',
788
+ screenReaderOff: 'Képernyőolvasó ki',
789
+ voiceControlActivated: 'Hangvezérlés aktiválva',
790
+ notSupportedBrowser: 'nem támogatott ebben a böngészőben',
791
+ close: 'Bezárás',
792
+ reset: 'Visszaállítás',
793
+ saturation: 'Telítettség',
794
+ selectLanguage: 'Nyelv Választása'
795
+ },
796
+ ro: {
797
+ accessibilityMenu: 'Meniu Accesibilitate',
798
+ closeAccessibilityMenu: 'Închide Meniul',
799
+ accessibilityTools: 'Instrumente',
800
+ resetAllSettings: 'Resetează Setările',
801
+ screenReader: 'Cititor de Ecran',
802
+ voiceCommand: 'Comandă Vocală',
803
+ textSpacing: 'Spațiere Text',
804
+ pauseAnimations: 'Pauză Animații',
805
+ hideImages: 'Ascunde Imaginile',
806
+ dyslexiaFriendly: 'Pentru Dislexie',
807
+ biggerCursor: 'Cursor Mai Mare',
808
+ lineHeight: 'Înălțime Linie',
809
+ fontSelection: 'Selecție Font',
810
+ colorFilter: 'Filtru de Culoare',
811
+ textAlign: 'Aliniere Text',
812
+ textSize: 'Mărime Text',
813
+ highContrast: 'Contrast Înalt',
814
+ defaultFont: 'Font Implicit',
815
+ noFilter: 'Fără Filtru',
816
+ default: 'Implicit',
817
+ screenReaderOn: 'Cititor ecran pornit',
818
+ screenReaderOff: 'Cititor ecran oprit',
819
+ voiceControlActivated: 'Control vocal activat',
820
+ notSupportedBrowser: 'nu este suportat în acest browser',
821
+ close: 'Închide',
822
+ reset: 'Resetează',
823
+ saturation: 'Saturație',
824
+ selectLanguage: 'Selectează Limba'
825
+ },
826
+ he: {
827
+ accessibilityMenu: 'תפריט נגישות',
828
+ closeAccessibilityMenu: 'סגור תפריט',
829
+ accessibilityTools: 'כלי נגישות',
830
+ resetAllSettings: 'אפס הגדרות',
831
+ screenReader: 'קורא מסך',
832
+ voiceCommand: 'פקודה קולית',
833
+ textSpacing: 'ריווח טקסט',
834
+ pauseAnimations: 'השהה אנימציות',
835
+ hideImages: 'הסתר תמונות',
836
+ dyslexiaFriendly: 'ידידותי לדיסלקציה',
837
+ biggerCursor: 'סמן גדול',
838
+ lineHeight: 'גובה שורה',
839
+ fontSelection: 'בחירת גופן',
840
+ colorFilter: 'מסנן צבעים',
841
+ textAlign: 'יישור טקסט',
842
+ textSize: 'גודל טקסט',
843
+ highContrast: 'ניגודיות גבוהה',
844
+ defaultFont: 'גופן ברירת מחדל',
845
+ noFilter: 'ללא מסנן',
846
+ default: 'ברירת מחדל',
847
+ screenReaderOn: 'קורא מסך פועל',
848
+ screenReaderOff: 'קורא מסך כבוי',
849
+ voiceControlActivated: 'שליטה קולית הופעלה',
850
+ notSupportedBrowser: 'אינו נתמך בדפדפן זה',
851
+ close: 'סגור',
852
+ reset: 'אפס',
853
+ saturation: 'רוויה',
854
+ selectLanguage: 'בחר שפה'
855
+ },
856
+ fa: {
857
+ accessibilityMenu: 'منوی دسترسی',
858
+ closeAccessibilityMenu: 'بستن منو',
859
+ accessibilityTools: 'ابزارهای دسترسی',
860
+ resetAllSettings: 'بازنشانی تنظیمات',
861
+ screenReader: 'صفحه‌خوان',
862
+ voiceCommand: 'دستور صوتی',
863
+ textSpacing: 'فاصله متن',
864
+ pauseAnimations: 'توقف انیمیشن',
865
+ hideImages: 'مخفی کردن تصاویر',
866
+ dyslexiaFriendly: 'دوستدار و نارساخوانی',
867
+ biggerCursor: 'نشانگر بزرگتر',
868
+ lineHeight: 'ارتفاع خط',
869
+ fontSelection: 'انتخاب قلم',
870
+ colorFilter: 'فیلتر رنگ',
871
+ textAlign: 'تراز متن',
872
+ textSize: 'اندازه متن',
873
+ highContrast: 'کنتراست بالا',
874
+ defaultFont: 'قلم پیش‌فرض',
875
+ noFilter: 'بدون فیلتر',
876
+ default: 'پیش‌فرض',
877
+ screenReaderOn: 'صفحه‌خوان روشن',
878
+ screenReaderOff: 'صفحه‌خوان خاموش',
879
+ voiceControlActivated: 'کنترل صوتی فعال شد',
880
+ notSupportedBrowser: 'در این مرورگر پشتیبانی نمی‌شود',
881
+ close: 'بستن',
882
+ reset: 'بازنشانی',
883
+ saturation: 'اشباع',
884
+ selectLanguage: 'انتخاب زبان'
885
+ },
886
+ ur: {
887
+ accessibilityMenu: 'رسائی کا مینو',
888
+ closeAccessibilityMenu: 'مینو بند کریں',
889
+ accessibilityTools: 'رسائی کے اوزار',
890
+ resetAllSettings: 'تمام ترتیبات کو دوبارہ ترتیب دیں',
891
+ screenReader: 'اسکرین ریڈر',
892
+ voiceCommand: 'صوتی کمانڈ',
893
+ textSpacing: 'ٹیکسٹ اسپیسنگ',
894
+ pauseAnimations: 'اینیمیشن روکیں',
895
+ hideImages: 'تصاویر چھپائیں',
896
+ dyslexiaFriendly: 'ڈسلیکسیا فرینڈلی',
897
+ biggerCursor: 'بڑا کرسر',
898
+ lineHeight: 'لائن کی اونچائی',
899
+ fontSelection: 'فونٹ کا انتخاب',
900
+ colorFilter: 'کلر فلٹر',
901
+ textAlign: 'ٹیکسٹ الائنمنٹ',
902
+ textSize: 'ٹیکسٹ کا سائز',
903
+ highContrast: 'ہائی کنٹراسٹ',
904
+ defaultFont: 'ڈیفالٹ فونٹ',
905
+ noFilter: 'کوئی فلٹر نہیں',
906
+ default: 'ڈیفالٹ',
907
+ screenReaderOn: 'اسکرین ریڈر آن',
908
+ screenReaderOff: 'اسکرین ریڈر آف',
909
+ voiceControlActivated: 'وائس کنٹرول فعال',
910
+ notSupportedBrowser: 'اس براؤزر میں سپورٹ نہیں ہے',
911
+ close: 'بند کریں',
912
+ reset: 'ری سیٹ',
913
+ saturation: 'دیگر',
914
+ selectLanguage: 'زبان منتخب کریں'
915
+ },
916
+ pa: {
917
+ accessibilityMenu: 'ਪਹੁੰਚਯੋਗਤਾ ਮੀਨੂ',
918
+ closeAccessibilityMenu: 'ਮੀਨੂ ਬੰਦ ਕਰੋ',
919
+ accessibilityTools: 'ਪਹੁੰਚਯੋਗਤਾ ਟੂਲ',
920
+ resetAllSettings: 'ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ ਰੀਸੈਟ ਕਰੋ',
921
+ screenReader: 'ਸਕ੍ਰੀਨ ਰੀਡਰ',
922
+ voiceCommand: 'ਵਾਇਸ ਕਮਾਂਡ',
923
+ textSpacing: 'ਟੈਕਸਟ ਸਪੇਸਿੰਗ',
924
+ pauseAnimations: 'ਐਨੀਮੇਸ਼ਨ ਰੋਕੋ',
925
+ hideImages: 'ਚਿੱਤਰ ਲੁਕਾਓ',
926
+ dyslexiaFriendly: 'ਡਿਸਲੈਕਸੀਆ ਫਰੈਂਡਲੀ',
927
+ biggerCursor: 'ਵੱਡਾ ਕਰਸਰ',
928
+ lineHeight: 'ਲਾਈਨ ਦੀ ਉਚਾਈ',
929
+ fontSelection: 'ਫੌਂਟ ਚੋਣ',
930
+ colorFilter: 'ਰੰਗ ਫਿਲਟਰ',
931
+ textAlign: 'ਟੈਕਸਟ ਅਲਾਈਨਮੈਂਟ',
932
+ textSize: 'ਟੈਕਸਟ ਦਾ ਆਕਾਰ',
933
+ highContrast: 'ਹਾਈ ਕੰਟਰਾਸਟ',
934
+ defaultFont: 'ਡਿਫੌਲਟ ਫੌਂਟ',
935
+ noFilter: 'ਕੋਈ ਫਿਲਟਰ ਨਹੀਂ',
936
+ default: 'ਡਿਫੌਲਟ',
937
+ screenReaderOn: 'ਸਕ੍ਰੀਨ ਰੀਡਰ ਚਾਲੂ',
938
+ screenReaderOff: 'ਸਕ੍ਰੀਨ ਰੀਡਰ ਬੰਦ',
939
+ voiceControlActivated: 'ਵਾਇਸ ਕੰਟਰੋਲ ਐਕਟੀਵੇਟਿਡ',
940
+ notSupportedBrowser: 'ਇਸ ਬ੍ਰਾਊਜ਼ਰ ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ',
941
+ close: 'ਬੰਦ ਕਰੋ',
942
+ reset: 'ਰੀਸੈਟ',
943
+ saturation: 'ਸੰਤ੍ਰਿਪਤੀ',
944
+ selectLanguage: 'ਭਾਸ਼ਾ ਚੁਣੋ'
945
+ },
946
+ mr: {
947
+ accessibilityMenu: 'प्रवेशयोग्यता मेनू',
948
+ closeAccessibilityMenu: 'मेनू बंद करा',
949
+ accessibilityTools: 'साधने',
950
+ resetAllSettings: 'सर्व सेटिंग्ज रीसेट करा',
951
+ screenReader: 'स्क्रीन रीडर',
952
+ voiceCommand: 'व्हॉइस कमांड',
953
+ textSpacing: 'मजकूर अंतर',
954
+ pauseAnimations: 'अॅनिमेशन थांबवा',
955
+ hideImages: 'प्रतिमा लपवा',
956
+ dyslexiaFriendly: 'डिस्लेक्सिया फ्रेंडली',
957
+ biggerCursor: 'मोठा कर्सर',
958
+ lineHeight: 'ओळीची उंची',
959
+ fontSelection: 'फॉन्ट निवड',
960
+ colorFilter: 'रंग फिल्टर',
961
+ textAlign: 'मजकूर संरेखन',
962
+ textSize: 'मजकूर आकार',
963
+ highContrast: 'उच्च कॉन्ट्रास्ट',
964
+ defaultFont: 'डीफॉल्ट फॉन्ट',
965
+ noFilter: 'फिल्टर नाही',
966
+ default: 'डीफॉल्ट',
967
+ screenReaderOn: 'स्क्रीन रीडर चालू',
968
+ screenReaderOff: 'स्क्रीन रीडर बंद',
969
+ voiceControlActivated: 'आवाज नियंत्रण सक्रिय',
970
+ notSupportedBrowser: 'या ब्राउझरमध्ये समर्थित नाही',
971
+ close: 'बंद',
972
+ reset: 'रीसेट',
973
+ saturation: 'संपृक्तता',
974
+ selectLanguage: 'भाषा निवडा'
975
+ },
976
+ te: {
977
+ accessibilityMenu: 'యాక్సెసిబిలిటీ మెనూ',
978
+ closeAccessibilityMenu: 'మెనూ మూసివేయి',
979
+ accessibilityTools: 'సాధనాలు',
980
+ resetAllSettings: 'అన్ని సెట్టింగ్‌లను రీసెట్ చేయండి',
981
+ screenReader: 'స్క్రీన్ రీడర్',
982
+ voiceCommand: 'వాయిస్ కమాండ్',
983
+ textSpacing: 'టెక్స్ట్ స్పేసింగ్',
984
+ pauseAnimations: 'యానిమేషన్లను ఆపివేయండి',
985
+ hideImages: 'చిత్రాలను దాచండి',
986
+ dyslexiaFriendly: 'డిస్లెక్సియా ఫ్రెండ్లీ',
987
+ biggerCursor: 'పెద్ద కర్సర్',
988
+ lineHeight: 'లైన్ ఎత్తు',
989
+ fontSelection: 'ఫాంట్ ఎంపిక',
990
+ colorFilter: 'కలర్ ఫిల్టర్',
991
+ textAlign: 'టెక్స్ట్ అలైన్‌మెంట్',
992
+ textSize: 'టెక్స్ట్ సైజు',
993
+ highContrast: 'హై కాంట్రాస్ట్',
994
+ defaultFont: 'డిఫాల్ట్ ఫాంట్',
995
+ noFilter: 'ఫిల్టర్ లేదు',
996
+ default: 'డిఫాల్ట్',
997
+ screenReaderOn: 'స్క్రీన్ రీడర్ ఆన్',
998
+ screenReaderOff: 'స్క్రీన్ రీడర్ ఆఫ్',
999
+ voiceControlActivated: 'వాయిస్ కంట్రోల్ యాక్టివేట్ చేయబడింది',
1000
+ notSupportedBrowser: 'ఈ బ్రౌజర్‌లో మద్దతు లేదు',
1001
+ close: 'మూసివేయి',
1002
+ reset: 'రీసెట్',
1003
+ saturation: 'సంతృప్తత',
1004
+ selectLanguage: 'భాషను ఎంచుకోండి'
1005
+ },
1006
+ ta: {
1007
+ accessibilityMenu: 'அணுகல் பட்டி',
1008
+ closeAccessibilityMenu: 'பட்டியை மூடு',
1009
+ accessibilityTools: 'கருவிகள்',
1010
+ resetAllSettings: 'அமைப்புகளை மீட்டமை',
1011
+ screenReader: 'திரை படிப்பான்',
1012
+ voiceCommand: 'குரல் கட்டளை',
1013
+ textSpacing: 'உரை இடைவெளி',
1014
+ pauseAnimations: 'அனிமேஷன்களை இடைநிறுத்து',
1015
+ hideImages: 'படங்களை மறை',
1016
+ dyslexiaFriendly: 'டிஸ்லெக்ஸியா நட்பு',
1017
+ biggerCursor: 'பெரிய கர்சர்',
1018
+ lineHeight: 'வரி உயரம்',
1019
+ fontSelection: 'எழுத்துரு தேர்வு',
1020
+ colorFilter: 'வண்ண வடிகட்டி',
1021
+ textAlign: 'உரை சீரமைப்பு',
1022
+ textSize: 'உரை அளவு',
1023
+ highContrast: 'உயர் மாறுபாடு',
1024
+ defaultFont: 'இயல்புநிலை எழுத்துரு',
1025
+ noFilter: 'வடிகட்டி இல்லை',
1026
+ default: 'இயல்புநிலை',
1027
+ screenReaderOn: 'திரை படிப்பான் ஆன்',
1028
+ screenReaderOff: 'திரை படிப்பான் ஆஃப்',
1029
+ voiceControlActivated: 'குரல் கட்டுப்பாடு செயல்படுத்தப்பட்டது',
1030
+ notSupportedBrowser: 'இந்த உலாவியில் ஆதரிக்கப்படவில்லை',
1031
+ close: 'மூடு',
1032
+ reset: 'மீட்டமை',
1033
+ saturation: 'செறிவு',
1034
+ selectLanguage: 'மொழியைத் தேர்ந்தெடு'
1035
+ },
1036
+ ms: {
1037
+ accessibilityMenu: 'Menu Kebolehcapaian',
1038
+ closeAccessibilityMenu: 'Tutup Menu',
1039
+ accessibilityTools: 'Alat',
1040
+ resetAllSettings: 'Tetapkan Semula Semua',
1041
+ screenReader: 'Pembaca Skrin',
1042
+ voiceCommand: 'Arahan Suara',
1043
+ textSpacing: 'Jarak Teks',
1044
+ pauseAnimations: 'Jeda Animasi',
1045
+ hideImages: 'Sembunyikan Imej',
1046
+ dyslexiaFriendly: 'Mesra Disleksia',
1047
+ biggerCursor: 'Kursor Besar',
1048
+ lineHeight: 'Ketinggian Baris',
1049
+ fontSelection: 'Pilihan Fon',
1050
+ colorFilter: 'Penapis Warna',
1051
+ textAlign: 'Jajaran Teks',
1052
+ textSize: 'Saiz Teks',
1053
+ highContrast: 'Kontras Tinggi',
1054
+ defaultFont: 'Fon Lalai',
1055
+ noFilter: 'Tiada Penapis',
1056
+ default: 'Lalai',
1057
+ screenReaderOn: 'Pembaca skrin dihidupkan',
1058
+ screenReaderOff: 'Pembaca skrin dimatikan',
1059
+ voiceControlActivated: 'Kawalan suara diaktifkan',
1060
+ notSupportedBrowser: 'tidak disokong dalam pelayar ini',
1061
+ close: 'Tutup',
1062
+ reset: 'Tetapkan Semula',
1063
+ saturation: 'Ketepuan',
1064
+ selectLanguage: 'Pilih Bahasa'
1065
+ },
1066
+ tl: {
1067
+ accessibilityMenu: 'Menu ng Accessibility',
1068
+ closeAccessibilityMenu: 'Isara ang Menu',
1069
+ accessibilityTools: 'Mga Tool',
1070
+ resetAllSettings: 'I-reset Lahat',
1071
+ screenReader: 'Screen Reader',
1072
+ voiceCommand: 'Voice Command',
1073
+ textSpacing: 'Puwang sa Teksto',
1074
+ pauseAnimations: 'Ihinto ang Animasyon',
1075
+ hideImages: 'Itago ang mga Larawan',
1076
+ dyslexiaFriendly: 'Dyslexia Friendly',
1077
+ biggerCursor: 'Mas Malaking Cursor',
1078
+ lineHeight: 'Taas ng Linya',
1079
+ fontSelection: 'Pagpili ng Font',
1080
+ colorFilter: 'Filter ng Kulay',
1081
+ textAlign: 'Pagkakahanay ng Teksto',
1082
+ textSize: 'Laki ng Teksto',
1083
+ highContrast: 'Mataas na Contrast',
1084
+ defaultFont: 'Default na Font',
1085
+ noFilter: 'Walang Filter',
1086
+ default: 'Default',
1087
+ screenReaderOn: 'Naka-on ang screen reader',
1088
+ screenReaderOff: 'Naka-off ang screen reader',
1089
+ voiceControlActivated: 'Aktibo ang voice control',
1090
+ notSupportedBrowser: 'ay hindi suportado sa browser na ito',
1091
+ close: 'Isara',
1092
+ reset: 'I-reset',
1093
+ saturation: 'Saturation',
1094
+ selectLanguage: 'Piliin ang Wika'
345
1095
  }
346
1096
  };
347
1097
 
@@ -350,25 +1100,25 @@ let currentLanguage = 'en';
350
1100
 
351
1101
  function detectBrowserLanguage() {
352
1102
  const browserLang = (navigator.language || navigator.userLanguage).toLowerCase();
353
-
1103
+
354
1104
  // Direct match
355
1105
  if (TRANSLATIONS[browserLang]) {
356
1106
  return browserLang;
357
1107
  }
358
-
1108
+
359
1109
  // Try language code only (e.g., 'en' from 'en-US')
360
1110
  const langCode = browserLang.split('-')[0];
361
1111
  if (TRANSLATIONS[langCode]) {
362
1112
  return langCode;
363
1113
  }
364
-
1114
+
365
1115
  // Special case for Chinese
366
1116
  if (browserLang.includes('zh')) {
367
1117
  if (browserLang.includes('cn') || browserLang.includes('hans')) {
368
1118
  return 'zh-cn';
369
1119
  }
370
1120
  }
371
-
1121
+
372
1122
  // Default to English
373
1123
  return 'en';
374
1124
  }
@@ -700,6 +1450,456 @@ const DEFAULT_WIDGET_CONFIG = {
700
1450
  screenReader: ['スクリーンリーダー', '音声で読む', '音声リーダー'],
701
1451
  voiceControl: ['音声コマンド', '音声制御', '音声コマンド'],
702
1452
  resetAll: ['すべてリセット', 'すべてリセット', 'すべてクリア', '設定をリセット']
1453
+ },
1454
+ pt: {
1455
+ showMenu: ['mostrar menu', 'abrir menu', 'menu de acessibilidade'],
1456
+ highContrast: ['alto contraste', 'aumentar contraste', 'modo escuro'],
1457
+ biggerText: ['texto maior', 'aumentar texto', 'tamanho do texto'],
1458
+ textSpacing: ['espaçamento de texto', 'espaçamento'],
1459
+ pauseAnimations: ['pausar animações', 'parar animações'],
1460
+ hideImages: ['ocultar imagens', 'esconder imagens'],
1461
+ dyslexiaFriendly: ['fonte para dislexia', 'amigável para dislexia'],
1462
+ biggerCursor: ['cursor maior', 'aumentar cursor'],
1463
+ lineHeight: ['altura da linha', 'espaçamento entre linhas'],
1464
+ textAlign: ['alinhamento do texto', 'alinhar texto'],
1465
+ saturation: ['saturação', 'saturar'],
1466
+ fontSelection: ['seleção de fonte', 'escolher fonte'],
1467
+ colorFilter: ['filtro de cor', 'daltonismo'],
1468
+ screenReader: ['leitor de tela', 'ler tela'],
1469
+ voiceControl: ['comando de voz', 'controle por voz'],
1470
+ resetAll: ['redefinir tudo', 'limpar tudo']
1471
+ },
1472
+ bn: {
1473
+ showMenu: ['মেনু দেখান', 'মেনু খুলুন'],
1474
+ highContrast: ['হাই কন্ট্রাস্ট', 'কন্ট্রাস্ট বাড়ান'],
1475
+ biggerText: ['বড় টেক্সট', 'লেখা বড় করুন'],
1476
+ textSpacing: ['টেক্সট স্পেসিং'],
1477
+ pauseAnimations: ['অ্যানিমেশন থামান'],
1478
+ hideImages: ['ছবি লুকান'],
1479
+ dyslexiaFriendly: ['ডিসলেক্সিয়া'],
1480
+ biggerCursor: ['বড় কার্সার'],
1481
+ lineHeight: ['লাইনের উচ্চতা'],
1482
+ textAlign: ['টেক্সট বিন্যাস'],
1483
+ saturation: ['স্যাচুরেশন'],
1484
+ fontSelection: ['ফন্ট নির্বাচন'],
1485
+ colorFilter: ['কালার ফিল্টার'],
1486
+ screenReader: ['স্ক্রিন রিডার'],
1487
+ voiceControl: ['ভয়েস কমান্ড'],
1488
+ resetAll: ['রিসেট করুন']
1489
+ },
1490
+ ko: {
1491
+ showMenu: ['메뉴 보기', '메뉴 열기', '접근성 메뉴'],
1492
+ highContrast: ['고대비', '대비 증가'],
1493
+ biggerText: ['텍스트 크게', '글자 크게', '텍스트 확대'],
1494
+ textSpacing: ['텍스트 간격', '자간'],
1495
+ pauseAnimations: ['애니메이션 중지', '애니메이션 일시정지'],
1496
+ hideImages: ['이미지 숨기기', '사진 숨기기'],
1497
+ dyslexiaFriendly: ['난독증', '읽기 쉬운 글꼴'],
1498
+ biggerCursor: ['큰 커서', '커서 확대'],
1499
+ lineHeight: ['줄 높이', '행간'],
1500
+ textAlign: ['텍스트 정렬', '정렬'],
1501
+ saturation: ['채도', '색상 채도'],
1502
+ fontSelection: ['글꼴 선택', '폰트 변경'],
1503
+ colorFilter: ['색상 필터', '색맹'],
1504
+ screenReader: ['스크린 리더', '화면 읽기'],
1505
+ voiceControl: ['음성 명령', '음성 제어'],
1506
+ resetAll: ['초기화', '모두 초기화']
1507
+ },
1508
+ vi: {
1509
+ showMenu: ['hiện menu', 'mở menu', 'menu trợ năng'],
1510
+ highContrast: ['tương phản cao', 'tăng tương phản'],
1511
+ biggerText: ['cỡ chữ lớn', 'tăng cỡ chữ', 'chữ to'],
1512
+ textSpacing: ['khoảng cách chữ'],
1513
+ pauseAnimations: ['dừng hoạt ảnh', 'tắt hoạt ảnh'],
1514
+ hideImages: ['ẩn hình ảnh', 'tắt hình ảnh'],
1515
+ dyslexiaFriendly: ['phông chữ dễ đọc'],
1516
+ biggerCursor: ['con trỏ lớn'],
1517
+ lineHeight: ['chiều cao dòng'],
1518
+ textAlign: ['căn chỉnh văn bản'],
1519
+ saturation: ['độ bão hòa'],
1520
+ fontSelection: ['chọn phông chữ'],
1521
+ colorFilter: ['bộ lọc màu'],
1522
+ screenReader: ['trình đọc màn hình'],
1523
+ voiceControl: ['điều khiển giọng nói'],
1524
+ resetAll: ['đặt lại tất cả', 'khôi phục']
1525
+ },
1526
+ id: {
1527
+ showMenu: ['tampilkan menu', 'buka menu'],
1528
+ highContrast: ['kontras tinggi'],
1529
+ biggerText: ['teks besar', 'perbesar teks'],
1530
+ textSpacing: ['jarak teks'],
1531
+ pauseAnimations: ['hentikan animasi'],
1532
+ hideImages: ['sembunyikan gambar'],
1533
+ dyslexiaFriendly: ['ramah disleksia'],
1534
+ biggerCursor: ['kursor besar'],
1535
+ lineHeight: ['tinggi baris'],
1536
+ textAlign: ['perataan teks'],
1537
+ saturation: ['saturasi'],
1538
+ fontSelection: ['pilihan font'],
1539
+ colorFilter: ['filter warna'],
1540
+ screenReader: ['pembaca layar'],
1541
+ voiceControl: ['perintah suara'],
1542
+ resetAll: ['atur ulang semua']
1543
+ },
1544
+ th: {
1545
+ showMenu: ['แสดงเมนู', 'เปิดเมนู'],
1546
+ highContrast: ['ความคมชัดสูง'],
1547
+ biggerText: ['ข้อความใหญ่', 'ขยายข้อความ'],
1548
+ textSpacing: ['ระยะห่างข้อความ'],
1549
+ pauseAnimations: ['หยุดภาพเคลื่อนไหว'],
1550
+ hideImages: ['ซ่อนรูปภาพ'],
1551
+ dyslexiaFriendly: ['ฟอนต์อ่านง่าย'],
1552
+ biggerCursor: ['เคอร์เซอร์ใหญ่'],
1553
+ lineHeight: ['ความสูงบรรทัด'],
1554
+ textAlign: ['จัดตำแหน่งข้อความ'],
1555
+ saturation: ['ความอิ่มตัว'],
1556
+ fontSelection: ['เลือกฟอนต์'],
1557
+ colorFilter: ['ตัวกรองสี'],
1558
+ screenReader: ['โปรแกรมอ่านหน้าจอ'],
1559
+ voiceControl: ['คำสั่งเสียง'],
1560
+ resetAll: ['รีเซ็ตทั้งหมด']
1561
+ },
1562
+ pl: {
1563
+ showMenu: ['pokaż menu', 'otwórz menu'],
1564
+ highContrast: ['wysoki kontrast'],
1565
+ biggerText: ['większy tekst', 'powiększ tekst'],
1566
+ textSpacing: ['odstępy tekstu'],
1567
+ pauseAnimations: ['zatrzymaj animacje'],
1568
+ hideImages: ['ukryj obrazki'],
1569
+ dyslexiaFriendly: ['dla dyslektyków'],
1570
+ biggerCursor: ['większy kursor'],
1571
+ lineHeight: ['wysokość linii'],
1572
+ textAlign: ['wyrównanie tekstu'],
1573
+ saturation: ['nasycenie'],
1574
+ fontSelection: ['wybór czcionki'],
1575
+ colorFilter: ['filtr kolorów'],
1576
+ screenReader: ['czytnik ekranu'],
1577
+ voiceControl: ['sterowanie głosem'],
1578
+ resetAll: ['resetuj wszystko']
1579
+ },
1580
+ nl: {
1581
+ showMenu: ['tooon menu', 'open menu'],
1582
+ highContrast: ['hoog contrast'],
1583
+ biggerText: ['grotere tekst', 'tekst vergroten'],
1584
+ textSpacing: ['tekstafstand'],
1585
+ pauseAnimations: ['animaties pauzeren'],
1586
+ hideImages: ['afbeeldingen verbergen'],
1587
+ dyslexiaFriendly: ['dyslexie vriendelijk'],
1588
+ biggerCursor: ['grotere cursor'],
1589
+ lineHeight: ['regelhoogte'],
1590
+ textAlign: ['tekst uitlijning'],
1591
+ saturation: ['verzadiging'],
1592
+ fontSelection: ['lettertype selectie'],
1593
+ colorFilter: ['kleurfilter'],
1594
+ screenReader: ['schermlezer'],
1595
+ voiceControl: ['spraakbesturing'],
1596
+ resetAll: ['alles resetten']
1597
+ },
1598
+ el: {
1599
+ showMenu: ['εμφάνιση μενού', 'άνοιγμα μενού'],
1600
+ highContrast: ['υψηλή αντίθεση'],
1601
+ biggerText: ['μεγαλύτερο κείμενο'],
1602
+ textSpacing: ['απόσταση κειμένου'],
1603
+ pauseAnimations: ['παύση κινήσεων'],
1604
+ hideImages: ['απόκρυψη εικόνων'],
1605
+ dyslexiaFriendly: ['δυσλεξία'],
1606
+ biggerCursor: ['μεγαλύτερος δρομέας'],
1607
+ lineHeight: ['ύψος γραμμής'],
1608
+ textAlign: ['στοίχιση κειμένου'],
1609
+ saturation: ['κορεσμός'],
1610
+ fontSelection: ['επιλογή γραμματοσειράς'],
1611
+ colorFilter: ['φίλτρο χρώματος'],
1612
+ screenReader: ['αναγνώστης οθόνης'],
1613
+ voiceControl: ['φωνητική εντολή'],
1614
+ resetAll: ['επαναφορά όλων']
1615
+ },
1616
+ sv: {
1617
+ showMenu: ['visa meny', 'öppna meny'],
1618
+ highContrast: ['hög kontrast'],
1619
+ biggerText: ['större text'],
1620
+ textSpacing: ['textavstånd'],
1621
+ pauseAnimations: ['pausa animationer'],
1622
+ hideImages: ['dölj bilder'],
1623
+ dyslexiaFriendly: ['dyslexivänlig'],
1624
+ biggerCursor: ['större markör'],
1625
+ lineHeight: ['radhöjd'],
1626
+ textAlign: ['textjustering'],
1627
+ saturation: ['mättnad'],
1628
+ fontSelection: ['teckensnittsval'],
1629
+ colorFilter: ['färgfilter'],
1630
+ screenReader: ['skärmläsare'],
1631
+ voiceControl: ['röststyrning'],
1632
+ resetAll: ['återställ allt']
1633
+ },
1634
+ no: {
1635
+ showMenu: ['vis meny', 'åpne meny'],
1636
+ highContrast: ['høy kontrast'],
1637
+ biggerText: ['større tekst'],
1638
+ textSpacing: ['tekstavstand'],
1639
+ pauseAnimations: ['pause animasjoner'],
1640
+ hideImages: ['skjul bilder'],
1641
+ dyslexiaFriendly: ['dysleksivennlig'],
1642
+ biggerCursor: ['større markør'],
1643
+ lineHeight: ['linjehøyde'],
1644
+ textAlign: ['tekstjustering'],
1645
+ saturation: ['metning'],
1646
+ fontSelection: ['skrifttype'],
1647
+ colorFilter: ['fargefilter'],
1648
+ screenReader: ['skjermleser'],
1649
+ voiceControl: ['talestyring'],
1650
+ resetAll: ['nullstill alt']
1651
+ },
1652
+ da: {
1653
+ showMenu: ['vis menu', 'åbn menu'],
1654
+ highContrast: ['høj kontrast'],
1655
+ biggerText: ['større tekst'],
1656
+ textSpacing: ['tekstafstand'],
1657
+ pauseAnimations: ['pause animationer'],
1658
+ hideImages: ['skjul billeder'],
1659
+ dyslexiaFriendly: ['ordblindevenlig'],
1660
+ biggerCursor: ['større markør'],
1661
+ lineHeight: ['linjehøjde'],
1662
+ textAlign: ['tekstjustering'],
1663
+ saturation: ['mætning'],
1664
+ fontSelection: ['skrifttype'],
1665
+ colorFilter: ['farvefilter'],
1666
+ screenReader: ['skærmlæser'],
1667
+ voiceControl: ['stemmestyring'],
1668
+ resetAll: ['nulstil alt']
1669
+ },
1670
+ fi: {
1671
+ showMenu: ['näytä valikko', 'avaa valikko'],
1672
+ highContrast: ['suuri kontrasti'],
1673
+ biggerText: ['suurempi teksti'],
1674
+ textSpacing: ['tekstiväli'],
1675
+ pauseAnimations: ['pysäytä animaatiot'],
1676
+ hideImages: ['piilota kuvat'],
1677
+ dyslexiaFriendly: ['lukihäiriö'],
1678
+ biggerCursor: ['suurempi kohdistin'],
1679
+ lineHeight: ['rivikorkeus'],
1680
+ textAlign: ['tekstin tasaus'],
1681
+ saturation: ['kylläisyys'],
1682
+ fontSelection: ['fonttivalinta'],
1683
+ colorFilter: ['värisuodatin'],
1684
+ screenReader: ['ruudunluku'],
1685
+ voiceControl: ['ääniohjaus'],
1686
+ resetAll: ['nollaa kaikki']
1687
+ },
1688
+ cs: {
1689
+ showMenu: ['zobrazit menu', 'otevřít menu'],
1690
+ highContrast: ['vysoký kontrast'],
1691
+ biggerText: ['větší text'],
1692
+ textSpacing: ['rozestupy textu'],
1693
+ pauseAnimations: ['pozastavit animace'],
1694
+ hideImages: ['skrýt obrázky'],
1695
+ dyslexiaFriendly: ['pro dyslektiky'],
1696
+ biggerCursor: ['větší kurzor'],
1697
+ lineHeight: ['výška řádku'],
1698
+ textAlign: ['zarovnání textu'],
1699
+ saturation: ['sytost'],
1700
+ fontSelection: ['výběr písma'],
1701
+ colorFilter: ['barevný filtr'],
1702
+ screenReader: ['čtečka obrazovky'],
1703
+ voiceControl: ['hlasové ovládání'],
1704
+ resetAll: ['resetovat vše']
1705
+ },
1706
+ hu: {
1707
+ showMenu: ['menü megjelenítése', 'menü megnyitása'],
1708
+ highContrast: ['nagy kontraszt'],
1709
+ biggerText: ['nagyobb szöveg'],
1710
+ textSpacing: ['szöveg térköz'],
1711
+ pauseAnimations: ['animációk szüneteltetése'],
1712
+ hideImages: ['képek elrejtése'],
1713
+ dyslexiaFriendly: ['diszlexia'],
1714
+ biggerCursor: ['nagyobb kurzor'],
1715
+ lineHeight: ['sormagasság'],
1716
+ textAlign: ['szöveg igazítás'],
1717
+ saturation: ['telítettség'],
1718
+ fontSelection: ['betűtípus'],
1719
+ colorFilter: ['színszűrő'],
1720
+ screenReader: ['képernyőolvasó'],
1721
+ voiceControl: ['hangvezérlés'],
1722
+ resetAll: ['mindent alaphelyzetbe']
1723
+ },
1724
+ ro: {
1725
+ showMenu: ['arată meniul', 'deschide meniul'],
1726
+ highContrast: ['contrast înalt'],
1727
+ biggerText: ['text mai mare'],
1728
+ textSpacing: ['spațiere text'],
1729
+ pauseAnimations: ['pauză animații'],
1730
+ hideImages: ['ascunde imaginile'],
1731
+ dyslexiaFriendly: ['dislexie'],
1732
+ biggerCursor: ['cursor mai mare'],
1733
+ lineHeight: ['înălțime linie'],
1734
+ textAlign: ['aliniere text'],
1735
+ saturation: ['saturație'],
1736
+ fontSelection: ['selecție font'],
1737
+ colorFilter: ['filtru culoare'],
1738
+ screenReader: ['cititor ecran'],
1739
+ voiceControl: ['control vocal'],
1740
+ resetAll: ['resetează tot']
1741
+ },
1742
+ he: {
1743
+ showMenu: ['הצג תפריט', 'פתח תפריט'],
1744
+ highContrast: ['ניגודיות גבוהה'],
1745
+ biggerText: ['טקסט גדול'],
1746
+ textSpacing: ['ריווח טקסט'],
1747
+ pauseAnimations: ['עצור אנימציות'],
1748
+ hideImages: ['הסתר תמונות'],
1749
+ dyslexiaFriendly: ['דיסלקציה'],
1750
+ biggerCursor: ['סמן גדול'],
1751
+ lineHeight: ['גובה שורה'],
1752
+ textAlign: ['יישור טקסט'],
1753
+ saturation: ['רוויה'],
1754
+ fontSelection: ['גופן'],
1755
+ colorFilter: ['מסנן צבע'],
1756
+ screenReader: ['קורא מסך'],
1757
+ voiceControl: ['שליטה קולית'],
1758
+ resetAll: ['אפס הכל']
1759
+ },
1760
+ fa: {
1761
+ showMenu: ['نمایش منو', 'باز کردن منو'],
1762
+ highContrast: ['کنتراست بالا'],
1763
+ biggerText: ['متن بزرگتر'],
1764
+ textSpacing: ['فاصله متن'],
1765
+ pauseAnimations: ['توقف انیمیشن'],
1766
+ hideImages: ['مخفی کردن تصاویر'],
1767
+ dyslexiaFriendly: ['نارساخوانی'],
1768
+ biggerCursor: ['نشانگر بزرگتر'],
1769
+ lineHeight: ['ارتفاع خط'],
1770
+ textAlign: ['تراز متن'],
1771
+ saturation: ['اشباع'],
1772
+ fontSelection: ['انتخاب قلم'],
1773
+ colorFilter: ['فیلتر رنگ'],
1774
+ screenReader: ['صفحه‌خوان'],
1775
+ voiceControl: ['کنترل صوتی'],
1776
+ resetAll: ['بازنشانی همه']
1777
+ },
1778
+ ur: {
1779
+ showMenu: ['مینو دکھائیں', 'مینو کھولیں'],
1780
+ highContrast: ['ہائی کنٹراسٹ'],
1781
+ biggerText: ['بڑا متن'],
1782
+ textSpacing: ['ٹیکسٹ اسپیسنگ'],
1783
+ pauseAnimations: ['اینیمیشن روکیں'],
1784
+ hideImages: ['تصاویر چھپائیں'],
1785
+ dyslexiaFriendly: ['ڈسلیکسیا'],
1786
+ biggerCursor: ['بڑا کرسر'],
1787
+ lineHeight: ['لائن کی اونچائی'],
1788
+ textAlign: ['ٹیکسٹ الائنمنٹ'],
1789
+ saturation: ['دیگر'],
1790
+ fontSelection: ['فونٹ'],
1791
+ colorFilter: ['کلر فلٹر'],
1792
+ screenReader: ['اسکرین ریڈر'],
1793
+ voiceControl: ['وائس کنٹرول'],
1794
+ resetAll: ['سب دوبارہ ترتیب دیں']
1795
+ },
1796
+ pa: {
1797
+ showMenu: ['ਮੀਨੂ ਦਿਖਾਓ'],
1798
+ highContrast: ['ਹਾਈ ਕੰਟਰਾਸਟ'],
1799
+ biggerText: ['ਵੱਡਾ ਟੈਕਸਟ'],
1800
+ textSpacing: ['ਟੈਕਸਟ ਸਪੇਸਿੰਗ'],
1801
+ pauseAnimations: ['ਐਨੀਮੇਸ਼ਨ ਰੋਕੋ'],
1802
+ hideImages: ['ਚਿੱਤਰ ਲੁਕਾਓ'],
1803
+ dyslexiaFriendly: ['ਡਿਸਲੈਕਸੀਆ'],
1804
+ biggerCursor: ['ਵੱਡਾ ਕਰਸਰ'],
1805
+ lineHeight: ['ਲਾਈਨ ਦੀ ਉਚਾਈ'],
1806
+ textAlign: ['ਟੈਕਸਟ ਅਲਾਈਨਮੈਂਟ'],
1807
+ saturation: ['ਸੰਤ੍ਰਿਪਤੀ'],
1808
+ fontSelection: ['ਫੌਂਟ'],
1809
+ colorFilter: ['ਰੰਗ ਫਿਲਟਰ'],
1810
+ screenReader: ['ਸਕ੍ਰੀਨ ਰੀਡਰ'],
1811
+ voiceControl: ['ਵਾਇਸ ਕੰਟਰੋਲ'],
1812
+ resetAll: ['ਰੀਸੈਟ']
1813
+ },
1814
+ mr: {
1815
+ showMenu: ['मेनू दाखवा'],
1816
+ highContrast: ['उच्च कॉन्ट्रास्ट'],
1817
+ biggerText: ['मोठा मजकूर'],
1818
+ textSpacing: ['मजकूर अंतर'],
1819
+ pauseAnimations: ['अॅनिमेशन थांबवा'],
1820
+ hideImages: ['प्रतिमा लपवा'],
1821
+ dyslexiaFriendly: ['डिस्लेक्सिया'],
1822
+ biggerCursor: ['मोठा कर्सर'],
1823
+ lineHeight: ['ओळीची उंची'],
1824
+ textAlign: ['मजकूर संरेखन'],
1825
+ saturation: ['संपृक्तता'],
1826
+ fontSelection: ['फॉन्ट'],
1827
+ colorFilter: ['रंग फिल्टर'],
1828
+ screenReader: ['स्क्रीन रीडर'],
1829
+ voiceControl: ['आवाज नियंत्रण'],
1830
+ resetAll: ['रीसेट करा']
1831
+ },
1832
+ te: {
1833
+ showMenu: ['మెనూ చూపించు'],
1834
+ highContrast: ['హై కాంట్రాస్ట్'],
1835
+ biggerText: ['పెద్ద టెక్స్ట్'],
1836
+ textSpacing: ['టెక్స్ట్ స్పేసింగ్'],
1837
+ pauseAnimations: ['యానిమేషన్లు ఆపండి'],
1838
+ hideImages: ['చిత్రాలను దాచండి'],
1839
+ dyslexiaFriendly: ['డిస్లెక్సియా'],
1840
+ biggerCursor: ['పెద్ద కర్సర్'],
1841
+ lineHeight: ['లైన్ ఎత్తు'],
1842
+ textAlign: ['టెక్స్ట్ అలైన్‌మెంట్'],
1843
+ saturation: ['సంతృప్తత'],
1844
+ fontSelection: ['ఫాంట్'],
1845
+ colorFilter: ['కలర్ ఫిల్టర్'],
1846
+ screenReader: ['స్క్రీన్ రీడర్'],
1847
+ voiceControl: ['వాయిస్ కంట్రోల్'],
1848
+ resetAll: ['రీసెట్']
1849
+ },
1850
+ ta: {
1851
+ showMenu: ['மெனுவைக் காட்டு'],
1852
+ highContrast: ['உயர் மாறுபாடு'],
1853
+ biggerText: ['பெரிய உரை'],
1854
+ textSpacing: ['உரை இடைவெளி'],
1855
+ pauseAnimations: ['அனிமேஷன் நிறுத்து'],
1856
+ hideImages: ['படங்களை மறை'],
1857
+ dyslexiaFriendly: ['டிஸ்லெக்ஸியா'],
1858
+ biggerCursor: ['பெரிய கர்சர்'],
1859
+ lineHeight: ['வரி உயரம்'],
1860
+ textAlign: ['உரை சீரமைப்பு'],
1861
+ saturation: ['செறிவு'],
1862
+ fontSelection: ['எழுத்துரு'],
1863
+ colorFilter: ['வண்ண வடிகட்டி'],
1864
+ screenReader: ['திரை படிப்பான்'],
1865
+ voiceControl: ['குரல் கட்டுப்பாடு'],
1866
+ resetAll: ['மீட்டமை']
1867
+ },
1868
+ ms: {
1869
+ showMenu: ['tunjukkan menu'],
1870
+ highContrast: ['kontras tinggi'],
1871
+ biggerText: ['teks besar'],
1872
+ textSpacing: ['jarak teks'],
1873
+ pauseAnimations: ['jeda animasi'],
1874
+ hideImages: ['sembunyikan imej'],
1875
+ dyslexiaFriendly: ['disleksia'],
1876
+ biggerCursor: ['kursor besar'],
1877
+ lineHeight: ['ketinggian baris'],
1878
+ textAlign: ['jajaran teks'],
1879
+ saturation: ['ketepuan'],
1880
+ fontSelection: ['pilihan fon'],
1881
+ colorFilter: ['penapis warna'],
1882
+ screenReader: ['pembaca skrin'],
1883
+ voiceControl: ['kawalan suara'],
1884
+ resetAll: ['tetapkan semula']
1885
+ },
1886
+ tl: {
1887
+ showMenu: ['ipakita ang menu'],
1888
+ highContrast: ['mataas na contrast'],
1889
+ biggerText: ['mas malaking teksto'],
1890
+ textSpacing: ['puwang sa teksto'],
1891
+ pauseAnimations: ['ihinto ang animasyon'],
1892
+ hideImages: ['itago ang mga larawan'],
1893
+ dyslexiaFriendly: ['dyslexia'],
1894
+ biggerCursor: ['mas malaking cursor'],
1895
+ lineHeight: ['taas ng linya'],
1896
+ textAlign: ['pagkakahanay ng teksto'],
1897
+ saturation: ['saturation'],
1898
+ fontSelection: ['font'],
1899
+ colorFilter: ['filter ng kulay'],
1900
+ screenReader: ['screen reader'],
1901
+ voiceControl: ['voice control'],
1902
+ resetAll: ['i-reset lahat']
703
1903
  }
704
1904
  },
705
1905
 
@@ -1595,7 +2795,7 @@ function resetAccessibilitySettings() {
1595
2795
  buttons.forEach((button) => {
1596
2796
  button.classList.remove('active');
1597
2797
  button.setAttribute('aria-pressed', 'false');
1598
-
2798
+
1599
2799
  // Reset step indicators
1600
2800
  const steps = button.querySelectorAll('.snn-option-step');
1601
2801
  steps.forEach(step => step.classList.remove('active'));
@@ -1685,12 +2885,12 @@ function createToggleButton(
1685
2885
  // Create special action buttons (for cycling through options)
1686
2886
  function createActionButton(buttonText, actionFunction, iconSVG, optionsConfig = null, optionId = null) {
1687
2887
  const button = document.createElement('button');
1688
-
2888
+
1689
2889
  let buttonHTML = `
1690
2890
  <span class="snn-icon">${iconSVG}</span>
1691
2891
  <span class="snn-button-text">${buttonText}</span>
1692
2892
  `;
1693
-
2893
+
1694
2894
  // Add option steps if configured
1695
2895
  if (optionsConfig) {
1696
2896
  buttonHTML += '<div class="snn-option-steps">';
@@ -1699,7 +2899,7 @@ function createActionButton(buttonText, actionFunction, iconSVG, optionsConfig =
1699
2899
  }
1700
2900
  buttonHTML += '</div>';
1701
2901
  }
1702
-
2902
+
1703
2903
  button.innerHTML = buttonHTML;
1704
2904
  button.setAttribute('aria-label', buttonText);
1705
2905
  button.classList.add('snn-accessibility-option');
@@ -1735,10 +2935,10 @@ function createActionButton(buttonText, actionFunction, iconSVG, optionsConfig =
1735
2935
  // Update action button status on page load
1736
2936
  function updateActionButtonStatus(button, optionId, optionsConfig) {
1737
2937
  if (!optionsConfig) return;
1738
-
2938
+
1739
2939
  const steps = button.querySelectorAll('.snn-option-step');
1740
2940
  let currentIndex = -1;
1741
-
2941
+
1742
2942
  if (optionId === 'fontSelection') {
1743
2943
  const currentFont = localStorage.getItem('fontSelection');
1744
2944
  const fonts = ['arial', 'times', 'verdana'];
@@ -1772,7 +2972,7 @@ function updateActionButtonStatus(button, optionId, optionsConfig) {
1772
2972
  const saturations = ['low', 'high', 'none'];
1773
2973
  currentIndex = currentSaturation ? saturations.indexOf(currentSaturation) : -1;
1774
2974
  }
1775
-
2975
+
1776
2976
  // Update step indicators - show all previous steps as active
1777
2977
  steps.forEach((step, index) => {
1778
2978
  if (index <= currentIndex) {
@@ -2015,7 +3215,7 @@ function handleLineHeight() {
2015
3215
  // Default
2016
3216
  localStorage.removeItem('lineHeight');
2017
3217
  return getTranslation('default');
2018
- } else{
3218
+ } else {
2019
3219
  const selectedHeight = heights[nextIndex];
2020
3220
  localStorage.setItem('lineHeight', selectedHeight);
2021
3221
  domCache.body.classList.add(`snn-line-height-${selectedHeight}`);
@@ -2038,10 +3238,10 @@ const screenReader = {
2038
3238
  if (content.trim() !== '') {
2039
3239
  window.speechSynthesis.cancel();
2040
3240
  const speech = new SpeechSynthesisUtterance(content);
2041
-
3241
+
2042
3242
  // Set language based on current interface language
2043
3243
  let speechLang = 'en-US'; // default
2044
- switch(currentLanguage) {
3244
+ switch (currentLanguage) {
2045
3245
  case 'de': speechLang = 'de-DE'; break;
2046
3246
  case 'es': speechLang = 'es-ES'; break;
2047
3247
  case 'it': speechLang = 'it-IT'; break;
@@ -2052,10 +3252,35 @@ const screenReader = {
2052
3252
  case 'hi': speechLang = 'hi-IN'; break;
2053
3253
  case 'zh-cn': speechLang = 'zh-CN'; break;
2054
3254
  case 'jp': speechLang = 'ja-JP'; break;
3255
+ case 'pt': speechLang = 'pt-PT'; break;
3256
+ case 'bn': speechLang = 'bn-IN'; break;
3257
+ case 'ko': speechLang = 'ko-KR'; break;
3258
+ case 'vi': speechLang = 'vi-VN'; break;
3259
+ case 'id': speechLang = 'id-ID'; break;
3260
+ case 'th': speechLang = 'th-TH'; break;
3261
+ case 'pl': speechLang = 'pl-PL'; break;
3262
+ case 'nl': speechLang = 'nl-NL'; break;
3263
+ case 'el': speechLang = 'el-GR'; break;
3264
+ case 'sv': speechLang = 'sv-SE'; break;
3265
+ case 'no': speechLang = 'no-NO'; break;
3266
+ case 'da': speechLang = 'da-DK'; break;
3267
+ case 'fi': speechLang = 'fi-FI'; break;
3268
+ case 'cs': speechLang = 'cs-CZ'; break;
3269
+ case 'hu': speechLang = 'hu-HU'; break;
3270
+ case 'ro': speechLang = 'ro-RO'; break;
3271
+ case 'he': speechLang = 'he-IL'; break;
3272
+ case 'fa': speechLang = 'fa-IR'; break;
3273
+ case 'ur': speechLang = 'ur-PK'; break;
3274
+ case 'pa': speechLang = 'pa-IN'; break;
3275
+ case 'mr': speechLang = 'mr-IN'; break;
3276
+ case 'te': speechLang = 'te-IN'; break;
3277
+ case 'ta': speechLang = 'ta-IN'; break;
3278
+ case 'ms': speechLang = 'ms-MY'; break;
3279
+ case 'tl': speechLang = 'fil-PH'; break;
2055
3280
  default: speechLang = 'en-US';
2056
3281
  }
2057
3282
  speech.lang = speechLang;
2058
-
3283
+
2059
3284
  speech.onerror = function (event) {
2060
3285
  console.warn('Speech synthesis error:', event.error);
2061
3286
  };
@@ -2078,7 +3303,7 @@ const screenReader = {
2078
3303
  try {
2079
3304
  // Set language based on current interface language
2080
3305
  let speechLang = 'en-US'; // default
2081
- switch(currentLanguage) {
3306
+ switch (currentLanguage) {
2082
3307
  case 'de': speechLang = 'de-DE'; break;
2083
3308
  case 'es': speechLang = 'es-ES'; break;
2084
3309
  case 'it': speechLang = 'it-IT'; break;
@@ -2161,10 +3386,10 @@ const voiceControl = {
2161
3386
  const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
2162
3387
  voiceControl.recognition = new SpeechRecognition();
2163
3388
  voiceControl.recognition.interimResults = false;
2164
-
3389
+
2165
3390
  // Set language based on current interface language
2166
3391
  let recognitionLang = 'en-US'; // default
2167
- switch(currentLanguage) {
3392
+ switch (currentLanguage) {
2168
3393
  case 'de': recognitionLang = 'de-DE'; break;
2169
3394
  case 'es': recognitionLang = 'es-ES'; break;
2170
3395
  case 'it': recognitionLang = 'it-IT'; break;
@@ -2175,6 +3400,31 @@ const voiceControl = {
2175
3400
  case 'hi': recognitionLang = 'hi-IN'; break;
2176
3401
  case 'zh-cn': recognitionLang = 'zh-CN'; break;
2177
3402
  case 'jp': recognitionLang = 'ja-JP'; break;
3403
+ case 'pt': recognitionLang = 'pt-PT'; break;
3404
+ case 'bn': recognitionLang = 'bn-IN'; break;
3405
+ case 'ko': recognitionLang = 'ko-KR'; break;
3406
+ case 'vi': recognitionLang = 'vi-VN'; break;
3407
+ case 'id': recognitionLang = 'id-ID'; break;
3408
+ case 'th': recognitionLang = 'th-TH'; break;
3409
+ case 'pl': recognitionLang = 'pl-PL'; break;
3410
+ case 'nl': recognitionLang = 'nl-NL'; break;
3411
+ case 'el': recognitionLang = 'el-GR'; break;
3412
+ case 'sv': recognitionLang = 'sv-SE'; break;
3413
+ case 'no': recognitionLang = 'no-NO'; break;
3414
+ case 'da': recognitionLang = 'da-DK'; break;
3415
+ case 'fi': recognitionLang = 'fi-FI'; break;
3416
+ case 'cs': recognitionLang = 'cs-CZ'; break;
3417
+ case 'hu': recognitionLang = 'hu-HU'; break;
3418
+ case 'ro': recognitionLang = 'ro-RO'; break;
3419
+ case 'he': recognitionLang = 'he-IL'; break;
3420
+ case 'fa': recognitionLang = 'fa-IR'; break;
3421
+ case 'ur': recognitionLang = 'ur-PK'; break;
3422
+ case 'pa': recognitionLang = 'pa-IN'; break;
3423
+ case 'mr': recognitionLang = 'mr-IN'; break;
3424
+ case 'te': recognitionLang = 'te-IN'; break;
3425
+ case 'ta': recognitionLang = 'ta-IN'; break;
3426
+ case 'ms': recognitionLang = 'ms-MY'; break;
3427
+ case 'tl': recognitionLang = 'fil-PH'; break;
2178
3428
  default: recognitionLang = 'en-US';
2179
3429
  }
2180
3430
  voiceControl.recognition.lang = recognitionLang;
@@ -2227,10 +3477,10 @@ const voiceControl = {
2227
3477
  try {
2228
3478
  // Normalize the command by removing extra spaces and making it lowercase
2229
3479
  const normalizedCommand = command.toLowerCase().trim().replace(/\s+/g, ' ');
2230
-
3480
+
2231
3481
  // Get voice commands for current language, fallback to English
2232
3482
  const languageCommands = WIDGET_CONFIG.voiceCommands[currentLanguage] || WIDGET_CONFIG.voiceCommands['en'];
2233
-
3483
+
2234
3484
  // Check for show menu commands
2235
3485
  if (languageCommands.showMenu.some(cmd => normalizedCommand.includes(cmd))) {
2236
3486
  if (!menuCache.button) menuCache.init();
@@ -2255,7 +3505,7 @@ const voiceControl = {
2255
3505
  // Check each command group with better matching
2256
3506
  for (const [key, commands] of Object.entries(languageCommands)) {
2257
3507
  if (key === 'showMenu' || key === 'resetAll') continue; // Already handled above
2258
-
3508
+
2259
3509
  const isMatch = commands.some(cmd => {
2260
3510
  // Check for exact matches first
2261
3511
  if (normalizedCommand.includes(cmd.toLowerCase())) {
@@ -2265,13 +3515,13 @@ const voiceControl = {
2265
3515
  // Check for partial word matches (at least 3 characters)
2266
3516
  const cmdWords = cmd.toLowerCase().split(' ');
2267
3517
  const inputWords = normalizedCommand.split(' ');
2268
- return cmdWords.some(cmdWord =>
2269
- cmdWord.length >= 3 && inputWords.some(inputWord =>
3518
+ return cmdWords.some(cmdWord =>
3519
+ cmdWord.length >= 3 && inputWords.some(inputWord =>
2270
3520
  inputWord.includes(cmdWord) || cmdWord.includes(inputWord)
2271
3521
  )
2272
3522
  );
2273
3523
  });
2274
-
3524
+
2275
3525
  if (isMatch) {
2276
3526
  localStorageKey = key;
2277
3527
  break;
@@ -2281,19 +3531,19 @@ const voiceControl = {
2281
3531
  if (localStorageKey) {
2282
3532
  // Use cached menu reference if available
2283
3533
  if (!menuCache.menu) menuCache.init();
2284
-
3534
+
2285
3535
  // Try to find button by data-key first (toggle buttons)
2286
3536
  let button = menuCache.menu?.querySelector(
2287
3537
  `.snn-accessibility-option[data-key='${localStorageKey}']`
2288
3538
  );
2289
-
3539
+
2290
3540
  // If not found, try to find by data-accessibility-option-id (action buttons)
2291
3541
  if (!button) {
2292
3542
  button = menuCache.menu?.querySelector(
2293
3543
  `.snn-accessibility-option[data-accessibility-option-id='${localStorageKey}']`
2294
3544
  );
2295
3545
  }
2296
-
3546
+
2297
3547
  if (button) {
2298
3548
  button.click();
2299
3549
  console.log(`Successfully executed command: ${command} (matched: ${matchedCommand || localStorageKey})`);
@@ -2304,7 +3554,7 @@ const voiceControl = {
2304
3554
  console.log('Command not recognized:', command);
2305
3555
  // Provide helpful suggestions
2306
3556
  const availableCommands = Object.values(languageCommands).flat();
2307
- const suggestions = availableCommands.filter(cmd =>
3557
+ const suggestions = availableCommands.filter(cmd =>
2308
3558
  cmd.toLowerCase().includes(normalizedCommand.split(' ')[0]) ||
2309
3559
  normalizedCommand.split(' ')[0].includes(cmd.toLowerCase().split(' ')[0])
2310
3560
  );
@@ -2372,7 +3622,7 @@ function createAccessibilityMenu() {
2372
3622
  const languageSelector = document.createElement('select');
2373
3623
  languageSelector.classList.add('snn-language-selector');
2374
3624
  languageSelector.setAttribute('aria-label', getTranslation('selectLanguage'));
2375
-
3625
+
2376
3626
  const languages = [
2377
3627
  { code: 'en', name: 'English' },
2378
3628
  { code: 'de', name: 'Deutsch' },
@@ -2384,9 +3634,34 @@ function createAccessibilityMenu() {
2384
3634
  { code: 'ar', name: 'العربية' },
2385
3635
  { code: 'hi', name: 'हिन्दी' },
2386
3636
  { code: 'zh-cn', name: '简体中文' },
2387
- { code: 'jp', name: '日本語' }
3637
+ { code: 'jp', name: '日本語' },
3638
+ { code: 'pt', name: 'Português' },
3639
+ { code: 'bn', name: 'বাংলা' },
3640
+ { code: 'ko', name: '한국어' },
3641
+ { code: 'vi', name: 'Tiếng Việt' },
3642
+ { code: 'id', name: 'Bahasa Indonesia' },
3643
+ { code: 'th', name: 'ไทย' },
3644
+ { code: 'pl', name: 'Polski' },
3645
+ { code: 'nl', name: 'Nederlands' },
3646
+ { code: 'el', name: 'Ελληνικά' },
3647
+ { code: 'sv', name: 'Svenska' },
3648
+ { code: 'no', name: 'Norsk' },
3649
+ { code: 'da', name: 'Dansk' },
3650
+ { code: 'fi', name: 'Suomi' },
3651
+ { code: 'cs', name: 'Čeština' },
3652
+ { code: 'hu', name: 'Magyar' },
3653
+ { code: 'ro', name: 'Română' },
3654
+ { code: 'he', name: 'עברית' },
3655
+ { code: 'fa', name: 'فارسی' },
3656
+ { code: 'ur', name: 'اردو' },
3657
+ { code: 'pa', name: 'ਪੰਜਾਬੀ' },
3658
+ { code: 'mr', name: 'मराठी' },
3659
+ { code: 'te', name: 'తెలుగు' },
3660
+ { code: 'ta', name: 'தமிழ்' },
3661
+ { code: 'ms', name: 'Bahasa Melayu' },
3662
+ { code: 'tl', name: 'Filipino' }
2388
3663
  ];
2389
-
3664
+
2390
3665
  languages.forEach(lang => {
2391
3666
  const option = document.createElement('option');
2392
3667
  option.value = lang.code;
@@ -2396,15 +3671,15 @@ function createAccessibilityMenu() {
2396
3671
  }
2397
3672
  languageSelector.appendChild(option);
2398
3673
  });
2399
-
2400
- languageSelector.addEventListener('change', function(e) {
3674
+
3675
+ languageSelector.addEventListener('change', function (e) {
2401
3676
  const newLang = e.target.value;
2402
3677
  if (setLanguage(newLang)) {
2403
3678
  // Recreate the menu with new language
2404
3679
  updateMenuLanguage();
2405
3680
  }
2406
3681
  });
2407
-
3682
+
2408
3683
  content.appendChild(languageSelector);
2409
3684
 
2410
3685
  // Create grid wrapper for accessibility options
@@ -2458,7 +3733,7 @@ function createAccessibilityMenu() {
2458
3733
  optionsConfig: { count: 4 },
2459
3734
  optionId: 'colorFilter'
2460
3735
  },
2461
-
3736
+
2462
3737
  // Order 5-11: Other visual/text features
2463
3738
  {
2464
3739
  order: 5,
@@ -2530,7 +3805,7 @@ function createAccessibilityMenu() {
2530
3805
  enabled: WIDGET_CONFIG.enableHideImages,
2531
3806
  optionId: 'hideImages'
2532
3807
  },
2533
-
3808
+
2534
3809
  // Order 11: Animation controls (Reduced Motion merged here)
2535
3810
  {
2536
3811
  order: 11,
@@ -2542,7 +3817,7 @@ function createAccessibilityMenu() {
2542
3817
  enabled: WIDGET_CONFIG.enablePauseAnimations,
2543
3818
  optionId: 'pauseAnimations'
2544
3819
  },
2545
-
3820
+
2546
3821
  // Order 98-99: Screen Reader and Voice Control (always last)
2547
3822
  {
2548
3823
  order: 98,
@@ -2574,7 +3849,7 @@ function createAccessibilityMenu() {
2574
3849
  .sort((a, b) => a.order - b.order)
2575
3850
  .forEach((config) => {
2576
3851
  let button;
2577
-
3852
+
2578
3853
  if (config.type === 'action') {
2579
3854
  button = createActionButton(config.text, config.actionFunction, config.icon, config.optionsConfig, config.optionId);
2580
3855
  } else if (config.type === 'toggle') {
@@ -2589,7 +3864,7 @@ function createAccessibilityMenu() {
2589
3864
  config.optionId
2590
3865
  );
2591
3866
  }
2592
-
3867
+
2593
3868
  if (button) {
2594
3869
  optionsGrid.appendChild(button);
2595
3870
  }
@@ -2608,26 +3883,26 @@ function createAccessibilityMenu() {
2608
3883
  function updateMenuLanguage() {
2609
3884
  const menu = shadowRoot.getElementById('snn-accessibility-menu');
2610
3885
  if (!menu) return;
2611
-
3886
+
2612
3887
  const wasOpen = menu.style.display === 'block';
2613
-
3888
+
2614
3889
  // Remove old menu
2615
3890
  menu.remove();
2616
-
3891
+
2617
3892
  // Clear cache
2618
3893
  menuCache.menu = null;
2619
3894
  menuCache.closeButton = null;
2620
3895
  keyboardCache.focusableElements = null;
2621
-
3896
+
2622
3897
  // Recreate menu
2623
3898
  createAccessibilityMenu();
2624
-
3899
+
2625
3900
  // Update button aria-label
2626
3901
  const mainButton = shadowRoot.getElementById('snn-accessibility-button');
2627
3902
  if (mainButton) {
2628
3903
  mainButton.setAttribute('aria-label', getTranslation('accessibilityMenu'));
2629
3904
  }
2630
-
3905
+
2631
3906
  // Reopen if it was open
2632
3907
  if (wasOpen) {
2633
3908
  menuCache.init();
@@ -2764,13 +4039,13 @@ function handleMenuKeyboard(e) {
2764
4039
  function initAccessibilityWidget() {
2765
4040
  // Create shadow DOM first
2766
4041
  createShadowContainer();
2767
-
4042
+
2768
4043
  // Inject page styles (for accessibility features)
2769
4044
  injectPageStyles();
2770
-
4045
+
2771
4046
  // Apply saved settings
2772
4047
  applySettings();
2773
-
4048
+
2774
4049
  // Create widget UI inside shadow DOM
2775
4050
  createAccessibilityButton();
2776
4051
  createAccessibilityMenu();