diff --git a/lib/l10n/intl_ar.arb b/lib/l10n/intl_ar.arb index 202bc80fc..a3e84354e 100644 --- a/lib/l10n/intl_ar.arb +++ b/lib/l10n/intl_ar.arb @@ -1,6 +1,6 @@ { "@@locale": "ar", - "@@last_modified": "2026-01-27 14:02:59.727958", + "@@last_modified": "2026-01-28 11:22:30.477643", "about": "حول", "@about": { "type": "String", @@ -11151,5 +11151,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "ما اللغة التي تتعلمها؟", + "searchLanguagesHint": "ابحث عن اللغات المستهدفة", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_be.arb b/lib/l10n/intl_be.arb index b46955cc2..83396d15e 100644 --- a/lib/l10n/intl_be.arb +++ b/lib/l10n/intl_be.arb @@ -1910,7 +1910,7 @@ "playWithAI": "Пакуль гуляйце з ШІ", "courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!", "@@locale": "be", - "@@last_modified": "2026-01-27 14:02:50.270963", + "@@last_modified": "2026-01-28 11:22:20.711094", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12033,5 +12033,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Якую мову вы вывучаеце?", + "searchLanguagesHint": "Пошук мэтавых моў", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_bn.arb b/lib/l10n/intl_bn.arb index 91b4a1d22..2b83ca456 100644 --- a/lib/l10n/intl_bn.arb +++ b/lib/l10n/intl_bn.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:11.965364", + "@@last_modified": "2026-01-28 11:22:41.965760", "about": "সম্পর্কে", "@about": { "type": "String", @@ -12038,5 +12038,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "আপনি কোন ভাষা শিখছেন?", + "searchLanguagesHint": "লক্ষ্য ভাষা অনুসন্ধান করুন", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_bo.arb b/lib/l10n/intl_bo.arb index 62ea8c50f..cf87f482d 100644 --- a/lib/l10n/intl_bo.arb +++ b/lib/l10n/intl_bo.arb @@ -4278,7 +4278,7 @@ "joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།", "startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།", "@@locale": "bo", - "@@last_modified": "2026-01-27 14:03:09.952724", + "@@last_modified": "2026-01-28 11:22:39.504934", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -10688,5 +10688,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Kedua bahasa apa yang Anda pelajari?", + "searchLanguagesHint": "Cari bahasa target", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ca.arb b/lib/l10n/intl_ca.arb index 704212bae..af000f581 100644 --- a/lib/l10n/intl_ca.arb +++ b/lib/l10n/intl_ca.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:51.719519", + "@@last_modified": "2026-01-28 11:22:22.285622", "about": "Quant a", "@about": { "type": "String", @@ -10958,5 +10958,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Quina llengua estàs aprenent?", + "searchLanguagesHint": "Cerca llengües objectiu", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_cs.arb b/lib/l10n/intl_cs.arb index 5406b0317..21e52e7d7 100644 --- a/lib/l10n/intl_cs.arb +++ b/lib/l10n/intl_cs.arb @@ -1,6 +1,6 @@ { "@@locale": "cs", - "@@last_modified": "2026-01-27 14:02:46.567796", + "@@last_modified": "2026-01-28 11:22:18.388059", "about": "O aplikaci", "@about": { "type": "String", @@ -11541,5 +11541,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Jaký jazyk se učíte?", + "searchLanguagesHint": "Hledejte cílové jazyky", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_da.arb b/lib/l10n/intl_da.arb index 3be98520e..f9a2cc459 100644 --- a/lib/l10n/intl_da.arb +++ b/lib/l10n/intl_da.arb @@ -1929,7 +1929,7 @@ "playWithAI": "Leg med AI for nu", "courseStartDesc": "Pangea Bot er klar til at starte når som helst!\n\n...men læring er bedre med venner!", "@@locale": "da", - "@@last_modified": "2026-01-27 14:02:21.118853", + "@@last_modified": "2026-01-28 11:21:51.175741", "@aboutHomeserver": { "type": "String", "placeholders": { @@ -11995,5 +11995,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Hvilket sprog lærer du?", + "searchLanguagesHint": "Søg efter målsprog", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index 90363750d..2f2d9004d 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -1,6 +1,6 @@ { "@@locale": "de", - "@@last_modified": "2026-01-27 14:02:39.850908", + "@@last_modified": "2026-01-28 11:22:11.549404", "alwaysUse24HourFormat": "true", "@alwaysUse24HourFormat": { "description": "Set to true to always display time of day in 24 hour format." @@ -10941,5 +10941,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Welche Sprache lernst du?", + "searchLanguagesHint": "Zielsprachen suchen", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_el.arb b/lib/l10n/intl_el.arb index d7dada299..e19d4365f 100644 --- a/lib/l10n/intl_el.arb +++ b/lib/l10n/intl_el.arb @@ -4455,7 +4455,7 @@ "playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν", "courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!", "@@locale": "el", - "@@last_modified": "2026-01-27 14:03:17.212773", + "@@last_modified": "2026-01-28 11:22:48.079247", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11992,5 +11992,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Ποια γλώσσα μαθαίνετε;", + "searchLanguagesHint": "Αναζητήστε γλώσσες στόχου", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 95daec80c..2f4ea4eb1 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -5063,5 +5063,7 @@ "publicInviteDescSpace": "Search for users to invite them to this space.", "useActivityImageAsChatBackground": "Use activity image as chat background", "chatWithSupport": "Chat with Support", - "newCourseAccess": "By default, courses are publicly searchable and require admin approval to join. You can edit these settings at any time." + "newCourseAccess": "By default, courses are publicly searchable and require admin approval to join. You can edit these settings at any time.", + "onboardingLanguagesTitle": "What language are you learning?", + "searchLanguagesHint": "Search target languages" } diff --git a/lib/l10n/intl_eo.arb b/lib/l10n/intl_eo.arb index e3f7b5447..65fb42eb1 100644 --- a/lib/l10n/intl_eo.arb +++ b/lib/l10n/intl_eo.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:21.507072", + "@@last_modified": "2026-01-28 11:22:51.689025", "about": "Prio", "@about": { "type": "String", @@ -12023,5 +12023,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Kian lingvon vi lernas?", + "searchLanguagesHint": "Serĉu celajn lingvojn", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index 6a6c206d8..65fffc353 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -1,6 +1,6 @@ { "@@locale": "es", - "@@last_modified": "2026-01-27 14:02:15.353643", + "@@last_modified": "2026-01-28 11:21:46.446878", "about": "Acerca de", "@about": { "type": "String", @@ -8168,5 +8168,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "¿Qué idioma estás aprendiendo?", + "searchLanguagesHint": "Buscar idiomas objetivo", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_et.arb b/lib/l10n/intl_et.arb index 604646e87..16a9e2348 100644 --- a/lib/l10n/intl_et.arb +++ b/lib/l10n/intl_et.arb @@ -1,6 +1,6 @@ { "@@locale": "et", - "@@last_modified": "2026-01-27 14:02:38.644251", + "@@last_modified": "2026-01-28 11:22:07.195180", "about": "Rakenduse teave", "@about": { "type": "String", @@ -11205,5 +11205,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Millist keelt sa õpid?", + "searchLanguagesHint": "Otsi sihtkeeli", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_eu.arb b/lib/l10n/intl_eu.arb index 41dd14b4e..df54f5d95 100644 --- a/lib/l10n/intl_eu.arb +++ b/lib/l10n/intl_eu.arb @@ -1,6 +1,6 @@ { "@@locale": "eu", - "@@last_modified": "2026-01-27 14:02:35.628448", + "@@last_modified": "2026-01-28 11:22:04.786494", "about": "Honi buruz", "@about": { "type": "String", @@ -10934,5 +10934,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Zer hizkuntza ikasten ari zara?", + "searchLanguagesHint": "Bilatu helburu hizkuntzak", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fa.arb b/lib/l10n/intl_fa.arb index 2cce2de65..81f5df938 100644 --- a/lib/l10n/intl_fa.arb +++ b/lib/l10n/intl_fa.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:13.031797", + "@@last_modified": "2026-01-28 11:22:43.436826", "repeatPassword": "تکرار رمزعبور", "@repeatPassword": {}, "about": "درباره", @@ -11666,5 +11666,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "شما در حال یادگیری چه زبانی هستید؟", + "searchLanguagesHint": "زبان‌های هدف را جستجو کنید", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fi.arb b/lib/l10n/intl_fi.arb index 61b955468..724790477 100644 --- a/lib/l10n/intl_fi.arb +++ b/lib/l10n/intl_fi.arb @@ -4008,7 +4008,7 @@ "playWithAI": "Leiki tekoälyn kanssa nyt", "courseStartDesc": "Pangea Bot on valmis milloin tahansa!\n\n...mutta oppiminen on parempaa ystävien kanssa!", "@@locale": "fi", - "@@last_modified": "2026-01-27 14:02:18.192045", + "@@last_modified": "2026-01-28 11:21:50.004841", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11557,5 +11557,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Mitä kieltä opit?", + "searchLanguagesHint": "Etsi kohdekieliä", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fil.arb b/lib/l10n/intl_fil.arb index e89792ee7..d8ceffa14 100644 --- a/lib/l10n/intl_fil.arb +++ b/lib/l10n/intl_fil.arb @@ -2786,7 +2786,7 @@ "selectAll": "Piliin lahat", "deselectAll": "Huwag piliin lahat", "@@locale": "fil", - "@@last_modified": "2026-01-27 14:02:56.958154", + "@@last_modified": "2026-01-28 11:22:27.725706", "@setCustomPermissionLevel": { "type": "String", "placeholders": {} @@ -11910,5 +11910,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Anong wika ang iyong pinag-aaralan?", + "searchLanguagesHint": "Maghanap ng mga target na wika", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 3c03b9544..95090b0bc 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -1,6 +1,6 @@ { "@@locale": "fr", - "@@last_modified": "2026-01-27 14:03:27.361514", + "@@last_modified": "2026-01-28 11:22:58.035061", "about": "À propos", "@about": { "type": "String", @@ -11258,5 +11258,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Quelle langue apprenez-vous ?", + "searchLanguagesHint": "Recherchez des langues cibles", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ga.arb b/lib/l10n/intl_ga.arb index 90ed04ae4..f35eab0df 100644 --- a/lib/l10n/intl_ga.arb +++ b/lib/l10n/intl_ga.arb @@ -4516,7 +4516,7 @@ "playWithAI": "Imir le AI faoi láthair", "courseStartDesc": "Tá Bot Pangea réidh chun dul am ar bith!\n\n...ach is fearr foghlaim le cairde!", "@@locale": "ga", - "@@last_modified": "2026-01-27 14:03:26.279031", + "@@last_modified": "2026-01-28 11:22:56.916598", "@customReaction": { "type": "String", "placeholders": {} @@ -10932,5 +10932,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Cén teanga atá á foghlaim agat?", + "searchLanguagesHint": "Cuardaigh teangacha sprioc", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_gl.arb b/lib/l10n/intl_gl.arb index 20e29ea7b..c61e3297c 100644 --- a/lib/l10n/intl_gl.arb +++ b/lib/l10n/intl_gl.arb @@ -1,6 +1,6 @@ { "@@locale": "gl", - "@@last_modified": "2026-01-27 14:02:17.041137", + "@@last_modified": "2026-01-28 11:21:48.193565", "about": "Acerca de", "@about": { "type": "String", @@ -10931,5 +10931,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Que idioma estás aprendendo?", + "searchLanguagesHint": "Busca idiomas de destino", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_he.arb b/lib/l10n/intl_he.arb index 202aac760..50eebc387 100644 --- a/lib/l10n/intl_he.arb +++ b/lib/l10n/intl_he.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:31.662677", + "@@last_modified": "2026-01-28 11:22:00.895298", "about": "אודות", "@about": { "type": "String", @@ -11983,5 +11983,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "איזו שפה אתה לומד?", + "searchLanguagesHint": "חפש שפות יעד", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hi.arb b/lib/l10n/intl_hi.arb index 602f6ae31..a34c80ed4 100644 --- a/lib/l10n/intl_hi.arb +++ b/lib/l10n/intl_hi.arb @@ -4482,7 +4482,7 @@ "playWithAI": "अभी के लिए एआई के साथ खेलें", "courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!", "@@locale": "hi", - "@@last_modified": "2026-01-27 14:03:20.292018", + "@@last_modified": "2026-01-28 11:22:50.465177", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12019,5 +12019,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "आप कौन सी भाषा सीख रहे हैं?", + "searchLanguagesHint": "लक्षित भाषाएँ खोजें", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hr.arb b/lib/l10n/intl_hr.arb index 86992f1f6..207deed27 100644 --- a/lib/l10n/intl_hr.arb +++ b/lib/l10n/intl_hr.arb @@ -1,6 +1,6 @@ { "@@locale": "hr", - "@@last_modified": "2026-01-27 14:02:30.204264", + "@@last_modified": "2026-01-28 11:21:59.771425", "about": "Informacije", "@about": { "type": "String", @@ -11306,5 +11306,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Koji jezik učite?", + "searchLanguagesHint": "Pretraži ciljne jezike", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hu.arb b/lib/l10n/intl_hu.arb index d9917ddb8..25c63f49d 100644 --- a/lib/l10n/intl_hu.arb +++ b/lib/l10n/intl_hu.arb @@ -1,6 +1,6 @@ { "@@locale": "hu", - "@@last_modified": "2026-01-27 14:02:22.464338", + "@@last_modified": "2026-01-28 11:21:52.684213", "about": "Névjegy", "@about": { "type": "String", @@ -10935,5 +10935,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Milyen nyelvet tanulsz?", + "searchLanguagesHint": "Keresd a célnyelveket", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ia.arb b/lib/l10n/intl_ia.arb index d582dabf6..644f4a47e 100644 --- a/lib/l10n/intl_ia.arb +++ b/lib/l10n/intl_ia.arb @@ -1957,7 +1957,7 @@ "playWithAI": "Joca con le IA pro ora", "courseStartDesc": "Pangea Bot es preste a comenzar a qualunque momento!\n\n...ma apprender es melior con amicos!", "@@locale": "ia", - "@@last_modified": "2026-01-27 14:02:33.390978", + "@@last_modified": "2026-01-28 11:22:02.235990", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12012,5 +12012,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Kia lingvo vi lernas?", + "searchLanguagesHint": "Serĉu celajn lingvojn", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_id.arb b/lib/l10n/intl_id.arb index 1e54ccac8..c516c332f 100644 --- a/lib/l10n/intl_id.arb +++ b/lib/l10n/intl_id.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:23.466673", + "@@last_modified": "2026-01-28 11:21:53.689466", "setAsCanonicalAlias": "Atur sebagai alias utama", "@setAsCanonicalAlias": { "type": "String", @@ -10925,5 +10925,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Bahasa apa yang Anda pelajari?", + "searchLanguagesHint": "Cari bahasa target", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ie.arb b/lib/l10n/intl_ie.arb index 8fa61b062..6d34d7ad3 100644 --- a/lib/l10n/intl_ie.arb +++ b/lib/l10n/intl_ie.arb @@ -4371,7 +4371,7 @@ "playWithAI": "Joca con AI pro ora", "courseStartDesc": "Pangea Bot es preste a partir a qualunque momento!\n\n...ma apprender es melior con amicos!", "@@locale": "ie", - "@@last_modified": "2026-01-27 14:02:28.999815", + "@@last_modified": "2026-01-28 11:21:58.032557", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11908,5 +11908,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Cén teanga atá á foghlaim agat?", + "searchLanguagesHint": "Cuardaigh teangacha sprioc", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index 141411532..cf25a7485 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:43.998266", + "@@last_modified": "2026-01-28 11:22:15.909371", "about": "Informazioni", "@about": { "type": "String", @@ -10937,5 +10937,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Quale lingua stai imparando?", + "searchLanguagesHint": "Cerca lingue target", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ja.arb b/lib/l10n/intl_ja.arb index c779c5280..c87c21207 100644 --- a/lib/l10n/intl_ja.arb +++ b/lib/l10n/intl_ja.arb @@ -1,6 +1,6 @@ { "@@locale": "ja", - "@@last_modified": "2026-01-27 14:03:18.964652", + "@@last_modified": "2026-01-28 11:22:49.278909", "about": "このアプリについて", "@about": { "type": "String", @@ -11724,5 +11724,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "どの言語を学んでいますか?", + "searchLanguagesHint": "ターゲット言語を検索", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ka.arb b/lib/l10n/intl_ka.arb index 8f6867c70..7e9018c91 100644 --- a/lib/l10n/intl_ka.arb +++ b/lib/l10n/intl_ka.arb @@ -2593,7 +2593,7 @@ "playWithAI": "ამ დროისთვის ითამაშეთ AI-თან", "courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!", "@@locale": "ka", - "@@last_modified": "2026-01-27 14:03:23.702338", + "@@last_modified": "2026-01-28 11:22:53.904103", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11964,5 +11964,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "რომელი ენა სწავლობთ?", + "searchLanguagesHint": "ძებნა მიზნობრივი ენების", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ko.arb b/lib/l10n/intl_ko.arb index d81b9484e..02d46a1a1 100644 --- a/lib/l10n/intl_ko.arb +++ b/lib/l10n/intl_ko.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:13.792128", + "@@last_modified": "2026-01-28 11:21:45.008877", "about": "소개", "@about": { "type": "String", @@ -11042,5 +11042,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "어떤 언어를 배우고 있나요?", + "searchLanguagesHint": "목표 언어 검색", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_lt.arb b/lib/l10n/intl_lt.arb index 0b8f743c9..759931a3a 100644 --- a/lib/l10n/intl_lt.arb +++ b/lib/l10n/intl_lt.arb @@ -3860,7 +3860,7 @@ "playWithAI": "Žaiskite su dirbtiniu intelektu dabar", "courseStartDesc": "Pangea botas pasiruošęs bet kada pradėti!\n\n...bet mokymasis yra geresnis su draugais!", "@@locale": "lt", - "@@last_modified": "2026-01-27 14:03:05.189233", + "@@last_modified": "2026-01-28 11:22:34.341908", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11739,5 +11739,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Kokią kalbą mokotės?", + "searchLanguagesHint": "Ieškoti tikslo kalbų", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_lv.arb b/lib/l10n/intl_lv.arb index 42cec020d..f6951d6a2 100644 --- a/lib/l10n/intl_lv.arb +++ b/lib/l10n/intl_lv.arb @@ -4482,7 +4482,7 @@ "playWithAI": "Tagad spēlējiet ar AI", "courseStartDesc": "Pangea bots ir gatavs jebkurā laikā!\n\n...bet mācīties ir labāk ar draugiem!", "@@locale": "lv", - "@@last_modified": "2026-01-27 14:02:58.530525", + "@@last_modified": "2026-01-28 11:22:29.356174", "analyticsInactiveTitle": "Pieprasījumi neaktīviem lietotājiem nevar tikt nosūtīti", "analyticsInactiveDesc": "Neaktīvi lietotāji, kuri nav pieteikušies kopš šīs funkcijas ieviešanas, neredzēs jūsu pieprasījumu.\n\nPieprasījuma poga parādīsies, kad viņi atgriezīsies. Jūs varat atkārtoti nosūtīt pieprasījumu vēlāk, noklikšķinot uz pieprasījuma pogas viņu vārdā, kad tā būs pieejama.", "accessRequestedTitle": "Pieprasījums piekļūt analītikai", @@ -10920,5 +10920,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Kuru valodu tu mācies?", + "searchLanguagesHint": "Meklēt mērķa valodas", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_nb.arb b/lib/l10n/intl_nb.arb index 24eb30e86..8c033bbed 100644 --- a/lib/l10n/intl_nb.arb +++ b/lib/l10n/intl_nb.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:48.767207", + "@@last_modified": "2026-01-28 11:22:19.521122", "about": "Om", "@about": { "type": "String", @@ -12027,5 +12027,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Hvilket språk lærer du?", + "searchLanguagesHint": "Søk etter målspråk", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_nl.arb b/lib/l10n/intl_nl.arb index c9a7bb5db..841565f86 100644 --- a/lib/l10n/intl_nl.arb +++ b/lib/l10n/intl_nl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:08.964846", + "@@last_modified": "2026-01-28 11:22:38.374548", "about": "Over ons", "@about": { "type": "String", @@ -10934,5 +10934,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Welke taal ben je aan het leren?", + "searchLanguagesHint": "Zoek doeltalen", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index cd734186f..c84225bcc 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -1,6 +1,6 @@ { "@@locale": "pl", - "@@last_modified": "2026-01-27 14:03:14.463461", + "@@last_modified": "2026-01-28 11:22:45.302604", "about": "O aplikacji", "@about": { "type": "String", @@ -10932,5 +10932,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Jakiego języka się uczysz?", + "searchLanguagesHint": "Szukaj języków docelowych", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index 5cb94166f..1f483a77e 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:37.702228", + "@@last_modified": "2026-01-28 11:22:05.803053", "copiedToClipboard": "Copiada para a área de transferência", "@copiedToClipboard": { "type": "String", @@ -12034,5 +12034,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Qual idioma você está aprendendo?", + "searchLanguagesHint": "Pesquise idiomas-alvo", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt_BR.arb b/lib/l10n/intl_pt_BR.arb index d24701241..1d5c7929c 100644 --- a/lib/l10n/intl_pt_BR.arb +++ b/lib/l10n/intl_pt_BR.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:34.316481", + "@@last_modified": "2026-01-28 11:22:03.356659", "about": "Sobre", "@about": { "type": "String", @@ -11292,5 +11292,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Qual idioma você está aprendendo?", + "searchLanguagesHint": "Pesquise idiomas-alvo", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt_PT.arb b/lib/l10n/intl_pt_PT.arb index e26a982b2..1917430aa 100644 --- a/lib/l10n/intl_pt_PT.arb +++ b/lib/l10n/intl_pt_PT.arb @@ -3330,7 +3330,7 @@ "selectAll": "Selecionar tudo", "deselectAll": "Desmarcar tudo", "@@locale": "pt_PT", - "@@last_modified": "2026-01-27 14:02:54.292550", + "@@last_modified": "2026-01-28 11:22:25.268348", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11963,5 +11963,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Qual idioma você está aprendendo?", + "searchLanguagesHint": "Pesquise idiomas-alvo", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ro.arb b/lib/l10n/intl_ro.arb index 56b30d355..040b2eef8 100644 --- a/lib/l10n/intl_ro.arb +++ b/lib/l10n/intl_ro.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:25.277330", + "@@last_modified": "2026-01-28 11:21:55.514912", "about": "Despre", "@about": { "type": "String", @@ -11669,5 +11669,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Ce limbă înveți?", + "searchLanguagesHint": "Caută limbi țintă", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index ecf7836b4..e4210d833 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -1,6 +1,6 @@ { "@@locale": "ru", - "@@last_modified": "2026-01-27 14:03:22.446889", + "@@last_modified": "2026-01-28 11:22:52.811123", "about": "О проекте", "@about": { "type": "String", @@ -11042,5 +11042,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Какой язык вы изучаете?", + "searchLanguagesHint": "Поиск целевых языков", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sk.arb b/lib/l10n/intl_sk.arb index c504483f2..251bccf24 100644 --- a/lib/l10n/intl_sk.arb +++ b/lib/l10n/intl_sk.arb @@ -1,6 +1,6 @@ { "@@locale": "sk", - "@@last_modified": "2026-01-27 14:02:27.134602", + "@@last_modified": "2026-01-28 11:21:56.691598", "about": "O aplikácii", "@about": { "type": "String", @@ -12018,5 +12018,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Aký jazyk sa učíte?", + "searchLanguagesHint": "Hľadajte cieľové jazyky", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sl.arb b/lib/l10n/intl_sl.arb index 005e74f65..af6bf03c8 100644 --- a/lib/l10n/intl_sl.arb +++ b/lib/l10n/intl_sl.arb @@ -2463,7 +2463,7 @@ "playWithAI": "Za zdaj igrajte z AI-jem", "courseStartDesc": "Pangea Bot je pripravljen kadarkoli!\n\n...ampak je bolje učiti se s prijatelji!", "@@locale": "sl", - "@@last_modified": "2026-01-27 14:02:41.198883", + "@@last_modified": "2026-01-28 11:22:12.982879", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12015,5 +12015,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Katero jezika se učiš?", + "searchLanguagesHint": "Išči ciljne jezike", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sr.arb b/lib/l10n/intl_sr.arb index b7ee563f9..de0464130 100644 --- a/lib/l10n/intl_sr.arb +++ b/lib/l10n/intl_sr.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:24.807506", + "@@last_modified": "2026-01-28 11:22:55.286222", "about": "О програму", "@about": { "type": "String", @@ -12036,5 +12036,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Koji jezik učite?", + "searchLanguagesHint": "Pretraži ciljne jezike", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sv.arb b/lib/l10n/intl_sv.arb index 3c152a834..727f3bcff 100644 --- a/lib/l10n/intl_sv.arb +++ b/lib/l10n/intl_sv.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:15.575050", + "@@last_modified": "2026-01-28 11:22:46.768605", "about": "Om", "@about": { "type": "String", @@ -11412,5 +11412,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Vilket språk lär du dig?", + "searchLanguagesHint": "Sök efter målspråk", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ta.arb b/lib/l10n/intl_ta.arb index 67a9812e1..019abe378 100644 --- a/lib/l10n/intl_ta.arb +++ b/lib/l10n/intl_ta.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:07.633079", + "@@last_modified": "2026-01-28 11:22:37.250743", "acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது", "@acceptedTheInvitation": { "type": "String", @@ -11158,5 +11158,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "நீங்கள் எது மொழி கற்றுக்கொள்கிறீர்கள்?", + "searchLanguagesHint": "இலக்கு மொழிகளை தேடுங்கள்", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_te.arb b/lib/l10n/intl_te.arb index e57e4694d..48f1f7b0c 100644 --- a/lib/l10n/intl_te.arb +++ b/lib/l10n/intl_te.arb @@ -1919,7 +1919,7 @@ "playWithAI": "ఇప్పుడే AI తో ఆడండి", "courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!", "@@locale": "te", - "@@last_modified": "2026-01-27 14:03:02.156703", + "@@last_modified": "2026-01-28 11:22:33.163067", "@setCustomPermissionLevel": { "type": "String", "placeholders": {} @@ -12023,5 +12023,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "మీరు ఏ భాష నేర్చుకుంటున్నారు?", + "searchLanguagesHint": "లక్ష్య భాషలను శోధించండి", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_th.arb b/lib/l10n/intl_th.arb index 7cd2bc089..3b408adaa 100644 --- a/lib/l10n/intl_th.arb +++ b/lib/l10n/intl_th.arb @@ -4455,7 +4455,7 @@ "playWithAI": "เล่นกับ AI ชั่วคราว", "courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!", "@@locale": "th", - "@@last_modified": "2026-01-27 14:02:53.265962", + "@@last_modified": "2026-01-28 11:22:23.457945", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11992,5 +11992,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "คุณกำลังเรียนภาษาอะไรอยู่?", + "searchLanguagesHint": "ค้นหาภาษาที่ต้องการ", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index a9e48865c..674059505 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -1,6 +1,6 @@ { "@@locale": "tr", - "@@last_modified": "2026-01-27 14:03:00.927147", + "@@last_modified": "2026-01-28 11:22:31.719920", "about": "Hakkında", "@about": { "type": "String", @@ -11156,5 +11156,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Hangi dili öğreniyorsunuz?", + "searchLanguagesHint": "Hedef dilleri arayın", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_uk.arb b/lib/l10n/intl_uk.arb index c9dec7183..035827df0 100644 --- a/lib/l10n/intl_uk.arb +++ b/lib/l10n/intl_uk.arb @@ -1,6 +1,6 @@ { "@@locale": "uk", - "@@last_modified": "2026-01-27 14:02:45.151936", + "@@last_modified": "2026-01-28 11:22:17.132130", "about": "Про застосунок", "@about": { "type": "String", @@ -10928,5 +10928,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Яку мову ви вивчаєте?", + "searchLanguagesHint": "Шукати цільові мови", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_vi.arb b/lib/l10n/intl_vi.arb index 09877a61a..a34bac973 100644 --- a/lib/l10n/intl_vi.arb +++ b/lib/l10n/intl_vi.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:03:06.468185", + "@@last_modified": "2026-01-28 11:22:35.606622", "about": "Giới thiệu", "@about": { "type": "String", @@ -6504,5 +6504,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "Bạn đang học ngôn ngữ nào?", + "searchLanguagesHint": "Tìm kiếm ngôn ngữ mục tiêu", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_yue.arb b/lib/l10n/intl_yue.arb index b32ac2bfb..851faa12c 100644 --- a/lib/l10n/intl_yue.arb +++ b/lib/l10n/intl_yue.arb @@ -1855,7 +1855,7 @@ "selectAll": "全選", "deselectAll": "取消全選", "@@locale": "yue", - "@@last_modified": "2026-01-27 14:02:42.486712", + "@@last_modified": "2026-01-28 11:22:14.017616", "@ignoreUser": { "type": "String", "placeholders": {} @@ -12025,5 +12025,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "你正在學習什麼語言?", + "searchLanguagesHint": "搜尋目標語言", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index 2ebdcb6bc..3b3251ebe 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -1,6 +1,6 @@ { "@@locale": "zh", - "@@last_modified": "2026-01-27 14:03:10.872296", + "@@last_modified": "2026-01-28 11:22:40.631434", "about": "关于", "@about": { "type": "String", @@ -10925,5 +10925,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "你正在学习什么语言?", + "searchLanguagesHint": "搜索目标语言", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_zh_Hant.arb b/lib/l10n/intl_zh_Hant.arb index c8658333c..c56b58a75 100644 --- a/lib/l10n/intl_zh_Hant.arb +++ b/lib/l10n/intl_zh_Hant.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-27 14:02:55.518251", + "@@last_modified": "2026-01-28 11:22:26.284769", "about": "關於", "@about": { "type": "String", @@ -10932,5 +10932,15 @@ "@newCourseAccess": { "type": "String", "placeholders": {} + }, + "onboardingLanguagesTitle": "你正在學習什麼語言?", + "searchLanguagesHint": "搜尋目標語言", + "@onboardingLanguagesTitle": { + "type": "String", + "placeholders": {} + }, + "@searchLanguagesHint": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 175bd9275..abf42cc51 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -2015,18 +2015,6 @@ class ChatController extends State bool get _isToolbarOpen => MatrixState.pAnyState.isOverlayOpen(RegExp(r'^message_toolbar_overlay$')); - bool showMessageShimmer(Event event) { - if (event.type != EventTypes.Message) return false; - if (!(event.eventId == buttonEventID)) return false; - if (event.messageType == MessageTypes.Text) { - return !InstructionsEnum.clickTextMessages.isToggledOff; - } - if (event.messageType == MessageTypes.Audio) { - return !InstructionsEnum.clickAudioMessages.isToggledOff; - } - return false; - } - void showToolbar( Event event, { PangeaMessageEvent? pangeaMessageEvent, @@ -2059,14 +2047,11 @@ class ChatController extends State ); // you've clicked a message so lets turn this off - InstructionsEnum.clickMessage.setToggledOff(true); - if (event.messageType == MessageTypes.Text && - !InstructionsEnum.clickTextMessages.isToggledOff) { - InstructionsEnum.clickTextMessages.setToggledOff(true); + if (!InstructionsEnum.clickMessage.isToggledOff) { + InstructionsEnum.clickMessage.setToggledOff(true); } - if (event.messageType == MessageTypes.Audio && - !InstructionsEnum.clickAudioMessages.isToggledOff) { - InstructionsEnum.clickAudioMessages.setToggledOff(true); + if (!InstructionsEnum.shimmerNewToken.isToggledOff) { + InstructionsEnum.shimmerNewToken.setToggledOff(true); } if (!kIsWeb) { diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index 78a5149a5..b6d8da92a 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -11,8 +11,10 @@ import 'package:matrix/matrix.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pages/chat/chat.dart'; +import 'package:fluffychat/pangea/common/widgets/shimmer_background.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; +import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; import 'package:fluffychat/pangea/toolbar/layout/reading_assistance_mode_enum.dart'; import 'package:fluffychat/pangea/toolbar/message_practice/message_practice_mode_enum.dart'; import 'package:fluffychat/pangea/toolbar/message_practice/token_practice_button.dart'; @@ -446,6 +448,10 @@ class HtmlMessage extends StatelessWidget { : false; final isNew = token != null && newTokens.contains(token.text); + final isFirstNewToken = isNew && newTokens.first == token.text; + final showShimmer = + !InstructionsEnum.shimmerNewToken.isToggledOff && isFirstNewToken; + final tokenWidth = renderer.tokenTextWidthForContainer( node.text, Theme.of(context).colorScheme.primary.withAlpha(200), @@ -500,19 +506,25 @@ class HtmlMessage extends StatelessWidget { : null, child: HoverBuilder( builder: (context, hovered) { - return UnderlineText( - text: node.text.trim(), - style: existingStyle, - linkStyle: linkStyle, - textDirection: pangeaMessageEvent?.textDirection, - underlineColor: TokenRenderingUtil.underlineColor( - underlineColor, - selected: selected, - highlighted: highlighted, - isNew: isNew, - practiceMode: readingAssistanceMode == - ReadingAssistanceMode.practiceMode, - hovered: hovered, + return ShimmerBackground( + enabled: showShimmer, + borderRadius: BorderRadius.circular(4.0), + child: UnderlineText( + text: node.text.trim(), + style: existingStyle, + linkStyle: linkStyle, + textDirection: + pangeaMessageEvent?.textDirection, + underlineColor: + TokenRenderingUtil.underlineColor( + underlineColor, + selected: selected, + highlighted: highlighted, + isNew: isNew, + practiceMode: readingAssistanceMode == + ReadingAssistanceMode.practiceMode, + hovered: hovered, + ), ), ); }, diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index 12ec81504..d4ee1d5c1 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -17,7 +17,6 @@ import 'package:fluffychat/pangea/bot/utils/bot_name.dart'; import 'package:fluffychat/pangea/bot/widgets/bot_settings_language_icon.dart'; import 'package:fluffychat/pangea/chat/extensions/custom_room_display_extension.dart'; import 'package:fluffychat/pangea/common/widgets/pressable_button.dart'; -import 'package:fluffychat/pangea/common/widgets/shimmer_background.dart'; import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/utils/date_time_extension.dart'; @@ -603,228 +602,223 @@ class Message extends StatelessWidget { child: ValueListenableBuilder( valueListenable: controller .depressMessageButton, - // #Pangea - child: ShimmerBackground( - enabled: controller - .showMessageShimmer( - event, + + child: Container( + decoration: BoxDecoration( + color: noBubble + ? Colors.transparent + : color, + borderRadius: + borderRadius, ), - // Pangea# - child: Container( - decoration: - BoxDecoration( - color: noBubble - ? Colors - .transparent - : color, - borderRadius: - borderRadius, - ), - clipBehavior: - Clip.antiAlias, - // #Pangea - child: - CompositedTransformTarget( - link: MatrixState + clipBehavior: + Clip.antiAlias, + // #Pangea + child: + CompositedTransformTarget( + link: MatrixState + .pAnyState + .layerLinkAndKey( + event.eventId, + ) + .link, + // child: BubbleBackground( + // colors: colors, + // ignore: noBubble || !ownMessage, + // scrollController: scrollController, + // Pangea# + child: Container( + // #Pangea + key: MatrixState .pAnyState .layerLinkAndKey( event.eventId, ) - .link, - // child: BubbleBackground( - // colors: colors, - // ignore: noBubble || !ownMessage, - // scrollController: scrollController, + .key, // Pangea# - child: Container( - // #Pangea - key: MatrixState - .pAnyState - .layerLinkAndKey( - event.eventId, - ) - .key, - // Pangea# - decoration: - BoxDecoration( - borderRadius: - BorderRadius - .circular( - AppConfig - .borderRadius, - ), + decoration: + BoxDecoration( + borderRadius: + BorderRadius + .circular( + AppConfig + .borderRadius, ), - constraints: - const BoxConstraints( - maxWidth: FluffyThemes - .columnWidth * - 1.5, - ), - child: Column( - mainAxisSize: - MainAxisSize - .min, - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - if ({ - RelationshipTypes - .reply, - RelationshipTypes - .thread, - }.contains( - event - .relationshipType, - )) - FutureBuilder< - Event?>( - future: event - .getReplyEvent( - timeline, - ), - builder: ( - BuildContext - context, - snapshot, - ) { - final replyEvent = snapshot - .hasData - ? snapshot - .data! - : Event( - eventId: event.relationshipEventId!, - content: { - 'msgtype': 'm.text', - 'body': '...', - }, - // #Pangea - // senderId: event - // .senderId, - senderId: "", - // Pangea# - type: 'm.room.message', - room: event.room, - status: EventStatus.sent, - originServerTs: DateTime.now(), - ); - return Padding( - padding: - const EdgeInsets.only( - left: - 16, - right: - 16, - top: - 8, - ), + ), + constraints: + const BoxConstraints( + maxWidth: FluffyThemes + .columnWidth * + 1.5, + ), + child: Column( + mainAxisSize: + MainAxisSize + .min, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + if ({ + RelationshipTypes + .reply, + RelationshipTypes + .thread, + }.contains( + event + .relationshipType, + )) + FutureBuilder< + Event?>( + future: event + .getReplyEvent( + timeline, + ), + builder: ( + BuildContext + context, + snapshot, + ) { + final replyEvent = snapshot + .hasData + ? snapshot + .data! + : Event( + eventId: + event.relationshipEventId!, + content: { + 'msgtype': 'm.text', + 'body': '...', + }, + // #Pangea + // senderId: event + // .senderId, + senderId: + "", + // Pangea# + type: + 'm.room.message', + room: + event.room, + status: + EventStatus.sent, + originServerTs: + DateTime.now(), + ); + return Padding( + padding: + const EdgeInsets + .only( + left: + 16, + right: + 16, + top: 8, + ), + child: + Material( + color: Colors + .transparent, + borderRadius: + ReplyContent.borderRadius, child: - Material( - color: - Colors.transparent, + InkWell( borderRadius: ReplyContent.borderRadius, + onTap: () => + scrollToEventId( + replyEvent.eventId, + ), child: - InkWell( - borderRadius: - ReplyContent.borderRadius, - onTap: () => - scrollToEventId( - replyEvent.eventId, - ), + AbsorbPointer( child: - AbsorbPointer( - child: ReplyContent( - replyEvent, - ownMessage: ownMessage, - timeline: timeline, - ), + ReplyContent( + replyEvent, + ownMessage: ownMessage, + timeline: timeline, ), ), ), - ); - }, - ), - MessageContent( - displayEvent, - textColor: - textColor, - linkColor: - linkColor, - onInfoTab: - onInfoTab, - borderRadius: - borderRadius, - timeline: - timeline, - selected: - selected, - // #Pangea - pangeaMessageEvent: - pangeaMessageEvent, - controller: - controller, - nextEvent: - nextEvent, - prevEvent: - previousEvent, - // Pangea# + ), + ); + }, ), - if (event - .hasAggregatedEvents( - timeline, - RelationshipTypes - .edit, - )) - Padding( - padding: - const EdgeInsets - .only( - bottom: - 8.0, - left: - 16.0, - right: - 16.0, - ), - child: Row( - mainAxisSize: - MainAxisSize - .min, - spacing: - 4.0, - children: [ - Icon( - Icons - .edit_outlined, + MessageContent( + displayEvent, + textColor: + textColor, + linkColor: + linkColor, + onInfoTab: + onInfoTab, + borderRadius: + borderRadius, + timeline: + timeline, + selected: + selected, + // #Pangea + pangeaMessageEvent: + pangeaMessageEvent, + controller: + controller, + nextEvent: + nextEvent, + prevEvent: + previousEvent, + // Pangea# + ), + if (event + .hasAggregatedEvents( + timeline, + RelationshipTypes + .edit, + )) + Padding( + padding: + const EdgeInsets + .only( + bottom: 8.0, + left: 16.0, + right: 16.0, + ), + child: Row( + mainAxisSize: + MainAxisSize + .min, + spacing: + 4.0, + children: [ + Icon( + Icons + .edit_outlined, + color: textColor + .withAlpha( + 164, + ), + size: + 14, + ), + Text( + displayEvent + .originServerTs + .localizedTimeShort( + context, + ), + style: + TextStyle( color: textColor.withAlpha( 164, ), - size: - 14, + fontSize: + 11, ), - Text( - displayEvent - .originServerTs - .localizedTimeShort( - context, - ), - style: - TextStyle( - color: - textColor.withAlpha( - 164, - ), - fontSize: - 11, - ), - ), - ], - ), + ), + ], ), - ], - ), + ), + ], ), ), ), diff --git a/lib/pangea/common/widgets/shimmer_background.dart b/lib/pangea/common/widgets/shimmer_background.dart index 86b7cd49e..e3f5b83c7 100644 --- a/lib/pangea/common/widgets/shimmer_background.dart +++ b/lib/pangea/common/widgets/shimmer_background.dart @@ -22,30 +22,33 @@ class ShimmerBackground extends StatelessWidget { @override Widget build(BuildContext context) { + if (!enabled) { + return child; + } + final borderRadius = this.borderRadius ?? BorderRadius.circular(AppConfig.borderRadius); return Stack( children: [ child, - if (enabled) - Positioned.fill( - child: IgnorePointer( - child: ClipRRect( - borderRadius: borderRadius, - child: Shimmer.fromColors( - baseColor: baseColor ?? shimmerColor.withValues(alpha: 0.1), - highlightColor: shimmerColor.withValues(alpha: 0.6), - direction: ShimmerDirection.ltr, - child: Container( - decoration: BoxDecoration( - color: shimmerColor.withValues(alpha: 0.3), - borderRadius: borderRadius, - ), + Positioned.fill( + child: IgnorePointer( + child: ClipRRect( + borderRadius: borderRadius, + child: Shimmer.fromColors( + baseColor: baseColor ?? shimmerColor.withValues(alpha: 0.1), + highlightColor: shimmerColor.withValues(alpha: 0.6), + direction: ShimmerDirection.ltr, + child: Container( + decoration: BoxDecoration( + color: shimmerColor.withValues(alpha: 0.3), + borderRadius: borderRadius, ), ), ), ), ), + ), ], ); } diff --git a/lib/pangea/instructions/instructions_enum.dart b/lib/pangea/instructions/instructions_enum.dart index a86c9d1a8..a3cecfcdc 100644 --- a/lib/pangea/instructions/instructions_enum.dart +++ b/lib/pangea/instructions/instructions_enum.dart @@ -32,9 +32,9 @@ enum InstructionsEnum { setLemmaEmoji, disableLanguageTools, selectMeaning, - clickTextMessages, - clickAudioMessages, dismissSupportChat, + shimmerNewToken, + shimmerTranslation, } extension InstructionsEnumExtension on InstructionsEnum { @@ -66,9 +66,9 @@ extension InstructionsEnumExtension on InstructionsEnum { case InstructionsEnum.noSavedActivitiesYet: case InstructionsEnum.setLemmaEmoji: case InstructionsEnum.disableLanguageTools: - case InstructionsEnum.clickTextMessages: - case InstructionsEnum.clickAudioMessages: case InstructionsEnum.dismissSupportChat: + case InstructionsEnum.shimmerNewToken: + case InstructionsEnum.shimmerTranslation: ErrorHandler.logError( e: Exception("No title for this instruction"), m: 'InstructionsEnumExtension.title', @@ -130,9 +130,9 @@ extension InstructionsEnumExtension on InstructionsEnum { case InstructionsEnum.noSavedActivitiesYet: return l10n.noSavedActivitiesYet; case InstructionsEnum.setLemmaEmoji: - case InstructionsEnum.clickTextMessages: - case InstructionsEnum.clickAudioMessages: case InstructionsEnum.dismissSupportChat: + case InstructionsEnum.shimmerNewToken: + case InstructionsEnum.shimmerTranslation: return ""; case InstructionsEnum.disableLanguageTools: return l10n.disableLanguageToolsDesc; diff --git a/lib/pangea/login/pages/language_selection_page.dart b/lib/pangea/login/pages/language_selection_page.dart index fad33f3fd..e86b55bbd 100644 --- a/lib/pangea/login/pages/language_selection_page.dart +++ b/lib/pangea/login/pages/language_selection_page.dart @@ -4,6 +4,7 @@ import 'package:go_router/go_router.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/l10n/l10n.dart'; +import 'package:fluffychat/pangea/common/widgets/shimmer_background.dart'; import 'package:fluffychat/pangea/languages/language_model.dart'; import 'package:fluffychat/pangea/languages/language_service.dart'; import 'package:fluffychat/pangea/languages/p_language_store.dart'; @@ -102,7 +103,24 @@ class LanguageSelectionPageState extends State { return Scaffold( appBar: AppBar( - title: Text(L10n.of(context).languages), + title: ConstrainedBox( + constraints: const BoxConstraints( + maxWidth: 450, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + BackButton( + onPressed: Navigator.of(context).pop, + ), + Text(L10n.of(context).onboardingLanguagesTitle), + const SizedBox( + width: 40.0, + ), + ], + ), + ), + automaticallyImplyLeading: false, ), body: SafeArea( child: Center( @@ -121,6 +139,7 @@ class LanguageSelectionPageState extends State { border: OutlineInputBorder( borderRadius: BorderRadius.circular(50), ), + hintText: L10n.of(context).searchLanguagesHint, ), ), Expanded( @@ -153,27 +172,38 @@ class LanguageSelectionPageState extends State { ), ) .map( - (l) => FilterChip( - selected: _selectedLanguage == l, - backgroundColor: - _selectedLanguage == l - ? theme.colorScheme.primary - : theme.colorScheme.surface, - padding: const EdgeInsets.symmetric( - horizontal: 8.0, - vertical: 4.0, + (l) => ShimmerBackground( + enabled: _selectedLanguage == null, + borderRadius: const BorderRadius.all( + Radius.circular(16.0), ), - label: Text( - l.getDisplayName(context), - style: isColumnMode - ? theme.textTheme.bodyLarge - : theme.textTheme.bodyMedium, + child: FilterChip( + selected: _selectedLanguage == l, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(16.0), + ), + ), + backgroundColor: + _selectedLanguage == l + ? theme.colorScheme.primary + : theme.colorScheme.surface, + padding: const EdgeInsets.symmetric( + horizontal: 8.0, + vertical: 4.0, + ), + label: Text( + l.getDisplayName(context), + style: isColumnMode + ? theme.textTheme.bodyLarge + : theme.textTheme.bodyMedium, + ), + onSelected: (selected) { + _setSelectedLanguage( + selected ? l : null, + ); + }, ), - onSelected: (selected) { - _setSelectedLanguage( - selected ? l : null, - ); - }, ), ) .toList(), @@ -220,23 +250,24 @@ class LanguageSelectionPageState extends State { ) : const SizedBox(), ), - Text( - L10n.of(context).chooseLanguage, - style: theme.textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, - ), - ), - ElevatedButton( - onPressed: _selectedLanguage != null ? _submit : null, - style: ElevatedButton.styleFrom( - backgroundColor: theme.colorScheme.primaryContainer, - foregroundColor: theme.colorScheme.onPrimaryContainer, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text(L10n.of(context).letsGo), - ], + ShimmerBackground( + enabled: _selectedLanguage != null, + borderRadius: BorderRadius.circular(24.0), + child: ElevatedButton( + onPressed: _selectedLanguage != null ? _submit : null, + style: ElevatedButton.styleFrom( + backgroundColor: theme.colorScheme.primaryContainer, + foregroundColor: theme.colorScheme.onPrimaryContainer, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24.0), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(L10n.of(context).letsGo), + ], + ), ), ), ], diff --git a/lib/pangea/toolbar/reading_assistance/select_mode_buttons.dart b/lib/pangea/toolbar/reading_assistance/select_mode_buttons.dart index 1a43815e8..8d0f9f201 100644 --- a/lib/pangea/toolbar/reading_assistance/select_mode_buttons.dart +++ b/lib/pangea/toolbar/reading_assistance/select_mode_buttons.dart @@ -15,9 +15,11 @@ import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pages/chat/events/audio_player.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/common/widgets/pressable_button.dart'; +import 'package:fluffychat/pangea/common/widgets/shimmer_background.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/events/extensions/pangea_event_extension.dart'; import 'package:fluffychat/pangea/events/utils/report_message.dart'; +import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; import 'package:fluffychat/pangea/text_to_speech/tts_controller.dart'; import 'package:fluffychat/pangea/toolbar/message_practice/message_audio_card.dart'; import 'package:fluffychat/pangea/toolbar/message_selection_overlay.dart'; @@ -214,6 +216,9 @@ class SelectModeButtonsState extends State { } if (updatedMode == SelectMode.translate) { + if (!InstructionsEnum.shimmerTranslation.isToggledOff) { + InstructionsEnum.shimmerTranslation.setToggledOff(true); + } await controller.fetchTranslation(); } @@ -423,25 +428,31 @@ class SelectModeButtonsState extends State { colorFactor: theme.brightness == Brightness.light ? 0.55 : 0.3, builder: (context, depressed, shadowColor) => - AnimatedContainer( - duration: FluffyThemes.animationDuration, - height: buttonSize, - width: buttonSize, - decoration: BoxDecoration( - color: depressed - ? shadowColor - : theme.colorScheme.primaryContainer, - shape: BoxShape.circle, - ), - child: ValueListenableBuilder( - valueListenable: _isPlayingNotifier, - builder: (context, playing, __) => - _SelectModeButtonIcon( - mode: mode, - loading: controller.isLoading && - mode == selectedMode, - playing: mode == SelectMode.audio && playing, - color: theme.colorScheme.onPrimaryContainer, + ShimmerBackground( + enabled: !InstructionsEnum + .shimmerTranslation.isToggledOff && + mode == SelectMode.translate, + borderRadius: BorderRadius.circular(100), + child: AnimatedContainer( + duration: FluffyThemes.animationDuration, + height: buttonSize, + width: buttonSize, + decoration: BoxDecoration( + color: depressed + ? shadowColor + : theme.colorScheme.primaryContainer, + shape: BoxShape.circle, + ), + child: ValueListenableBuilder( + valueListenable: _isPlayingNotifier, + builder: (context, playing, __) => + _SelectModeButtonIcon( + mode: mode, + loading: controller.isLoading && + mode == selectedMode, + playing: mode == SelectMode.audio && playing, + color: theme.colorScheme.onPrimaryContainer, + ), ), ), ),