feat: add theme toggle functionality and update localization files

- Implemented a theme toggle feature allowing users to switch between light and dark modes.
- Added a new ThemeToggle component for the theme switching button.
- Updated theme CSS to support dark mode variables and system preference detection.
- Enhanced localization files to include translations for the "toggleTheme" key across multiple languages.
This commit is contained in:
Your Name 2026-01-21 15:00:34 +08:00
parent 1f850dd926
commit db5f47586e
72 changed files with 338 additions and 77 deletions

View file

@ -26,7 +26,8 @@
"logout": "Teken uit",
"login": "Teken in",
"register": "Registreer",
"language": "Taal"
"language": "Taal",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Omskakel",

View file

@ -26,7 +26,8 @@
"logout": "ውጣ",
"login": "ግባ",
"register": "ተመዝገብ",
"language": "ቋንቋ"
"language": "ቋንቋ",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "ቀይር",

View file

@ -26,7 +26,8 @@
"logout": "تسجيل الخروج",
"login": "تسجيل الدخول",
"register": "التسجيل",
"language": "اللغة"
"language": "اللغة",
"toggleTheme": "تبديل المظهر"
},
"convert": {
"title": "تحويل",

View file

@ -26,7 +26,8 @@
"logout": "Изход",
"login": "Вход",
"register": "Регистрация",
"language": "Език"
"language": "Език",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Конвертиране",

View file

@ -26,7 +26,8 @@
"logout": "লগআউট",
"login": "লগইন",
"register": "নিবন্ধন",
"language": "ভাষা"
"language": "ভাষা",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "রূপান্তর করুন",

View file

@ -26,7 +26,8 @@
"logout": "Tancar sessió",
"login": "Iniciar sessió",
"register": "Registrar-se",
"language": "Idioma"
"language": "Idioma",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Convertir",

View file

@ -26,7 +26,8 @@
"logout": "Odhlásit",
"login": "Přihlásit",
"register": "Registrovat",
"language": "Jazyk"
"language": "Jazyk",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Převést",

View file

@ -26,7 +26,8 @@
"logout": "Allgofnodi",
"login": "Mewngofnodi",
"register": "Cofrestru",
"language": "Iaith"
"language": "Iaith",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Trosi",

View file

@ -26,7 +26,8 @@
"logout": "Log ud",
"login": "Log ind",
"register": "Registrer",
"language": "Sprog"
"language": "Sprog",
"toggleTheme": "Skift tema"
},
"convert": {
"title": "Konverter",

View file

@ -26,7 +26,8 @@
"logout": "Abmelden",
"login": "Anmelden",
"register": "Registrieren",
"language": "Sprache"
"language": "Sprache",
"toggleTheme": "Thema wechseln"
},
"convert": {
"title": "Konvertieren",

View file

@ -26,7 +26,8 @@
"logout": "Αποσύνδεση",
"login": "Σύνδεση",
"register": "Εγγραφή",
"language": "Γλώσσα"
"language": "Γλώσσα",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Μετατροπή",

View file

@ -26,7 +26,8 @@
"logout": "Logout",
"login": "Login",
"register": "Register",
"language": "Language"
"language": "Language",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Convert",

View file

@ -26,7 +26,8 @@
"logout": "Cerrar sesión",
"login": "Iniciar sesión",
"register": "Registrarse",
"language": "Idioma"
"language": "Idioma",
"toggleTheme": "Cambiar tema"
},
"convert": {
"title": "Convertir",

View file

@ -26,7 +26,8 @@
"logout": "Logi välja",
"login": "Logi sisse",
"register": "Registreeru",
"language": "Keel"
"language": "Keel",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Teisenda",

View file

@ -26,7 +26,8 @@
"logout": "Saioa itxi",
"login": "Saioa hasi",
"register": "Erregistratu",
"language": "Hizkuntza"
"language": "Hizkuntza",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Bihurtu",

View file

@ -26,7 +26,8 @@
"logout": "خروج",
"login": "ورود",
"register": "ثبت نام",
"language": "زبان"
"language": "زبان",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "تبدیل",

View file

@ -26,7 +26,8 @@
"logout": "Kirjaudu ulos",
"login": "Kirjaudu sisään",
"register": "Rekisteröidy",
"language": "Kieli"
"language": "Kieli",
"toggleTheme": "Vaihda teemaa"
},
"convert": {
"title": "Muunna",

View file

@ -26,7 +26,8 @@
"logout": "Mag-logout",
"login": "Mag-login",
"register": "Magrehistro",
"language": "Wika"
"language": "Wika",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "I-convert",

View file

@ -26,7 +26,8 @@
"logout": "Déconnexion",
"login": "Connexion",
"register": "S'inscrire",
"language": "Langue"
"language": "Langue",
"toggleTheme": "Changer le thème"
},
"convert": {
"title": "Convertir",

View file

@ -26,7 +26,8 @@
"logout": "Logáil amach",
"login": "Logáil isteach",
"register": "Cláraigh",
"language": "Teanga"
"language": "Teanga",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Tiontaigh",

View file

@ -26,7 +26,8 @@
"logout": "Pechar sesión",
"login": "Iniciar sesión",
"register": "Rexistrarse",
"language": "Idioma"
"language": "Idioma",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Converter",

View file

@ -26,7 +26,8 @@
"logout": "લૉગઆઉટ",
"login": "લૉગિન",
"register": "નોંધણી કરો",
"language": "ભાષા"
"language": "ભાષા",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "રૂપાંતર કરો",

View file

@ -26,7 +26,8 @@
"logout": "התנתק",
"login": "התחבר",
"register": "הירשם",
"language": "שפה"
"language": "שפה",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "המר",

View file

@ -26,7 +26,8 @@
"logout": "लॉग आउट",
"login": "लॉग इन",
"register": "पंजीकरण",
"language": "भाषा"
"language": "भाषा",
"toggleTheme": "थीम बदलें"
},
"convert": {
"title": "कन्वर्ट करें",

View file

@ -26,7 +26,8 @@
"logout": "Odjava",
"login": "Prijava",
"register": "Registracija",
"language": "Jezik"
"language": "Jezik",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Pretvori",

View file

@ -26,7 +26,8 @@
"logout": "Kijelentkezés",
"login": "Bejelentkezés",
"register": "Regisztráció",
"language": "Nyelv"
"language": "Nyelv",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Konvertálás",

View file

@ -26,7 +26,8 @@
"logout": "Keluar",
"login": "Masuk",
"register": "Daftar",
"language": "Bahasa"
"language": "Bahasa",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Konversi",

View file

@ -26,7 +26,8 @@
"logout": "Útskrá",
"login": "Innskrá",
"register": "Nýskrá",
"language": "Tungumál"
"language": "Tungumál",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Umbreyta",

View file

@ -26,7 +26,8 @@
"logout": "Esci",
"login": "Accedi",
"register": "Registrati",
"language": "Lingua"
"language": "Lingua",
"toggleTheme": "Cambia tema"
},
"convert": {
"title": "Converti",

View file

@ -26,7 +26,8 @@
"logout": "ログアウト",
"login": "ログイン",
"register": "登録",
"language": "言語"
"language": "言語",
"toggleTheme": "テーマ切替"
},
"convert": {
"title": "変換",

View file

@ -26,7 +26,8 @@
"logout": "ចាកចេញ",
"login": "ចូល",
"register": "ចុះឈ្មោះ",
"language": "ភាសា"
"language": "ភាសា",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "បម្លែង",

View file

@ -26,7 +26,8 @@
"logout": "ಲಾಗ್ ಔಟ್",
"login": "ಲಾಗಿನ್",
"register": "ನೋಂದಣಿ",
"language": "ಭಾಷೆ"
"language": "ಭಾಷೆ",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "ಪರಿವರ್ತಿಸಿ",

View file

@ -26,7 +26,8 @@
"logout": "로그아웃",
"login": "로그인",
"register": "회원가입",
"language": "언어"
"language": "언어",
"toggleTheme": "테마 전환"
},
"convert": {
"title": "변환",

View file

@ -26,7 +26,8 @@
"logout": "ອອກຈາກລະບົບ",
"login": "ເຂົ້າສູ່ລະບົບ",
"register": "ລົງທະບຽນ",
"language": "ພາສາ"
"language": "ພາສາ",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "ແປງ",

View file

@ -26,7 +26,8 @@
"logout": "Atsijungti",
"login": "Prisijungti",
"register": "Registruotis",
"language": "Kalba"
"language": "Kalba",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Konvertuoti",

View file

@ -26,7 +26,8 @@
"logout": "Izrakstīties",
"login": "Ierakstīties",
"register": "Reģistrēties",
"language": "Valoda"
"language": "Valoda",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Konvertēt",

View file

@ -26,7 +26,8 @@
"logout": "Одјава",
"login": "Најава",
"register": "Регистрација",
"language": "Јазик"
"language": "Јазик",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Конвертирај",

View file

@ -26,7 +26,8 @@
"logout": "ലോഗൗട്ട്",
"login": "ലോഗിൻ",
"register": "രജിസ്റ്റർ",
"language": "ഭാഷ"
"language": "ഭാഷ",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "പരിവർത്തനം ചെയ്യുക",

View file

@ -26,7 +26,8 @@
"logout": "लॉगआउट",
"login": "लॉगिन",
"register": "नोंदणी करा",
"language": "भाषा"
"language": "भाषा",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "रूपांतर करा",

View file

@ -26,7 +26,8 @@
"logout": "Log keluar",
"login": "Log masuk",
"register": "Daftar",
"language": "Bahasa"
"language": "Bahasa",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Tukar",

View file

@ -26,7 +26,8 @@
"logout": "Oħroġ",
"login": "Idħol",
"register": "Irreġistra",
"language": "Lingwa"
"language": "Lingwa",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Ikkonverti",

View file

@ -26,7 +26,8 @@
"logout": "ထွက်",
"login": "ဝင်",
"register": "စာရင်းသွင်း",
"language": "ဘာသာစကား"
"language": "ဘာသာစကား",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "ပြောင်း",

View file

@ -26,7 +26,8 @@
"logout": "लग आउट",
"login": "लग इन",
"register": "दर्ता गर्नुहोस्",
"language": "भाषा"
"language": "भाषा",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "रूपान्तरण गर्नुहोस्",

View file

@ -26,7 +26,8 @@
"logout": "Uitloggen",
"login": "Inloggen",
"register": "Registreren",
"language": "Taal"
"language": "Taal",
"toggleTheme": "Thema wisselen"
},
"convert": {
"title": "Converteren",

View file

@ -26,7 +26,8 @@
"logout": "Logg ut",
"login": "Logg inn",
"register": "Registrer",
"language": "Språk"
"language": "Språk",
"toggleTheme": "Bytt tema"
},
"convert": {
"title": "Konverter",

View file

@ -26,7 +26,8 @@
"logout": "Wyloguj",
"login": "Zaloguj",
"register": "Zarejestruj",
"language": "Język"
"language": "Język",
"toggleTheme": "Zmień motyw"
},
"convert": {
"title": "Konwertuj",

View file

@ -26,7 +26,8 @@
"logout": "Sair",
"login": "Entrar",
"register": "Registrar",
"language": "Idioma"
"language": "Idioma",
"toggleTheme": "Alternar tema"
},
"convert": {
"title": "Converter",

View file

@ -26,7 +26,8 @@
"logout": "Deconectare",
"login": "Autentificare",
"register": "Înregistrare",
"language": "Limbă"
"language": "Limbă",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Convertire",

View file

@ -26,7 +26,8 @@
"logout": "Выйти",
"login": "Войти",
"register": "Регистрация",
"language": "Язык"
"language": "Язык",
"toggleTheme": "Сменить тему"
},
"convert": {
"title": "Конвертировать",

View file

@ -26,7 +26,8 @@
"logout": "පිටවන්න",
"login": "පිවිසෙන්න",
"register": "ලියාපදිංචි වන්න",
"language": "භාෂාව"
"language": "භාෂාව",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "පරිවර්තනය",

View file

@ -26,7 +26,8 @@
"logout": "Odhlásiť sa",
"login": "Prihlásiť sa",
"register": "Registrovať",
"language": "Jazyk"
"language": "Jazyk",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Konvertovať",

View file

@ -26,7 +26,8 @@
"logout": "Odjava",
"login": "Prijava",
"register": "Registracija",
"language": "Jezik"
"language": "Jezik",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Pretvori",

View file

@ -26,7 +26,8 @@
"logout": "Dilni",
"login": "Hyni",
"register": "Regjistrohu",
"language": "Gjuha"
"language": "Gjuha",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Konverto",

View file

@ -26,7 +26,8 @@
"logout": "Одјава",
"login": "Пријава",
"register": "Регистрација",
"language": "Језик"
"language": "Језик",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Конвертуј",

View file

@ -26,7 +26,8 @@
"logout": "Logga ut",
"login": "Logga in",
"register": "Registrera",
"language": "Språk"
"language": "Språk",
"toggleTheme": "Byt tema"
},
"convert": {
"title": "Konvertera",

View file

@ -26,7 +26,8 @@
"logout": "Toka",
"login": "Ingia",
"register": "Jisajili",
"language": "Lugha"
"language": "Lugha",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Badilisha",

View file

@ -26,7 +26,8 @@
"logout": "வெளியேறு",
"login": "உள்நுழை",
"register": "பதிவு செய்",
"language": "மொழி"
"language": "மொழி",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "மாற்று",

View file

@ -26,7 +26,8 @@
"logout": "లాగ్ అవుట్",
"login": "లాగిన్",
"register": "నమోదు",
"language": "భాష"
"language": "భాష",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "మార్చు",

View file

@ -26,7 +26,8 @@
"logout": "ออกจากระบบ",
"login": "เข้าสู่ระบบ",
"register": "ลงทะเบียน",
"language": "ภาษา"
"language": "ภาษา",
"toggleTheme": "เปลี่ยนธีม"
},
"convert": {
"title": "แปลงไฟล์",

View file

@ -26,7 +26,8 @@
"logout": ıkış",
"login": "Giriş",
"register": "Kayıt Ol",
"language": "Dil"
"language": "Dil",
"toggleTheme": "Tema değiştir"
},
"convert": {
"title": "Dönüştür",

View file

@ -26,7 +26,8 @@
"logout": "Вийти",
"login": "Увійти",
"register": "Реєстрація",
"language": "Мова"
"language": "Мова",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Конвертувати",

View file

@ -26,7 +26,8 @@
"logout": "Đăng xuất",
"login": "Đăng nhập",
"register": "Đăng ký",
"language": "Ngôn ngữ"
"language": "Ngôn ngữ",
"toggleTheme": "Đổi giao diện"
},
"convert": {
"title": "Chuyển đổi",

View file

@ -26,7 +26,8 @@
"logout": "登出",
"login": "登录",
"register": "注册",
"language": "语言"
"language": "语言",
"toggleTheme": "切换主题"
},
"convert": {
"title": "转换",

View file

@ -26,7 +26,8 @@
"logout": "登出",
"login": "登入",
"register": "註冊",
"language": "語言"
"language": "語言",
"toggleTheme": "切換主題"
},
"convert": {
"title": "轉換",

View file

@ -26,7 +26,8 @@
"logout": "Phuma",
"login": "Ngena",
"register": "Bhalisa",
"language": "Ulimi"
"language": "Ulimi",
"toggleTheme": "Toggle theme"
},
"convert": {
"title": "Guqula",