diff --git a/lib/l10n/intl_ar.arb b/lib/l10n/intl_ar.arb index a66d51b78..c71d4f82c 100644 --- a/lib/l10n/intl_ar.arb +++ b/lib/l10n/intl_ar.arb @@ -1,6 +1,6 @@ { "@@locale": "ar", - "@@last_modified": "2026-01-05 16:38:13.770707", + "@@last_modified": "2026-01-06 13:02:07.966839", "about": "حول", "@about": { "type": "String", @@ -10947,5 +10947,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "الأنشطة لفتح الموضوع التالي", + "activitiesToUnlockTopicDesc": "حدد عدد الأنشطة لفتح موضوع الدورة التالي", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_be.arb b/lib/l10n/intl_be.arb index 51a7e28f4..5bd6f5ac8 100644 --- a/lib/l10n/intl_be.arb +++ b/lib/l10n/intl_be.arb @@ -1911,7 +1911,7 @@ "playWithAI": "Пакуль гуляйце з ШІ", "courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!", "@@locale": "be", - "@@last_modified": "2026-01-05 16:38:05.473989", + "@@last_modified": "2026-01-06 13:01:53.730932", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11829,5 +11829,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Дзеянні для адкрыцця наступнай тэмы", + "activitiesToUnlockTopicDesc": "Усталюйце колькасць дзеянняў для адкрыцця наступнай тэмы курса", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_bn.arb b/lib/l10n/intl_bn.arb index 4b47d101b..52a3ffdfe 100644 --- a/lib/l10n/intl_bn.arb +++ b/lib/l10n/intl_bn.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:23.798517", + "@@last_modified": "2026-01-06 13:02:28.649450", "about": "সম্পর্কে", "@about": { "type": "String", @@ -11834,5 +11834,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "পরবর্তী বিষয় উন্মুক্ত করার জন্য কার্যক্রম", + "activitiesToUnlockTopicDesc": "পরবর্তী কোর্স বিষয় উন্মুক্ত করার জন্য কার্যক্রমের সংখ্যা নির্ধারণ করুন", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_bo.arb b/lib/l10n/intl_bo.arb index 75226fd30..fab9cf1aa 100644 --- a/lib/l10n/intl_bo.arb +++ b/lib/l10n/intl_bo.arb @@ -4279,7 +4279,7 @@ "joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།", "startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།", "@@locale": "bo", - "@@last_modified": "2026-01-05 16:38:21.732804", + "@@last_modified": "2026-01-06 13:02:23.320520", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -10484,5 +10484,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktiviteti për të Çliruar Temën Tjetër", + "activitiesToUnlockTopicDesc": "Caktoni numrin e aktiviteteve për të çliruar temën tjetër të kursit", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ca.arb b/lib/l10n/intl_ca.arb index 3011680a1..9026e25af 100644 --- a/lib/l10n/intl_ca.arb +++ b/lib/l10n/intl_ca.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:06.597232", + "@@last_modified": "2026-01-06 13:01:55.665527", "about": "Quant a", "@about": { "type": "String", @@ -10754,5 +10754,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Activitats per Desbloquejar el Proper Tema", + "activitiesToUnlockTopicDesc": "Estableix el nombre d'activitats per desbloquejar el proper tema del curs", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_cs.arb b/lib/l10n/intl_cs.arb index ac409eb21..853e56cb6 100644 --- a/lib/l10n/intl_cs.arb +++ b/lib/l10n/intl_cs.arb @@ -1,6 +1,6 @@ { "@@locale": "cs", - "@@last_modified": "2026-01-05 16:38:03.220672", + "@@last_modified": "2026-01-06 13:01:46.866113", "about": "O aplikaci", "@about": { "type": "String", @@ -11337,5 +11337,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivity k odemčení dalšího tématu", + "activitiesToUnlockTopicDesc": "Nastavte počet aktivit k odemčení dalšího tématu kurzu", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_da.arb b/lib/l10n/intl_da.arb index ef251601a..03b51e366 100644 --- a/lib/l10n/intl_da.arb +++ b/lib/l10n/intl_da.arb @@ -1930,7 +1930,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-05 16:37:42.228072", + "@@last_modified": "2026-01-06 13:01:06.115252", "@aboutHomeserver": { "type": "String", "placeholders": { @@ -11791,5 +11791,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktiviteter til at låse op for næste emne", + "activitiesToUnlockTopicDesc": "Indstil antallet af aktiviteter for at låse op for det næste kursusemne", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index d47eedcae..935e22f63 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -1,6 +1,6 @@ { "@@locale": "de", - "@@last_modified": "2026-01-05 16:37:56.618492", + "@@last_modified": "2026-01-06 13:01:34.264308", "alwaysUse24HourFormat": "true", "@alwaysUse24HourFormat": { "description": "Set to true to always display time of day in 24 hour format." @@ -10737,5 +10737,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivitäten zum Freischalten des nächsten Themas", + "activitiesToUnlockTopicDesc": "Legen Sie die Anzahl der Aktivitäten fest, um das nächste Kursthema freizuschalten", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_el.arb b/lib/l10n/intl_el.arb index e6f184a38..11966251c 100644 --- a/lib/l10n/intl_el.arb +++ b/lib/l10n/intl_el.arb @@ -4456,7 +4456,7 @@ "playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν", "courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!", "@@locale": "el", - "@@last_modified": "2026-01-05 16:38:28.703056", + "@@last_modified": "2026-01-06 13:02:36.159093", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11788,5 +11788,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Δραστηριότητες για Ξεκλείδωμα Επόμενου Θέματος", + "activitiesToUnlockTopicDesc": "Ορίστε τον αριθμό των δραστηριοτήτων για να ξεκλειδώσετε το επόμενο θέμα του μαθήματος", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 7be81eb69..d05b4c408 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -5015,5 +5015,16 @@ "disableLanguageToolsDesc": "Would you like to disable automatic language assistance?", "recordingPermissionDenied": "Permission denied. Enable recording permissions to record audio messages.", "genericWebRecordingError": "Something went wrong. We recommend using the Chrome browser when recording messages.", - "screenSizeWarning": "For the best experience using this application, please expand your screen size." + "screenSizeWarning": "For the best experience using this application, please expand your screen size.", + "noSavedActivitiesYet": "Activities will appear here once they are completed and saved.", + "practiceActivityCompleted": "Practice activity completed", + "changeCourse": "Change course", + "changeCourseDesc": "Here you can change this course's course plan.", + "introChatTitle": "Create Introductions Chat", + "introChatDesc": "Anyone in the space can post.", + "announcementsChatTitle": "Announcements Chat", + "announcementsChatDesc": "Only space admin can post.", + "inOngoingActivity": "You have an ongoing activity!", + "activitiesToUnlockTopicTitle": "Activities to Unlock Next Topic", + "activitiesToUnlockTopicDesc": "Set the number of activities to unlock the next course topic" } diff --git a/lib/l10n/intl_eo.arb b/lib/l10n/intl_eo.arb index bca0f4463..2723baaa3 100644 --- a/lib/l10n/intl_eo.arb +++ b/lib/l10n/intl_eo.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:33.016786", + "@@last_modified": "2026-01-06 13:02:41.310107", "about": "Prio", "@about": { "type": "String", @@ -11819,5 +11819,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivecoj por Malŝlosi Sekvan Temon", + "activitiesToUnlockTopicDesc": "Agordu la nombron de aktivecoj por malŝlosi la sekvan kurson", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index 42de6fe6b..de9e066c9 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -1,6 +1,6 @@ { "@@locale": "es", - "@@last_modified": "2026-01-05 16:37:39.035821", + "@@last_modified": "2026-01-06 13:00:57.006469", "about": "Acerca de", "@about": { "type": "String", @@ -7964,5 +7964,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Actividades para Desbloquear el Siguiente Tema", + "activitiesToUnlockTopicDesc": "Establecer el número de actividades para desbloquear el siguiente tema del curso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_et.arb b/lib/l10n/intl_et.arb index 194843921..1beabb712 100644 --- a/lib/l10n/intl_et.arb +++ b/lib/l10n/intl_et.arb @@ -1,6 +1,6 @@ { "@@locale": "et", - "@@last_modified": "2026-01-05 16:37:55.798786", + "@@last_modified": "2026-01-06 13:01:32.507692", "about": "Rakenduse teave", "@about": { "type": "String", @@ -11001,5 +11001,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Tegevused järgmise teema avamiseks", + "activitiesToUnlockTopicDesc": "Määrake tegevuste arv järgmise kursuse teema avamiseks", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_eu.arb b/lib/l10n/intl_eu.arb index 6c327cc83..355606a9f 100644 --- a/lib/l10n/intl_eu.arb +++ b/lib/l10n/intl_eu.arb @@ -1,6 +1,6 @@ { "@@locale": "eu", - "@@last_modified": "2026-01-05 16:37:53.798875", + "@@last_modified": "2026-01-06 13:01:29.144037", "about": "Honi buruz", "@about": { "type": "String", @@ -10730,5 +10730,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Hurrengo gaia irekitzeko jarduerak", + "activitiesToUnlockTopicDesc": "Hurrengo ikastaro gaia irekitzeko jardueren kopurua ezarri", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fa.arb b/lib/l10n/intl_fa.arb index a7bd04a72..71bae0880 100644 --- a/lib/l10n/intl_fa.arb +++ b/lib/l10n/intl_fa.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:24.728515", + "@@last_modified": "2026-01-06 13:02:30.390244", "repeatPassword": "تکرار رمزعبور", "@repeatPassword": {}, "about": "درباره", @@ -11462,5 +11462,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "فعالیت‌ها برای باز کردن موضوع بعدی", + "activitiesToUnlockTopicDesc": "تعداد فعالیت‌ها را برای باز کردن موضوع بعدی دوره تنظیم کنید", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fi.arb b/lib/l10n/intl_fi.arb index 42f4f8814..b68a81a29 100644 --- a/lib/l10n/intl_fi.arb +++ b/lib/l10n/intl_fi.arb @@ -4009,7 +4009,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-05 16:37:41.097310", + "@@last_modified": "2026-01-06 13:01:04.204663", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11353,5 +11353,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Toiminnot seuraavan aiheen avaamiseksi", + "activitiesToUnlockTopicDesc": "Aseta toimintojen määrä seuraavan kurssiaiheen avaamiseksi", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fil.arb b/lib/l10n/intl_fil.arb index 30a6bce9f..1dce7c4d1 100644 --- a/lib/l10n/intl_fil.arb +++ b/lib/l10n/intl_fil.arb @@ -2787,7 +2787,7 @@ "selectAll": "Piliin lahat", "deselectAll": "Huwag piliin lahat", "@@locale": "fil", - "@@last_modified": "2026-01-05 16:38:11.298437", + "@@last_modified": "2026-01-06 13:02:03.027217", "@setCustomPermissionLevel": { "type": "String", "placeholders": {} @@ -11706,5 +11706,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Mga Aktibidad upang I-unlock ang Susunod na Paksa", + "activitiesToUnlockTopicDesc": "Itakda ang bilang ng mga aktibidad upang i-unlock ang susunod na paksa ng kurso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 59e9b8f5a..1fecaba18 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -1,6 +1,6 @@ { "@@locale": "fr", - "@@last_modified": "2026-01-05 16:38:38.848549", + "@@last_modified": "2026-01-06 13:02:50.687446", "about": "À propos", "@about": { "type": "String", @@ -11054,5 +11054,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Activités à débloquer pour le prochain sujet", + "activitiesToUnlockTopicDesc": "Définissez le nombre d'activités pour débloquer le prochain sujet de cours", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ga.arb b/lib/l10n/intl_ga.arb index 33a218857..acfa1cacf 100644 --- a/lib/l10n/intl_ga.arb +++ b/lib/l10n/intl_ga.arb @@ -4517,7 +4517,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-05 16:38:37.925567", + "@@last_modified": "2026-01-06 13:02:48.899020", "@customReaction": { "type": "String", "placeholders": {} @@ -10728,5 +10728,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Gníomhaíochtaí le hOscail an Topaic Seo chugainn", + "activitiesToUnlockTopicDesc": "Socraigh an líon gníomhaíochtaí le hOscail an topaic chúrsa seo chugainn", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_gl.arb b/lib/l10n/intl_gl.arb index 9636698d3..f5b997d57 100644 --- a/lib/l10n/intl_gl.arb +++ b/lib/l10n/intl_gl.arb @@ -1,6 +1,6 @@ { "@@locale": "gl", - "@@last_modified": "2026-01-05 16:37:40.076175", + "@@last_modified": "2026-01-06 13:01:01.095511", "about": "Acerca de", "@about": { "type": "String", @@ -10727,5 +10727,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Actividades para Desbloquear o Próximo Tema", + "activitiesToUnlockTopicDesc": "Establece o número de actividades para desbloquear o próximo tema do curso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_he.arb b/lib/l10n/intl_he.arb index 7581d54be..a88fdccfe 100644 --- a/lib/l10n/intl_he.arb +++ b/lib/l10n/intl_he.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:37:50.615411", + "@@last_modified": "2026-01-06 13:01:22.903727", "about": "אודות", "@about": { "type": "String", @@ -11779,5 +11779,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "פעילויות לפתיחת נושא הבא", + "activitiesToUnlockTopicDesc": "קבע את מספר הפעילויות לפתיחת נושא הקורס הבא", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hi.arb b/lib/l10n/intl_hi.arb index 7954d3bbd..d1e3ca780 100644 --- a/lib/l10n/intl_hi.arb +++ b/lib/l10n/intl_hi.arb @@ -4483,7 +4483,7 @@ "playWithAI": "अभी के लिए एआई के साथ खेलें", "courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!", "@@locale": "hi", - "@@last_modified": "2026-01-05 16:38:31.274500", + "@@last_modified": "2026-01-06 13:02:39.726780", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11815,5 +11815,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "अगले विषय को अनलॉक करने के लिए गतिविधियाँ", + "activitiesToUnlockTopicDesc": "अगले पाठ्यक्रम विषय को अनलॉक करने के लिए गतिविधियों की संख्या निर्धारित करें", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hr.arb b/lib/l10n/intl_hr.arb index c1fbdaff6..b1fc1d5b7 100644 --- a/lib/l10n/intl_hr.arb +++ b/lib/l10n/intl_hr.arb @@ -1,6 +1,6 @@ { "@@locale": "hr", - "@@last_modified": "2026-01-05 16:37:49.277534", + "@@last_modified": "2026-01-06 13:01:21.058681", "about": "Informacije", "@about": { "type": "String", @@ -11102,5 +11102,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivnosti za otključavanje sljedeće teme", + "activitiesToUnlockTopicDesc": "Postavite broj aktivnosti za otključavanje sljedeće teme tečaja", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hu.arb b/lib/l10n/intl_hu.arb index 66d1ff0fd..4e245b293 100644 --- a/lib/l10n/intl_hu.arb +++ b/lib/l10n/intl_hu.arb @@ -1,6 +1,6 @@ { "@@locale": "hu", - "@@last_modified": "2026-01-05 16:37:43.701539", + "@@last_modified": "2026-01-06 13:01:08.359844", "about": "Névjegy", "@about": { "type": "String", @@ -10731,5 +10731,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Tevékenységek a következő téma feloldásához", + "activitiesToUnlockTopicDesc": "Állítsa be a tevékenységek számát a következő tanfolyam téma feloldásához", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ia.arb b/lib/l10n/intl_ia.arb index 601e22d73..fa0a17fd0 100644 --- a/lib/l10n/intl_ia.arb +++ b/lib/l10n/intl_ia.arb @@ -1958,7 +1958,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-05 16:37:51.436479", + "@@last_modified": "2026-01-06 13:01:24.542087", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11808,5 +11808,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Actividades para Desbloquear el Siguiente Tema", + "activitiesToUnlockTopicDesc": "Establecer el número de actividades para desbloquear el siguiente tema del curso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_id.arb b/lib/l10n/intl_id.arb index 9ad48be77..a56054886 100644 --- a/lib/l10n/intl_id.arb +++ b/lib/l10n/intl_id.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:37:44.683070", + "@@last_modified": "2026-01-06 13:01:11.059266", "setAsCanonicalAlias": "Atur sebagai alias utama", "@setAsCanonicalAlias": { "type": "String", @@ -10721,5 +10721,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Kegiatan untuk Membuka Topik Berikutnya", + "activitiesToUnlockTopicDesc": "Tentukan jumlah kegiatan untuk membuka topik kursus berikutnya", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ie.arb b/lib/l10n/intl_ie.arb index d7fc12423..5b2bb1da1 100644 --- a/lib/l10n/intl_ie.arb +++ b/lib/l10n/intl_ie.arb @@ -4372,7 +4372,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-05 16:37:48.179981", + "@@last_modified": "2026-01-06 13:01:17.481803", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11704,5 +11704,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Gníomhaíochtaí le hOscail an Conradh Nua", + "activitiesToUnlockTopicDesc": "Socraigh an líon gníomhaíochtaí le hOscail an chéad ábhar cúrsa", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index 37b561a81..2ebbede0d 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:00.729830", + "@@last_modified": "2026-01-06 13:01:39.801417", "about": "Informazioni", "@about": { "type": "String", @@ -10733,5 +10733,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Attività per sbloccare il prossimo argomento", + "activitiesToUnlockTopicDesc": "Imposta il numero di attività per sbloccare il prossimo argomento del corso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ja.arb b/lib/l10n/intl_ja.arb index 865a4cc87..6dd49cd70 100644 --- a/lib/l10n/intl_ja.arb +++ b/lib/l10n/intl_ja.arb @@ -1,6 +1,6 @@ { "@@locale": "ja", - "@@last_modified": "2026-01-05 16:38:29.839926", + "@@last_modified": "2026-01-06 13:02:37.951868", "about": "このアプリについて", "@about": { "type": "String", @@ -11520,5 +11520,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "次のトピックをアンロックするためのアクティビティ", + "activitiesToUnlockTopicDesc": "次のコーストピックをアンロックするためのアクティビティの数を設定します", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ka.arb b/lib/l10n/intl_ka.arb index 07d209c17..252d932be 100644 --- a/lib/l10n/intl_ka.arb +++ b/lib/l10n/intl_ka.arb @@ -2594,7 +2594,7 @@ "playWithAI": "ამ დროისთვის ითამაშეთ AI-თან", "courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!", "@@locale": "ka", - "@@last_modified": "2026-01-05 16:38:35.679503", + "@@last_modified": "2026-01-06 13:02:45.195897", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11760,5 +11760,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "აქტივობები შემდეგ თემაზე გადასასვლელად", + "activitiesToUnlockTopicDesc": "განსაზღვრეთ აქტივობების რაოდენობა, რათა გახსნათ შემდეგი კურსის თემა", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ko.arb b/lib/l10n/intl_ko.arb index 711ed3884..3ae3c064c 100644 --- a/lib/l10n/intl_ko.arb +++ b/lib/l10n/intl_ko.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:37:38.047396", + "@@last_modified": "2026-01-06 13:00:55.145584", "about": "소개", "@about": { "type": "String", @@ -10838,5 +10838,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "다음 주제를 잠금 해제할 활동", + "activitiesToUnlockTopicDesc": "다음 과정 주제를 잠금 해제할 활동 수를 설정하세요", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_lt.arb b/lib/l10n/intl_lt.arb index eed7a030b..2ad1c93f3 100644 --- a/lib/l10n/intl_lt.arb +++ b/lib/l10n/intl_lt.arb @@ -3861,7 +3861,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-05 16:38:17.264007", + "@@last_modified": "2026-01-06 13:02:14.517811", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11535,5 +11535,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Veiklos, kad atrakintumėte kitą temą", + "activitiesToUnlockTopicDesc": "Nustatykite veiklų skaičių, kad atrakintumėte kitą kurso temą", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_lv.arb b/lib/l10n/intl_lv.arb index 6f6fca3eb..5bfd85c8a 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-05 16:38:12.653109", + "@@last_modified": "2026-01-06 13:02:05.693062", "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", @@ -10716,5 +10716,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivitātes, lai atbloķētu nākamo tēmu", + "activitiesToUnlockTopicDesc": "Iestatiet aktivitāšu skaitu, lai atbloķētu nākamo kursa tēmu", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_nb.arb b/lib/l10n/intl_nb.arb index e6e9dd60c..a533a837c 100644 --- a/lib/l10n/intl_nb.arb +++ b/lib/l10n/intl_nb.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:04.551246", + "@@last_modified": "2026-01-06 13:01:49.200225", "about": "Om", "@about": { "type": "String", @@ -11823,5 +11823,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktiviteter for å låse opp neste emne", + "activitiesToUnlockTopicDesc": "Sett antall aktiviteter for å låse opp neste kurs emne", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_nl.arb b/lib/l10n/intl_nl.arb index 0b21d83d8..6e532c290 100644 --- a/lib/l10n/intl_nl.arb +++ b/lib/l10n/intl_nl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:20.626242", + "@@last_modified": "2026-01-06 13:02:20.252502", "about": "Over ons", "@about": { "type": "String", @@ -10730,5 +10730,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Activiteiten om het Volgende Onderwerp te Ontgrendelen", + "activitiesToUnlockTopicDesc": "Stel het aantal activiteiten in om het volgende cursusonderwerp te ontgrendelen", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index 550562c74..7f709ccc7 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -1,6 +1,6 @@ { "@@locale": "pl", - "@@last_modified": "2026-01-05 16:38:26.150302", + "@@last_modified": "2026-01-06 13:02:32.127346", "about": "O aplikacji", "@about": { "type": "String", @@ -10728,5 +10728,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktywności do odblokowania następnego tematu", + "activitiesToUnlockTopicDesc": "Ustaw liczbę aktywności do odblokowania następnego tematu kursu", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index f4b3c63b0..66e710572 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:37:54.720470", + "@@last_modified": "2026-01-06 13:01:30.651964", "copiedToClipboard": "Copiada para a área de transferência", "@copiedToClipboard": { "type": "String", @@ -11830,5 +11830,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Atividades para Desbloquear o Próximo Tópico", + "activitiesToUnlockTopicDesc": "Defina o número de atividades para desbloquear o próximo tópico do curso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "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 808f21756..f57a20e92 100644 --- a/lib/l10n/intl_pt_BR.arb +++ b/lib/l10n/intl_pt_BR.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:37:52.450718", + "@@last_modified": "2026-01-06 13:01:26.266378", "about": "Sobre", "@about": { "type": "String", @@ -11088,5 +11088,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Atividades para Desbloquear o Próximo Tópico", + "activitiesToUnlockTopicDesc": "Defina o número de atividades para desbloquear o próximo tópico do curso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "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 88ee119d7..f1a9d893a 100644 --- a/lib/l10n/intl_pt_PT.arb +++ b/lib/l10n/intl_pt_PT.arb @@ -3331,7 +3331,7 @@ "selectAll": "Selecionar tudo", "deselectAll": "Desmarcar tudo", "@@locale": "pt_PT", - "@@last_modified": "2026-01-05 16:38:09.051462", + "@@last_modified": "2026-01-06 13:01:59.189375", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11759,5 +11759,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Atividades para Desbloquear o Próximo Tópico", + "activitiesToUnlockTopicDesc": "Defina o número de atividades para desbloquear o próximo tópico do curso", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ro.arb b/lib/l10n/intl_ro.arb index 8103daa3c..a8c5a2465 100644 --- a/lib/l10n/intl_ro.arb +++ b/lib/l10n/intl_ro.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:37:45.672693", + "@@last_modified": "2026-01-06 13:01:12.939720", "about": "Despre", "@about": { "type": "String", @@ -11465,5 +11465,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Activități pentru deblocarea următorului subiect", + "activitiesToUnlockTopicDesc": "Stabilește numărul de activități pentru a debloca următorul subiect al cursului", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index 11917c5b7..f791c4603 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -1,6 +1,6 @@ { "@@locale": "ru", - "@@last_modified": "2026-01-05 16:38:34.147725", + "@@last_modified": "2026-01-06 13:02:42.875671", "about": "О проекте", "@about": { "type": "String", @@ -10835,5 +10835,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Деятельности для разблокировки следующей темы", + "activitiesToUnlockTopicDesc": "Установите количество действий для разблокировки следующей темы курса", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sk.arb b/lib/l10n/intl_sk.arb index 39cececfc..716ef0fcc 100644 --- a/lib/l10n/intl_sk.arb +++ b/lib/l10n/intl_sk.arb @@ -1,6 +1,6 @@ { "@@locale": "sk", - "@@last_modified": "2026-01-05 16:37:46.929621", + "@@last_modified": "2026-01-06 13:01:15.636781", "about": "O aplikácii", "@about": { "type": "String", @@ -11814,5 +11814,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivity na odomknutie nasledujúcej témy", + "activitiesToUnlockTopicDesc": "Nastavte počet aktivít na odomknutie nasledujúcej témy kurzu", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sl.arb b/lib/l10n/intl_sl.arb index 7531aaa0c..0fd387875 100644 --- a/lib/l10n/intl_sl.arb +++ b/lib/l10n/intl_sl.arb @@ -2464,7 +2464,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-05 16:37:58.302159", + "@@last_modified": "2026-01-06 13:01:36.111015", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11811,5 +11811,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Dejavnosti za odklepanje naslednje teme", + "activitiesToUnlockTopicDesc": "Določite število dejavnosti za odklepanje naslednje teme tečaja", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sr.arb b/lib/l10n/intl_sr.arb index 6924363bd..7cb2f21e1 100644 --- a/lib/l10n/intl_sr.arb +++ b/lib/l10n/intl_sr.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:36.598473", + "@@last_modified": "2026-01-06 13:02:46.667322", "about": "О програму", "@about": { "type": "String", @@ -11832,5 +11832,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktivnosti za otključavanje sledeće teme", + "activitiesToUnlockTopicDesc": "Postavite broj aktivnosti za otključavanje sledeće teme kursa", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sv.arb b/lib/l10n/intl_sv.arb index d6457b7b5..09af7b4f0 100644 --- a/lib/l10n/intl_sv.arb +++ b/lib/l10n/intl_sv.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:27.488003", + "@@last_modified": "2026-01-06 13:02:34.358506", "about": "Om", "@about": { "type": "String", @@ -11208,5 +11208,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Aktiviteter för att låsa upp nästa ämne", + "activitiesToUnlockTopicDesc": "Ange antalet aktiviteter för att låsa upp nästa kursämne", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ta.arb b/lib/l10n/intl_ta.arb index d40fdfae5..e01b67a3f 100644 --- a/lib/l10n/intl_ta.arb +++ b/lib/l10n/intl_ta.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:19.591743", + "@@last_modified": "2026-01-06 13:02:17.997622", "acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது", "@acceptedTheInvitation": { "type": "String", @@ -10954,5 +10954,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "அடுத்த தலைப்பை திறக்க செயல்பாடுகள்", + "activitiesToUnlockTopicDesc": "அடுத்த பாடத்தொகுப்பை திறக்க செயல்பாடுகளின் எண்ணிக்கையை அமைக்கவும்", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_te.arb b/lib/l10n/intl_te.arb index 261612851..48f4fe55d 100644 --- a/lib/l10n/intl_te.arb +++ b/lib/l10n/intl_te.arb @@ -1920,7 +1920,7 @@ "playWithAI": "ఇప్పుడే AI తో ఆడండి", "courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!", "@@locale": "te", - "@@last_modified": "2026-01-05 16:38:15.933952", + "@@last_modified": "2026-01-06 13:02:11.522520", "@setCustomPermissionLevel": { "type": "String", "placeholders": {} @@ -11819,5 +11819,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "తరువాతి అంశాన్ని అన్లాక్ చేయడానికి కార్యకలాపాలు", + "activitiesToUnlockTopicDesc": "తరువాతి కోర్సు అంశాన్ని అన్లాక్ చేయడానికి కార్యకలాపాల సంఖ్యను సెట్ చేయండి", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_th.arb b/lib/l10n/intl_th.arb index 17f5e5c7c..dd8c5171e 100644 --- a/lib/l10n/intl_th.arb +++ b/lib/l10n/intl_th.arb @@ -4456,7 +4456,7 @@ "playWithAI": "เล่นกับ AI ชั่วคราว", "courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!", "@@locale": "th", - "@@last_modified": "2026-01-05 16:38:08.017220", + "@@last_modified": "2026-01-06 13:01:57.436131", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11788,5 +11788,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "กิจกรรมเพื่อปลดล็อกหัวข้อถัดไป", + "activitiesToUnlockTopicDesc": "กำหนดจำนวนกิจกรรมเพื่อปลดล็อกหัวข้อหลักสูตรถัดไป", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index 51cdf1ee1..a5b597b8c 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -1,6 +1,6 @@ { "@@locale": "tr", - "@@last_modified": "2026-01-05 16:38:14.793952", + "@@last_modified": "2026-01-06 13:02:09.596458", "about": "Hakkında", "@about": { "type": "String", @@ -10952,5 +10952,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Sonraki Konuyu Açmak için Aktiviteler", + "activitiesToUnlockTopicDesc": "Sonraki kurs konusunu açmak için aktivite sayısını ayarlayın", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_uk.arb b/lib/l10n/intl_uk.arb index 7cb552620..1cf49442d 100644 --- a/lib/l10n/intl_uk.arb +++ b/lib/l10n/intl_uk.arb @@ -1,6 +1,6 @@ { "@@locale": "uk", - "@@last_modified": "2026-01-05 16:38:01.988748", + "@@last_modified": "2026-01-06 13:01:42.034870", "about": "Про застосунок", "@about": { "type": "String", @@ -10724,5 +10724,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Дії для розблокування наступної теми", + "activitiesToUnlockTopicDesc": "Встановіть кількість дій для розблокування наступної теми курсу", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_vi.arb b/lib/l10n/intl_vi.arb index f61518e08..62a2e23cd 100644 --- a/lib/l10n/intl_vi.arb +++ b/lib/l10n/intl_vi.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:18.272455", + "@@last_modified": "2026-01-06 13:02:16.250270", "about": "Giới thiệu", "@about": { "type": "String", @@ -6300,5 +6300,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "Các hoạt động để mở khóa chủ đề tiếp theo", + "activitiesToUnlockTopicDesc": "Đặt số lượng hoạt động để mở khóa chủ đề khóa học tiếp theo", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_yue.arb b/lib/l10n/intl_yue.arb index 758e2368f..4d4fa5707 100644 --- a/lib/l10n/intl_yue.arb +++ b/lib/l10n/intl_yue.arb @@ -1856,7 +1856,7 @@ "selectAll": "全選", "deselectAll": "取消全選", "@@locale": "yue", - "@@last_modified": "2026-01-05 16:37:59.724310", + "@@last_modified": "2026-01-06 13:01:38.057632", "@ignoreUser": { "type": "String", "placeholders": {} @@ -11821,5 +11821,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "解鎖下一主題的活動", + "activitiesToUnlockTopicDesc": "設置解鎖下一課程主題所需的活動數量", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index 4f257b59f..90c36fb2d 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -1,6 +1,6 @@ { "@@locale": "zh", - "@@last_modified": "2026-01-05 16:38:22.675043", + "@@last_modified": "2026-01-06 13:02:25.686469", "about": "关于", "@about": { "type": "String", @@ -10721,5 +10721,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "解锁下一个主题的活动", + "activitiesToUnlockTopicDesc": "设置解锁下一个课程主题所需的活动数量", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "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 903f2ab08..3865fb512 100644 --- a/lib/l10n/intl_zh_Hant.arb +++ b/lib/l10n/intl_zh_Hant.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-05 16:38:10.069994", + "@@last_modified": "2026-01-06 13:02:01.182495", "about": "關於", "@about": { "type": "String", @@ -10728,5 +10728,15 @@ "@screenSizeWarning": { "type": "String", "placeholders": {} + }, + "activitiesToUnlockTopicTitle": "解鎖下一主題的活動", + "activitiesToUnlockTopicDesc": "設定解鎖下一課程主題所需的活動數量", + "@activitiesToUnlockTopicTitle": { + "type": "String", + "placeholders": {} + }, + "@activitiesToUnlockTopicDesc": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/pangea/chat_settings/pages/room_details_buttons.dart b/lib/pangea/chat_settings/pages/room_details_buttons.dart index 525a6de07..c47f64734 100644 --- a/lib/pangea/chat_settings/pages/room_details_buttons.dart +++ b/lib/pangea/chat_settings/pages/room_details_buttons.dart @@ -14,6 +14,7 @@ class ButtonDetails { final bool isToggle; final bool value; final SpaceSettingsTabs? tab; + final Widget? trailing; const ButtonDetails({ required this.title, @@ -26,6 +27,7 @@ class ButtonDetails { this.value = false, this.showInMainView = true, this.tab, + this.trailing, }); } diff --git a/lib/pangea/chat_settings/pages/space_details_content.dart b/lib/pangea/chat_settings/pages/space_details_content.dart index 73f2f7128..54f2b92e9 100644 --- a/lib/pangea/chat_settings/pages/space_details_content.dart +++ b/lib/pangea/chat_settings/pages/space_details_content.dart @@ -26,6 +26,7 @@ import 'package:fluffychat/pangea/instructions/instructions_inline_tooltip.dart' import 'package:fluffychat/pangea/space_analytics/space_analytics.dart'; import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart'; import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart'; +import 'package:fluffychat/widgets/adaptive_dialogs/show_text_input_dialog.dart'; import 'package:fluffychat/widgets/avatar.dart'; import 'package:fluffychat/widgets/future_loading_dialog.dart'; @@ -140,13 +141,59 @@ class SpaceDetailsContent extends StatelessWidget { icon: const Icon(Icons.school_outlined, size: 30.0), onPressed: () => showFutureLoadingDialog( context: context, - future: () => room.setTeacherMode(!room.isTeacherMode), + future: () => room.setTeacherMode( + room.teacherMode.copyWith(enabled: !room.isTeacherMode), + ), ), enabled: room.isRoomAdmin, showInMainView: false, isToggle: true, value: room.isTeacherMode, ), + ButtonDetails( + title: L10n.of(context).activitiesToUnlockTopicTitle, + description: L10n.of(context).activitiesToUnlockTopicDesc, + icon: const Icon(Icons.lock_open_outlined, size: 30.0), + onPressed: () async { + final current = room.teacherMode.activitiesToUnlockTopic; + final resp = await showTextInputDialog( + context: context, + title: L10n.of(context).activitiesToUnlockTopicTitle, + keyboardType: TextInputType.number, + validator: (input) { + if (input.isEmpty || + int.tryParse(input) == null || + int.parse(input) < 0) { + return L10n.of(context).enterNumber; + } + return null; + }, + initialText: current != null ? "$current" : null, + ); + + if (resp == null) return; + await showFutureLoadingDialog( + context: context, + future: () => room.setTeacherMode( + room.teacherMode.copyWith( + activitiesToUnlockTopic: int.parse(resp), + ), + ), + ); + }, + enabled: room.isRoomAdmin, + visible: room.isTeacherMode, + showInMainView: false, + trailing: room.teacherMode.activitiesToUnlockTopic != null + ? Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: Text( + "${room.teacherMode.activitiesToUnlockTopic}", + style: Theme.of(context).textTheme.labelLarge, + ), + ) + : null, + ), ButtonDetails( title: l10n.permissions, description: l10n.permissionsDesc, @@ -390,6 +437,7 @@ class SpaceDetailsContent extends StatelessWidget { onTap: b.enabled ? () => b.onPressed?.call() : null, + trailing: b.trailing, ), ); }).toList(), diff --git a/lib/pangea/course_plans/course_activities/activity_summaries_provider.dart b/lib/pangea/course_plans/course_activities/activity_summaries_provider.dart index 26806e52d..6b87e1f75 100644 --- a/lib/pangea/course_plans/course_activities/activity_summaries_provider.dart +++ b/lib/pangea/course_plans/course_activities/activity_summaries_provider.dart @@ -152,21 +152,31 @@ mixin ActivitySummariesProvider on State { bool _hasCompletedTopic( String userID, CourseTopicModel topic, + int? activitiesToCompleteOverride, ) { final topicActivityIds = topic.activityIds.toSet(); + final completedTopicActivities = + _completedActivities(userID).intersection(topicActivityIds); + + if (completedTopicActivities.length >= topicActivityIds.length) { + return true; + } + + if (activitiesToCompleteOverride != null) { + return completedTopicActivities.length >= activitiesToCompleteOverride; + } + final numTwoPersonActivities = topic.loadedActivities.values .where((a) => a.req.numberOfParticipants <= 2) .length; - final completedTopicActivities = - _completedActivities(userID).intersection(topicActivityIds); - return completedTopicActivities.length >= numTwoPersonActivities; } String? currentTopicId( String userID, CoursePlanModel course, + int? activitiesToCompleteOverride, ) { if (course.loadedTopics.isEmpty) { return null; @@ -178,7 +188,12 @@ mixin ActivitySummariesProvider on State { if (topic == null) continue; if (!topic.activityListComplete) continue; - if (!_hasCompletedTopic(userID, topic) && topic.activityIds.isNotEmpty) { + if (!_hasCompletedTopic( + userID, + topic, + activitiesToCompleteOverride, + ) && + topic.activityIds.isNotEmpty) { return topicId; } } @@ -188,12 +203,17 @@ mixin ActivitySummariesProvider on State { Map> topicsToUsers( Room room, CoursePlanModel course, + int? activitiesToCompleteOverride, ) { final Map> topicUserMap = {}; final users = room.getParticipants(); for (final user in users) { if (user.id == BotName.byEnvironment) continue; - final topicId = currentTopicId(user.id, course); + final topicId = currentTopicId( + user.id, + course, + activitiesToCompleteOverride, + ); if (topicId != null) { topicUserMap.putIfAbsent(topicId, () => []).add(user); } diff --git a/lib/pangea/course_plans/courses/course_plan_room_extension.dart b/lib/pangea/course_plans/courses/course_plan_room_extension.dart index 6101fc31c..94a59ae83 100644 --- a/lib/pangea/course_plans/courses/course_plan_room_extension.dart +++ b/lib/pangea/course_plans/courses/course_plan_room_extension.dart @@ -12,6 +12,7 @@ import 'package:fluffychat/pangea/chat_settings/constants/pangea_room_types.dart import 'package:fluffychat/pangea/course_chats/course_chats_settings_model.dart'; import 'package:fluffychat/pangea/course_chats/course_default_chats_enum.dart'; import 'package:fluffychat/pangea/course_plans/courses/course_plan_event.dart'; +import 'package:fluffychat/pangea/course_settings/teacher_mode_model.dart'; import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/extensions/join_rule_extension.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart'; @@ -124,21 +125,22 @@ extension CoursePlanRoomExtension on Room { return roomID; } - bool get isTeacherMode { - final event = getState(PangeaEventTypes.teacherMode, client.userID!); - if (event == null) return false; - final content = event.content; - return content['enabled'] == true; + TeacherModeModel get teacherMode { + final state = getState(PangeaEventTypes.teacherMode); + if (state == null) { + return const TeacherModeModel(enabled: false); + } + return TeacherModeModel.fromJson(state.content); } - Future setTeacherMode(bool enabled) async { + bool get isTeacherMode => teacherMode.enabled && isRoomAdmin; + + Future setTeacherMode(TeacherModeModel model) async { await client.setRoomStateWithKey( id, PangeaEventTypes.teacherMode, - client.userID!, - { - 'enabled': enabled, - }, + '', + model.toJson(), ); } diff --git a/lib/pangea/course_settings/course_settings.dart b/lib/pangea/course_settings/course_settings.dart index 7a9797072..36ce9055c 100644 --- a/lib/pangea/course_settings/course_settings.dart +++ b/lib/pangea/course_settings/course_settings.dart @@ -106,6 +106,7 @@ class CourseSettings extends StatelessWidget { final activeTopicId = controller.currentTopicId( Matrix.of(context).client.userID!, controller.course!, + room.teacherMode.activitiesToUnlockTopic, ); final int? topicIndex = activeTopicId == null @@ -117,6 +118,7 @@ class CourseSettings extends StatelessWidget { : controller.topicsToUsers( room, controller.course!, + room.teacherMode.activitiesToUnlockTopic, ); final teacherMode = room.isTeacherMode; diff --git a/lib/pangea/course_settings/teacher_mode_model.dart b/lib/pangea/course_settings/teacher_mode_model.dart new file mode 100644 index 000000000..dea77e843 --- /dev/null +++ b/lib/pangea/course_settings/teacher_mode_model.dart @@ -0,0 +1,32 @@ +class TeacherModeModel { + final bool enabled; + final int? activitiesToUnlockTopic; + + const TeacherModeModel({ + required this.enabled, + this.activitiesToUnlockTopic, + }); + + TeacherModeModel copyWith({ + bool? enabled, + int? activitiesToUnlockTopic, + }) { + return TeacherModeModel( + enabled: enabled ?? this.enabled, + activitiesToUnlockTopic: + activitiesToUnlockTopic ?? this.activitiesToUnlockTopic, + ); + } + + Map toJson() => { + 'enabled': enabled, + 'activities_to_unlock_topic': activitiesToUnlockTopic, + }; + + factory TeacherModeModel.fromJson(Map json) { + return TeacherModeModel( + enabled: json['enabled'] ?? false, + activitiesToUnlockTopic: json['activities_to_unlock_topic'], + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index abecae9b7..64ec21fb8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,7 @@ description: Learn a language while texting your friends. # Pangea# publish_to: none # On version bump also increase the build number for F-Droid -version: 4.1.15+12 +version: 4.1.15+13 environment: sdk: ">=3.0.0 <4.0.0"