+
+
+ edit
+
+
+
+
\ No newline at end of file
diff --git a/dist/locales/README.md b/dist/locales/README.md
new file mode 100644
index 00000000..174b037e
--- /dev/null
+++ b/dist/locales/README.md
@@ -0,0 +1,24 @@
+## Adding a New Translation
+
+1. **Create a new translation file**
+ - Name the file using the appropriate language code (e.g., `de.js` for German or `ar.js` for Arabic).
+ - Place this file in the `locales` directory.
+
+2. **Add the locale to `index.html`**
+ - Open `index.html` and locate the `` section.
+ - Add your new locale script tag in the correct order, as follows:
+ ```html
+
+ ```
+
+3. **Test the translation**
+ - Verify that your translations are displayed correctly when the respective locale is selected.
+
+4. **Keep translations consistent**
+ - Follow the structure of existing translation files to ensure consistency across all locales.
+
+5. **Subscribe to Translation Updates for Contributors** (optional)
+ - Join the #195 channel or mailing list to receive notifications about new lines being added to translations.
+
+6. **Update the Currently Supported Languages section in the `README.md`**
+ - Add the new language to the list of supported languages in the README, following the existing format.
diff --git a/dist/locales/az.js b/dist/locales/az.js
new file mode 100644
index 00000000..bb8dc08a
--- /dev/null
+++ b/dist/locales/az.js
@@ -0,0 +1,138 @@
+// Azerbaijani -> az
+const az = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Əlaqə",
+ "resetsettings": "Parametrləri sıfırla",
+ "menuCloseText": "Bağla",
+
+ // Shortcuts
+ "shortcutsText": "Qısayollar",
+ "enableShortcutsText": "Yadda saxlanmış qısa yolları göstər",
+ "editShortcutsText": "Qısayolları redaktə et",
+ "shortcutsInfoText": "Göstəriləcək qısayolları seçin",
+ "editShortcutsList": "Saxlanmış Qısayollar",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Adaptiv ikona formaları",
+ "adaptiveIconInfoText": "Qısayol nişanları dairəvi görünəcək",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI Alətləri",
+ "enable_ai_tools": "AI Alətləri qısayollarını göstər",
+ "googleAppsMenuText": "Google Apps",
+ "googleAppsMenuInfo": "Google Tətbiqləri üçün qısayolları göstər",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Rəqəmsal saat",
+ "digitalclockinfo": "Rəqəmsal saata keç",
+ "timeformattittle": "12 Saat Format",
+ "timeformatinfo": "12 saatlıq vaxt formatından istifadə edin",
+ "greetingtittle": "Xoş gəlmisiniz",
+ "greetinginfo": "Fərdi mətnin altında salamlama mesajını göstər",
+
+ // Misc
+ "userTextTitle": "Fərdiləşdirilə bilən mətn",
+ "userTextInfo": "Saat altında fərdi mətni göstər",
+ "fahrenheitCelsiusCheckbox": "Fahrenheit rejiminə keç",
+ "fahrenheitCelsiusText": "Yeniləmələri görmək üçün səhifəni yeniləyin",
+ "micIconTitle": "Mikrofon nişanını gizlət",
+ "micIconInfo": "Səslə yazmaq işləmirsə",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Təklifləri axtarın",
+ "search_suggestions_text": "Axtarış təkliflərini aktivləşdirin",
+
+ // Proxy
+ "useproxytitletext": "Proksidən keçmək",
+ "useproxyText": "Əgər axtarış təklifləri işləmirsə",
+ "ProxyText": "CORS Bypass Proxy",
+ "ProxySubtext": "Öz CORS Bypass Proxy əlavə et",
+ "HostproxyButton": "Öz Proxyinizi Host edin",
+ "saveproxy": "Saxla",
+
+ // Location
+ "UserLocText": "Məkanınızı daxil edin",
+ "UserLocSubtext": "Hava yeri düzgün deyilsə",
+ "userLoc": "Məkanınız (Şəhər/Enlem, Boylam)",
+ "saveLoc": "Saxla",
+
+ // Weather
+ "WeatherApiText": "Öz WeatherAPI açarınızı daxil edin",
+ "WeatherApiSubtext": "Hava funksiyası işləmirsə",
+ "userAPI": "Sizin WeatherAPI açarınız",
+ "LearnMoreButton": "Ətraflı məlumat",
+ "saveAPI": "Saxla",
+
+ // Body Items
+ // Calendar
+ "days": ['Bazar', 'Bazar ertəsi', 'Çərşənbə axşamı', 'Çərşənbə', 'Cümə axşamı', 'Cümə', 'Şənbə'],
+ "months": ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Salam! Bu gün necəsən?",
+ "humidityLevel": "Rütubət",
+ "feelsLike": "FeelsLike",
+ "location": "Dünya",
+ "enterBtn": "Axtar",
+ "searchPlaceholder": "Axtarışınız...",
+ "listenPlaceholder": "Dinlənir...",
+ "searchWithHint": "Bununla axtar",
+ "userText": "Bura klikləməklə redaktə edin",
+
+ // Greeting
+ greeting: {
+ "morning": "Sabahınız xeyir!",
+ "afternoon": "Hər vaxtın xeyir!",
+ "evening": "Axşamın xeyir!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Alətləri",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Divar kağızı yükləyin",
+ "backupText": "Yedək",
+ "restoreText": "Bərpa et",
+ "rangColor": "Rəng seçin",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Gün üçün divar kağızı olaraq yeni bir şəkil təyin etmək istərdinizmi?",
+ "confirmRestore": "Parametrlərinizi sıfırlamaq istədiyinizə əminsiniz? Bu əməliyyatı geri qaytarmaq mümkün deyil.",
+ "Nobackgroundset": "Hazırda heç bir fon şəkli qurulmayıb.",
+ "clearbackgroundimage": "Arxa fon şəklini təmizləmək istədiyinizə əminsinizmi?",
+ "ProxyDisclaimer": "Bütün proksi funksiyaları defolt olaraq deaktivdir.\n\nAxtarış təkliflərini və CORS proksisini yan keçmək imkanını aktiv etsəniz, təkmil məxfilik üçün öz proksinizi yerləşdirmək tövsiyə olunur.\n\nDefolt olaraq, proksi quraşdırılacaq. https://mynt-proxy.rhythmcorehq.com ünvanına, yəni bütün məlumatlarınız bu xidmətdən keçəcək və bu, məxfiliklə bağlı narahatlıq yarada bilər.",
+ "failedbackup": "Yedəkləmə uğursuz oldu: ",
+ "restorecompleted": "Bərpa uğurla tamamlandı!",
+ "restorefailed": "Bərpa uğursuz oldu: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/bn.js b/dist/locales/bn.js
new file mode 100644
index 00000000..3f0a8720
--- /dev/null
+++ b/dist/locales/bn.js
@@ -0,0 +1,141 @@
+// Bengali
+const bn = {
+ // Menu Items
+ "github": "গিটহাব",
+ "feedback": "মতামত",
+ "resetsettings": "সেটিংস পুনরায় সেট করুন",
+ "menuCloseText": "বন্ধ করুন",
+
+ // Shortcuts
+ "shortcutsText": "শর্টকাট",
+ "enableShortcutsText": "সংরক্ষিত শর্টকাটগুলি প্রদর্শন করুন",
+ "editShortcutsText": "শর্টকাট সম্পাদনা করুন",
+ "shortcutsInfoText": "যে শর্টকাটগুলো দেখাতে চান তা নির্বাচন করুন",
+ "editShortcutsList": "সংরক্ষিত শর্টকাট",
+ "editShortcutsListInfo": "\"+\" আইকনে ক্লিক করে নতুন শর্টকাট যোগ করুন অথবা বিদ্যমান শর্টকাটের নাম বা URL এ ক্লিক করে সম্পাদনা করুন।",
+ "adaptiveIconText": "অ্যাডাপ্টিভ আইকন",
+ "adaptiveIconInfoText": "শর্টকাট আইকন থিম রঙের সাথে মিলে ছোট আকারে প্রদর্শিত হবে",
+ "bookmarksText": "বুকমার্কস",
+ "bookmarksInfo": "বুকমার্কস সাইডবার দেখুন",
+ "ai_tools_button": "এআই সরঞ্জাম",
+ "enable_ai_tools": "এআই সরঞ্জামের শর্টকাট প্রদর্শন করুন",
+ "googleAppsMenuText": "গুগল অ্যাপস",
+ "googleAppsMenuInfo": "গুগল অ্যাপসের শর্টকাট প্রদর্শন করুন",
+ "googleAppsHover": "গুগল অ্যাপস",
+
+ // To-do List
+ "todoListText": "টু ডু লিস্ট",
+ "todoListInfo": "দৈনিক কাজের তালিকা দেখুন",
+ "todoListHover": "টু ডু লিস্ট",
+ "todoPlaceholder": "টাস্ক যোগ করুন...",
+
+ // Digital Clock
+ "digitalclocktittle": "ডিজিটাল ঘড়ি",
+ "digitalclockinfo": "ডিজিটাল ঘড়িতে পরিবর্তন করুন",
+ "timeformattittle": "১২-ঘণ্টা ফরম্যাট",
+ "timeformatinfo": "১২-ঘণ্টার সময় ফরম্যাট ব্যবহার করুন",
+ "greetingtittle": "অভিবাদন",
+ "greetinginfo": "কাস্টম টেক্সটের নিচে অভিবাদন দেখান",
+
+ // Misc
+ "userTextTitle": "কাস্টমাইজেবল টেক্সট",
+ "userTextInfo": "ঘড়ির নিচে কাস্টম টেক্সট দেখান",
+ "fahrenheitCelsiusCheckbox": "ফারেনহাইটে পরিবর্তন করুন",
+ "fahrenheitCelsiusText": "পরিবর্তন প্রয়োগ করতে পেজ রিফ্রেশ করুন",
+ "micIconTitle": "মাইক্রোফোন আইকন লুকান",
+ "micIconInfo": "যদি ভয়েস টাইপিং কাজ না করে",
+ "hideSearchWith": "সার্চ ইঞ্জিন লুকান",
+ "hideSearchWithInfo": "সার্চ ইঞ্জিনের আইকনে ক্লিক করে সার্চ ইঞ্জিন পরিবর্তন করুন",
+ "search_suggestions_button": "সার্চ সাজেশন",
+ "search_suggestions_text": "সার্চ সাজেশন সক্রিয় করুন",
+
+ // Proxy
+ "useproxytitletext": "প্রক্সি বাইপাস",
+ "useproxyText": "যদি সার্চ সাজেশন কাজ না করে",
+ "ProxyText": "CORS বাইপাস প্রক্সি",
+ "ProxySubtext": "নিজস্ব CORS বাইপাস প্রক্সি যোগ করুন",
+ "HostproxyButton": "নিজস্ব প্রক্সি হোস্ট করুন",
+ "saveproxy": "সংরক্ষণ করুন",
+
+ // Location
+ "UserLocText": "আপনার অবস্থান লিখুন",
+ "UserLocSubtext": "যদি আবহাওয়া অবস্থান সঠিক না হয়",
+ "userLoc": "আপনার শহর বা স্থানাঙ্ক (অক্ষাংশ, দ্রাঘিমাংশ)",
+ "useGPS": "জিপিএস ব্যবহার করুন",
+ "saveLoc": "সংরক্ষণ করুন",
+
+ // Weather
+ "WeatherApiText": "আপনার WeatherAPI কী লিখুন",
+ "WeatherApiSubtext": "যদি আবহাওয়ার ফাংশন কাজ না করে",
+ "userAPI": "আপনার WeatherAPI কী",
+ "LearnMoreButton": "আরও জানুন",
+ "saveAPI": "সংরক্ষণ করুন",
+
+ // Body Items
+ // Calendar
+ "days": ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], // Truncated for display
+ //"days": ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'], // Full
+ "months": ['জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+ // "months": ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ্টে', 'অক্টো', 'নভে', 'ডিসে'], // Truncated
+
+ // Bookmarks
+ "bookmarksHeading": "বুকমার্কস",
+ "bookmarkViewAs": "এইভাবে দেখুন",
+ "bookmarkViewGrid": "গ্রিড",
+ "bookmarkViewList": "লিস্ট",
+ "bookmarkSearch": "বুকমার্ক সার্চ করুন",
+
+ // New Tab Item
+ "conditionText": "হ্যালো! আজ আপনি কেমন আছেন?",
+ "humidityLevel": "আর্দ্রতা",
+ "feelsLike": "অনুভূতি হয়",
+ "location": "পৃথিবী",
+ "enterBtn": "সার্চ করুন",
+ "searchPlaceholder": "এখানে টাইপ করুন...",
+ "listenPlaceholder": "শোনা হচ্ছে...",
+ "searchWithHint": "সার্চের মাধ্যম",
+ "userText": "এখানে আপনার টেক্সট লিখুন",
+
+ // Greeting
+ greeting: {
+ "morning": "শুভ সকাল!",
+ "afternoon": "শুভ বিকেল!",
+ "evening": "শুভ সন্ধ্যা!"
+ },
+
+ // Search Engines
+ "googleEngine": "গুগল",
+ "duckEngine": "ডাকডাকগো",
+ "bingEngine": "বিং",
+ "braveEngine": "ব্রেভ",
+ "youtubeEngine": "ইউটিউব",
+
+ // AI Tools
+ "ai_tools": "এআই টুলস",
+ "chatGPT": "চ্যাটজিপিটি",
+ "gemini": "জেমিনি",
+ "copilot": "কোপাইলট",
+ "claude": "ক্লড",
+ "perplexity": "পারপ্লেক্সিটি",
+ "firefly": "অ্যাডোবি ফায়ারফ্লাই",
+ "metaAI": "মেটা এআই",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "ওয়ালপেপার দিন",
+ "backupText": "ব্যাকআপ করুন",
+ "restoreText": "পুনরুদ্ধার করুন",
+ "rangColor": "রঙ নির্বাচন করুন",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "আপনি কি আজকের জন্য একটি নতুন ছবি ওয়ালপেপার হিসেবে সেট করতে চান?",
+ "confirmRestore": "আপনি কি নিশ্চিত যে আপনি আপনার সেটিংস রিসেট করতে চান? এটি পূর্বাবস্থায় ফেরানো যাবে না।",
+ "Nobackgroundset": "বর্তমানে কোন ব্যাকগ্রাউন্ড ইমেজ সেট করা হয়নি।",
+ "clearbackgroundimage": "আপনি কি ব্যাকগ্রাউন্ড ইমেজ মুছে ফেলতে চান?",
+ "ProxyDisclaimer": "সমস্ত প্রক্সি ফিচার ডিফল্টভাবে বন্ধ থাকে।\n\nআপনি যদি সার্চ সাজেশন এবং CORS বাইপাস প্রক্সি সক্রিয় করেন, তাহলে উন্নত গোপনীয়তার জন্য আপনার নিজস্ব প্রক্সি হোস্ট করার পরামর্শ দেওয়া হয়।\n\nডিফল্টভাবে প্রক্সি https://mynt-proxy.rhythmcorehq.com এ সেট করা হবে, যার মানে আপনার সমস্ত ডেটা এই পরিষেবার মাধ্যমে যাবে, যা গোপনীয়তার ঝুঁকি তৈরি করতে পারে।",
+ "failedbackup": "ব্যাকআপ ব্যর্থ: ",
+ "restorecompleted": "পুনরুদ্ধার সফলভাবে সম্পন্ন হয়েছে!",
+ "restorefailed": "পুনরুদ্ধার ব্যর্থ: ",
+ "invalidBackup": "অবৈধ ব্যাকআপ ফাইল",
+ "deleteBookmark": "আপনি কি নিশ্চিত যে আপনি বুকমার্কটি মুছে ফেলতে চান?",
+ "UnsupportedBrowser": "আপনার ব্রাউজারে বুকমার্ক সমর্থিত নয়",
+};
diff --git a/dist/locales/cs.js b/dist/locales/cs.js
new file mode 100644
index 00000000..394f022e
--- /dev/null
+++ b/dist/locales/cs.js
@@ -0,0 +1,138 @@
+// Czech -> cs
+const cs = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Zpětná vazba",
+ "resetsettings": "Resetovat nastavení",
+ "menuCloseText": "Zavřít",
+
+ // Shortcuts
+ "shortcutsText": "Zkratky",
+ "enableShortcutsText": "Zobrazí zkratky",
+ "editShortcutsText": "Upravit zkratky",
+ "shortcutsInfoText": "Vyberte, které zkratky se mají zobrazit",
+ "editShortcutsList": "Uložené zkratky",
+ "editShortcutsListInfo": "Nové zkratky můžete přidat klepnutím na ikonku „+“. Upravit existující můžete klepnutím na název nebo URL adresu zkratky.",
+ "adaptiveIconText": "Adaptivní tvary ikon",
+ "adaptiveIconInfoText": "Ikony zkratek se zmenší",
+ "bookmarksText": "Záložky",
+ "bookmarksInfo": "Zobrazí boční panel se záložkami",
+ "ai_tools_button": "AI nástroje",
+ "enable_ai_tools": "Zobrazí zkratky AI nástrojů",
+ "googleAppsMenuText": "Google aplikace",
+ "googleAppsMenuInfo": "Zobrazí zkratky Google aplikací",
+ "googleAppsHover": "Google aplikace",
+
+ // To-do List
+ "todoListText": "Seznam úkolů",
+ "todoListInfo": "Zobrazí denní seznam úkolů",
+ "todoListHover": "Seznam úkolů",
+ "todoPlaceholder": "Přidat úkol...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digitální hodiny",
+ "digitalclockinfo": "Přepne hodiny na digitální",
+ "timeformattittle": "12hodinový formát",
+ "timeformatinfo": "Použije se 12hodinový formát času",
+ "greetingtittle": "Pozdrav",
+ "greetinginfo": "Zobrazí pozdrav pod upravitelným textem",
+
+ // Misc
+ "userTextTitle": "Upravitelný text",
+ "userTextInfo": "Zobrazí upravitelný text pod hodinami",
+ "fahrenheitCelsiusCheckbox": "Přepnout na stupně Fahrenheita",
+ "fahrenheitCelsiusText": "Změny se projeví po obnovení stránky",
+ "micIconTitle": "Skrýt ikonu mikrofonu",
+ "micIconInfo": "Pokud nefunguje hlasové vyhledávání",
+ "hideSearchWith": "Skrýt vyhledávače",
+ "hideSearchWithInfo": "Mezi vyhledávači přepnete klepnutím na jejich ikonky",
+ "search_suggestions_button": "Návrhy ve vyhledávání",
+ "search_suggestions_text": "Zapne návrhy vyhledávání",
+
+ // Proxy
+ "useproxytitletext": "Obcházení proxy",
+ "useproxyText": "Pokud nefungují návrhy ve vyhledávání",
+ "ProxyText": "Proxy pro obcházení CORS",
+ "ProxySubtext": "Nastavte si vlastní proxy pro obcházení CORS",
+ "HostproxyButton": "Provozování vlastní proxy",
+ "saveproxy": "Uložit",
+
+ // Location
+ "UserLocText": "Zadejte svou polohu",
+ "UserLocSubtext": "Pokud není správná poloha počasí",
+ "userLoc": "Město nebo souřadnice (šířka, délka)",
+ "saveLoc": "Uložit",
+
+ // Weather
+ "WeatherApiText": "Zadejte svůj klíč k WeatherAPI",
+ "WeatherApiSubtext": "Pokud nefunguje funkce počasí",
+ "userAPI": "Váš klíč k WeatherAPI",
+ "LearnMoreButton": "Zjistit více",
+ "saveAPI": "Uložit",
+
+ // Body Items
+ // Calendar
+ "days": ["neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota"],
+ "months": ["ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince"],
+
+ // Bookmarks
+ "bookmarksHeading": "Záložky",
+ "bookmarkViewAs" : "Způsob zobrazení",
+ "bookmarkViewGrid" : "Mřížka",
+ "bookmarkViewList" : "Seznam",
+ "bookmarkSearch": "Vyhledejte záložku",
+
+ // New Tab Item
+ "conditionText": "Dobrý den! Jak se máte?",
+ "humidityLevel": "Vlhkost",
+ "feelsLike": "Pocitová teplota",
+ "location": "Země",
+ "enterBtn": "Vyhledat",
+ "searchPlaceholder": "Zadejte hledaný výraz...",
+ "listenPlaceholder": "Poslouchám...",
+ "searchWithHint": "Vyhledávat prostřednictvím",
+ "userText": "Upravíte po kliknutí",
+
+ // Greeting
+ "greeting": {
+ "morning": "Dobré ráno!",
+ "afternoon": "Dobré odpoledne!",
+ "evening": "Dobrý večer!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI nástroje",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Nahrát tapetu",
+ "backupText": "Zálohovat",
+ "restoreText": "Obnovit",
+ "rangColor": "Vybrat barvu",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Přejete si nastavit nový obrázek jako denní tapetu?",
+ "confirmRestore": "Opravdu si přejete resetovat nastavení? Tuto akci nelze zvrátit.",
+ "Nobackgroundset": "Aktuálně nemáte nastavený žádný obrázek na pozadí.",
+ "clearbackgroundimage": "Opravdu si přejete smazat obrázek na pozadí?",
+ "ProxyDisclaimer": "Všechny funkce proxy jsou ve výchozím nastavení vypnuté.\n\nPokud zapnete našeptávání ve vyhledávání s proxy pro obcházení CORS, pro lepší zabezpečení vám důrazně doporučujeme hostovat si vlastní proxy.\n\nVe výchozím nastavení je proxy nastavena na https://mynt-proxy.rhythmcorehq.com, což znamená, že všechna vaše data procházejí skrz tuto službu. To může vyvolat obavy o soukromí.",
+ "failedbackup": "Zálohování selhalo: ",
+ "restorecompleted": "Obnova ze zálohy byla úspěšně dokončena!",
+ "restorefailed": "Obnova ze zálohy selhala: ",
+ "invalidBackup": "Neplatný soubor se zálohou",
+ "deleteBookmark": "Opravdu si přejete smazat tuto záložku?",
+ "UnsupportedBrowser": "Ve vašem prohlížeči nejsou záložky podporované",
+};
diff --git a/dist/locales/en.js b/dist/locales/en.js
new file mode 100644
index 00000000..74cacf16
--- /dev/null
+++ b/dist/locales/en.js
@@ -0,0 +1,139 @@
+// English (Default)
+const en = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Reset Settings",
+ "menuCloseText": "Close",
+
+ // Shortcuts
+ "shortcutsText": "Shortcuts",
+ "enableShortcutsText": "Show saved shortcuts",
+ "editShortcutsText": "Edit Shortcuts",
+ "shortcutsInfoText": "Choose which shortcuts get shown",
+ "editShortcutsList": "Saved Shortcuts",
+ "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Adaptive Icons",
+ "adaptiveIconInfoText": "Shortcut icons will match the theme color and appear smaller",
+ "bookmarksText": "Bookmarks",
+ "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI-Tools",
+ "enable_ai_tools": "Show shortcuts for AI tools",
+ "googleAppsMenuText": "Google Apps",
+ "googleAppsMenuInfo": "Show shortcuts for Google Apps",
+ "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ "todoListText": "To Do List",
+ "todoListInfo": "Show a daily To Do list",
+ "todoListHover": "ToDo List", // Keep this short
+ "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digital Clock",
+ "digitalclockinfo": "Switch to the digital clock",
+ "timeformattittle": "12-Hour Format",
+ "timeformatinfo": "Use 12-hour time format",
+ "greetingtittle": "Greeting",
+ "greetinginfo": "Show greeting below custom text",
+
+ // Misc
+ "userTextTitle": "Customizable Text",
+ "userTextInfo": "Show custom text below the clock",
+ "fahrenheitCelsiusCheckbox": "Switch to Fahrenheit",
+ "fahrenheitCelsiusText": "Refresh the page to apply changes",
+ "micIconTitle": "Hide Microphone Icon",
+ "micIconInfo": "If voice typing is not working",
+ "hideSearchWith": "Hide Search Engines",
+ "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Search Suggestions",
+ "search_suggestions_text": "Enable search suggestions",
+
+ // Proxy
+ "useproxytitletext": "Proxy Bypass",
+ "useproxyText": "If search suggestions aren't working",
+ "ProxyText": "CORS Bypass Proxy",
+ "ProxySubtext": "Add your own CORS bypass proxy",
+ "HostproxyButton": "Host Your Own Proxy",
+ "saveproxy": "Save",
+
+ // Location
+ "UserLocText": "Enter your Location",
+ "UserLocSubtext": "If the weather location isn't correct",
+ "userLoc": "Your City or Coordinates (Latitude, Longitude)",
+ "useGPS": "Use GPS",
+ "saveLoc": "Save",
+
+ // Weather
+ "WeatherApiText": "Enter your WeatherAPI key", // For 'WeatherAPI' string, only transliterate
+ "WeatherApiSubtext": "If the weather functionality isn't working",
+ "userAPI": "Your weatherAPI key",
+ "LearnMoreButton": "Learn more",
+ "saveAPI": "Save",
+
+ // Body Items
+ // Calendar
+ "days": ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ "months": ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+
+ // Bookmarks
+ "bookmarksHeading": "Bookmarks",
+ "bookmarkViewAs": "View as",
+ "bookmarkViewGrid": "Grid", // Keep this shorter
+ "bookmarkViewList": "List", // Keep this shorter
+ "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Hello! How are you today?",
+ "humidityLevel": "Humidity",
+ "feelsLike": "Feels",
+ "location": "Earth",
+ "enterBtn": "Search",
+ "searchPlaceholder": "Type here...",
+ "listenPlaceholder": "Listening...",
+ "searchWithHint": "Search With",
+ "userText": "Click here to edit",
+
+ // Greeting
+ greeting: {
+ "morning": "Good Morning!",
+ "afternoon": "Good Afternoon!",
+ "evening": "Good Evening!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck", // DuckDuckGo
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Tools",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ "backupText": "Backup",
+ "restoreText": "Restore",
+ "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ "Nobackgroundset": "No background image is currently set.",
+ "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ "failedbackup": "Backup failed: ",
+ "restorecompleted": "Restore completed successfully!",
+ "restorefailed": "Restore failed: ",
+ "invalidBackup": "Invalid backup file",
+ "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/es.js b/dist/locales/es.js
new file mode 100644
index 00000000..597780f8
--- /dev/null
+++ b/dist/locales/es.js
@@ -0,0 +1,138 @@
+// Spanish -> es
+const es = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Comentarios",
+ "resetsettings": "Restablecer configuraciones",
+ "menuCloseText": "Cerrar",
+
+ // Shortcuts
+ "shortcutsText": "Accesos directos",
+ "enableShortcutsText": "Mostrar accesos directos guardados",
+ "editShortcutsText": "Editar accesos directos",
+ "shortcutsInfoText": "Elige qué accesos directos mostrar",
+ "editShortcutsList": "Accesos directos guardados",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Iconos adaptativos",
+ "adaptiveIconInfoText": "Los iconos de accesos directos serán más pequeños",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "Herramientas de IA",
+ "enable_ai_tools": "Mostrar accesos directos de herramientas de IA",
+ "googleAppsMenuText": "Aplicaciones de Google",
+ "googleAppsMenuInfo": "Mostrar accesos directos a las aplicaciones de Google",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Reloj digital",
+ "digitalclockinfo": "Cambiar a reloj digital",
+ "timeformattittle": "Formato de 12 horas",
+ "timeformatinfo": "Usar formato de 12 horas",
+ "greetingtittle": "Saludo",
+ "greetinginfo": "Mostrar saludo debajo del texto personalizado",
+
+ // Misc
+ "userTextTitle": "Texto personalizable",
+ "userTextInfo": "Mostrar texto personalizado debajo del reloj",
+ "fahrenheitCelsiusCheckbox": "Cambiar a Fahrenheit",
+ "fahrenheitCelsiusText": "Recarga la página para aplicar cambios",
+ "micIconTitle": "Ocultar ícono de micrófono",
+ "micIconInfo": "Si la escritura por voz no está funcionando",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Sugerencias de búsqueda",
+ "search_suggestions_text": "Habilitar sugerencias de búsqueda",
+
+ // Proxy
+ "useproxytitletext": "Omisión de proxy",
+ "useproxyText": "Si las sugerencias de búsqueda no funcionan",
+ "ProxyText": "Proxy CORS por defecto",
+ "ProxySubtext": "Añade tu propio proxy CORS",
+ "HostproxyButton": "Aloja tu propio proxy",
+ "saveproxy": "Guardar",
+
+ // Location
+ "UserLocText": "Ingresa tu ubicación",
+ "UserLocSubtext": "Si la ubicación del clima es incorrecta",
+ "userLoc": "Tu ciudad o coordenadas (Latitud, Longitud)",
+ "saveLoc": "Guardar",
+
+ // Weather
+ "WeatherApiText": "Ingresa tu clave de WeatherAPI",
+ "WeatherApiSubtext": "Si la funcionalidad del clima no funciona",
+ "userAPI": "Tu clave de WeatherAPI",
+ "LearnMoreButton": "Más información",
+ "saveAPI": "Guardar",
+
+ // Body Items
+ // Calendar
+ "days": ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
+ "months": ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "¡Hola! ¿Cómo estás hoy?",
+ "humidityLevel": "Humedad",
+ "feelsLike": "Sensación",
+ "location": "Ubicación",
+ "enterBtn": "Buscar",
+ "searchPlaceholder": "Escribe tu búsqueda...",
+ "listenPlaceholder": "Escuchando...",
+ "searchWithHint": "Buscar con",
+ "userText": "Haz clic aquí para editar",
+
+ // Greeting
+ greeting: {
+ "morning": "¡Buenos días!",
+ "afternoon": "¡Buenas tardes!",
+ "evening": "¡Buenas noches!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Herramientas de IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/fr.js b/dist/locales/fr.js
new file mode 100644
index 00000000..d3540e2f
--- /dev/null
+++ b/dist/locales/fr.js
@@ -0,0 +1,140 @@
+// French -> fr
+const fr = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Réinitialiser les paramètres",
+ "menuCloseText": "Fermer",
+
+ // Shortcuts
+ "shortcutsText": "Raccourcis",
+ "enableShortcutsText": "Afficher les raccourcis sauvegardés",
+ "editShortcutsText": "Modifier les raccourcis",
+ "shortcutsInfoText": "Choisir les raccourcis à afficher",
+ "editShortcutsList": "Raccourcis Sauvegardés",
+ 'editShortcutsListInfo': 'Vous pouvez ajouter de nouveaux raccourcis en cliquant sur l\'icône « + » ou modifier les raccourcis existants en cliquant sur le nom ou l\'URL du raccourci.',
+ "adaptiveIconText": "Icônes Adaptatives",
+ "adaptiveIconInfoText": "L'icône du raccourci correspondra à la couleur du thème et apparaîtra plus petite",
+ "bookmarksText": "Favoris",
+ "bookmarksInfo": "Afficher la barre latérale des favoris",
+ "ai_tools_button": "Outils IA",
+ "enable_ai_tools": "Afficher les raccourcis pour les Outils IA",
+ "googleAppsMenuText": "Apps Google",
+ "googleAppsMenuInfo": "Afficher les raccourcis pour les Applications Google",
+ "googleAppsHover": "Apps Google",
+
+ // To-do List
+ "todoListText": "Liste To-Do",
+ "todoListInfo": "Afficher une liste de tâches quotidiennes",
+ "todoListHover": "Liste To-Do",
+ "todoPlaceholder": "Ajouter une tâche...",
+
+ // Digital Clock
+ "digitalclocktittle": "Horloge Numérique",
+ "digitalclockinfo": "Passer à l'horloge numérique",
+ "timeformattittle": "Format 12h",
+ "timeformatinfo": "Utiliser le format 12h",
+ "greetingtittle": "Salutation",
+ "greetinginfo": "Afficher la salutation sous le texte personnalisé",
+
+ // Misc
+ "userTextTitle": "Texte personnalisé",
+ "userTextInfo": "Afficher le texte personnalisé sous l'horloge",
+ "fahrenheitCelsiusCheckbox": "Passer à Fahrenheit",
+ "fahrenheitCelsiusText": "Actualiser la page pour appliquer les changements",
+ "micIconTitle": "Masquer l'Icône du Microphone",
+ "micIconInfo": "Si la saisie vocale ne fonctionne pas",
+ "hideSearchWith": "Masquer les Moteurs de Recherche",
+ "hideSearchWithInfo": "Passez d'un moteur de recherche à l'autre en cliquant sur son icône",
+ "search_suggestions_button": "Suggestions de Recherche",
+ "search_suggestions_text": "Activer les suggestions de recherche",
+
+ // Proxy
+ "useproxytitletext": "Contournement du Proxy",
+ "useproxyText": "Si les suggestions de recherche ne fonctionnent pas",
+ "ProxyText": "Proxy de contournement CORS",
+ "ProxySubtext": "Ajouter votre propre proxy de contournement CORS",
+ "HostproxyButton": "Hébergez votre propre proxy",
+ "saveproxy": "Enregistrer",
+
+ // Location
+ "UserLocText": "Saisissez votre localisation",
+ "UserLocSubtext": "Si la localisation de la météo n'est pas correct",
+ "userLoc": "Votre ville ou vos coordonnées (Latitude, Longitude)",
+ "useGPS": "Utiliser le GPS",
+ "saveLoc": "Enregistrer",
+
+ // Weather
+ "WeatherApiText": "Entrez votre clé WeatherAPI",
+ "WeatherApiSubtext": "Si la fonctionnalité météo ne fonctionne pas",
+ "userAPI": "Your weatherAPI key",
+ "LearnMoreButton": "En savoir plus",
+ "saveAPI": "Enregistrer",
+
+ // Body Items
+ // Calendar
+ "days": ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
+ "months": ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
+
+ // Bookmarks
+ "bookmarksHeading": "Favoris",
+ "bookmarkViewAs": "Afficher en",
+ "bookmarkViewGrid": "Grille",
+ "bookmarkViewList": "Liste",
+ "bookmarkSearch": "Rechercher un favori",
+
+ // New Tab Item
+ "conditionText": "Bonjour, comment allez-vous?",
+ "humidityLevel": "Humidité",
+ "feelsLike": "Ressenti",
+ "location": "Terre",
+ "enterBtn": "Rechercher",
+ "searchPlaceholder": "Saisissez ici...",
+ "listenPlaceholder": "Écoute...",
+ "searchWithHint": "Rechercher avec",
+ "userText": "Cliquez ici pour modifier",
+
+ // Greeting
+ greeting: {
+ "morning": "Bonjour!",
+ "afternoon": "Bonsoir!",
+ "evening": "Bonne nuit!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Outils IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Uploader un fond d'ecran",
+ "backupText": "Sauvegarder",
+ "restoreText": "Restaurer",
+ "rangColor": "Choisir la couleur",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Souhaitez-vous définir une nouvelle image comme fond d'écran pour la journée?",
+ "confirmRestore": "Êtes-vous sûr de vouloir réinitialiser vos paramètres? Cette action ne peut être annulée.",
+ "Nobackgroundset": "Aucune image de fond n'est actuellement définie.",
+ "clearbackgroundimage": "Êtes-vous sûr de vouloir effacer l'image de fond?",
+ "ProxyDisclaimer": "Toutes les fonctions du proxy sont désactivées par défaut.\n\nSi vous activez les suggestions de recherche et le proxy de contournement CORS, il est fortement recommandé d'héberger votre propre proxy pour une meilleure confidentialité.\n\nPar défaut, le proxy sera réglé sur https://mynt-proxy.rhythmcorehq.com, ce qui signifie que toutes vos données passeront par ce service, ce qui peut poser des problèmes de confidentialité.",
+ "failedbackup": "Échec de la sauvegarde: ",
+ "restorecompleted": "Restauration terminée avec succès!",
+ "restorefailed": "Échec de la restauration: ",
+ "invalidBackup": "Fichier de sauvegarde invalide",
+ "deleteBookmark": "Êtes-vous sûr de vouloir supprimer le favori?",
+ "UnsupportedBrowser": "Les favoris ne sont pas supportés dans votre navigateur.",
+ "BookmarksDenied": "L'autorisation pour les favoris n'a pas été accordée."
+};
diff --git a/dist/locales/hi.js b/dist/locales/hi.js
new file mode 100644
index 00000000..a01ce550
--- /dev/null
+++ b/dist/locales/hi.js
@@ -0,0 +1,141 @@
+// Hindi
+const hi = {
+ // Menu Items
+ "github": "गिटहब",
+ "feedback": "प्रतिक्रिया",
+ "resetsettings": "सेटिंग्स रीसेट करें",
+ "menuCloseText": "बंद करें",
+
+ // Shortcuts
+ "shortcutsText": "शॉर्टकट्स",
+ "enableShortcutsText": "सहेजे गए शॉर्टकट प्रदर्शित करें",
+ "editShortcutsText": "शॉर्टकट्स संपादित करें",
+ "shortcutsInfoText": "निर्धारित करें कि कौन से शॉर्टकट दिखेंगे",
+ "editShortcutsList": "सहेजे गए शॉर्टकट",
+ "editShortcutsListInfo": "आप \"+\" आइकन पर क्लिक करके नए शॉर्टकट्स जोड़ सकते हैं या शॉर्टकट के नाम या URL पर क्लिक करके मौजूदा शॉर्टकट्स को संपादित कर सकते हैं।",
+ "adaptiveIconText": "अनुकूलनीय आइकन",
+ "adaptiveIconInfoText": "शॉर्टकट आइकन थीम रंग से मेल खाते हुए छोटे आकार में दिखेंगे",
+ "bookmarksText": "बुकमार्क्स",
+ "bookmarksInfo": "बुकमार्क्स साइडबार दिखाएँ",
+ "ai_tools_button": "AI-उपकरण",
+ "enable_ai_tools": "AI उपकरणों के शॉर्टकट्स प्रदर्शित करें",
+ "googleAppsMenuText": "गूगल ऐप्स",
+ "googleAppsMenuInfo": "गूगल ऐप्स के शॉर्टकट्स प्रदर्शित करें",
+ "googleAppsHover": "गूगल ऐप्स",
+
+ // To-do List
+ "todoListText": "कार्य सूची",
+ "todoListInfo": "दैनिक कार्यों की सूची देखें",
+ "todoListHover": "कार्य सूची",
+ "todoPlaceholder": "कार्य जोड़ें...",
+
+ // Digital Clock
+ "digitalclocktittle": "डिजिटल घड़ी",
+ "digitalclockinfo": "डिजिटल घड़ी पर स्विच करें",
+ "timeformattittle": "12 घंटे का प्रारूप",
+ "timeformatinfo": "12 घंटे का समय प्रारूप उपयोग करें",
+ "greetingtittle": "अभिवादन",
+ "greetinginfo": "कस्टम टेक्स्ट के नीचे अभिवादन दिखाएँ",
+
+ // Misc
+ "userTextTitle": "कस्टमाइज़ेबल टेक्स्ट",
+ "userTextInfo": "घड़ी के नीचे कस्टम टेक्स्ट दिखाएँ",
+ "fahrenheitCelsiusCheckbox": "तापमान फ़ारेनहाइट में बदलें",
+ "fahrenheitCelsiusText": "बदलाव के लिए पृष्ठ को रीफ्रेश करें",
+ "micIconTitle": "माइक्रोफोन आइकन छिपाएँ",
+ "micIconInfo": "अगर वॉइस टाइपिंग काम नहीं कर रहा है",
+ "hideSearchWith": "सर्च इंजन छिपाएं",
+ "hideSearchWithInfo": "आइकन पर क्लिक करके सर्च इंजन बदलें",
+ "search_suggestions_button": "खोज सुझाव",
+ "search_suggestions_text": "खोज सुझाव सक्षम करें",
+
+ // Proxy
+ "useproxytitletext": "प्रॉक्सी बायपास",
+ "useproxyText": "यदि खोज सुझाव काम नहीं कर रहे हैं",
+ "ProxyText": "CORS बायपास प्रॉक्सी",
+ "ProxySubtext": "अपना CORS बायपास प्रॉक्सी जोड़ें",
+ "HostproxyButton": "अपना प्रॉक्सी संचालित करें",
+ "saveproxy": "सहेजें",
+
+ // Location
+ "UserLocText": "अपना स्थान दर्ज करें",
+ "UserLocSubtext": "यदि मौसम का स्थान सही नहीं है",
+ "userLoc": "आपका शहर या निर्देशांक (अक्षांश, देशांतर)",
+ "useGPS": "GPS का उपयोग करें",
+ "saveLoc": "सहेजें",
+
+ // Weather
+ "WeatherApiText": "अपनी WeatherAPI कुंजी दर्ज करें",
+ "WeatherApiSubtext": "यदि मौसम की सुविधा काम नहीं कर रही है",
+ "userAPI": "आपकी WeatherAPI कुंजी",
+ "LearnMoreButton": "और जानें",
+ "saveAPI": "सहेजें",
+
+ // Body Items
+ // Calendar
+ "days": ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], // Truncated for display
+ // "days": ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], // Full
+ "months": ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवंबर', 'दिसंबर'],
+ // "months": ['जन', 'फर', 'मार्च', 'अप्र', 'मई', 'जून', 'जुला', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'], // Truncated
+
+ // Bookmarks
+ "bookmarksHeading": "बुकमार्क्स",
+ "bookmarkViewAs": "इस रूप में देखें",
+ "bookmarkViewGrid": "ग्रिड",
+ "bookmarkViewList": "लिस्ट",
+ "bookmarkSearch": "बुकमार्क खोजें",
+
+ // New Tab Item
+ "conditionText": "नमस्ते! आप आज कैसे हैं?",
+ "humidityLevel": "नमी",
+ "feelsLike": "महसूस",
+ "location": "पृथ्वी",
+ "enterBtn": "सर्च करें",
+ "searchPlaceholder": "यहाँ लिखें...",
+ "listenPlaceholder": "सुन रहे हैं...",
+ "searchWithHint": "खोज माध्यम",
+ "userText": "यहाँ अपना टेक्स्ट लिखें",
+
+ // Greeting
+ greeting: {
+ "morning": "सुप्रभात!",
+ "afternoon": "शुभ अपराह्न!",
+ "evening": "शुभ संध्या!"
+ },
+
+ // Search Engines
+ "googleEngine": "गूगल",
+ "duckEngine": "डकडकगो",
+ "bingEngine": "बिंग",
+ "braveEngine": "ब्रेव",
+ "youtubeEngine": "यूट्यूब",
+
+ // AI Tools
+ "ai_tools": "AI उपकरण",
+ "chatGPT": "चैटGPT",
+ "gemini": "जेमिनी",
+ "copilot": "कोपायलट",
+ "claude": "क्लॉड",
+ "perplexity": "पर्प्लेक्सिटी",
+ "firefly": "एडोबी फायरफ्लाई",
+ "metaAI": "मेटा AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "वॉलपेपर सेट करें",
+ "backupText": "बैकअप करें",
+ "restoreText": "रिस्टोर करें",
+ "rangColor": "रंग चुनें",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "क्या आप आज के लिए एक नई छवि को वॉलपेपर के रूप में सेट करना चाहेंगे?",
+ "confirmRestore": "क्या आप अपनी सेटिंग्स रीसेट करना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
+ "Nobackgroundset": "कोई बैकग्राउंड छवि वर्तमान में सेट नहीं है।",
+ "clearbackgroundimage": "क्या आप बैकग्राउंड छवि को हटाना चाहते हैं?",
+ "ProxyDisclaimer": "सभी प्रॉक्सी फीचर डिफ़ॉल्ट रूप से बंद रहते हैं।\n\nयदि आप खोज सुझाव और CORS बायपास प्रॉक्सी सक्षम करते हैं, तो गोपनीयता बढ़ाने के लिए अपना प्रॉक्सी होस्ट करना अत्यधिक अनुशंसित है।\n\nडिफ़ॉल्ट रूप से प्रॉक्सी को https://mynt-proxy.rhythmcorehq.com पर सेट किया जाएगा, जिसका अर्थ है कि आपका सारा डेटा इस सेवा से गुजरेगा, जिससे गोपनीयता संबंधित चिंताएँ हो सकती हैं।",
+ "failedbackup": "बैकअप विफल: ",
+ "restorecompleted": "पुनर्स्थापना सफलतापूर्वक पूरी हुई!",
+ "restorefailed": "पुनर्स्थापना विफल: ",
+ "invalidBackup": "अमान्य बैकअप फ़ाइल",
+ "deleteBookmark": "क्या आप बुकमार्क डिलीट करना चाहते हैं?",
+ "UnsupportedBrowser": "आपके ब्राउज़र में बुकमार्क समर्थित नहीं हैं",
+};
diff --git a/dist/locales/hu.js b/dist/locales/hu.js
new file mode 100644
index 00000000..65dcef2f
--- /dev/null
+++ b/dist/locales/hu.js
@@ -0,0 +1,140 @@
+// Hungarian
+const hu = {
+ // Menu Items
+ "feedback": "Visszajelzés",
+ "resetsettings": "Beállítások visszaállítása",
+ "menuCloseText": "Bezárás",
+
+ // Shortcuts
+ "shortcutsText": "Parancsikonok",
+ "enableShortcutsText": "Parancsikonok megjelenítése",
+ "editShortcutsText": "Parancsikonok szerkesztése",
+ "shortcutsInfoText": "Válassza ki a parancsikonokat, amelyeket meg szeretné jeleníteni a kezdőképernyőn",
+ "editShortcutsList": "Elmentett parancsikonok",
+ "editShortcutsListInfo": "Új parancsikonokat adhatsz hozzá a \"+\" ikonra kattintva, vagy szerkesztheted a meglévőket a parancsikon nevére vagy URL címére kattintva.",
+ "adaptiveIconText": "Alkalmazkodó ikonformák",
+ "adaptiveIconInfoText": "Parancsikonok kisebbnek fognak tűnni",
+ "bookmarksText": "Könyvjelzők",
+ "bookmarksInfo": "Könyvjelzők oldalsáv megjelenítése",
+ "ai_tools_button": "MI-Eszközök",
+ "enable_ai_tools": "Parancsikon az MI-eszközökhöz",
+ "googleAppsMenuText": "Google Alkalmazások",
+ "googleAppsMenuInfo": "Parancsikonok a Google alkalmazásaihoz",
+ "googleAppsHover": "Google Appok",
+
+ // To-do List
+ "todoListText": "Teendő lista",
+ "todoListInfo": "Napi teendők lista megjelenítése",
+ "todoListHover": "Teendő lista",
+ "todoPlaceholder": "Feladat hozzáadása...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digitális óra",
+ "digitalclockinfo": "Váltás a digitális órára",
+ "timeformattittle": "12 órás formátum",
+ "timeformatinfo": "12 órás időformátum használata",
+ "greetingtittle": "Üdvözlés",
+ "greetinginfo": "Üdvözlet megjelenítése az egyéni szöveg alatt",
+
+ // Misc
+ "userTextTitle": "Testreszabható szöveg",
+ "userTextInfo": "Egyéni szöveg megjelenítése az óra alatt",
+ "fahrenheitCelsiusCheckbox": "Fahrenheit használata",
+ "fahrenheitCelsiusText": "Frissítsd az oldalt a módosítások alkalmazásához",
+ "micIconTitle": "Mikrofon ikon elrejtése",
+ "micIconInfo": "Ha a hangalapú gépelés nem működik",
+ "hideSearchWith": "Keresőmotorok elrejtése",
+ "hideSearchWithInfo": "Váltás a keresőmotorok között az ikonra kattintva",
+ "search_suggestions_button": "Keresési javaslatok",
+ "search_suggestions_text": "Keresési javaslatok bekapcsolása",
+
+ // Proxy
+ "useproxytitletext": "Proxy megkerülése",
+ "useproxyText": "Ha a keresési javaslatok nem működnek",
+ "ProxyText": "CORS megkerülő proxy",
+ "ProxySubtext": "Saját CORS megkerülő proxy hozzáadása",
+ "HostproxyButton": "Saját proxy üzemeltetése",
+ "saveproxy": "Mentés",
+
+ // Location
+ "UserLocText": "Add meg a tartózkodási helyed",
+ "UserLocSubtext": "Ha az időjárás helye nem megfelelő",
+ "userLoc": "A városod vagy koordinátáid (földrajzi szélesség, hosszúság)",
+ "saveLoc": "Mentés",
+
+ // Weather
+ "WeatherApiText": "Add meg a WeatherAPI kulcsodat",
+ "WeatherApiSubtext": "Ha az időjárási funkciók nem működnek",
+ "userAPI": "A weatherAPI kulcsod",
+ "LearnMoreButton": "További információk",
+ "saveAPI": "Mentés",
+
+ // Body Items
+ // Calendar
+ "days": ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
+ "months": ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
+
+ // Weather
+ "humidityLevel": "Páratartalom",
+ "feelsLike": "Érzés",
+ "location": "Föld",
+
+ // Bookmarks
+ "bookmarksHeading": "Könyvjelzők",
+ "bookmarkViewAs": "Megjelenítés mint",
+ "bookmarkViewGrid": "Rács",
+ "bookmarkViewList": "Lista",
+ "bookmarkSearch": "Könyvjező keresése",
+
+ // New Tab Item
+ "conditionText": "Szia! Hogy vagy ma?",
+ "enterBtn": "Keresés",
+ "searchPlaceholder": "Írj ide...",
+ "listenPlaceholder": "Hallgatlak...",
+ "searchWithHint": "Keresés a következővel",
+ "userText": "Kattints ide a szerkesztéshez",
+
+ // Greeting
+ greeting: {
+ "morning": "Jó reggelt!",
+ "afternoon": "Jó napot!",
+ "evening": "Jó estét!"
+ },
+
+ // Search Engines and rest
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "MI Eszközök",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+ "github": "GitHub",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Háttérkép feltöltése",
+ "backupText": "Mentés",
+ "restoreText": "Visszaállítás",
+ "rangColor": "Szín kiválasztása",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Szeretnél egy újabb képet beállítani a napi háttérképednek?",
+ "confirmRestore": "Biztos, hogy vissza akarja állítani a beállításokat? Ezt a műveletet nem lehet visszacsinálni.",
+ "Nobackgroundset": "Jelenleg nincs beállítva háttérkép.",
+ "clearbackgroundimage": "Biztos, hogy törölni szeretnéd a háttérképet?",
+ "ProxyDisclaimer": "Alapértelmezés szerint minden proxy funkció ki van kapcsolva.\n\nHa engedélyezed a keresési javaslatokat és a CORS megkerülő proxy-t, erősen ajánlott saját proxy-t üzemeltetni a fokozott adatvédelem érdekében.\n\n\nA proxy alapértelmezés szerint a https://mynt-proxy.rhythmcorehq.com beállítással működik, ami azt jelenti, hogy minden adat ezen a szolgáltatáson keresztül fog menni, ami adatvédelmi aggályokat vethet fel.",
+ "failedbackup": "Sikertelen mentés: ",
+ "restorecompleted": "A visszaállítás sikeresen befejeződött!",
+ "restorefailed": "Sikertelen visszaállítás: ",
+ "invalidBackup": "Érvénytelen mentési fájl",
+ "deleteBookmark": "Biztos, hogy törölni szeretnéd a könyvjelzőt?",
+ "UnsupportedBrowser": "A könyvjelzők nem támogatottak a böngészőben",
+};
diff --git a/dist/locales/idn.js b/dist/locales/idn.js
new file mode 100644
index 00000000..00e6d252
--- /dev/null
+++ b/dist/locales/idn.js
@@ -0,0 +1,138 @@
+// Indonesian -> idn
+const idn = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Umpan Balik",
+ "resetsettings": "Setelan Awal",
+ "menuCloseText": "Tutup",
+
+ // Shortcuts
+ "shortcutsText": "Pintasan",
+ "enableShortcutsText": "Menampilkan Pintasan",
+ "editShortcutsText": "Ubah Pintasan",
+ "shortcutsInfoText": "Pilih pintasan apa yang akan ditampilkan",
+ "editShortcutsList": "Pintasan Tersimpan",
+ 'editShortcutsListInfo': 'Anda dapat menambahkan pintasan baru dengan mengeklik ikon "+" atau mengedit pintasan yang sudah ada dengan mengeklik nama pintasan atau URL',
+ "adaptiveIconText": "Penyesuaian Bentuk Ikon",
+ "adaptiveIconInfoText": "Ikon pintasan akan terlihat lebih kecil",
+ "bookmarksText": "Markah Buku",
+ "bookmarksInfo": "Tampilkan sisi markah buku",
+ "ai_tools_button": "Utilitas AI",
+ "enable_ai_tools": "Tampilkan pintasan untuk utilitas AI",
+ "googleAppsMenuText": "Google Apps",
+ "googleAppsMenuInfo": "Tampilkan pintasan untuk Google Apps",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ "todoListText": "To-Do List",
+ "todoListInfo": "Tampilkan To-Do list harian",
+ "todoListHover": "To-Do List",
+ "todoPlaceholder": "Tambah tugas...",
+
+ // Digital Clock
+ "digitalclocktittle": "Jam Digital",
+ "digitalclockinfo": "Ubah menjadi jam digital",
+ "timeformattittle": "Format 12-Jam",
+ "timeformatinfo": "Menggunakan format 12-jam",
+ "greetingtittle": "Sapaan",
+ "greetinginfo": "Tampilkan sapaan di bawah teks kustom",
+
+ // Misc
+ "userTextTitle": "Teks Kostumisasi",
+ "userTextInfo": "Tampilkan teks kustom di bawah jam",
+ "fahrenheitCelsiusCheckbox": "Ubah menjadi Fahrenheit",
+ "fahrenheitCelsiusText": "Muat ulang halaman untuk mengaplikasikan perubahan",
+ "micIconTitle": "Sembunyikan Ikon Microfon",
+ "micIconInfo": "Jika voice typing tidak berfungsi",
+ "hideSearchWith": "Sembunyikan Mesin Pencarian",
+ "hideSearchWithInfo": "Ubah mesin pencarian dengan cara mengeklik ikon",
+ "search_suggestions_button": "Saran Pencarian",
+ "search_suggestions_text": "Mengaktifkan saran pencarian",
+
+ // Proxy
+ "useproxytitletext": "Pemintas Proksi",
+ "useproxyText": "Jika saran pencarian tidak berfungsi",
+ "ProxyText": "Pemintas proksi CORS",
+ "ProxySubtext": "Tambahkan pemintas proksi CORS anda sendiri",
+ "HostproxyButton": "Host proksi anda sendiri",
+ "saveproxy": "Simpan",
+
+ // Location
+ "UserLocText": "Masukkan Lokasi Anda",
+ "UserLocSubtext": "Jika lokasi cuaca tidak berfungsi",
+ "userLoc": "Kota atau Koordinat anda (Lintang, Bujur)",
+ "saveLoc": "Simpan",
+
+ // Weather
+ "WeatherApiText": "Masukkan kunci WeatherAPI anda",
+ "WeatherApiSubtext": "Jika fungsionalitas cuaca tidak berfungsi",
+ "userAPI": "Kunci weatherAPI anda",
+ "LearnMoreButton": "Pelajari lebih lanjut",
+ "saveAPI": "Simpan",
+
+ // Body Items
+ // Calendar
+ "days": ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'],
+ "months": ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'],
+
+ // Bookmarks
+ "bookmarksHeading": "Markah Buku",
+ "bookmarkViewAs": "Lihat sebagai",
+ "bookmarkViewGrid": "Kisi-kisi",
+ "bookmarkViewList": "Daftar",
+ "bookmarkSearch": "Cari markah buku",
+
+ // New Tab Item
+ "conditionText": "Halo! Bagaimana kabarmu hari ini?",
+ "humidityLevel": "Kelembapan",
+ "feelsLike": "Terasa",
+ "location": "Bumi",
+ "enterBtn": "Telusuri",
+ "searchPlaceholder": "Ketik disini...",
+ "listenPlaceholder": "Mendengarkan...",
+ "searchWithHint": "Cari Dengan",
+ "userText": "Klik disini untuk mengubah tulisan",
+
+ // Greeting
+ greeting: {
+ "morning": "Selamat Pagi!",
+ "afternoon": "Selamat Sore!",
+ "evening": "Selamat Malam!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Utilitas AI",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Unggah Wallpaper",
+ "backupText": "Cadangkan",
+ "restoreText": "Pulihkan",
+ "rangColor": "Pilih warna",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Apakah anda ingin memasang gambar baru sebagai wallpaper harian anda?",
+ "confirmRestore": "Apakah anda yakin ingin mengatur ulang setelan anda? Tindakan ini tidak dapat dibatalkan.",
+ "Nobackgroundset": "Tidak ada gambar latar belakang yang dipasang saat ini.",
+ "clearbackgroundimage": "Apakah anda yakin ingin menghapus gambar latar belakang?",
+ "ProxyDisclaimer": "Semua fitur proxy dimatikan secara default.\n\nJika anda mengaktifkan saran pencarian dan proxy bypass CORS, sangat disarankan untuk meng-host proxy anda sendiri untuk privasi yang lebih baik.\n\nSecara default, proxy akan diatur ke https://mynt-proxy.rhythmcorehq.com, yang berarti semua data anda akan melewati layanan ini, yang mungkin saja dapat menimbulkan kekhawatiran privasi.",
+ "failedbackup": "Pencadangan gagal: ",
+ "restorecompleted": "Pemulihan berhasil dengan sukses!",
+ "restorefailed": "Pemulihan gagal: ",
+ "invalidBackup": "File cadangan tidak valid",
+ "deleteBookmark": "Apakah anda yakin untuk menghapus markah buku?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/it.js b/dist/locales/it.js
new file mode 100644
index 00000000..cbe9e305
--- /dev/null
+++ b/dist/locales/it.js
@@ -0,0 +1,140 @@
+// Italian
+const it = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Reimposta Impostazioni",
+ "menuCloseText": "Chiudi",
+
+ // Shortcuts
+ "shortcutsText": "Scorciatoie",
+ "enableShortcutsText": "Abilita/disabilita scorciatoie",
+ "editShortcutsText": "Modifica Scorciatoie",
+ "shortcutsInfoText": "Scegli quali scorciatoie mostrare",
+ "editShortcutsList": "Scorciatoie Salvate",
+ "editShortcutsListInfo": "Puoi aggiungere nuove scorciatoie cliccando l'icona \"+\" o modificiare le esistenti cliccando il nome della scorciatoia o dell'URL.",
+ "adaptiveIconText": "Forme di Icona Adattiva",
+ "adaptiveIconInfoText": "Le icone delle scorciatoie saranno sempre rotonde",
+ "bookmarksText": "Segnalibri",
+ "bookmarksInfo": "Mostra segnalibri sulla barra laterale",
+ "ai_tools_button": "Strumenti IA",
+ "enable_ai_tools": "Abilita/disabilita scorciatoie Strumenti IA",
+ "googleAppsMenuText": "App Google",
+ "googleAppsMenuInfo": "Mostra collegamenti App Google",
+ "googleAppsHover": "App di Google", // Keep this shorter
+
+ // To-do List
+ "todoListText": "Lista cose da fare",
+ "todoListInfo": "Mostra una lista di cose da fare giornaliera",
+ "todoListHover": "Lista ToDo", // Keep this short
+ "todoPlaceholder": "Aggiungi attività...",
+
+ // Digital Clock
+ "digitalclocktittle": "Orologio Digitale",
+ "digitalclockinfo": "Abilita/disabilita Orologio Digitale",
+ "timeformattittle": "Usa formato 12h",
+ "timeformatinfo": "Usa formato orario a 12 ore",
+ "greetingtittle": "Saluto",
+ "greetinginfo": "Mostra il saluto sotto il testo personalizzato",
+
+ // Misc
+ "userTextTitle": "Testo personalizzabile",
+ "userTextInfo": "Mostra il testo personalizzato sotto l'orologio",
+ "fahrenheitCelsiusCheckbox": "Passa a Fahrenheit",
+ "fahrenheitCelsiusText": "Ricarica la pagina per vedere gli aggiornamenti",
+ "micIconTitle": "Nascondi icona del microfono",
+ "micIconInfo": "Se la digitazione vocale non funziona",
+ "hideSearchWith": "Nascondi motori di ricerca",
+ "hideSearchWithInfo": "Scegli tra i motori di ricerca cliccando l'icona",
+ "search_suggestions_button": "Suggerimenti di Ricerca",
+ "search_suggestions_text": "Abilita/disabilita Suggerimenti di Ricerca",
+
+ // Proxy
+ "useproxytitletext": "Bypass Proxy",
+ "useproxyText": "Se i suggerimenti di ricerca non funzionano",
+ "ProxyText": "Proxy di Bypass CORS",
+ "ProxySubtext": "Aggiungi il tuo Proxy di Bypass CORS",
+ "HostproxyButton": "Hosta il Tuo Proxy",
+ "saveproxy": "Salva",
+
+ // Location
+ "UserLocText": "Inserisci la tua posizione",
+ "UserLocSubtext": "Se la posizione meteo non è corretta",
+ "userLoc": "La tua posizione (Città/Latitudine,Longitudine)",
+ "useGPS": "Usa il GPS",
+ "saveLoc": "Salva",
+
+ // Weather
+ "WeatherApiText": "Inserisci la tua chiave WeatherAPI",
+ "WeatherApiSubtext": "Se la funzionalità meteo non funziona",
+ "userAPI": "La tua chiave WeatherAPI",
+ "LearnMoreButton": "Scopri di più",
+ "saveAPI": "Salva",
+
+ // Body Items
+ // Calendar
+ "days": ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
+ "months": ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
+
+ // Bookmarks
+ "bookmarkHeading": "Segnalibri",
+ "bookmarkViewAs": "Visualizza come",
+ "bookmarkViewGrid": "Griglia", // Keep this shorter
+ "bookmarkViewList": "Elenco", // Keep this shorter
+ "bookmarkSearch": "Cerca segnalibro",
+
+ // New Tab Item
+ "conditionText": "Ciao! Come stai oggi?",
+ "humidityLevel": "Umidità",
+ "feelsLike": "Percepito",
+ "location": "Terra",
+ "enterBtn": "Cerca",
+ "searchPlaceholder": "Cerca...",
+ "listenPlaceholder": "Ascoltando...",
+ "searchWithHint": "Cerca con",
+ "userText": "Clicca qui per modificare",
+
+ // Greeting
+ greeting: {
+ "morning": "Buongiorno!",
+ "afternoon": "Buon pomeriggio!",
+ "evening": "Buona sera!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Strumenti IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Carica immagine",
+ "backupText": "Backup",
+ "restoreText": "Ripristina",
+ "rangColor": "Scegli colore",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Vuoi impostare una nuova immagine come sfondo per oggi?",
+ "confirmRestore": "Sei sicuro di voler reimpostare le impostazioni? Questa azione non può essere annullata.",
+ "Nobackgroundset": "Nessuna immagine di sfondo è attualmente impostata.",
+ "clearbackgroundimage": "Sei sicuro di voler rimuovere l'immagine di sfondo?",
+ "ProxyDisclaimer": "Tutte le funzionalità del proxy sono disattivate di default.\n\nSe abiliti i suggerimenti di ricerca e il proxy per il bypass CORS, è fortemente consigliato usare un proprio proxy per una maggiore privacy.\n\nIl proxy predefinito sarà configurato su https://mynt-proxy.rhythmcorehq.com, il che significa che tutti i tuoi dati passeranno attraverso questo servizio, con possibili rischi per la privacy.",
+ "failedbackup": "Backup fallito: ",
+ "restorecompleted": "Ripristino completato con successo!",
+ "restorefailed": "Ripristino fallito: ",
+ "invalidBackup": "File di backup non valido",
+ "deleteBookmark": "Sei sicuro di voler eliminare il segnalibro?",
+ "UnsupportedBrowser": "I segnalibri non sono supportati nel tuo browser",
+ "BookmarksDenied": "Il permesso per i segnalibri non è stato concesso.",
+};
diff --git a/dist/locales/ja.js b/dist/locales/ja.js
new file mode 100644
index 00000000..936c851e
--- /dev/null
+++ b/dist/locales/ja.js
@@ -0,0 +1,137 @@
+// Japanese -> ja
+const ja = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "フィードバック",
+ "resetsettings": "設定をリセット",
+ "menuCloseText": "閉じる",
+
+ // Shortcuts
+ "shortcutsText": "ショートカット",
+ "enableShortcutsText": "保存されたショートカットを表示",
+ "editShortcutsText": "ショートカットを編集",
+ "shortcutsInfoText": "表示するショートカットを選択",
+ "editShortcutsList": "保存されたショートカット",
+ "editShortcutsListInfo": "\"+\" アイコンをクリックして新しいショートカットを追加したり、ショートカット名またはURLをクリックして既存のショートカットを編集したりできます",
+ "adaptiveIconText": "アダプティブアイコン",
+ "adaptiveIconInfoText": "ショートカットアイコンは小さく表示されます",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AIツール",
+ "enable_ai_tools": "AIツールのショートカットを表示",
+ "googleAppsMenuText": "Googleアプリ",
+ "googleAppsMenuInfo": "Googleアプリのショートカットを表示",
+ "googleAppsHover": "Googleアプリ",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "デジタル時計",
+ "digitalclockinfo": "デジタル時計に変更",
+ "timeformattittle": "12時間形式",
+ "timeformatinfo": "12時間形式を使用",
+ "greetingtittle": "あいさつ",
+ "greetinginfo": "カスタムテキストの下にあいさつを表示",
+
+ // Misc
+ "userTextTitle": "カスタムテキスト",
+ "userTextInfo": "時計の下にカスタムテキストを表示",
+ "fahrenheitCelsiusCheckbox": "華氏に変更",
+ "fahrenheitCelsiusText": "変更を適用するにはページを再読み込み",
+ "micIconTitle": "マイクアイコンを非表示",
+ "micIconInfo": "音声入力が動作しない場合",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "検索候補",
+ "search_suggestions_text": "検索候補を有効にする",
+
+ // Proxy
+ "useproxytitletext": "プロキシ使用",
+ "useproxyText": "検索候補が機能しない場合",
+ "ProxyText": "デフォルトCORSプロキシ",
+ "ProxySubtext": "独自のCORSプロキシを追加",
+ "HostproxyButton": "独自のプロキシをホスト",
+ "saveproxy": "保存",
+
+ // Location
+ "UserLocText": "場所を入力",
+ "UserLocSubtext": "天気の地域が正しくない場合",
+ "userLoc": "都市または座標(緯度、経度)",
+ "saveLoc": "保存",
+
+ // Weather
+ "WeatherApiText": "WeatherAPIキーを入力",
+ "WeatherApiSubtext": "天気機能が動作しない場合",
+ "userAPI": "WeatherAPIキー",
+ "LearnMoreButton": "詳細情報",
+ "saveAPI": "保存",
+
+ // Body Items
+ // Calendar
+ "days": ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
+ "months": ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewAsGrid": "Grid", // Keep this shorter
+ // "bookmarkViewAsList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "こんにちは!本日の調子はいかがですか?",
+ "humidityLevel": "湿度",
+ "feelsLike": "体感温度",
+ "location": "場所",
+ "enterBtn": "検索",
+ "searchPlaceholder": "検索キーワードを入力...",
+ "listenPlaceholder": "聴き取り中...",
+ "searchWithHint": "次で検索",
+ "userText": "ここをクリックして編集",
+
+ // Greeting
+ greeting: {
+ "morning": "おはようございます!",
+ "afternoon": "こんにちは!",
+ "evening": "こんばんは!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AIツール",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ // "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/ko.js b/dist/locales/ko.js
new file mode 100644
index 00000000..463986b7
--- /dev/null
+++ b/dist/locales/ko.js
@@ -0,0 +1,137 @@
+// Korean -> ko
+const ko = {
+ // Menu Items
+ "github": "깃허브",
+ "feedback": "피드백",
+ "resetsettings": "설정 초기화",
+ "menuCloseText": "닫기",
+
+ // Shortcuts
+ "shortcutsText": "단축키",
+ "enableShortcutsText": "저장된 단축키 표시",
+ "editShortcutsText": "단축키 편집",
+ "shortcutsInfoText": "표시할 단축키 선택",
+ "editShortcutsList": "저장된 단축키",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing shortcuts by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "적응형 아이콘 모양",
+ "adaptiveIconInfoText": "단축 아이콘이 더 작게 표시됩니다",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI 도구",
+ "enable_ai_tools": "AI 도구 단축키 표시",
+ "googleAppsMenuText": "Google 앱",
+ "googleAppsMenuInfo": "Google 앱 바로가기 표시",
+ "googleAppsHover": "구글 앱",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "디지털 시계",
+ "digitalclockinfo": "디지털 시계로 전환",
+ "timeformattittle": "12시간 형식",
+ "timeformatinfo": "12시간 형식 사용",
+ "greetingtittle": "인사말",
+ "greetinginfo": "사용자 정의 텍스트 아래에 인사말 표시",
+
+ // Misc
+ "userTextTitle": "사용자 정의 텍스트",
+ "userTextInfo": "시계 아래에 사용자 정의 텍스트 표시",
+ "fahrenheitCelsiusCheckbox": "화씨로 전환",
+ "fahrenheitCelsiusText": "변경 사항을 적용하려면 페이지를 새로 고침하십시오",
+ "micIconTitle": "마이크 아이콘 숨기기",
+ "micIconInfo": "음성 입력이 작동하지 않으면",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "검색 제안",
+ "search_suggestions_text": "검색 제안 활성화",
+
+ // Proxy
+ "useproxytitletext": "프록시 우회",
+ "useproxyText": "검색 제안이 작동하지 않으면",
+ "ProxyText": "CORS 우회 프록시",
+ "ProxySubtext": "자신의 CORS 우회 프록시 추가",
+ "HostproxyButton": "자신의 프록시 호스팅",
+ "saveproxy": "저장",
+
+ // Location
+ "UserLocText": "위치 입력",
+ "UserLocSubtext": "날씨 위치가 정확하지 않으면",
+ "userLoc": "당신의 도시 또는 좌표 (위도, 경도)",
+ "saveLoc": "저장",
+
+ // Weather
+ "WeatherApiText": "WeatherAPI 키 입력",
+ "WeatherApiSubtext": "날씨 기능이 작동하지 않으면",
+ "userAPI": "당신의 WeatherAPI 키",
+ "LearnMoreButton": "자세히 알아보기",
+ "saveAPI": "저장",
+
+ // Body Items
+ // Calendar
+ "days": ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
+ "months": ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "안녕하세요! 오늘 기분은 어떠세요?",
+ "humidityLevel": "습도",
+ "feelsLike": "체감",
+ "location": "지구",
+ "enterBtn": "검색",
+ "searchPlaceholder": "검색어를 입력하세요...",
+ "listenPlaceholder": "듣고 있습니다...",
+ "searchWithHint": "검색 방법",
+ "userText": "편집하려면 클릭하세요",
+
+ // Greeting
+ greeting: {
+ "morning": "좋은 아침!",
+ "afternoon": "좋은 오후!",
+ "evening": "좋은 저녁!"
+ },
+
+ // Search Engines
+ "googleEngine": "구글",
+ "duckEngine": "덕덕고",
+ "bingEngine": "빙",
+ "braveEngine": "브레이브",
+ "youtubeEngine": "유튜브",
+
+ // AI Tools
+ "ai_tools": "AI 도구",
+ "chatGPT": "챗GPT",
+ "gemini": "제미니",
+ "copilot": "코파일럿",
+ "perplexity": "퍼플렉시티",
+ "firefly": "어도비 파이어플라이",
+ // "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/mr.js b/dist/locales/mr.js
new file mode 100644
index 00000000..ed3eaf90
--- /dev/null
+++ b/dist/locales/mr.js
@@ -0,0 +1,139 @@
+// Marathi
+const mr = {
+ // Menu Items
+ "github": "गिटहब",
+ "feedback": "प्रतिसाद",
+ "resetsettings": "सेटिंग्ज रीसेट करा",
+ "menuCloseText": "बंद करा",
+
+ // Shortcuts
+ "shortcutsText": "शॉर्टकट्स",
+ "enableShortcutsText": "जतन केलेले शॉर्टकट दाखवा",
+ "editShortcutsText": "शॉर्टकट्स संपादित करा",
+ "shortcutsInfoText": "कोणते शॉर्टकट दाखवायचे ते निवडा",
+ "editShortcutsList": "जतन केलेले शॉर्टकट्स",
+ 'editShortcutsListInfo': 'आपण "+" आयकॉनवर क्लिक करून नवीन शॉर्टकट्स जोडू शकता किंवा शॉर्टकटच्या नावावर किंवा URL वर क्लिक करून विद्यमान शॉर्टकट्स संपादित करू शकता.',
+ "adaptiveIconText": "अनुकूल आयकॉन आकार",
+ "adaptiveIconInfoText": "शॉर्टकट आयकॉन छोटे दिसतील",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI साधने",
+ "enable_ai_tools": "AI साधनांसाठी शॉर्टकट्स दाखवा",
+ "googleAppsMenuText": "गुगल ॲप्स",
+ "googleAppsMenuInfo": "गुगल ॲप्ससाठी शॉर्टकट्स दाखवा",
+ "googleAppsHover": "गुगल ॲप्स",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "डिजिटल घड्याळ",
+ "digitalclockinfo": "डिजिटल घड्याळावर स्विच करा",
+ "timeformattittle": "१२-तासांचा फॉरमॅट",
+ "timeformatinfo": "१२-तासांचा वेळ फॉरमॅट वापरा",
+ "greetingtittle": "शुभेच्छा",
+ "greetinginfo": "सानुकूल मजकुराखाली शुभेच्छा दाखवा",
+
+ // Misc
+ "userTextTitle": "सानुकूल मजकूर",
+ "userTextInfo": "घड्याळाखाली सानुकूल मजकूर दाखवा",
+ "fahrenheitCelsiusCheckbox": "फॅरेनहाइटमध्ये बदल करा",
+ "fahrenheitCelsiusText": "बदल लागू करण्यासाठी पृष्ठ रीफ्रेश करा",
+ "micIconTitle": "मायक्रोफोन आयकॉन लपवा",
+ "micIconInfo": "जर व्हॉइस टायपिंग कार्यरत नसेल",
+ "hideSearchWith": "सर्च इंजिन सिलेक्टर लपवा",
+ "hideSearchWithInfo": "आयकॉनवर क्लिक करून सर्च इंजिन बदला",
+ "search_suggestions_button": "शोध सूचना",
+ "search_suggestions_text": "शोध सूचना सक्षम करा",
+
+ // Proxy
+ "useproxytitletext": "प्रॉक्सी बायपास",
+ "useproxyText": "जर शोध सूचना कार्यरत नसतील",
+ "ProxyText": "CORS बायपास प्रॉक्सी",
+ "ProxySubtext": "आपला स्वतःचा CORS बायपास प्रॉक्सी जोडा",
+ "HostproxyButton": "आपला प्रॉक्सी होस्ट करा",
+ "saveproxy": "जतन करा",
+
+ // Location
+ "UserLocText": "आपले स्थान प्रविष्ट करा",
+ "UserLocSubtext": "जर हवामानाचे स्थान बरोबर नसेल",
+ "userLoc": "आपले शहर किंवा समन्वय (अक्षांश, रेखांश)",
+ "saveLoc": "जतन करा",
+
+ // Weather
+ "WeatherApiText": "आपली WeatherAPI की प्रविष्ट करा",
+ "WeatherApiSubtext": "जर हवामान कार्यरत नसेल",
+ "userAPI": "आपली WeatherAPI कळी",
+ "LearnMoreButton": "अधिक जाणून घ्या",
+ "saveAPI": "जतन करा",
+
+ // Body Items
+ // Calendar
+ "days": ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि'], // Truncated for display
+ // "days": ['रविवार', 'सोमवार', 'मंगळवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], // Full
+ "months": ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर', 'नोव्हेंबर', 'डिसेंबर'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "नमस्कार! तुम्ही आज कसे आहात?",
+ "humidityLevel": "आर्द्रता",
+ "feelsLike": "वाटते",
+ "location": "पृथ्वी",
+ "enterBtn": "शोधा",
+ "searchPlaceholder": "येथे लिहा...",
+ "listenPlaceholder": "ऐकत आहे...",
+ "searchWithHint": "यासह शोधा",
+ "userText": "येथे आपला मजकूर लिहा",
+
+ // Greeting
+ greeting: {
+ "morning": "शुभ सकाळ!",
+ "afternoon": "शुभ दुपार!",
+ "evening": "शुभ संध्याकाळ!"
+ },
+
+ // Search Engines
+ "googleEngine": "गुगल",
+ "duckEngine": "डकडकगो",
+ "bingEngine": "बिंग",
+ "braveEngine": "ब्रेव्ह",
+ "youtubeEngine": "यूट्यूब",
+
+ // AI Tools
+ "ai_tools": "AI साधने",
+ "chatGPT": "चॅटGPT",
+ "gemini": "जेमिनी",
+ "copilot": "कोपायलट",
+ "claude": "क्लॉड",
+ "perplexity": "पर्प्लेक्सिटी",
+ "firefly": "अडोबी फायरफ्लाय",
+ "metaAI": "मेटा AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "वॉलपेपर सेट करा",
+ "backupText": "बॅकअप करा",
+ "restoreText": "पुनर्संचयित करा",
+ "rangColor": "रंग निवडा",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "तुम्हाला आजचा वॉलपेपर बदलायचा आहे का?",
+ "confirmRestore": "तुम्हाला तुमचे सेटिंग्स रीसेट करायचे आहेत का? हि क्रिया परत केली जाऊ शकत नाही.",
+ "Nobackgroundset": "सद्यस्थितीत कोणतीही पार्श्वभूमी सेट केलेली नाही.",
+ "clearbackgroundimage": "तुम्हाला पार्श्वभूमी इमेज क्लिअर करायची आहे का?",
+ "ProxyDisclaimer": "सर्व प्रॉक्सी फीचर्स डिफॉल्टनुसार बंद असतात.\n\nजर तुम्ही सर्च सुजेशन्स आणि CORS बायपास प्रॉक्सी सक्षम केले, तर गोपनीयतेसाठी तुमची स्वतःची प्रॉक्सी होस्ट करणे अत्यंत शिफारसीय आहे.\n\nडिफॉल्टनुसार, प्रॉक्सी https://mynt-proxy.rhythmcorehq.com म्हणून सेट केले जाईल, म्हणजे तुमचे सर्व डेटा या सर्विसमधून जाईल, ज्यामुळे गोपनीयतेच्या संदर्भात धोका होऊ शकतो.",
+ "failedbackup": "बॅकअप अयशस्वी: ",
+ "restorecompleted": "पुनर्संचयित यशस्वी झाले!",
+ "restorefailed": "पुनर्संचयित अयशस्वी: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/np.js b/dist/locales/np.js
new file mode 100644
index 00000000..9eeb466e
--- /dev/null
+++ b/dist/locales/np.js
@@ -0,0 +1,167 @@
+// Nepali
+const np = {
+ // Menu Items
+ github: "गिटहब",
+ feedback: "प्रतिक्रिया",
+ resetsettings: "सेटिङहरू रिसेट गर्नुहोस्",
+ menuCloseText: "मेनु बन्द गर्नुहोस्",
+
+ // Shortcuts
+ shortcutsText: "सर्टकटहरू",
+ enableShortcutsText: "Saved गरिएका सर्टकटहरू देखाउनुहोस्",
+ editShortcutsText: "सर्टकटहरू परिवर्तन गर्नुहोस्",
+ shortcutsInfoText: "कुन सर्टकटहरू देखाइन्छ छनौट गर्नुहोस्",
+ editShortcutsList: "Saved सर्टकटहरू",
+ editShortcutsListInfo:
+ 'तपाईंले "+" आइकनमा क्लिक गरेर नयाँ सर्टकटहरू थप्न सक्नुहुन्छ वा सर्टकट नाम वा URL मा क्लिक गरेर अवस्थितहरूलाई परिवर्तन गर्न सक्नुहुन्छ।',
+ adaptiveIconText: "अनुकूल आइकनहरू",
+ adaptiveIconInfoText:
+ "सर्टकट आइकनहरू विषयवस्तुको रङसँग मेल खाने र साना देखिनेछन्",
+ bookmarksText: "बुकमार्कहरू",
+ bookmarksInfo: "बुकमार्क साइडबार देखाउनुहोस्",
+ ai_tools_button: "AI-उपकरणहरू",
+ enable_ai_tools: "AI उपकरणहरूका लागि सर्टकटहरू देखाउनुहोस्",
+ googleAppsMenuText: "गुगल एप्स",
+ googleAppsMenuInfo: "गुगल एप्सका लागि सर्टकटहरू देखाउनुहोस्",
+ googleAppsHover: "गुगल एप्स",
+
+ // Todo List
+ todoListText: "गर्नुपर्ने कार्यहरु",
+ todoListInfo: "दैनिक गर्नुपर्ने कार्यहरु देखाउनुहोस ",
+ todoListHover: "गर्नुपर्ने कार्यहरु",
+ todoPlaceholder: "गर्नु पर्ने काम थप्नुहोस...",
+
+ // Digital Clock
+ digitalclocktittle: "डिजिटल घडी",
+ digitalclockinfo: "डिजिटल घडीमा परिवर्तन गर्नुहोस्",
+ timeformattittle: "12-घण्टा ढाँचा",
+ timeformatinfo: "12-घण्टा समय ढाँचा प्रयोग गर्नुहोस्",
+ greetingtittle: "अभिवादन",
+ greetinginfo: "अनुकूलन पाठ अभिवादनको तल देखाउनुहोस्",
+
+ // Misc
+ userTextTitle: "अनुकूलन योग्य पाठ",
+ userTextInfo: "घडीको तल अनुकूलन पाठ देखाउनुहोस्",
+ fahrenheitCelsiusCheckbox: "फरेनहाइट मा स्विच गर्नुहोस्",
+ fahrenheitCelsiusText: "परिवर्तनहरू लागू गर्न रिफ्रेस गर्नुहोस्",
+ micIconTitle: "माइक्रोफोन आइकन लुकाउनुहोस्",
+ micIconInfo: "यदि भ्वाइस टाइपिङले काम गरिरहेको छैन भने",
+ hideSearchWith: "खोज इन्जिनहरू लुकाउनुहोस्",
+ hideSearchWithInfo:
+ "यसको आइकनमा क्लिक गरेर खोज इन्जिनहरू बीच स्विच गर्नुहोस्",
+ search_suggestions_button: "खोज सुझावहरू",
+ search_suggestions_text: "खोज सुझावहरू सक्षम गर्नुहोस्",
+
+ // Proxy
+ useproxytitletext: "Proxy Bypass",
+ useproxyText: "यदि खोज सुझावहरूले काम गरिरहेको छैन भने",
+ ProxyText: "CORS Bypass Proxy",
+ ProxySubtext: "आफ्नो CORS bypass proxy थप्नुहोस्",
+ HostproxyButton: "तपाईंको आफ्नै proxy host गर्नुहोस्",
+ saveproxy: "Save",
+
+ // Location
+ UserLocText: "आफ्नो स्थान प्रविष्ट गर्नुहोस्",
+ UserLocSubtext: "मौसम स्थान सही छैन भने",
+ userLoc: "तपाईंको शहर वा निर्देशांक (अक्षांश, देशान्तर)",
+ useGPS: "GPS प्रयोग गर्नुहोस्",
+ saveLoc: "Save",
+
+ // Weather
+ WeatherApiText: "आफ्नो WeatherAPI Key प्रविष्ट गर्नुहोस्",
+ WeatherApiSubtext: "यदि मौसम कार्यक्षमता काम गरिरहेको छैन भने",
+ userAPI: "तपाईंको weatherAPI key",
+ LearnMoreButton: "थप जान्नुहोस्",
+ saveAPI: "Save",
+
+ // Body Items
+ // Calendar
+ days: [
+ "आइतबार",
+ "सोमबार",
+ "मङ्गलबार",
+ "बुधबार",
+ "बिहीबार",
+ "शुक्रबार",
+ "शनिबार",
+ ],
+
+ months: [
+ "जानेवारी",
+ "फेब्रुवारी",
+ "मार्च",
+ "एप्रिल",
+ "मे",
+ "जून",
+ "जुलै",
+ "ऑगस्ट",
+ "सप्टेंबर",
+ "ऑक्टोबर",
+ "नोव्हेंबर",
+ "डिसेंबर",
+ ],
+
+ // Bookmarks
+ bookmarksHeading: "बुकमार्कहरू",
+ bookmarkViewAs: "को रूपमा हेर्नुहोस्",
+ bookmarkViewGrid: "ग्रिड",
+ bookmarkViewList: "सूची",
+ bookmarkSearch: "बुकमार्क खोज्नुहोस्",
+
+ // New Tab Item
+ conditionText: "नमस्ते! तपाइलाई आज कस्तो छ?",
+ humidityLevel: "आर्द्रता",
+ feelsLike: "महसुस हुन्छ",
+ location: "पृथ्वी",
+ enterBtn: "खोज्नुहोस्",
+ searchPlaceholder: "कृपया यहाँ लेख्नुहोस्",
+ listenPlaceholder: "सुन्दै...",
+ searchWithHint: "साथ खोज्नुहोस्",
+ userText: "तपाईं यहाँ लेख्न सक्नुहुन्छ",
+
+ // Greeting
+ greeting: {
+ morning: "शुभ प्रभात!",
+ afternoon: "शुभ दिउँसो!",
+ evening: "शुभ साँझ!",
+ },
+
+ // Search Engines
+ googleEngine: "गूगल",
+ duckEngine: "डकडकगो",
+ bingEngine: "बिंग",
+ braveEngine: "ब्रेव",
+ youtubeEngine: "यूट्यूब",
+
+ // AI Tools
+ ai_tools: "AI उपकरणहरू",
+ chatGPT: "ChatGPT",
+ gemini: "Gemini",
+ copilot: "Copilot",
+ claude: "Claude",
+ perplexity: "Perplexity",
+ firefly: "Adobe Firefly",
+ metaAI: "Meta AI",
+
+ // Wallpaper and alerts
+ uploadWallpaperText: "वालपेपर अपलोड गर्नुहोस्",
+ backupText: "ब्याकअप",
+ restoreText: "पुनर्स्थापना गर्नुहोस्",
+ rangColor: "रंग छान्नुहोस्",
+
+ // Dialog boxes (alerts)
+ confirmWallpaper:
+ "के तपाईं दिनको लागि आफ्नो वालपेपरको रूपमा नयाँ छवि सेट गर्न चाहनुहुन्छ?",
+ confirmRestore:
+ "के तपाइँ तपाइँको सेटिङहरू रिसेट गर्न निश्चित हुनुहुन्छ? यो कार्य पुनर्स्थापना गर्न सकिँदैन।",
+ Nobackgroundset: "हाल कुनै पनि पृष्ठभूमि फोटो सेट गरिएको छैन।",
+ clearbackgroundimage: "के तपाइँ पृष्ठभूमि फोटो हटाउन निश्चित हुनुहुन्छ?",
+ ProxyDisclaimer:
+ "सबै प्रोक्सी सुविधाहरू पूर्वनिर्धारित रूपमा बन्द छन्।\n\nयदि तपाईंले खोज सुझावहरू र CORS बाइपास प्रोक्सी सक्षम गर्नुभयो भने, परिष्कृत गोपनीयताको लागि तपाईंको आफ्नै प्रोक्सी होस्ट गर्न दृढ रूपमा सिफारिस गरिन्छ।\n\nपूर्वनिर्धारित रूपमा, प्रोक्सीलाई https://mynt-proxy.rhythmcorehq.com मा सेट गरिनेछ, जसको अर्थ तपाइँको सबै डेटा यस सेवा मार्फत जानेछ, जसले गोपनीयता चिन्ताहरू खडा गर्न सक्छ।",
+ failedbackup: "ब्याकअप असफल भयो: ",
+ restorecompleted: "पुनर्स्थापना सफलतापूर्वक सम्पन्न भयो!",
+ restorefailed: "ब्याकअप असफल भयो: ",
+ invalidBackup: "अवैध ब्याकअप फाइल",
+ deleteBookmark: "के तपाइँ निश्चित रूपमा बुकमार्क मेटाउन चाहनुहुन्छ?",
+ UnsupportedBrowser: "बुकमार्कहरू तपाईंको ब्राउजरमा समर्थित छैनन्",
+};
diff --git a/dist/locales/pt.js b/dist/locales/pt.js
new file mode 100644
index 00000000..f3f61fef
--- /dev/null
+++ b/dist/locales/pt.js
@@ -0,0 +1,139 @@
+// Portuguese (Brazil)
+const pt = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Redefinir Configurações",
+ "menuCloseText": "Fechar",
+
+ // Shortcuts
+ "shortcutsText": "Atalhos",
+ "enableShortcutsText": "Mostrar atalhos salvos",
+ "editShortcutsText": "Editar Atalhos",
+ "shortcutsInfoText": "Escolha quais atalhos serão exibidos",
+ "editShortcutsList": "Atalhos Salvos",
+ "editShortcutsListInfo": "Você pode adicionar novos atalhos clicando no ícone \"+\" ou editar os existentes clicando no nome ou URL do atalho",
+ "adaptiveIconText": "Ícones Adaptativos",
+ "adaptiveIconInfoText": "Os ícones de atalho aparecerão redondos",
+ "bookmarksText": "Favoritos",
+ "bookmarksInfo": "Mostrar barra lateral de favoritos",
+ "ai_tools_button": "Ferramentas de IA",
+ "enable_ai_tools": "Mostrar atalhos para ferramentas de IA",
+ "googleAppsMenuText": "Apps Google",
+ "googleAppsMenuInfo": "Mostrar atalhos para Apps Google",
+ "googleAppsHover": "Apps do Google",
+
+ // To-do List
+ "todoListText": "Lista de Tarefas",
+ "todoListInfo": "Mostrar uma Lista de Tarefas",
+ "todoListHover": "Lista de Tarefas",
+ "todoPlaceholder": "Adicionar tarefa...",
+
+ // Digital Clock
+ "digitalclocktittle": "Relógio Digital",
+ "digitalclockinfo": "Mudar para o relógio digital",
+ "timeformattittle": "Formato 12 Horas",
+ "timeformatinfo": "Usar formato de 12 horas",
+ "greetingtittle": "Saudação",
+ "greetinginfo": "Mostrar saudação abaixo do texto personalizado",
+
+ // Misc
+ "userTextTitle": "Texto Personalizável",
+ "userTextInfo": "Mostrar texto personalizado abaixo do relógio",
+ "fahrenheitCelsiusCheckbox": "Mudar para Fahrenheit",
+ "fahrenheitCelsiusText": "Atualize a página para aplicar as mudanças",
+ "micIconTitle": "Ocultar Ícone do Microfone",
+ "micIconInfo": "Se o ditado por voz não estiver funcionando",
+ "hideSearchWith": "Ocultar o Motor de Busca",
+ "hideSearchWithInfo": "Alternar entre os motores de busca clicando no ícone",
+ "search_suggestions_button": "Sugestões de Pesquisa",
+ "search_suggestions_text": "Ativar sugestões de pesquisa",
+
+ // Proxy
+ "useproxytitletext": "Bypass de Proxy",
+ "useproxyText": "Se as sugestões de pesquisa não estiverem funcionando",
+ "ProxyText": "Proxy de Bypass CORS",
+ "ProxySubtext": "Adicione seu próprio proxy de bypass CORS",
+ "HostproxyButton": "Hospede seu próprio proxy",
+ "saveproxy": "Salvar",
+
+ // Location
+ "UserLocText": "Digite sua Localização",
+ "UserLocSubtext": "Se a localização do clima não estiver correta",
+ "userLoc": "Sua Cidade ou Coordenadas (Latitude, Longitude)",
+ "useGPS": "Usar GPS",
+ "saveLoc": "Salvar",
+
+ // Weather
+ "WeatherApiText": "Digite sua chave WeatherAPI",
+ "WeatherApiSubtext": "Se a funcionalidade do clima não estiver funcionando",
+ "userAPI": "Sua chave weatherAPI",
+ "LearnMoreButton": "Saiba mais",
+ "saveAPI": "Salvar",
+
+ // Body Items
+ // Calendar
+ "days": ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'],
+ "months": ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
+
+ // Bookmarks
+ "bookmarksHeading": "Favoritos",
+ "bookmarkViewAs": "Visualizar como",
+ "bookmarkViewGrid": "Grade",
+ "bookmarkViewList": "Lista",
+ "bookmarkSearch": "Pesquisar favorito",
+
+ // New Tab Item
+ "conditionText": "Olá! Como você está hoje?",
+ "humidityLevel": "Umidade",
+ "feelsLike": "Sensação de",
+ "location": "Terra",
+ "enterBtn": "Pesquisar",
+ "searchPlaceholder": "Digite aqui...",
+ "listenPlaceholder": "Ouvindo...",
+ "searchWithHint": "Pesquisar Com",
+ "userText": "Clique aqui para editar",
+
+ // Greeting
+ greeting: {
+ "morning": "Bom dia!",
+ "afternoon": "Boa tarde!",
+ "evening": "Boa noite!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Ferramentas de IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Enviar Papel de Parede",
+ "backupText": "Backup",
+ "restoreText": "Restaurar",
+ "rangColor": "Escolher cor",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Você gostaria de definir uma nova imagem como seu papel de parede para o dia?",
+ "confirmRestore": "Você tem certeza de que deseja redefinir suas configurações? Esta ação não pode ser desfeita.",
+ "Nobackgroundset": "Nenhuma imagem de fundo está atualmente definida.",
+ "clearbackgroundimage": "Você tem certeza de que deseja limpar a imagem de fundo?",
+ "ProxyDisclaimer": "Todos os recursos de proxy estão desativados por padrão.\n\nSe você ativar sugestões de pesquisa e o proxy de contorno CORS, é altamente recomendável hospedar seu próprio proxy para maior privacidade.\n\nPor padrão, o proxy será definido como https://mynt-proxy.rhythmcorehq.com, o que significa que todos os seus dados passarão por este serviço, o que pode levantar preocupações de privacidade.",
+ "failedbackup": "Falha no backup: ",
+ "restorecompleted": "Restauração concluída com sucesso!",
+ "restorefailed": "Restauração falhou: ",
+ "invalidBackup": "Arquivo de backup inválido",
+ "deleteBookmark": "Você tem certeza de que deseja excluir o favorito?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/ru.js b/dist/locales/ru.js
new file mode 100644
index 00000000..55c9999c
--- /dev/null
+++ b/dist/locales/ru.js
@@ -0,0 +1,138 @@
+// Russian -> ru
+const ru = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Отзывы",
+ "resetsettings": "Сброс настроек",
+ "menuCloseText": "Закрыть",
+
+ // Shortcuts
+ "shortcutsText": "Ярлыки",
+ "enableShortcutsText": "Включить/Отключить ярлыки",
+ "editShortcutsText": "Редактировать ярлыки",
+ "shortcutsInfoText": "Выберите, какие ярлыки будут отображаться",
+ "editShortcutsList": "Сохранёные ярлыки",
+ 'editShortcutsListInfo': 'Вы можете добавить новые ярлыки нажав на "+" или отредактировать существующие, щёлкнув на ярлык или URL.',
+ "adaptiveIconText": "Адаптивные формы значков",
+ "adaptiveIconInfoText": "Ярлыки всегда будут круглыми",
+ "bookmarksText": "Закладки",
+ "bookmarksInfo": "Показать боковую панель закладок",
+ "ai_tools_button": "Инструменты ИИ",
+ "enable_ai_tools": "Включить/Отключить ярлыки ИИ",
+ "googleAppsMenuText": "Приложения Google",
+ "googleAppsMenuInfo": "Показать ярлыки для приложений Google",
+ "googleAppsHover": "Гугл приложения",
+
+ // To-do List
+ "todoListText": "To-do лист",
+ "todoListInfo": "Показать ежедневный список дел",
+ "todoListHover": "To-do лист",
+ "todoPlaceholder": "Добавить задачу...",
+
+ // Digital Clock
+ "digitalclocktittle": "Цифровые часы",
+ "digitalclockinfo": "Включить/Отключить цифровые часы",
+ "timeformattittle": "12-часовой формат",
+ "timeformatinfo": "Использовать 12-часовой формат времени",
+ "greetingtittle": "Приветствие",
+ "greetinginfo": "Показать приветствие под вашим текстом",
+
+ // Misc
+ "userTextTitle": "Настраиваемый текст",
+ "userTextInfo": "Отображение текста под часами",
+ "fahrenheitCelsiusCheckbox": "Использовать Фаренгейт",
+ "fahrenheitCelsiusText": "Обновите страницу, чтобы применить",
+ "micIconTitle": "Скрыть значок микрофона",
+ "micIconInfo": "Если голосовой ввод не работает",
+ "hideSearchWith": "Скрыть поисковые системы",
+ "hideSearchWithInfo": "Переключайте поисковые системы, щёлкая по их значку",
+ "search_suggestions_button": "Поисковые подсказки",
+ "search_suggestions_text": "Включить/Отключить поисковые подсказки",
+
+ // Proxy
+ "useproxytitletext": "Использовать прокси",
+ "useproxyText": "Если поисковые подсказки не работают",
+ "ProxyText": "CORS обход прокси",
+ "ProxySubtext": "Добавьте свой CORS-прокси",
+ "HostproxyButton": "Разместить свой прокси",
+ "saveproxy": "Сохранить",
+
+ // Location
+ "UserLocText": "Введите ваше местоположение",
+ "UserLocSubtext": "Если местоположение для погоды неверно",
+ "userLoc": "Ваше местоположение (Город/Широта,Долгота)",
+ "saveLoc": "Сохранить",
+
+ // Weather
+ "WeatherApiText": "Введите свой ключ WeatherAPI",
+ "WeatherApiSubtext": "Если функция погоды не работает",
+ "userAPI": "Ваш ключ WeatherAPI",
+ "LearnMoreButton": "Узнать больше",
+ "saveAPI": "Сохранить",
+
+ // Body Items
+ // Calendar
+ "days": ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
+ "months": ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
+
+ // Bookmarks
+ "bookmarksHeading": "Закладки",
+ "bookmarkViewAs": "Отображение",
+ "bookmarkViewGrid": "Сетка",
+ "bookmarkViewList": "Лист",
+ "bookmarkSearch": "Поиск закладки",
+
+ // New Tab Item
+ "conditionText": "Привет! Как ты сегодня?",
+ "humidityLevel": "Влажность",
+ "feelsLike": "Ощущается",
+ "location": "Земля",
+ "enterBtn": "Поиск",
+ "searchPlaceholder": "Ваш запрос...",
+ "listenPlaceholder": "Слушаю...",
+ "searchWithHint": "Искать с",
+ "userText": "Нажмите здесь, чтобы редактировать",
+
+ // Greeting
+ greeting: {
+ "morning": "Доброе утро!",
+ "afternoon": "Добрый день!",
+ "evening": "Добрый вечер!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Нейросети",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Загрузить обои",
+ "backupText": "Экспорт",
+ "restoreText": "Восстановить",
+ "rangColor": "Выбрать цвет",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Хотите установить новое изображение в качестве обоев на весь день?",
+ "confirmRestore": "Вы уверены, что хотите сбросить настройки? Это действие нельзя отменить.",
+ "Nobackgroundset": "В настоящее время обои не установлены.",
+ "clearbackgroundimage": "Вы уверены что хотите убрать обои?",
+ "ProxyDisclaimer": "По умолчанию все функции прокси отключены.\n\nЕсли вы включите поисковые предложения и прокси для обхода CORS, настоятельно рекомендуется разместить собственный прокси для повышения конфиденциальности.\n\nПо умолчанию прокси будет установлен на https://mynt-proxy.rhythmcorehq.com, то есть все ваши данные будут проходить через этот сервис, что может вызвать проблемы с конфиденциальностью.",
+ "failedbackup": "Резервное копирование не удалось: ",
+ "restorecompleted": "Восстановление настроек успешно завершено!",
+ "restorefailed": "Восстановление настроек не удалось: ",
+ "invalidBackup": "Недопустимый файл резервной копии.",
+ "deleteBookmark": "Вы уверены, что хотите удалить эту закладку?",
+ "UnsupportedBrowser": "Закладки не поддерживаются в вашем браузере.",
+};
diff --git a/dist/locales/sl.js b/dist/locales/sl.js
new file mode 100644
index 00000000..25b58dc1
--- /dev/null
+++ b/dist/locales/sl.js
@@ -0,0 +1,138 @@
+// Slovenian -> sl
+const sl = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Povratne informacije",
+ "resetsettings": "Ponastavi nastavitve",
+ "menuCloseText": "Zapri",
+
+ // Shortcuts
+ "shortcutsText": "Bližnjice",
+ "enableShortcutsText": "Prikaži shranjene bližnjice",
+ "editShortcutsText": "Uredi bližnjice",
+ "shortcutsInfoText": "Izberite, katere bližnjice bodo prikazane",
+ "editShortcutsList": "Shranjene bližnjice",
+ 'editShortcutsListInfo': 'Dodate lahko nove bližnjice s klikom na ikono "+" ali uredite obstoječe s klikom na ime bližnjice ali URL.',
+ "adaptiveIconText": "Prilagodljive oblike ikon",
+ "adaptiveIconInfoText": "Ikone bodo videti manjše",
+ "bookmarksText": "Zaznamki",
+ "bookmarksInfo": "Prikaži stransko vrstico z zaznamki",
+ "ai_tools_button": "AI-orodja",
+ "enable_ai_tools": "Prikaži bližnjice za AI orodja",
+ "googleAppsMenuText": "Google Aplikacije",
+ "googleAppsMenuInfo": "Prikaži bližnjice za Google aplikacije",
+ "googleAppsHover": "Google Aplikacije",
+
+ // To-do List
+ "todoListText": "Seznam opravil",
+ "todoListInfo": "Prikaži dnevni seznam opravil",
+ "todoListHover": "Seznam opravil",
+ "todoPlaceholder": "Dodaj nalogo...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digitalna ura",
+ "digitalclockinfo": "Preklopi na digitalno uro",
+ "timeformattittle": "12-urni format",
+ "timeformatinfo": "Uporabi 12-urni časovni format",
+ "greetingtittle": "Pozdrav",
+ "greetinginfo": "Prikaži pozdrav pod prilagojenim besedilom",
+
+ // Misc
+ "userTextTitle": "Uporabniško prilagodljivo besedilo",
+ "userTextInfo": "Prikaži uporabniško prilagodljivo besedilo pod uro",
+ "fahrenheitCelsiusCheckbox": "Preklopi na Fahrenheit",
+ "fahrenheitCelsiusText": "Osvežite stran za uveljavitev sprememb",
+ "micIconTitle": "Skrij ikono mikrofona",
+ "micIconInfo": "Če glasovno tipkanje ne deluje",
+ "hideSearchWith": "Skrij iskalnike",
+ "hideSearchWithInfo": "Preklapljajte med iskalniki s klikom na ikono",
+ "search_suggestions_button": "Predlogi za iskanje",
+ "search_suggestions_text": "Omogoči predloge za iskanje",
+
+ // Proxy
+ "useproxytitletext": "Proxy obid",
+ "useproxyText": "Če predlogi za iskanje ne delujejo",
+ "ProxyText": "Proxy obid za CORS",
+ "ProxySubtext": "Dodajte svoj proxy obid za CORS",
+ "HostproxyButton": "Gostite svoj proxy",
+ "saveproxy": "Shrani",
+
+ // Location
+ "UserLocText": "Vnesite svojo lokacijo",
+ "UserLocSubtext": "Če lokacija vremena ni pravilna",
+ "userLoc": "Vaše mesto ali koordinate (geografska širina, dolžina)",
+ "saveLoc": "Shrani",
+
+ // Weather
+ "WeatherApiText": "Vnesite svoj WeatherAPI ključ",
+ "WeatherApiSubtext": "Če vremenska funkcionalnost ne deluje",
+ "userAPI": "Vaš WeatherAPI ključ",
+ "LearnMoreButton": "Izvedite več",
+ "saveAPI": "Shrani",
+
+ // Body Items
+ // Calendar
+ "days": ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota'],
+ "months": ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december'],
+
+ // Bookmarks
+ "bookmarksHeading": "Zaznamki",
+ "bookmarkViewAs": "Prikaži kot",
+ "bookmarkViewGrid": "Mreža",
+ "bookmarkViewList": "Seznam",
+ "bookmarkSearch": "Išči zaznamek",
+
+ // New Tab Item
+ "conditionText": "Živijo! Kako ste danes?",
+ "humidityLevel": "Vlažnost",
+ "feelsLike": "Občutek",
+ "location": "Zemlja",
+ "enterBtn": "Išči",
+ "searchPlaceholder": "Vnesite tukaj...",
+ "listenPlaceholder": "Poslušam...",
+ "searchWithHint": "Išči z",
+ "userText": "Kliknite tukaj za urejanje",
+
+ // Greeting
+ greeting: {
+ "morning": "Dobro jutro!",
+ "afternoon": "Dober dan!",
+ "evening": "Dober večer!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI orodja",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Naloži ozadje",
+ "backupText": "Varnostna kopija",
+ "restoreText": "Obnovi",
+ "rangColor": "Izberi barvo",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Ali želite nastaviti novo sliko kot ozadje danes?",
+ "confirmRestore": "Ali ste prepričani, da želite ponastaviti nastavitve? To dejanje ni mogoče razveljaviti.",
+ "Nobackgroundset": "Trenutno ni nastavljena nobena slika za ozadje.",
+ "clearbackgroundimage": "Ali ste prepričani, da želite odstraniti sliko ozadja?",
+ "ProxyDisclaimer": "Vse funkcije proxyja so privzeto izklopljene.\n\nČe omogočite predloge za iskanje in proxy za obvoz CORS, je močno priporočljivo, da gostite svoj proxy za boljšo zasebnost.\n\nPrivzeto bo proxy nastavljen na https://mynt-proxy.rhythmcorehq.com, kar pomeni, da bodo vsi vaši podatki šli skozi to storitev, kar lahko predstavlja tveganje za zasebnost.",
+ "failedbackup": "Varnostna kopija ni uspela: ",
+ "restorecompleted": "Obnovitev je bila uspešna!",
+ "restorefailed": "Obnovitev ni uspela: ",
+ "invalidBackup": "Neveljavna datoteka za varnostno kopijo",
+ "deleteBookmark": "Ali ste prepričani, da želite odstraniti zaznamek?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/tr.js b/dist/locales/tr.js
new file mode 100644
index 00000000..036c0cda
--- /dev/null
+++ b/dist/locales/tr.js
@@ -0,0 +1,138 @@
+// Turkish
+const tr = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Geri Bildirim",
+ "resetsettings": "Ayarları Sıfırla",
+ "menuCloseText": "Kapat",
+
+ // Shortcuts
+ "shortcutsText": "Kısayollar",
+ "enableShortcutsText": "Kaydedilen kısayolları göster",
+ "editShortcutsText": "Kısayolları Düzenle",
+ "shortcutsInfoText": "Hangi kısayolların gösterileceğini seçin",
+ "editShortcutsList": "Kaydedilen Kısayollar",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Uyarlanabilir İkon Şekilleri",
+ "adaptiveIconInfoText": "Kısayol ikonları yuvarlak görünecek",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI Araçları",
+ "enable_ai_tools": "AI Araçları kısayollarını göster",
+ "googleAppsMenuText": "Google Uygulamaları",
+ "googleAppsMenuInfo": "Google Uygulamaları için kısayollarını göster",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Dijital Saat",
+ "digitalclockinfo": "Dijital saate geçiş yap",
+ "timeformattittle": "12 Saat Formatı",
+ "timeformatinfo": "12 saat zaman formatını kullanın",
+ "greetingtittle": "Hoşgeldiniz",
+ "greetinginfo": "Özel metinin altında hoşgeldiniz mesajını göster",
+
+ // Misc
+ "userTextTitle": "Özelleştirilebilir Metin",
+ "userTextInfo": "Saatin altında özel metin göster",
+ "fahrenheitCelsiusCheckbox": "Fahrenheit'a geç",
+ "fahrenheitCelsiusText": "Güncellemeleri görmek için sayfayı yenileyin",
+ "micIconTitle": "Mikrofon Simgesini Gizle",
+ "micIconInfo": "Eğer sesli yazma çalışmıyorsa",
+ // "hideSearchWith": "Arama Motorlarını Gizle",
+ // "hideSearchWithInfo": "İkonuna tıklayarak arama motorları arasında geçiş yapın",
+ "search_suggestions_button": "Arama Önerileri",
+ "search_suggestions_text": "Arama Önerilerini etkinleştir",
+
+ // Proxy
+ "useproxytitletext": "Proxy Atlatma",
+ "useproxyText": "Eğer arama önerileri çalışmıyorsa",
+ "ProxyText": "CORS Atlatma Proxy",
+ "ProxySubtext": "Kendi CORS Atlatma Proxy'nizi ekleyin",
+ "HostproxyButton": "Kendi Proxy'nizi Barındırın",
+ "saveproxy": "Kaydet",
+
+ // Location
+ "UserLocText": "Konumunuzu girin",
+ "UserLocSubtext": "Hava durumu konumu doğru değilse",
+ "userLoc": "Konumunuz (Şehir/Enlem,Boylam)",
+ "saveLoc": "Kaydet",
+
+ // Weather
+ "WeatherApiText": "Kendi WeatherAPI anahtarınızı girin",
+ "WeatherApiSubtext": "Hava durumu işlevi çalışmıyorsa",
+ "userAPI": "WeatherAPI anahtarınız",
+ "LearnMoreButton": "Daha Fazla Bilgi Edinin",
+ "saveAPI": "Kaydet",
+
+ // Body Items
+ // Calendar
+ "days": ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
+ "months": ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Merhaba! Bugün nasılsın?",
+ "humidityLevel": "Nem",
+ "feelsLike": "Hissediyor",
+ "location": "Dünya",
+ "enterBtn": "Arama Yap",
+ "searchPlaceholder": "Aramanız...",
+ "listenPlaceholder": "Dinliyor...",
+ "searchWithHint": "ile Ara",
+ "userText": "Buraya tıklayarak düzenleyin",
+
+ // Greeting
+ greeting: {
+ "morning": "Günaydın!",
+ "afternoon": "İyi öğleden sonra!",
+ "evening": "İyi akşamlar!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Araçları",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/dist/locales/uz.js b/dist/locales/uz.js
new file mode 100644
index 00000000..cb4bd976
--- /dev/null
+++ b/dist/locales/uz.js
@@ -0,0 +1,138 @@
+// Uzbek -> uz
+const uz = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Fikr-mulohaza",
+ "resetsettings": "Sozlamalarni tiklash",
+ "menuCloseText": 'Yopish',
+
+ // Shortcuts
+ "shortcutsText": "Tezkor tugmalar",
+ "enableShortcutsText": "Tezkor tugmalarni ko'rsatish",
+ "editShortcutsText": "Tezkor tugmalarni tahrirlash",
+ "shortcutsInfoText": "Qaysi tezkor tugmalarni ko'rsatishni tanlang",
+ "editShortcutsList": "Saqlangan Tezkor tugmalar",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Adaptiv ikonlar shakllari",
+ "adaptiveIconInfoText": "Tezkor tugmalar doimiy ravishda doiraviy bo'ladi",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI-instrumentlar",
+ "enable_ai_tools": "Tezkor tugmalarni ko'rsatish AI-instrumentlar",
+ "googleAppsMenuText": "Google Dasturlari",
+ "googleAppsMenuInfo": "Google Dasturlariga qisqacha havolani ko'rsating",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digital Clock",
+ "digitalclockinfo": "Digital Clockga o'tish",
+ "timeformattittle": "12-soat format",
+ "timeformatinfo": "12-soat formatni qo'llang",
+ "greetingtittle": "Salomlashish",
+ "greetinginfo": "Savatchadagi text pastdagi salomlashishni ko'rsatish",
+
+ // Misc
+ "userTextTitle": "Tahrirlash mumkin bo'lgan matn",
+ "userTextInfo": "Savatchadagi text pastdagi salomlashishni ko'rsatish",
+ "fahrenheitCelsiusCheckbox": "Fahrenheitga o'tish",
+ "fahrenheitCelsiusText": "Sahifani yangilash, o'zgarishlarni qo'llash",
+ "micIconTitle": "Mikrofon belgisini yashirish",
+ "micIconInfo": "Agar ovozli yozish ishlamasa",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Izlash tavsiyalari",
+ "search_suggestions_text": "Izlash tavsiyalarini yoqish",
+
+ // Proxy
+ "useproxytitletext": "Proxy Bypass",
+ "useproxyText": "Izlash tavsiyalari ishlamaydi",
+ "ProxyText": "CORS Bypass Proxy",
+ "ProxySubtext": "O'zingizning CORS bypass proxyni qo'shing",
+ "HostproxyButton": "O'zingizning proxyni joylash",
+ "saveproxy": "Saqlash",
+
+ // Location
+ "UserLocText": "O'zingizning joylashganligingizni kiriting",
+ "UserLocSubtext": "Agar havo joylashuvi noto'g'ri bo'lsa",
+ "userLoc": "O'zingizning shahringiz yoki koordinatalaringiz (Kenglik, Uzunlik)",
+ "saveLoc": "Saqlash",
+
+ // Weather
+ "WeatherApiText": "O'zingizning WeatherAPI kalitini kiriting",
+ "WeatherApiSubtext": "Agar havo funktsiyasi ishlamaydi",
+ "userAPI": "O'zingizning WeatherAPI kaliti",
+ "LearnMoreButton": "Bilish",
+ "saveAPI": "Saqlash",
+
+ // Body Items
+ // Calendar
+ "days": ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba'],
+ "months": ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Salom! Siz bugun qanday holatdasiz?",
+ "humidityLevel": "Namlik",
+ "feelsLike": "Uxshaydi",
+ "location": "Yer",
+ "enterBtn": "Izlash",
+ "searchPlaceholder": "Sizning savolingiz...",
+ "listenPlaceholder": "Tinglayapman...",
+ "searchWithHint": "Bular bilan izlash",
+ "userText": "Buni tahrirlash",
+
+ // Greeting
+ greeting: {
+ "morning": "Xayrli tong!",
+ "afternoon": "Xayrli tushlik!",
+ "evening": "Xayrli kech!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Texnikalar",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
\ No newline at end of file
diff --git a/dist/locales/vi.js b/dist/locales/vi.js
new file mode 100644
index 00000000..865fe31a
--- /dev/null
+++ b/dist/locales/vi.js
@@ -0,0 +1,139 @@
+// Vietnamese
+const vi = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Phản hồi",
+ "resetsettings": "Đặt lại cài đặt gốc",
+ "menuCloseText": "Đóng",
+
+ // Shortcuts
+ "shortcutsText": "Phím tắt",
+ "enableShortcutsText": "Bật/tắt phím tắt",
+ "editShortcutsText": "Chỉnh sửa Phím tắt",
+ "shortcutsInfoText": "Chọn các phím tắt muốn hiển thị",
+ "editShortcutsList": "Chỉnh sửa danh sách Phím tắt",
+ "editShortcutsListInfo": "Bạn có thể thêm phím tắt mới bằng cách nhấp vào biểu tượng \"+\" hoặc chỉnh sửa phím tắt hiện có bằng cách nhấp vào tên phím tắt hoặc URL.",
+ "adaptiveIconText": "Hình dạng biểu tượng Thích ứng",
+ "adaptiveIconInfoText": "Biểu tượng phím tắt sẽ luôn là hình tròn",
+ "bookmarksText": "Dấu trang",
+ "bookmarksInfo": "Hiển thị thanh bên dấu trang",
+ "ai_tools_button": "Công cụ AI",
+ "enable_ai_tools": "Bật/tắt các phím tắt công cụ AI",
+ "googleAppsMenuText": "Ứng dụng Google",
+ "googleAppsMenuInfo": "Hiển thị các phím tắt cho Ứng dụng Google",
+ "googleAppsHover": "Ứng dụng Google",
+
+ // To-do List
+ "todoListText": "Danh sách việc cần làm",
+ "todoListInfo": "Hiển thị danh sách việc cần làm hàng ngày",
+ "todoListHover": "Việc cần làm",
+ "todoPlaceholder": "Thêm nhiệm vụ...",
+
+ // Digital Clock
+ "digitalclocktittle": "Đồng hồ kỹ thuật số",
+ "digitalclockinfo": "Bật/tắt đồng hồ Kỹ thuật số",
+ "timeformattittle": "Sử dụng định dạng 12 giờ",
+ "timeformatinfo": "Sử dụng định dạng thời gian 12 giờ",
+ "greetingtittle": "Lời chào",
+ "greetinginfo": "Hiển thị lời chào dưới văn bản tùy chỉnh",
+
+ // Misc
+ "userTextTitle": "Văn bản tùy chỉnh",
+ "userTextInfo": "Hiển thị văn bản tùy chỉnh dưới đồng hồ",
+ "fahrenheitCelsiusCheckbox": "Chuyển sang Fahrenheit",
+ "fahrenheitCelsiusText": "Tải lại trang để thấy cập nhật",
+ "micIconTitle": "Ẩn biểu tượng mic",
+ "micIconInfo": "Nếu gõ bằng giọng nói không hoạt động",
+ "hideSearchWith": "Ẩn công cụ tìm kiếm",
+ "hideSearchWithInfo": "Chuyển đổi giữa các công cụ tìm kiếm bằng cách nhấp vào biểu tượng của nó",
+ "search_suggestions_button": "Gợi ý tìm kiếm",
+ "search_suggestions_text": "Bật/tắt gợi ý tìm kiếm",
+
+ // Proxy
+ "useproxytitletext": "Bỏ qua Proxy",
+ "useproxyText": "Nếu gợi ý tìm kiếm không hoạt động",
+ "ProxyText": "Proxy bỏ qua CORS",
+ "ProxySubtext": "Thiết lập proxy bỏ qua CORS của bạn.",
+ "HostproxyButton": "Lưu trữ proxy của riêng bạn",
+ "saveproxy": "Lưu",
+
+ // Location
+ "UserLocText": "Nhập vị trí của bạn",
+ "UserLocSubtext": "Nếu vị trí thời tiết không chính xác",
+ "userLoc": "Thành phố hoặc tọa độ của bạn (Vĩ độ, Kinh độ)",
+ "useGPS": "Sử dụng GPS",
+ "saveLoc": "Lưu",
+
+ // Weather
+ "WeatherApiText": "Nhập khóa WeatherAPI của bạn",
+ "WeatherApiSubtext": "Nếu tính năng thời tiết không hoạt động",
+ "userAPI": "Khóa WeatherAPI của bạn",
+ "LearnMoreButton": "Tìm hiểu Thêm",
+ "saveAPI": "Lưu",
+
+ // Body Items
+ // Calendar
+ "days": ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],
+ "months": ['Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'],
+
+ // Bookmarks
+ "bookmarksHeading": "Dấu trang",
+ "bookmarkViewAs": "Dạng xem",
+ "bookmarkViewGrid": "Lưới",
+ "bookmarkViewList": "Danh sách",
+ "bookmarkSearch": "Tìm dấu trang",
+
+ // New Tab Item
+ "conditionText": "Xin chào! Bạn cảm thấy thế nào hôm nay?",
+ "humidityLevel": "Độ ẩm",
+ "feelsLike": "Cảm giác như",
+ "location": "Trái Đất",
+ "enterBtn": "Tìm kiếm",
+ "searchPlaceholder": "Nhập câu hỏi của bạn...",
+ "listenPlaceholder": "Đang nghe...",
+ "searchWithHint": "Tìm kiếm Với",
+ "userText": "Nhấp vào đây để chỉnh sửa",
+
+ // Greeting
+ greeting: {
+ "morning": "Chào buổi sáng!",
+ "afternoon": "Chào buổi chiều!",
+ "evening": "Chào buổi tối!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Công cụ AI",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Tải hình nền",
+ "backupText": "Sao lưu",
+ "restoreText": "Khôi phục",
+ "rangColor": "Chọn màu",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Bạn có muốn đặt một hình ảnh mới làm hình nền cho ngày không?",
+ "confirmRestore": "Bạn có chắc chắn muốn đặt lại cài đặt của mình không? Hành động này không thể hoàn tác.",
+ "Nobackgroundset": "Hiện tại chưa có hình nền nào được thiết lập.",
+ "clearbackgroundimage": "Bạn có chắc chắn muốn xóa hình nền không?",
+ "ProxyDisclaimer": "Theo mặc định, mọi tính năng của proxy đều bị tắt.\n\nNếu bạn bật gợi ý tìm kiếm và bỏ qua proxy CORS, chúng tôi khuyên bạn nên lưu trữ proxy riêng để tăng cường quyền riêng tư.\n\nTheo mặc định, proxy sẽ được đặt thành https://mynt-proxy.rhythmcorehq.com, nghĩa là mọi dữ liệu của bạn sẽ đi qua dịch vụ này, điều này có thể gây ra lo ngại về quyền riêng tư.",
+ "failedbackup": "Sao lưu không thành công: ",
+ "restorecompleted": "Đã khôi phục thành công!",
+ "restorefailed": "Khôi phục không thành công: ",
+ "invalidBackup": "Tệp sao lưu không hợp lệ",
+ "deleteBookmark": "Bạn có chắc chắn muốn xóa dấu trang không?",
+ "UnsupportedBrowser": "Dấu trang không được hỗ trợ trong trình duyệt của bạn",
+};
diff --git a/dist/locales/zh.js b/dist/locales/zh.js
new file mode 100644
index 00000000..9630aeaa
--- /dev/null
+++ b/dist/locales/zh.js
@@ -0,0 +1,138 @@
+// Chinese (Simplified) -> zh
+const zh = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "反馈",
+ "resetsettings": "重置设置",
+ "menuCloseText": "关闭",
+
+ // Shortcuts
+ "shortcutsText": "快捷方式",
+ "enableShortcutsText": "显示已保存的快捷方式",
+ "editShortcutsText": "编辑快捷方式",
+ "shortcutsInfoText": "选择要显示的快捷方式",
+ "editShortcutsList": "已保存的快捷方式",
+ "editShortcutsListInfo": "您可以通过单击“+”图标添加新的快捷方式,或通过单击快捷方式名称或 URL 来编辑现有快捷方式",
+ "adaptiveIconText": "自适应图标形状",
+ "adaptiveIconInfoText": "快捷方式图标将显示为圆形",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI 工具",
+ "enable_ai_tools": "显示 AI 工具快捷方式",
+ "googleAppsMenuText": "谷歌应用",
+ "googleAppsMenuInfo": "显示谷歌应用的快捷方式",
+ "googleAppsHover": "谷歌应用",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "数字时钟",
+ "digitalclockinfo": "切换到数字时钟",
+ "timeformattittle": "12 小时制",
+ "timeformatinfo": "使用 12 小时制时间格式",
+ "greetingtittle": "问候语",
+ "greetinginfo": "在自定义文本下显示问候语",
+
+ // Misc
+ "userTextTitle": "自定义文本",
+ "userTextInfo": "在时钟下方显示自定义文本",
+ "fahrenheitCelsiusCheckbox": "切换到华氏温度",
+ "fahrenheitCelsiusText": "刷新页面以应用更改",
+ "micIconTitle": "隐藏麦克风图标",
+ "micIconInfo": "如果语音输入无法使用",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "搜索建议",
+ "search_suggestions_text": "启用搜索建议",
+
+ // Proxy
+ "useproxytitletext": "代理绕过",
+ "useproxyText": "如果搜索建议无法正常工作",
+ "ProxyText": "CORS 绕过代理",
+ "ProxySubtext": "添加您的地址以绕过CORS限制",
+ "HostproxyButton": "托管您自己的代理",
+ "saveproxy": "保存",
+
+ // Location
+ "UserLocText": "输入您的位置",
+ "UserLocSubtext": "如果天气位置不正确",
+ "userLoc": "您的城市或坐标(纬度,经度)",
+ "saveLoc": "保存",
+
+ // Weather
+ "WeatherApiText": "输入您的 WeatherAPI 密钥",
+ "WeatherApiSubtext": "如果天气功能无法正常工作",
+ "userAPI": "您的 WeatherAPI 密钥",
+ "LearnMoreButton": "了解更多",
+ "saveAPI": "保存",
+
+ // Body Items
+ // Calendar
+ "days": ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+ "months": ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "你好!今天感觉怎么样?",
+ "humidityLevel": "湿度",
+ "feelsLike": "体感温度",
+ "location": "地球",
+ "enterBtn": "搜索",
+ "searchPlaceholder": "输入搜索内容...",
+ "listenPlaceholder": "正在聆听...",
+ "searchWithHint": "搜索引擎",
+ "userText": "点击这里以编辑",
+
+ // Greeting
+ greeting: {
+ "morning": "早上好!",
+ "afternoon": "下午好!",
+ "evening": "晚上好!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI 工具",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
\ No newline at end of file
diff --git a/dist/manifest(firefox).json b/dist/manifest(firefox).json
new file mode 100644
index 00000000..e9fedad5
--- /dev/null
+++ b/dist/manifest(firefox).json
@@ -0,0 +1,27 @@
+{
+ "manifest_version": 2,
+ "name": "Better Material You NewTab",
+ "version": "4.0",
+ "description": "A Simple New Tab (browser's home page) inspired by Google's 'Material You' design.",
+ "permissions": [
+ "bookmarks",
+ "https://www.google.com/complete/search*",
+ "https://duckduckgo.com/ac/*",
+ "https://search.brave.com/api/suggest*"
+ ],
+ "background": {
+ "scripts": ["background.js"],
+ "persistent": true
+ },
+ "icons": {
+ "16": "icon16.png",
+ "48": "icon48.png",
+ "128": "icon128.png"
+ },
+ "browser_action": {
+ "default_icon": "icon48.png"
+ },
+ "chrome_url_overrides": {
+ "newtab": "index.html"
+ }
+}
diff --git a/dist/manifest.json b/dist/manifest.json
index 47ae81d9..3b4c0c56 100644
--- a/dist/manifest.json
+++ b/dist/manifest.json
@@ -1,21 +1,23 @@
{
"manifest_version": 3,
- "name": "Material You NewTab",
- "version": "3.1.5",
+ "name": "Better Material You NewTab",
+ "version": "4.0.0",
"description": "A Simple New Tab (browser's home page) inspired by Google's 'Material You' design.",
-"permissions": [
- "webRequest"
+ "optional_permissions": ["bookmarks"],
+ "host_permissions": [
+ "https://www.google.com/complete/search*",
+ "https://duckduckgo.com/ac/*",
+ "https://search.brave.com/api/suggest*"
],
- "background": {
- "service_worker": "background.js"
- },
"icons": {
- "48": "icon.png"
+ "16": "icon16.png",
+ "48": "icon48.png",
+ "128": "icon128.png"
},
"action": {
- "default_icon": "icon.png"
+ "default_icon": "icon48.png"
},
"chrome_url_overrides": {
- "newtab": "index.html"
+ "newtab": "index.html"
}
}
diff --git a/dist/privacy-policy.html b/dist/privacy-policy.html
new file mode 100644
index 00000000..90b82166
--- /dev/null
+++ b/dist/privacy-policy.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+ Privacy Policy for Better Material You NewTab Extension
+
+
+
+
+
+
+
+
Privacy Policy for "Better Material You NewTab" Extension
+
+
Introduction
+
"Better Material You NewTab" is an open-source extension designed to enhance the appearance of your browser’s
+ default home page and new tab. This extension was originally created as a personal project using HTML, CSS,
+ and JavaScript. Due to positive feedback, it was later made available on Firefox and Chrome stores.
+
+
Community Contributions
+
Since its release, many talented developers have contributed to improving the extension through GitHub. These
+ contributors have added new features and fixed bugs, making the extension even better. Each pull request is
+ carefully reviewed, tested, and verified to ensure it meets our standards before merging.
+
+
Data Collection and Permissions
+
This extension does not require any permissions and does not collect, store, or share any user data. Our team
+ has no intention to track or collect any personal information; this is a project focused solely on providing
+ a better browsing experience.
+
+
About Voice Search and Microphone Permission
+
The extension uses the Web Speech API for voice search. When you click the microphone icon, the browser will
+ prompt for microphone access, which is managed entirely by the browser. The microphone is used solely for
+ speech-to-text functionality during searches, and you will be notified by the browser whenever the
+ microphone is accessed.
+
+
Transparency and Security
+
While we strive to keep our code secure, we acknowledge that no project is 100% immune to potential issues.
+ In rare cases, unintended code or errors could be introduced through contributions. We encourage users to
+ review the source code directly on GitHub for peace of mind. Use this extension only when you are fully
+ comfortable with its contents.
+
+
Thank You
+
Thank you for your trust in the "Better Material You NewTab" extension, and we hope it enhances your browsing
+ experience with every new tab you open!
+
+
+
+
+
+
diff --git a/dist/scripts/README.md b/dist/scripts/README.md
new file mode 100644
index 00000000..9ca80206
--- /dev/null
+++ b/dist/scripts/README.md
@@ -0,0 +1,23 @@
+# Contributing to the Project
+
+## Adding a New Feature
+
+1. **Create a new script file**
+ - Name the file appropriately to reflect the feature you're adding. For example, if your feature involves animations, the file could be named `animation-feature.js`.
+ - Place this new file in the `scripts` directory.
+
+
+3. **Integrate the script into the project**
+ - Open `index.html` and locate the `` section.
+ - Add your script as follows:
+ ```html
+
+ ```
+
+4. **Develop your feature**
+ - Implement your functionality within the script. Write clean, maintainable code and follow any existing coding standards used in the project.
+
+---
+
+## Additional Notes
+Ensure you've read the [code of conduct](../CODE_OF_CONDUCT.md) and the [contributing](../CONTRIBUTING.md).
diff --git a/dist/scripts/ai-tools.js b/dist/scripts/ai-tools.js
new file mode 100644
index 00000000..ed284578
--- /dev/null
+++ b/dist/scripts/ai-tools.js
@@ -0,0 +1,86 @@
+// when User click on "AI-Tools"
+const element = document.getElementById("toolsCont");
+const shortcuts = document.getElementById("shortcutsContainer");
+
+function toggleShortcuts(event) {
+ const shortcutsCheckbox = document.getElementById("shortcutsCheckbox");
+
+ if (shortcutsCheckbox.selected) {
+ if (element.style.display === "flex") {
+ shortcuts.style.display = "flex";
+ element.style.opacity = "0";
+ element.style.gap = "0";
+ element.style.transform = "translateX(-100%)";
+
+ setTimeout(() => {
+ element.style.display = "none";
+ shortcuts.style.display = "flex";
+ }, 500);
+ } else {
+ shortcuts.style.display = "none";
+ element.style.display = "flex";
+ setTimeout(() => {
+ element.style.opacity = "1";
+ element.style.transform = "translateX(0)";
+ }, 1);
+ setTimeout(() => {
+ element.style.gap = "12px";
+ }, 300);
+ }
+ } else {
+ if (element.style.display === "flex") {
+ shortcuts.style.display = "none";
+ element.style.opacity = "0";
+ element.style.gap = "0";
+ element.style.transform = "translateX(-100%)";
+ setTimeout(() => {
+ element.style.display = "none";
+ }, 500);
+ } else {
+ shortcuts.style.display = "none";
+ element.style.display = "flex";
+ setTimeout(() => {
+ element.style.opacity = "1";
+ element.style.transform = "translateX(0)";
+ }, 1);
+ setTimeout(() => {
+ element.style.gap = "12px";
+ }, 300);
+ }
+ }
+ // Prevent outside click handler from triggering
+ if (event) event.stopPropagation();
+}
+
+
+// Collapse when clicking outside toolsCont
+document.addEventListener("click", (event) => {
+ if (!element.contains(event.target) && element.style.display === "flex") {
+ toggleShortcuts();
+ }
+});
+
+document.getElementById("0NIHK").onclick = toggleShortcuts;
+
+//
+
+
+document.addEventListener("DOMContentLoaded", function () {
+ const aiToolsCont = document.getElementById("aiToolsCont");
+ const aiToolsCheckbox = document.getElementById("aiToolsCheckbox");
+
+ aiToolsCheckbox.addEventListener("change", function () {
+ saveCheckboxState("aiToolsCheckboxState", aiToolsCheckbox);
+ if (aiToolsCheckbox.selected) {
+ aiToolsCont.style.display = "flex";
+ saveDisplayStatus("aiToolsDisplayStatus", "flex");
+ } else {
+ aiToolsCont.style.display = "none";
+ saveDisplayStatus("aiToolsDisplayStatus", "none");
+ toggleShortcuts()
+ }
+ });
+
+ loadCheckboxState("aiToolsCheckboxState", aiToolsCheckbox);
+ loadDisplayStatus("aiToolsDisplayStatus", aiToolsCont);
+});
diff --git a/dist/scripts/google-app-menu.js b/dist/scripts/google-app-menu.js
new file mode 100644
index 00000000..902b22b0
--- /dev/null
+++ b/dist/scripts/google-app-menu.js
@@ -0,0 +1,51 @@
+
+// ------------------------Google App Menu-----------------------------------
+const iconContainer = document.getElementById("iconContainer");
+const googleAppsCont = document.getElementById("googleAppsCont");
+
+// Toggle menu and tooltip visibility
+googleAppsCont.addEventListener("click", function (event) {
+ const isMenuVisible = iconContainer.style.display === "grid";
+
+ // Toggle menu visibility
+ iconContainer.style.display = isMenuVisible ? "none" : "grid";
+
+ // Add or remove the class to hide the tooltip
+ if (!isMenuVisible) {
+ googleAppsCont.classList.add("menu-open"); // Hide tooltip
+ } else {
+ googleAppsCont.classList.remove("menu-open"); // Restore tooltip
+ }
+
+ event.stopPropagation();
+});
+
+// Close menu when clicking outside
+document.addEventListener("click", function (event) {
+ const isClickInside =
+ iconContainer.contains(event.target) || googleAppsCont.contains(event.target);
+
+ if (!isClickInside && iconContainer.style.display === "grid") {
+ iconContainer.style.display = "none"; // Hide menu
+ googleAppsCont.classList.remove("menu-open"); // Restore tooltip
+ }
+});
+// ------------------------End of Google App Menu Setup-----------------------------------
+
+//
+
+document.addEventListener("DOMContentLoaded", function () {
+ const googleAppsCont = document.getElementById("googleAppsCont");
+ loadDisplayStatus("googleAppsDisplayStatus", googleAppsCont);
+
+ googleAppsCheckbox.addEventListener("change", function () {
+ saveCheckboxState("googleAppsCheckboxState", googleAppsCheckbox);
+ if (googleAppsCheckbox.selected) {
+ googleAppsCont.style.display = "flex";
+ saveDisplayStatus("googleAppsDisplayStatus", "flex");
+ } else {
+ googleAppsCont.style.display = "none";
+ saveDisplayStatus("googleAppsDisplayStatus", "none");
+ }
+ });
+});
diff --git a/dist/scripts/languages.js b/dist/scripts/languages.js
new file mode 100644
index 00000000..1d3e3f4f
--- /dev/null
+++ b/dist/scripts/languages.js
@@ -0,0 +1,295 @@
+
+// Translation data
+const translations = {
+ en: en, // English
+ pt: pt, // Portuguese-BR
+ zh: zh, // Chinese (Simplified)
+ hi: hi, // Hindi
+ hu: hu, // Hungarian
+ cs: cs, // Czech
+ it: it, // Italian
+ tr: tr, // Turkish
+ bn: bn, // Bengali
+ vi: vi, // Vietnamese
+ ru: ru, // Russian
+ uz: uz, // Uzbek
+ es: es, // Spanish
+ ja: ja, // Japanese
+ ko: ko, // Korean
+ idn: idn, // Indonesian
+ mr: mr, // Marathi
+ fr: fr, // French
+ az: az, // Azerbaijani
+ sl: sl, // Slovenian
+ np: np, // Nepali
+};
+
+// Define the width of the menu container for each language
+const menuWidths = {
+ en: '400px',
+ pt: '470px',
+ bn: '416px',
+ uz: '455px',
+ vi: '445px',
+ cs: '452px',
+ es: '446px',
+ hi: '408px',
+ hu: '445px',
+ ja: '444px',
+ ru: '400px',
+ it: '437px',
+ idn: '435px',
+ tr: '418px',
+ fr: '475px',
+ az: '418px',
+ sl: '470px',
+ np: '430px',
+ // Add more languages and widths as needed
+};
+
+const numberMappings = {
+ "bn": { '0': '০', '1': '১', '2': '২', '3': '৩', '4': '৪', '5': '৫', '6': '৬', '7': '৭', '8': '৮', '9': '৯' },
+ "mr": { '0': '०', '1': '१', '2': '२', '3': '३', '4': '४', '5': '५', '6': '६', '7': '७', '8': '८', '9': '९' },
+ "np": { '0': '०', '1': '१', '2': '२', '3': '३', '4': '४', '5': '५', '6': '६', '7': '७', '8': '८', '9': '९' },
+ // Add more languages as needed, Ensure it is supported in the fonts
+};
+
+function localizeNumbers(text, language) {
+ const map = numberMappings[language]; // Get the numeral map for the current language
+
+ // Define languages that use a comma as the decimal separator instead of a dot
+ const specialDecimalLanguages = ['cs', 'it', 'pt', 'ru', 'tr', 'vi', 'uz', 'es', 'ko', 'idn', 'fr', 'az', 'sl', 'hu']; // Add more languages here as needed
+
+ if (specialDecimalLanguages.includes(language)) {
+ // Replace decimal point with a comma for specific languages
+ text = text.replace('.', ',');
+ }
+ // Apply digit localization if the numeral map exists
+ if (map) {
+ text = text.replace(/\d/g, (digit) => map[digit] || digit);
+ }
+ return text; // Return the localized text
+}
+
+// Function to apply the language to the page
+function applyLanguage(lang) {
+ // Mapping of text elements and their translation keys
+ const translationMap = [
+ 'feedback',
+ 'resetsettings',
+ 'shortcutsText',
+ 'enableShortcutsText',
+ 'editShortcutsText',
+ 'shortcutsInfoText',
+ 'editShortcutsList',
+ 'editShortcutsListInfo',
+ 'adaptiveIconText',
+ 'adaptiveIconInfoText',
+ 'ai_tools_button',
+ 'enable_ai_tools',
+ 'googleAppsMenuText',
+ 'googleAppsMenuInfo',
+ 'todoListText',
+ 'todoListInfo',
+ 'fahrenheitCelsiusCheckbox',
+ 'fahrenheitCelsiusText',
+ 'micIconTitle',
+ 'micIconInfo',
+ 'hideSearchWith',
+ 'hideSearchWithInfo',
+ 'search_suggestions_button',
+ 'search_suggestions_text',
+ 'digitalclocktittle',
+ 'digitalclockinfo',
+ 'timeformattittle',
+ 'timeformatinfo',
+ 'greetingtittle',
+ 'greetinginfo',
+ 'userTextTitle',
+ 'userTextInfo',
+ 'useproxytitletext',
+ 'useproxyText',
+ 'ProxyText',
+ 'ProxySubtext',
+ 'HostproxyButton',
+ 'saveproxy',
+ 'UserLocText',
+ 'UserLocSubtext',
+ 'useGPS',
+ 'saveLoc',
+ 'WeatherApiText',
+ 'WeatherApiSubtext',
+ 'LearnMoreButton',
+ 'saveAPI',
+ 'conditionText',
+ 'enterBtn',
+ 'searchWithHint',
+ 'ai_tools',
+ 'humidityLevel',
+ 'feelsLike',
+ 'location',
+ 'googleEngine',
+ 'duckEngine',
+ 'bingEngine',
+ 'braveEngine',
+ 'youtubeEngine',
+ 'chatGPT',
+ 'gemini',
+ 'copilot',
+ 'claude',
+ 'perplexity',
+ 'firefly',
+ 'metaAI',
+ 'github',
+ 'googleAppsHover',
+ 'todoListHover',
+ 'uploadWallpaperText',
+ 'backupText',
+ 'restoreText',
+ 'rangColor',
+ 'bookmarksText',
+ 'bookmarksInfo',
+ 'bookmarksHeading',
+ 'bookmarkViewAs',
+ 'bookmarkViewGrid',
+ 'bookmarkViewList',
+ ];
+
+ // Specific mapping for placeholders
+ const placeholderMap = [
+ { id: 'userLoc', key: 'userLoc' },
+ { id: 'userAPI', key: 'userAPI' },
+ { id: 'searchQ', key: 'searchPlaceholder' },
+ { id: 'todoInput', key: 'todoPlaceholder' },
+ { id: 'bookmarkSearch', key: 'bookmarkSearch' }
+ ];
+
+ // Mapping of elements and their different translation keys
+ const elementsMap = [
+ { id: 'todoListHeading', key: 'todoListText' },
+ { id: 'googleEngineDD', key: 'googleEngine' },
+ { id: 'duckEngineDD', key: 'duckEngine' },
+ { id: 'bingEngineDD', key: 'bingEngine' },
+ { id: 'braveEngineDD', key: 'braveEngine' },
+ { id: 'youtubeEngineDD', key: 'youtubeEngine' },
+ { id: 'bookmarksHover', key: 'bookmarksHeading' },
+ ];
+
+ // Function to apply translations
+ function applyTranslations(items, isPlaceholder) {
+ items.forEach(item => {
+ // Get the element by its ID
+ const element = document.getElementById(item.id || item);
+ if (element) {
+ // Use 'key' if defined, otherwise use 'id' as the translation key
+ const key = item.key || item;
+ // Get the translation, fallback to English if not found in the current language
+ const translation = translations[lang]?.[key] || translations['en']?.[key];
+
+ // Apply the translation to either placeholder or innerText
+ if (isPlaceholder) {
+ element.placeholder = translation;
+ } else {
+ element.innerText = translation;
+ }
+ }
+ });
+ }
+
+ // Apply the translations
+ applyTranslations(placeholderMap, true); // For placeholders
+ applyTranslations(elementsMap, false); // For innerTexts with different IDs and keys
+ applyTranslations(translationMap, false); // For innerTexts with same ID and keys
+
+ // For userText
+ const userTextDiv = document.getElementById('userText');
+ if (translations[lang]) {
+ const placeholder = translations[lang]?.userText || translations['en'].userText;
+ userTextDiv.dataset.placeholder = placeholder; // Update the placeholder in data attribute
+ // Only set the text content if there's nothing in localStorage
+ if (!localStorage.getItem("userText")) {
+ userTextDiv.innerText = placeholder;
+ }
+ }
+
+ // Update hover text for #menuCloseButton
+ const menuCloseButton = document.getElementById('menuCloseButton');
+ if (menuCloseButton) {
+ const hoverText = translations[lang]?.menuCloseText || translations['en'].menuCloseText;
+ menuCloseButton.setAttribute('data-lang', hoverText);
+ }
+
+ // Update the width of the menu container based on the language
+ const menuCont = document.querySelector('.menuBar .menuCont');
+ if (menuCont) {
+ menuCont.style.width = menuWidths[lang] || menuWidths['en'];
+ }
+
+ // Dynamically update the font family based on the language
+ const root = document.documentElement;
+ const commonFontStack = "'poppins', 'Poppins', sans-serif";
+ if (lang === 'vi') {
+ root.style.setProperty('--main-font-family', `'Be Vietnam Pro', ${commonFontStack}`);
+ } else {
+ root.style.setProperty('--main-font-family', commonFontStack);
+ }
+
+ // Save the selected language in localStorage
+ saveLanguageStatus('selectedLanguage', lang);
+}
+
+// Detect language from navigator.language
+document.getElementById('languageSelector').addEventListener('change', (event) => {
+ applyLanguage(event.target.value);
+ showDialog({
+ headline: 'Language Changed',
+ icon: 'done',
+ textBtn: 'I will Refresh Later',
+ tonalBtn: 'OK',
+ formText: `The language has been changed to '${event.target.value.toUpperCase()}'. The page will refresh to apply the changes.`,
+ onTextBtnClick: () => {
+ return;
+ },
+ onTonalBtnClick: () => {
+ location.reload();
+ },
+ onIgnored: () => {
+ return;
+ }
+ });
+});
+
+// Function to apply the language when the page loads
+window.onload = function () {
+ const savedLanguage = getLanguageStatus('selectedLanguage') || 'en'; // Default language is English
+ if (savedLanguage) {
+ document.getElementById("languageSelector").value = savedLanguage;
+ }
+ applyLanguage(savedLanguage);
+ const savedProxy = localStorage.getItem("proxy");
+ const resetproxy = document.getElementById("resetproxybtn");
+ const proxyhostbtn = document.getElementById("HostproxyButton");
+ const saveProxyButton = document.getElementById("saveproxybtn");
+ const userProxyInput = document.getElementById("userproxy");
+ const defaultProxyURL = "https://mynt-proxy.rhythmcorehq.com"; //Default proxy url
+ if (savedProxy && savedProxy !== defaultProxyURL) {
+ userProxyInput.value = savedProxy;
+ resetproxy.style.display = "block";
+ saveProxyButton.style.display = "none";
+ proxyhostbtn.textContent = "Host Your Own";
+ }else{
+ resetproxy.style.display = "none";
+ saveProxyButton.style.removeProperty("display");
+ proxyhostbtn.textContent = "Host Your Own Proxy";
+ }
+};
+
+// Function to save the language status in localStorage
+function saveLanguageStatus(key, languageStatus) {
+ localStorage.setItem(key, languageStatus);
+}
+
+// Function to get the language status from localStorage
+function getLanguageStatus(key) {
+ return localStorage.getItem(key);
+}
diff --git a/dist/scripts/preload.js b/dist/scripts/preload.js
new file mode 100644
index 00000000..f8146ba3
--- /dev/null
+++ b/dist/scripts/preload.js
@@ -0,0 +1,2 @@
+// Set Loading Screen Color before Everything Loads
+document.documentElement.style.setProperty('--Loading-Screen-Color',localStorage.getItem('LoadingScreenColor') || "#bbd6fd");
\ No newline at end of file
diff --git a/dist/scripts/save-load-states.js b/dist/scripts/save-load-states.js
new file mode 100644
index 00000000..05b46c03
--- /dev/null
+++ b/dist/scripts/save-load-states.js
@@ -0,0 +1,50 @@
+/* ------ Helper functions for saving and loading states ------ */
+
+// Function to save checkbox state to localStorage
+function saveCheckboxState(key, checkbox) {
+ localStorage.setItem(key, checkbox.selected ? "selected" : "unselected");
+}
+
+// Function to load and apply checkbox state from localStorage
+function loadCheckboxState(key, checkbox) {
+ const savedState = localStorage.getItem(key);
+ checkbox.selected = savedState === "selected";
+ if (key === "bookmarkGridCheckboxState") {
+ if (!savedState) {
+ bookmarkGridCheckbox.click();
+ } else {
+ bookmarkGridCheckbox.click();
+ bookmarkGridCheckbox.click();
+ }
+ }
+}
+
+// Function to save display status to localStorage
+function saveDisplayStatus(key, displayStatus) {
+ localStorage.setItem(key, displayStatus);
+}
+
+// Function to load and apply display status from localStorage
+function loadDisplayStatus(key, element) {
+ const savedStatus = localStorage.getItem(key);
+ if (savedStatus === "flex") {
+ element.style.display = "flex";
+ } else {
+ element.style.display = "none";
+ }
+}
+
+// Function to save activeness status to localStorage
+function saveActiveStatus(key, activeStatus) {
+ localStorage.setItem(key, activeStatus)
+}
+
+// Function to load and apply activeness status from localStorage
+function loadActiveStatus(key, element) {
+ const savedStatus = localStorage.getItem(key);
+ if (savedStatus === "active") {
+ element.classList.remove("inactive");
+ } else {
+ element.classList.add("inactive");
+ }
+}
diff --git a/dist/src/languages.js b/dist/src/languages.js
deleted file mode 100644
index 57ee5167..00000000
--- a/dist/src/languages.js
+++ /dev/null
@@ -1,714 +0,0 @@
-// Translation data
-const translations = {
- "en": {
- // Menu Items
- "feedback": "Feedback",
- "resetsettings": "Reset Settings",
- // Shortcuts
- "shortcutsText": "Shortcuts",
- "enableShortcutsText": "Enable/disable shortcuts",
- "editShortcutsText": "Edit Shortcuts",
- "editShortcutsList": "Edit Shortcuts",
- "shortcutsInfoText": "Choose which shortcuts get shown",
- "adaptiveIconText": "Adaptive Icon Shapes",
- "adaptiveIconInfoText": "Shortcut Icons will always be round",
- "ai_tools_button": "AI-Tools",
- "enable_ai_tools": "Enable/disable AI Tools shortcuts",
- // Digital Clock
- "digitalclocktittle": "Digital Clock",
- "digitalclockinfo": "Enable/disable the Digital Clock",
- "timeformattittle": "Use 12h Format",
- "timeformatinfo": "Use 12 hour time format",
- // Misc
- "fahrenheitCelsiusCheckbox": "Switch to Fahrenheit",
- "fahrenheitCelsiusText": "Refresh the page to see the updates",
- "search_suggestions_button": "Search Suggestions",
- "search_suggestions_text": "Enable/disable Search Suggestions",
- // Proxy
- "useproxytitletext": "Proxy Bypass",
- "useproxyText": "If search suggestions isn't working",
- "ProxyText": "CORS Bypass Proxy",
- "ProxySubtext": "Add your own CORS Bypass Proxy",
- "HostproxyButton": "Host Your Own Proxy",
- "saveproxy": "Save",
- // Location
- "UserLocText": "Enter your location",
- "UserLocSubtext": "If the weather location isn't correct",
- "userLoc": "Your location (City/Latitude,Longitude)",
- "InputOptionsButton": "Input Options",
- "saveLoc": "Save",
- // Weather
- "WeatherApiText": "Enter your own WeatherAPI key",
- "WeatherApiSubtext": "If the weather functionality isn't working",
- "userAPI": "Your weatherAPI key",
- "LearnMoreButton": "Learn More",
- "saveAPI": "Save",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
- "months": ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- // End of Calendar
-
- // Weather
- "humidityText": "Humidity",
- "feelsLike": "Feels",
- "location": "Earth",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Hello! How are you today?",
- "enterBtn": "Search",
- "searchPlaceholder": "Your query...",
- "searchWithHint": "Search With",
- "ai_tools": "AI Tools",
- "userText": "Double tap to edit",
- // End of Body and New Tab Items
-
- // toDo for "menuCloseButton:hover::after": "Close",
- },
-
- // Portuguese
- // Machine translated some elements, please verify and delete this comment
- "pt": {
- // Menu Items
- "feedback": "Feedback",
- "resetsettings": "Redefinir Configurações",
- // Shortcuts
- "shortcutsText": "Atalhos",
- "enableShortcutsText": "Ativar/desativar atalhos",
- "editShortcutsText": "Editar Atalhos",
- "editShortcutsList": "Editar Atalhos",
- "shortcutsInfoText": "Escolha quais atalhos serão exibidos",
- "adaptiveIconText": "Formas de Ícone Adaptativo",
- "adaptiveIconInfoText": "Os ícones de atalhos serão sempre redondos",
- "ai_tools_button": "Ferramentas de IA",
- "enable_ai_tools": "Ativar/desativar atalhos de ferramentas de IA",
- // Digital Clock
- "digitalclocktittle": "Relógio Digital",
- "digitalclockinfo": "Ativar/desativar o Relógio Digital",
- "timeformattittle": "Usar Formato de 12h",
- "timeformatinfo": "Usar formato de hora de 12 horas",
- // Misc
- "fahrenheitCelsiusCheckbox": "Alternar para Fahrenheit",
- "fahrenheitCelsiusText": "Atualize a página para ver as atualizações",
- "search_suggestions_button": "Sugestões de Pesquisa",
- "search_suggestions_text": "Ativar/desativar Sugestões de Pesquisa",
- // Proxy
- "useproxytitletext": "Bypass de Proxy",
- "useproxyText": "Se as sugestões de pesquisa não estiverem funcionando",
- "ProxyText": "Proxy de Bypass CORS",
- "ProxySubtext": "Adicione seu próprio Proxy de Bypass CORS",
- "HostproxyButton": "Hospede Seu Próprio Proxy",
- "saveproxy": "Salvar",
- // Location
- "UserLocText": "Insira sua localização",
- "UserLocSubtext": "Se a localização do clima não estiver correta",
- "userLoc": "Sua localização (Cidade/Aletitude,Longitude)",
- "InputOptionsButton": "Opções de Entrada",
- "saveLoc": "Salvar",
- // Weather
- "WeatherApiText": "Insira sua própria chave da API de Clima",
- "WeatherApiSubtext": "Se a funcionalidade do clima não estiver funcionando",
- "userAPI": "Sua chave da WeatherAPI",
- "LearnMoreButton": "Saiba Mais",
- "saveAPI": "Salvar API",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'],
- "months": ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
- // End of Calendar
-
- // Weather
- "humidityText": "Umidade",
- "feelsLike": "Sensação de",
- "location": "Terra",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Olá! Como você está hoje?",
- "enterBtn": "Entrar",
- "searchPlaceholder": "Digite sua consulta...",
- "searchWithHint": "Pesquisar Com",
- "ai_tools": "Ferramentas de IA",
- "userText": "Toque duas vezes para editar",
- // End of Body and New Tab Items
-},
-
- // Chinese
- // Machine translated some elements, please verify and delete this comment
- "zh": {
- // Menu Items
- "feedback": "反馈",
- "resetsettings": "重置设置",
- // Shortcuts
- "shortcutsText": "快捷方式",
- "enableShortcutsText": "启用/禁用快捷方式",
- "editShortcutsText": "编辑快捷方式",
- "editShortcutsList": "编辑快捷方式",
- "shortcutsInfoText": "选择要显示的快捷方式",
- "adaptiveIconText": "自适应图标形状",
- "adaptiveIconInfoText": "快捷方式图标将始终为圆形",
- "ai_tools_button": "AI工具",
- "enable_ai_tools": "启用/禁用AI工具快捷方式",
- // Digital Clock
- "digitalclocktittle": "数字时钟",
- "digitalclockinfo": "启用/禁用数字时钟",
- "timeformattittle": "使用12小时格式",
- "timeformatinfo": "使用12小时制时间格式",
- // Misc
- "fahrenheitCelsiusCheckbox": "切换到华氏温度",
- "fahrenheitCelsiusText": "刷新页面以查看更新",
- "search_suggestions_button": "搜索建议",
- "search_suggestions_text": "启用/禁用搜索建议",
- // Proxy
- "useproxytitletext": "代理绕过",
- "useproxyText": "如果搜索建议无法正常工作",
- "ProxyText": "CORS绕过代理",
- "ProxySubtext": "添加您自己的CORS绕过代理",
- "HostproxyButton": "托管您自己的代理",
- "saveproxy": "保存",
- // Location
- "UserLocText": "输入您的位置",
- "UserLocSubtext": "如果天气位置不正确",
- "userLoc": "您的位置(城市/纬度,经度)",
- "InputOptionsButton": "输入选项",
- "saveLoc": "保存",
- // Weather
- "WeatherApiText": "输入您自己的天气API密钥",
- "WeatherApiSubtext": "如果天气功能无法正常工作",
- "userAPI": "您的天气API密钥",
- "LearnMoreButton": "了解更多",
- "saveAPI": "保存API",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
- "months": ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
- // End of Calendar
-
- // Weather
- "humidityText": "湿度",
- "feelsLike": "体感温度",
- "location": "地球",
- // End of Weather
-
- // New Tab Item
- "conditionText": "你好!今天怎么样?",
- "enterBtn": "输入",
- "searchPlaceholder": "输入搜索内容...",
- "searchWithHint": "搜索引擎",
- "ai_tools": "AI工具",
- "userText": "双击可编辑",
- // End of Body and New Tab Items
-},
-
- // Hindi
- "hi": {
- // Menu Items
- "feedback": "प्रतिक्रिया",
- "resetsettings": "सेटिंग्स रीसेट करें",
- // later ----> "menuCloseButton:hover::after": "बंद करें",
- // Shortcuts
- "shortcutsText": "शॉर्टकट्स",
- "enableShortcutsText": "शॉर्टकट्स सक्षम/अक्षम करें",
- "editShortcutsText": "शॉर्टकट्स संपादित करें",
- "editShortcutsList": "शॉर्टकट्स संपादित करें",
- "shortcutsInfoText": "कौन से शॉर्टकट्स दिखाए जाएँ, चुनें",
- "adaptiveIconText": "अनुकूल आइकन आकृतियाँ",
- "adaptiveIconInfoText": "शॉर्टकट आइकन हमेशा गोल होंगे",
- "ai_tools_button": "AI-उपकरण",
- "enable_ai_tools": "AI उपकरणों के शॉर्टकट्स सक्षम/अक्षम करें",
- // Digital Clock
- "digitalclocktittle": "डिजिटल घड़ी",
- "digitalclockinfo": "डिजिटल घड़ी को सक्षम/अक्षम करें",
- "timeformattittle": "12 घंटे का प्रारूप उपयोग करें",
- "timeformatinfo": "12 घंटे का समय प्रारूप उपयोग करें",
- // Misc
- "fahrenheitCelsiusCheckbox": "तापमान फारेनहाइट में बदलें",
- "fahrenheitCelsiusText": "बदलाव के लिए पृष्ठ को रीफ्रेश करें",
- "search_suggestions_button": "खोज सुझाव",
- "search_suggestions_text": "खोज सुझाव सक्षम/अक्षम करें",
- // Proxy
- "useproxytitletext": "प्रॉक्सी बायपास",
- "useproxyText": "यदि खोज सुझाव काम नहीं कर रहे हैं",
- "ProxyText": "CORS बायपास प्रॉक्सी",
- "ProxySubtext": "अपना CORS बायपास प्रॉक्सी जोड़ें",
- "HostproxyButton": "अपना प्रॉक्सी संचालित करें",
- "saveproxy": "दर्ज करें",
- // Location
- "UserLocText": "अपना स्थान दर्ज करें",
- "UserLocSubtext": "यदि मौसम स्थान सटीक नहीं है",
- "userLoc": "आपका स्थान (शहर/अक्षांश,देशांतर)",
- "InputOptionsButton": "इनपुट विकल्प",
- "saveLoc": "दर्ज करें",
- // Weather
- "WeatherApiText": "अपनी खुद की WeatherAPI कुंजी दर्ज करें",
- "WeatherApiSubtext": "यदि मौसम सुविधा काम नहीं कर रही है",
- "userAPI": "आपकी WeatherAPI कुंजी",
- "LearnMoreButton": "और जानें",
- "saveAPI": "दर्ज करें",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], // Truncated for display
- // "days": ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], // Full
- "months": ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवंबर', 'दिसंबर'],
- // "months": ['जन', 'फर', 'मार्च', 'अप्र', 'मई', 'जून', 'जुला', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'], // Truncated
-
- // Weather
- "humidityText": "नमी",
- "feelsLike": "महसूस",
- "location": "पृथ्वी",
- // End of Weather
-
- // New Tab Item
- "conditionText": "नमस्ते! आप आज कैसे हैं?",
- "enterBtn": "सर्च करें",
- "searchPlaceholder": "यहाँ लिखें...",
- "searchWithHint": "खोज माध्यम",
- "ai_tools": "AI उपकरण",
- "userText": "यहाँ अपना टेक्स्ट लिखें",
- // End of Body and New Tab Items
- },
-
- // Czech
- "cs": {
- // Menu Items
- "feedback": "Zpětná vazba",
- "resetsettings": "Resetovat nastavení",
- // Shortcuts
- "shortcutsText": "Zkratky",
- "enableShortcutsText": "Povolí/zakáže zkratky",
- "editShortcutsText": "Upravit zkratky",
- "editShortcutsList": "Upravit zkratky",
- "shortcutsInfoText": "Vyberte, které zkratky se mají zobrazit",
- "adaptiveIconText": "Adaptivní tvary ikon",
- "adaptiveIconInfoText": "Ikony zkratek budou vždy kulaté",
- "ai_tools_button": "AI nástroje",
- "enable_ai_tools": "Povolí/zakáže zkratky AI nástrojů",
- // Digital Clock
- "digitalclocktittle": "Digitální hodiny",
- "digitalclockinfo": "Povolí/zakáže digitální hodiny",
- "timeformattittle": "Použít 12hodinový formát",
- "timeformatinfo": "Použije 12hodinový formát času",
- // Misc
- "fahrenheitCelsiusCheckbox": "Přepnout na stupně Fahrenheita",
- "fahrenheitCelsiusText": "Změny se projeví po obnovení stránky",
- "search_suggestions_button": "Návrhy vyhledávání",
- "search_suggestions_text": "Povolí/zakáže návrhy vyhledávání",
- // Proxy
- "useproxytitletext": "Obcházení proxy",
- "useproxyText": "Pokud nefungují návrhy vyhledávání",
- "ProxyText": "Proxy pro obcházení CORS",
- "ProxySubtext": "Přidejte vlastní proxy pro obcházení CORS",
- "HostproxyButton": "Provozování vlastní proxy",
- "saveproxy": "Uložit",
- // Location
- "UserLocText": "Zadejte svou polohu",
- "UserLocSubtext": "Pokud není poloha počasí správná",
- "userLoc": "Vaše poloha (město / zeměpisná šířka, zeměpisná délka)",
- "InputOptionsButton": "Co lze zadat",
- "saveLoc": "Uložit",
- // Weather
- "WeatherApiText": "Zadejte svůj klíč k WeatherAPI",
- "WeatherApiSubtext": "Pokud nefunguje funkce počasí",
- "userAPI": "Váš klíč k WeatherAPI",
- "LearnMoreButton": "Zjistit více",
- "saveAPI": "Uložit",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'],
- "months": ['Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec'],
- // End of Calendar
-
- // Weather
- "humidityText": "Vlhkost",
- "feelsLike": "Pocitová teplota",
- "location": "Země",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Dobrý den! Jak se máte?",
- "enterBtn": "Vyhledat",
- "searchPlaceholder": "Zadejte hledaný výraz...",
- "searchWithHint": "Vyhledávat prostřednictvím",
- "ai_tools": "AI nástroje",
- "userText": "Upravíte dvojklikem",
- // End of Body and New Tab Items
-},
-
- // Italian
- // Machine translated some elements, please verify and delete this comment
- "it": {
- // Menu Items
- "feedback": "Feedback",
- "resetsettings": "Reimposta Impostazioni",
- // Shortcuts
- "shortcutsText": "Scorciatoie",
- "enableShortcutsText": "Abilita/disabilita scorciatoie",
- "editShortcutsText": "Modifica Scorciatoie",
- "editShortcutsList": "Modifica Scorciatoie",
- "shortcutsInfoText": "Scegli quali scorciatoie mostrare",
- "adaptiveIconText": "Forme di Icona Adattiva",
- "adaptiveIconInfoText": "Le icone delle scorciatoie saranno sempre rotonde",
- "ai_tools_button": "Strumenti AI",
- "enable_ai_tools": "Abilita/disabilita scorciatoie Strumenti AI",
- // Digital Clock
- "digitalclocktittle": "Orologio Digitale",
- "digitalclockinfo": "Abilita/disabilita Orologio Digitale",
- "timeformattittle": "Usa formato 12h",
- "timeformatinfo": "Usa formato orario a 12 ore",
- // Misc
- "fahrenheitCelciusCheckbox": "Passa a Fahrenheit",
- "fahrenheitCelciusText": "Ricarica la pagina per vedere gli aggiornamenti",
- "search_suggestions_button": "Suggerimenti di Ricerca",
- "search_suggestions_text": "Abilita/disabilita Suggerimenti di Ricerca",
- // Proxy
- "useproxytitletext": "Bypass Proxy",
- "useproxyText": "Se i suggerimenti di ricerca non funzionano",
- "ProxyText": "Proxy di Bypass CORS",
- "ProxySubtext": "Aggiungi il tuo Proxy di Bypass CORS",
- "HostproxyButton": "Hosta il Tuo Proxy",
- "saveproxy": "Invia",
- // Location
- "UserLocText": "Inserisci la tua posizione",
- "UserLocSubtext": "Se la posizione meteo non è corretta",
- "userLoc": "La tua posizione (Città/Latitudine,Longitudine)",
- "InputOptionsButton": "Opzioni di Inserimento",
- "saveLoc": "Invia",
- // Weather
- "WeatherApiText": "Inserisci la tua chiave WeatherAPI",
- "WeatherApiSubtext": "Se la funzionalità meteo non funziona",
- "userAPI": "La tua chiave WeatherAPI",
- "LearnMoreButton": "Scopri di più",
- "saveAPI": "Invia",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
- "months": ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
- // End of Calendar
-
- // Weather
- "humidityText": "Umidità",
- "feelsLike": "Percepito",
- "location": "Terra",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Ciao! Come stai oggi?",
- "enterBtn": "Invia",
- "searchPlaceholder": "Cerca...",
- "searchWithHint": "Cerca con",
- "ai_tools": "Strumenti AI",
- "userText": "Clicca per modificare",
- // End of Body and New Tab Items
-},
-
- // Turkish
- // Machine translated some elements, please verify and delete this commenty
- "tr": {
- // Menu Items
- "feedback": "Geri Bildirim",
- "resetsettings": "Ayarları Sıfırla",
- // Shortcuts
- "shortcutsText": "Kısayollar",
- "enableShortcutsText": "Kısayolları etkinleştir/devre dışı bırak",
- "editShortcutsText": "Kısayolları Düzenle",
- "editShortcutsList": "Kısayolları Düzenle",
- "shortcutsInfoText": "Hangi kısayolların gösterileceğini seçin",
- "adaptiveIconText": "Uyarlanabilir İkon Şekilleri",
- "adaptiveIconInfoText": "Kısayol İkonları her zaman yuvarlak olacak",
- "ai_tools_button": "AI Araçları",
- "enable_ai_tools": "AI Araçları kısayollarını etkinleştir/devre dışı bırak",
- // Digital Clock
- "digitalclocktittle": "Dijital Saat",
- "digitalclockinfo": "Dijital Saati etkinleştir/devre dışı bırak",
- "timeformattittle": "12 saat Formatını Kullanın",
- "timeformatinfo": "12 saat zaman formatını kullanın",
- // Misc
- "fahrenheitCelsiusCheckbox": "Fahrenheit'a geç",
- "fahrenheitCelsiusText": "Güncellemeleri görmek için sayfayı yenileyin",
- "search_suggestions_button": "Arama Önerileri",
- "search_suggestions_text": "Arama Önerilerini etkinleştir/devre dışı bırak",
- // Proxy
- "useproxytitletext": "Proxy Atlatma",
- "useproxyText": "Eğer arama önerileri çalışmıyorsa",
- "ProxyText": "CORS Atlatma Proxy",
- "ProxySubtext": "Kendi CORS Atlatma Proxy'nizi ekleyin",
- "HostproxyButton": "Kendi Proxy'nizi Barındırın",
- "saveproxy": "Gönder",
- // Location
- "UserLocText": "Konumunuzu girin",
- "UserLocSubtext": "Hava durumu konumu doğru değilse",
- "userLoc": "Konumunuz (Şehir/Enlem,Boylam)",
- "InputOptionsButton": "Girdi Seçenekleri",
- "saveLoc": "Gönder",
- // Weather
- "WeatherApiText": "Kendi Hava Durumu API anahtarınızı girin",
- "WeatherApiSubtext": "Hava durumu işlevi çalışmıyorsa",
- "userAPI": "Hava Durumu API anahtarınız",
- "LearnMoreButton": "Daha Fazla Bilgi Edinin",
- "saveAPI": "API'yi Kaydet",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
- "months": ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
- // End of Calendar
-
- // Weather
- "humidityText": "Nem",
- "feelsLike": "Hissedilen",
- "location": "Dünya",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Merhaba! Bugün nasılsın?",
- "enterBtn": "Gönder",
- "searchPlaceholder": "Aramanız...",
- "searchWithHint": "ile Ara",
- "ai_tools": "AI Araçları",
- "userText": "Düzenlemek için çift dokunun",
- // End of Body and New Tab Items
-},
-
- // Bengali
- "bn": {
- // Menu Items
- "feedback": "প্রতিক্রিয়া",
- "resetsettings": "সেটিংস রিসেট করুন",
- // later ----> "menuCloseButton:hover::after": "বন্ধ করুন",
- // Shortcuts
- "shortcutsText": "শর্টকাট",
- "enableShortcutsText": "শর্টকাট সক্রিয়/নিষ্ক্রিয় করুন",
- "editShortcutsText": "শর্টকাট সম্পাদনা করুন",
- "editShortcutsList": "শর্টকাট সম্পাদনা তালিকা",
- "shortcutsInfoText": "যেসব শর্টকাট প্রদর্শিত হবে তা নির্বাচন করুন",
- "adaptiveIconText": "অ্যাডাপ্টিভ আইকন আকার",
- "adaptiveIconInfoText": "শর্টকাট আইকন সর্বদা গোলাকার থাকবে",
- "ai_tools_button": "AI সরঞ্জাম",
- "enable_ai_tools": "AI সরঞ্জাম শর্টকাট সক্রিয়/নিষ্ক্রিয় করুন",
- // Digital Clock
- "digitalclocktittle": "ডিজিটাল ঘড়ি",
- "digitalclockinfo": "ডিজিটাল ঘড়ি সক্রিয়/নিষ্ক্রিয় করুন",
- "timeformattittle": "১২ ঘণ্টার ফরম্যাট ব্যবহার করুন",
- "timeformatinfo": "১২ ঘণ্টার সময় ফরম্যাট ব্যবহার করুন",
- // Misc
- "fahrenheitCelsiusCheckbox": "ফারেনহাইটে পরিবর্তন করুন",
- "fahrenheitCelsiusText": "আপডেট দেখতে পৃষ্ঠা রিফ্রেশ করুন",
- "search_suggestions_button": "অনুসন্ধানের পরামর্শ",
- "search_suggestions_text": "অনুসন্ধানের পরামর্শ সক্রিয়/নিষ্ক্রিয় করুন",
- // Proxy
- "useproxytitletext": "প্রক্সি বাইপাস",
- "useproxyText": "যদি অনুসন্ধানের পরামর্শ কাজ না করে",
- "ProxyText": "CORS বাইপাস প্রক্সি",
- "ProxySubtext": "আপনার নিজের CORS বাইপাস প্রক্সি যোগ করুন",
- "HostproxyButton": "আপনার নিজের প্রক্সি হোস্ট করুন",
- "saveproxy": "প্রবেশ করুন",
- // Location
- "UserLocText": "আপনার অবস্থান লিখুন",
- "UserLocSubtext": "যদি আবহাওয়ার অবস্থান সঠিক না হয়",
- "userLoc": "আপনার অবস্থান (শহর/অক্ষাংশ,দ্রাঘিমাংশ)",
- "InputOptionsButton": "ইনপুট অপশন",
- "saveLoc": "প্রবেশ করুন",
- // Weather
- "WeatherApiText": "আপনার নিজস্ব WeatherAPI কী লিখুন",
- "WeatherApiSubtext": "যদি আবহাওয়া ফিচার কাজ না করে",
- "userAPI": "আপনার WeatherAPI কী",
- "LearnMoreButton": "আরও জানুন",
- "saveAPI": "প্রবেশ করুন",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], // Truncated for display
- //"days": ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'], // Full
- "months": ['জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
- // "months": ['জানু', 'ফেব', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ', 'অক্টো', 'নভে', 'ডিসে'], // Truncated
- // End of Calendar
-
- // Weather
- "humidityText": "আর্দ্রতা",
- "feelsLike": "অনুভূত হয়",
- "location": "পৃথিবী",
- // End of Weather
-
- // New Tab Item
- "conditionText": "হ্যালো! আপনি আজ কেমন আছেন?",
- "enterBtn": "প্রবেশ করুন",
- "searchPlaceholder": "আপনার প্রশ্ন লিখুন...",
- "searchWithHint": "অনুসন্ধান করুন",
- "ai_tools": "AI সরঞ্জাম",
- "userText": "সম্পাদনা করতে ডবল ট্যাপ করুন",
- // End of Body and New Tab Items
- },
-
- // Russian
-"ru": {
- // Menu Items
- "feedback": "Обратная связь",
- "resetsettings": "Сброс настроек",
- // Shortcuts
- "shortcutsText": "Ярлыки",
- "enableShortcutsText": "Включить/Отключить ярлыки",
- "editShortcutsText": "Редактировать ярлыки",
- "editShortcutsList": "Редактировать ярлыки",
- "shortcutsInfoText": "Выберите, какие ярлыки будут отображаться",
- "adaptiveIconText": "Адаптивные формы значков",
- "adaptiveIconInfoText": "Ярлыки всегда будут круглыми",
- "ai_tools_button": "Инструменты ИИ",
- "enable_ai_tools": "Включить/Отключить ярлыки инструментов ИИ",
- // Digital Clock
- "digitalclocktittle": "Цифровые часы",
- "digitalclockinfo": "Включить/Отключить цифровые часы",
- "timeformattittle": "12-часовой формат",
- "timeformatinfo": "Использовать 12-часовой формат времени",
- // Misc
- "fahrenheitCelsiusCheckbox": "Переключить на Фаренгейт",
- "fahrenheitCelsiusText": "Обновите страницу, чтобы увидеть изменения",
- "search_suggestions_button": "Поисковые подсказки",
- "search_suggestions_text": "Включить/Отключить поисковые подсказки",
- // Proxy
- "useproxytitletext": "Использовать прокси",
- "useproxyText": "Если поисковые подсказки не работают",
- "ProxyText": "CORS обход прокси",
- "ProxySubtext": "Добавьте свой CORS-прокси",
- "HostproxyButton": "Разместить свой прокси",
- "saveproxy": "Применить",
- // Location
- "UserLocText": "Введите ваше местоположение",
- "UserLocSubtext": "Если местоположение для погоды неверно",
- "userLoc": "Ваше местоположение (Город/Широта,Долгота)",
- "InputOptionsButton": "Опции ввода",
- "saveLoc": "Применить",
- // Weather
- "WeatherApiText": "Введите свой ключ WeatherAPI",
- "WeatherApiSubtext": "Если функция погоды не работает",
- "userAPI": "Ваш ключ WeatherAPI",
- "LearnMoreButton": "Узнать больше",
- "saveAPI": "Применить",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
- "months": ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
- // End of Calendar
-
- // Weather
- "humidityText": "Влажность",
- "feelsLike": "Ощущается как",
- "location": "Земля",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Привет! Как ты сегодня?",
- "enterBtn": "Ввод",
- "searchPlaceholder": "Ваш запрос...",
- "searchWithHint": "Искать с помощью",
- "ai_tools": "Инструменты ИИ",
- "userText": "Дважды нажмите для редактирования",
- // End of Body and New Tab Items
-}
-};
-
-// Function to apply the language to the page
-function applyLanguage(lang) {
- if (translations[lang]) {
- // Menu Items
- document.getElementById('feedbackbtntext').innerText = translations[lang].feedback;
- document.getElementById('resetsettingstext').innerText = translations[lang].resetsettings;
- document.getElementById('shortcutsText').innerText = translations[lang].shortcutsText;
- document.getElementById('enableShortcutsText').innerText = translations[lang].enableShortcutsText;
- document.getElementById('editShortcutsText').innerText = translations[lang].editShortcutsText;
- document.getElementById('editShortcutsList').innerText = translations[lang].editShortcutsList;
- document.getElementById('shortcutsInfoText').innerText = translations[lang].shortcutsInfoText;
- document.getElementById('adaptiveIconText').innerText = translations[lang].adaptiveIconText;
- document.getElementById('adaptiveIconInfoText').innerText = translations[lang].adaptiveIconInfoText;
- document.getElementById('ai_tools_button').innerText = translations[lang].ai_tools_button;
- document.getElementById('enable_ai_tools').innerText = translations[lang].enable_ai_tools;
- document.getElementById('fahrenheitCelsiusCheckbox').innerText = translations[lang].fahrenheitCelsiusCheckbox;
- document.getElementById('fahrenheitCelsiusText').innerText = translations[lang].fahrenheitCelsiusText;
- document.getElementById('search_suggestions_button').innerText = translations[lang].search_suggestions_button;
- document.getElementById('search_suggestions_text').innerText = translations[lang].search_suggestions_text;
-
- // Clock
- document.getElementById('digitalclocktittle').innerText = translations[lang].digitalclocktittle;
- document.getElementById('digitalclockinfo').innerText = translations[lang].digitalclockinfo;
- document.getElementById('timeformattittle').innerText = translations[lang].timeformattittle;
- document.getElementById('timeformatinfo').innerText = translations[lang].timeformatinfo;
-
- // Proxy
- document.getElementById('useproxytitletext').innerText = translations[lang].useproxytitletext;
- document.getElementById('useproxyText').innerText = translations[lang].useproxyText;
- document.getElementById('ProxySubtext').innerText = translations[lang].ProxySubtext;
- document.getElementById('HostproxyButton').innerText = translations[lang].HostproxyButton;
- document.getElementById('saveproxy').innerText = translations[lang].saveproxy;
-
- // Weather
- document.getElementById('UserLocSubtext').innerText = translations[lang].UserLocSubtext;
- document.getElementById('userLoc').placeholder = translations[lang].userLoc;
- document.getElementById('InputOptionsButton').innerText = translations[lang].InputOptionsButton;
- document.getElementById('saveLoc').innerText = translations[lang].saveLoc;
- document.getElementById('WeatherApiSubtext').innerText = translations[lang].WeatherApiSubtext;
- document.getElementById('userAPI').placeholder = translations[lang].userAPI;
- document.getElementById('LearnMoreButton').innerText = translations[lang].LearnMoreButton;
- document.getElementById('saveAPI').innerText = translations[lang].saveAPI;
-
- // End of Menu Items
-
- // Body Items
- document.getElementById('conditionText').innerText = translations[lang].conditionText;
- document.getElementById('enterBtn').innerText = translations[lang].enterBtn;
- document.getElementById('searchQ').placeholder = translations[lang].searchPlaceholder;
- document.getElementById('searchWithHint').innerText = translations[lang].searchWithHint;
- document.getElementById('ai_tools').innerText = translations[lang].ai_tools;
- document.getElementById('userTextt').placeholder = translations[lang].userText;
-
- // Weather
- document.getElementById("humidityLevel").innerText = translations[lang].humidityText;
- document.getElementById("feelsLike").innerText = translations[lang].feelsLike;
- document.getElementById("location").innerText = translations[lang].location;
-
- // End of Body Items*/
-
- // Save the selected language in localStorage
- saveLanguageStatus('selectedLanguage', lang);
- } else {
- console.error('Language not found');
- }
-}
-// Detect language from navigator.language
-document.getElementById('languageSelector').addEventListener('change', (event) => {
- applyLanguage(event.target.value);
- location.reload();
-});
-// Function to apply the language when the page loads
-window.onload = function () {
- const savedLanguage = getLanguageStatus('selectedLanguage') || 'en'; // Default language is English
- if (savedLanguage) {
- document.getElementById("languageSelector").value = savedLanguage;
- }
- applyLanguage(savedLanguage);
-};
-
-// Function to save the language status in localStorage
-function saveLanguageStatus(key, languageStatus) {
- localStorage.setItem(key, languageStatus);
-}
-// Function to get the language status from localStorage
-function getLanguageStatus(key) {
- return localStorage.getItem(key);
-}
-export default translations;
\ No newline at end of file
diff --git a/dist/styles.css b/dist/styles.css
index c24fb86a..1cf3c676 100644
--- a/dist/styles.css
+++ b/dist/styles.css
@@ -1 +1 @@
-@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1";@font-face{font-family:poppins;src:url(/Poppins-Regular.ttf) format("truetype")}*{box-sizing:border-box}:root{font-family:poppins,Poppins,sans-serif;--bg-color-blue: #BBD6FD;--accentLightTint-blue: #E2EEFF;--darkerColor-blue: #3569b2;--darkColor-blue: #4382EC;--tonebtn-blue: #2c74f1cf;--textColorDark-blue: #1b3041;--bg-color-red: #FDBDBD;--accentLightTint-red: #ffe7e7;--darkerColor-red: #B23535;--darkColor-red: #EC4343;--tonebtn-red: #f12c2cc4;--textColorDark-red: #411B1B;--bg-color-yellow: #edea8c;--accentLightTint-yellow: #fff2c2;--darkerColor-yellow: #CCA243;--darkColor-yellow: #f4d837;--tonebtn-yellow: #f1e12cbc;--textColorDark-yellow: #5B5428;--bg-color-green: #C7E4C7;--accentLightTint-green: #E1F1E1;--darkerColor-green: #458245;--darkColor-green: #5CBA5C;--tonebtn-green: #39e417b1;--textColorDark-green: #1B411B;--bg-color-cyan: #9bffff;--accentLightTint-cyan: #d5ffff;--darkerColor-cyan: #5E9CA0;--darkColor-cyan: #00CED1;--tonebtn-cyan: #2cbcf1bf;--textColorDark-cyan: #08354B;--bg-color-pink: #F9C8D6;--accentLightTint-pink: #FFEBF2;--darkerColor-pink: #B24B64;--darkColor-pink: #EC5E78;--tonebtn-pink: #cd2cf1b6;--textColorDark-pink: #411B28;--bg-color-orange: #FFD8B2;--accentLightTint-orange: #FFEDD5;--darkerColor-orange: #B26D3E;--darkColor-orange: #EC844D;--tonebtn-orange: #f18f2ccf;--textColorDark-orange: #412B1E;--bg-color-purple: #DAC2E8;--accentLightTint-purple: #E9E2F3;--darkerColor-purple: #724B8F;--darkColor-purple: #9563B5;--tonebtn-purple: #712cf1cf;--textColorDark-purple: #2D1B3E;--bg-color-dark: #505050;--accentLightTint-dark: #818181;--darkerColor-dark: #010208;--darkColor-dark: #434343;--tonebtn-dark: #020813c3;--textColorDark-dark: #010208;--gap: 30px;--round: 30px;--max-shortcut-bar-width: 60vw;--shortcut-bar-gap-and-padding: 10px;--shortcut-size: 50px;--always-show-dock-background: 0;--md-icon-font:"Material Symbols Rounded";--md-primary-tab-container-color:#ffffff00;--md-icon-size:32px;--md-icon-button-icon-size: 32px;--md-outlined-text-field-input-text-font: "poppins", serif;--md-filled-text-field-input-text-font: "poppins", serif;--md-filled-text-field-input-text-size: 1.49rem;--md-filled-text-field-active-indicator-color: #ff000000;--md-filled-text-field-container-color:#ff000000;--md-primary-tab-container-shape:.5rem;--md-ripple-pressed-color: var(--darkerColor-blue);--md-ripple-hover-color: var(--darkColor-blue);--md-sys-color-primary: var(--darkColor-blue);--md-sys-color-on-primary: var(--accentLightTint-blue);--md-sys-color-primary-container: var(--accentLightTint-blue);--md-sys-color-on-primary-container: var(--accentLightTint-blue);--md-filter-chip-outline-color: var(--accentLightTint-blue);--md-filter-chip-label-text-color:var(--textColorDark-blue);--md-filled-tonal-button-label-text-font: "poppins";--md-filled-button-label-text-font: "poppins";--md-outlined-button-label-text-font: "poppins";--md-text-button-label-text-font: "poppins";--md-sys-color-secondary-container: var(--tonebtn-blue);--md-sys-color-on-secondary-container: #ffffff;--md-filter-chip-label-text-font: "poppins", serif;--md-primary-tab-label-text-font: "poppins", serif;--md-dialog-headline-font: "poppins", serif;--md-dialog-supporting-text-font: "poppins", serif;--md-secondary-tab-container-color:var(--accentLightTint-blue);--md-elevated-button-label-text-font: "poppins", serif;--md-elevated-button-icon-color:var(--accentLightTint-blue);--md-elevated-button-hover-icon-color:var(--accentLightTint-blue);--md-elevated-button-focus-icon-color:var(--accentLightTint-blue);--md-elevated-button-label-text-color:var(--accentLightTint-blue);--md-elevated-button-hover-label-text-color:var(--accentLightTint-blue);--md-elevated-button-focus-label-text-color:var(--accentLightTint-blue);--md-elevated-button-container-color:var(--darkColor-blue)}.resultBox{max-height:250px;overflow-y:auto;position:absolute;top:1;left:0;width:100%;border-radius:var(--round);padding:10px;scrollbar-width:none;opacity:0;z-index:-1000;transform:translateY(-70px);transition:opacity .5s ease,transform .5s ease,z-index .5s ease;pointer-events:none}.resultBox::-webkit-scrollbar{display:none}.resultBox.show{opacity:1;visibility:visible;transform:translateY(0);z-index:1000;pointer-events:all}.resultItem{padding:10px;cursor:pointer;font-size:1.2rem;color:var(--textColorDark-blue)}.resultItem:hover{background-color:var(--darkColor-blue);border-radius:15px;color:#fff}.accentColor{fill:var(--darkColor-blue)}.bgLightTint{fill:var(--accentLightTint-blue);background-color:var(--accentLightTint-blue)}.lessDark{background-color:var(--bg-color-blue);fill:var(--bg-color-blue)}html{height:100%;width:100%;margin:0}body{font-family:poppins,Poppins,sans-serif;margin:0;padding:0;background-color:var(--bg-color-blue);color:var(--textColorDark-blue);display:flex;align-items:center;justify-content:center;width:100%;min-height:100%}.centerDiv{display:grid;grid-template-columns:auto auto;width:fit-content;height:fit-content;padding-bottom:calc(var(--shortcut-size) + var(--gap) * 2)}md-outlined-text-field#userproxy{width:-webkit-fill-available}md-outlined-text-field#userLoc{width:-webkit-fill-available}md-outlined-text-field#userAPI{width:-webkit-fill-available}.button-container{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:20px}.button-container md-filled-button,md-outlined-button{flex:1 1 auto;min-width:150px}.icon{margin-bottom:3px}#digitalClock,#analogClock{width:300px;height:300px;border-radius:100%;position:relative}#clock svg{position:absolute;animation:clockAnm 1s}@keyframes clockAnm{0%{transform:rotate(40deg)}to{transform:rotate(0)}}.clock .centerPoint{width:20px;height:20px;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto}.clock .centerPoint .sui{position:absolute;width:20px;height:100px;background-color:var(--darkColor-blue);top:-90px;transform-origin:bottom;border-radius:10px}#hour{height:80px;top:-70px;background-color:var(--darkerColor-blue);transform:rotate(90deg);transition:transform 1.5s}#hour:after{content:"";position:absolute;width:20px;height:30px;background-color:var(--darkerColor-blue);bottom:-10px;border-radius:100px}#minute{z-index:9!important;transition:transform 1.5s}#minute:after{content:"";position:absolute;width:20px;height:30px;background-color:var(--darkColor-blue);bottom:-10px;border-radius:100px}#second{background-color:#0000;transition:transform 1s}#second:after{content:"";position:absolute;width:20px;height:20px;background-color:var(--darkColor-blue);top:-28px;border-radius:100%}.ttteexxtt{position:absolute;bottom:18px;left:5px}#userText{font-family:poppins,serif;font-size:1.4rem;margin-bottom:10px}#date{font-size:1.4rem}.digidate{fill:var(--darkerColor-blue)}.digiclock{text-anchor:middle;fill:var(--darkColor-blue);font-size:8rem;font-weight:lighter;margin:auto;width:fit-content}.leftDiv{transform:translate(-100px)}.rightDiv{position:relative;width:640px;transform:translate(100px)}.rightDiv .topDiv{height:196px;display:flex;justify-content:flex-end}.rightDiv .topDiv .lrectangle{height:100%;width:100%;border-radius:var(--round);padding:20px;position:relative}#conditionText{font-size:1.2rem;color:var(--textColorDark-blue)}.cconnt{width:calc(100% - 40px);bottom:20px;height:fit-content;position:absolute;font-size:1rem}.tilesContainer{height:50px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px}.tilesContainer .tiles{background-color:#fff;border-radius:22px;position:relative;height:50px}.tilesContainer .location{background-color:var(--darkColor-blue)}.tilesContainer .location .location_spn{color:#fff}.tilesContainer .tiles .icon{height:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}.tilesContainer .tiles span{position:absolute;top:0;left:46px;bottom:0;margin:auto;color:var(--textColorDark-blue);height:fit-content}.humidityBar{border-radius:20px;height:40px;width:100%;margin-bottom:20px;position:relative}.humidityBar:after{position:absolute;content:"";height:100%;width:40px;background-size:66%;background:var(--darkColor-blue) url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='40px'%20viewBox='0%20-960%20960%20960'%20width='40px'%20fill='%23e8eaed'%3e%3cpath%20d='M580.08-246.67q22.25%200%2037.75-15.58%2015.5-15.57%2015.5-37.83%200-22.25-15.58-37.75-15.57-15.5-37.83-15.5-22.25%200-37.75%2015.58-15.5%2015.57-15.5%2037.83%200%2022.25%2015.58%2037.75%2015.57%2015.5%2037.83%2015.5Zm-225.41-28q10%2010%2023.33%2010%2013.33%200%2023.33-10l204-204q10-10%2010-23.33%200-13.33-10.03-23.33-10.04-10-23.84-10-13.79%200-23.79%2010l-203%20203.66q-10%209.87-10%2023.44%200%2013.56%2010%2023.56Zm25.41-172q22.25%200%2037.75-15.58%2015.5-15.57%2015.5-37.83%200-22.25-15.58-37.75-15.57-15.5-37.83-15.5-22.25%200-37.75%2015.58-15.5%2015.57-15.5%2037.83%200%2022.25%2015.58%2037.75%2015.57%2015.5%2037.83%2015.5ZM480-80q-137%200-228.5-94T160-408q0-63.33%2028.67-126.03%2028.66-62.69%2071.66-120.33t93-107.97q50-50.34%2093.34-88.67%207.33-6.67%2015.88-9.5%208.54-2.83%2017.5-2.83%208.95%200%2017.45%202.83t15.83%209.5q43.34%2038.33%2093.41%2088.8%2050.08%2050.47%2093%20108%2042.93%2057.53%2071.59%20120.2Q800-471.33%20800-408q0%20140-91.5%20234T480-80Zm0-66.67q109.33%200%20181.33-74.5%2072-74.5%2072-187.04%200-76.79-64.5-174.46-64.5-97.66-188.83-208.66-124.33%20111-188.83%20208.66-64.5%2097.67-64.5%20174.46%200%20112.54%2072%20187.04%2072%2074.5%20181.33%2074.5ZM480-480Z'/%3e%3c/svg%3e") no-repeat center center;right:0;border-radius:100%}.humidityBar .thinLine{position:absolute;width:calc(100% - 60px);background-color:#fff;height:6px;border-radius:10px;top:0;bottom:0;margin:auto}.humidityBar .slider{height:100%;width:calc(10% - 60px);min-width:42%;background-color:var(--darkColor-blue);border-radius:100px;position:absolute;transition:width 1s}#humidityLevel{color:#fff;width:fit-content;position:absolute;bottom:0;top:0;margin:auto;left:20px;height:fit-content}.rightDiv .topDiv .rAndakar{position:relative;height:100%;aspect-ratio:1/1;margin-left:var(--gap);animation:rAndAnm 1s}@keyframes rAndAnm{0%{transform:rotate(-45deg)}to{transform:rotate(0)}}.rightDiv .topDiv .rAndakar .wInfo{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;transform:translate(14px);width:100px;height:80%}#temp{font-size:3.5rem;font-weight:700;color:var(--darkerColor-blue);margin:auto;width:fit-content}#wIcon{width:80px;height:80px;margin-top:-20px;margin-left:-40px}.searchbar{margin-top:var(--gap);width:100%;height:60px;border-radius:var(--round);position:relative;outline:2px solid rgba(0,0,0,0);transition:outline .3s}.searchbar.active{outline:2px solid var(--darkColor-blue)}#searchQ{display:block;position:absolute;height:80%;width:calc(100% - 120px);top:0;bottom:0;margin:auto auto auto 20px;outline:none;border:none;background-color:#0000;border-radius:100px;padding:0 40px;font-size:1rem}.enterBtn{position:absolute;right:10px;top:0;bottom:0;margin:auto;height:40px;padding:0 26px;font-size:1.1rem}.spacer{height:50px}.searchIcon{position:absolute;margin-top:14px;margin-left:14px}.searchEnginesContainer .search-engine{border-radius:20px;height:40px;display:flex;align-items:center;justify-content:center;position:relative}.searchWithCont{margin-top:var(--gap);border-radius:var(--round);position:relative;display:flex;font-size:1rem}.searchWithCont .hint{width:200px;height:100px;display:flex;align-items:center;justify-content:center;padding:10px;position:relative;margin-right:16px;border-radius:var(--round)}.searchWithCont .hint:after{content:"";position:absolute;width:6px;height:100%;background-color:var(--accentLightTint-blue);border-radius:3px;right:-20px}.searchEnginesContainer{display:flex;flex-wrap:wrap;padding-left:20px;gap:5px}#shortcuts-section{pointer-events:none;display:flex;justify-content:center;width:100%;height:calc(var(--shortcut-size) + var(--gap) * 2);position:fixed;left:0;right:0;bottom:0;margin:auto}#shortcuts-section .unfoldContainer{transition:transform .5s;position:absolute;width:100%;top:0;display:flex;justify-content:center}#shortcuts-section #unfoldShortcutsBtn{display:none;pointer-events:auto;fill:var(--textColorDark-blue);background:none;border:none;cursor:pointer;z-index:1;transition:.2s all;transform-origin:50% 25%}#shortcuts-section .wrapper{position:relative;height:fit-content;display:inline-flex;align-items:stretch;width:fit-content}#shortcuts-section #flexMonitor{position:absolute;height:100%;visibility:hidden}#shortcuts-section #defaultMonitor{position:absolute;height:calc(var(--shortcut-size) + var(--gap) + var(--shortcut-bar-gap-and-padding));visibility:hidden}.shortcutsContainer{pointer-events:auto;transition:transform .5s;margin-top:calc(var(--gap) - var(--shortcut-bar-gap-and-padding));max-width:calc(var(--max-shortcut-bar-width) - mod(var(--max-shortcut-bar-width) - var(--shortcut-bar-gap-and-padding),var(--shortcut-size) + var(--shortcut-bar-gap-and-padding)));display:flex;flex-wrap:wrap;padding:var(--shortcut-bar-gap-and-padding);justify-content:left;width:fit-content;gap:var(--gap) var(--shortcut-bar-gap-and-padding)}.shortcutsContainer:before{border-radius:34px;content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--accentLightTint-blue);z-index:-1;opacity:var(--always-show-dock-background);transition:opacity .5s;pointer-events:none}.shortcutsContainer.showBackground:before{opacity:1}.shortcutsContainer .shortcuts{position:relative;transition:all .3s}.shortcutsContainer .shortcuts:hover{transform:translateY(-10px) scale(1.06);box-shadow:0 5px 10px var(--accentLightTint-blue);border-radius:100px}.shortcuts .shortcut-name{visibility:hidden;position:absolute;bottom:-30px;right:0;left:50%;transform:translate(-50%);margin:auto;width:fit-content;text-align:center;color:var(--textColorDark-blue);opacity:0;transition:all .3s;font-size:1rem;white-space:nowrap}.shortcuts:hover .shortcut-name{visibility:visible;opacity:1}.shortcutsContainer .shortcuts a{border-radius:100px;display:block;height:var(--shortcut-size);width:var(--shortcut-size)}.shortcutsContainer .shortcuts a:has(svg){background-color:var(--accentLightTint-blue)}.shortcutsContainer .shortcuts a:has(img){background-color:var(--darkColor-blue)}.shortcutsContainer .shortcuts a svg{height:100%;width:100%}.shortcutsContainer .shortcuts .shortcutLogoContainer{border-radius:50%;display:flex;justify-content:center;align-items:center;height:100%;width:100%}.shortcutsContainer .shortcuts .shortcutLogoContainer img{height:100%;width:100%;border-radius:100%}.aiToolsCont{height:50px;width:fit-content;overflow-x:hidden;border-radius:100px;position:absolute;left:var(--gap);bottom:var(--gap);margin:auto;display:flex}.aiToolsCont .hangno{background-color:var(--accentLightTint-blue);height:100%;display:flex;align-items:center;justify-content:center;padding:0 16px;border-radius:100px;z-index:2}.aiToolsCont .hangno .icon{width:26px;height:26px;margin-right:12px}.aiToolsCont .hangno .label{font-size:1rem;color:var(--textColorDark-blue);cursor:default}.aiToolsCont .toolsCont{display:none;position:relative;margin-left:30px;transition:all .5s;gap:0;transform-origin:left;transform:scale(.5) translate(-70px);opacity:.2}.aiToolsCont .toolsCont:before{content:"";position:absolute;height:100%;width:6px;background-color:var(--accentLightTint-blue);border-radius:6px;left:-18px}.aiToolsCont .toolsCont a{background-color:var(--accentLightTint-blue);height:100%;display:flex;align-items:center;justify-content:center;padding:0 16px;border-radius:100px;text-decoration:none;color:var(--textColorDark-blue);font-size:1rem}.aiToolsCont .toolsCont .tIcon{width:26px;height:26px;margin-right:12px}@media screen and (max-width: 1400px){.leftDiv{transform:translate(-50px)}.rightDiv{transform:translate(50px)}}@media screen and (max-width: 1200px){body{display:block}.centerDiv{grid-template-columns:auto;position:absolute;left:0;right:0;margin:var(--gap) auto auto}.leftDiv{transform:translate(0);margin-bottom:var(--gap)}.rightDiv{transform:translate(0)}.ttteexxtt{height:fit-content;width:fit-content;bottom:0;top:0;left:300px;margin:auto auto auto var(--gap)}}.menuBar{background-color:#0000004f;-webkit-backdrop-filter:blur(15px) saturate(170%);backdrop-filter:blur(15px) saturate(170%);position:fixed;width:100%;height:100%;z-index:9999;opacity:0;transition:all .5s;overflow:hidden}.menuBar .menuCont{position:absolute;right:0;height:100%;width:400px;transition:all .5s;transform:translate(100%);background-color:var(--accentLightTint-blue);border-bottom-left-radius:var(--round)}.menuBar .menuCont .topRounder{width:var(--round);height:var(--round);position:absolute;left:-30px}.menuCont .topDiv{width:100%;height:100px;background-color:var(--bg-color-blue);position:relative}.menuCont .topDiv:after{position:absolute;content:"";width:100%;height:var(--gap);background-color:var(--accentLightTint-blue);border-top-left-radius:var(--round);border-top-right-radius:var(--round);bottom:0}.menuCont .topDiv h1{font-size:1.6rem;width:fit-content;height:fit-content;color:var(--textColorDark-blue);position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;transform:translateY(-50%)}.menuCont .optCont{width:100%;height:calc(100% - 140px);transition:all .6s;transform:translate(100%);opacity:0;overflow-y:auto;overflow-x:hidden}.menuCont .optCont .page{width:100%;padding:0 var(--gap) var(--gap) var(--gap);position:absolute;transition:all .6s}.menuCont .optCont::-webkit-scrollbar{width:2px}.menuCont .optCont::-webkit-scrollbar-track{background:transparent}.menuCont .optCont::-webkit-scrollbar-thumb{background:var(--darkColor-blue);border-radius:2px}.menuCont .optCont{scrollbar-width:thin;scrollbar-color:var(--darkColor-blue) transparent}.menuBar .optCont .tilesCont{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.tilesCont .tiles{background-color:var(--darkColor-blue);border-radius:20px;font-size:1rem;color:var(--accentLightTint-blue);display:flex;align-items:center;text-decoration:none}.tilesCont .tiles .icon{width:24px;height:24px;margin-left:13px;margin-right:13px}.divider{height:6px;width:100px;background-color:#fff;border-radius:3px;margin:20px auto}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{display:none}.toggle{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-color-blue);transition:.4s;border-radius:34px}.toggle:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--accentLightTint-blue);transition:.4s;border-radius:50%}#shortcutEditButton{fill:var(--textColorDark-blue);display:flex;align-items:center;justify-content:center;border:none;border-radius:34px;cursor:pointer;transition:.3s all;margin:0 auto;background:none;height:100%;width:100%}.toggleTextsCont .ttcont.inactive{opacity:.5;pointer-events:none}input:checked+.toggle{background-color:var(--darkColor-blue)}input:checked+.toggle:before{transform:translate(26px)}.toggleTextsCont .ttcont{display:flex;height:50px;justify-content:space-between;align-items:center;margin-bottom:20px}.unflex{display:block!important}.ttcont input{width:100%;margin-top:6px;height:30px;border-radius:10px;border:none;outline:none;padding:0 11px}.ttcont .texts .bigText{font-size:1.2rem;color:var(--textColorDark-blue)}.ttcont .texts .infoText{font-size:.9rem;color:var(--textColorDark-blue);opacity:.86;margin-top:-3px}.bottom{display:flex;justify-content:space-between;margin-top:12px}.bottom a{text-decoration:none;color:var(--darkColor-blue);font-size:1rem}.bottom button{border:none;color:#fff;background-color:var(--darkColor-blue);padding:6px 20px;font-size:1rem;border-radius:100px;cursor:pointer}.resetbtn{width:-webkit-fill-available;border:none;color:#fff;background-color:var(--darkColor-blue);padding:6px 20px;font-size:1rem;border-radius:100px;cursor:pointer}.topBar{display:flex;justify-content:space-between;align-items:center;height:60px;position:sticky;top:0;left:0;right:0;z-index:1000;background-color:var(--accentLightTint-blue)}#backButton{fill:var(--textColorDark-blue);border:none;background:none;cursor:pointer}.rightButtons{display:flex;gap:24px}#resetButton,#newShortcutButton{fill:var(--textColorDark-blue);border:none;background:none;cursor:pointer}#newShortcutButton.inactive{opacity:.5;pointer-events:none}.pageTitle{margin:var(--gap) 0;width:100%;font-size:1.8rem;color:var(--textColorDark-blue)}.shortcutSettingsEntry{width:100%;display:flex;height:50px;justify-content:space-between;align-items:center;margin-bottom:20px}.shortcutSettingsEntry input{width:calc(100% - var(--gap));background:none;border:none}.shortcutSettingsEntry .shortcutName{font-size:1.2rem;color:var(--textColorDark-blue);text-overflow:ellipsis}.shortcutSettingsEntry .URL{font-size:.9rem;color:var(--textColorDark-blue);opacity:.86;margin-top:-3px;text-overflow:ellipsis}.delete button{fill:var(--textColorDark-blue);display:flex;align-items:center;justify-content:center;width:60px;height:34px;background:var(--bg-color-blue);border:none;border-radius:34px;cursor:pointer;transition:.3s all}.delete button:hover{fill:#fff;background:var(--darkColor-blue)}.delete button.inactive{opacity:.5;pointer-events:none}.addShortcutContainer button{fill:#fff;background:var(--darkColor-blue);position:absolute;display:flex;align-items:center;justify-content:center;width:60px;height:34px;border:none;border-radius:34px;cursor:pointer;transition:.3s all}.themingStuff,.languageSection{width:100%;height:50px;display:flex;justify-content:space-between;gap:var(--gap)}.userTextt{display:none}.languageSelector{background-color:#ffffffe8;align-items:center;justify-content:center;height:fit-content;width:240px;border:2px solid transparent;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:auto;grid-gap:10px;color:var(--textColorDark-blue);border-radius:26px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding:12px 12px 12px 13px}.languageSelector:focus{border:2px solid var(--darkColor-blue);outline:none}.colorsContainer{background-color:#ffffffe8;align-items:center;justify-content:center;height:fit-content;width:fit-content;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:auto;grid-gap:10px;padding:10px;border-radius:26px}.colorsContainer input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;height:36px;width:36px;border-radius:18px;outline:none;cursor:pointer}.colorsContainer input[value=blue]{background-color:#4382ec}.colorsContainer input[value=yellow]{background-color:#f3f05a}.colorsContainer input[value=red]{background-color:#f91d1d}.colorsContainer input[value=green]{background-color:#17a638}.colorsContainer input[value=cyan]{background-color:#2acdf5}.colorsContainer input[value=orange]{background-color:orange}.colorsContainer input[value=purple]{background-color:#b830de}.colorsContainer input[value=pink]{background-color:#e41b9e}.colorsContainer input[value=dark]{background-color:#282828}.colorsContainer input[type=radio]:checked:after{position:absolute;content:"";width:36px;height:36px;background:url("data:image/svg+xml,%3csvg%20width='50'%20height='50'%20viewBox='0%200%2050%2050'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M47.9167%2024.9997L42.8334%2019.208L43.5417%2011.5413L36.0209%209.83301L32.0834%203.20801L25%206.24967L17.9167%203.20801L13.9792%209.83301L6.45837%2011.5205L7.16671%2019.1872L2.08337%2024.9997L7.16671%2030.7913L6.45837%2038.4788L13.9792%2040.1872L17.9167%2046.8122L25%2043.7497L32.0834%2046.7913L36.0209%2040.1663L43.5417%2038.458L42.8334%2030.7913L47.9167%2024.9997ZM20.8334%2035.4163L12.5%2027.083L15.4375%2024.1455L20.8334%2029.5205L34.5625%2015.7913L37.5%2018.7497L20.8334%2035.4163Z'%20fill='white'/%3e%3c/svg%3e") center center no-repeat;background-size:74%}.themingStuff .btn{display:flex;justify-content:center;align-items:center;background-color:#ffffffe8;height:100%;aspect-ratio:1/1;right:0;border-radius:100%;z-index:2;cursor:pointer}.languageIcon{background-color:#ffffffe8;height:100%;aspect-ratio:1/1;right:0;border-radius:100%;z-index:2;cursor:pointer;display:flex;justify-content:center;align-items:center}#darkTheme{grid-column:span 2;width:82px}#menuButton{position:fixed;right:var(--gap);bottom:var(--gap);cursor:pointer}#menuCloseButton{position:absolute;bottom:0;left:0;width:42px;height:42px;max-width:100%;background-color:var(--bg-color-blue);color:var(--textColorDark-blue);font-size:1rem;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border-radius:100px;overflow:hidden;transition:all .4s;cursor:pointer;margin-left:20px}#menuCloseButton:hover{width:105px;background-color:#fff}#menuCloseButton:after{content:"Close";padding-right:12px;opacity:0;transform:translate(-20px);animation:.6s menuCloseButtonHoverReverse forwards;z-index:1}#menuCloseButton:hover:after{content:"Close";padding-right:12px;padding-left:36px;animation:.6s menuCloseButtonHover forwards;animation-delay:.1s}@keyframes menuCloseButtonHover{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes menuCloseButtonHoverReverse{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-10px)}}#menuCloseButton .icon{position:absolute;left:6px;background-color:#fff;width:30px;height:30px;border-radius:100px;transition:.4s;z-index:2}#menuCloseButton:hover .icon{transform:translate(0) rotate(90deg)}
+@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Poppins&display=swap";@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro&display=swap";@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;src:url(/Material-symbols-outlined.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}@font-face{font-family:poppins;src:url(/Poppins-Regular.ttf) format("truetype")}*:not([class^=md-icon]){box-sizing:border-box;font-family:var(--main-font-family)}:root{--main-font-family: "poppins", "Poppins", sans-serif, "Material Symbols Outlined";--bg-color-blue: #bbd6fd;--accentLightTint-blue: #e2eeff;--darkerColor-blue: #3569b2;--darkColor-blue: #4382ec;--textColorDark-blue: #1b3041;--whitishColor-blue: #ffffff;--bg-color-red: #fdbdbd;--accentLightTint-red: #ffe7e7;--darkerColor-red: #b23535;--darkColor-red: #ec4343;--textColorDark-red: #411b1b;--whitishColor-red: #ffffff;--bg-color-yellow: #ffed80;--accentLightTint-yellow: #fff6c3;--darkerColor-yellow: #ae9502;--darkColor-yellow: #d1a93d;--textColorDark-yellow: #2f2707;--whitishColor-yellow: #ffffff;--bg-color-green: #c7e4c7;--accentLightTint-green: #e1f1e1;--darkerColor-green: #458245;--darkColor-green: #5cba5c;--textColorDark-green: #1b411b;--whitishColor-green: #ffffff;--bg-color-cyan: #9cefef;--accentLightTint-cyan: #d5ffff;--darkerColor-cyan: #07787f;--darkColor-cyan: #09b2b4;--textColorDark-cyan: #08354b;--whitishColor-cyan: #ffffff;--bg-color-pink: #f9c8d6;--accentLightTint-pink: #ffebf2;--darkerColor-pink: #b24b64;--darkColor-pink: #ec5e78;--textColorDark-pink: #411b28;--whitishColor-pink: #ffffff;--bg-color-orange: #ffd8b2;--accentLightTint-orange: #ffedd5;--darkerColor-orange: #b26d3e;--darkColor-orange: #ec844d;--textColorDark-orange: #412b1e;--whitishColor-orange: #ffffff;--bg-color-purple: #dac2e8;--accentLightTint-purple: #e9e2f3;--darkerColor-purple: #724b8f;--darkColor-purple: #9563b5;--textColorDark-purple: #2d1b3e;--whitishColor-purple: #ffffff;--bg-color-silver: #c6c6c6;--accentLightTint-silver: #e5e5e5;--darkerColor-silver: #6f6f6f;--darkColor-silver: #9e9e9e;--textColorDark-silver: #333333;--whitishColor-silver: #ffffff;--bg-color-brown: #dfc28d;--accentLightTint-brown: #eae3c9;--darkerColor-brown: #4e3930;--darkColor-brown: #705347;--textColorDark-brown: #16100d;--whitishColor-brown: #ffffff;--bg-color-grey: #ffccbf;--accentLightTint-grey: #fdf1ef;--darkerColor-grey: #f67455;--darkColor-grey: #9c29ba;--textColorDark-grey: #441730;--whitishColor-grey: #ffffff;--bg-color-dark: #171615;--accentLightTint-dark: #3c3c3c;--darkerColor-dark: #eeeeee;--darkColor-dark: #212121;--textColorDark-dark: #d6d6d6;--whitishColor-dark: #cccccc;--gap: 30px;--round: 30px;--max-shortcut-bar-width: 60vw;--shortcut-bar-gap-and-padding: 10px;--shortcut-size: 50px;--always-show-dock-background: 0;--md-icon-font:"Material Symbols Outlined";--md-primary-tab-container-color:#ffffff00;--md-icon-size:32px;--md-icon-button-icon-size: 32px;--md-filled-text-field-input-text-font: "poppins", serif;--md-filled-text-field-input-text-size: 1.49rem;--md-filled-text-field-active-indicator-color: #ff000000;--md-filled-text-field-container-color:#ff000000;--md-primary-tab-container-shape:.5rem;--md-ripple-pressed-color: var(--darkerColor-blue);--md-ripple-hover-color: var(--darkColor-blue);--md-sys-color-primary: var(--darkColor-blue);--md-sys-color-on-primary: var(--accentLightTint-blue);--md-sys-color-primary-container: var(--accentLightTint-blue);--md-sys-color-on-primary-container: var(--accentLightTint-blue);--md-filter-chip-outline-color: var(--accentLightTint-blue);--md-filter-chip-label-text-color:var(--textColorDark-blue);--md-secondary-tab-label-text-color:var(--textColorDark-blue);--md-primary-tab-label-text-color:var(--textColorDark-blue);--md-secondary-tab-icon-color:var(--textColorDark-blue);--md-filled-text-field-text-color:var(--textColorDark-blue);--md-filled-text-field-input-text-color:var(--textColorDark-blue);--md-filled-text-field-hover-lable-text-color:var(--textColorDark-blue);--md-filled-text-field-hover-input-text-color:var(--textColorDark-blue);--md-filled-text-field-foucs-lable-text-color:var(--textColorDark-blue);--md-filled-text-field-focus-input-text-color:var(--textColorDark-blue);--md-primary-tab-icon-color:var(--textColorDark-blue);--md-filled-tonal-button-label-text-font: "poppins";--md-filled-button-label-text-font: "poppins";--md-outlined-button-label-text-font: "poppins";--md-text-button-label-text-font: "poppins";--md-sys-color-secondary-container: var(--darkColor-blue);--md-sys-color-on-secondary-container: #ffffff;--md-filter-chip-label-text-font: "poppins", serif;--md-primary-tab-label-text-font: "poppins", serif;--md-dialog-headline-font: "poppins", serif;--md-dialog-supporting-text-font: "poppins", serif;--md-secondary-tab-container-color:var(--accentLightTint-blue);--md-elevated-button-label-text-font: "poppins", serif;--md-elevated-button-icon-color:var(--textColorDark-blue);--md-elevated-button-hover-icon-color:var(--textColorDark-blue);--md-elevated-button-focus-icon-color:var(--textColorDark-blue);--md-elevated-button-label-text-color:var(--textColorDark-blue);--md-elevated-button-hover-label-text-color:var(--textColorDark-blue);--md-elevated-button-focus-label-text-color:var(--textColorDark-blue);--md-elevated-button-container-color:var(--darkColor-blue);--md-outlined-icon-button-icon-color:var(--textColorDark-blue);--md-outlined-icon-button-hover-icon-color:var(--textColorDark-blue);--md-outlined-icon-button-focus-icon-color:var(--textColorDark-blue);--md-outlined-icon-button-pressed-icon-color:var(--textColorDark-blue);--md-outlined-text-field-input-text-font: "poppins", serif;--md-outlined-text-field-lable-text-font: "poppins", serif;--md-outlined-text-field-supporting-text-font: "poppins", serif;--md-outlined-text-field-focus-lable-text-color: var(--textColorDark-blue);--md-outlined-text-field-focus-input-text-color: var(--textColorDark-blue);--md-outlined-text-field-lable-text-color: var(--textColorDark-blue);--md-outlined-text-field-input-text-color: var(--textColorDark-blue);--md-outlined-text-field-supporting-text-color: var(--textColorDark-blue);--md-outlined-text-field-hover-supporting-text-color: var(--textColorDark-blue)}.accentColor{fill:var(--darkColor-blue)}.bgLightTint{fill:var(--accentLightTint-blue);background-color:var(--accentLightTint-blue)}.strokecolor{stroke:var(--darkColor-blue)}.lessDark{background-color:var(--bg-color-blue);fill:var(--bg-color-blue)}.colorPickerButton,#languageSelector{width:-webkit-fill-available}html{height:100%;width:100%;margin:0;scrollbar-width:none}.html::-webkit-scrollbar{display:none}body{background-color:var(--bg-color-blue);color:var(--textColorDark-blue);display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;overflow:auto;background-image:var(--bg-image, none);background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;height:100vh;margin:0}.resultBox{max-height:222px;overflow-y:auto;position:absolute;bottom:-100px;left:0;width:100%;border-radius:25px;padding:5px 10px;scrollbar-width:none;opacity:0;z-index:-1000;transform:translateY(-70px);transition:opacity .5s ease,transform .5s ease,z-index .5s ease;pointer-events:none}@media screen and (max-height: 700px){.resultBox{max-height:180px;bottom:-60px}}.resultBox::-webkit-scrollbar{display:none}.resultBox.show{opacity:1;visibility:visible;transform:translateY(0);z-index:1000;pointer-events:all}.resultItem{padding:8px;cursor:pointer;font-size:1.1rem;color:var(--textColorDark-blue)}.resultItem.active,.resultItem:hover{background-color:var(--darkColor-blue);border-radius:15px;color:#fff}.button-container{display:flex;margin-left:-11.5px;width:365px;justify-content:flex-end;gap:16px;margin-bottom:20px;flex-direction:column}.button-container md-filled-button,md-outlined-button{flex:1 1 auto;min-width:150px}.googleAppsCont{position:fixed;display:inline-block;margin:10px;top:var(--gap);right:var(--gap);font-size:25px;background:transparent;border:none;cursor:pointer;z-index:2}.dot-icon{fill:var(--darkColor-blue);background-color:var(--accentLightTint-blue);border-radius:25%;padding:1px;cursor:pointer}.theme-transition .dot-icon{transition:fill .3s ease}.dot-icon:active{fill:var(--darkerColor-blue)}.tooltip-text{visibility:hidden;background-color:var(--darkColor-blue);color:#ffffffe6;text-align:center;padding:5px;border-radius:8px;position:absolute;top:120%;left:50%;transform:translate(-50%);font-size:12px;opacity:0;transition:opacity .3s ease;white-space:nowrap;z-index:3}.googleAppsCont:hover .tooltip-text{visibility:visible;opacity:1}.menu-open .tooltip-text{visibility:hidden!important;opacity:0!important}.separator{width:100%;height:1px;background-color:var(--darkColor-blue);margin:10px 0}.icon-container .separator{grid-column:span 3}.icon-container{display:grid;gap:10px;padding:20px 10px;background-color:var(--accentLightTint-blue);border-radius:30px;box-shadow:0 4px 8px #0003;border:8px solid var(--bg-color-blue);grid-template-columns:repeat(3,1fr);justify-items:center;position:absolute;top:85px;right:15px;max-height:430px;overflow-y:auto;box-sizing:border-box;z-index:3}.icon-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px;border-radius:10px;transition:transform .3s ease,background-color .3s ease;text-decoration:none;cursor:pointer;position:relative;min-width:100px;background-color:var(--accentLightTint-blue)}.menuicon{color:var(--darkColor-blue);width:40px;height:40px;margin-bottom:8px}.label{font-size:14px;color:var(--textColorDark-blue)}.label.short{display:block}.label.full{display:none;white-space:pre-line;text-align:center;position:absolute;font-size:.8rem;bottom:0}.icon-item:hover{background-color:var(--bg-color-blue);transform:scale(1.1)}.icon-item:hover .label.full,.icon-item:hover .label.short{display:block}.icon-item:hover .label.short.one{display:none}.icon-container::-webkit-scrollbar{width:5px}.icon-container::-webkit-scrollbar-track{background-color:transparent;margin:11px 0}.icon-container::-webkit-scrollbar-thumb{background-color:var(--darkColor-blue);border-radius:3px}.icon-container::-webkit-scrollbar-thumb:hover{background-color:var(--darkerColor-blue);border-radius:3px}@-moz-document url-prefix(){.icon-container{scrollbar-width:thin;scrollbar-color:var(--darkColor-blue) transparent}}#bookmarksContainer{background-color:#0000004f;-webkit-backdrop-filter:blur(15px) saturate(160%);backdrop-filter:blur(15px) saturate(160%);position:fixed;width:100%;height:100%;z-index:2;opacity:0;transition:all .5s;pointer-events:none;z-index:4}#bookmarksContainer:has(.bookmark-sidebar.open){opacity:1;pointer-events:auto}.bookmark-button{position:fixed;display:inline-block;margin:10px;top:var(--gap);right:var(--gap);font-size:25px;background-color:var(--accentLightTint-blue);border:none;cursor:pointer;z-index:2;padding:6px;border-radius:25%;transition:right .3s ease}.bookmark-button:has(~.googleAppsCont[style="display: flex;"]){right:calc(2 * var(--gap) + 36px)}.bookmark-button:hover .tooltip-text{visibility:visible;opacity:1}.bookmark-button svg{fill:var(--darkColor-blue);background-color:var(--accentLightTint-blue)}.bookmark-sidebar{width:380px;position:fixed;right:-380px;top:0;height:100%;background-color:var(--accentLightTint-blue);color:#fff;transition:right .3s ease;z-index:5;display:block;border-radius:0 0 0 var(--round);box-sizing:border-box}.bookmark-sidebar .topOutRoundCorner{position:absolute;width:30px;height:30px;left:-30px}.bookmark-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 10px}.bookmark-sidebar.open{right:0}body #bookmarkButton.bookmark-button.rotate{color:var(--accentLightTint-blue);right:412px;z-index:5}.bookmark-sidebar-header{padding:30px 20px 50px;background-color:var(--bg-color-blue)}.bookmark-sidebar-header h2{color:var(--textColorDark-blue);text-align:center;font-size:1.5rem;flex-grow:1}.bookmark-search-container{width:100%;padding:30px 10px 16px;border-radius:var(--round);display:flex;align-items:center;justify-content:center;background-color:var(--accentLightTint-blue);margin-top:-30px;position:relative}.bookmark-search-container:after{content:"";background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill='grey'%20d='M10.68%2011.74a6%206%200%200%201-7.922-8.982a6%206%200%200%201%208.982%207.922l3.04%203.04a.749.749%200%200%201-.326%201.275a.75.75%200%200%201-.734-.215ZM11.5%207a4.499%204.499%200%201%200-8.997%200A4.499%204.499%200%200%200%2011.5%207'%20/%3e%3c/svg%3e") no-repeat center/contain;width:18px;filter:invert(1);height:18px;opacity:.5;left:9%;top:calc(50% + 7px);transform:translateY(-50%);position:absolute}#bookmarkSearch{width:95%;padding:10px 36px 10px 43px;border-radius:var(--round);font-size:16px;background-color:var(--whitishColor-blue);color:var(--textColorDark-blue);outline:none!important;border:none!important}#bookmarkSearch::placeholder{color:var(--textColorDark-blue);opacity:.7}#clearSearchButton{position:absolute;right:9%;top:calc(50% + 7px);transform:translateY(-50%);background:none;border:none;color:var(--textColorDark-blue);cursor:pointer;display:none}#bookmarkList{list-style-type:none;padding:0;margin:0;text-align:left;height:calc(100% - 230px);overflow-y:auto;overflow-x:hidden}#bookmarkList::-webkit-scrollbar{width:6px}#bookmarkList::-webkit-scrollbar-track{background-color:transparent}#bookmarkList::-webkit-scrollbar-thumb{background-color:var(--darkColor-blue);border-radius:3px}#bookmarkList::-webkit-scrollbar-thumb:hover{background-color:var(--darkerColor-blue);border-radius:3px}@-moz-document url-prefix(){#bookmarkList{scrollbar-width:thin;scrollbar-color:var(--darkColor-blue) transparent}}.bookmark-view-as-container{display:flex;box-sizing:border-box;width:100%;justify-content:space-between;align-items:center;padding:8px 32px}.bookmark-view-as-container h3{font-size:1rem;color:var(--darkerColor-blue)}.bookmark-view-as-container .bookmark-view-as-button{background:transparent;border-radius:20px;border:2px solid var(--darkColor-blue);color:var(--darkColor-blue);min-width:60px;font-size:12px;padding:2px 9px;margin-left:10px;cursor:pointer}.bookmark-view-as-container #bookmarkGridCheckbox:is(:checked)~#bookmarkViewGrid,.bookmark-view-as-container #bookmarkGridCheckbox:is(:not(:checked))~#bookmarkViewList{background:var(--darkColor-blue);color:#fff}#bookmarkList ul{padding-left:10px;list-style-type:none;font-weight:400}#bookmarkList .folder ul{padding-top:10px}#bookmarkList li{padding:2px;border:none;position:relative}#bookmarkList li:is(.folder){padding:10px 0 10px 10px}#bookmarkList li:not(.folder){display:flex;width:calc(100% - 10px)}#bookmarkList:is(.grid-view) ul:not(.hidden),#bookmarkList:is(.grid-view) .folder.open>ul{display:grid;grid-template-columns:25% 25% 25% 25%}#bookmarkList:is(.grid-view) ul:not(.hidden) .folder,#bookmarkList:is(.grid-view) .folder.open>ul .folder{grid-column:span 4}#bookmarkList:is(.grid-view) li:not(.folder){width:100%;padding-bottom:6px}#bookmarkList:is(.grid-view) li a{padding:2px;flex-direction:column}#bookmarkList:is(.grid-view) li a .favicon{margin:20px auto 24px}#bookmarkList:is(.grid-view) li a:has(.favicon):after,#bookmarkList:is(.grid-view) li a:has(.favicon):before{content:"";background:var(--bg-color-blue);position:absolute;width:48px;height:48px;z-index:-1;left:50%;transform:translate(-50%);opacity:.35;top:12px;box-sizing:border-box;border-radius:32px}#bookmarkList:is(.grid-view) li a:has(.favicon):before{background:var(--bg-color-blue);width:36px;height:36px;opacity:1;top:18px}#bookmarkList li a{color:var(--textColorDark-blue);text-decoration:none;padding:8px 24px 8px 8px;border-radius:8px;width:100%;display:flex;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#bookmarkList li a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#bookmarkList:is(.grid-view) li a span{text-align:center}.favicon{width:18px;height:18px;margin-right:5px;vertical-align:middle;filter:drop-shadow(0 0 2px rgba(0,0,0,.3))}#bookmarkList:is(.grid-view) .favicon{width:24px;height:24px}.folder{cursor:pointer;font-weight:bolder;color:var(--textColorDark-blue)}.hidden{display:none}.ui{display:block;pointer-events:none}.folder svg{margin-right:5px;vertical-align:middle}.folder ul{padding-left:20px}.folder.open>ul{display:block}#bookmarkList:is(.grid-view) .bookmark-delete-button{top:12px;right:6px}.bookmark-delete-button{background:none;border:none;color:var(--darkColor-blue);cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none}:hover>.bookmark-delete-button{opacity:1;pointer-events:auto}.todoListCont{position:fixed;display:inline-block;margin:10px;top:var(--gap);left:var(--gap);font-size:25px;background:transparent;border:none;cursor:pointer;z-index:2}.todoListCont:hover .tooltip-text{visibility:visible;opacity:1}.todo-container{display:grid;gap:10px;padding:10px 5px;background-color:var(--bg-color-blue);border-radius:30px;box-shadow:0 4px 8px #0003;border:8px solid var(--bg-color-blue);grid-template-columns:320px;justify-items:center;position:absolute;top:85px;left:15px;max-height:430px;overflow-y:auto;box-sizing:border-box;z-index:3}.todo-container::-webkit-scrollbar{width:5px}.todo-container::-webkit-scrollbar-track{background-color:transparent;margin-top:108px;margin-bottom:11px}.todo-container::-webkit-scrollbar-thumb{background-color:var(--darkColor-blue);border-radius:3px}.todo-container::-webkit-scrollbar-thumb:hover{background-color:var(--darkerColor-blue);border-radius:3px}@-moz-document url-prefix(){.todo-container{scrollbar-width:thin;scrollbar-color:var(--darkColor-blue) transparent}}#todoAdd{height:40px;border-radius:100px;padding:1px 13px 0;border:none;font-size:1.5rem;background-color:var(--darkColor-blue);color:#fff;scale:.78}#todoAdd:hover{background-color:var(--darkerColor-blue);color:#fff;cursor:pointer}#todoAdd:active{transform:scale(.9)}.theme-transition #todoAdd{transition:all .3s}#todoInput{width:100%;height:80%;margin:auto auto auto 16px;outline:none;border:none;background-color:#0000;padding:0 2px;font-size:1rem}.dark-theme #todoInput{color:#fff}#todoInput::placeholder{color:#757575}.todo-container .searchbar-content{background:var(--accentLightTint-blue);padding:0;border-radius:20px;width:100%}.todolist{width:100%;display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:flex-start}.todolistitem{width:100%;display:flex;background-color:var(--darkColor-blue);color:#fff;border-radius:8px;list-style-type:none;font-size:1rem;padding:12px 56px 12px 32px;-webkit-user-select:none;user-select:none;cursor:pointer;position:relative;word-break:break-word}.todolistitem:before{content:"";position:absolute;height:18px;width:18px;border-radius:50%;background:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21%2012C21%2016.9706%2016.9706%2021%2012%2021C7.02944%2021%203%2016.9706%203%2012C3%207.02944%207.02944%203%2012%203C16.9706%203%2021%207.02944%2021%2012Z'%20stroke='%23FFFFFF'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") no-repeat center center/contain;top:50%;transform:translateY(-50%);left:8px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.todolistitem.checked:before{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='%23FFFFFF'%20viewBox='0%200%2040%2040'%20style='transform:%20scale(0.9);%20transform-origin:%20center;'%3e%3cpath%20d='M20,0C8.974,0,0,8.973,0,20c0,11.027,8.974,20,20,20c11.029,0,20-8.973,20-20C40,8.973,31.029,0,20,0z%20M28.818,17.875%20l-8.562,8.564c-0.596,0.595-1.377,0.893-2.158,0.893c-0.779,0-1.561-0.298-2.156-0.893l-4.758-4.758%20c-1.191-1.191-1.191-3.124,0-4.313c1.191-1.192,3.121-1.192,4.314,0l2.6,2.6l6.408-6.407c1.188-1.189,3.123-1.189,4.312,0%20C30.01,14.752,30.01,16.684,28.818,17.875z'%3e%3c/path%3e%3c/svg%3e")}.todolistitem.checked{color:#ccc;text-decoration:line-through}.todolistitem .todoremovebtn,.todolistitem .todopinbtn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;font-size:22px;line-height:1.2;color:var(--bg-color-blue);text-align:center;border-radius:50%;transition:all .3s ease;-webkit-user-select:none;user-select:none}.todolistitem .todoremovebtn{scale:1.05}.todolistitem .todoremovebtn:hover{color:#fff}.todolistitem .todopinbtn{right:28px;background:url(/todo-pin-stroke.svg) no-repeat center center/contain}.todolistitem.pinned .todopinbtn{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20style='transform:%20scale(0.95);%20transform-origin:%20center;'%20fill-rule='evenodd'%20clip-rule='evenodd'%20opacity='0.9'%20d='M22%2012C22%2017.5228%2017.5228%2022%2012%2022C6.47715%2022%202%2017.5228%202%2012C2%206.47715%206.47715%202%2012%202C17.5228%202%2022%206.47715%2022%2012ZM14.1096%208.41878L15.592%209.90258C16.598%2010.9095%2017.1009%2011.413%2016.9836%2011.9557C16.8662%2012.4985%2016.2003%2012.7487%2014.8684%2013.2491L13.9463%2013.5955C13.5896%2013.7295%2013.4113%2013.7965%2013.2736%2013.9157C13.2134%2013.9679%2013.1594%2014.027%2013.1129%2014.0918C13.0068%2014.2397%2012.9562%2014.4236%2012.855%2014.7913C12.6249%2015.6276%2012.5099%2016.0457%2012.2359%2016.202C12.1205%2016.2679%2011.9898%2016.3025%2011.8569%2016.3023C11.5416%2016.3018%2011.2352%2015.9951%2010.6225%2015.3818L10.1497%2014.9086L8.531%2016.5299C8.23835%2016.823%207.76348%2016.8234%207.47034%2016.5308C7.17721%2016.2381%207.17683%2015.7632%207.46948%2015.4701L9.08892%2013.848C9.08871%2013.8482%209.08914%2013.8478%209.08892%2013.848L8.64262%2013.4C8.03373%2012.7905%207.72929%2012.4858%207.72731%2012.1723C7.72645%2012.0368%207.76164%2011.9035%207.82926%2011.786C7.98568%2011.5145%208.40079%2011.4%209.23097%2011.1711C9.5993%2011.0696%209.78346%2011.0188%209.9315%2010.9123C9.99792%2010.8644%2010.0583%2010.8088%2010.1114%2010.7465C10.2298%2010.6076%2010.2956%2010.4281%2010.4271%2010.069L10.7611%209.15753C11.2545%207.81078%2011.5013%207.1374%2012.0455%207.01734C12.5896%206.89728%2013.0963%207.40445%2014.1096%208.41878Z'%20fill='%23ffffff'%3e%3c/path%3e%3c/svg%3e")}.todolistitem:first-child{border-top-left-radius:18px;border-top-right-radius:18px}.todolistitem:last-child{border-bottom-left-radius:18px;border-bottom-right-radius:18px}.centerDiv{display:grid;grid-template-columns:auto auto;width:fit-content;height:fit-content;padding-bottom:calc(var(--shortcut-size) + var(--gap) * 2)}#digitalClock,#analogClock{width:300px;height:300px;border-radius:100%;position:relative}#clock svg{position:absolute;animation:clockAnm 1s}@keyframes clockAnm{0%{transform:rotate(40deg)}to{transform:rotate(0)}}.clock .centerPoint{width:20px;height:20px;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto}.clock .centerPoint .sui{position:absolute;width:20px;height:100px;background-color:var(--darkColor-blue);top:-90px;transform-origin:bottom;border-radius:10px}#hour{height:80px;top:-70px;background-color:var(--darkerColor-blue);transform:rotate(90deg);transition:transform 1.5s}#hour:after{content:"";position:absolute;width:20px;height:30px;background-color:var(--darkerColor-blue);bottom:-10px;border-radius:100px}#minute{z-index:9!important;transition:transform 1.5s}#minute:after{content:"";position:absolute;width:20px;height:30px;background-color:var(--darkColor-blue);bottom:-10px;border-radius:100px}#second{background-color:#0000;transition:transform 1s}#second:after{content:"";position:absolute;width:20px;height:20px;background-color:var(--darkColor-blue);top:-28px;border-radius:100%}.ttteexxtt{position:absolute;bottom:8px;left:10px}#userText{font-family:var(--main-font-family);font-size:1.4rem;margin-bottom:10px}#date{font-size:1.4rem}.digidate,.amPm{fill:var(--textColorDark-blue)}.digiclock{text-anchor:middle;fill:var(--darkColor-blue);font-size:8rem;font-weight:lighter;margin:auto;width:fit-content}#digihours{fill:var(--darkerColor-blue)}#digicolon{animation:blink 1s infinite}@keyframes blink{50%{opacity:0}}.leftDiv{transform:translate(-100px)}.rightDiv{position:relative;width:640px;transform:translate(100px)}.rightDiv .topDiv{height:196px;display:flex;justify-content:flex-end}.rightDiv .topDiv .lrectangle{height:100%;width:100%;border-radius:var(--round);padding:20px;position:relative}#conditionText{font-size:1.2rem;color:var(--textColorDark-blue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:372px}.cconnt{width:calc(100% - 40px);bottom:20px;height:fit-content;position:absolute;font-size:1rem}.tilesContainer{height:50px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px}.tilesContainer .tiles{background-color:var(--whitishColor-blue);border-radius:22px;position:relative;height:50px}.tilesContainer .location{background-color:var(--darkColor-blue)}.tilesContainer .location .location_spn{color:#fff}.tilesContainer .tiles .icon{height:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}.tilesContainer .tiles span{position:absolute;top:0;left:46px;bottom:0;margin:auto;color:var(--textColorDark-blue);height:fit-content}.humidityBar{border-radius:20px;height:40px;width:100%;margin-bottom:20px;position:relative}.humidityBar:after{position:absolute;content:"";height:100%;width:40px;background-size:66%;background:var(--darkColor-blue) url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M23.476%2013.9925L16.847%203.43652C16.7508%203.30153%2016.6238%203.19148%2016.4764%203.11555C16.3291%203.03962%2016.1657%203%2016%203C15.8343%203%2015.6709%203.03962%2015.5236%203.11555C15.3762%203.19148%2015.2492%203.30153%2015.153%203.43652L8.494%2014.0425C7.56889%2015.5348%207.05357%2017.2446%207%2018.9995C7%2021.3865%207.94821%2023.6757%209.63604%2025.3635C11.3239%2027.0513%2013.6131%2027.9995%2016%2027.9995C18.3869%2027.9995%2020.6761%2027.0513%2022.364%2025.3635C24.0518%2023.6757%2025%2021.3865%2025%2018.9995C24.9425%2017.2253%2024.4167%2015.4979%2023.476%2013.9925ZM16%2025.9995C14.1442%2025.9971%2012.3651%2025.2589%2011.0529%2023.9466C9.74064%2022.6344%209.00238%2020.8553%209%2018.9995C9.05315%2017.6011%209.47321%2016.2413%2010.218%2015.0565L11.153%2013.5665L21.227%2023.6405C20.5727%2024.3818%2019.7683%2024.9755%2018.8672%2025.3824C17.9661%2025.7893%2016.9887%2025.999%2016%2025.9995Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center center;right:0;border-radius:100%}.humidityBar .thinLine{position:absolute;width:calc(100% - 60px);background-color:var(--whitishColor-blue);height:6px;border-radius:10px;top:0;bottom:0;margin:auto}.humidityBar .slider{height:100%;width:calc(10% - 60px);min-width:42%;background-color:var(--darkColor-blue);border-radius:100px;position:absolute;transition:width 1s}#humidityLevel{color:#fff;width:fit-content;position:absolute;bottom:0;top:0;margin:auto;left:20px;height:fit-content}.rightDiv .topDiv .rAndakar{position:relative;height:100%;aspect-ratio:1/1;margin-left:var(--gap);animation:rAndAnm 1s}@keyframes rAndAnm{0%{transform:rotate(-45deg)}to{transform:rotate(0)}}.rightDiv .topDiv .rAndakar .wInfo{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;transform:translate(14px);width:100px;height:80%}#temp{font-size:3.5rem;font-weight:700;color:var(--darkerColor-blue);margin:auto;width:fit-content}.tempUnit{font-size:.4em;position:relative;top:-1.1em;left:3px;color:var(--darkColor-blue)}#wIcon{width:80px;height:80px;margin-top:-11px;margin-left:-30px}.searchbar{margin-top:var(--gap);width:100%;height:60px;border-radius:var(--round);position:relative;outline:2px solid rgba(0,0,0,0);transition:outline .3s}.searchbar.active{outline:2px solid var(--darkColor-blue)}.searchbar .searchIcon{width:30px;height:30px;position:absolute;margin-top:14px;margin-left:14px}.searchbar-content{display:flex;align-items:center;height:100%;padding-right:10px}#searchQ{flex-grow:1;height:80%;top:0;bottom:0;outline:none;border:none;background-color:#0000;padding:0 2px;margin:auto auto auto 55px;font-size:1rem}#searchQ::placeholder{color:#757575}.searchControls{margin-left:10px;right:10px;display:flex;align-items:center;height:100%}.micIcon{width:40px;height:40px;margin-right:10px;display:flex;align-items:center;position:relative;justify-content:center;color:var(--darkColor-blue);cursor:pointer;border-radius:50%;padding:3px;box-sizing:border-box;background-color:var(--whitishColor-blue);border:2px solid transparent}.theme-transition .micIcon{transition:all .5s}.micIcon:after{content:"";position:absolute;width:40px;height:40px;border-radius:100%;border:2px solid transparent;top:-4px;left:-4px}.micActive:after,.micIcon:hover:after{border-left:2px dotted var(--darkColor-blue);border-right:2px solid var(--darkColor-blue);border-top:2px dashed var(--darkerColor-blue);border-bottom:2px dashed var(--darkerColor-blue);animation:micAnimation 1s ease-in-out infinite;transition:all .5s}.micIcon:hover{background-color:#fffffff2}@keyframes micAnimation{0%{transform:rotate(0)}37%{transform:rotate(-20deg)}69%{transform:rotate(20deg)}to{transform:rotate(0)}}.enterBtn{right:10px;top:0;bottom:0;margin:auto;height:40px;padding:0 26px;font-size:1.1rem;margin-left:.5rem}#enterBtn:hover{background-color:var(--darkColor-blue);color:#fff;cursor:pointer}#enterBtn:active{transform:scale(.9)}.theme-transition #enterBtn{transition:all .3s}.searchWithCont{margin-top:var(--gap);border-radius:var(--round);position:relative;display:flex;font-size:1rem}.searchWithCont .hint{width:200px;height:100px;display:flex;align-items:center;justify-content:center;padding:10px;position:relative;margin-right:16px;border-radius:var(--round)}.searchWithCont .hint:after{content:"";position:absolute;width:6px;height:100%;background-color:var(--accentLightTint-blue);border-radius:3px;right:-20px}.searchEnginesContainer{display:flex;flex-wrap:wrap;gap:20px;padding-left:20px}.searchEnginesContainer .search-engine{border-radius:20px;height:40px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.searchEnginesContainer .search-engine svg{width:30px;height:30px;background-color:var(--darkColor-blue);border-radius:100%;margin-left:4px;padding:3px}.searchEnginesContainer .search-engine label{margin:0 16px 0 10px;cursor:pointer}.search-engine input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--whitishColor-blue);width:22px;height:22px;border-radius:50%;border:2px solid var(--whitishColor-blue);outline:none;margin-right:8px;cursor:pointer}.search-engine input[type=radio]:checked{background-color:var(--darkColor-blue)}.theme-transition .search-engine input[type=radio]{transition:.2s}#shortcuts-section{pointer-events:none;display:flex;justify-content:center;width:100%;height:calc(var(--shortcut-size) + var(--gap) * 2);position:absolute;left:0;right:0;bottom:0;margin:auto}#shortcuts-section .wrapper{position:relative;height:fit-content;display:inline-flex;align-items:stretch;width:fit-content}#shortcuts-section #flexMonitor{position:absolute;height:100%;visibility:hidden}#shortcuts-section #defaultMonitor{position:absolute;height:calc(var(--shortcut-size) + var(--gap) + var(--shortcut-bar-gap-and-padding));visibility:hidden}.shortcutsContainer{pointer-events:auto;transition:transform .5s;margin-top:calc(var(--gap) - var(--shortcut-bar-gap-and-padding));max-width:calc(var(--max-shortcut-bar-width) - mod(var(--max-shortcut-bar-width) - var(--shortcut-bar-gap-and-padding),var(--shortcut-size) + var(--shortcut-bar-gap-and-padding)));display:flex;flex-wrap:wrap;padding:var(--shortcut-bar-gap-and-padding);justify-content:center;width:fit-content;gap:26px}.shortcutsContainer:before{border-radius:34px;content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--accentLightTint-blue);z-index:-1;opacity:var(--always-show-dock-background);transition:opacity .5s;pointer-events:none}.shortcutsContainer.showBackground:before{opacity:1}.shortcutsContainer .shortcuts{position:relative;transition:all .3s;isolation:isolate}.shortcutsContainer .shortcuts:hover{transform:translateY(-10px) scale(1.03);border-radius:100px}.shortcuts .shortcut-name{visibility:hidden;position:absolute;bottom:-30px;right:0;left:50%;transform:translate(-50%);margin:auto;width:fit-content;text-align:center;color:var(--textColorDark-blue);opacity:0;transition:all .3s;font-size:1rem;white-space:nowrap}.shortcuts:hover .shortcut-name{visibility:visible;opacity:1}.shortcutsContainer .shortcuts a{border-radius:100px;display:block;height:var(--shortcut-size);width:var(--shortcut-size)}.shortcutsContainer .shortcuts a:has(svg){background:radial-gradient(var(--accentLightTint-blue) 66%,transparent 66%)}.shortcutsContainer .shortcuts a:has(img){background-color:var(--darkColor-blue)}.shortcutsContainer .shortcuts a svg{height:100%;width:100%}.shortcutsContainer .shortcuts .shortcutLogoContainer{border-radius:50%;display:flex;justify-content:center;align-items:center;height:100%;width:100%}.shortcutsContainer .shortcuts .shortcutLogoContainer img{height:100%;width:100%;border-radius:100%}.aiToolsCont{height:50px;width:fit-content;overflow-x:hidden;border-radius:100px;position:fixed;left:var(--gap);bottom:var(--gap);margin:auto;display:flex;max-width:calc(100% - 140px);overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.aiToolsCont::-webkit-scrollbar{display:none}.aiToolsCont .hangno{background-color:var(--accentLightTint-blue);height:100%;display:flex;align-items:center;justify-content:center;padding:0 16px;border-radius:100px;z-index:2;cursor:pointer}.aiToolsCont .hangno .icon{width:26px;height:26px;margin-right:12px}.aiToolsCont .hangno .label{font-size:1rem;color:var(--textColorDark-blue);cursor:pointer;width:fit-content;min-width:61px}.aiToolsCont .toolsCont{display:none;position:relative;margin-left:30px;transition:all .5s;gap:0;transform-origin:left;transform:scale(.5) translate(-70px);opacity:.2}.aiToolsCont .toolsCont:before{content:"";position:absolute;height:100%;width:6px;background-color:var(--accentLightTint-blue);border-radius:6px;left:-18px}#firefly{width:103px}.aiToolsCont .toolsCont a{background-color:var(--accentLightTint-blue);height:100%;display:flex;align-items:center;justify-content:center;padding:0 16px;border-radius:100px;text-decoration:none;color:var(--textColorDark-blue);font-size:1rem;transition:all .3s ease}.aiToolsCont .toolsCont a:hover{background-color:var(--bg-color-blue);box-shadow:inset 0 0 0 1px var(--darkColor-blue)}.aiToolsCont .toolsCont .tIcon{width:26px;height:26px;margin-right:12px}@media screen and (max-width: 1400px){.leftDiv{transform:translate(-50px)}.rightDiv{transform:translate(50px)}}@media screen and (max-width: 1200px){body{display:block}.shortcutsContainer{margin-top:210px}.centerDiv{grid-template-columns:auto;position:absolute;left:0;right:0;margin:var(--gap) auto auto}.leftDiv{transform:translate(0);margin-bottom:var(--gap)}.rightDiv{transform:translate(0)}.ttteexxtt{height:fit-content;width:fit-content;bottom:0;top:0;left:300px;margin:auto auto auto var(--gap)}}.menuBar{background-color:#0000004f;-webkit-backdrop-filter:blur(15px) saturate(160%);backdrop-filter:blur(15px) saturate(160%);position:fixed;width:100%;height:100%;z-index:9999;opacity:0;transition:all .5s;overflow:hidden}.menuBar .menuCont{position:absolute;right:0;height:100%;width:400px;transition:all .5s;transform:translate(100%);background-color:var(--accentLightTint-blue);border-bottom-left-radius:var(--round)}.menuBar .menuCont .topRounder{width:var(--round);height:var(--round);position:absolute;left:-30px}.menuCont .topDiv{width:100%;height:100px;background-color:var(--bg-color-blue);position:relative}.menuCont .topDiv:after{position:absolute;content:"";width:100%;height:var(--gap);background-color:var(--accentLightTint-blue);border-top-left-radius:var(--round);border-top-right-radius:var(--round);bottom:0}.menuCont .topDiv h1{font-size:1.6rem;width:fit-content;height:fit-content;color:var(--textColorDark-blue);position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;transform:translateY(-39%)}.menuCont .optCont{width:100%;height:calc(100% - 140px);transition:all .6s;transform:translate(100%);opacity:0;overflow-y:scroll;overflow-x:hidden}.menuCont .optCont .page{width:100%;padding:0 var(--gap) var(--gap) var(--gap);position:absolute;transition:all .6s}.menuCont .optCont::-webkit-scrollbar{width:6px}.menuCont .optCont::-webkit-scrollbar-track{background:transparent}.menuCont .optCont::-webkit-scrollbar-thumb{background:var(--darkColor-blue);border-radius:3px}.menuCont .optCont::-webkit-scrollbar-thumb:hover{background:var(--darkerColor-blue);border-radius:3px}@-moz-document url-prefix(){.menuCont .optCont{scrollbar-width:thin;scrollbar-color:var(--darkColor-blue) transparent}}.menuBar .optCont .tilesCont{width:100%;height:50px;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.tilesCont .tiles{background-color:var(--darkColor-blue);border-radius:20px;font-size:1rem;color:var(--accentLightTint-blue);display:flex;align-items:center;text-decoration:none;transition:background-color .3s ease}.tilesCont .tiles:hover{background-color:var(--darkerColor-blue)}.tilesCont .tiles .icon{width:24px;height:24px;margin-left:13px;margin-right:13px}.divider{height:6px;width:100px;background-color:#fff;border-radius:3px;margin:20px auto}.switch{position:relative;display:inline-block;min-width:60px;height:34px;margin-left:8px}.switch input{display:none}.toggle{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-color-blue);transition:.4s;border-radius:34px}.toggle:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--accentLightTint-blue);transition:.4s;border-radius:50%}#shortcutEditButton{fill:var(--darkerColor-blue);display:flex;align-items:center;justify-content:center;border:none;border-radius:34px;cursor:pointer;transition:.3s all;margin:0 auto;background:none;height:100%;width:100%}.toggleTextsCont .ttcont.inactive{opacity:.5;pointer-events:none}input:checked+.toggle{background-color:var(--darkColor-blue)}input:checked+.toggle:before{transform:translate(26px)}md-outlined-text-field#userproxy{width:-webkit-fill-available;background-color:var(--acentLightTint-blue);font-family:var(--main-font-family);color:var(--textColorDark-blue)}md-outlined-text-field#userLoc{width:-webkit-fill-available;background-color:var(--acentLightTint-blue);font-family:var(--main-font-family);color:var(--textColorDark-blue)}md-outlined-text-field#userAPI{width:-webkit-fill-available;background-color:var(--acentLightTint-blue);font-family:var(--main-font-family);color:var(--textColorDark-blue)}.toggleTextsCont .ttcont{display:flex;height:50px;justify-content:space-between;align-items:center;margin-bottom:20px}.unflex{display:block!important}.ttcont input{width:100%;margin-top:6px;height:30px;border-radius:10px;border:none;outline:none;padding:0 11px}.ttcont .texts .bigText{font-size:1.2rem;color:var(--textColorDark-blue)}.ttcont .texts .infoText{font-size:.9rem;color:var(--textColorDark-blue);opacity:.86;margin-top:-3px}.bottom{display:flex;justify-content:space-between;margin-top:12px}.bottom a{text-decoration:none;color:var(--darkColor-blue);font-size:1rem;transition:color .3s ease}.bottom a:hover{color:var(--darkerColor-blue)}.bottom button{border:none;color:#fff;background-color:var(--darkColor-blue);padding:6px 20px;font-size:1rem;border-radius:100px;cursor:pointer}.resetbtn{width:-webkit-fill-available;width:-moz-available;border:none;color:#fff;background-color:var(--darkColor-blue);padding:6px 20px;font-size:1rem;border-radius:100px;cursor:pointer;transition:background-color .3s ease}.resetbtn:hover{background-color:var(--darkerColor-blue)}.resetbtn:active{background-color:var(--bg-color-blue);color:var(--darkerColor-blue)}.topBar{display:flex;justify-content:space-between;align-items:center;height:50px;position:sticky;top:0;left:0;right:0;z-index:1000;background-color:var(--accentLightTint-blue)}#backButton{fill:var(--textColorDark-blue);border:none;background:none;cursor:pointer}.rightButtons{display:flex;gap:24px}#newShortcutButton svg{transition:transform .3s ease}#newShortcutButton:active svg{transform:scale(1.2)}.rotateResetButton{transform:rotate(-360deg);transition:transform .3s ease}#resetButton,#newShortcutButton{fill:var(--textColorDark-blue);border:none;background:none;cursor:pointer}#newShortcutButton.inactive{opacity:.5;pointer-events:none}.pageTitle{margin-top:10px;width:100%;font-size:1.6rem;color:var(--textColorDark-blue)}#editShortcutsListInfo{font-size:.8rem;margin-top:5px;margin-bottom:var(--gap);text-align:justify}.shortcutSettingsEntry{width:100%;display:flex;height:50px;justify-content:space-between;align-items:center;margin-bottom:20px}.shortcutSettingsEntry input{width:calc(100% - var(--gap));background:none;border:none}.shortcutSettingsEntry .shortcutName{font-size:1.2rem;color:var(--textColorDark-blue);text-overflow:ellipsis}.shortcutSettingsEntry .URL{font-size:.9rem;color:var(--textColorDark-blue);opacity:.86;margin-top:-3px;text-overflow:ellipsis}.delete button{fill:var(--textColorDark-blue);display:flex;align-items:center;justify-content:center;width:60px;height:34px;background:var(--bg-color-blue);border:none;border-radius:34px;cursor:pointer;transition:.3s all}.delete button:hover{fill:#fff;background:var(--darkColor-blue)}.delete button.inactive{opacity:.5;pointer-events:none}.addShortcutContainer button{fill:#fff;background:var(--darkColor-blue);position:absolute;display:flex;align-items:center;justify-content:center;width:60px;height:34px;border:none;border-radius:34px;cursor:pointer;transition:.3s all}#userproxy,#userLoc,#userAPI{color:var(--textColorDark-blue);background-color:var(--whitishColor-blue)}.themingStuff{margin-top:11px;position:relative;width:100%;height:50px;display:flex;justify-content:space-between;gap:var(--gap)}.languageSection{width:100%;height:50px;display:flex;justify-content:space-between;gap:var(--gap);margin-top:30px}.languageSelector{background-color:var(--whitishColor-blue);align-items:center;justify-content:center;height:fit-content;width:240px;border:2px solid transparent;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:auto;grid-gap:10px;color:var(--textColorDark-blue);border-radius:26px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding:12px 12px 12px 13px}@-moz-document url-prefix(){.languageSelector{scrollbar-width:thin;scrollbar-color:var(--darkColor-blue) transparent}}.languageSelector::-webkit-scrollbar{width:6px}.languageSelector::-webkit-scrollbar-track{background-color:transparent}.languageSelector::-webkit-scrollbar-thumb{background-color:var(--bg-color-blue);border-radius:3px}.languageSelector:focus{border:2px solid var(--darkColor-blue);outline:none}.colorsContainer{background-color:var(--whitishColor-blue);align-items:center;justify-content:center;height:fit-content;width:-webkit-fill-available;display:initial;grid-template-columns:repeat(5,1fr);grid-auto-rows:auto;grid-gap:10px;padding:10px;border-radius:26px}.colorsContainer input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;height:36px;width:36px;border-radius:18px;outline:none;cursor:pointer}.colorsContainer input[value=blue]{background-color:#4382ec}.colorsContainer input[value=yellow]{background-color:#fc0}.colorsContainer input[value=red]{background-color:#ec4343}.colorsContainer input[value=green]{background-color:#5cba5c}.colorsContainer input[value=cyan]{background-color:#00ced1}.colorsContainer input[value=orange]{background-color:#ec844d}.colorsContainer input[value=purple]{background-color:#9563b5}.colorsContainer input[value=pink]{background-color:#ec5e78}.colorsContainer input[value=brown]{background-color:#705347}.colorsContainer input[value=silver]{background-color:#9e9e9e}.colorsContainer input[value=grey]{background:linear-gradient(45deg,#bb4dee,#f8b880)}.colorsContainer input[value=dark]{background-color:#171717}.colorsContainer input[type=radio]:checked:after{position:absolute;content:"";width:36px;height:36px;background:url("data:image/svg+xml,%3csvg%20width='50'%20height='50'%20viewBox='0%200%2050%2050'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M47.9167%2024.9997L42.8334%2019.208L43.5417%2011.5413L36.0209%209.83301L32.0834%203.20801L25%206.24967L17.9167%203.20801L13.9792%209.83301L6.45837%2011.5205L7.16671%2019.1872L2.08337%2024.9997L7.16671%2030.7913L6.45837%2038.4788L13.9792%2040.1872L17.9167%2046.8122L25%2043.7497L32.0834%2046.7913L36.0209%2040.1663L43.5417%2038.458L42.8334%2030.7913L47.9167%2024.9997ZM20.8334%2035.4163L12.5%2027.083L15.4375%2024.1455L20.8334%2029.5205L34.5625%2015.7913L37.5%2018.7497L20.8334%2035.4163Z'%20fill='white'/%3e%3c/svg%3e") center center no-repeat;background-size:74%}.themingStuff .btn{background-color:var(--whitishColor-blue);height:100%;aspect-ratio:1/1;right:0;border-radius:100%;z-index:2}.languageIcon{background-color:var(--whitishColor-blue);height:100%;aspect-ratio:1/1;right:0;border-radius:100%;z-index:2;display:flex;justify-content:center;align-items:center;margin-top:4.5px}.uploadClearContainer{margin-top:124px;justify-content:space-between;gap:10px}.uploadButton{width:245px}#imageUpload{display:none}.backupRestoreContainer{width:100%;height:38px;margin-top:33px;margin-left:-10px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.backupRestoreBtn{display:flex;align-items:center;justify-content:center;gap:9px;font-size:.9rem;cursor:pointer;border:none;background-color:var(--bg-color-blue);color:var(--darkerColor-blue);border-radius:20px;transition:background-color .3s ease}.backupRestoreBtn:hover{background-color:var(--darkColor-blue);color:#fffffff5}.backupRestoreBtn:active{background-color:var(--darkerColor-blue);color:#fffffff5}.spacer{height:23px}#colorPicker{display:none}.colorPickerLabel{grid-column:span 3;width:100%;background:var(--accentLightTint-blue);height:100%;border-radius:100px;display:flex;text-align:center;justify-content:center;font-size:.8rem;line-height:35px;cursor:pointer;border:2px solid transparent;transition:background-color .3s ease}.colorPickerLabel:hover{background:var(--bg-color-blue)}#menuButton{position:fixed;right:var(--gap);bottom:var(--gap);cursor:pointer}#menuCloseButton{position:absolute;left:0;width:42px;height:42px;max-width:100%;background-color:var(--bg-color-blue);color:var(--textColorDark-blue);font-size:1rem;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border-radius:100px;overflow:hidden;transition:all .4s;cursor:pointer;margin-left:20px;margin-top:-20px}#menuCloseButton:hover{width:105px;background-color:#fff}#menuCloseButton:after{content:"Close";padding-right:12px;opacity:0;transform:translate(-20px);animation:.6s menuCloseButtonHoverReverse forwards;z-index:1}#menuCloseButton:hover:after{content:"Close";padding-right:12px;padding-left:36px;animation:.6s menuCloseButtonHover forwards;animation-delay:.1s}@keyframes menuCloseButtonHover{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes menuCloseButtonHoverReverse{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-10px)}}#menuCloseButton .icon{position:absolute;left:6px;background-color:#fff;width:30px;height:30px;border-radius:100px;transition:.4s;z-index:2}#menuCloseButton:hover .icon{transform:translate(0) rotate(90deg)}.dropdown-item{display:flex;gap:8px;align-items:center}.dropdown-btn{background:none;border:none}.dropdown{position:relative;display:inline-block}.dropdown-content{background:var(--accentLightTint-blue);border-radius:16px;display:none;position:absolute;min-width:160px;box-shadow:0 8px 16px #0003;z-index:1;top:50px;left:-15px;overflow:hidden;max-height:192px}.dropdown-content .dropdown-item{padding:8px 16px;cursor:pointer}#default-dropdown-item .engine-name{display:none}.dropdown-content .engine-name{font-size:1rem}.dropdown-item{position:relative}.dropdown-item.selected:not(*[data-default]):before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--bg-color-blue);opacity:.8;z-index:-1}#default-dropdown-item{outline:none!important}*[id$=-dropdown]:not(.dropdown-content .dropdown-item:nth-child(1)){bottom:3px}.search-dropdown .dropdown-item svg{width:33px;height:33px;margin-left:0;padding:2px;background-color:var(--darkColor-blue);border-radius:100%}#LoadingScreen{background:var(--Loading-Screen-Color);display:flex;position:fixed;height:100%;width:100%;top:0;left:0;z-index:99999}
diff --git a/dist/background.js b/dist/svgs/0 Don't DELETE any of them
similarity index 100%
rename from dist/background.js
rename to dist/svgs/0 Don't DELETE any of them
diff --git a/dist/svgs/andakar.svg b/dist/svgs/andakar.svg
new file mode 100644
index 00000000..ef7940d3
--- /dev/null
+++ b/dist/svgs/andakar.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/bing.svg b/dist/svgs/bing.svg
new file mode 100644
index 00000000..5a0f528e
--- /dev/null
+++ b/dist/svgs/bing.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/svgs/bookmarksSearch.svg b/dist/svgs/bookmarksSearch.svg
new file mode 100644
index 00000000..1554f037
--- /dev/null
+++ b/dist/svgs/bookmarksSearch.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/dist/svgs/brave.svg b/dist/svgs/brave.svg
new file mode 100644
index 00000000..69ef9eb9
--- /dev/null
+++ b/dist/svgs/brave.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
diff --git a/src/defaultWeather.svg b/dist/svgs/defaultWeather.svg
similarity index 100%
rename from src/defaultWeather.svg
rename to dist/svgs/defaultWeather.svg
diff --git a/dist/svgs/duck.svg b/dist/svgs/duck.svg
new file mode 100644
index 00000000..9feb1203
--- /dev/null
+++ b/dist/svgs/duck.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/svgs/feels.svg b/dist/svgs/feels.svg
new file mode 100644
index 00000000..ff5eb357
--- /dev/null
+++ b/dist/svgs/feels.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/google.svg b/dist/svgs/google.svg
new file mode 100644
index 00000000..ff0c0d03
--- /dev/null
+++ b/dist/svgs/google.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/svgs/humidity.svg b/dist/svgs/humidity.svg
new file mode 100644
index 00000000..3eef1a75
--- /dev/null
+++ b/dist/svgs/humidity.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/location.svg b/dist/svgs/location.svg
new file mode 100644
index 00000000..e2564d46
--- /dev/null
+++ b/dist/svgs/location.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/rounder.svg b/dist/svgs/rounder.svg
new file mode 100644
index 00000000..33c43b80
--- /dev/null
+++ b/dist/svgs/rounder.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/svgs/searchIcon.svg b/dist/svgs/searchIcon.svg
new file mode 100644
index 00000000..22a5b534
--- /dev/null
+++ b/dist/svgs/searchIcon.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/adobe-firefly.svg b/dist/svgs/shortcuts_icons/adobe-firefly.svg
new file mode 100644
index 00000000..b5de619f
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/adobe-firefly.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/svgs/shortcuts_icons/bard.svg b/dist/svgs/shortcuts_icons/bard.svg
new file mode 100644
index 00000000..c8a4695d
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/bard.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/svgs/shortcuts_icons/chatgpt.svg b/dist/svgs/shortcuts_icons/chatgpt.svg
new file mode 100644
index 00000000..8296a70b
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/chatgpt.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/svgs/shortcuts_icons/email.svg b/dist/svgs/shortcuts_icons/email.svg
new file mode 100644
index 00000000..11dcfcbc
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/email.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/facebook.svg b/dist/svgs/shortcuts_icons/facebook.svg
new file mode 100644
index 00000000..9403148b
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/facebook.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/feedback.svg b/dist/svgs/shortcuts_icons/feedback.svg
new file mode 100644
index 00000000..f816571e
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/feedback.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/github-shortcut.svg b/dist/svgs/shortcuts_icons/github-shortcut.svg
new file mode 100644
index 00000000..2a934e05
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/github-shortcut.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/svgs/shortcuts_icons/github.svg b/dist/svgs/shortcuts_icons/github.svg
new file mode 100644
index 00000000..6cbe6ce7
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/github.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/instagram.svg b/dist/svgs/shortcuts_icons/instagram.svg
new file mode 100644
index 00000000..7405a48c
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/instagram.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/invalid-url.svg b/dist/svgs/shortcuts_icons/invalid-url.svg
new file mode 100644
index 00000000..5809da44
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/invalid-url.svg
@@ -0,0 +1,4 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/offline.svg b/dist/svgs/shortcuts_icons/offline.svg
new file mode 100644
index 00000000..81d2c55d
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/offline.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/dist/svgs/shortcuts_icons/reddit.svg b/dist/svgs/shortcuts_icons/reddit.svg
new file mode 100644
index 00000000..9acb882e
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/reddit.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/telegram.svg b/dist/svgs/shortcuts_icons/telegram.svg
new file mode 100644
index 00000000..a314fcb1
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/telegram.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/twitter.svg b/dist/svgs/shortcuts_icons/twitter.svg
new file mode 100644
index 00000000..6ab76903
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/twitter.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/whatsApp.svg b/dist/svgs/shortcuts_icons/whatsApp.svg
new file mode 100644
index 00000000..e8487f1f
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/whatsApp.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/shortcuts_icons/youtube.svg b/dist/svgs/shortcuts_icons/youtube.svg
new file mode 100644
index 00000000..83673123
--- /dev/null
+++ b/dist/svgs/shortcuts_icons/youtube.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/starishShape.svg b/dist/svgs/starishShape.svg
new file mode 100644
index 00000000..3ddaba72
--- /dev/null
+++ b/dist/svgs/starishShape.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/theme.svg b/dist/svgs/theme.svg
new file mode 100644
index 00000000..5af71cb2
--- /dev/null
+++ b/dist/svgs/theme.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/tick.svg b/dist/svgs/tick.svg
similarity index 100%
rename from src/tick.svg
rename to dist/svgs/tick.svg
diff --git a/dist/svgs/todo-check-fill.svg b/dist/svgs/todo-check-fill.svg
new file mode 100644
index 00000000..411e5f5b
--- /dev/null
+++ b/dist/svgs/todo-check-fill.svg
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/dist/svgs/todo-check-stroke.svg b/dist/svgs/todo-check-stroke.svg
new file mode 100644
index 00000000..4b300a97
--- /dev/null
+++ b/dist/svgs/todo-check-stroke.svg
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/dist/svgs/todo-pin-fill.svg b/dist/svgs/todo-pin-fill.svg
new file mode 100644
index 00000000..318b7e02
--- /dev/null
+++ b/dist/svgs/todo-pin-fill.svg
@@ -0,0 +1,6 @@
+
+
+
\ No newline at end of file
diff --git a/dist/svgs/todo-pin-stroke.svg b/dist/svgs/todo-pin-stroke.svg
new file mode 100644
index 00000000..7435fd0d
--- /dev/null
+++ b/dist/svgs/todo-pin-stroke.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dist/svgs/x.svg b/dist/svgs/x.svg
new file mode 100644
index 00000000..36d37f81
--- /dev/null
+++ b/dist/svgs/x.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/dist/svgs/youtube.svg b/dist/svgs/youtube.svg
new file mode 100644
index 00000000..cf5e2403
--- /dev/null
+++ b/dist/svgs/youtube.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/dist/todo-pin-stroke.svg b/dist/todo-pin-stroke.svg
new file mode 100644
index 00000000..7435fd0d
--- /dev/null
+++ b/dist/todo-pin-stroke.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dist/tools/languagesAnalysis.html b/dist/tools/languagesAnalysis.html
new file mode 100644
index 00000000..a2f7320c
--- /dev/null
+++ b/dist/tools/languagesAnalysis.html
@@ -0,0 +1,482 @@
+
+
+
+
+
+
+ Language Key Analysis
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 🌟
+ Language Key Analysis Tool
+
+
+
+
+
Language Key Analysis Results
+
+ This page is a tool designed to analyze language keys in the project. English serves as the reference language for
+ comparison. The tool identifies missing or extra keys in other languages and highlights the complete ones.
+
+
+ The following languages have missing translations compared to English.
+
+
+ Some of the following languages have extra keys not present in English. Consider removing them for consistency.
+
Click on the Sign Up button located at the top right corner of the homepage.
+
Fill in the required fields:
+
+
Email Address: Provide a valid email address.
+
Password: Create a secure password.
+
+
+
Agree to the terms and conditions.
+
Complete the CAPTCHA verification if prompted.
+
Click Sign Up to create your account.
+
+
+
Note: If you already have an account, click Login and proceed with your
+ credentials.
+
+
+
+
Step 3: Verify Your Email Address
+
Check your email inbox for a verification email from WeatherAPI. Open the email and click on the verification
+ link provided.
+
Tip: Check your spam or junk folder if you don’t see the email in your inbox.
+
+
+
+
Step 4: Log In to Your Account
+
+
Return to the WeatherAPI website.
+
Click on Login.
+
Enter your email address and password.
+
Click Login to access your account.
+
+
+
+
+
+
Step 5: Copy Your API Key
+
+
Once logged in, go to the Dashboard.
+
If the API section isn’t open, locate and open it.
+
You will see your API key displayed with a Copy option. Click it to copy your API key.
+
+
+
+
+
+
+
Step 6: Paste Your API Key
+
+
Paste your API key into the WeatherAPI key field in the extension menu.
+
Press enter or click on Save button to integrate it.
+
+
+
+
+
+
FAQs
+
+
Why is the location inaccurate?
+
The extension determines your location using your IP address, which can often be imprecise. If the
+ detected location differs from your actual location, you can:
+
+
Manually enter your city name or geographic coordinates.
+
Use the GPS option to fetch your location for greater accuracy.
+
+
+
Why do I need an API key?
+
An API key serves as a unique identifier for managing access and monitoring usage.
+
+
Our extension currently uses shared API keys that allow up to 10,000,000 calls per month. With
+ over 300,000 active users, these shared keys can reach their limit quickly. Once the limit is reached,
+ weather data will no longer be accessible until the limit resets the following month.
+
Using your own API key ensures that weather data remains accessible.
+
+
+
What are the benefits of using my own API key?
+
Using your own unique API key provides several key advantages:
+
+
Analytics: Access detailed insights into your API usage with comprehensive reports
+ available through your account dashboard. Monitor trends and make informed decisions based on your data
+ usage patterns.
+
Privacy: Your API activity is securely tied only to your account, ensuring that your
+ data remains private and protected from unauthorized access.
+
Compliance and Monitoring: Ensure adherence to WeatherAPI's terms of service by
+ monitoring your usage. Track API consumption effortlessly to avoid unexpected limits or disruptions in
+ service.
+
+
+
+
+
+
+
diff --git a/src/docs/Loading.png b/src/docs/Loading.png
new file mode 100644
index 00000000..1914264c
Binary files /dev/null and b/src/docs/Loading.png differ
diff --git a/src/docs/PageNotFound.html b/src/docs/PageNotFound.html
new file mode 100644
index 00000000..a215f371
--- /dev/null
+++ b/src/docs/PageNotFound.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ Page Not Found
+
+
+
+
+
+
This site can't be reached
+
+
+ Paths cross empty void
+ Seeking what once existed
+ Silence answers all.
+
+
+
Check if there is a typo in the URL.
+
+
+ Note: Only http:// or https:// protocols' shortcuts are supported for now.
+ The following are NOT supported: ftp://, data:, chrome://, and more.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/docs/feedback.html b/src/docs/feedback.html
new file mode 100644
index 00000000..66727f04
--- /dev/null
+++ b/src/docs/feedback.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+ Feedback - MaterialYouNewTab
+
+
+
+
+
+
+
We Value Your Feedback
+
+
If you have any suggestions or questions, feel free to reach out:
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/favicon/blue.png b/src/favicon/blue.png
new file mode 100644
index 00000000..844e8660
Binary files /dev/null and b/src/favicon/blue.png differ
diff --git a/src/favicon/brown.png b/src/favicon/brown.png
new file mode 100644
index 00000000..58e97052
Binary files /dev/null and b/src/favicon/brown.png differ
diff --git a/src/favicon/cyan.png b/src/favicon/cyan.png
new file mode 100644
index 00000000..ea1f1fd1
Binary files /dev/null and b/src/favicon/cyan.png differ
diff --git a/src/favicon/dark.png b/src/favicon/dark.png
new file mode 100644
index 00000000..7a2b2416
Binary files /dev/null and b/src/favicon/dark.png differ
diff --git a/src/favicon/green.png b/src/favicon/green.png
new file mode 100644
index 00000000..4a64d294
Binary files /dev/null and b/src/favicon/green.png differ
diff --git a/src/favicon/grey.png b/src/favicon/grey.png
new file mode 100644
index 00000000..46441b78
Binary files /dev/null and b/src/favicon/grey.png differ
diff --git a/src/favicon/icon.ico b/src/favicon/icon.ico
new file mode 100644
index 00000000..39d4386d
Binary files /dev/null and b/src/favicon/icon.ico differ
diff --git a/src/favicon/icon.png b/src/favicon/icon.png
new file mode 100644
index 00000000..d48cd015
Binary files /dev/null and b/src/favicon/icon.png differ
diff --git a/src/favicon/orange.png b/src/favicon/orange.png
new file mode 100644
index 00000000..b0e7d9ca
Binary files /dev/null and b/src/favicon/orange.png differ
diff --git a/src/favicon/pink.png b/src/favicon/pink.png
new file mode 100644
index 00000000..259854d6
Binary files /dev/null and b/src/favicon/pink.png differ
diff --git a/src/favicon/purple.png b/src/favicon/purple.png
new file mode 100644
index 00000000..7fa071c7
Binary files /dev/null and b/src/favicon/purple.png differ
diff --git a/src/favicon/red.png b/src/favicon/red.png
new file mode 100644
index 00000000..d23c2063
Binary files /dev/null and b/src/favicon/red.png differ
diff --git a/src/favicon/silver.png b/src/favicon/silver.png
new file mode 100644
index 00000000..011c5333
Binary files /dev/null and b/src/favicon/silver.png differ
diff --git a/src/favicon/yellow.png b/src/favicon/yellow.png
new file mode 100644
index 00000000..67908aa6
Binary files /dev/null and b/src/favicon/yellow.png differ
diff --git a/src/fonts/Material-symbols-outlined.woff2 b/src/fonts/Material-symbols-outlined.woff2
new file mode 100644
index 00000000..b929747d
Binary files /dev/null and b/src/fonts/Material-symbols-outlined.woff2 differ
diff --git a/src/humidity.svg b/src/humidity.svg
deleted file mode 100644
index b8b04870..00000000
--- a/src/humidity.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/index.html b/src/index.html
new file mode 100644
index 00000000..b1d9214c
--- /dev/null
+++ b/src/index.html
@@ -0,0 +1,1527 @@
+
+
+
+
+
+
+
+ New Tab
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ info
+
+
You can add new shortcuts by clicking the "+" icon or edit existing
+ ones by clicking on the shortcut name or URL
+
+
+
+
+
+
+
+ edit
+
+
+
+
+
\ No newline at end of file
diff --git a/src/languages.js b/src/languages.js
deleted file mode 100644
index 57ee5167..00000000
--- a/src/languages.js
+++ /dev/null
@@ -1,714 +0,0 @@
-// Translation data
-const translations = {
- "en": {
- // Menu Items
- "feedback": "Feedback",
- "resetsettings": "Reset Settings",
- // Shortcuts
- "shortcutsText": "Shortcuts",
- "enableShortcutsText": "Enable/disable shortcuts",
- "editShortcutsText": "Edit Shortcuts",
- "editShortcutsList": "Edit Shortcuts",
- "shortcutsInfoText": "Choose which shortcuts get shown",
- "adaptiveIconText": "Adaptive Icon Shapes",
- "adaptiveIconInfoText": "Shortcut Icons will always be round",
- "ai_tools_button": "AI-Tools",
- "enable_ai_tools": "Enable/disable AI Tools shortcuts",
- // Digital Clock
- "digitalclocktittle": "Digital Clock",
- "digitalclockinfo": "Enable/disable the Digital Clock",
- "timeformattittle": "Use 12h Format",
- "timeformatinfo": "Use 12 hour time format",
- // Misc
- "fahrenheitCelsiusCheckbox": "Switch to Fahrenheit",
- "fahrenheitCelsiusText": "Refresh the page to see the updates",
- "search_suggestions_button": "Search Suggestions",
- "search_suggestions_text": "Enable/disable Search Suggestions",
- // Proxy
- "useproxytitletext": "Proxy Bypass",
- "useproxyText": "If search suggestions isn't working",
- "ProxyText": "CORS Bypass Proxy",
- "ProxySubtext": "Add your own CORS Bypass Proxy",
- "HostproxyButton": "Host Your Own Proxy",
- "saveproxy": "Save",
- // Location
- "UserLocText": "Enter your location",
- "UserLocSubtext": "If the weather location isn't correct",
- "userLoc": "Your location (City/Latitude,Longitude)",
- "InputOptionsButton": "Input Options",
- "saveLoc": "Save",
- // Weather
- "WeatherApiText": "Enter your own WeatherAPI key",
- "WeatherApiSubtext": "If the weather functionality isn't working",
- "userAPI": "Your weatherAPI key",
- "LearnMoreButton": "Learn More",
- "saveAPI": "Save",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
- "months": ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- // End of Calendar
-
- // Weather
- "humidityText": "Humidity",
- "feelsLike": "Feels",
- "location": "Earth",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Hello! How are you today?",
- "enterBtn": "Search",
- "searchPlaceholder": "Your query...",
- "searchWithHint": "Search With",
- "ai_tools": "AI Tools",
- "userText": "Double tap to edit",
- // End of Body and New Tab Items
-
- // toDo for "menuCloseButton:hover::after": "Close",
- },
-
- // Portuguese
- // Machine translated some elements, please verify and delete this comment
- "pt": {
- // Menu Items
- "feedback": "Feedback",
- "resetsettings": "Redefinir Configurações",
- // Shortcuts
- "shortcutsText": "Atalhos",
- "enableShortcutsText": "Ativar/desativar atalhos",
- "editShortcutsText": "Editar Atalhos",
- "editShortcutsList": "Editar Atalhos",
- "shortcutsInfoText": "Escolha quais atalhos serão exibidos",
- "adaptiveIconText": "Formas de Ícone Adaptativo",
- "adaptiveIconInfoText": "Os ícones de atalhos serão sempre redondos",
- "ai_tools_button": "Ferramentas de IA",
- "enable_ai_tools": "Ativar/desativar atalhos de ferramentas de IA",
- // Digital Clock
- "digitalclocktittle": "Relógio Digital",
- "digitalclockinfo": "Ativar/desativar o Relógio Digital",
- "timeformattittle": "Usar Formato de 12h",
- "timeformatinfo": "Usar formato de hora de 12 horas",
- // Misc
- "fahrenheitCelsiusCheckbox": "Alternar para Fahrenheit",
- "fahrenheitCelsiusText": "Atualize a página para ver as atualizações",
- "search_suggestions_button": "Sugestões de Pesquisa",
- "search_suggestions_text": "Ativar/desativar Sugestões de Pesquisa",
- // Proxy
- "useproxytitletext": "Bypass de Proxy",
- "useproxyText": "Se as sugestões de pesquisa não estiverem funcionando",
- "ProxyText": "Proxy de Bypass CORS",
- "ProxySubtext": "Adicione seu próprio Proxy de Bypass CORS",
- "HostproxyButton": "Hospede Seu Próprio Proxy",
- "saveproxy": "Salvar",
- // Location
- "UserLocText": "Insira sua localização",
- "UserLocSubtext": "Se a localização do clima não estiver correta",
- "userLoc": "Sua localização (Cidade/Aletitude,Longitude)",
- "InputOptionsButton": "Opções de Entrada",
- "saveLoc": "Salvar",
- // Weather
- "WeatherApiText": "Insira sua própria chave da API de Clima",
- "WeatherApiSubtext": "Se a funcionalidade do clima não estiver funcionando",
- "userAPI": "Sua chave da WeatherAPI",
- "LearnMoreButton": "Saiba Mais",
- "saveAPI": "Salvar API",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'],
- "months": ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
- // End of Calendar
-
- // Weather
- "humidityText": "Umidade",
- "feelsLike": "Sensação de",
- "location": "Terra",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Olá! Como você está hoje?",
- "enterBtn": "Entrar",
- "searchPlaceholder": "Digite sua consulta...",
- "searchWithHint": "Pesquisar Com",
- "ai_tools": "Ferramentas de IA",
- "userText": "Toque duas vezes para editar",
- // End of Body and New Tab Items
-},
-
- // Chinese
- // Machine translated some elements, please verify and delete this comment
- "zh": {
- // Menu Items
- "feedback": "反馈",
- "resetsettings": "重置设置",
- // Shortcuts
- "shortcutsText": "快捷方式",
- "enableShortcutsText": "启用/禁用快捷方式",
- "editShortcutsText": "编辑快捷方式",
- "editShortcutsList": "编辑快捷方式",
- "shortcutsInfoText": "选择要显示的快捷方式",
- "adaptiveIconText": "自适应图标形状",
- "adaptiveIconInfoText": "快捷方式图标将始终为圆形",
- "ai_tools_button": "AI工具",
- "enable_ai_tools": "启用/禁用AI工具快捷方式",
- // Digital Clock
- "digitalclocktittle": "数字时钟",
- "digitalclockinfo": "启用/禁用数字时钟",
- "timeformattittle": "使用12小时格式",
- "timeformatinfo": "使用12小时制时间格式",
- // Misc
- "fahrenheitCelsiusCheckbox": "切换到华氏温度",
- "fahrenheitCelsiusText": "刷新页面以查看更新",
- "search_suggestions_button": "搜索建议",
- "search_suggestions_text": "启用/禁用搜索建议",
- // Proxy
- "useproxytitletext": "代理绕过",
- "useproxyText": "如果搜索建议无法正常工作",
- "ProxyText": "CORS绕过代理",
- "ProxySubtext": "添加您自己的CORS绕过代理",
- "HostproxyButton": "托管您自己的代理",
- "saveproxy": "保存",
- // Location
- "UserLocText": "输入您的位置",
- "UserLocSubtext": "如果天气位置不正确",
- "userLoc": "您的位置(城市/纬度,经度)",
- "InputOptionsButton": "输入选项",
- "saveLoc": "保存",
- // Weather
- "WeatherApiText": "输入您自己的天气API密钥",
- "WeatherApiSubtext": "如果天气功能无法正常工作",
- "userAPI": "您的天气API密钥",
- "LearnMoreButton": "了解更多",
- "saveAPI": "保存API",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
- "months": ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
- // End of Calendar
-
- // Weather
- "humidityText": "湿度",
- "feelsLike": "体感温度",
- "location": "地球",
- // End of Weather
-
- // New Tab Item
- "conditionText": "你好!今天怎么样?",
- "enterBtn": "输入",
- "searchPlaceholder": "输入搜索内容...",
- "searchWithHint": "搜索引擎",
- "ai_tools": "AI工具",
- "userText": "双击可编辑",
- // End of Body and New Tab Items
-},
-
- // Hindi
- "hi": {
- // Menu Items
- "feedback": "प्रतिक्रिया",
- "resetsettings": "सेटिंग्स रीसेट करें",
- // later ----> "menuCloseButton:hover::after": "बंद करें",
- // Shortcuts
- "shortcutsText": "शॉर्टकट्स",
- "enableShortcutsText": "शॉर्टकट्स सक्षम/अक्षम करें",
- "editShortcutsText": "शॉर्टकट्स संपादित करें",
- "editShortcutsList": "शॉर्टकट्स संपादित करें",
- "shortcutsInfoText": "कौन से शॉर्टकट्स दिखाए जाएँ, चुनें",
- "adaptiveIconText": "अनुकूल आइकन आकृतियाँ",
- "adaptiveIconInfoText": "शॉर्टकट आइकन हमेशा गोल होंगे",
- "ai_tools_button": "AI-उपकरण",
- "enable_ai_tools": "AI उपकरणों के शॉर्टकट्स सक्षम/अक्षम करें",
- // Digital Clock
- "digitalclocktittle": "डिजिटल घड़ी",
- "digitalclockinfo": "डिजिटल घड़ी को सक्षम/अक्षम करें",
- "timeformattittle": "12 घंटे का प्रारूप उपयोग करें",
- "timeformatinfo": "12 घंटे का समय प्रारूप उपयोग करें",
- // Misc
- "fahrenheitCelsiusCheckbox": "तापमान फारेनहाइट में बदलें",
- "fahrenheitCelsiusText": "बदलाव के लिए पृष्ठ को रीफ्रेश करें",
- "search_suggestions_button": "खोज सुझाव",
- "search_suggestions_text": "खोज सुझाव सक्षम/अक्षम करें",
- // Proxy
- "useproxytitletext": "प्रॉक्सी बायपास",
- "useproxyText": "यदि खोज सुझाव काम नहीं कर रहे हैं",
- "ProxyText": "CORS बायपास प्रॉक्सी",
- "ProxySubtext": "अपना CORS बायपास प्रॉक्सी जोड़ें",
- "HostproxyButton": "अपना प्रॉक्सी संचालित करें",
- "saveproxy": "दर्ज करें",
- // Location
- "UserLocText": "अपना स्थान दर्ज करें",
- "UserLocSubtext": "यदि मौसम स्थान सटीक नहीं है",
- "userLoc": "आपका स्थान (शहर/अक्षांश,देशांतर)",
- "InputOptionsButton": "इनपुट विकल्प",
- "saveLoc": "दर्ज करें",
- // Weather
- "WeatherApiText": "अपनी खुद की WeatherAPI कुंजी दर्ज करें",
- "WeatherApiSubtext": "यदि मौसम सुविधा काम नहीं कर रही है",
- "userAPI": "आपकी WeatherAPI कुंजी",
- "LearnMoreButton": "और जानें",
- "saveAPI": "दर्ज करें",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], // Truncated for display
- // "days": ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], // Full
- "months": ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवंबर', 'दिसंबर'],
- // "months": ['जन', 'फर', 'मार्च', 'अप्र', 'मई', 'जून', 'जुला', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'], // Truncated
-
- // Weather
- "humidityText": "नमी",
- "feelsLike": "महसूस",
- "location": "पृथ्वी",
- // End of Weather
-
- // New Tab Item
- "conditionText": "नमस्ते! आप आज कैसे हैं?",
- "enterBtn": "सर्च करें",
- "searchPlaceholder": "यहाँ लिखें...",
- "searchWithHint": "खोज माध्यम",
- "ai_tools": "AI उपकरण",
- "userText": "यहाँ अपना टेक्स्ट लिखें",
- // End of Body and New Tab Items
- },
-
- // Czech
- "cs": {
- // Menu Items
- "feedback": "Zpětná vazba",
- "resetsettings": "Resetovat nastavení",
- // Shortcuts
- "shortcutsText": "Zkratky",
- "enableShortcutsText": "Povolí/zakáže zkratky",
- "editShortcutsText": "Upravit zkratky",
- "editShortcutsList": "Upravit zkratky",
- "shortcutsInfoText": "Vyberte, které zkratky se mají zobrazit",
- "adaptiveIconText": "Adaptivní tvary ikon",
- "adaptiveIconInfoText": "Ikony zkratek budou vždy kulaté",
- "ai_tools_button": "AI nástroje",
- "enable_ai_tools": "Povolí/zakáže zkratky AI nástrojů",
- // Digital Clock
- "digitalclocktittle": "Digitální hodiny",
- "digitalclockinfo": "Povolí/zakáže digitální hodiny",
- "timeformattittle": "Použít 12hodinový formát",
- "timeformatinfo": "Použije 12hodinový formát času",
- // Misc
- "fahrenheitCelsiusCheckbox": "Přepnout na stupně Fahrenheita",
- "fahrenheitCelsiusText": "Změny se projeví po obnovení stránky",
- "search_suggestions_button": "Návrhy vyhledávání",
- "search_suggestions_text": "Povolí/zakáže návrhy vyhledávání",
- // Proxy
- "useproxytitletext": "Obcházení proxy",
- "useproxyText": "Pokud nefungují návrhy vyhledávání",
- "ProxyText": "Proxy pro obcházení CORS",
- "ProxySubtext": "Přidejte vlastní proxy pro obcházení CORS",
- "HostproxyButton": "Provozování vlastní proxy",
- "saveproxy": "Uložit",
- // Location
- "UserLocText": "Zadejte svou polohu",
- "UserLocSubtext": "Pokud není poloha počasí správná",
- "userLoc": "Vaše poloha (město / zeměpisná šířka, zeměpisná délka)",
- "InputOptionsButton": "Co lze zadat",
- "saveLoc": "Uložit",
- // Weather
- "WeatherApiText": "Zadejte svůj klíč k WeatherAPI",
- "WeatherApiSubtext": "Pokud nefunguje funkce počasí",
- "userAPI": "Váš klíč k WeatherAPI",
- "LearnMoreButton": "Zjistit více",
- "saveAPI": "Uložit",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'],
- "months": ['Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec'],
- // End of Calendar
-
- // Weather
- "humidityText": "Vlhkost",
- "feelsLike": "Pocitová teplota",
- "location": "Země",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Dobrý den! Jak se máte?",
- "enterBtn": "Vyhledat",
- "searchPlaceholder": "Zadejte hledaný výraz...",
- "searchWithHint": "Vyhledávat prostřednictvím",
- "ai_tools": "AI nástroje",
- "userText": "Upravíte dvojklikem",
- // End of Body and New Tab Items
-},
-
- // Italian
- // Machine translated some elements, please verify and delete this comment
- "it": {
- // Menu Items
- "feedback": "Feedback",
- "resetsettings": "Reimposta Impostazioni",
- // Shortcuts
- "shortcutsText": "Scorciatoie",
- "enableShortcutsText": "Abilita/disabilita scorciatoie",
- "editShortcutsText": "Modifica Scorciatoie",
- "editShortcutsList": "Modifica Scorciatoie",
- "shortcutsInfoText": "Scegli quali scorciatoie mostrare",
- "adaptiveIconText": "Forme di Icona Adattiva",
- "adaptiveIconInfoText": "Le icone delle scorciatoie saranno sempre rotonde",
- "ai_tools_button": "Strumenti AI",
- "enable_ai_tools": "Abilita/disabilita scorciatoie Strumenti AI",
- // Digital Clock
- "digitalclocktittle": "Orologio Digitale",
- "digitalclockinfo": "Abilita/disabilita Orologio Digitale",
- "timeformattittle": "Usa formato 12h",
- "timeformatinfo": "Usa formato orario a 12 ore",
- // Misc
- "fahrenheitCelciusCheckbox": "Passa a Fahrenheit",
- "fahrenheitCelciusText": "Ricarica la pagina per vedere gli aggiornamenti",
- "search_suggestions_button": "Suggerimenti di Ricerca",
- "search_suggestions_text": "Abilita/disabilita Suggerimenti di Ricerca",
- // Proxy
- "useproxytitletext": "Bypass Proxy",
- "useproxyText": "Se i suggerimenti di ricerca non funzionano",
- "ProxyText": "Proxy di Bypass CORS",
- "ProxySubtext": "Aggiungi il tuo Proxy di Bypass CORS",
- "HostproxyButton": "Hosta il Tuo Proxy",
- "saveproxy": "Invia",
- // Location
- "UserLocText": "Inserisci la tua posizione",
- "UserLocSubtext": "Se la posizione meteo non è corretta",
- "userLoc": "La tua posizione (Città/Latitudine,Longitudine)",
- "InputOptionsButton": "Opzioni di Inserimento",
- "saveLoc": "Invia",
- // Weather
- "WeatherApiText": "Inserisci la tua chiave WeatherAPI",
- "WeatherApiSubtext": "Se la funzionalità meteo non funziona",
- "userAPI": "La tua chiave WeatherAPI",
- "LearnMoreButton": "Scopri di più",
- "saveAPI": "Invia",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
- "months": ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
- // End of Calendar
-
- // Weather
- "humidityText": "Umidità",
- "feelsLike": "Percepito",
- "location": "Terra",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Ciao! Come stai oggi?",
- "enterBtn": "Invia",
- "searchPlaceholder": "Cerca...",
- "searchWithHint": "Cerca con",
- "ai_tools": "Strumenti AI",
- "userText": "Clicca per modificare",
- // End of Body and New Tab Items
-},
-
- // Turkish
- // Machine translated some elements, please verify and delete this commenty
- "tr": {
- // Menu Items
- "feedback": "Geri Bildirim",
- "resetsettings": "Ayarları Sıfırla",
- // Shortcuts
- "shortcutsText": "Kısayollar",
- "enableShortcutsText": "Kısayolları etkinleştir/devre dışı bırak",
- "editShortcutsText": "Kısayolları Düzenle",
- "editShortcutsList": "Kısayolları Düzenle",
- "shortcutsInfoText": "Hangi kısayolların gösterileceğini seçin",
- "adaptiveIconText": "Uyarlanabilir İkon Şekilleri",
- "adaptiveIconInfoText": "Kısayol İkonları her zaman yuvarlak olacak",
- "ai_tools_button": "AI Araçları",
- "enable_ai_tools": "AI Araçları kısayollarını etkinleştir/devre dışı bırak",
- // Digital Clock
- "digitalclocktittle": "Dijital Saat",
- "digitalclockinfo": "Dijital Saati etkinleştir/devre dışı bırak",
- "timeformattittle": "12 saat Formatını Kullanın",
- "timeformatinfo": "12 saat zaman formatını kullanın",
- // Misc
- "fahrenheitCelsiusCheckbox": "Fahrenheit'a geç",
- "fahrenheitCelsiusText": "Güncellemeleri görmek için sayfayı yenileyin",
- "search_suggestions_button": "Arama Önerileri",
- "search_suggestions_text": "Arama Önerilerini etkinleştir/devre dışı bırak",
- // Proxy
- "useproxytitletext": "Proxy Atlatma",
- "useproxyText": "Eğer arama önerileri çalışmıyorsa",
- "ProxyText": "CORS Atlatma Proxy",
- "ProxySubtext": "Kendi CORS Atlatma Proxy'nizi ekleyin",
- "HostproxyButton": "Kendi Proxy'nizi Barındırın",
- "saveproxy": "Gönder",
- // Location
- "UserLocText": "Konumunuzu girin",
- "UserLocSubtext": "Hava durumu konumu doğru değilse",
- "userLoc": "Konumunuz (Şehir/Enlem,Boylam)",
- "InputOptionsButton": "Girdi Seçenekleri",
- "saveLoc": "Gönder",
- // Weather
- "WeatherApiText": "Kendi Hava Durumu API anahtarınızı girin",
- "WeatherApiSubtext": "Hava durumu işlevi çalışmıyorsa",
- "userAPI": "Hava Durumu API anahtarınız",
- "LearnMoreButton": "Daha Fazla Bilgi Edinin",
- "saveAPI": "API'yi Kaydet",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
- "months": ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
- // End of Calendar
-
- // Weather
- "humidityText": "Nem",
- "feelsLike": "Hissedilen",
- "location": "Dünya",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Merhaba! Bugün nasılsın?",
- "enterBtn": "Gönder",
- "searchPlaceholder": "Aramanız...",
- "searchWithHint": "ile Ara",
- "ai_tools": "AI Araçları",
- "userText": "Düzenlemek için çift dokunun",
- // End of Body and New Tab Items
-},
-
- // Bengali
- "bn": {
- // Menu Items
- "feedback": "প্রতিক্রিয়া",
- "resetsettings": "সেটিংস রিসেট করুন",
- // later ----> "menuCloseButton:hover::after": "বন্ধ করুন",
- // Shortcuts
- "shortcutsText": "শর্টকাট",
- "enableShortcutsText": "শর্টকাট সক্রিয়/নিষ্ক্রিয় করুন",
- "editShortcutsText": "শর্টকাট সম্পাদনা করুন",
- "editShortcutsList": "শর্টকাট সম্পাদনা তালিকা",
- "shortcutsInfoText": "যেসব শর্টকাট প্রদর্শিত হবে তা নির্বাচন করুন",
- "adaptiveIconText": "অ্যাডাপ্টিভ আইকন আকার",
- "adaptiveIconInfoText": "শর্টকাট আইকন সর্বদা গোলাকার থাকবে",
- "ai_tools_button": "AI সরঞ্জাম",
- "enable_ai_tools": "AI সরঞ্জাম শর্টকাট সক্রিয়/নিষ্ক্রিয় করুন",
- // Digital Clock
- "digitalclocktittle": "ডিজিটাল ঘড়ি",
- "digitalclockinfo": "ডিজিটাল ঘড়ি সক্রিয়/নিষ্ক্রিয় করুন",
- "timeformattittle": "১২ ঘণ্টার ফরম্যাট ব্যবহার করুন",
- "timeformatinfo": "১২ ঘণ্টার সময় ফরম্যাট ব্যবহার করুন",
- // Misc
- "fahrenheitCelsiusCheckbox": "ফারেনহাইটে পরিবর্তন করুন",
- "fahrenheitCelsiusText": "আপডেট দেখতে পৃষ্ঠা রিফ্রেশ করুন",
- "search_suggestions_button": "অনুসন্ধানের পরামর্শ",
- "search_suggestions_text": "অনুসন্ধানের পরামর্শ সক্রিয়/নিষ্ক্রিয় করুন",
- // Proxy
- "useproxytitletext": "প্রক্সি বাইপাস",
- "useproxyText": "যদি অনুসন্ধানের পরামর্শ কাজ না করে",
- "ProxyText": "CORS বাইপাস প্রক্সি",
- "ProxySubtext": "আপনার নিজের CORS বাইপাস প্রক্সি যোগ করুন",
- "HostproxyButton": "আপনার নিজের প্রক্সি হোস্ট করুন",
- "saveproxy": "প্রবেশ করুন",
- // Location
- "UserLocText": "আপনার অবস্থান লিখুন",
- "UserLocSubtext": "যদি আবহাওয়ার অবস্থান সঠিক না হয়",
- "userLoc": "আপনার অবস্থান (শহর/অক্ষাংশ,দ্রাঘিমাংশ)",
- "InputOptionsButton": "ইনপুট অপশন",
- "saveLoc": "প্রবেশ করুন",
- // Weather
- "WeatherApiText": "আপনার নিজস্ব WeatherAPI কী লিখুন",
- "WeatherApiSubtext": "যদি আবহাওয়া ফিচার কাজ না করে",
- "userAPI": "আপনার WeatherAPI কী",
- "LearnMoreButton": "আরও জানুন",
- "saveAPI": "প্রবেশ করুন",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], // Truncated for display
- //"days": ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'], // Full
- "months": ['জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
- // "months": ['জানু', 'ফেব', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ', 'অক্টো', 'নভে', 'ডিসে'], // Truncated
- // End of Calendar
-
- // Weather
- "humidityText": "আর্দ্রতা",
- "feelsLike": "অনুভূত হয়",
- "location": "পৃথিবী",
- // End of Weather
-
- // New Tab Item
- "conditionText": "হ্যালো! আপনি আজ কেমন আছেন?",
- "enterBtn": "প্রবেশ করুন",
- "searchPlaceholder": "আপনার প্রশ্ন লিখুন...",
- "searchWithHint": "অনুসন্ধান করুন",
- "ai_tools": "AI সরঞ্জাম",
- "userText": "সম্পাদনা করতে ডবল ট্যাপ করুন",
- // End of Body and New Tab Items
- },
-
- // Russian
-"ru": {
- // Menu Items
- "feedback": "Обратная связь",
- "resetsettings": "Сброс настроек",
- // Shortcuts
- "shortcutsText": "Ярлыки",
- "enableShortcutsText": "Включить/Отключить ярлыки",
- "editShortcutsText": "Редактировать ярлыки",
- "editShortcutsList": "Редактировать ярлыки",
- "shortcutsInfoText": "Выберите, какие ярлыки будут отображаться",
- "adaptiveIconText": "Адаптивные формы значков",
- "adaptiveIconInfoText": "Ярлыки всегда будут круглыми",
- "ai_tools_button": "Инструменты ИИ",
- "enable_ai_tools": "Включить/Отключить ярлыки инструментов ИИ",
- // Digital Clock
- "digitalclocktittle": "Цифровые часы",
- "digitalclockinfo": "Включить/Отключить цифровые часы",
- "timeformattittle": "12-часовой формат",
- "timeformatinfo": "Использовать 12-часовой формат времени",
- // Misc
- "fahrenheitCelsiusCheckbox": "Переключить на Фаренгейт",
- "fahrenheitCelsiusText": "Обновите страницу, чтобы увидеть изменения",
- "search_suggestions_button": "Поисковые подсказки",
- "search_suggestions_text": "Включить/Отключить поисковые подсказки",
- // Proxy
- "useproxytitletext": "Использовать прокси",
- "useproxyText": "Если поисковые подсказки не работают",
- "ProxyText": "CORS обход прокси",
- "ProxySubtext": "Добавьте свой CORS-прокси",
- "HostproxyButton": "Разместить свой прокси",
- "saveproxy": "Применить",
- // Location
- "UserLocText": "Введите ваше местоположение",
- "UserLocSubtext": "Если местоположение для погоды неверно",
- "userLoc": "Ваше местоположение (Город/Широта,Долгота)",
- "InputOptionsButton": "Опции ввода",
- "saveLoc": "Применить",
- // Weather
- "WeatherApiText": "Введите свой ключ WeatherAPI",
- "WeatherApiSubtext": "Если функция погоды не работает",
- "userAPI": "Ваш ключ WeatherAPI",
- "LearnMoreButton": "Узнать больше",
- "saveAPI": "Применить",
- // End of Menu Items
-
- // Body Items
- // Calendar
- "days": ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
- "months": ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
- // End of Calendar
-
- // Weather
- "humidityText": "Влажность",
- "feelsLike": "Ощущается как",
- "location": "Земля",
- // End of Weather
-
- // New Tab Item
- "conditionText": "Привет! Как ты сегодня?",
- "enterBtn": "Ввод",
- "searchPlaceholder": "Ваш запрос...",
- "searchWithHint": "Искать с помощью",
- "ai_tools": "Инструменты ИИ",
- "userText": "Дважды нажмите для редактирования",
- // End of Body and New Tab Items
-}
-};
-
-// Function to apply the language to the page
-function applyLanguage(lang) {
- if (translations[lang]) {
- // Menu Items
- document.getElementById('feedbackbtntext').innerText = translations[lang].feedback;
- document.getElementById('resetsettingstext').innerText = translations[lang].resetsettings;
- document.getElementById('shortcutsText').innerText = translations[lang].shortcutsText;
- document.getElementById('enableShortcutsText').innerText = translations[lang].enableShortcutsText;
- document.getElementById('editShortcutsText').innerText = translations[lang].editShortcutsText;
- document.getElementById('editShortcutsList').innerText = translations[lang].editShortcutsList;
- document.getElementById('shortcutsInfoText').innerText = translations[lang].shortcutsInfoText;
- document.getElementById('adaptiveIconText').innerText = translations[lang].adaptiveIconText;
- document.getElementById('adaptiveIconInfoText').innerText = translations[lang].adaptiveIconInfoText;
- document.getElementById('ai_tools_button').innerText = translations[lang].ai_tools_button;
- document.getElementById('enable_ai_tools').innerText = translations[lang].enable_ai_tools;
- document.getElementById('fahrenheitCelsiusCheckbox').innerText = translations[lang].fahrenheitCelsiusCheckbox;
- document.getElementById('fahrenheitCelsiusText').innerText = translations[lang].fahrenheitCelsiusText;
- document.getElementById('search_suggestions_button').innerText = translations[lang].search_suggestions_button;
- document.getElementById('search_suggestions_text').innerText = translations[lang].search_suggestions_text;
-
- // Clock
- document.getElementById('digitalclocktittle').innerText = translations[lang].digitalclocktittle;
- document.getElementById('digitalclockinfo').innerText = translations[lang].digitalclockinfo;
- document.getElementById('timeformattittle').innerText = translations[lang].timeformattittle;
- document.getElementById('timeformatinfo').innerText = translations[lang].timeformatinfo;
-
- // Proxy
- document.getElementById('useproxytitletext').innerText = translations[lang].useproxytitletext;
- document.getElementById('useproxyText').innerText = translations[lang].useproxyText;
- document.getElementById('ProxySubtext').innerText = translations[lang].ProxySubtext;
- document.getElementById('HostproxyButton').innerText = translations[lang].HostproxyButton;
- document.getElementById('saveproxy').innerText = translations[lang].saveproxy;
-
- // Weather
- document.getElementById('UserLocSubtext').innerText = translations[lang].UserLocSubtext;
- document.getElementById('userLoc').placeholder = translations[lang].userLoc;
- document.getElementById('InputOptionsButton').innerText = translations[lang].InputOptionsButton;
- document.getElementById('saveLoc').innerText = translations[lang].saveLoc;
- document.getElementById('WeatherApiSubtext').innerText = translations[lang].WeatherApiSubtext;
- document.getElementById('userAPI').placeholder = translations[lang].userAPI;
- document.getElementById('LearnMoreButton').innerText = translations[lang].LearnMoreButton;
- document.getElementById('saveAPI').innerText = translations[lang].saveAPI;
-
- // End of Menu Items
-
- // Body Items
- document.getElementById('conditionText').innerText = translations[lang].conditionText;
- document.getElementById('enterBtn').innerText = translations[lang].enterBtn;
- document.getElementById('searchQ').placeholder = translations[lang].searchPlaceholder;
- document.getElementById('searchWithHint').innerText = translations[lang].searchWithHint;
- document.getElementById('ai_tools').innerText = translations[lang].ai_tools;
- document.getElementById('userTextt').placeholder = translations[lang].userText;
-
- // Weather
- document.getElementById("humidityLevel").innerText = translations[lang].humidityText;
- document.getElementById("feelsLike").innerText = translations[lang].feelsLike;
- document.getElementById("location").innerText = translations[lang].location;
-
- // End of Body Items*/
-
- // Save the selected language in localStorage
- saveLanguageStatus('selectedLanguage', lang);
- } else {
- console.error('Language not found');
- }
-}
-// Detect language from navigator.language
-document.getElementById('languageSelector').addEventListener('change', (event) => {
- applyLanguage(event.target.value);
- location.reload();
-});
-// Function to apply the language when the page loads
-window.onload = function () {
- const savedLanguage = getLanguageStatus('selectedLanguage') || 'en'; // Default language is English
- if (savedLanguage) {
- document.getElementById("languageSelector").value = savedLanguage;
- }
- applyLanguage(savedLanguage);
-};
-
-// Function to save the language status in localStorage
-function saveLanguageStatus(key, languageStatus) {
- localStorage.setItem(key, languageStatus);
-}
-// Function to get the language status from localStorage
-function getLanguageStatus(key) {
- return localStorage.getItem(key);
-}
-export default translations;
\ No newline at end of file
diff --git a/src/locales/README.md b/src/locales/README.md
new file mode 100644
index 00000000..174b037e
--- /dev/null
+++ b/src/locales/README.md
@@ -0,0 +1,24 @@
+## Adding a New Translation
+
+1. **Create a new translation file**
+ - Name the file using the appropriate language code (e.g., `de.js` for German or `ar.js` for Arabic).
+ - Place this file in the `locales` directory.
+
+2. **Add the locale to `index.html`**
+ - Open `index.html` and locate the `` section.
+ - Add your new locale script tag in the correct order, as follows:
+ ```html
+
+ ```
+
+3. **Test the translation**
+ - Verify that your translations are displayed correctly when the respective locale is selected.
+
+4. **Keep translations consistent**
+ - Follow the structure of existing translation files to ensure consistency across all locales.
+
+5. **Subscribe to Translation Updates for Contributors** (optional)
+ - Join the #195 channel or mailing list to receive notifications about new lines being added to translations.
+
+6. **Update the Currently Supported Languages section in the `README.md`**
+ - Add the new language to the list of supported languages in the README, following the existing format.
diff --git a/src/locales/az.js b/src/locales/az.js
new file mode 100644
index 00000000..bb8dc08a
--- /dev/null
+++ b/src/locales/az.js
@@ -0,0 +1,138 @@
+// Azerbaijani -> az
+const az = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Əlaqə",
+ "resetsettings": "Parametrləri sıfırla",
+ "menuCloseText": "Bağla",
+
+ // Shortcuts
+ "shortcutsText": "Qısayollar",
+ "enableShortcutsText": "Yadda saxlanmış qısa yolları göstər",
+ "editShortcutsText": "Qısayolları redaktə et",
+ "shortcutsInfoText": "Göstəriləcək qısayolları seçin",
+ "editShortcutsList": "Saxlanmış Qısayollar",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Adaptiv ikona formaları",
+ "adaptiveIconInfoText": "Qısayol nişanları dairəvi görünəcək",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI Alətləri",
+ "enable_ai_tools": "AI Alətləri qısayollarını göstər",
+ "googleAppsMenuText": "Google Apps",
+ "googleAppsMenuInfo": "Google Tətbiqləri üçün qısayolları göstər",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Rəqəmsal saat",
+ "digitalclockinfo": "Rəqəmsal saata keç",
+ "timeformattittle": "12 Saat Format",
+ "timeformatinfo": "12 saatlıq vaxt formatından istifadə edin",
+ "greetingtittle": "Xoş gəlmisiniz",
+ "greetinginfo": "Fərdi mətnin altında salamlama mesajını göstər",
+
+ // Misc
+ "userTextTitle": "Fərdiləşdirilə bilən mətn",
+ "userTextInfo": "Saat altında fərdi mətni göstər",
+ "fahrenheitCelsiusCheckbox": "Fahrenheit rejiminə keç",
+ "fahrenheitCelsiusText": "Yeniləmələri görmək üçün səhifəni yeniləyin",
+ "micIconTitle": "Mikrofon nişanını gizlət",
+ "micIconInfo": "Səslə yazmaq işləmirsə",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Təklifləri axtarın",
+ "search_suggestions_text": "Axtarış təkliflərini aktivləşdirin",
+
+ // Proxy
+ "useproxytitletext": "Proksidən keçmək",
+ "useproxyText": "Əgər axtarış təklifləri işləmirsə",
+ "ProxyText": "CORS Bypass Proxy",
+ "ProxySubtext": "Öz CORS Bypass Proxy əlavə et",
+ "HostproxyButton": "Öz Proxyinizi Host edin",
+ "saveproxy": "Saxla",
+
+ // Location
+ "UserLocText": "Məkanınızı daxil edin",
+ "UserLocSubtext": "Hava yeri düzgün deyilsə",
+ "userLoc": "Məkanınız (Şəhər/Enlem, Boylam)",
+ "saveLoc": "Saxla",
+
+ // Weather
+ "WeatherApiText": "Öz WeatherAPI açarınızı daxil edin",
+ "WeatherApiSubtext": "Hava funksiyası işləmirsə",
+ "userAPI": "Sizin WeatherAPI açarınız",
+ "LearnMoreButton": "Ətraflı məlumat",
+ "saveAPI": "Saxla",
+
+ // Body Items
+ // Calendar
+ "days": ['Bazar', 'Bazar ertəsi', 'Çərşənbə axşamı', 'Çərşənbə', 'Cümə axşamı', 'Cümə', 'Şənbə'],
+ "months": ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Salam! Bu gün necəsən?",
+ "humidityLevel": "Rütubət",
+ "feelsLike": "FeelsLike",
+ "location": "Dünya",
+ "enterBtn": "Axtar",
+ "searchPlaceholder": "Axtarışınız...",
+ "listenPlaceholder": "Dinlənir...",
+ "searchWithHint": "Bununla axtar",
+ "userText": "Bura klikləməklə redaktə edin",
+
+ // Greeting
+ greeting: {
+ "morning": "Sabahınız xeyir!",
+ "afternoon": "Hər vaxtın xeyir!",
+ "evening": "Axşamın xeyir!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Alətləri",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Divar kağızı yükləyin",
+ "backupText": "Yedək",
+ "restoreText": "Bərpa et",
+ "rangColor": "Rəng seçin",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Gün üçün divar kağızı olaraq yeni bir şəkil təyin etmək istərdinizmi?",
+ "confirmRestore": "Parametrlərinizi sıfırlamaq istədiyinizə əminsiniz? Bu əməliyyatı geri qaytarmaq mümkün deyil.",
+ "Nobackgroundset": "Hazırda heç bir fon şəkli qurulmayıb.",
+ "clearbackgroundimage": "Arxa fon şəklini təmizləmək istədiyinizə əminsinizmi?",
+ "ProxyDisclaimer": "Bütün proksi funksiyaları defolt olaraq deaktivdir.\n\nAxtarış təkliflərini və CORS proksisini yan keçmək imkanını aktiv etsəniz, təkmil məxfilik üçün öz proksinizi yerləşdirmək tövsiyə olunur.\n\nDefolt olaraq, proksi quraşdırılacaq. https://mynt-proxy.rhythmcorehq.com ünvanına, yəni bütün məlumatlarınız bu xidmətdən keçəcək və bu, məxfiliklə bağlı narahatlıq yarada bilər.",
+ "failedbackup": "Yedəkləmə uğursuz oldu: ",
+ "restorecompleted": "Bərpa uğurla tamamlandı!",
+ "restorefailed": "Bərpa uğursuz oldu: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/bn.js b/src/locales/bn.js
new file mode 100644
index 00000000..3f0a8720
--- /dev/null
+++ b/src/locales/bn.js
@@ -0,0 +1,141 @@
+// Bengali
+const bn = {
+ // Menu Items
+ "github": "গিটহাব",
+ "feedback": "মতামত",
+ "resetsettings": "সেটিংস পুনরায় সেট করুন",
+ "menuCloseText": "বন্ধ করুন",
+
+ // Shortcuts
+ "shortcutsText": "শর্টকাট",
+ "enableShortcutsText": "সংরক্ষিত শর্টকাটগুলি প্রদর্শন করুন",
+ "editShortcutsText": "শর্টকাট সম্পাদনা করুন",
+ "shortcutsInfoText": "যে শর্টকাটগুলো দেখাতে চান তা নির্বাচন করুন",
+ "editShortcutsList": "সংরক্ষিত শর্টকাট",
+ "editShortcutsListInfo": "\"+\" আইকনে ক্লিক করে নতুন শর্টকাট যোগ করুন অথবা বিদ্যমান শর্টকাটের নাম বা URL এ ক্লিক করে সম্পাদনা করুন।",
+ "adaptiveIconText": "অ্যাডাপ্টিভ আইকন",
+ "adaptiveIconInfoText": "শর্টকাট আইকন থিম রঙের সাথে মিলে ছোট আকারে প্রদর্শিত হবে",
+ "bookmarksText": "বুকমার্কস",
+ "bookmarksInfo": "বুকমার্কস সাইডবার দেখুন",
+ "ai_tools_button": "এআই সরঞ্জাম",
+ "enable_ai_tools": "এআই সরঞ্জামের শর্টকাট প্রদর্শন করুন",
+ "googleAppsMenuText": "গুগল অ্যাপস",
+ "googleAppsMenuInfo": "গুগল অ্যাপসের শর্টকাট প্রদর্শন করুন",
+ "googleAppsHover": "গুগল অ্যাপস",
+
+ // To-do List
+ "todoListText": "টু ডু লিস্ট",
+ "todoListInfo": "দৈনিক কাজের তালিকা দেখুন",
+ "todoListHover": "টু ডু লিস্ট",
+ "todoPlaceholder": "টাস্ক যোগ করুন...",
+
+ // Digital Clock
+ "digitalclocktittle": "ডিজিটাল ঘড়ি",
+ "digitalclockinfo": "ডিজিটাল ঘড়িতে পরিবর্তন করুন",
+ "timeformattittle": "১২-ঘণ্টা ফরম্যাট",
+ "timeformatinfo": "১২-ঘণ্টার সময় ফরম্যাট ব্যবহার করুন",
+ "greetingtittle": "অভিবাদন",
+ "greetinginfo": "কাস্টম টেক্সটের নিচে অভিবাদন দেখান",
+
+ // Misc
+ "userTextTitle": "কাস্টমাইজেবল টেক্সট",
+ "userTextInfo": "ঘড়ির নিচে কাস্টম টেক্সট দেখান",
+ "fahrenheitCelsiusCheckbox": "ফারেনহাইটে পরিবর্তন করুন",
+ "fahrenheitCelsiusText": "পরিবর্তন প্রয়োগ করতে পেজ রিফ্রেশ করুন",
+ "micIconTitle": "মাইক্রোফোন আইকন লুকান",
+ "micIconInfo": "যদি ভয়েস টাইপিং কাজ না করে",
+ "hideSearchWith": "সার্চ ইঞ্জিন লুকান",
+ "hideSearchWithInfo": "সার্চ ইঞ্জিনের আইকনে ক্লিক করে সার্চ ইঞ্জিন পরিবর্তন করুন",
+ "search_suggestions_button": "সার্চ সাজেশন",
+ "search_suggestions_text": "সার্চ সাজেশন সক্রিয় করুন",
+
+ // Proxy
+ "useproxytitletext": "প্রক্সি বাইপাস",
+ "useproxyText": "যদি সার্চ সাজেশন কাজ না করে",
+ "ProxyText": "CORS বাইপাস প্রক্সি",
+ "ProxySubtext": "নিজস্ব CORS বাইপাস প্রক্সি যোগ করুন",
+ "HostproxyButton": "নিজস্ব প্রক্সি হোস্ট করুন",
+ "saveproxy": "সংরক্ষণ করুন",
+
+ // Location
+ "UserLocText": "আপনার অবস্থান লিখুন",
+ "UserLocSubtext": "যদি আবহাওয়া অবস্থান সঠিক না হয়",
+ "userLoc": "আপনার শহর বা স্থানাঙ্ক (অক্ষাংশ, দ্রাঘিমাংশ)",
+ "useGPS": "জিপিএস ব্যবহার করুন",
+ "saveLoc": "সংরক্ষণ করুন",
+
+ // Weather
+ "WeatherApiText": "আপনার WeatherAPI কী লিখুন",
+ "WeatherApiSubtext": "যদি আবহাওয়ার ফাংশন কাজ না করে",
+ "userAPI": "আপনার WeatherAPI কী",
+ "LearnMoreButton": "আরও জানুন",
+ "saveAPI": "সংরক্ষণ করুন",
+
+ // Body Items
+ // Calendar
+ "days": ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহস্পতি', 'শুক্র', 'শনি'], // Truncated for display
+ //"days": ['রবিবার', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার'], // Full
+ "months": ['জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'],
+ // "months": ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলাই', 'আগ', 'সেপ্টে', 'অক্টো', 'নভে', 'ডিসে'], // Truncated
+
+ // Bookmarks
+ "bookmarksHeading": "বুকমার্কস",
+ "bookmarkViewAs": "এইভাবে দেখুন",
+ "bookmarkViewGrid": "গ্রিড",
+ "bookmarkViewList": "লিস্ট",
+ "bookmarkSearch": "বুকমার্ক সার্চ করুন",
+
+ // New Tab Item
+ "conditionText": "হ্যালো! আজ আপনি কেমন আছেন?",
+ "humidityLevel": "আর্দ্রতা",
+ "feelsLike": "অনুভূতি হয়",
+ "location": "পৃথিবী",
+ "enterBtn": "সার্চ করুন",
+ "searchPlaceholder": "এখানে টাইপ করুন...",
+ "listenPlaceholder": "শোনা হচ্ছে...",
+ "searchWithHint": "সার্চের মাধ্যম",
+ "userText": "এখানে আপনার টেক্সট লিখুন",
+
+ // Greeting
+ greeting: {
+ "morning": "শুভ সকাল!",
+ "afternoon": "শুভ বিকেল!",
+ "evening": "শুভ সন্ধ্যা!"
+ },
+
+ // Search Engines
+ "googleEngine": "গুগল",
+ "duckEngine": "ডাকডাকগো",
+ "bingEngine": "বিং",
+ "braveEngine": "ব্রেভ",
+ "youtubeEngine": "ইউটিউব",
+
+ // AI Tools
+ "ai_tools": "এআই টুলস",
+ "chatGPT": "চ্যাটজিপিটি",
+ "gemini": "জেমিনি",
+ "copilot": "কোপাইলট",
+ "claude": "ক্লড",
+ "perplexity": "পারপ্লেক্সিটি",
+ "firefly": "অ্যাডোবি ফায়ারফ্লাই",
+ "metaAI": "মেটা এআই",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "ওয়ালপেপার দিন",
+ "backupText": "ব্যাকআপ করুন",
+ "restoreText": "পুনরুদ্ধার করুন",
+ "rangColor": "রঙ নির্বাচন করুন",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "আপনি কি আজকের জন্য একটি নতুন ছবি ওয়ালপেপার হিসেবে সেট করতে চান?",
+ "confirmRestore": "আপনি কি নিশ্চিত যে আপনি আপনার সেটিংস রিসেট করতে চান? এটি পূর্বাবস্থায় ফেরানো যাবে না।",
+ "Nobackgroundset": "বর্তমানে কোন ব্যাকগ্রাউন্ড ইমেজ সেট করা হয়নি।",
+ "clearbackgroundimage": "আপনি কি ব্যাকগ্রাউন্ড ইমেজ মুছে ফেলতে চান?",
+ "ProxyDisclaimer": "সমস্ত প্রক্সি ফিচার ডিফল্টভাবে বন্ধ থাকে।\n\nআপনি যদি সার্চ সাজেশন এবং CORS বাইপাস প্রক্সি সক্রিয় করেন, তাহলে উন্নত গোপনীয়তার জন্য আপনার নিজস্ব প্রক্সি হোস্ট করার পরামর্শ দেওয়া হয়।\n\nডিফল্টভাবে প্রক্সি https://mynt-proxy.rhythmcorehq.com এ সেট করা হবে, যার মানে আপনার সমস্ত ডেটা এই পরিষেবার মাধ্যমে যাবে, যা গোপনীয়তার ঝুঁকি তৈরি করতে পারে।",
+ "failedbackup": "ব্যাকআপ ব্যর্থ: ",
+ "restorecompleted": "পুনরুদ্ধার সফলভাবে সম্পন্ন হয়েছে!",
+ "restorefailed": "পুনরুদ্ধার ব্যর্থ: ",
+ "invalidBackup": "অবৈধ ব্যাকআপ ফাইল",
+ "deleteBookmark": "আপনি কি নিশ্চিত যে আপনি বুকমার্কটি মুছে ফেলতে চান?",
+ "UnsupportedBrowser": "আপনার ব্রাউজারে বুকমার্ক সমর্থিত নয়",
+};
diff --git a/src/locales/cs.js b/src/locales/cs.js
new file mode 100644
index 00000000..394f022e
--- /dev/null
+++ b/src/locales/cs.js
@@ -0,0 +1,138 @@
+// Czech -> cs
+const cs = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Zpětná vazba",
+ "resetsettings": "Resetovat nastavení",
+ "menuCloseText": "Zavřít",
+
+ // Shortcuts
+ "shortcutsText": "Zkratky",
+ "enableShortcutsText": "Zobrazí zkratky",
+ "editShortcutsText": "Upravit zkratky",
+ "shortcutsInfoText": "Vyberte, které zkratky se mají zobrazit",
+ "editShortcutsList": "Uložené zkratky",
+ "editShortcutsListInfo": "Nové zkratky můžete přidat klepnutím na ikonku „+“. Upravit existující můžete klepnutím na název nebo URL adresu zkratky.",
+ "adaptiveIconText": "Adaptivní tvary ikon",
+ "adaptiveIconInfoText": "Ikony zkratek se zmenší",
+ "bookmarksText": "Záložky",
+ "bookmarksInfo": "Zobrazí boční panel se záložkami",
+ "ai_tools_button": "AI nástroje",
+ "enable_ai_tools": "Zobrazí zkratky AI nástrojů",
+ "googleAppsMenuText": "Google aplikace",
+ "googleAppsMenuInfo": "Zobrazí zkratky Google aplikací",
+ "googleAppsHover": "Google aplikace",
+
+ // To-do List
+ "todoListText": "Seznam úkolů",
+ "todoListInfo": "Zobrazí denní seznam úkolů",
+ "todoListHover": "Seznam úkolů",
+ "todoPlaceholder": "Přidat úkol...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digitální hodiny",
+ "digitalclockinfo": "Přepne hodiny na digitální",
+ "timeformattittle": "12hodinový formát",
+ "timeformatinfo": "Použije se 12hodinový formát času",
+ "greetingtittle": "Pozdrav",
+ "greetinginfo": "Zobrazí pozdrav pod upravitelným textem",
+
+ // Misc
+ "userTextTitle": "Upravitelný text",
+ "userTextInfo": "Zobrazí upravitelný text pod hodinami",
+ "fahrenheitCelsiusCheckbox": "Přepnout na stupně Fahrenheita",
+ "fahrenheitCelsiusText": "Změny se projeví po obnovení stránky",
+ "micIconTitle": "Skrýt ikonu mikrofonu",
+ "micIconInfo": "Pokud nefunguje hlasové vyhledávání",
+ "hideSearchWith": "Skrýt vyhledávače",
+ "hideSearchWithInfo": "Mezi vyhledávači přepnete klepnutím na jejich ikonky",
+ "search_suggestions_button": "Návrhy ve vyhledávání",
+ "search_suggestions_text": "Zapne návrhy vyhledávání",
+
+ // Proxy
+ "useproxytitletext": "Obcházení proxy",
+ "useproxyText": "Pokud nefungují návrhy ve vyhledávání",
+ "ProxyText": "Proxy pro obcházení CORS",
+ "ProxySubtext": "Nastavte si vlastní proxy pro obcházení CORS",
+ "HostproxyButton": "Provozování vlastní proxy",
+ "saveproxy": "Uložit",
+
+ // Location
+ "UserLocText": "Zadejte svou polohu",
+ "UserLocSubtext": "Pokud není správná poloha počasí",
+ "userLoc": "Město nebo souřadnice (šířka, délka)",
+ "saveLoc": "Uložit",
+
+ // Weather
+ "WeatherApiText": "Zadejte svůj klíč k WeatherAPI",
+ "WeatherApiSubtext": "Pokud nefunguje funkce počasí",
+ "userAPI": "Váš klíč k WeatherAPI",
+ "LearnMoreButton": "Zjistit více",
+ "saveAPI": "Uložit",
+
+ // Body Items
+ // Calendar
+ "days": ["neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota"],
+ "months": ["ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince"],
+
+ // Bookmarks
+ "bookmarksHeading": "Záložky",
+ "bookmarkViewAs" : "Způsob zobrazení",
+ "bookmarkViewGrid" : "Mřížka",
+ "bookmarkViewList" : "Seznam",
+ "bookmarkSearch": "Vyhledejte záložku",
+
+ // New Tab Item
+ "conditionText": "Dobrý den! Jak se máte?",
+ "humidityLevel": "Vlhkost",
+ "feelsLike": "Pocitová teplota",
+ "location": "Země",
+ "enterBtn": "Vyhledat",
+ "searchPlaceholder": "Zadejte hledaný výraz...",
+ "listenPlaceholder": "Poslouchám...",
+ "searchWithHint": "Vyhledávat prostřednictvím",
+ "userText": "Upravíte po kliknutí",
+
+ // Greeting
+ "greeting": {
+ "morning": "Dobré ráno!",
+ "afternoon": "Dobré odpoledne!",
+ "evening": "Dobrý večer!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI nástroje",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Nahrát tapetu",
+ "backupText": "Zálohovat",
+ "restoreText": "Obnovit",
+ "rangColor": "Vybrat barvu",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Přejete si nastavit nový obrázek jako denní tapetu?",
+ "confirmRestore": "Opravdu si přejete resetovat nastavení? Tuto akci nelze zvrátit.",
+ "Nobackgroundset": "Aktuálně nemáte nastavený žádný obrázek na pozadí.",
+ "clearbackgroundimage": "Opravdu si přejete smazat obrázek na pozadí?",
+ "ProxyDisclaimer": "Všechny funkce proxy jsou ve výchozím nastavení vypnuté.\n\nPokud zapnete našeptávání ve vyhledávání s proxy pro obcházení CORS, pro lepší zabezpečení vám důrazně doporučujeme hostovat si vlastní proxy.\n\nVe výchozím nastavení je proxy nastavena na https://mynt-proxy.rhythmcorehq.com, což znamená, že všechna vaše data procházejí skrz tuto službu. To může vyvolat obavy o soukromí.",
+ "failedbackup": "Zálohování selhalo: ",
+ "restorecompleted": "Obnova ze zálohy byla úspěšně dokončena!",
+ "restorefailed": "Obnova ze zálohy selhala: ",
+ "invalidBackup": "Neplatný soubor se zálohou",
+ "deleteBookmark": "Opravdu si přejete smazat tuto záložku?",
+ "UnsupportedBrowser": "Ve vašem prohlížeči nejsou záložky podporované",
+};
diff --git a/src/locales/en.js b/src/locales/en.js
new file mode 100644
index 00000000..74cacf16
--- /dev/null
+++ b/src/locales/en.js
@@ -0,0 +1,139 @@
+// English (Default)
+const en = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Reset Settings",
+ "menuCloseText": "Close",
+
+ // Shortcuts
+ "shortcutsText": "Shortcuts",
+ "enableShortcutsText": "Show saved shortcuts",
+ "editShortcutsText": "Edit Shortcuts",
+ "shortcutsInfoText": "Choose which shortcuts get shown",
+ "editShortcutsList": "Saved Shortcuts",
+ "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Adaptive Icons",
+ "adaptiveIconInfoText": "Shortcut icons will match the theme color and appear smaller",
+ "bookmarksText": "Bookmarks",
+ "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI-Tools",
+ "enable_ai_tools": "Show shortcuts for AI tools",
+ "googleAppsMenuText": "Google Apps",
+ "googleAppsMenuInfo": "Show shortcuts for Google Apps",
+ "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ "todoListText": "To Do List",
+ "todoListInfo": "Show a daily To Do list",
+ "todoListHover": "ToDo List", // Keep this short
+ "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digital Clock",
+ "digitalclockinfo": "Switch to the digital clock",
+ "timeformattittle": "12-Hour Format",
+ "timeformatinfo": "Use 12-hour time format",
+ "greetingtittle": "Greeting",
+ "greetinginfo": "Show greeting below custom text",
+
+ // Misc
+ "userTextTitle": "Customizable Text",
+ "userTextInfo": "Show custom text below the clock",
+ "fahrenheitCelsiusCheckbox": "Switch to Fahrenheit",
+ "fahrenheitCelsiusText": "Refresh the page to apply changes",
+ "micIconTitle": "Hide Microphone Icon",
+ "micIconInfo": "If voice typing is not working",
+ "hideSearchWith": "Hide Search Engines",
+ "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Search Suggestions",
+ "search_suggestions_text": "Enable search suggestions",
+
+ // Proxy
+ "useproxytitletext": "Proxy Bypass",
+ "useproxyText": "If search suggestions aren't working",
+ "ProxyText": "CORS Bypass Proxy",
+ "ProxySubtext": "Add your own CORS bypass proxy",
+ "HostproxyButton": "Host Your Own Proxy",
+ "saveproxy": "Save",
+
+ // Location
+ "UserLocText": "Enter your Location",
+ "UserLocSubtext": "If the weather location isn't correct",
+ "userLoc": "Your City or Coordinates (Latitude, Longitude)",
+ "useGPS": "Use GPS",
+ "saveLoc": "Save",
+
+ // Weather
+ "WeatherApiText": "Enter your WeatherAPI key", // For 'WeatherAPI' string, only transliterate
+ "WeatherApiSubtext": "If the weather functionality isn't working",
+ "userAPI": "Your weatherAPI key",
+ "LearnMoreButton": "Learn more",
+ "saveAPI": "Save",
+
+ // Body Items
+ // Calendar
+ "days": ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ "months": ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+
+ // Bookmarks
+ "bookmarksHeading": "Bookmarks",
+ "bookmarkViewAs": "View as",
+ "bookmarkViewGrid": "Grid", // Keep this shorter
+ "bookmarkViewList": "List", // Keep this shorter
+ "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Hello! How are you today?",
+ "humidityLevel": "Humidity",
+ "feelsLike": "Feels",
+ "location": "Earth",
+ "enterBtn": "Search",
+ "searchPlaceholder": "Type here...",
+ "listenPlaceholder": "Listening...",
+ "searchWithHint": "Search With",
+ "userText": "Click here to edit",
+
+ // Greeting
+ greeting: {
+ "morning": "Good Morning!",
+ "afternoon": "Good Afternoon!",
+ "evening": "Good Evening!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck", // DuckDuckGo
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Tools",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ "backupText": "Backup",
+ "restoreText": "Restore",
+ "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ "Nobackgroundset": "No background image is currently set.",
+ "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ "failedbackup": "Backup failed: ",
+ "restorecompleted": "Restore completed successfully!",
+ "restorefailed": "Restore failed: ",
+ "invalidBackup": "Invalid backup file",
+ "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/es.js b/src/locales/es.js
new file mode 100644
index 00000000..597780f8
--- /dev/null
+++ b/src/locales/es.js
@@ -0,0 +1,138 @@
+// Spanish -> es
+const es = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Comentarios",
+ "resetsettings": "Restablecer configuraciones",
+ "menuCloseText": "Cerrar",
+
+ // Shortcuts
+ "shortcutsText": "Accesos directos",
+ "enableShortcutsText": "Mostrar accesos directos guardados",
+ "editShortcutsText": "Editar accesos directos",
+ "shortcutsInfoText": "Elige qué accesos directos mostrar",
+ "editShortcutsList": "Accesos directos guardados",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Iconos adaptativos",
+ "adaptiveIconInfoText": "Los iconos de accesos directos serán más pequeños",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "Herramientas de IA",
+ "enable_ai_tools": "Mostrar accesos directos de herramientas de IA",
+ "googleAppsMenuText": "Aplicaciones de Google",
+ "googleAppsMenuInfo": "Mostrar accesos directos a las aplicaciones de Google",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Reloj digital",
+ "digitalclockinfo": "Cambiar a reloj digital",
+ "timeformattittle": "Formato de 12 horas",
+ "timeformatinfo": "Usar formato de 12 horas",
+ "greetingtittle": "Saludo",
+ "greetinginfo": "Mostrar saludo debajo del texto personalizado",
+
+ // Misc
+ "userTextTitle": "Texto personalizable",
+ "userTextInfo": "Mostrar texto personalizado debajo del reloj",
+ "fahrenheitCelsiusCheckbox": "Cambiar a Fahrenheit",
+ "fahrenheitCelsiusText": "Recarga la página para aplicar cambios",
+ "micIconTitle": "Ocultar ícono de micrófono",
+ "micIconInfo": "Si la escritura por voz no está funcionando",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Sugerencias de búsqueda",
+ "search_suggestions_text": "Habilitar sugerencias de búsqueda",
+
+ // Proxy
+ "useproxytitletext": "Omisión de proxy",
+ "useproxyText": "Si las sugerencias de búsqueda no funcionan",
+ "ProxyText": "Proxy CORS por defecto",
+ "ProxySubtext": "Añade tu propio proxy CORS",
+ "HostproxyButton": "Aloja tu propio proxy",
+ "saveproxy": "Guardar",
+
+ // Location
+ "UserLocText": "Ingresa tu ubicación",
+ "UserLocSubtext": "Si la ubicación del clima es incorrecta",
+ "userLoc": "Tu ciudad o coordenadas (Latitud, Longitud)",
+ "saveLoc": "Guardar",
+
+ // Weather
+ "WeatherApiText": "Ingresa tu clave de WeatherAPI",
+ "WeatherApiSubtext": "Si la funcionalidad del clima no funciona",
+ "userAPI": "Tu clave de WeatherAPI",
+ "LearnMoreButton": "Más información",
+ "saveAPI": "Guardar",
+
+ // Body Items
+ // Calendar
+ "days": ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
+ "months": ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "¡Hola! ¿Cómo estás hoy?",
+ "humidityLevel": "Humedad",
+ "feelsLike": "Sensación",
+ "location": "Ubicación",
+ "enterBtn": "Buscar",
+ "searchPlaceholder": "Escribe tu búsqueda...",
+ "listenPlaceholder": "Escuchando...",
+ "searchWithHint": "Buscar con",
+ "userText": "Haz clic aquí para editar",
+
+ // Greeting
+ greeting: {
+ "morning": "¡Buenos días!",
+ "afternoon": "¡Buenas tardes!",
+ "evening": "¡Buenas noches!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Herramientas de IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/fr.js b/src/locales/fr.js
new file mode 100644
index 00000000..d3540e2f
--- /dev/null
+++ b/src/locales/fr.js
@@ -0,0 +1,140 @@
+// French -> fr
+const fr = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Réinitialiser les paramètres",
+ "menuCloseText": "Fermer",
+
+ // Shortcuts
+ "shortcutsText": "Raccourcis",
+ "enableShortcutsText": "Afficher les raccourcis sauvegardés",
+ "editShortcutsText": "Modifier les raccourcis",
+ "shortcutsInfoText": "Choisir les raccourcis à afficher",
+ "editShortcutsList": "Raccourcis Sauvegardés",
+ 'editShortcutsListInfo': 'Vous pouvez ajouter de nouveaux raccourcis en cliquant sur l\'icône « + » ou modifier les raccourcis existants en cliquant sur le nom ou l\'URL du raccourci.',
+ "adaptiveIconText": "Icônes Adaptatives",
+ "adaptiveIconInfoText": "L'icône du raccourci correspondra à la couleur du thème et apparaîtra plus petite",
+ "bookmarksText": "Favoris",
+ "bookmarksInfo": "Afficher la barre latérale des favoris",
+ "ai_tools_button": "Outils IA",
+ "enable_ai_tools": "Afficher les raccourcis pour les Outils IA",
+ "googleAppsMenuText": "Apps Google",
+ "googleAppsMenuInfo": "Afficher les raccourcis pour les Applications Google",
+ "googleAppsHover": "Apps Google",
+
+ // To-do List
+ "todoListText": "Liste To-Do",
+ "todoListInfo": "Afficher une liste de tâches quotidiennes",
+ "todoListHover": "Liste To-Do",
+ "todoPlaceholder": "Ajouter une tâche...",
+
+ // Digital Clock
+ "digitalclocktittle": "Horloge Numérique",
+ "digitalclockinfo": "Passer à l'horloge numérique",
+ "timeformattittle": "Format 12h",
+ "timeformatinfo": "Utiliser le format 12h",
+ "greetingtittle": "Salutation",
+ "greetinginfo": "Afficher la salutation sous le texte personnalisé",
+
+ // Misc
+ "userTextTitle": "Texte personnalisé",
+ "userTextInfo": "Afficher le texte personnalisé sous l'horloge",
+ "fahrenheitCelsiusCheckbox": "Passer à Fahrenheit",
+ "fahrenheitCelsiusText": "Actualiser la page pour appliquer les changements",
+ "micIconTitle": "Masquer l'Icône du Microphone",
+ "micIconInfo": "Si la saisie vocale ne fonctionne pas",
+ "hideSearchWith": "Masquer les Moteurs de Recherche",
+ "hideSearchWithInfo": "Passez d'un moteur de recherche à l'autre en cliquant sur son icône",
+ "search_suggestions_button": "Suggestions de Recherche",
+ "search_suggestions_text": "Activer les suggestions de recherche",
+
+ // Proxy
+ "useproxytitletext": "Contournement du Proxy",
+ "useproxyText": "Si les suggestions de recherche ne fonctionnent pas",
+ "ProxyText": "Proxy de contournement CORS",
+ "ProxySubtext": "Ajouter votre propre proxy de contournement CORS",
+ "HostproxyButton": "Hébergez votre propre proxy",
+ "saveproxy": "Enregistrer",
+
+ // Location
+ "UserLocText": "Saisissez votre localisation",
+ "UserLocSubtext": "Si la localisation de la météo n'est pas correct",
+ "userLoc": "Votre ville ou vos coordonnées (Latitude, Longitude)",
+ "useGPS": "Utiliser le GPS",
+ "saveLoc": "Enregistrer",
+
+ // Weather
+ "WeatherApiText": "Entrez votre clé WeatherAPI",
+ "WeatherApiSubtext": "Si la fonctionnalité météo ne fonctionne pas",
+ "userAPI": "Your weatherAPI key",
+ "LearnMoreButton": "En savoir plus",
+ "saveAPI": "Enregistrer",
+
+ // Body Items
+ // Calendar
+ "days": ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
+ "months": ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
+
+ // Bookmarks
+ "bookmarksHeading": "Favoris",
+ "bookmarkViewAs": "Afficher en",
+ "bookmarkViewGrid": "Grille",
+ "bookmarkViewList": "Liste",
+ "bookmarkSearch": "Rechercher un favori",
+
+ // New Tab Item
+ "conditionText": "Bonjour, comment allez-vous?",
+ "humidityLevel": "Humidité",
+ "feelsLike": "Ressenti",
+ "location": "Terre",
+ "enterBtn": "Rechercher",
+ "searchPlaceholder": "Saisissez ici...",
+ "listenPlaceholder": "Écoute...",
+ "searchWithHint": "Rechercher avec",
+ "userText": "Cliquez ici pour modifier",
+
+ // Greeting
+ greeting: {
+ "morning": "Bonjour!",
+ "afternoon": "Bonsoir!",
+ "evening": "Bonne nuit!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Outils IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Uploader un fond d'ecran",
+ "backupText": "Sauvegarder",
+ "restoreText": "Restaurer",
+ "rangColor": "Choisir la couleur",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Souhaitez-vous définir une nouvelle image comme fond d'écran pour la journée?",
+ "confirmRestore": "Êtes-vous sûr de vouloir réinitialiser vos paramètres? Cette action ne peut être annulée.",
+ "Nobackgroundset": "Aucune image de fond n'est actuellement définie.",
+ "clearbackgroundimage": "Êtes-vous sûr de vouloir effacer l'image de fond?",
+ "ProxyDisclaimer": "Toutes les fonctions du proxy sont désactivées par défaut.\n\nSi vous activez les suggestions de recherche et le proxy de contournement CORS, il est fortement recommandé d'héberger votre propre proxy pour une meilleure confidentialité.\n\nPar défaut, le proxy sera réglé sur https://mynt-proxy.rhythmcorehq.com, ce qui signifie que toutes vos données passeront par ce service, ce qui peut poser des problèmes de confidentialité.",
+ "failedbackup": "Échec de la sauvegarde: ",
+ "restorecompleted": "Restauration terminée avec succès!",
+ "restorefailed": "Échec de la restauration: ",
+ "invalidBackup": "Fichier de sauvegarde invalide",
+ "deleteBookmark": "Êtes-vous sûr de vouloir supprimer le favori?",
+ "UnsupportedBrowser": "Les favoris ne sont pas supportés dans votre navigateur.",
+ "BookmarksDenied": "L'autorisation pour les favoris n'a pas été accordée."
+};
diff --git a/src/locales/hi.js b/src/locales/hi.js
new file mode 100644
index 00000000..a01ce550
--- /dev/null
+++ b/src/locales/hi.js
@@ -0,0 +1,141 @@
+// Hindi
+const hi = {
+ // Menu Items
+ "github": "गिटहब",
+ "feedback": "प्रतिक्रिया",
+ "resetsettings": "सेटिंग्स रीसेट करें",
+ "menuCloseText": "बंद करें",
+
+ // Shortcuts
+ "shortcutsText": "शॉर्टकट्स",
+ "enableShortcutsText": "सहेजे गए शॉर्टकट प्रदर्शित करें",
+ "editShortcutsText": "शॉर्टकट्स संपादित करें",
+ "shortcutsInfoText": "निर्धारित करें कि कौन से शॉर्टकट दिखेंगे",
+ "editShortcutsList": "सहेजे गए शॉर्टकट",
+ "editShortcutsListInfo": "आप \"+\" आइकन पर क्लिक करके नए शॉर्टकट्स जोड़ सकते हैं या शॉर्टकट के नाम या URL पर क्लिक करके मौजूदा शॉर्टकट्स को संपादित कर सकते हैं।",
+ "adaptiveIconText": "अनुकूलनीय आइकन",
+ "adaptiveIconInfoText": "शॉर्टकट आइकन थीम रंग से मेल खाते हुए छोटे आकार में दिखेंगे",
+ "bookmarksText": "बुकमार्क्स",
+ "bookmarksInfo": "बुकमार्क्स साइडबार दिखाएँ",
+ "ai_tools_button": "AI-उपकरण",
+ "enable_ai_tools": "AI उपकरणों के शॉर्टकट्स प्रदर्शित करें",
+ "googleAppsMenuText": "गूगल ऐप्स",
+ "googleAppsMenuInfo": "गूगल ऐप्स के शॉर्टकट्स प्रदर्शित करें",
+ "googleAppsHover": "गूगल ऐप्स",
+
+ // To-do List
+ "todoListText": "कार्य सूची",
+ "todoListInfo": "दैनिक कार्यों की सूची देखें",
+ "todoListHover": "कार्य सूची",
+ "todoPlaceholder": "कार्य जोड़ें...",
+
+ // Digital Clock
+ "digitalclocktittle": "डिजिटल घड़ी",
+ "digitalclockinfo": "डिजिटल घड़ी पर स्विच करें",
+ "timeformattittle": "12 घंटे का प्रारूप",
+ "timeformatinfo": "12 घंटे का समय प्रारूप उपयोग करें",
+ "greetingtittle": "अभिवादन",
+ "greetinginfo": "कस्टम टेक्स्ट के नीचे अभिवादन दिखाएँ",
+
+ // Misc
+ "userTextTitle": "कस्टमाइज़ेबल टेक्स्ट",
+ "userTextInfo": "घड़ी के नीचे कस्टम टेक्स्ट दिखाएँ",
+ "fahrenheitCelsiusCheckbox": "तापमान फ़ारेनहाइट में बदलें",
+ "fahrenheitCelsiusText": "बदलाव के लिए पृष्ठ को रीफ्रेश करें",
+ "micIconTitle": "माइक्रोफोन आइकन छिपाएँ",
+ "micIconInfo": "अगर वॉइस टाइपिंग काम नहीं कर रहा है",
+ "hideSearchWith": "सर्च इंजन छिपाएं",
+ "hideSearchWithInfo": "आइकन पर क्लिक करके सर्च इंजन बदलें",
+ "search_suggestions_button": "खोज सुझाव",
+ "search_suggestions_text": "खोज सुझाव सक्षम करें",
+
+ // Proxy
+ "useproxytitletext": "प्रॉक्सी बायपास",
+ "useproxyText": "यदि खोज सुझाव काम नहीं कर रहे हैं",
+ "ProxyText": "CORS बायपास प्रॉक्सी",
+ "ProxySubtext": "अपना CORS बायपास प्रॉक्सी जोड़ें",
+ "HostproxyButton": "अपना प्रॉक्सी संचालित करें",
+ "saveproxy": "सहेजें",
+
+ // Location
+ "UserLocText": "अपना स्थान दर्ज करें",
+ "UserLocSubtext": "यदि मौसम का स्थान सही नहीं है",
+ "userLoc": "आपका शहर या निर्देशांक (अक्षांश, देशांतर)",
+ "useGPS": "GPS का उपयोग करें",
+ "saveLoc": "सहेजें",
+
+ // Weather
+ "WeatherApiText": "अपनी WeatherAPI कुंजी दर्ज करें",
+ "WeatherApiSubtext": "यदि मौसम की सुविधा काम नहीं कर रही है",
+ "userAPI": "आपकी WeatherAPI कुंजी",
+ "LearnMoreButton": "और जानें",
+ "saveAPI": "सहेजें",
+
+ // Body Items
+ // Calendar
+ "days": ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'], // Truncated for display
+ // "days": ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], // Full
+ "months": ['जनवरी', 'फ़रवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवंबर', 'दिसंबर'],
+ // "months": ['जन', 'फर', 'मार्च', 'अप्र', 'मई', 'जून', 'जुला', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'], // Truncated
+
+ // Bookmarks
+ "bookmarksHeading": "बुकमार्क्स",
+ "bookmarkViewAs": "इस रूप में देखें",
+ "bookmarkViewGrid": "ग्रिड",
+ "bookmarkViewList": "लिस्ट",
+ "bookmarkSearch": "बुकमार्क खोजें",
+
+ // New Tab Item
+ "conditionText": "नमस्ते! आप आज कैसे हैं?",
+ "humidityLevel": "नमी",
+ "feelsLike": "महसूस",
+ "location": "पृथ्वी",
+ "enterBtn": "सर्च करें",
+ "searchPlaceholder": "यहाँ लिखें...",
+ "listenPlaceholder": "सुन रहे हैं...",
+ "searchWithHint": "खोज माध्यम",
+ "userText": "यहाँ अपना टेक्स्ट लिखें",
+
+ // Greeting
+ greeting: {
+ "morning": "सुप्रभात!",
+ "afternoon": "शुभ अपराह्न!",
+ "evening": "शुभ संध्या!"
+ },
+
+ // Search Engines
+ "googleEngine": "गूगल",
+ "duckEngine": "डकडकगो",
+ "bingEngine": "बिंग",
+ "braveEngine": "ब्रेव",
+ "youtubeEngine": "यूट्यूब",
+
+ // AI Tools
+ "ai_tools": "AI उपकरण",
+ "chatGPT": "चैटGPT",
+ "gemini": "जेमिनी",
+ "copilot": "कोपायलट",
+ "claude": "क्लॉड",
+ "perplexity": "पर्प्लेक्सिटी",
+ "firefly": "एडोबी फायरफ्लाई",
+ "metaAI": "मेटा AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "वॉलपेपर सेट करें",
+ "backupText": "बैकअप करें",
+ "restoreText": "रिस्टोर करें",
+ "rangColor": "रंग चुनें",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "क्या आप आज के लिए एक नई छवि को वॉलपेपर के रूप में सेट करना चाहेंगे?",
+ "confirmRestore": "क्या आप अपनी सेटिंग्स रीसेट करना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
+ "Nobackgroundset": "कोई बैकग्राउंड छवि वर्तमान में सेट नहीं है।",
+ "clearbackgroundimage": "क्या आप बैकग्राउंड छवि को हटाना चाहते हैं?",
+ "ProxyDisclaimer": "सभी प्रॉक्सी फीचर डिफ़ॉल्ट रूप से बंद रहते हैं।\n\nयदि आप खोज सुझाव और CORS बायपास प्रॉक्सी सक्षम करते हैं, तो गोपनीयता बढ़ाने के लिए अपना प्रॉक्सी होस्ट करना अत्यधिक अनुशंसित है।\n\nडिफ़ॉल्ट रूप से प्रॉक्सी को https://mynt-proxy.rhythmcorehq.com पर सेट किया जाएगा, जिसका अर्थ है कि आपका सारा डेटा इस सेवा से गुजरेगा, जिससे गोपनीयता संबंधित चिंताएँ हो सकती हैं।",
+ "failedbackup": "बैकअप विफल: ",
+ "restorecompleted": "पुनर्स्थापना सफलतापूर्वक पूरी हुई!",
+ "restorefailed": "पुनर्स्थापना विफल: ",
+ "invalidBackup": "अमान्य बैकअप फ़ाइल",
+ "deleteBookmark": "क्या आप बुकमार्क डिलीट करना चाहते हैं?",
+ "UnsupportedBrowser": "आपके ब्राउज़र में बुकमार्क समर्थित नहीं हैं",
+};
diff --git a/src/locales/hu.js b/src/locales/hu.js
new file mode 100644
index 00000000..65dcef2f
--- /dev/null
+++ b/src/locales/hu.js
@@ -0,0 +1,140 @@
+// Hungarian
+const hu = {
+ // Menu Items
+ "feedback": "Visszajelzés",
+ "resetsettings": "Beállítások visszaállítása",
+ "menuCloseText": "Bezárás",
+
+ // Shortcuts
+ "shortcutsText": "Parancsikonok",
+ "enableShortcutsText": "Parancsikonok megjelenítése",
+ "editShortcutsText": "Parancsikonok szerkesztése",
+ "shortcutsInfoText": "Válassza ki a parancsikonokat, amelyeket meg szeretné jeleníteni a kezdőképernyőn",
+ "editShortcutsList": "Elmentett parancsikonok",
+ "editShortcutsListInfo": "Új parancsikonokat adhatsz hozzá a \"+\" ikonra kattintva, vagy szerkesztheted a meglévőket a parancsikon nevére vagy URL címére kattintva.",
+ "adaptiveIconText": "Alkalmazkodó ikonformák",
+ "adaptiveIconInfoText": "Parancsikonok kisebbnek fognak tűnni",
+ "bookmarksText": "Könyvjelzők",
+ "bookmarksInfo": "Könyvjelzők oldalsáv megjelenítése",
+ "ai_tools_button": "MI-Eszközök",
+ "enable_ai_tools": "Parancsikon az MI-eszközökhöz",
+ "googleAppsMenuText": "Google Alkalmazások",
+ "googleAppsMenuInfo": "Parancsikonok a Google alkalmazásaihoz",
+ "googleAppsHover": "Google Appok",
+
+ // To-do List
+ "todoListText": "Teendő lista",
+ "todoListInfo": "Napi teendők lista megjelenítése",
+ "todoListHover": "Teendő lista",
+ "todoPlaceholder": "Feladat hozzáadása...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digitális óra",
+ "digitalclockinfo": "Váltás a digitális órára",
+ "timeformattittle": "12 órás formátum",
+ "timeformatinfo": "12 órás időformátum használata",
+ "greetingtittle": "Üdvözlés",
+ "greetinginfo": "Üdvözlet megjelenítése az egyéni szöveg alatt",
+
+ // Misc
+ "userTextTitle": "Testreszabható szöveg",
+ "userTextInfo": "Egyéni szöveg megjelenítése az óra alatt",
+ "fahrenheitCelsiusCheckbox": "Fahrenheit használata",
+ "fahrenheitCelsiusText": "Frissítsd az oldalt a módosítások alkalmazásához",
+ "micIconTitle": "Mikrofon ikon elrejtése",
+ "micIconInfo": "Ha a hangalapú gépelés nem működik",
+ "hideSearchWith": "Keresőmotorok elrejtése",
+ "hideSearchWithInfo": "Váltás a keresőmotorok között az ikonra kattintva",
+ "search_suggestions_button": "Keresési javaslatok",
+ "search_suggestions_text": "Keresési javaslatok bekapcsolása",
+
+ // Proxy
+ "useproxytitletext": "Proxy megkerülése",
+ "useproxyText": "Ha a keresési javaslatok nem működnek",
+ "ProxyText": "CORS megkerülő proxy",
+ "ProxySubtext": "Saját CORS megkerülő proxy hozzáadása",
+ "HostproxyButton": "Saját proxy üzemeltetése",
+ "saveproxy": "Mentés",
+
+ // Location
+ "UserLocText": "Add meg a tartózkodási helyed",
+ "UserLocSubtext": "Ha az időjárás helye nem megfelelő",
+ "userLoc": "A városod vagy koordinátáid (földrajzi szélesség, hosszúság)",
+ "saveLoc": "Mentés",
+
+ // Weather
+ "WeatherApiText": "Add meg a WeatherAPI kulcsodat",
+ "WeatherApiSubtext": "Ha az időjárási funkciók nem működnek",
+ "userAPI": "A weatherAPI kulcsod",
+ "LearnMoreButton": "További információk",
+ "saveAPI": "Mentés",
+
+ // Body Items
+ // Calendar
+ "days": ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
+ "months": ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
+
+ // Weather
+ "humidityLevel": "Páratartalom",
+ "feelsLike": "Érzés",
+ "location": "Föld",
+
+ // Bookmarks
+ "bookmarksHeading": "Könyvjelzők",
+ "bookmarkViewAs": "Megjelenítés mint",
+ "bookmarkViewGrid": "Rács",
+ "bookmarkViewList": "Lista",
+ "bookmarkSearch": "Könyvjező keresése",
+
+ // New Tab Item
+ "conditionText": "Szia! Hogy vagy ma?",
+ "enterBtn": "Keresés",
+ "searchPlaceholder": "Írj ide...",
+ "listenPlaceholder": "Hallgatlak...",
+ "searchWithHint": "Keresés a következővel",
+ "userText": "Kattints ide a szerkesztéshez",
+
+ // Greeting
+ greeting: {
+ "morning": "Jó reggelt!",
+ "afternoon": "Jó napot!",
+ "evening": "Jó estét!"
+ },
+
+ // Search Engines and rest
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "MI Eszközök",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+ "github": "GitHub",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Háttérkép feltöltése",
+ "backupText": "Mentés",
+ "restoreText": "Visszaállítás",
+ "rangColor": "Szín kiválasztása",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Szeretnél egy újabb képet beállítani a napi háttérképednek?",
+ "confirmRestore": "Biztos, hogy vissza akarja állítani a beállításokat? Ezt a műveletet nem lehet visszacsinálni.",
+ "Nobackgroundset": "Jelenleg nincs beállítva háttérkép.",
+ "clearbackgroundimage": "Biztos, hogy törölni szeretnéd a háttérképet?",
+ "ProxyDisclaimer": "Alapértelmezés szerint minden proxy funkció ki van kapcsolva.\n\nHa engedélyezed a keresési javaslatokat és a CORS megkerülő proxy-t, erősen ajánlott saját proxy-t üzemeltetni a fokozott adatvédelem érdekében.\n\n\nA proxy alapértelmezés szerint a https://mynt-proxy.rhythmcorehq.com beállítással működik, ami azt jelenti, hogy minden adat ezen a szolgáltatáson keresztül fog menni, ami adatvédelmi aggályokat vethet fel.",
+ "failedbackup": "Sikertelen mentés: ",
+ "restorecompleted": "A visszaállítás sikeresen befejeződött!",
+ "restorefailed": "Sikertelen visszaállítás: ",
+ "invalidBackup": "Érvénytelen mentési fájl",
+ "deleteBookmark": "Biztos, hogy törölni szeretnéd a könyvjelzőt?",
+ "UnsupportedBrowser": "A könyvjelzők nem támogatottak a böngészőben",
+};
diff --git a/src/locales/idn.js b/src/locales/idn.js
new file mode 100644
index 00000000..00e6d252
--- /dev/null
+++ b/src/locales/idn.js
@@ -0,0 +1,138 @@
+// Indonesian -> idn
+const idn = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Umpan Balik",
+ "resetsettings": "Setelan Awal",
+ "menuCloseText": "Tutup",
+
+ // Shortcuts
+ "shortcutsText": "Pintasan",
+ "enableShortcutsText": "Menampilkan Pintasan",
+ "editShortcutsText": "Ubah Pintasan",
+ "shortcutsInfoText": "Pilih pintasan apa yang akan ditampilkan",
+ "editShortcutsList": "Pintasan Tersimpan",
+ 'editShortcutsListInfo': 'Anda dapat menambahkan pintasan baru dengan mengeklik ikon "+" atau mengedit pintasan yang sudah ada dengan mengeklik nama pintasan atau URL',
+ "adaptiveIconText": "Penyesuaian Bentuk Ikon",
+ "adaptiveIconInfoText": "Ikon pintasan akan terlihat lebih kecil",
+ "bookmarksText": "Markah Buku",
+ "bookmarksInfo": "Tampilkan sisi markah buku",
+ "ai_tools_button": "Utilitas AI",
+ "enable_ai_tools": "Tampilkan pintasan untuk utilitas AI",
+ "googleAppsMenuText": "Google Apps",
+ "googleAppsMenuInfo": "Tampilkan pintasan untuk Google Apps",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ "todoListText": "To-Do List",
+ "todoListInfo": "Tampilkan To-Do list harian",
+ "todoListHover": "To-Do List",
+ "todoPlaceholder": "Tambah tugas...",
+
+ // Digital Clock
+ "digitalclocktittle": "Jam Digital",
+ "digitalclockinfo": "Ubah menjadi jam digital",
+ "timeformattittle": "Format 12-Jam",
+ "timeformatinfo": "Menggunakan format 12-jam",
+ "greetingtittle": "Sapaan",
+ "greetinginfo": "Tampilkan sapaan di bawah teks kustom",
+
+ // Misc
+ "userTextTitle": "Teks Kostumisasi",
+ "userTextInfo": "Tampilkan teks kustom di bawah jam",
+ "fahrenheitCelsiusCheckbox": "Ubah menjadi Fahrenheit",
+ "fahrenheitCelsiusText": "Muat ulang halaman untuk mengaplikasikan perubahan",
+ "micIconTitle": "Sembunyikan Ikon Microfon",
+ "micIconInfo": "Jika voice typing tidak berfungsi",
+ "hideSearchWith": "Sembunyikan Mesin Pencarian",
+ "hideSearchWithInfo": "Ubah mesin pencarian dengan cara mengeklik ikon",
+ "search_suggestions_button": "Saran Pencarian",
+ "search_suggestions_text": "Mengaktifkan saran pencarian",
+
+ // Proxy
+ "useproxytitletext": "Pemintas Proksi",
+ "useproxyText": "Jika saran pencarian tidak berfungsi",
+ "ProxyText": "Pemintas proksi CORS",
+ "ProxySubtext": "Tambahkan pemintas proksi CORS anda sendiri",
+ "HostproxyButton": "Host proksi anda sendiri",
+ "saveproxy": "Simpan",
+
+ // Location
+ "UserLocText": "Masukkan Lokasi Anda",
+ "UserLocSubtext": "Jika lokasi cuaca tidak berfungsi",
+ "userLoc": "Kota atau Koordinat anda (Lintang, Bujur)",
+ "saveLoc": "Simpan",
+
+ // Weather
+ "WeatherApiText": "Masukkan kunci WeatherAPI anda",
+ "WeatherApiSubtext": "Jika fungsionalitas cuaca tidak berfungsi",
+ "userAPI": "Kunci weatherAPI anda",
+ "LearnMoreButton": "Pelajari lebih lanjut",
+ "saveAPI": "Simpan",
+
+ // Body Items
+ // Calendar
+ "days": ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'],
+ "months": ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'],
+
+ // Bookmarks
+ "bookmarksHeading": "Markah Buku",
+ "bookmarkViewAs": "Lihat sebagai",
+ "bookmarkViewGrid": "Kisi-kisi",
+ "bookmarkViewList": "Daftar",
+ "bookmarkSearch": "Cari markah buku",
+
+ // New Tab Item
+ "conditionText": "Halo! Bagaimana kabarmu hari ini?",
+ "humidityLevel": "Kelembapan",
+ "feelsLike": "Terasa",
+ "location": "Bumi",
+ "enterBtn": "Telusuri",
+ "searchPlaceholder": "Ketik disini...",
+ "listenPlaceholder": "Mendengarkan...",
+ "searchWithHint": "Cari Dengan",
+ "userText": "Klik disini untuk mengubah tulisan",
+
+ // Greeting
+ greeting: {
+ "morning": "Selamat Pagi!",
+ "afternoon": "Selamat Sore!",
+ "evening": "Selamat Malam!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Utilitas AI",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Unggah Wallpaper",
+ "backupText": "Cadangkan",
+ "restoreText": "Pulihkan",
+ "rangColor": "Pilih warna",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Apakah anda ingin memasang gambar baru sebagai wallpaper harian anda?",
+ "confirmRestore": "Apakah anda yakin ingin mengatur ulang setelan anda? Tindakan ini tidak dapat dibatalkan.",
+ "Nobackgroundset": "Tidak ada gambar latar belakang yang dipasang saat ini.",
+ "clearbackgroundimage": "Apakah anda yakin ingin menghapus gambar latar belakang?",
+ "ProxyDisclaimer": "Semua fitur proxy dimatikan secara default.\n\nJika anda mengaktifkan saran pencarian dan proxy bypass CORS, sangat disarankan untuk meng-host proxy anda sendiri untuk privasi yang lebih baik.\n\nSecara default, proxy akan diatur ke https://mynt-proxy.rhythmcorehq.com, yang berarti semua data anda akan melewati layanan ini, yang mungkin saja dapat menimbulkan kekhawatiran privasi.",
+ "failedbackup": "Pencadangan gagal: ",
+ "restorecompleted": "Pemulihan berhasil dengan sukses!",
+ "restorefailed": "Pemulihan gagal: ",
+ "invalidBackup": "File cadangan tidak valid",
+ "deleteBookmark": "Apakah anda yakin untuk menghapus markah buku?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/it.js b/src/locales/it.js
new file mode 100644
index 00000000..cbe9e305
--- /dev/null
+++ b/src/locales/it.js
@@ -0,0 +1,140 @@
+// Italian
+const it = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Reimposta Impostazioni",
+ "menuCloseText": "Chiudi",
+
+ // Shortcuts
+ "shortcutsText": "Scorciatoie",
+ "enableShortcutsText": "Abilita/disabilita scorciatoie",
+ "editShortcutsText": "Modifica Scorciatoie",
+ "shortcutsInfoText": "Scegli quali scorciatoie mostrare",
+ "editShortcutsList": "Scorciatoie Salvate",
+ "editShortcutsListInfo": "Puoi aggiungere nuove scorciatoie cliccando l'icona \"+\" o modificiare le esistenti cliccando il nome della scorciatoia o dell'URL.",
+ "adaptiveIconText": "Forme di Icona Adattiva",
+ "adaptiveIconInfoText": "Le icone delle scorciatoie saranno sempre rotonde",
+ "bookmarksText": "Segnalibri",
+ "bookmarksInfo": "Mostra segnalibri sulla barra laterale",
+ "ai_tools_button": "Strumenti IA",
+ "enable_ai_tools": "Abilita/disabilita scorciatoie Strumenti IA",
+ "googleAppsMenuText": "App Google",
+ "googleAppsMenuInfo": "Mostra collegamenti App Google",
+ "googleAppsHover": "App di Google", // Keep this shorter
+
+ // To-do List
+ "todoListText": "Lista cose da fare",
+ "todoListInfo": "Mostra una lista di cose da fare giornaliera",
+ "todoListHover": "Lista ToDo", // Keep this short
+ "todoPlaceholder": "Aggiungi attività...",
+
+ // Digital Clock
+ "digitalclocktittle": "Orologio Digitale",
+ "digitalclockinfo": "Abilita/disabilita Orologio Digitale",
+ "timeformattittle": "Usa formato 12h",
+ "timeformatinfo": "Usa formato orario a 12 ore",
+ "greetingtittle": "Saluto",
+ "greetinginfo": "Mostra il saluto sotto il testo personalizzato",
+
+ // Misc
+ "userTextTitle": "Testo personalizzabile",
+ "userTextInfo": "Mostra il testo personalizzato sotto l'orologio",
+ "fahrenheitCelsiusCheckbox": "Passa a Fahrenheit",
+ "fahrenheitCelsiusText": "Ricarica la pagina per vedere gli aggiornamenti",
+ "micIconTitle": "Nascondi icona del microfono",
+ "micIconInfo": "Se la digitazione vocale non funziona",
+ "hideSearchWith": "Nascondi motori di ricerca",
+ "hideSearchWithInfo": "Scegli tra i motori di ricerca cliccando l'icona",
+ "search_suggestions_button": "Suggerimenti di Ricerca",
+ "search_suggestions_text": "Abilita/disabilita Suggerimenti di Ricerca",
+
+ // Proxy
+ "useproxytitletext": "Bypass Proxy",
+ "useproxyText": "Se i suggerimenti di ricerca non funzionano",
+ "ProxyText": "Proxy di Bypass CORS",
+ "ProxySubtext": "Aggiungi il tuo Proxy di Bypass CORS",
+ "HostproxyButton": "Hosta il Tuo Proxy",
+ "saveproxy": "Salva",
+
+ // Location
+ "UserLocText": "Inserisci la tua posizione",
+ "UserLocSubtext": "Se la posizione meteo non è corretta",
+ "userLoc": "La tua posizione (Città/Latitudine,Longitudine)",
+ "useGPS": "Usa il GPS",
+ "saveLoc": "Salva",
+
+ // Weather
+ "WeatherApiText": "Inserisci la tua chiave WeatherAPI",
+ "WeatherApiSubtext": "Se la funzionalità meteo non funziona",
+ "userAPI": "La tua chiave WeatherAPI",
+ "LearnMoreButton": "Scopri di più",
+ "saveAPI": "Salva",
+
+ // Body Items
+ // Calendar
+ "days": ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
+ "months": ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
+
+ // Bookmarks
+ "bookmarkHeading": "Segnalibri",
+ "bookmarkViewAs": "Visualizza come",
+ "bookmarkViewGrid": "Griglia", // Keep this shorter
+ "bookmarkViewList": "Elenco", // Keep this shorter
+ "bookmarkSearch": "Cerca segnalibro",
+
+ // New Tab Item
+ "conditionText": "Ciao! Come stai oggi?",
+ "humidityLevel": "Umidità",
+ "feelsLike": "Percepito",
+ "location": "Terra",
+ "enterBtn": "Cerca",
+ "searchPlaceholder": "Cerca...",
+ "listenPlaceholder": "Ascoltando...",
+ "searchWithHint": "Cerca con",
+ "userText": "Clicca qui per modificare",
+
+ // Greeting
+ greeting: {
+ "morning": "Buongiorno!",
+ "afternoon": "Buon pomeriggio!",
+ "evening": "Buona sera!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Strumenti IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Carica immagine",
+ "backupText": "Backup",
+ "restoreText": "Ripristina",
+ "rangColor": "Scegli colore",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Vuoi impostare una nuova immagine come sfondo per oggi?",
+ "confirmRestore": "Sei sicuro di voler reimpostare le impostazioni? Questa azione non può essere annullata.",
+ "Nobackgroundset": "Nessuna immagine di sfondo è attualmente impostata.",
+ "clearbackgroundimage": "Sei sicuro di voler rimuovere l'immagine di sfondo?",
+ "ProxyDisclaimer": "Tutte le funzionalità del proxy sono disattivate di default.\n\nSe abiliti i suggerimenti di ricerca e il proxy per il bypass CORS, è fortemente consigliato usare un proprio proxy per una maggiore privacy.\n\nIl proxy predefinito sarà configurato su https://mynt-proxy.rhythmcorehq.com, il che significa che tutti i tuoi dati passeranno attraverso questo servizio, con possibili rischi per la privacy.",
+ "failedbackup": "Backup fallito: ",
+ "restorecompleted": "Ripristino completato con successo!",
+ "restorefailed": "Ripristino fallito: ",
+ "invalidBackup": "File di backup non valido",
+ "deleteBookmark": "Sei sicuro di voler eliminare il segnalibro?",
+ "UnsupportedBrowser": "I segnalibri non sono supportati nel tuo browser",
+ "BookmarksDenied": "Il permesso per i segnalibri non è stato concesso.",
+};
diff --git a/src/locales/ja.js b/src/locales/ja.js
new file mode 100644
index 00000000..936c851e
--- /dev/null
+++ b/src/locales/ja.js
@@ -0,0 +1,137 @@
+// Japanese -> ja
+const ja = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "フィードバック",
+ "resetsettings": "設定をリセット",
+ "menuCloseText": "閉じる",
+
+ // Shortcuts
+ "shortcutsText": "ショートカット",
+ "enableShortcutsText": "保存されたショートカットを表示",
+ "editShortcutsText": "ショートカットを編集",
+ "shortcutsInfoText": "表示するショートカットを選択",
+ "editShortcutsList": "保存されたショートカット",
+ "editShortcutsListInfo": "\"+\" アイコンをクリックして新しいショートカットを追加したり、ショートカット名またはURLをクリックして既存のショートカットを編集したりできます",
+ "adaptiveIconText": "アダプティブアイコン",
+ "adaptiveIconInfoText": "ショートカットアイコンは小さく表示されます",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AIツール",
+ "enable_ai_tools": "AIツールのショートカットを表示",
+ "googleAppsMenuText": "Googleアプリ",
+ "googleAppsMenuInfo": "Googleアプリのショートカットを表示",
+ "googleAppsHover": "Googleアプリ",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "デジタル時計",
+ "digitalclockinfo": "デジタル時計に変更",
+ "timeformattittle": "12時間形式",
+ "timeformatinfo": "12時間形式を使用",
+ "greetingtittle": "あいさつ",
+ "greetinginfo": "カスタムテキストの下にあいさつを表示",
+
+ // Misc
+ "userTextTitle": "カスタムテキスト",
+ "userTextInfo": "時計の下にカスタムテキストを表示",
+ "fahrenheitCelsiusCheckbox": "華氏に変更",
+ "fahrenheitCelsiusText": "変更を適用するにはページを再読み込み",
+ "micIconTitle": "マイクアイコンを非表示",
+ "micIconInfo": "音声入力が動作しない場合",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "検索候補",
+ "search_suggestions_text": "検索候補を有効にする",
+
+ // Proxy
+ "useproxytitletext": "プロキシ使用",
+ "useproxyText": "検索候補が機能しない場合",
+ "ProxyText": "デフォルトCORSプロキシ",
+ "ProxySubtext": "独自のCORSプロキシを追加",
+ "HostproxyButton": "独自のプロキシをホスト",
+ "saveproxy": "保存",
+
+ // Location
+ "UserLocText": "場所を入力",
+ "UserLocSubtext": "天気の地域が正しくない場合",
+ "userLoc": "都市または座標(緯度、経度)",
+ "saveLoc": "保存",
+
+ // Weather
+ "WeatherApiText": "WeatherAPIキーを入力",
+ "WeatherApiSubtext": "天気機能が動作しない場合",
+ "userAPI": "WeatherAPIキー",
+ "LearnMoreButton": "詳細情報",
+ "saveAPI": "保存",
+
+ // Body Items
+ // Calendar
+ "days": ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
+ "months": ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewAsGrid": "Grid", // Keep this shorter
+ // "bookmarkViewAsList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "こんにちは!本日の調子はいかがですか?",
+ "humidityLevel": "湿度",
+ "feelsLike": "体感温度",
+ "location": "場所",
+ "enterBtn": "検索",
+ "searchPlaceholder": "検索キーワードを入力...",
+ "listenPlaceholder": "聴き取り中...",
+ "searchWithHint": "次で検索",
+ "userText": "ここをクリックして編集",
+
+ // Greeting
+ greeting: {
+ "morning": "おはようございます!",
+ "afternoon": "こんにちは!",
+ "evening": "こんばんは!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AIツール",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ // "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/ko.js b/src/locales/ko.js
new file mode 100644
index 00000000..463986b7
--- /dev/null
+++ b/src/locales/ko.js
@@ -0,0 +1,137 @@
+// Korean -> ko
+const ko = {
+ // Menu Items
+ "github": "깃허브",
+ "feedback": "피드백",
+ "resetsettings": "설정 초기화",
+ "menuCloseText": "닫기",
+
+ // Shortcuts
+ "shortcutsText": "단축키",
+ "enableShortcutsText": "저장된 단축키 표시",
+ "editShortcutsText": "단축키 편집",
+ "shortcutsInfoText": "표시할 단축키 선택",
+ "editShortcutsList": "저장된 단축키",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing shortcuts by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "적응형 아이콘 모양",
+ "adaptiveIconInfoText": "단축 아이콘이 더 작게 표시됩니다",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI 도구",
+ "enable_ai_tools": "AI 도구 단축키 표시",
+ "googleAppsMenuText": "Google 앱",
+ "googleAppsMenuInfo": "Google 앱 바로가기 표시",
+ "googleAppsHover": "구글 앱",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "디지털 시계",
+ "digitalclockinfo": "디지털 시계로 전환",
+ "timeformattittle": "12시간 형식",
+ "timeformatinfo": "12시간 형식 사용",
+ "greetingtittle": "인사말",
+ "greetinginfo": "사용자 정의 텍스트 아래에 인사말 표시",
+
+ // Misc
+ "userTextTitle": "사용자 정의 텍스트",
+ "userTextInfo": "시계 아래에 사용자 정의 텍스트 표시",
+ "fahrenheitCelsiusCheckbox": "화씨로 전환",
+ "fahrenheitCelsiusText": "변경 사항을 적용하려면 페이지를 새로 고침하십시오",
+ "micIconTitle": "마이크 아이콘 숨기기",
+ "micIconInfo": "음성 입력이 작동하지 않으면",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "검색 제안",
+ "search_suggestions_text": "검색 제안 활성화",
+
+ // Proxy
+ "useproxytitletext": "프록시 우회",
+ "useproxyText": "검색 제안이 작동하지 않으면",
+ "ProxyText": "CORS 우회 프록시",
+ "ProxySubtext": "자신의 CORS 우회 프록시 추가",
+ "HostproxyButton": "자신의 프록시 호스팅",
+ "saveproxy": "저장",
+
+ // Location
+ "UserLocText": "위치 입력",
+ "UserLocSubtext": "날씨 위치가 정확하지 않으면",
+ "userLoc": "당신의 도시 또는 좌표 (위도, 경도)",
+ "saveLoc": "저장",
+
+ // Weather
+ "WeatherApiText": "WeatherAPI 키 입력",
+ "WeatherApiSubtext": "날씨 기능이 작동하지 않으면",
+ "userAPI": "당신의 WeatherAPI 키",
+ "LearnMoreButton": "자세히 알아보기",
+ "saveAPI": "저장",
+
+ // Body Items
+ // Calendar
+ "days": ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
+ "months": ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "안녕하세요! 오늘 기분은 어떠세요?",
+ "humidityLevel": "습도",
+ "feelsLike": "체감",
+ "location": "지구",
+ "enterBtn": "검색",
+ "searchPlaceholder": "검색어를 입력하세요...",
+ "listenPlaceholder": "듣고 있습니다...",
+ "searchWithHint": "검색 방법",
+ "userText": "편집하려면 클릭하세요",
+
+ // Greeting
+ greeting: {
+ "morning": "좋은 아침!",
+ "afternoon": "좋은 오후!",
+ "evening": "좋은 저녁!"
+ },
+
+ // Search Engines
+ "googleEngine": "구글",
+ "duckEngine": "덕덕고",
+ "bingEngine": "빙",
+ "braveEngine": "브레이브",
+ "youtubeEngine": "유튜브",
+
+ // AI Tools
+ "ai_tools": "AI 도구",
+ "chatGPT": "챗GPT",
+ "gemini": "제미니",
+ "copilot": "코파일럿",
+ "perplexity": "퍼플렉시티",
+ "firefly": "어도비 파이어플라이",
+ // "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/mr.js b/src/locales/mr.js
new file mode 100644
index 00000000..ed3eaf90
--- /dev/null
+++ b/src/locales/mr.js
@@ -0,0 +1,139 @@
+// Marathi
+const mr = {
+ // Menu Items
+ "github": "गिटहब",
+ "feedback": "प्रतिसाद",
+ "resetsettings": "सेटिंग्ज रीसेट करा",
+ "menuCloseText": "बंद करा",
+
+ // Shortcuts
+ "shortcutsText": "शॉर्टकट्स",
+ "enableShortcutsText": "जतन केलेले शॉर्टकट दाखवा",
+ "editShortcutsText": "शॉर्टकट्स संपादित करा",
+ "shortcutsInfoText": "कोणते शॉर्टकट दाखवायचे ते निवडा",
+ "editShortcutsList": "जतन केलेले शॉर्टकट्स",
+ 'editShortcutsListInfo': 'आपण "+" आयकॉनवर क्लिक करून नवीन शॉर्टकट्स जोडू शकता किंवा शॉर्टकटच्या नावावर किंवा URL वर क्लिक करून विद्यमान शॉर्टकट्स संपादित करू शकता.',
+ "adaptiveIconText": "अनुकूल आयकॉन आकार",
+ "adaptiveIconInfoText": "शॉर्टकट आयकॉन छोटे दिसतील",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI साधने",
+ "enable_ai_tools": "AI साधनांसाठी शॉर्टकट्स दाखवा",
+ "googleAppsMenuText": "गुगल ॲप्स",
+ "googleAppsMenuInfo": "गुगल ॲप्ससाठी शॉर्टकट्स दाखवा",
+ "googleAppsHover": "गुगल ॲप्स",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "डिजिटल घड्याळ",
+ "digitalclockinfo": "डिजिटल घड्याळावर स्विच करा",
+ "timeformattittle": "१२-तासांचा फॉरमॅट",
+ "timeformatinfo": "१२-तासांचा वेळ फॉरमॅट वापरा",
+ "greetingtittle": "शुभेच्छा",
+ "greetinginfo": "सानुकूल मजकुराखाली शुभेच्छा दाखवा",
+
+ // Misc
+ "userTextTitle": "सानुकूल मजकूर",
+ "userTextInfo": "घड्याळाखाली सानुकूल मजकूर दाखवा",
+ "fahrenheitCelsiusCheckbox": "फॅरेनहाइटमध्ये बदल करा",
+ "fahrenheitCelsiusText": "बदल लागू करण्यासाठी पृष्ठ रीफ्रेश करा",
+ "micIconTitle": "मायक्रोफोन आयकॉन लपवा",
+ "micIconInfo": "जर व्हॉइस टायपिंग कार्यरत नसेल",
+ "hideSearchWith": "सर्च इंजिन सिलेक्टर लपवा",
+ "hideSearchWithInfo": "आयकॉनवर क्लिक करून सर्च इंजिन बदला",
+ "search_suggestions_button": "शोध सूचना",
+ "search_suggestions_text": "शोध सूचना सक्षम करा",
+
+ // Proxy
+ "useproxytitletext": "प्रॉक्सी बायपास",
+ "useproxyText": "जर शोध सूचना कार्यरत नसतील",
+ "ProxyText": "CORS बायपास प्रॉक्सी",
+ "ProxySubtext": "आपला स्वतःचा CORS बायपास प्रॉक्सी जोडा",
+ "HostproxyButton": "आपला प्रॉक्सी होस्ट करा",
+ "saveproxy": "जतन करा",
+
+ // Location
+ "UserLocText": "आपले स्थान प्रविष्ट करा",
+ "UserLocSubtext": "जर हवामानाचे स्थान बरोबर नसेल",
+ "userLoc": "आपले शहर किंवा समन्वय (अक्षांश, रेखांश)",
+ "saveLoc": "जतन करा",
+
+ // Weather
+ "WeatherApiText": "आपली WeatherAPI की प्रविष्ट करा",
+ "WeatherApiSubtext": "जर हवामान कार्यरत नसेल",
+ "userAPI": "आपली WeatherAPI कळी",
+ "LearnMoreButton": "अधिक जाणून घ्या",
+ "saveAPI": "जतन करा",
+
+ // Body Items
+ // Calendar
+ "days": ['रवि', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि'], // Truncated for display
+ // "days": ['रविवार', 'सोमवार', 'मंगळवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'], // Full
+ "months": ['जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', 'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर', 'नोव्हेंबर', 'डिसेंबर'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "नमस्कार! तुम्ही आज कसे आहात?",
+ "humidityLevel": "आर्द्रता",
+ "feelsLike": "वाटते",
+ "location": "पृथ्वी",
+ "enterBtn": "शोधा",
+ "searchPlaceholder": "येथे लिहा...",
+ "listenPlaceholder": "ऐकत आहे...",
+ "searchWithHint": "यासह शोधा",
+ "userText": "येथे आपला मजकूर लिहा",
+
+ // Greeting
+ greeting: {
+ "morning": "शुभ सकाळ!",
+ "afternoon": "शुभ दुपार!",
+ "evening": "शुभ संध्याकाळ!"
+ },
+
+ // Search Engines
+ "googleEngine": "गुगल",
+ "duckEngine": "डकडकगो",
+ "bingEngine": "बिंग",
+ "braveEngine": "ब्रेव्ह",
+ "youtubeEngine": "यूट्यूब",
+
+ // AI Tools
+ "ai_tools": "AI साधने",
+ "chatGPT": "चॅटGPT",
+ "gemini": "जेमिनी",
+ "copilot": "कोपायलट",
+ "claude": "क्लॉड",
+ "perplexity": "पर्प्लेक्सिटी",
+ "firefly": "अडोबी फायरफ्लाय",
+ "metaAI": "मेटा AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "वॉलपेपर सेट करा",
+ "backupText": "बॅकअप करा",
+ "restoreText": "पुनर्संचयित करा",
+ "rangColor": "रंग निवडा",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "तुम्हाला आजचा वॉलपेपर बदलायचा आहे का?",
+ "confirmRestore": "तुम्हाला तुमचे सेटिंग्स रीसेट करायचे आहेत का? हि क्रिया परत केली जाऊ शकत नाही.",
+ "Nobackgroundset": "सद्यस्थितीत कोणतीही पार्श्वभूमी सेट केलेली नाही.",
+ "clearbackgroundimage": "तुम्हाला पार्श्वभूमी इमेज क्लिअर करायची आहे का?",
+ "ProxyDisclaimer": "सर्व प्रॉक्सी फीचर्स डिफॉल्टनुसार बंद असतात.\n\nजर तुम्ही सर्च सुजेशन्स आणि CORS बायपास प्रॉक्सी सक्षम केले, तर गोपनीयतेसाठी तुमची स्वतःची प्रॉक्सी होस्ट करणे अत्यंत शिफारसीय आहे.\n\nडिफॉल्टनुसार, प्रॉक्सी https://mynt-proxy.rhythmcorehq.com म्हणून सेट केले जाईल, म्हणजे तुमचे सर्व डेटा या सर्विसमधून जाईल, ज्यामुळे गोपनीयतेच्या संदर्भात धोका होऊ शकतो.",
+ "failedbackup": "बॅकअप अयशस्वी: ",
+ "restorecompleted": "पुनर्संचयित यशस्वी झाले!",
+ "restorefailed": "पुनर्संचयित अयशस्वी: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/np.js b/src/locales/np.js
new file mode 100644
index 00000000..9eeb466e
--- /dev/null
+++ b/src/locales/np.js
@@ -0,0 +1,167 @@
+// Nepali
+const np = {
+ // Menu Items
+ github: "गिटहब",
+ feedback: "प्रतिक्रिया",
+ resetsettings: "सेटिङहरू रिसेट गर्नुहोस्",
+ menuCloseText: "मेनु बन्द गर्नुहोस्",
+
+ // Shortcuts
+ shortcutsText: "सर्टकटहरू",
+ enableShortcutsText: "Saved गरिएका सर्टकटहरू देखाउनुहोस्",
+ editShortcutsText: "सर्टकटहरू परिवर्तन गर्नुहोस्",
+ shortcutsInfoText: "कुन सर्टकटहरू देखाइन्छ छनौट गर्नुहोस्",
+ editShortcutsList: "Saved सर्टकटहरू",
+ editShortcutsListInfo:
+ 'तपाईंले "+" आइकनमा क्लिक गरेर नयाँ सर्टकटहरू थप्न सक्नुहुन्छ वा सर्टकट नाम वा URL मा क्लिक गरेर अवस्थितहरूलाई परिवर्तन गर्न सक्नुहुन्छ।',
+ adaptiveIconText: "अनुकूल आइकनहरू",
+ adaptiveIconInfoText:
+ "सर्टकट आइकनहरू विषयवस्तुको रङसँग मेल खाने र साना देखिनेछन्",
+ bookmarksText: "बुकमार्कहरू",
+ bookmarksInfo: "बुकमार्क साइडबार देखाउनुहोस्",
+ ai_tools_button: "AI-उपकरणहरू",
+ enable_ai_tools: "AI उपकरणहरूका लागि सर्टकटहरू देखाउनुहोस्",
+ googleAppsMenuText: "गुगल एप्स",
+ googleAppsMenuInfo: "गुगल एप्सका लागि सर्टकटहरू देखाउनुहोस्",
+ googleAppsHover: "गुगल एप्स",
+
+ // Todo List
+ todoListText: "गर्नुपर्ने कार्यहरु",
+ todoListInfo: "दैनिक गर्नुपर्ने कार्यहरु देखाउनुहोस ",
+ todoListHover: "गर्नुपर्ने कार्यहरु",
+ todoPlaceholder: "गर्नु पर्ने काम थप्नुहोस...",
+
+ // Digital Clock
+ digitalclocktittle: "डिजिटल घडी",
+ digitalclockinfo: "डिजिटल घडीमा परिवर्तन गर्नुहोस्",
+ timeformattittle: "12-घण्टा ढाँचा",
+ timeformatinfo: "12-घण्टा समय ढाँचा प्रयोग गर्नुहोस्",
+ greetingtittle: "अभिवादन",
+ greetinginfo: "अनुकूलन पाठ अभिवादनको तल देखाउनुहोस्",
+
+ // Misc
+ userTextTitle: "अनुकूलन योग्य पाठ",
+ userTextInfo: "घडीको तल अनुकूलन पाठ देखाउनुहोस्",
+ fahrenheitCelsiusCheckbox: "फरेनहाइट मा स्विच गर्नुहोस्",
+ fahrenheitCelsiusText: "परिवर्तनहरू लागू गर्न रिफ्रेस गर्नुहोस्",
+ micIconTitle: "माइक्रोफोन आइकन लुकाउनुहोस्",
+ micIconInfo: "यदि भ्वाइस टाइपिङले काम गरिरहेको छैन भने",
+ hideSearchWith: "खोज इन्जिनहरू लुकाउनुहोस्",
+ hideSearchWithInfo:
+ "यसको आइकनमा क्लिक गरेर खोज इन्जिनहरू बीच स्विच गर्नुहोस्",
+ search_suggestions_button: "खोज सुझावहरू",
+ search_suggestions_text: "खोज सुझावहरू सक्षम गर्नुहोस्",
+
+ // Proxy
+ useproxytitletext: "Proxy Bypass",
+ useproxyText: "यदि खोज सुझावहरूले काम गरिरहेको छैन भने",
+ ProxyText: "CORS Bypass Proxy",
+ ProxySubtext: "आफ्नो CORS bypass proxy थप्नुहोस्",
+ HostproxyButton: "तपाईंको आफ्नै proxy host गर्नुहोस्",
+ saveproxy: "Save",
+
+ // Location
+ UserLocText: "आफ्नो स्थान प्रविष्ट गर्नुहोस्",
+ UserLocSubtext: "मौसम स्थान सही छैन भने",
+ userLoc: "तपाईंको शहर वा निर्देशांक (अक्षांश, देशान्तर)",
+ useGPS: "GPS प्रयोग गर्नुहोस्",
+ saveLoc: "Save",
+
+ // Weather
+ WeatherApiText: "आफ्नो WeatherAPI Key प्रविष्ट गर्नुहोस्",
+ WeatherApiSubtext: "यदि मौसम कार्यक्षमता काम गरिरहेको छैन भने",
+ userAPI: "तपाईंको weatherAPI key",
+ LearnMoreButton: "थप जान्नुहोस्",
+ saveAPI: "Save",
+
+ // Body Items
+ // Calendar
+ days: [
+ "आइतबार",
+ "सोमबार",
+ "मङ्गलबार",
+ "बुधबार",
+ "बिहीबार",
+ "शुक्रबार",
+ "शनिबार",
+ ],
+
+ months: [
+ "जानेवारी",
+ "फेब्रुवारी",
+ "मार्च",
+ "एप्रिल",
+ "मे",
+ "जून",
+ "जुलै",
+ "ऑगस्ट",
+ "सप्टेंबर",
+ "ऑक्टोबर",
+ "नोव्हेंबर",
+ "डिसेंबर",
+ ],
+
+ // Bookmarks
+ bookmarksHeading: "बुकमार्कहरू",
+ bookmarkViewAs: "को रूपमा हेर्नुहोस्",
+ bookmarkViewGrid: "ग्रिड",
+ bookmarkViewList: "सूची",
+ bookmarkSearch: "बुकमार्क खोज्नुहोस्",
+
+ // New Tab Item
+ conditionText: "नमस्ते! तपाइलाई आज कस्तो छ?",
+ humidityLevel: "आर्द्रता",
+ feelsLike: "महसुस हुन्छ",
+ location: "पृथ्वी",
+ enterBtn: "खोज्नुहोस्",
+ searchPlaceholder: "कृपया यहाँ लेख्नुहोस्",
+ listenPlaceholder: "सुन्दै...",
+ searchWithHint: "साथ खोज्नुहोस्",
+ userText: "तपाईं यहाँ लेख्न सक्नुहुन्छ",
+
+ // Greeting
+ greeting: {
+ morning: "शुभ प्रभात!",
+ afternoon: "शुभ दिउँसो!",
+ evening: "शुभ साँझ!",
+ },
+
+ // Search Engines
+ googleEngine: "गूगल",
+ duckEngine: "डकडकगो",
+ bingEngine: "बिंग",
+ braveEngine: "ब्रेव",
+ youtubeEngine: "यूट्यूब",
+
+ // AI Tools
+ ai_tools: "AI उपकरणहरू",
+ chatGPT: "ChatGPT",
+ gemini: "Gemini",
+ copilot: "Copilot",
+ claude: "Claude",
+ perplexity: "Perplexity",
+ firefly: "Adobe Firefly",
+ metaAI: "Meta AI",
+
+ // Wallpaper and alerts
+ uploadWallpaperText: "वालपेपर अपलोड गर्नुहोस्",
+ backupText: "ब्याकअप",
+ restoreText: "पुनर्स्थापना गर्नुहोस्",
+ rangColor: "रंग छान्नुहोस्",
+
+ // Dialog boxes (alerts)
+ confirmWallpaper:
+ "के तपाईं दिनको लागि आफ्नो वालपेपरको रूपमा नयाँ छवि सेट गर्न चाहनुहुन्छ?",
+ confirmRestore:
+ "के तपाइँ तपाइँको सेटिङहरू रिसेट गर्न निश्चित हुनुहुन्छ? यो कार्य पुनर्स्थापना गर्न सकिँदैन।",
+ Nobackgroundset: "हाल कुनै पनि पृष्ठभूमि फोटो सेट गरिएको छैन।",
+ clearbackgroundimage: "के तपाइँ पृष्ठभूमि फोटो हटाउन निश्चित हुनुहुन्छ?",
+ ProxyDisclaimer:
+ "सबै प्रोक्सी सुविधाहरू पूर्वनिर्धारित रूपमा बन्द छन्।\n\nयदि तपाईंले खोज सुझावहरू र CORS बाइपास प्रोक्सी सक्षम गर्नुभयो भने, परिष्कृत गोपनीयताको लागि तपाईंको आफ्नै प्रोक्सी होस्ट गर्न दृढ रूपमा सिफारिस गरिन्छ।\n\nपूर्वनिर्धारित रूपमा, प्रोक्सीलाई https://mynt-proxy.rhythmcorehq.com मा सेट गरिनेछ, जसको अर्थ तपाइँको सबै डेटा यस सेवा मार्फत जानेछ, जसले गोपनीयता चिन्ताहरू खडा गर्न सक्छ।",
+ failedbackup: "ब्याकअप असफल भयो: ",
+ restorecompleted: "पुनर्स्थापना सफलतापूर्वक सम्पन्न भयो!",
+ restorefailed: "ब्याकअप असफल भयो: ",
+ invalidBackup: "अवैध ब्याकअप फाइल",
+ deleteBookmark: "के तपाइँ निश्चित रूपमा बुकमार्क मेटाउन चाहनुहुन्छ?",
+ UnsupportedBrowser: "बुकमार्कहरू तपाईंको ब्राउजरमा समर्थित छैनन्",
+};
diff --git a/src/locales/pt.js b/src/locales/pt.js
new file mode 100644
index 00000000..f3f61fef
--- /dev/null
+++ b/src/locales/pt.js
@@ -0,0 +1,139 @@
+// Portuguese (Brazil)
+const pt = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Feedback",
+ "resetsettings": "Redefinir Configurações",
+ "menuCloseText": "Fechar",
+
+ // Shortcuts
+ "shortcutsText": "Atalhos",
+ "enableShortcutsText": "Mostrar atalhos salvos",
+ "editShortcutsText": "Editar Atalhos",
+ "shortcutsInfoText": "Escolha quais atalhos serão exibidos",
+ "editShortcutsList": "Atalhos Salvos",
+ "editShortcutsListInfo": "Você pode adicionar novos atalhos clicando no ícone \"+\" ou editar os existentes clicando no nome ou URL do atalho",
+ "adaptiveIconText": "Ícones Adaptativos",
+ "adaptiveIconInfoText": "Os ícones de atalho aparecerão redondos",
+ "bookmarksText": "Favoritos",
+ "bookmarksInfo": "Mostrar barra lateral de favoritos",
+ "ai_tools_button": "Ferramentas de IA",
+ "enable_ai_tools": "Mostrar atalhos para ferramentas de IA",
+ "googleAppsMenuText": "Apps Google",
+ "googleAppsMenuInfo": "Mostrar atalhos para Apps Google",
+ "googleAppsHover": "Apps do Google",
+
+ // To-do List
+ "todoListText": "Lista de Tarefas",
+ "todoListInfo": "Mostrar uma Lista de Tarefas",
+ "todoListHover": "Lista de Tarefas",
+ "todoPlaceholder": "Adicionar tarefa...",
+
+ // Digital Clock
+ "digitalclocktittle": "Relógio Digital",
+ "digitalclockinfo": "Mudar para o relógio digital",
+ "timeformattittle": "Formato 12 Horas",
+ "timeformatinfo": "Usar formato de 12 horas",
+ "greetingtittle": "Saudação",
+ "greetinginfo": "Mostrar saudação abaixo do texto personalizado",
+
+ // Misc
+ "userTextTitle": "Texto Personalizável",
+ "userTextInfo": "Mostrar texto personalizado abaixo do relógio",
+ "fahrenheitCelsiusCheckbox": "Mudar para Fahrenheit",
+ "fahrenheitCelsiusText": "Atualize a página para aplicar as mudanças",
+ "micIconTitle": "Ocultar Ícone do Microfone",
+ "micIconInfo": "Se o ditado por voz não estiver funcionando",
+ "hideSearchWith": "Ocultar o Motor de Busca",
+ "hideSearchWithInfo": "Alternar entre os motores de busca clicando no ícone",
+ "search_suggestions_button": "Sugestões de Pesquisa",
+ "search_suggestions_text": "Ativar sugestões de pesquisa",
+
+ // Proxy
+ "useproxytitletext": "Bypass de Proxy",
+ "useproxyText": "Se as sugestões de pesquisa não estiverem funcionando",
+ "ProxyText": "Proxy de Bypass CORS",
+ "ProxySubtext": "Adicione seu próprio proxy de bypass CORS",
+ "HostproxyButton": "Hospede seu próprio proxy",
+ "saveproxy": "Salvar",
+
+ // Location
+ "UserLocText": "Digite sua Localização",
+ "UserLocSubtext": "Se a localização do clima não estiver correta",
+ "userLoc": "Sua Cidade ou Coordenadas (Latitude, Longitude)",
+ "useGPS": "Usar GPS",
+ "saveLoc": "Salvar",
+
+ // Weather
+ "WeatherApiText": "Digite sua chave WeatherAPI",
+ "WeatherApiSubtext": "Se a funcionalidade do clima não estiver funcionando",
+ "userAPI": "Sua chave weatherAPI",
+ "LearnMoreButton": "Saiba mais",
+ "saveAPI": "Salvar",
+
+ // Body Items
+ // Calendar
+ "days": ['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'],
+ "months": ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
+
+ // Bookmarks
+ "bookmarksHeading": "Favoritos",
+ "bookmarkViewAs": "Visualizar como",
+ "bookmarkViewGrid": "Grade",
+ "bookmarkViewList": "Lista",
+ "bookmarkSearch": "Pesquisar favorito",
+
+ // New Tab Item
+ "conditionText": "Olá! Como você está hoje?",
+ "humidityLevel": "Umidade",
+ "feelsLike": "Sensação de",
+ "location": "Terra",
+ "enterBtn": "Pesquisar",
+ "searchPlaceholder": "Digite aqui...",
+ "listenPlaceholder": "Ouvindo...",
+ "searchWithHint": "Pesquisar Com",
+ "userText": "Clique aqui para editar",
+
+ // Greeting
+ greeting: {
+ "morning": "Bom dia!",
+ "afternoon": "Boa tarde!",
+ "evening": "Boa noite!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Ferramentas de IA",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Enviar Papel de Parede",
+ "backupText": "Backup",
+ "restoreText": "Restaurar",
+ "rangColor": "Escolher cor",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Você gostaria de definir uma nova imagem como seu papel de parede para o dia?",
+ "confirmRestore": "Você tem certeza de que deseja redefinir suas configurações? Esta ação não pode ser desfeita.",
+ "Nobackgroundset": "Nenhuma imagem de fundo está atualmente definida.",
+ "clearbackgroundimage": "Você tem certeza de que deseja limpar a imagem de fundo?",
+ "ProxyDisclaimer": "Todos os recursos de proxy estão desativados por padrão.\n\nSe você ativar sugestões de pesquisa e o proxy de contorno CORS, é altamente recomendável hospedar seu próprio proxy para maior privacidade.\n\nPor padrão, o proxy será definido como https://mynt-proxy.rhythmcorehq.com, o que significa que todos os seus dados passarão por este serviço, o que pode levantar preocupações de privacidade.",
+ "failedbackup": "Falha no backup: ",
+ "restorecompleted": "Restauração concluída com sucesso!",
+ "restorefailed": "Restauração falhou: ",
+ "invalidBackup": "Arquivo de backup inválido",
+ "deleteBookmark": "Você tem certeza de que deseja excluir o favorito?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/ru.js b/src/locales/ru.js
new file mode 100644
index 00000000..55c9999c
--- /dev/null
+++ b/src/locales/ru.js
@@ -0,0 +1,138 @@
+// Russian -> ru
+const ru = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Отзывы",
+ "resetsettings": "Сброс настроек",
+ "menuCloseText": "Закрыть",
+
+ // Shortcuts
+ "shortcutsText": "Ярлыки",
+ "enableShortcutsText": "Включить/Отключить ярлыки",
+ "editShortcutsText": "Редактировать ярлыки",
+ "shortcutsInfoText": "Выберите, какие ярлыки будут отображаться",
+ "editShortcutsList": "Сохранёные ярлыки",
+ 'editShortcutsListInfo': 'Вы можете добавить новые ярлыки нажав на "+" или отредактировать существующие, щёлкнув на ярлык или URL.',
+ "adaptiveIconText": "Адаптивные формы значков",
+ "adaptiveIconInfoText": "Ярлыки всегда будут круглыми",
+ "bookmarksText": "Закладки",
+ "bookmarksInfo": "Показать боковую панель закладок",
+ "ai_tools_button": "Инструменты ИИ",
+ "enable_ai_tools": "Включить/Отключить ярлыки ИИ",
+ "googleAppsMenuText": "Приложения Google",
+ "googleAppsMenuInfo": "Показать ярлыки для приложений Google",
+ "googleAppsHover": "Гугл приложения",
+
+ // To-do List
+ "todoListText": "To-do лист",
+ "todoListInfo": "Показать ежедневный список дел",
+ "todoListHover": "To-do лист",
+ "todoPlaceholder": "Добавить задачу...",
+
+ // Digital Clock
+ "digitalclocktittle": "Цифровые часы",
+ "digitalclockinfo": "Включить/Отключить цифровые часы",
+ "timeformattittle": "12-часовой формат",
+ "timeformatinfo": "Использовать 12-часовой формат времени",
+ "greetingtittle": "Приветствие",
+ "greetinginfo": "Показать приветствие под вашим текстом",
+
+ // Misc
+ "userTextTitle": "Настраиваемый текст",
+ "userTextInfo": "Отображение текста под часами",
+ "fahrenheitCelsiusCheckbox": "Использовать Фаренгейт",
+ "fahrenheitCelsiusText": "Обновите страницу, чтобы применить",
+ "micIconTitle": "Скрыть значок микрофона",
+ "micIconInfo": "Если голосовой ввод не работает",
+ "hideSearchWith": "Скрыть поисковые системы",
+ "hideSearchWithInfo": "Переключайте поисковые системы, щёлкая по их значку",
+ "search_suggestions_button": "Поисковые подсказки",
+ "search_suggestions_text": "Включить/Отключить поисковые подсказки",
+
+ // Proxy
+ "useproxytitletext": "Использовать прокси",
+ "useproxyText": "Если поисковые подсказки не работают",
+ "ProxyText": "CORS обход прокси",
+ "ProxySubtext": "Добавьте свой CORS-прокси",
+ "HostproxyButton": "Разместить свой прокси",
+ "saveproxy": "Сохранить",
+
+ // Location
+ "UserLocText": "Введите ваше местоположение",
+ "UserLocSubtext": "Если местоположение для погоды неверно",
+ "userLoc": "Ваше местоположение (Город/Широта,Долгота)",
+ "saveLoc": "Сохранить",
+
+ // Weather
+ "WeatherApiText": "Введите свой ключ WeatherAPI",
+ "WeatherApiSubtext": "Если функция погоды не работает",
+ "userAPI": "Ваш ключ WeatherAPI",
+ "LearnMoreButton": "Узнать больше",
+ "saveAPI": "Сохранить",
+
+ // Body Items
+ // Calendar
+ "days": ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
+ "months": ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
+
+ // Bookmarks
+ "bookmarksHeading": "Закладки",
+ "bookmarkViewAs": "Отображение",
+ "bookmarkViewGrid": "Сетка",
+ "bookmarkViewList": "Лист",
+ "bookmarkSearch": "Поиск закладки",
+
+ // New Tab Item
+ "conditionText": "Привет! Как ты сегодня?",
+ "humidityLevel": "Влажность",
+ "feelsLike": "Ощущается",
+ "location": "Земля",
+ "enterBtn": "Поиск",
+ "searchPlaceholder": "Ваш запрос...",
+ "listenPlaceholder": "Слушаю...",
+ "searchWithHint": "Искать с",
+ "userText": "Нажмите здесь, чтобы редактировать",
+
+ // Greeting
+ greeting: {
+ "morning": "Доброе утро!",
+ "afternoon": "Добрый день!",
+ "evening": "Добрый вечер!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Нейросети",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Загрузить обои",
+ "backupText": "Экспорт",
+ "restoreText": "Восстановить",
+ "rangColor": "Выбрать цвет",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Хотите установить новое изображение в качестве обоев на весь день?",
+ "confirmRestore": "Вы уверены, что хотите сбросить настройки? Это действие нельзя отменить.",
+ "Nobackgroundset": "В настоящее время обои не установлены.",
+ "clearbackgroundimage": "Вы уверены что хотите убрать обои?",
+ "ProxyDisclaimer": "По умолчанию все функции прокси отключены.\n\nЕсли вы включите поисковые предложения и прокси для обхода CORS, настоятельно рекомендуется разместить собственный прокси для повышения конфиденциальности.\n\nПо умолчанию прокси будет установлен на https://mynt-proxy.rhythmcorehq.com, то есть все ваши данные будут проходить через этот сервис, что может вызвать проблемы с конфиденциальностью.",
+ "failedbackup": "Резервное копирование не удалось: ",
+ "restorecompleted": "Восстановление настроек успешно завершено!",
+ "restorefailed": "Восстановление настроек не удалось: ",
+ "invalidBackup": "Недопустимый файл резервной копии.",
+ "deleteBookmark": "Вы уверены, что хотите удалить эту закладку?",
+ "UnsupportedBrowser": "Закладки не поддерживаются в вашем браузере.",
+};
diff --git a/src/locales/sl.js b/src/locales/sl.js
new file mode 100644
index 00000000..25b58dc1
--- /dev/null
+++ b/src/locales/sl.js
@@ -0,0 +1,138 @@
+// Slovenian -> sl
+const sl = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Povratne informacije",
+ "resetsettings": "Ponastavi nastavitve",
+ "menuCloseText": "Zapri",
+
+ // Shortcuts
+ "shortcutsText": "Bližnjice",
+ "enableShortcutsText": "Prikaži shranjene bližnjice",
+ "editShortcutsText": "Uredi bližnjice",
+ "shortcutsInfoText": "Izberite, katere bližnjice bodo prikazane",
+ "editShortcutsList": "Shranjene bližnjice",
+ 'editShortcutsListInfo': 'Dodate lahko nove bližnjice s klikom na ikono "+" ali uredite obstoječe s klikom na ime bližnjice ali URL.',
+ "adaptiveIconText": "Prilagodljive oblike ikon",
+ "adaptiveIconInfoText": "Ikone bodo videti manjše",
+ "bookmarksText": "Zaznamki",
+ "bookmarksInfo": "Prikaži stransko vrstico z zaznamki",
+ "ai_tools_button": "AI-orodja",
+ "enable_ai_tools": "Prikaži bližnjice za AI orodja",
+ "googleAppsMenuText": "Google Aplikacije",
+ "googleAppsMenuInfo": "Prikaži bližnjice za Google aplikacije",
+ "googleAppsHover": "Google Aplikacije",
+
+ // To-do List
+ "todoListText": "Seznam opravil",
+ "todoListInfo": "Prikaži dnevni seznam opravil",
+ "todoListHover": "Seznam opravil",
+ "todoPlaceholder": "Dodaj nalogo...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digitalna ura",
+ "digitalclockinfo": "Preklopi na digitalno uro",
+ "timeformattittle": "12-urni format",
+ "timeformatinfo": "Uporabi 12-urni časovni format",
+ "greetingtittle": "Pozdrav",
+ "greetinginfo": "Prikaži pozdrav pod prilagojenim besedilom",
+
+ // Misc
+ "userTextTitle": "Uporabniško prilagodljivo besedilo",
+ "userTextInfo": "Prikaži uporabniško prilagodljivo besedilo pod uro",
+ "fahrenheitCelsiusCheckbox": "Preklopi na Fahrenheit",
+ "fahrenheitCelsiusText": "Osvežite stran za uveljavitev sprememb",
+ "micIconTitle": "Skrij ikono mikrofona",
+ "micIconInfo": "Če glasovno tipkanje ne deluje",
+ "hideSearchWith": "Skrij iskalnike",
+ "hideSearchWithInfo": "Preklapljajte med iskalniki s klikom na ikono",
+ "search_suggestions_button": "Predlogi za iskanje",
+ "search_suggestions_text": "Omogoči predloge za iskanje",
+
+ // Proxy
+ "useproxytitletext": "Proxy obid",
+ "useproxyText": "Če predlogi za iskanje ne delujejo",
+ "ProxyText": "Proxy obid za CORS",
+ "ProxySubtext": "Dodajte svoj proxy obid za CORS",
+ "HostproxyButton": "Gostite svoj proxy",
+ "saveproxy": "Shrani",
+
+ // Location
+ "UserLocText": "Vnesite svojo lokacijo",
+ "UserLocSubtext": "Če lokacija vremena ni pravilna",
+ "userLoc": "Vaše mesto ali koordinate (geografska širina, dolžina)",
+ "saveLoc": "Shrani",
+
+ // Weather
+ "WeatherApiText": "Vnesite svoj WeatherAPI ključ",
+ "WeatherApiSubtext": "Če vremenska funkcionalnost ne deluje",
+ "userAPI": "Vaš WeatherAPI ključ",
+ "LearnMoreButton": "Izvedite več",
+ "saveAPI": "Shrani",
+
+ // Body Items
+ // Calendar
+ "days": ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek', 'petek', 'sobota'],
+ "months": ['januar', 'februar', 'marec', 'april', 'maj', 'junij', 'julij', 'avgust', 'september', 'oktober', 'november', 'december'],
+
+ // Bookmarks
+ "bookmarksHeading": "Zaznamki",
+ "bookmarkViewAs": "Prikaži kot",
+ "bookmarkViewGrid": "Mreža",
+ "bookmarkViewList": "Seznam",
+ "bookmarkSearch": "Išči zaznamek",
+
+ // New Tab Item
+ "conditionText": "Živijo! Kako ste danes?",
+ "humidityLevel": "Vlažnost",
+ "feelsLike": "Občutek",
+ "location": "Zemlja",
+ "enterBtn": "Išči",
+ "searchPlaceholder": "Vnesite tukaj...",
+ "listenPlaceholder": "Poslušam...",
+ "searchWithHint": "Išči z",
+ "userText": "Kliknite tukaj za urejanje",
+
+ // Greeting
+ greeting: {
+ "morning": "Dobro jutro!",
+ "afternoon": "Dober dan!",
+ "evening": "Dober večer!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI orodja",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Naloži ozadje",
+ "backupText": "Varnostna kopija",
+ "restoreText": "Obnovi",
+ "rangColor": "Izberi barvo",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Ali želite nastaviti novo sliko kot ozadje danes?",
+ "confirmRestore": "Ali ste prepričani, da želite ponastaviti nastavitve? To dejanje ni mogoče razveljaviti.",
+ "Nobackgroundset": "Trenutno ni nastavljena nobena slika za ozadje.",
+ "clearbackgroundimage": "Ali ste prepričani, da želite odstraniti sliko ozadja?",
+ "ProxyDisclaimer": "Vse funkcije proxyja so privzeto izklopljene.\n\nČe omogočite predloge za iskanje in proxy za obvoz CORS, je močno priporočljivo, da gostite svoj proxy za boljšo zasebnost.\n\nPrivzeto bo proxy nastavljen na https://mynt-proxy.rhythmcorehq.com, kar pomeni, da bodo vsi vaši podatki šli skozi to storitev, kar lahko predstavlja tveganje za zasebnost.",
+ "failedbackup": "Varnostna kopija ni uspela: ",
+ "restorecompleted": "Obnovitev je bila uspešna!",
+ "restorefailed": "Obnovitev ni uspela: ",
+ "invalidBackup": "Neveljavna datoteka za varnostno kopijo",
+ "deleteBookmark": "Ali ste prepričani, da želite odstraniti zaznamek?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/tr.js b/src/locales/tr.js
new file mode 100644
index 00000000..036c0cda
--- /dev/null
+++ b/src/locales/tr.js
@@ -0,0 +1,138 @@
+// Turkish
+const tr = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Geri Bildirim",
+ "resetsettings": "Ayarları Sıfırla",
+ "menuCloseText": "Kapat",
+
+ // Shortcuts
+ "shortcutsText": "Kısayollar",
+ "enableShortcutsText": "Kaydedilen kısayolları göster",
+ "editShortcutsText": "Kısayolları Düzenle",
+ "shortcutsInfoText": "Hangi kısayolların gösterileceğini seçin",
+ "editShortcutsList": "Kaydedilen Kısayollar",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Uyarlanabilir İkon Şekilleri",
+ "adaptiveIconInfoText": "Kısayol ikonları yuvarlak görünecek",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI Araçları",
+ "enable_ai_tools": "AI Araçları kısayollarını göster",
+ "googleAppsMenuText": "Google Uygulamaları",
+ "googleAppsMenuInfo": "Google Uygulamaları için kısayollarını göster",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Dijital Saat",
+ "digitalclockinfo": "Dijital saate geçiş yap",
+ "timeformattittle": "12 Saat Formatı",
+ "timeformatinfo": "12 saat zaman formatını kullanın",
+ "greetingtittle": "Hoşgeldiniz",
+ "greetinginfo": "Özel metinin altında hoşgeldiniz mesajını göster",
+
+ // Misc
+ "userTextTitle": "Özelleştirilebilir Metin",
+ "userTextInfo": "Saatin altında özel metin göster",
+ "fahrenheitCelsiusCheckbox": "Fahrenheit'a geç",
+ "fahrenheitCelsiusText": "Güncellemeleri görmek için sayfayı yenileyin",
+ "micIconTitle": "Mikrofon Simgesini Gizle",
+ "micIconInfo": "Eğer sesli yazma çalışmıyorsa",
+ // "hideSearchWith": "Arama Motorlarını Gizle",
+ // "hideSearchWithInfo": "İkonuna tıklayarak arama motorları arasında geçiş yapın",
+ "search_suggestions_button": "Arama Önerileri",
+ "search_suggestions_text": "Arama Önerilerini etkinleştir",
+
+ // Proxy
+ "useproxytitletext": "Proxy Atlatma",
+ "useproxyText": "Eğer arama önerileri çalışmıyorsa",
+ "ProxyText": "CORS Atlatma Proxy",
+ "ProxySubtext": "Kendi CORS Atlatma Proxy'nizi ekleyin",
+ "HostproxyButton": "Kendi Proxy'nizi Barındırın",
+ "saveproxy": "Kaydet",
+
+ // Location
+ "UserLocText": "Konumunuzu girin",
+ "UserLocSubtext": "Hava durumu konumu doğru değilse",
+ "userLoc": "Konumunuz (Şehir/Enlem,Boylam)",
+ "saveLoc": "Kaydet",
+
+ // Weather
+ "WeatherApiText": "Kendi WeatherAPI anahtarınızı girin",
+ "WeatherApiSubtext": "Hava durumu işlevi çalışmıyorsa",
+ "userAPI": "WeatherAPI anahtarınız",
+ "LearnMoreButton": "Daha Fazla Bilgi Edinin",
+ "saveAPI": "Kaydet",
+
+ // Body Items
+ // Calendar
+ "days": ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
+ "months": ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Merhaba! Bugün nasılsın?",
+ "humidityLevel": "Nem",
+ "feelsLike": "Hissediyor",
+ "location": "Dünya",
+ "enterBtn": "Arama Yap",
+ "searchPlaceholder": "Aramanız...",
+ "listenPlaceholder": "Dinliyor...",
+ "searchWithHint": "ile Ara",
+ "userText": "Buraya tıklayarak düzenleyin",
+
+ // Greeting
+ greeting: {
+ "morning": "Günaydın!",
+ "afternoon": "İyi öğleden sonra!",
+ "evening": "İyi akşamlar!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Araçları",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
diff --git a/src/locales/uz.js b/src/locales/uz.js
new file mode 100644
index 00000000..cb4bd976
--- /dev/null
+++ b/src/locales/uz.js
@@ -0,0 +1,138 @@
+// Uzbek -> uz
+const uz = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Fikr-mulohaza",
+ "resetsettings": "Sozlamalarni tiklash",
+ "menuCloseText": 'Yopish',
+
+ // Shortcuts
+ "shortcutsText": "Tezkor tugmalar",
+ "enableShortcutsText": "Tezkor tugmalarni ko'rsatish",
+ "editShortcutsText": "Tezkor tugmalarni tahrirlash",
+ "shortcutsInfoText": "Qaysi tezkor tugmalarni ko'rsatishni tanlang",
+ "editShortcutsList": "Saqlangan Tezkor tugmalar",
+ // "editShortcutsListInfo": "You can add new shortcuts by clicking the \"+\" icon or edit existing ones by clicking on the shortcut name or URL.",
+ "adaptiveIconText": "Adaptiv ikonlar shakllari",
+ "adaptiveIconInfoText": "Tezkor tugmalar doimiy ravishda doiraviy bo'ladi",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI-instrumentlar",
+ "enable_ai_tools": "Tezkor tugmalarni ko'rsatish AI-instrumentlar",
+ "googleAppsMenuText": "Google Dasturlari",
+ "googleAppsMenuInfo": "Google Dasturlariga qisqacha havolani ko'rsating",
+ // "googleAppsHover": "Google Apps", // Keep this shorter
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "Digital Clock",
+ "digitalclockinfo": "Digital Clockga o'tish",
+ "timeformattittle": "12-soat format",
+ "timeformatinfo": "12-soat formatni qo'llang",
+ "greetingtittle": "Salomlashish",
+ "greetinginfo": "Savatchadagi text pastdagi salomlashishni ko'rsatish",
+
+ // Misc
+ "userTextTitle": "Tahrirlash mumkin bo'lgan matn",
+ "userTextInfo": "Savatchadagi text pastdagi salomlashishni ko'rsatish",
+ "fahrenheitCelsiusCheckbox": "Fahrenheitga o'tish",
+ "fahrenheitCelsiusText": "Sahifani yangilash, o'zgarishlarni qo'llash",
+ "micIconTitle": "Mikrofon belgisini yashirish",
+ "micIconInfo": "Agar ovozli yozish ishlamasa",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "Izlash tavsiyalari",
+ "search_suggestions_text": "Izlash tavsiyalarini yoqish",
+
+ // Proxy
+ "useproxytitletext": "Proxy Bypass",
+ "useproxyText": "Izlash tavsiyalari ishlamaydi",
+ "ProxyText": "CORS Bypass Proxy",
+ "ProxySubtext": "O'zingizning CORS bypass proxyni qo'shing",
+ "HostproxyButton": "O'zingizning proxyni joylash",
+ "saveproxy": "Saqlash",
+
+ // Location
+ "UserLocText": "O'zingizning joylashganligingizni kiriting",
+ "UserLocSubtext": "Agar havo joylashuvi noto'g'ri bo'lsa",
+ "userLoc": "O'zingizning shahringiz yoki koordinatalaringiz (Kenglik, Uzunlik)",
+ "saveLoc": "Saqlash",
+
+ // Weather
+ "WeatherApiText": "O'zingizning WeatherAPI kalitini kiriting",
+ "WeatherApiSubtext": "Agar havo funktsiyasi ishlamaydi",
+ "userAPI": "O'zingizning WeatherAPI kaliti",
+ "LearnMoreButton": "Bilish",
+ "saveAPI": "Saqlash",
+
+ // Body Items
+ // Calendar
+ "days": ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba'],
+ "months": ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "Salom! Siz bugun qanday holatdasiz?",
+ "humidityLevel": "Namlik",
+ "feelsLike": "Uxshaydi",
+ "location": "Yer",
+ "enterBtn": "Izlash",
+ "searchPlaceholder": "Sizning savolingiz...",
+ "listenPlaceholder": "Tinglayapman...",
+ "searchWithHint": "Bular bilan izlash",
+ "userText": "Buni tahrirlash",
+
+ // Greeting
+ greeting: {
+ "morning": "Xayrli tong!",
+ "afternoon": "Xayrli tushlik!",
+ "evening": "Xayrli kech!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI Texnikalar",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
\ No newline at end of file
diff --git a/src/locales/vi.js b/src/locales/vi.js
new file mode 100644
index 00000000..865fe31a
--- /dev/null
+++ b/src/locales/vi.js
@@ -0,0 +1,139 @@
+// Vietnamese
+const vi = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "Phản hồi",
+ "resetsettings": "Đặt lại cài đặt gốc",
+ "menuCloseText": "Đóng",
+
+ // Shortcuts
+ "shortcutsText": "Phím tắt",
+ "enableShortcutsText": "Bật/tắt phím tắt",
+ "editShortcutsText": "Chỉnh sửa Phím tắt",
+ "shortcutsInfoText": "Chọn các phím tắt muốn hiển thị",
+ "editShortcutsList": "Chỉnh sửa danh sách Phím tắt",
+ "editShortcutsListInfo": "Bạn có thể thêm phím tắt mới bằng cách nhấp vào biểu tượng \"+\" hoặc chỉnh sửa phím tắt hiện có bằng cách nhấp vào tên phím tắt hoặc URL.",
+ "adaptiveIconText": "Hình dạng biểu tượng Thích ứng",
+ "adaptiveIconInfoText": "Biểu tượng phím tắt sẽ luôn là hình tròn",
+ "bookmarksText": "Dấu trang",
+ "bookmarksInfo": "Hiển thị thanh bên dấu trang",
+ "ai_tools_button": "Công cụ AI",
+ "enable_ai_tools": "Bật/tắt các phím tắt công cụ AI",
+ "googleAppsMenuText": "Ứng dụng Google",
+ "googleAppsMenuInfo": "Hiển thị các phím tắt cho Ứng dụng Google",
+ "googleAppsHover": "Ứng dụng Google",
+
+ // To-do List
+ "todoListText": "Danh sách việc cần làm",
+ "todoListInfo": "Hiển thị danh sách việc cần làm hàng ngày",
+ "todoListHover": "Việc cần làm",
+ "todoPlaceholder": "Thêm nhiệm vụ...",
+
+ // Digital Clock
+ "digitalclocktittle": "Đồng hồ kỹ thuật số",
+ "digitalclockinfo": "Bật/tắt đồng hồ Kỹ thuật số",
+ "timeformattittle": "Sử dụng định dạng 12 giờ",
+ "timeformatinfo": "Sử dụng định dạng thời gian 12 giờ",
+ "greetingtittle": "Lời chào",
+ "greetinginfo": "Hiển thị lời chào dưới văn bản tùy chỉnh",
+
+ // Misc
+ "userTextTitle": "Văn bản tùy chỉnh",
+ "userTextInfo": "Hiển thị văn bản tùy chỉnh dưới đồng hồ",
+ "fahrenheitCelsiusCheckbox": "Chuyển sang Fahrenheit",
+ "fahrenheitCelsiusText": "Tải lại trang để thấy cập nhật",
+ "micIconTitle": "Ẩn biểu tượng mic",
+ "micIconInfo": "Nếu gõ bằng giọng nói không hoạt động",
+ "hideSearchWith": "Ẩn công cụ tìm kiếm",
+ "hideSearchWithInfo": "Chuyển đổi giữa các công cụ tìm kiếm bằng cách nhấp vào biểu tượng của nó",
+ "search_suggestions_button": "Gợi ý tìm kiếm",
+ "search_suggestions_text": "Bật/tắt gợi ý tìm kiếm",
+
+ // Proxy
+ "useproxytitletext": "Bỏ qua Proxy",
+ "useproxyText": "Nếu gợi ý tìm kiếm không hoạt động",
+ "ProxyText": "Proxy bỏ qua CORS",
+ "ProxySubtext": "Thiết lập proxy bỏ qua CORS của bạn.",
+ "HostproxyButton": "Lưu trữ proxy của riêng bạn",
+ "saveproxy": "Lưu",
+
+ // Location
+ "UserLocText": "Nhập vị trí của bạn",
+ "UserLocSubtext": "Nếu vị trí thời tiết không chính xác",
+ "userLoc": "Thành phố hoặc tọa độ của bạn (Vĩ độ, Kinh độ)",
+ "useGPS": "Sử dụng GPS",
+ "saveLoc": "Lưu",
+
+ // Weather
+ "WeatherApiText": "Nhập khóa WeatherAPI của bạn",
+ "WeatherApiSubtext": "Nếu tính năng thời tiết không hoạt động",
+ "userAPI": "Khóa WeatherAPI của bạn",
+ "LearnMoreButton": "Tìm hiểu Thêm",
+ "saveAPI": "Lưu",
+
+ // Body Items
+ // Calendar
+ "days": ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],
+ "months": ['Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'],
+
+ // Bookmarks
+ "bookmarksHeading": "Dấu trang",
+ "bookmarkViewAs": "Dạng xem",
+ "bookmarkViewGrid": "Lưới",
+ "bookmarkViewList": "Danh sách",
+ "bookmarkSearch": "Tìm dấu trang",
+
+ // New Tab Item
+ "conditionText": "Xin chào! Bạn cảm thấy thế nào hôm nay?",
+ "humidityLevel": "Độ ẩm",
+ "feelsLike": "Cảm giác như",
+ "location": "Trái Đất",
+ "enterBtn": "Tìm kiếm",
+ "searchPlaceholder": "Nhập câu hỏi của bạn...",
+ "listenPlaceholder": "Đang nghe...",
+ "searchWithHint": "Tìm kiếm Với",
+ "userText": "Nhấp vào đây để chỉnh sửa",
+
+ // Greeting
+ greeting: {
+ "morning": "Chào buổi sáng!",
+ "afternoon": "Chào buổi chiều!",
+ "evening": "Chào buổi tối!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "DuckDuckGo",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "Công cụ AI",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ "uploadWallpaperText": "Tải hình nền",
+ "backupText": "Sao lưu",
+ "restoreText": "Khôi phục",
+ "rangColor": "Chọn màu",
+
+ // Dialog boxes (alerts)
+ "confirmWallpaper": "Bạn có muốn đặt một hình ảnh mới làm hình nền cho ngày không?",
+ "confirmRestore": "Bạn có chắc chắn muốn đặt lại cài đặt của mình không? Hành động này không thể hoàn tác.",
+ "Nobackgroundset": "Hiện tại chưa có hình nền nào được thiết lập.",
+ "clearbackgroundimage": "Bạn có chắc chắn muốn xóa hình nền không?",
+ "ProxyDisclaimer": "Theo mặc định, mọi tính năng của proxy đều bị tắt.\n\nNếu bạn bật gợi ý tìm kiếm và bỏ qua proxy CORS, chúng tôi khuyên bạn nên lưu trữ proxy riêng để tăng cường quyền riêng tư.\n\nTheo mặc định, proxy sẽ được đặt thành https://mynt-proxy.rhythmcorehq.com, nghĩa là mọi dữ liệu của bạn sẽ đi qua dịch vụ này, điều này có thể gây ra lo ngại về quyền riêng tư.",
+ "failedbackup": "Sao lưu không thành công: ",
+ "restorecompleted": "Đã khôi phục thành công!",
+ "restorefailed": "Khôi phục không thành công: ",
+ "invalidBackup": "Tệp sao lưu không hợp lệ",
+ "deleteBookmark": "Bạn có chắc chắn muốn xóa dấu trang không?",
+ "UnsupportedBrowser": "Dấu trang không được hỗ trợ trong trình duyệt của bạn",
+};
diff --git a/src/locales/zh.js b/src/locales/zh.js
new file mode 100644
index 00000000..9630aeaa
--- /dev/null
+++ b/src/locales/zh.js
@@ -0,0 +1,138 @@
+// Chinese (Simplified) -> zh
+const zh = {
+ // Menu Items
+ "github": "GitHub",
+ "feedback": "反馈",
+ "resetsettings": "重置设置",
+ "menuCloseText": "关闭",
+
+ // Shortcuts
+ "shortcutsText": "快捷方式",
+ "enableShortcutsText": "显示已保存的快捷方式",
+ "editShortcutsText": "编辑快捷方式",
+ "shortcutsInfoText": "选择要显示的快捷方式",
+ "editShortcutsList": "已保存的快捷方式",
+ "editShortcutsListInfo": "您可以通过单击“+”图标添加新的快捷方式,或通过单击快捷方式名称或 URL 来编辑现有快捷方式",
+ "adaptiveIconText": "自适应图标形状",
+ "adaptiveIconInfoText": "快捷方式图标将显示为圆形",
+ // "bookmarksText": "Bookmarks",
+ // "bookmarksInfo": "Show bookmarks sidebar",
+ "ai_tools_button": "AI 工具",
+ "enable_ai_tools": "显示 AI 工具快捷方式",
+ "googleAppsMenuText": "谷歌应用",
+ "googleAppsMenuInfo": "显示谷歌应用的快捷方式",
+ "googleAppsHover": "谷歌应用",
+
+ // To-do List
+ // "todoListText": "To Do List",
+ // "todoListInfo": "Show a daily To Do list",
+ // "todoListHover": "ToDo List", // Keep this short
+ // "todoPlaceholder": "Add task...",
+
+ // Digital Clock
+ "digitalclocktittle": "数字时钟",
+ "digitalclockinfo": "切换到数字时钟",
+ "timeformattittle": "12 小时制",
+ "timeformatinfo": "使用 12 小时制时间格式",
+ "greetingtittle": "问候语",
+ "greetinginfo": "在自定义文本下显示问候语",
+
+ // Misc
+ "userTextTitle": "自定义文本",
+ "userTextInfo": "在时钟下方显示自定义文本",
+ "fahrenheitCelsiusCheckbox": "切换到华氏温度",
+ "fahrenheitCelsiusText": "刷新页面以应用更改",
+ "micIconTitle": "隐藏麦克风图标",
+ "micIconInfo": "如果语音输入无法使用",
+ // "hideSearchWith": "Hide Search Engines",
+ // "hideSearchWithInfo": "Switch between search engines by clicking its icon",
+ "search_suggestions_button": "搜索建议",
+ "search_suggestions_text": "启用搜索建议",
+
+ // Proxy
+ "useproxytitletext": "代理绕过",
+ "useproxyText": "如果搜索建议无法正常工作",
+ "ProxyText": "CORS 绕过代理",
+ "ProxySubtext": "添加您的地址以绕过CORS限制",
+ "HostproxyButton": "托管您自己的代理",
+ "saveproxy": "保存",
+
+ // Location
+ "UserLocText": "输入您的位置",
+ "UserLocSubtext": "如果天气位置不正确",
+ "userLoc": "您的城市或坐标(纬度,经度)",
+ "saveLoc": "保存",
+
+ // Weather
+ "WeatherApiText": "输入您的 WeatherAPI 密钥",
+ "WeatherApiSubtext": "如果天气功能无法正常工作",
+ "userAPI": "您的 WeatherAPI 密钥",
+ "LearnMoreButton": "了解更多",
+ "saveAPI": "保存",
+
+ // Body Items
+ // Calendar
+ "days": ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+ "months": ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+
+ // Bookmarks
+ // "bookmarksHeading": "Bookmarks",
+ // "bookmarkViewAs": "View as",
+ // "bookmarkViewGrid": "Grid", // Keep this shorter
+ // "bookmarkViewList": "List", // Keep this shorter
+ // "bookmarkSearch": "Search bookmark",
+
+ // New Tab Item
+ "conditionText": "你好!今天感觉怎么样?",
+ "humidityLevel": "湿度",
+ "feelsLike": "体感温度",
+ "location": "地球",
+ "enterBtn": "搜索",
+ "searchPlaceholder": "输入搜索内容...",
+ "listenPlaceholder": "正在聆听...",
+ "searchWithHint": "搜索引擎",
+ "userText": "点击这里以编辑",
+
+ // Greeting
+ greeting: {
+ "morning": "早上好!",
+ "afternoon": "下午好!",
+ "evening": "晚上好!"
+ },
+
+ // Search Engines
+ "googleEngine": "Google",
+ "duckEngine": "Duck",
+ "bingEngine": "Bing",
+ "braveEngine": "Brave",
+ "youtubeEngine": "YouTube",
+
+ // AI Tools
+ "ai_tools": "AI 工具",
+ "chatGPT": "ChatGPT",
+ "gemini": "Gemini",
+ "copilot": "Copilot",
+ "claude": "Claude",
+ "perplexity": "Perplexity",
+ "firefly": "Adobe Firefly",
+ "metaAI": "Meta AI",
+
+ // Wallpaper and alerts
+ // "uploadWallpaperText": "Upload Wallpaper", // Keep this short
+ // "backupText": "Backup",
+ // "restoreText": "Restore",
+ // "rangColor": "Pick color", // Keep this short
+
+ // Dialog boxes (alerts)
+ // "confirmWallpaper": "Would you like to set a new image as your wallpaper for the day?",
+ // "confirmRestore": "Are you sure you want to reset your settings? This action cannot be undone.",
+ // "Nobackgroundset": "No background image is currently set.",
+ // "clearbackgroundimage": "Are you sure you want to clear the background image?",
+ // "ProxyDisclaimer": "All proxy features are off by default.\n\nIf you enable search suggestions and CORS bypass proxy, it is strongly recommended to host your own proxy for enhanced privacy.\n\nBy default, the proxy will be set to https://mynt-proxy.rhythmcorehq.com, meaning all your data will go through this service, which may pose privacy concerns.",
+ // "failedbackup": "Backup failed: ",
+ // "restorecompleted": "Restore completed successfully!",
+ // "restorefailed": "Restore failed: ",
+ // "invalidBackup": "Invalid backup file",
+ // "deleteBookmark": "Are you sure you want to delete the bookmark?",
+ // "UnsupportedBrowser": "Bookmarks are not supported in your browser",
+};
\ No newline at end of file
diff --git a/src/manifest.json b/src/manifest.json
deleted file mode 100644
index 47ae81d9..00000000
--- a/src/manifest.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "manifest_version": 3,
- "name": "Material You NewTab",
- "version": "3.1.5",
- "description": "A Simple New Tab (browser's home page) inspired by Google's 'Material You' design.",
-"permissions": [
- "webRequest"
-],
- "background": {
- "service_worker": "background.js"
- },
- "icons": {
- "48": "icon.png"
- },
- "action": {
- "default_icon": "icon.png"
- },
- "chrome_url_overrides": {
- "newtab": "index.html"
- }
-}
diff --git a/src/root/icon128.png b/src/root/icon128.png
new file mode 100644
index 00000000..844e8660
Binary files /dev/null and b/src/root/icon128.png differ
diff --git a/src/root/icon16.png b/src/root/icon16.png
new file mode 100644
index 00000000..fc2521a8
Binary files /dev/null and b/src/root/icon16.png differ
diff --git a/src/icon.png b/src/root/icon48.png
similarity index 100%
rename from src/icon.png
rename to src/root/icon48.png
diff --git a/src/root/manifest(firefox).json b/src/root/manifest(firefox).json
new file mode 100644
index 00000000..e9fedad5
--- /dev/null
+++ b/src/root/manifest(firefox).json
@@ -0,0 +1,27 @@
+{
+ "manifest_version": 2,
+ "name": "Better Material You NewTab",
+ "version": "4.0",
+ "description": "A Simple New Tab (browser's home page) inspired by Google's 'Material You' design.",
+ "permissions": [
+ "bookmarks",
+ "https://www.google.com/complete/search*",
+ "https://duckduckgo.com/ac/*",
+ "https://search.brave.com/api/suggest*"
+ ],
+ "background": {
+ "scripts": ["background.js"],
+ "persistent": true
+ },
+ "icons": {
+ "16": "icon16.png",
+ "48": "icon48.png",
+ "128": "icon128.png"
+ },
+ "browser_action": {
+ "default_icon": "icon48.png"
+ },
+ "chrome_url_overrides": {
+ "newtab": "index.html"
+ }
+}
diff --git a/src/root/manifest.json b/src/root/manifest.json
new file mode 100644
index 00000000..3b4c0c56
--- /dev/null
+++ b/src/root/manifest.json
@@ -0,0 +1,23 @@
+{
+ "manifest_version": 3,
+ "name": "Better Material You NewTab",
+ "version": "4.0.0",
+ "description": "A Simple New Tab (browser's home page) inspired by Google's 'Material You' design.",
+ "optional_permissions": ["bookmarks"],
+ "host_permissions": [
+ "https://www.google.com/complete/search*",
+ "https://duckduckgo.com/ac/*",
+ "https://search.brave.com/api/suggest*"
+],
+ "icons": {
+ "16": "icon16.png",
+ "48": "icon48.png",
+ "128": "icon128.png"
+ },
+ "action": {
+ "default_icon": "icon48.png"
+ },
+ "chrome_url_overrides": {
+ "newtab": "index.html"
+ }
+}
diff --git a/src/root/privacy-policy.html b/src/root/privacy-policy.html
new file mode 100644
index 00000000..90b82166
--- /dev/null
+++ b/src/root/privacy-policy.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+ Privacy Policy for Better Material You NewTab Extension
+
+
+
+
+
+
+
+
Privacy Policy for "Better Material You NewTab" Extension
+
+
Introduction
+
"Better Material You NewTab" is an open-source extension designed to enhance the appearance of your browser’s
+ default home page and new tab. This extension was originally created as a personal project using HTML, CSS,
+ and JavaScript. Due to positive feedback, it was later made available on Firefox and Chrome stores.
+
+
Community Contributions
+
Since its release, many talented developers have contributed to improving the extension through GitHub. These
+ contributors have added new features and fixed bugs, making the extension even better. Each pull request is
+ carefully reviewed, tested, and verified to ensure it meets our standards before merging.
+
+
Data Collection and Permissions
+
This extension does not require any permissions and does not collect, store, or share any user data. Our team
+ has no intention to track or collect any personal information; this is a project focused solely on providing
+ a better browsing experience.
+
+
About Voice Search and Microphone Permission
+
The extension uses the Web Speech API for voice search. When you click the microphone icon, the browser will
+ prompt for microphone access, which is managed entirely by the browser. The microphone is used solely for
+ speech-to-text functionality during searches, and you will be notified by the browser whenever the
+ microphone is accessed.
+
+
Transparency and Security
+
While we strive to keep our code secure, we acknowledge that no project is 100% immune to potential issues.
+ In rare cases, unintended code or errors could be introduced through contributions. We encourage users to
+ review the source code directly on GitHub for peace of mind. Use this extension only when you are fully
+ comfortable with its contents.
+
+
Thank You
+
Thank you for your trust in the "Better Material You NewTab" extension, and we hope it enhances your browsing
+ experience with every new tab you open!
+ This page is a tool designed to analyze language keys in the project. English serves as the reference language for
+ comparison. The tool identifies missing or extra keys in other languages and highlights the complete ones.
+
+
+ The following languages have missing translations compared to English.
+
+
+ Some of the following languages have extra keys not present in English. Consider removing them for consistency.
+
+
+
+
+
+
diff --git a/todo.txt b/todo.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/vite.config.js b/vite.config.js
index f83c64b4..6d00189e 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -3,6 +3,7 @@ import path from 'path';
import { viteStaticCopy } from 'vite-plugin-static-copy';
export default defineConfig({
+ root: path.resolve(__dirname, 'src'), // Set the root directory to src
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
@@ -19,26 +20,38 @@ export default defineConfig({
viteStaticCopy({
targets: [
{
- src: 'src/manifest.json', // Path to manifest.json in src
- dest: '.' // Copy to the root of dist/
+ src: 'root/*',
+ dest: '.'
},
{
- src: 'src/background.js',
- dest: '.'
+ src: 'svgs/*',
+ dest: 'svgs'
+ },
+ {
+ src: 'favicon/*',
+ dest: 'favicon'
+ },
+ {
+ src: 'scripts/*',
+ dest: 'scripts'
+ },
+ {
+ src: 'docs/*',
+ dest: 'docs'
},
{
- src: 'src/languages.js',
- dest: './src/'
+ src: 'locales/*',
+ dest: 'locales'
},
{
- src: 'src/icon.png', // Path to icon.png in src
- dest: '.' // Copy to the root of dist/
+ src: 'tools/*',
+ dest: 'tools'
}
]
})
],
build: {
- outDir: 'dist', // Ensure output is in dist folder
+ outDir: path.resolve(__dirname, 'dist'), // Ensure output is in dist folder
rollupOptions: {
output: {
entryFileNames: 'app.js', // Set the main JS file name