copy for grammar tags

pull/1423/head
William Jordan-Cooley 1 year ago
parent 3a8960eb05
commit 68383f2dd9

@ -4237,5 +4237,132 @@
"l2SupportNa": "Not Available",
"l2SupportAlpha": "Alpha",
"l2SupportBeta": "Beta",
"l2SupportFull": "Full"
"l2SupportFull": "Full",
"grammarCopySCONJ": "Subordinating Conjunction",
"grammarCopyNUM": "Number",
"grammarCopyVERB": "Verb",
"grammarCopyAFFIX": "Affix",
"grammarCopyPARTpos": "Particle",
"grammarCopyADJ": "Adjective",
"grammarCopyCCONJ": "Coordinating Conjunction",
"grammarCopyPUNCT": "Punctuation",
"grammarCopyADV": "Adverb",
"grammarCopyAUX": "Auxiliary",
"grammarCopySPACE": "Space",
"grammarCopySYM": "Symbol",
"grammarCopyDET": "Determiner",
"grammarCopyPRON": "Pronoun",
"grammarCopyADP": "Adposition",
"grammarCopyPROPN": "Proper Noun",
"grammarCopyNOUN": "Noun",
"grammarCopyINTJ": "Interjection",
"grammarCopyX": "Other",
"grammarCopyFem": "Feminine",
"grammarCopy2": "Second Person",
"grammarCopyImp": "Imperative",
"grammarCopyQest": "Question",
"grammarCopyPerf": "Perfect",
"grammarCopyAccNom": "Accusative, Nominative",
"grammarCopyObl": "Oblique Case",
"grammarCopyAct": "Active",
"grammarCopyTense_unknown": "Tense Unknown",
"grammarCopyBrck": "Bracket",
"grammarCopyAspect_unknown": "Aspect Unknown",
"grammarCopyArt": "Article",
"grammarCopySing": "Singular",
"grammarCopyMood_unknown": "Mood Unknown",
"grammarCopyMasc": "Masculine",
"grammarCopyMod": "Modal",
"grammarCopyAdverbial": "Adverbial",
"grammarCopyPeri": "Periphrastic",
"grammarCopyDigit": "Digit",
"grammarCopyNot_proper": "Not Proper",
"grammarCopyCard": "Cardinal",
"grammarCopyProp": "Proper",
"grammarCopyDash": "Dash",
"grammarCopyYes": "Yes",
"grammarCopySemi": "Semicolon",
"grammarCopyComm": "Comma",
"grammarCopyCnd": "Conditional",
"grammarCopyIntRel": "Interrogative, Relative",
"grammarCopyAcc": "Accusative",
"grammarCopyVoice_unknown": "Voice Unknown",
"grammarCopyPartTag": "Partitive",
"grammarCopyInt": "Interrogative",
"grammarCopyPast": "Past",
"grammarCopySup": "Superlative",
"grammarCopyColo": "Colon",
"grammarCopy3": "Third Person",
"grammarCopyPlur": "Plural",
"grammarCopyNpr": "Proper Noun",
"grammarCopyInterrogative": "Interrogative",
"grammarCopyInfm": "Informal",
"grammarCopyTim": "Time",
"grammarCopyPerson_unknown": "Person Unknown",
"grammarCopyNeg": "Negative",
"grammarCopyTot": "Total",
"grammarCopyCase_unknown": "Case Unknown",
"grammarCopyAdnomial": "Adnominal",
"grammarCopyProg": "Progressive",
"grammarCopySub": "Subjunctive",
"grammarCopyComplementive": "Complementive",
"grammarCopyNom": "Nominative",
"grammarCopyFut": "Future",
"grammarCopyDat": "Dative",
"grammarCopyPres": "Present",
"grammarCopyNeut": "Neuter",
"grammarCopyRel": "Relative",
"grammarCopyFinal_ending": "Final Ending",
"grammarCopyDem": "Demonstrative",
"grammarCopyPre": "Preposition",
"grammarCopyFin": "Finite",
"grammarCopyGender_unknown": "Gender Unknown",
"grammarCopyPos": "Positive",
"grammarCopyQuot": "Quotation",
"grammarCopyGer": "Gerund",
"grammarCopyPass": "Passive",
"grammarCopyGen": "Genitive",
"grammarCopyNumber_unknown": "Number Unknown",
"grammarCopyPrs": "Present",
"grammarCopyDef": "Definite",
"grammarCopyOrd": "Ordinal",
"grammarCopyIns": "Instrumental",
"grammarCopyAccDat": "Accusative, Dative",
"grammarCopyInf": "Infinitive",
"grammarCopyLong": "Long",
"grammarCopyInd": "Indicative",
"grammarCopyCmp": "Comparative",
"grammarCopyRelative_case": "Relative Case",
"grammarCopyExcl": "Exclamative",
"grammarCopy1": "First Person",
"grammarCopyIni": "Initial",
"grammarCopyForm_unknown": "Form Unknown",
"grammarCopyPerson": "Person",
"grammarCopyForeign": "Foreign",
"grammarCopyVoice": "Voice",
"grammarCopyVerbType": "Verb Type",
"grammarCopyPoss": "Possessive",
"grammarCopyPrepCase": "Prepositional Case",
"grammarCopyNumType": "Numeral Type",
"grammarCopyNounType": "Noun Type",
"grammarCopyReflex": "Reflexive",
"grammarCopyPronType": "Pronoun Type",
"grammarCopyPunctSide": "Punctuation Side",
"grammarCopyVerbForm": "Verb Form",
"grammarCopyGender": "Gender",
"grammarCopyMood": "Mood",
"grammarCopyAspect": "Aspect",
"grammarCopyPunctType": "Punctuation Type",
"grammarCopyTense": "Tense",
"grammarCopyDegree": "Degree",
"grammarCopyPolite": "Politeness",
"grammarCopyAdvType": "Adverb Type",
"grammarCopyNumber": "Number",
"grammarCopyConjType": "Conjunction Type",
"grammarCopyPolarity": "Polarity",
"grammarCopyNumberPsor": "Possessor's Number",
"grammarCopyCase": "Case",
"grammarCopyDefinite": "Definiteness",
"grammarCopyNumForm": "Numeral Form",
"grammarCopyUnknown": "Unknown"
}

@ -0,0 +1,285 @@
import 'dart:developer';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
String getGrammarCopy(String tag, BuildContext context) {
switch (tag) {
case 'SCONJ':
return L10n.of(context)!.grammarCopySCONJ;
case 'NUM':
return L10n.of(context)!.grammarCopyNUM;
case 'VERB':
return L10n.of(context)!.grammarCopyVERB;
case 'AFFIX':
return L10n.of(context)!.grammarCopyAFFIX;
case 'PART':
return L10n.of(context)!.grammarCopyPARTpos;
case 'ADJ':
return L10n.of(context)!.grammarCopyADJ;
case 'CCONJ':
return L10n.of(context)!.grammarCopyCCONJ;
case 'PUNCT':
return L10n.of(context)!.grammarCopyPUNCT;
case 'ADV':
return L10n.of(context)!.grammarCopyADV;
case 'AUX':
return L10n.of(context)!.grammarCopyAUX;
case 'SPACE':
return L10n.of(context)!.grammarCopySPACE;
case 'SYM':
return L10n.of(context)!.grammarCopySYM;
case 'DET':
return L10n.of(context)!.grammarCopyDET;
case 'PRON':
return L10n.of(context)!.grammarCopyPRON;
case 'ADP':
return L10n.of(context)!.grammarCopyADP;
case 'PROPN':
return L10n.of(context)!.grammarCopyPROPN;
case 'NOUN':
return L10n.of(context)!.grammarCopyNOUN;
case 'INTJ':
return L10n.of(context)!.grammarCopyINTJ;
case 'X':
return L10n.of(context)!.grammarCopyX;
case 'Fem':
return L10n.of(context)!.grammarCopyFem;
case '2':
return L10n.of(context)!.grammarCopy2;
case 'Imp':
return L10n.of(context)!.grammarCopyImp;
case 'Qest':
return L10n.of(context)!.grammarCopyQest;
case 'Perf':
return L10n.of(context)!.grammarCopyPerf;
case 'Acc,Nom':
return L10n.of(context)!.grammarCopyAccNom;
case 'Obl':
return L10n.of(context)!.grammarCopyObl;
case 'Act':
return L10n.of(context)!.grammarCopyAct;
case 'Tense_unknown':
return L10n.of(context)!.grammarCopyTense_unknown;
case 'Brck':
return L10n.of(context)!.grammarCopyBrck;
case 'Aspect_unknown':
return L10n.of(context)!.grammarCopyAspect_unknown;
case 'Art':
return L10n.of(context)!.grammarCopyArt;
case 'Sing':
return L10n.of(context)!.grammarCopySing;
case 'Mood_unknown':
return L10n.of(context)!.grammarCopyMood_unknown;
case 'Masc':
return L10n.of(context)!.grammarCopyMasc;
case 'Mod':
return L10n.of(context)!.grammarCopyMod;
case 'Adverbial':
return L10n.of(context)!.grammarCopyAdverbial;
case 'Peri':
return L10n.of(context)!.grammarCopyPeri;
case 'Digit':
return L10n.of(context)!.grammarCopyDigit;
case 'Not_proper':
return L10n.of(context)!.grammarCopyNot_proper;
case 'Card':
return L10n.of(context)!.grammarCopyCard;
case 'Prop':
return L10n.of(context)!.grammarCopyProp;
case 'Dash':
return L10n.of(context)!.grammarCopyDash;
case 'Yes':
return L10n.of(context)!.grammarCopyYes;
case 'Semi':
return L10n.of(context)!.grammarCopySemi;
case 'Comm':
return L10n.of(context)!.grammarCopyComm;
case 'Cnd':
return L10n.of(context)!.grammarCopyCnd;
case 'Int,Rel':
return L10n.of(context)!.grammarCopyIntRel;
case 'Acc':
return L10n.of(context)!.grammarCopyAcc;
case 'Voice_unknown':
return L10n.of(context)!.grammarCopyVoice_unknown;
case 'Part':
return L10n.of(context)!
.grammarCopyPartTag; // To avoid conflict with 'PART' POS
case 'Int':
return L10n.of(context)!.grammarCopyInt;
case 'Past':
return L10n.of(context)!.grammarCopyPast;
case 'Sup':
return L10n.of(context)!.grammarCopySup;
case 'Colo':
return L10n.of(context)!.grammarCopyColo;
case '3':
return L10n.of(context)!.grammarCopy3;
case 'Plur':
return L10n.of(context)!.grammarCopyPlur;
case 'Npr':
return L10n.of(context)!.grammarCopyNpr;
case 'Interrogative':
return L10n.of(context)!.grammarCopyInterrogative;
case 'Infm':
return L10n.of(context)!.grammarCopyInfm;
case 'Tim':
return L10n.of(context)!.grammarCopyTim;
case 'Person_unknown':
return L10n.of(context)!.grammarCopyPerson_unknown;
case 'Neg':
return L10n.of(context)!.grammarCopyNeg;
case 'Tot':
return L10n.of(context)!.grammarCopyTot;
case 'Case_unknown':
return L10n.of(context)!.grammarCopyCase_unknown;
case 'Adnomial':
return L10n.of(context)!.grammarCopyAdnomial;
case 'Prog':
return L10n.of(context)!.grammarCopyProg;
case 'Sub':
return L10n.of(context)!.grammarCopySub;
case 'Complementive':
return L10n.of(context)!.grammarCopyComplementive;
case 'Nom':
return L10n.of(context)!.grammarCopyNom;
case 'Fut':
return L10n.of(context)!.grammarCopyFut;
case 'Dat':
return L10n.of(context)!.grammarCopyDat;
case 'Pres':
return L10n.of(context)!.grammarCopyPres;
case 'Neut':
return L10n.of(context)!.grammarCopyNeut;
case 'Rel':
return L10n.of(context)!.grammarCopyRel;
case 'Final_ending':
return L10n.of(context)!.grammarCopyFinal_ending;
case 'Dem':
return L10n.of(context)!.grammarCopyDem;
case 'Pre':
return L10n.of(context)!.grammarCopyPre;
case 'Fin':
return L10n.of(context)!.grammarCopyFin;
case 'Gender_unknown':
return L10n.of(context)!.grammarCopyGender_unknown;
case 'Pos':
return L10n.of(context)!.grammarCopyPos;
case 'Quot':
return L10n.of(context)!.grammarCopyQuot;
case 'Ger':
return L10n.of(context)!.grammarCopyGer;
case 'Pass':
return L10n.of(context)!.grammarCopyPass;
case 'Gen':
return L10n.of(context)!.grammarCopyGen;
case 'Number_unknown':
return L10n.of(context)!.grammarCopyNumber_unknown;
case 'Prs':
return L10n.of(context)!.grammarCopyPrs;
case 'Def':
return L10n.of(context)!.grammarCopyDef;
case 'Ord':
return L10n.of(context)!.grammarCopyOrd;
case 'Ins':
return L10n.of(context)!.grammarCopyIns;
case 'Acc,Dat':
return L10n.of(context)!.grammarCopyAccDat;
case 'Inf':
return L10n.of(context)!.grammarCopyInf;
case 'Long':
return L10n.of(context)!.grammarCopyLong;
case 'Ind':
return L10n.of(context)!.grammarCopyInd;
case 'Cmp':
return L10n.of(context)!.grammarCopyCmp;
case 'Relative_case':
return L10n.of(context)!.grammarCopyRelative_case;
case 'Excl':
return L10n.of(context)!.grammarCopyExcl;
case '1':
return L10n.of(context)!.grammarCopy1;
case 'Ini':
return L10n.of(context)!.grammarCopyIni;
case 'Form_unknown':
return L10n.of(context)!.grammarCopyForm_unknown;
case 'Person':
return L10n.of(context)!.grammarCopyPerson;
case 'Foreign':
return L10n.of(context)!.grammarCopyForeign;
case 'Voice':
return L10n.of(context)!.grammarCopyVoice;
case 'VerbType':
return L10n.of(context)!.grammarCopyVerbType;
case 'Poss':
return L10n.of(context)!.grammarCopyPoss;
case 'PrepCase':
return L10n.of(context)!.grammarCopyPrepCase;
case 'NumType':
return L10n.of(context)!.grammarCopyNumType;
case 'NounType':
return L10n.of(context)!.grammarCopyNounType;
case 'Reflex':
return L10n.of(context)!.grammarCopyReflex;
case 'PronType':
return L10n.of(context)!.grammarCopyPronType;
case 'PunctSide':
return L10n.of(context)!.grammarCopyPunctSide;
case 'VerbForm':
return L10n.of(context)!.grammarCopyVerbForm;
case 'Gender':
return L10n.of(context)!.grammarCopyGender;
case 'Mood':
return L10n.of(context)!.grammarCopyMood;
case 'Aspect':
return L10n.of(context)!.grammarCopyAspect;
case 'PunctType':
return L10n.of(context)!.grammarCopyPunctType;
case 'Tense':
return L10n.of(context)!.grammarCopyTense;
case 'Degree':
return L10n.of(context)!.grammarCopyDegree;
case 'Polite':
return L10n.of(context)!.grammarCopyPolite;
case 'AdvType':
return L10n.of(context)!.grammarCopyAdvType;
case 'Number':
return L10n.of(context)!.grammarCopyNumber;
case 'ConjType':
return L10n.of(context)!.grammarCopyConjType;
case 'Polarity':
return L10n.of(context)!.grammarCopyPolarity;
case 'Number[psor]':
return L10n.of(context)!.grammarCopyNumberPsor;
case 'Case':
return L10n.of(context)!.grammarCopyCase;
case 'Definite':
return L10n.of(context)!.grammarCopyDefinite;
case 'NumForm':
return L10n.of(context)!.grammarCopyNumForm;
// Handle empty tag
case '':
ErrorHandler.logError(
e: Exception('Empty tag'),
m: 'Empty tag in getGrammarCopy',
data: {
'context': context,
},
);
return L10n.of(context)!.grammarCopyUnknown;
default:
debugger(when: kDebugMode);
ErrorHandler.logError(
e: Exception('Need to add copy for $tag to intl_en.arb'),
m: 'Need to add copy for $tag to intl_en.arb',
data: {
'tag': tag,
'context': context,
},
);
return tag; // Fallback to the tag itself if no match is found
}
}

@ -1,6 +1,8 @@
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/enum/construct_type_enum.dart';
import 'package:fluffychat/pangea/enum/progress_indicators_enum.dart';
import 'package:fluffychat/pangea/models/analytics/construct_list_model.dart';
import 'package:fluffychat/pangea/utils/get_grammar_copy.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@ -47,7 +49,13 @@ class AnalyticsPopup extends StatelessWidget {
child: ListTile(
onTap: () {},
title: Text(
constructsModel.constructList[index].lemma,
constructsModel.type == ConstructTypeEnum.morph
? getGrammarCopy(
constructsModel
.constructList[index].lemma,
context,
)
: constructsModel.constructList[index].lemma,
),
subtitle: LinearProgressIndicator(
value:

Loading…
Cancel
Save