fluffychat/lib/pangea/morphs/get_grammar_copy.dart
ggurdin e8428783e6
Fluffychat merge 2 (#5590)
* build: Reenable shrink resources and minify in gradle

* build: (deps): bump image from 4.6.0 to 4.7.1

Bumps [image](https://github.com/brendan-duncan/image) from 4.6.0 to 4.7.1.
- [Changelog](https://github.com/brendan-duncan/image/blob/main/CHANGELOG.md)
- [Commits](https://github.com/brendan-duncan/image/commits)

---
updated-dependencies:
- dependency-name: image
  dependency-version: 4.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build: (deps): bump file_picker from 10.3.7 to 10.3.8

Bumps [file_picker](https://github.com/miguelpruivo/flutter_file_picker) from 10.3.7 to 10.3.8.
- [Release notes](https://github.com/miguelpruivo/flutter_file_picker/releases)
- [Changelog](https://github.com/miguelpruivo/flutter_file_picker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/miguelpruivo/flutter_file_picker/compare/v10.3.7...v10.3.8)

---
updated-dependencies:
- dependency-name: file_picker
  dependency-version: 10.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: Improved search

* build: Use matrix sdk vom pub.dev again

* chore: Follow up better search

* build: (deps): bump image from 4.7.1 to 4.7.2

Bumps [image](https://github.com/brendan-duncan/image) from 4.7.1 to 4.7.2.
- [Changelog](https://github.com/brendan-duncan/image/blob/main/CHANGELOG.md)
- [Commits](https://github.com/brendan-duncan/image/commits)

---
updated-dependencies:
- dependency-name: image
  dependency-version: 4.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: Make cross signing self sign mandatory for bootstrap

* chore: Update user device keys before creating bootstrap

* fix: Better wait for secrets after verification bootstrap

* refactor: Remove native imaging and enable web worker

* refactor: Remove unused html onfocus streams

* build: (deps): bump flutter_foreground_task from 9.1.0 to 9.2.0

Bumps [flutter_foreground_task](https://github.com/Dev-hwang/flutter_foreground_task) from 9.1.0 to 9.2.0.
- [Changelog](https://github.com/Dev-hwang/flutter_foreground_task/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Dev-hwang/flutter_foreground_task/commits)

---
updated-dependencies:
- dependency-name: flutter_foreground_task
  dependency-version: 9.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(translations): Translated using Weblate (Uzbek)

Currently translated at 99.7% (823 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uz/

* chore(translations): Translated using Weblate (Russian)

Currently translated at 99.8% (824 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/

* chore(translations): Translated using Weblate (Norwegian Bokmål)

Currently translated at 90.9% (750 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nb_NO/

* chore(translations): Translated using Weblate (Galician)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/gl/

* chore(translations): Translated using Weblate (Basque)

Currently translated at 99.7% (823 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/eu/

* chore(translations): Translated using Weblate (Ukrainian)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/uk/

* chore(translations): Translated using Weblate (Estonian)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/

* chore(translations): Translated using Weblate (Dutch)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nl/

* chore(translations): Translated using Weblate (Russian)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/

* chore(translations): Translated using Weblate (Spanish)

Currently translated at 95.2% (788 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/

* chore(translations): Translated using Weblate (Spanish)

Currently translated at 96.3% (797 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/es/

* chore(translations): Translated using Weblate (Russian)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/

* chore(translations): Translated using Weblate (Russian)

Currently translated at 100.0% (825 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/ru/

* fix: Broken ruzzian plurals

* chore(translations): Translated using Weblate (Norwegian Bokmål)

Currently translated at 91.2% (753 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/nb_NO/

* chore(translations): Translated using Weblate (Bengali)

Currently translated at 4.5% (38 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/bn/

* chore(translations): Translated using Weblate (French)

Currently translated at 82.3% (679 of 825 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/fr/

* build: (deps): bump translations_cleaner from 0.0.5 to 0.1.0

Bumps [translations_cleaner](https://github.com/Chinmay-KB/translations_cleaner) from 0.0.5 to 0.1.0.
- [Changelog](https://github.com/Chinmay-KB/translations_cleaner/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Chinmay-KB/translations_cleaner/commits)

---
updated-dependencies:
- dependency-name: translations_cleaner
  dependency-version: 0.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(translations): Translated using Weblate (German)

Currently translated at 99.2% (821 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/

* chore(translations): Translated using Weblate (Estonian)

Currently translated at 100.0% (827 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/et/

* build: Bump version to 2.4.0

* build: (deps): bump sqflite_common_ffi from 2.3.6 to 2.3.7+1

Bumps [sqflite_common_ffi](https://github.com/tekartik/sqflite) from 2.3.6 to 2.3.7+1.
- [Commits](https://github.com/tekartik/sqflite/compare/sqflite_common_ffi_v2.3.6...sqflite_common_ffi/v2.3.7)

---
updated-dependencies:
- dependency-name: sqflite_common_ffi
  dependency-version: 2.3.7+1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(translations): Translated using Weblate (Czech)

Currently translated at 66.1% (547 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/cs/

* chore(translations): Translated using Weblate (Czech)

Currently translated at 72.7% (602 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/cs/

* chore(translations): Translated using Weblate (German)

Currently translated at 99.8% (826 of 827 strings)

Translation: FluffyChat/Translations
Translate-URL: https://hosted.weblate.org/projects/fluffychat/translations/de/

* chore: Add security.md file

* fix: Locale unlocalized strings

* build: (deps): bump matrix from 4.1.0 to 5.0.0

Bumps [matrix](https://github.com/famedly/matrix-dart-sdk) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/famedly/matrix-dart-sdk/releases)
- [Changelog](https://github.com/famedly/matrix-dart-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/famedly/matrix-dart-sdk/compare/v4.1.0...v5.0.0)

---
updated-dependencies:
- dependency-name: matrix
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: Notifications on web correctly managed when tab not focused

* chore: Add changelog for android

* chore: Remove duplicated localization

* fix: Sign in label

* chore: Versionize fcm shared isolate

* build: Remove unused packag

* build: (deps): bump package_info_plus from 8.3.1 to 9.0.0

Bumps [package_info_plus](https://github.com/fluttercommunity/plus_plugins/tree/main/packages/package_info_plus) from 8.3.1 to 9.0.0.
- [Release notes](https://github.com/fluttercommunity/plus_plugins/releases)
- [Commits](https://github.com/fluttercommunity/plus_plugins/commits/package_info_plus-v9.0.0/packages/package_info_plus)

---
updated-dependencies:
- dependency-name: package_info_plus
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: Display particle animation on login page

* chore: Use fixed version of fcm shared isolate

* fix: apk crash on some platforms due new flutter version

* chore: Correct kotlin format

* fix iOS notifications

* fluffychat merge

* fluffychat merge

* fluffychat merge

* fluffychat merge

* fluffychat merge

* fluffychat merge

* add missing type annotations

* update matrix version

* fluffychat merge

* fluffychat merge

* fix notification on click actions

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Christian Kußowski <c.kussowski@famedly.com>
Co-authored-by: Krille-chan <christian-kussowski@posteo.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: BeMeritus <bemerituss@gmail.com>
Co-authored-by: Frank Paul Silye <frankps@gmail.com>
Co-authored-by: josé m. <correoxm@disroot.org>
Co-authored-by: xabirequejo <xabi.rn@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Co-authored-by: Jelv <post@jelv.nl>
Co-authored-by: Дмитрий Михирев <bizdelnick@gmail.com>
Co-authored-by: Kimby <kimbyqs@gmail.com>
Co-authored-by: Christian <christian-pauly@posteo.de>
Co-authored-by: Kom nake <kominak310@svcache.com>
Co-authored-by: hugues de keyzer <komputilisto@hugues.info>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: Šebestová <ka.sebestova.cz@gmail.com>
2026-02-10 08:01:12 -05:00

521 lines
22 KiB
Dart

// ignore_for_file: constant_identifier_names
import 'package:flutter/material.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
/// Used on morph constructs
String? getGrammarCopy({
required String category,
/// This is the tag / feature
required String lemma,
required BuildContext context,
}) {
if (category.toLowerCase() == 'other' || lemma.toLowerCase() == 'other') {
return null;
}
final String key =
'grammarCopy${category.replaceAll(RegExp(r'[,\[\]]'), '').toUpperCase()}${lemma.replaceAll(RegExp(r'[,\[\]]'), '').toLowerCase()}';
switch (key) {
case 'grammarCopyPOSsconj':
return L10n.of(context).grammarCopyPOSsconj;
case 'grammarCopyPOSnum':
return L10n.of(context).grammarCopyPOSnum;
case 'grammarCopyPOSverb':
return L10n.of(context).grammarCopyPOSverb;
case 'grammarCopyPOSaffix':
return L10n.of(context).grammarCopyPOSaffix;
case 'grammarCopyPOSpart':
return L10n.of(context).grammarCopyPOSpart;
case 'grammarCopyPOSadj':
return L10n.of(context).grammarCopyPOSadj;
case 'grammarCopyPOScconj':
return L10n.of(context).grammarCopyPOScconj;
case 'grammarCopyPOSpunct':
return L10n.of(context).grammarCopyPOSpunct;
case 'grammarCopyPOSadv':
return L10n.of(context).grammarCopyPOSadv;
case 'grammarCopyPOSaux':
return L10n.of(context).grammarCopyPOSaux;
case 'grammarCopyPOSspace':
return L10n.of(context).grammarCopyPOSspace;
case 'grammarCopyPOSsym':
return L10n.of(context).grammarCopyPOSsym;
case 'grammarCopyPOSdet':
return L10n.of(context).grammarCopyPOSdet;
case 'grammarCopyPOSpron':
return L10n.of(context).grammarCopyPOSpron;
case 'grammarCopyPOSadp':
return L10n.of(context).grammarCopyPOSadp;
case 'grammarCopyPOSpropn':
return L10n.of(context).grammarCopyPOSpropn;
case 'grammarCopyPOSnoun':
return L10n.of(context).grammarCopyPOSnoun;
case 'grammarCopyPOSintj':
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':
return L10n.of(context).grammarCopyPERSON2;
case 'grammarCopyMOODimp':
return L10n.of(context).grammarCopyMOODimp;
case 'grammarCopyPUNCTTYPEqest':
return L10n.of(context).grammarCopyPUNCTTYPEqest;
case 'grammarCopyASPECTperf':
return L10n.of(context).grammarCopyASPECTperf;
case 'grammarCopyASPECTimp':
return L10n.of(context).grammarCopyASPECTimp;
case 'grammarCopyCASEaccnom':
return L10n.of(context).grammarCopyCASEaccnom;
case 'grammarCopyCASEobl':
return L10n.of(context).grammarCopyCASEobl;
case 'grammarCopyCASEpre':
return L10n.of(context).grammarCopyCASEpre;
case 'grammarCopyCASEsup':
return L10n.of(context).grammarCopyCASEsup;
case 'grammarCopyCASEsub':
return L10n.of(context).grammarCopyCASEsub;
case 'grammarCopyCASErel':
return L10n.of(context).grammarCopyCASErel;
case 'grammarCopyCASEref':
return L10n.of(context).grammarCopyCASEref;
case 'grammarCopyCASEadv':
return L10n.of(context).grammarCopyCASEadv;
case 'grammarCopyCASEpar':
return L10n.of(context).grammarCopyCASEpar;
case 'grammarCopyCASEcom':
return L10n.of(context).grammarCopyCASEcom;
case 'grammarCopyCASEvoc':
return L10n.of(context).grammarCopyCASEvoc;
case 'grammarCopyVOICEact':
return L10n.of(context).grammarCopyVOICEact;
case 'grammarCopyPUNCTTYPEbrck':
return L10n.of(context).grammarCopyPUNCTTYPEbrck;
case 'grammarCopyNOUNTYPEart':
return L10n.of(context).grammarCopyNOUNTYPEart;
case 'grammarCopyNOUNTYPEcomm':
return L10n.of(context).grammarCopyNOUNTYPEcomm;
case 'grammarCopyNUMBERPSORsing':
return L10n.of(context).grammarCopyNUMBERPSORsing;
case 'grammarCopyNUMBERPSORplur':
return L10n.of(context).grammarCopyNUMBERPSORplur;
case 'grammarCopyNUMBERPSORdual':
return L10n.of(context).grammarCopyNUMBERPSORdual;
case 'grammarCopyNUMBERsing':
return L10n.of(context).grammarCopyNUMBERsing;
case 'grammarCopyGENDERmasc':
return L10n.of(context).grammarCopyGENDERmasc;
case 'grammarCopyVERBTYPEmod':
return L10n.of(context).grammarCopyVERBTYPEmod;
case 'grammarCopyVERBTYPEcaus':
return L10n.of(context).grammarCopyVERBTYPEcaus;
case 'grammarCopyADVTYPEadverbial':
return L10n.of(context).grammarCopyADVTYPEadverbial;
case 'grammarCopyTENSEperi':
return L10n.of(context).grammarCopyTENSEperi;
case 'grammarCopyNUMFORMdigit':
return L10n.of(context).grammarCopyNUMFORMdigit;
case 'grammarCopyNOUNTYPEnot_proper':
return L10n.of(context).grammarCopyNOUNTYPEnot_proper;
case 'grammarCopyNUMTYPEcard':
return L10n.of(context).grammarCopyNUMTYPEcard;
case 'grammarCopyNOUNTYPEprop':
return L10n.of(context).grammarCopyNOUNTYPEprop;
case 'grammarCopyPUNCTTYPEdash':
return L10n.of(context).grammarCopyPUNCTTYPEdash;
case 'grammarCopyPUNCTTYPEyes':
return L10n.of(context).grammarCopyPUNCTTYPEyes;
case 'grammarCopyPUNCTTYPEsemi':
return L10n.of(context).grammarCopyPUNCTTYPEsemi;
case 'grammarCopyPUNCTTYPEcomm':
return L10n.of(context).grammarCopyPUNCTTYPEcomm;
case 'grammarCopyMOODcnd':
return L10n.of(context).grammarCopyMOODcnd;
case 'grammarCopyCASEacc':
return L10n.of(context).grammarCopyCASEacc;
case 'grammarCopyPARTTYPEpart':
return L10n.of(context).grammarCopyPARTTYPEpart;
case 'grammarCopyTENSEpast':
return L10n.of(context).grammarCopyTENSEpast;
case 'grammarCopyDEGREEsup':
return L10n.of(context).grammarCopyDEGREEsup;
case 'grammarCopyPUNCTTYPEcolo':
return L10n.of(context).grammarCopyPUNCTTYPEcolo;
case 'grammarCopyPERSON3':
return L10n.of(context).grammarCopyPERSON3;
case 'grammarCopyNUMBERplur':
return L10n.of(context).grammarCopyNUMBERplur;
case 'grammarCopyPRONTYPEnpr':
return L10n.of(context).grammarCopyPRONTYPEnpr;
case 'grammarCopyPRONTYPEprs':
return L10n.of(context).grammarCopyPRONTYPEprs;
case 'grammarCopyPRONTYPEind':
return L10n.of(context).grammarCopyPRONTYPEind;
case 'grammarCopyPRONTYPEinterrogative':
return L10n.of(context).grammarCopyPRONTYPEinterrogative;
case 'grammarCopyPRONTYPEart':
return L10n.of(context).grammarCopyPRONTYPEart;
case 'grammarCopyPRONTYPEtot':
return L10n.of(context).grammarCopyPRONTYPEtot;
case 'grammarCopyPRONTYPEneg':
return L10n.of(context).grammarCopyPRONTYPEneg;
case 'grammarCopyPOLITEinfm':
return L10n.of(context).grammarCopyPOLITEinfm;
case 'grammarCopyADVTYPEtim':
return L10n.of(context).grammarCopyADVTYPEtim;
case 'grammarCopyPOLARITYpos':
return L10n.of(context).grammarCopyPOLARITYpos;
case 'grammarCopyPOLARITYneg':
return L10n.of(context).grammarCopyPOLARITYneg;
case 'grammarCopyNUMTYPEtot':
return L10n.of(context).grammarCopyNUMTYPEtot;
case 'grammarCopyADVTYPEadnomial':
return L10n.of(context).grammarCopyADVTYPEadnomial;
case 'grammarCopyASPECTprog':
return L10n.of(context).grammarCopyASPECTprog;
case 'grammarCopyMOODsub':
return L10n.of(context).grammarCopyMOODsub;
case 'grammarCopyVERBFORMcomplementive':
return L10n.of(context).grammarCopyVERBFORMcomplementive;
case 'grammarCopyCASEnom':
return L10n.of(context).grammarCopyCASEnom;
case 'grammarCopyTENSEfut':
return L10n.of(context).grammarCopyTENSEfut;
case 'grammarCopyCASEdat':
return L10n.of(context).grammarCopyCASEdat;
case 'grammarCopyTENSEpres':
return L10n.of(context).grammarCopyTENSEpres;
case 'grammarCopyGENDERneut':
return L10n.of(context).grammarCopyGENDERneut;
case 'grammarCopyPRONTYPErel':
return L10n.of(context).grammarCopyPRONTYPErel;
case 'grammarCopyVERBFORMfinalEnding':
return L10n.of(context).grammarCopyVERBFORMfinalEnding;
case 'grammarCopyPRONTYPEdem':
return L10n.of(context).grammarCopyPRONTYPEdem;
case 'grammarCopyPREPCASEpre':
return L10n.of(context).grammarCopyPREPCASEpre;
case 'grammarCopyPREPCASEnpr':
return L10n.of(context).grammarCopyPREPCASEnpr;
case 'grammarCopyVERBFORMfin':
return L10n.of(context).grammarCopyVERBFORMfin;
case 'grammarCopyDEGREEpos':
return L10n.of(context).grammarCopyDEGREEpos;
case 'grammarCopyPUNCTTYPEquot':
return L10n.of(context).grammarCopyPUNCTTYPEquot;
case 'grammarCopyVERBFORMger':
return L10n.of(context).grammarCopyVERBFORMger;
case 'grammarCopyVOICEpass':
return L10n.of(context).grammarCopyVOICEpass;
case 'grammarCopyVOICErcp':
return L10n.of(context).grammarCopyVOICErcp;
case 'grammarCopyVOICEinv':
return L10n.of(context).grammarCopyVOICEinv;
case 'grammarCopyVOICEdir':
return L10n.of(context).grammarCopyVOICEdir;
case 'grammarCopyVOICEcau':
return L10n.of(context).grammarCopyVOICEcau;
case 'grammarCopyCASEgen':
return L10n.of(context).grammarCopyCASEgen;
case 'grammarCopyTENSEprs':
return L10n.of(context).grammarCopyTENSEprs;
case 'grammarCopyDEFINITEdef':
return L10n.of(context).grammarCopyDEFINITEdef;
case 'grammarCopyDEFINITEind':
return L10n.of(context).grammarCopyDEFINITEind;
case 'grammarCopyNUMTYPEord':
return L10n.of(context).grammarCopyNUMTYPEord;
case 'grammarCopyCASEins':
return L10n.of(context).grammarCopyCASEins;
case 'grammarCopyVERBFORMinf':
return L10n.of(context).grammarCopyVERBFORMinf;
case 'grammarCopyVERBFORMaux':
return L10n.of(context).grammarCopyVERBFORMaux;
case 'grammarCopyVERBFORMcompl':
return L10n.of(context).grammarCopyVERBFORMcomplementive;
case 'grammarCopyVERBFORMlng':
return L10n.of(context).grammarCopyVERBFORMlng;
case 'grammarCopyVERBFORMadn':
return L10n.of(context).grammarCopyVERBFORMadn;
case 'grammarCopyVERBFORMsup':
return L10n.of(context).grammarCopyVERBFORMsup;
case 'grammarCopyNUMFORMlong':
return L10n.of(context).grammarCopyNUMFORMlong;
case 'grammarCopyCASEloc':
return L10n.of(context).grammarCopyCASEloc;
case 'grammarCopyMOODind':
return L10n.of(context).grammarCopyMOODind;
case 'grammarCopyDEGREEcmp':
return L10n.of(context).grammarCopyDEGREEcmp;
case 'grammarCopyCASErelativeCase':
return L10n.of(context).grammarCopyCASErelativeCase;
case 'grammarCopyPUNCTTYPEexcl':
return L10n.of(context).grammarCopyPUNCTTYPEexcl;
case 'grammarCopyPUNCTTYPEperi':
return L10n.of(context).grammarCopyPUNCTTYPEperi;
case 'grammarCopyPERSON1':
return L10n.of(context).grammarCopyPERSON1;
case 'grammarCopyPUNCTSIDEini':
return L10n.of(context).grammarCopyPUNCTSIDEini;
case 'grammarCopyPUNCTSIDEfin':
return L10n.of(context).grammarCopyPUNCTSIDEfin;
case 'grammarCopyGENDERperson':
return L10n.of(context).grammarCopyGENDERperson;
case 'grammarCopyFOREIGNyes':
return L10n.of(context).grammarCopyFOREIGNyes;
case 'grammarCopyVOICEvoice':
return L10n.of(context).grammarCopyVOICEvoice;
case 'grammarCopyVERBTYPEverbType':
return L10n.of(context).grammarCopyVERBTYPEverbType;
case 'grammarCopyPOSSpass':
return L10n.of(context).grammarCopyPOSSpass;
case 'grammarCopyPOSSyes':
return L10n.of(context).grammarCopyPOSSyes;
case 'grammarCopyPREPCASEprepCase':
return L10n.of(context).grammarCopyPREPCASEprepCase;
case 'grammarCopyNUMTYPEnumType':
return L10n.of(context).grammarCopyNUMTYPEnumType;
case 'grammarCopyNOUNTYPEnounType':
return L10n.of(context).grammarCopyNOUNTYPEnounType;
case 'grammarCopyREFLEXreflex':
return L10n.of(context).grammarCopyREFLEXreflex;
case 'grammarCopyPRONTYPEpronType':
return L10n.of(context).grammarCopyPRONTYPEpronType;
case 'grammarCopyPUNCTSIDEpunctSide':
return L10n.of(context).grammarCopyPUNCTSIDEpunctSide;
case 'grammarCopyVERBFORMverbForm':
return L10n.of(context).grammarCopyVERBFORMverbForm;
case 'grammarCopyGENDERgender':
return L10n.of(context).grammarCopyGENDERgender;
case 'grammarCopyMOODmood':
return L10n.of(context).grammarCopyMOODmood;
case 'grammarCopyASPECTaspect':
return L10n.of(context).grammarCopyASPECTaspect;
case 'grammarCopyPUNCTTYPEpunctType':
return L10n.of(context).grammarCopyPUNCTTYPEpunctType;
case 'grammarCopyTENSEtense':
return L10n.of(context).grammarCopyTENSEtense;
case 'grammarCopyDEGREEdegree':
return L10n.of(context).grammarCopyDEGREEdegree;
case 'grammarCopyPOLITEpolite':
return L10n.of(context).grammarCopyPOLITEpolite;
case 'grammarCopyADVTYPEadvType':
return L10n.of(context).grammarCopyADVTYPEadvType;
case 'grammarCopyNUMFORMnumber':
return L10n.of(context).grammarCopyNUMFORMnumber;
case 'grammarCopyCONJTYPEconjType':
return L10n.of(context).grammarCopyCONJTYPEconjType;
case 'grammarCopyPOLARITYpolarity':
return L10n.of(context).grammarCopyPOLARITYpolarity;
case 'grammarCopyCASEcase':
return L10n.of(context).grammarCopyCASEcase;
case 'grammarCopyDEFINITEdefinite':
return L10n.of(context).grammarCopyDEFINITEdefinite;
case 'grammarCopyNUMFORMnumForm':
return L10n.of(context).grammarCopyNUMFORMnumForm;
case 'grammarCopyPRONTYPEadn':
return L10n.of(context).grammarCopyPRONTYPEadn;
case 'grammarCopyVOCvoc':
return L10n.of(context).grammarCopyVOCvoc;
case 'grammarCopyCMPLcmpl':
return L10n.of(context).grammarCopyCMPLcmpl;
case 'grammarCopyADVadv':
return L10n.of(context).grammarCopyADVadv;
case 'grammarCopyMOODjus':
return L10n.of(context).grammarCopyMOODjus;
case 'grammarCopyGENDERcom':
return L10n.of(context).grammarCopyGENDERcom;
case 'grammarCopyREFLEXrflx':
return L10n.of(context).grammarCopyREFLEXrflx;
case 'grammarCopyREFLEXyes':
return L10n.of(context).grammarCopyREFLEXyes;
case 'grammarCopyPARTTYPEpar':
return L10n.of(context).grammarCopyPARTTYPEpar;
case 'grammarCopySPCspc':
return L10n.of(context).grammarCopySPCspc;
case 'grammarCopyTENSEpqp':
return L10n.of(context).grammarCopyTENSEpqp;
case 'grammarCopyREFLEXref':
return L10n.of(context).grammarCopyREFLEXref;
case 'grammarCopyPUNCTTYPEnshrt':
return L10n.of(context).grammarCopyPUNCTTYPEnshrt;
case 'grammarCopyNUMBERdual':
return L10n.of(context).grammarCopyNUMBERdual;
case 'grammarCopyNUMFORMlng':
return L10n.of(context).grammarCopyNUMFORMlng;
case 'grammarCopyVOICEmid':
return L10n.of(context).grammarCopyVOICEmid;
case 'grammarCopyINTRELintRel':
return L10n.of(context).grammarCopyINTRELintRel;
case 'grammarCopyINTint':
return L10n.of(context).grammarCopyINTint;
case 'grammarCopyVOICEcaus':
return L10n.of(context).grammarCopyVOICEcaus;
case 'grammarCopyUNKNOWNunknown':
return L10n.of(context).grammarCopyUnknown;
case 'grammarCopyEVIDENTevident':
return L10n.of(context).grammarCopyEVIDENTevident;
case 'grammarCopyNUMFORMnumberPsor':
return L10n.of(context).grammarCopyNUMFORMnumberPsor;
case 'grammarCopyASPECThab':
return L10n.of(context).grammarCopyASPECThab;
case 'grammarCopyCASEabl':
return L10n.of(context).grammarCopyCASEabl;
case 'grammarCopyCASEall':
return L10n.of(context).grammarCopyCASEall;
case 'grammarCopyCASEess':
return L10n.of(context).grammarCopyCASEess;
case 'grammarCopyCASEtra':
return L10n.of(context).grammarCopyCASEtra;
case 'grammarCopyCASEequ':
return L10n.of(context).grammarCopyCASEequ;
case 'grammarCopyCASEdis':
return L10n.of(context).grammarCopyCASEdis;
case 'grammarCopyCASEabs':
return L10n.of(context).grammarCopyCASEabs;
case 'grammarCopyCASEerg':
return L10n.of(context).grammarCopyCASEerg;
case 'grammarCopyCASEcau':
return L10n.of(context).grammarCopyCASEcau;
case 'grammarCopyCASEben':
return L10n.of(context).grammarCopyCASEben;
case 'grammarCopyCASEtem':
return L10n.of(context).grammarCopyCASEtem;
case 'grammarCopyCONJTYPEcoord':
return L10n.of(context).grammarCopyCONJTYPEcoord;
case 'grammarCopyCONJTYPEcmp':
return L10n.of(context).grammarCopyCONJTYPEcmp;
case 'grammarCopyCONJTYPEsub':
return L10n.of(context).grammarCopyCONJTYPEsub;
case 'grammarCopyDEFINITEcons':
return L10n.of(context).grammarCopyDEFINITEcons;
case 'grammarCopyDEGREEabs':
return L10n.of(context).grammarCopyDEGREEabs;
case 'grammarCopyEVIDENTfh':
return L10n.of(context).grammarCopyEVIDENTfh;
case 'grammarCopyEVIDENTnfh':
return L10n.of(context).grammarCopyEVIDENTnfh;
case 'grammarCopyMOODopt':
return L10n.of(context).grammarCopyMOODopt;
case 'grammarCopyMOODadm':
return L10n.of(context).grammarCopyMOODadm;
case 'grammarCopyMOODdes':
return L10n.of(context).grammarCopyMOODdes;
case 'grammarCopyMOODnec':
return L10n.of(context).grammarCopyMOODnec;
case 'grammarCopyMOODpot':
return L10n.of(context).grammarCopyMOODpot;
case 'grammarCopyMOODprp':
return L10n.of(context).grammarCopyMOODprp;
case 'grammarCopyMOODqot':
return L10n.of(context).grammarCopyMOODqot;
case 'grammarCopyMOODint':
return L10n.of(context).grammarCopyMOODint;
case 'grammarCopyNUMFORMword':
return L10n.of(context).grammarCopyNUMFORMword;
case 'grammarCopyNUMFORMroman':
return L10n.of(context).grammarCopyNUMFORMroman;
case 'grammarCopyNUMFORMletter':
return L10n.of(context).grammarCopyNUMFORMletter;
case 'grammarCopyNUMTYPEmult':
return L10n.of(context).grammarCopyNUMTYPEmult;
case 'grammarCopyNUMTYPEfrac':
return L10n.of(context).grammarCopyNUMTYPEfrac;
case 'grammarCopyNUMTYPEsets':
return L10n.of(context).grammarCopyNUMTYPEsets;
case 'grammarCopyNUMTYPErange':
return L10n.of(context).grammarCopyNUMTYPErange;
case 'grammarCopyNUMTYPEdist':
return L10n.of(context).grammarCopyNUMTYPEdist;
case 'grammarCopyNUMBERtri':
return L10n.of(context).grammarCopyNUMBERtri;
case 'grammarCopyNUMBERpauc':
return L10n.of(context).grammarCopyNUMBERpauc;
case 'grammarCopyNUMBERgrpa':
return L10n.of(context).grammarCopyNUMBERgrpa;
case 'grammarCopyNUMBERgrpl':
return L10n.of(context).grammarCopyNUMBERgrpl;
case 'grammarCopyNUMBERinv':
return L10n.of(context).grammarCopyNUMBERinv;
case 'grammarCopyPERSON0':
return L10n.of(context).grammarCopyPERSON0;
case 'grammarCopyPERSON4':
return L10n.of(context).grammarCopyPERSON4;
case 'grammarCopyPOLITEform':
return L10n.of(context).grammarCopyPOLITEform;
case 'grammarCopyPOLITEelev':
return L10n.of(context).grammarCopyPOLITEelev;
case 'grammarCopyPOLITEhumb':
return L10n.of(context).grammarCopyPOLITEhumb;
case 'grammarCopyPRONTYPEemp':
return L10n.of(context).grammarCopyPRONTYPEemp;
case 'grammarCopyPRONTYPEexc':
return L10n.of(context).grammarCopyPRONTYPEexc;
case 'grammarCopyPRONTYPErcp':
return L10n.of(context).grammarCopyPRONTYPErcp;
case 'grammarCopyPRONTYPEint':
return L10n.of(context).grammarCopyPRONTYPEint;
case 'grammarCopyPRONTYPEintrel':
return L10n.of(context).grammarCopyPRONTYPEintrel;
case 'grammarCopyPRONTYPEintRelPronType':
return L10n.of(context).grammarCopyPRONTYPEintRelPronType;
case 'grammarCopyTENSEaor':
return L10n.of(context).grammarCopyTENSEaor;
case 'grammarCopyTENSEeps':
return L10n.of(context).grammarCopyTENSEeps;
case 'grammarCopyTENSEprosp':
return L10n.of(context).grammarCopyTENSEprosp;
case 'grammarCopyTENSEimp':
return L10n.of(context).grammarCopyTENSEimp;
case 'grammarCopyVERBFORMpart':
return L10n.of(context).grammarCopyVERBFORMpart;
case 'grammarCopyVERBFORMconv':
return L10n.of(context).grammarCopyVERBFORMconv;
case 'grammarCopyVERBFORMvnoun':
return L10n.of(context).grammarCopyVERBFORMvnoun;
case 'grammarCopyVOICEantip':
return L10n.of(context).grammarCopyVOICEantip;
case 'grammarCopyVOICEcauVoice':
return L10n.of(context).grammarCopyVOICEcauVoice;
case 'grammarCopyVOICedir':
return L10n.of(context).grammarCopyVOICedir;
case 'grammarCopyVOICEinvVoice':
return L10n.of(context).grammarCopyVOICEinvVoice;
case 'grammarCopyVOICErcpVoice':
return L10n.of(context).grammarCopyVOICErcpVoice;
case "grammarCopyCASEaccdat":
return L10n.of(context).grammarCopyCASEaccdat;
case 'grammarCopyVERBFORMshrt':
return L10n.of(context).grammarCopyVERBFORMshrt;
// 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: 'Need to add copy to intl_en.arb',
data: {'tag': key, 'context': context},
level: SentryLevel.warning,
);
return lemma; // Fallback to the lemma itself if no match is found
}
}