fix: add new parts of speech to function for getting grammar copy (#5586)

This commit is contained in:
ggurdin 2026-02-05 10:13:44 -05:00 committed by GitHub
parent 2230e0857e
commit d09a6b339b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
55 changed files with 854 additions and 169 deletions

View file

@ -1,6 +1,6 @@
{
"@@locale": "ar",
"@@last_modified": "2026-01-29 15:25:01.121856",
"@@last_modified": "2026-02-05 10:09:56.397837",
"about": "حول",
"@about": {
"type": "String",
@ -11186,5 +11186,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "تعبير اصطلاحي",
"grammarCopyPOSphrasalv": "فعل مركب",
"grammarCopyPOScompn": "مركب",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1908,7 +1908,7 @@
"playWithAI": "Пакуль гуляйце з ШІ",
"courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!",
"@@locale": "be",
"@@last_modified": "2026-01-29 15:24:53.163474",
"@@last_modified": "2026-02-05 10:09:46.469770",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12068,5 +12068,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Ідыём",
"grammarCopyPOSphrasalv": "Фразавы дзеяслоў",
"grammarCopyPOScompn": "Складаны",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:11.468426",
"@@last_modified": "2026-02-05 10:10:08.830801",
"about": "সম্পর্কে",
"@about": {
"type": "String",
@ -12073,5 +12073,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "বাগধারা",
"grammarCopyPOSphrasalv": "ফ্রেজাল ক্রিয়া",
"grammarCopyPOScompn": "যুগ্ম",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4276,7 +4276,7 @@
"joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།",
"startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།",
"@@locale": "bo",
"@@last_modified": "2026-01-29 15:25:08.749600",
"@@last_modified": "2026-02-05 10:10:06.262776",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -10723,5 +10723,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Compound",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:54.287095",
"@@last_modified": "2026-02-05 10:09:47.712187",
"about": "Quant a",
"@about": {
"type": "String",
@ -10993,5 +10993,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verb Phrasal",
"grammarCopyPOScompn": "Compost",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "cs",
"@@last_modified": "2026-01-29 15:24:50.917574",
"@@last_modified": "2026-02-05 10:09:43.831148",
"about": "O aplikaci",
"@about": {
"type": "String",
@ -11576,5 +11576,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Frázové sloveso",
"grammarCopyPOScompn": "Složenina",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1927,7 +1927,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-29 15:24:30.021734",
"@@last_modified": "2026-02-05 10:09:17.541713",
"@aboutHomeserver": {
"type": "String",
"placeholders": {
@ -12030,5 +12030,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Sammensat",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "de",
"@@last_modified": "2026-01-29 15:24:45.173559",
"@@last_modified": "2026-02-05 10:09:37.665075",
"alwaysUse24HourFormat": "true",
"@alwaysUse24HourFormat": {
"description": "Set to true to always display time of day in 24 hour format."
@ -10976,5 +10976,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Zusammengesetztes Wort",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4453,7 +4453,7 @@
"playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν",
"courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!",
"@@locale": "el",
"@@last_modified": "2026-01-29 15:25:16.616510",
"@@last_modified": "2026-02-05 10:10:14.390437",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12027,5 +12027,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Ιδιωματισμός",
"grammarCopyPOSphrasalv": "Φραστικό Ρήμα",
"grammarCopyPOScompn": "Σύνθετο",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:20.184834",
"@@last_modified": "2026-02-05 10:10:17.896498",
"about": "Prio",
"@about": {
"type": "String",
@ -12058,5 +12058,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Kunmetita",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "es",
"@@last_modified": "2026-01-29 15:24:25.947319",
"@@last_modified": "2026-02-05 10:09:12.250951",
"about": "Acerca de",
"@about": {
"type": "String",
@ -8211,5 +8211,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Modismo",
"grammarCopyPOSphrasalv": "Verbo Frasal",
"grammarCopyPOScompn": "Compuesto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "et",
"@@last_modified": "2026-01-29 15:24:43.759174",
"@@last_modified": "2026-02-05 10:09:36.127342",
"about": "Rakenduse teave",
"@about": {
"type": "String",
@ -11240,5 +11240,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idioom",
"grammarCopyPOSphrasalv": "Fraasi Verb",
"grammarCopyPOScompn": "Kompleks",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "eu",
"@@last_modified": "2026-01-29 15:24:41.896758",
"@@last_modified": "2026-02-05 10:09:33.401642",
"about": "Honi buruz",
"@about": {
"type": "String",
@ -10969,5 +10969,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Konposatu",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:12.904348",
"@@last_modified": "2026-02-05 10:10:10.668033",
"repeatPassword": "تکرار رمزعبور",
"@repeatPassword": {},
"about": "درباره",
@ -11701,5 +11701,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "اصطلاح",
"grammarCopyPOSphrasalv": "فعل عبارتی",
"grammarCopyPOScompn": "ترکیب",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4006,7 +4006,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-29 15:24:28.359131",
"@@last_modified": "2026-02-05 10:09:16.239112",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11592,5 +11592,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idioomi",
"grammarCopyPOSphrasalv": "Fraasiverbi",
"grammarCopyPOScompn": "Yhdistelmä",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -2784,7 +2784,7 @@
"selectAll": "Piliin lahat",
"deselectAll": "Huwag piliin lahat",
"@@locale": "fil",
"@@last_modified": "2026-01-29 15:24:58.900213",
"@@last_modified": "2026-02-05 10:09:53.428313",
"@setCustomPermissionLevel": {
"type": "String",
"placeholders": {}
@ -11945,5 +11945,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idyoma",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Pinagsama",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "fr",
"@@last_modified": "2026-01-29 15:25:26.287351",
"@@last_modified": "2026-02-05 10:10:24.987990",
"about": "À propos",
"@about": {
"type": "String",
@ -11293,5 +11293,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbe à particule",
"grammarCopyPOScompn": "Composé",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4514,7 +4514,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-29 15:25:25.078471",
"@@last_modified": "2026-02-05 10:10:23.901035",
"@customReaction": {
"type": "String",
"placeholders": {}
@ -10967,5 +10967,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Frása",
"grammarCopyPOSphrasalv": "Gníomhhacht Phrásúil",
"grammarCopyPOScompn": "Comhoibriú",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "gl",
"@@last_modified": "2026-01-29 15:24:27.141903",
"@@last_modified": "2026-02-05 10:09:14.434046",
"about": "Acerca de",
"@about": {
"type": "String",
@ -10966,5 +10966,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbo Frasal",
"grammarCopyPOScompn": "Composto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:38.819884",
"@@last_modified": "2026-02-05 10:09:28.796405",
"about": "אודות",
"@about": {
"type": "String",
@ -12018,5 +12018,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "ביטוי",
"grammarCopyPOSphrasalv": "פועל פיזי",
"grammarCopyPOScompn": "מורכב",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4480,7 +4480,7 @@
"playWithAI": "अभी के लिए एआई के साथ खेलें",
"courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!",
"@@locale": "hi",
"@@last_modified": "2026-01-29 15:25:18.981310",
"@@last_modified": "2026-02-05 10:10:16.696075",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12054,5 +12054,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "मुहावरा",
"grammarCopyPOSphrasalv": "फ्रेज़ल वर्ब",
"grammarCopyPOScompn": "संयुक्त",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "hr",
"@@last_modified": "2026-01-29 15:24:37.899487",
"@@last_modified": "2026-02-05 10:09:27.459987",
"about": "Informacije",
"@about": {
"type": "String",
@ -11341,5 +11341,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasalni Glagol",
"grammarCopyPOScompn": "Složenica",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "hu",
"@@last_modified": "2026-01-29 15:24:31.343536",
"@@last_modified": "2026-02-05 10:09:19.675804",
"about": "Névjegy",
"@about": {
"type": "String",
@ -10970,5 +10970,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idióma",
"grammarCopyPOSphrasalv": "Frazális ige",
"grammarCopyPOScompn": "Összetett",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1955,7 +1955,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-29 15:24:39.850520",
"@@last_modified": "2026-02-05 10:09:29.962506",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12047,5 +12047,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbo Phrasal",
"grammarCopyPOScompn": "Compuesto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:32.345033",
"@@last_modified": "2026-02-05 10:09:21.065759",
"setAsCanonicalAlias": "Atur sebagai alias utama",
"@setAsCanonicalAlias": {
"type": "String",
@ -10960,5 +10960,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Kata Kerja Phrasal",
"grammarCopyPOScompn": "Kombinasi",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4369,7 +4369,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-29 15:24:36.672214",
"@@last_modified": "2026-02-05 10:09:26.195275",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11943,5 +11943,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Composé",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:48.551043",
"@@last_modified": "2026-02-05 10:09:41.124551",
"about": "Informazioni",
"@about": {
"type": "String",
@ -10972,5 +10972,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbo Frazionale",
"grammarCopyPOScompn": "Composto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "ja",
"@@last_modified": "2026-01-29 15:25:17.739953",
"@@last_modified": "2026-02-05 10:10:15.587333",
"about": "このアプリについて",
"@about": {
"type": "String",
@ -11759,5 +11759,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "イディオム",
"grammarCopyPOSphrasalv": "句動詞",
"grammarCopyPOScompn": "複合語",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -2591,7 +2591,7 @@
"playWithAI": "ამ დროისთვის ითამაშეთ AI-თან",
"courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!",
"@@locale": "ka",
"@@last_modified": "2026-01-29 15:25:22.347053",
"@@last_modified": "2026-02-05 10:10:20.523925",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11999,5 +11999,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "იდიომი",
"grammarCopyPOSphrasalv": "ფრაზული ზმნა",
"grammarCopyPOScompn": "კომპლექსური",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:24.593568",
"@@last_modified": "2026-02-05 10:09:10.325473",
"about": "소개",
"@about": {
"type": "String",
@ -11077,5 +11077,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "관용구",
"grammarCopyPOSphrasalv": "구동사",
"grammarCopyPOScompn": "복합어",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -3858,7 +3858,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-29 15:25:04.531263",
"@@last_modified": "2026-02-05 10:10:01.069181",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11774,5 +11774,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Sudėtinis",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4480,7 +4480,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-29 15:25:00.127768",
"@@last_modified": "2026-02-05 10:09:54.766036",
"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",
@ -10955,5 +10955,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Frazēts darbības vārds",
"grammarCopyPOScompn": "Savienojums",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:51.834093",
"@@last_modified": "2026-02-05 10:09:45.325631",
"about": "Om",
"@about": {
"type": "String",
@ -12062,5 +12062,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Sammensatt",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:07.906820",
"@@last_modified": "2026-02-05 10:10:04.986596",
"about": "Over ons",
"@about": {
"type": "String",
@ -10969,5 +10969,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idioom",
"grammarCopyPOSphrasalv": "Frazal Werkwoord",
"grammarCopyPOScompn": "Samenstelling",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "pl",
"@@last_modified": "2026-01-29 15:25:13.973596",
"@@last_modified": "2026-02-05 10:10:11.791789",
"about": "O aplikacji",
"@about": {
"type": "String",
@ -10967,5 +10967,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Czasownik frazowy",
"grammarCopyPOScompn": "Złożony",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:42.742766",
"@@last_modified": "2026-02-05 10:09:34.897101",
"copiedToClipboard": "Copiada para a área de transferência",
"@copiedToClipboard": {
"type": "String",
@ -12069,5 +12069,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbo Frasal",
"grammarCopyPOScompn": "Composto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:40.772387",
"@@last_modified": "2026-02-05 10:09:31.755690",
"about": "Sobre",
"@about": {
"type": "String",
@ -11327,5 +11327,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbo Frasal",
"grammarCopyPOScompn": "Composto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -3328,7 +3328,7 @@
"selectAll": "Selecionar tudo",
"deselectAll": "Desmarcar tudo",
"@@locale": "pt_PT",
"@@last_modified": "2026-01-29 15:24:56.954106",
"@@last_modified": "2026-02-05 10:09:50.725651",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11998,5 +11998,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verbo Frasal",
"grammarCopyPOScompn": "Composto",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:33.490827",
"@@last_modified": "2026-02-05 10:09:23.119007",
"about": "Despre",
"@about": {
"type": "String",
@ -11704,5 +11704,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Verb Phrastic",
"grammarCopyPOScompn": "Compus",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "ru",
"@@last_modified": "2026-01-29 15:25:21.118191",
"@@last_modified": "2026-02-05 10:10:19.334362",
"about": "О проекте",
"@about": {
"type": "String",
@ -11077,5 +11077,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Идиома",
"grammarCopyPOSphrasalv": "Фразовый глагол",
"grammarCopyPOScompn": "Составное",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "sk",
"@@last_modified": "2026-01-29 15:24:35.550214",
"@@last_modified": "2026-02-05 10:09:24.752898",
"about": "O aplikácii",
"@about": {
"type": "String",
@ -12053,5 +12053,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idióm",
"grammarCopyPOSphrasalv": "Frázové sloveso",
"grammarCopyPOScompn": "Zložené",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -2461,7 +2461,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-29 15:24:46.298517",
"@@last_modified": "2026-02-05 10:09:38.721866",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12050,5 +12050,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasalni glagol",
"grammarCopyPOScompn": "Sestavljenka",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:23.670980",
"@@last_modified": "2026-02-05 10:10:22.625655",
"about": "О програму",
"@about": {
"type": "String",
@ -12071,5 +12071,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasal Verb",
"grammarCopyPOScompn": "Kombinacija",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:15.398282",
"@@last_modified": "2026-02-05 10:10:13.035755",
"about": "Om",
"@about": {
"type": "String",
@ -11447,5 +11447,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Idiom",
"grammarCopyPOSphrasalv": "Phrasverb",
"grammarCopyPOScompn": "Sammansatt",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:06.783614",
"@@last_modified": "2026-02-05 10:10:03.555298",
"acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது",
"@acceptedTheInvitation": {
"type": "String",
@ -11193,5 +11193,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "விளக்கம்",
"grammarCopyPOSphrasalv": "பொருள் வினை",
"grammarCopyPOScompn": "சேர்க்கை",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1917,7 +1917,7 @@
"playWithAI": "ఇప్పుడే AI తో ఆడండి",
"courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!",
"@@locale": "te",
"@@last_modified": "2026-01-29 15:25:03.384353",
"@@last_modified": "2026-02-05 10:09:59.064928",
"@setCustomPermissionLevel": {
"type": "String",
"placeholders": {}
@ -12058,5 +12058,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "సామెత",
"grammarCopyPOSphrasalv": "పదబంధ క్రియ",
"grammarCopyPOScompn": "సంకలనం",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4453,7 +4453,7 @@
"playWithAI": "เล่นกับ AI ชั่วคราว",
"courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!",
"@@locale": "th",
"@@last_modified": "2026-01-29 15:24:55.978319",
"@@last_modified": "2026-02-05 10:09:49.236652",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12027,5 +12027,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "สำนวน",
"grammarCopyPOSphrasalv": "กริยาวลี",
"grammarCopyPOScompn": "คำผสม",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "tr",
"@@last_modified": "2026-01-29 15:25:02.072081",
"@@last_modified": "2026-02-05 10:09:57.710087",
"about": "Hakkında",
"@about": {
"type": "String",
@ -11191,5 +11191,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Deyim",
"grammarCopyPOSphrasalv": "Deyim Fiili",
"grammarCopyPOScompn": "Bileşik",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "uk",
"@@last_modified": "2026-01-29 15:24:49.757644",
"@@last_modified": "2026-02-05 10:09:42.549877",
"about": "Про застосунок",
"@about": {
"type": "String",
@ -10963,5 +10963,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Ідіома",
"grammarCopyPOSphrasalv": "Фразове дієслово",
"grammarCopyPOScompn": "Складене",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:25:05.410589",
"@@last_modified": "2026-02-05 10:10:02.295528",
"about": "Giới thiệu",
"@about": {
"type": "String",
@ -6547,5 +6547,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "Thành ngữ",
"grammarCopyPOSphrasalv": "Động từ cụm",
"grammarCopyPOScompn": "Hợp chất",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1853,7 +1853,7 @@
"selectAll": "全選",
"deselectAll": "取消全選",
"@@locale": "yue",
"@@last_modified": "2026-01-29 15:24:47.783824",
"@@last_modified": "2026-02-05 10:09:39.916672",
"@ignoreUser": {
"type": "String",
"placeholders": {}
@ -12060,5 +12060,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "成語",
"grammarCopyPOSphrasalv": "短語動詞",
"grammarCopyPOScompn": "複合詞",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "zh",
"@@last_modified": "2026-01-29 15:25:09.954015",
"@@last_modified": "2026-02-05 10:10:07.531332",
"about": "关于",
"@about": {
"type": "String",
@ -10960,5 +10960,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "成语",
"grammarCopyPOSphrasalv": "短语动词",
"grammarCopyPOScompn": "复合词",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-29 15:24:57.889262",
"@@last_modified": "2026-02-05 10:09:52.100652",
"about": "關於",
"@about": {
"type": "String",
@ -10967,5 +10967,20 @@
"@emptyAudioError": {
"type": "String",
"placeholders": {}
},
"grammarCopyPOSidiom": "成語",
"grammarCopyPOSphrasalv": "片語動詞",
"grammarCopyPOScompn": "合成詞",
"@grammarCopyPOSidiom": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOSphrasalv": {
"type": "String",
"placeholders": {}
},
"@grammarCopyPOScompn": {
"type": "String",
"placeholders": {}
}
}

View file

@ -61,6 +61,12 @@ String? getGrammarCopy({
return L10n.of(context).grammarCopyPOSintj;
case 'grammarCopyPOSx':
return L10n.of(context).grammarCopyPOSx;
case 'grammarCopyPOSidiom':
return L10n.of(context).grammarCopyPOSidiom;
case 'grammarCopyPOSphrasalv':
return L10n.of(context).grammarCopyPOSphrasalv;
case 'grammarCopyPOScompn':
return L10n.of(context).grammarCopyPOScompn;
case 'grammarCopyGENDERfem':
return L10n.of(context).grammarCopyGENDERfem;
case 'grammarCopyPERSON2':

View file

@ -1,13 +1,6 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:collection/collection.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
import 'package:fluffychat/pangea/practice_activities/activity_type_enum.dart';
/// list ordered by priority
enum PartOfSpeechEnum {
@ -51,55 +44,6 @@ enum PartOfSpeechEnum {
return pos;
}
String getDisplayCopy(BuildContext context) {
switch (this) {
case PartOfSpeechEnum.sconj:
return L10n.of(context).grammarCopyPOSsconj;
case PartOfSpeechEnum.num:
return L10n.of(context).grammarCopyPOSnum;
case PartOfSpeechEnum.verb:
return L10n.of(context).grammarCopyPOSverb;
case PartOfSpeechEnum.affix:
return L10n.of(context).grammarCopyPOSaffix;
case PartOfSpeechEnum.part:
return L10n.of(context).grammarCopyPOSpart;
case PartOfSpeechEnum.adj:
return L10n.of(context).grammarCopyPOSadj;
case PartOfSpeechEnum.cconj:
return L10n.of(context).grammarCopyPOScconj;
case PartOfSpeechEnum.punct:
return L10n.of(context).grammarCopyPOSpunct;
case PartOfSpeechEnum.adv:
return L10n.of(context).grammarCopyPOSadv;
case PartOfSpeechEnum.aux:
return L10n.of(context).grammarCopyPOSaux;
case PartOfSpeechEnum.space:
return L10n.of(context).grammarCopyPOSspace;
case PartOfSpeechEnum.sym:
return L10n.of(context).grammarCopyPOSsym;
case PartOfSpeechEnum.det:
return L10n.of(context).grammarCopyPOSdet;
case PartOfSpeechEnum.pron:
return L10n.of(context).grammarCopyPOSpron;
case PartOfSpeechEnum.adp:
return L10n.of(context).grammarCopyPOSadp;
case PartOfSpeechEnum.propn:
return L10n.of(context).grammarCopyPOSpropn;
case PartOfSpeechEnum.noun:
return L10n.of(context).grammarCopyPOSnoun;
case PartOfSpeechEnum.intj:
return L10n.of(context).grammarCopyPOSintj;
case PartOfSpeechEnum.idiom:
return L10n.of(context).grammarCopyPOSidiom;
case PartOfSpeechEnum.phrasalv:
return L10n.of(context).grammarCopyPOSphrasalv;
case PartOfSpeechEnum.compn:
return L10n.of(context).grammarCopyPOScompn;
case PartOfSpeechEnum.x:
return L10n.of(context).grammarCopyPOSx;
}
}
bool get isContentWord => [
PartOfSpeechEnum.noun,
PartOfSpeechEnum.verb,
@ -109,64 +53,4 @@ enum PartOfSpeechEnum {
PartOfSpeechEnum.phrasalv,
PartOfSpeechEnum.compn,
].contains(this);
bool get canBeDefined => [
PartOfSpeechEnum.noun,
PartOfSpeechEnum.verb,
PartOfSpeechEnum.adj,
PartOfSpeechEnum.adv,
PartOfSpeechEnum.propn,
PartOfSpeechEnum.intj,
PartOfSpeechEnum.det,
PartOfSpeechEnum.pron,
PartOfSpeechEnum.sconj,
PartOfSpeechEnum.cconj,
PartOfSpeechEnum.adp,
PartOfSpeechEnum.aux,
PartOfSpeechEnum.num,
PartOfSpeechEnum.idiom,
PartOfSpeechEnum.phrasalv,
PartOfSpeechEnum.compn,
].contains(this);
bool get canBeHeard => [
PartOfSpeechEnum.noun,
PartOfSpeechEnum.verb,
PartOfSpeechEnum.adj,
PartOfSpeechEnum.adv,
PartOfSpeechEnum.propn,
PartOfSpeechEnum.intj,
PartOfSpeechEnum.det,
PartOfSpeechEnum.pron,
PartOfSpeechEnum.sconj,
PartOfSpeechEnum.cconj,
PartOfSpeechEnum.adp,
PartOfSpeechEnum.aux,
PartOfSpeechEnum.num,
PartOfSpeechEnum.idiom,
PartOfSpeechEnum.phrasalv,
PartOfSpeechEnum.compn,
].contains(this);
bool eligibleForPractice(ActivityTypeEnum activityType) {
switch (activityType) {
case ActivityTypeEnum.emoji:
case ActivityTypeEnum.wordMeaning:
case ActivityTypeEnum.morphId:
return canBeDefined;
case ActivityTypeEnum.wordFocusListening:
return canBeHeard;
default:
debugger(when: kDebugMode);
return false;
}
}
}
String? getVocabCategoryName(String category, BuildContext context) {
return PartOfSpeechEnum.values
.firstWhereOrNull(
(pos) => pos.name.toLowerCase() == category.toLowerCase(),
)
?.getDisplayCopy(context);
}