@fpw/en-wiktionary-la-modules 0.1.7 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  * It was converted from Lua to TypeScript by Folke Will <folko@solhost.org>.
4
4
  *
5
5
  * Original source: https://en.wiktionary.org/wiki/Module:la-adj/data
6
- * Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-adj/data&oldid=68705243
6
+ * Based on version: https://en.wiktionary.org/w/index.php?title=Module:la-adj/data&oldid=71117358
7
7
  *
8
8
  * Lua idioms, function and variable names kept as in the original in order to easily
9
9
  * backport later changes to this implementation.
@@ -618,7 +618,44 @@ export const m_adj_decl: Map<string, ((data: SegmentData, args: string[]) => voi
618
618
  setNominalForm(data.forms, "abl_pl_n", [""]);
619
619
 
620
620
  data.voc = false;
621
+ } else if (args[0] == "hice") {
622
+ data.title = "demonstrative pronoun";
623
+ setNominalForm(data.forms, "nom_sg_m", ["hice"]);
624
+ setNominalForm(data.forms, "nom_sg_f", ["haece"]);
625
+ setNominalForm(data.forms, "nom_sg_n", ["hoce"]);
626
+ setNominalForm(data.forms, "nom_pl_m", ["hīce"]);
627
+ setNominalForm(data.forms, "nom_pl_n", ["haece"]);
628
+ setNominalForm(data.forms, "nom_pl_f", ["haece"]);
629
+
630
+ setNominalForm(data.forms, "gen_sg_m", ["huiusce"]);
631
+ setNominalForm(data.forms, "gen_sg_f", ["huiusce"]);
632
+ setNominalForm(data.forms, "gen_sg_n", ["huiusce"]);
633
+ setNominalForm(data.forms, "gen_pl_m", ["hōrunce", "hōrumce"]);
634
+ setNominalForm(data.forms, "gen_pl_f", ["hārunce", "hārumce"]);
635
+ setNominalForm(data.forms, "gen_pl_n", ["hōrunce", "hōrumce"]);
636
+
637
+ setNominalForm(data.forms, "dat_sg_m", ["huīce"]);
638
+ setNominalForm(data.forms, "dat_sg_f", ["huīce"]);
639
+ setNominalForm(data.forms, "dat_sg_n", ["huīce"]);
640
+ setNominalForm(data.forms, "dat_pl_m", ["hīsce"]);
641
+ setNominalForm(data.forms, "dat_pl_f", ["hīsce"]);
642
+ setNominalForm(data.forms, "dat_pl_n", ["hīsce"]);
643
+
644
+ setNominalForm(data.forms, "acc_sg_m", ["hunce"]);
645
+ setNominalForm(data.forms, "acc_sg_f", ["hance"]);
646
+ setNominalForm(data.forms, "acc_sg_n", ["hoce"]);
647
+ setNominalForm(data.forms, "acc_pl_m", ["hōsce"]);
648
+ setNominalForm(data.forms, "acc_pl_f", ["hāsce"]);
649
+ setNominalForm(data.forms, "acc_pl_n", ["haece"]);
650
+
651
+ setNominalForm(data.forms, "abl_sg_m", ["hōce"]);
652
+ setNominalForm(data.forms, "abl_sg_f", ["hāce"]);
653
+ setNominalForm(data.forms, "abl_sg_n", ["hōce"]);
654
+ setNominalForm(data.forms, "abl_pl_m", ["hīsce"]);
655
+ setNominalForm(data.forms, "abl_pl_f", ["hīsce"]);
656
+ setNominalForm(data.forms, "abl_pl_n", ["hīsce"]);
621
657
 
658
+ data.voc = false;
622
659
  } else if (args[0] == "plūs") {
623
660
  data.title = "irregular third-declension comparative adjective";
624
661
 
@@ -799,67 +836,125 @@ export const m_adj_decl: Map<string, ((data: SegmentData, args: string[]) => voi
799
836
 
800
837
  data.categories = [];
801
838
  } else if (args[0] == "quis" || args[0] == "quī") {
802
- let id = "id";
839
+ if (data.declOpts.useSimpleQuis) {
840
+ let id = "id";
841
+ if (args[0] == "quī") {
842
+ id = "od";
843
+ }
844
+ data.title = "relative/interrogative pronoun";
845
+ if (args[0] == "quī") {
846
+ setNominalForm(data.forms, "nom_sg_m", ["quī"]);
847
+ } else {
848
+ setNominalForm(data.forms, "nom_sg_m", ["quis"]);
849
+ }
850
+ setNominalForm(data.forms, "nom_sg_f", ["quae"]);
851
+ setNominalForm(data.forms, "nom_sg_n", ["qu" + id]);
852
+ setNominalForm(data.forms, "nom_pl_m", ["quī"]);
853
+ setNominalForm(data.forms, "nom_pl_f", ["quae"]);
854
+ setNominalForm(data.forms, "nom_pl_n", ["quae"]);
803
855
 
804
- if (args[0] == "quī") {
805
- id = "od";
856
+ setNominalForm(data.forms, "acc_sg_m", ["quem"]);
806
857
  setNominalForm(data.forms, "acc_sg_f", ["quam"]);
807
- setNominalForm(data.forms, "abl_sg_f", ["quā"]);
808
- } else {
809
- setNominalForm(data.forms, "acc_sg_f", ["quem", "quam"]);
810
- setNominalForm(data.forms, "abl_sg_f", ["quō", "quā"]);
811
- }
812
- data.title = "relative/interrogative pronoun";
813
-
814
- setNominalForm(data.forms, "nom_sg_m", ["quis"]);
815
- setNominalForm(data.forms, "nom_sg_f", ["quis", "quae"]);
816
- setNominalForm(data.forms, "nom_sg_n", ["qu" + id]);
817
- setNominalForm(data.forms, "nom_pl_m", ["quī"]);
818
- setNominalForm(data.forms, "nom_pl_f", ["quae"]);
819
- setNominalForm(data.forms, "nom_pl_n", ["quae"]);
820
-
821
- setNominalForm(data.forms, "gen_sg_m", ["cuius"]);
822
- setNominalForm(data.forms, "gen_sg_f", ["cuius"]);
823
- setNominalForm(data.forms, "gen_sg_n", ["cuius"]);
824
- setNominalForm(data.forms, "gen_pl_m", ["quōrum"]);
825
- setNominalForm(data.forms, "gen_pl_f", ["quārum"]);
826
- setNominalForm(data.forms, "gen_pl_n", ["quōrum"]);
827
-
828
- setNominalForm(data.forms, "dat_sg_m", ["cui"]);
829
- setNominalForm(data.forms, "dat_sg_f", ["cui"]);
830
- setNominalForm(data.forms, "dat_sg_n", ["cui"]);
831
- if (!data.declOpts.suppressRareIrregForms) {
832
- setNominalForm(data.forms, "dat_pl_m", ["quibus", "quīs"]);
833
- setNominalForm(data.forms, "dat_pl_f", ["quibus", "quīs"]);
834
- setNominalForm(data.forms, "dat_pl_n", ["quibus", "quīs"]);
835
-
836
- setNominalForm(data.forms, "abl_pl_m", ["quibus", "quīs"]);
837
- setNominalForm(data.forms, "abl_pl_f", ["quibus", "quīs"]);
838
- setNominalForm(data.forms, "abl_pl_n", ["quibus", "quīs"]);
839
- } else {
858
+ setNominalForm(data.forms, "acc_sg_n", ["qu" + id]);
859
+ setNominalForm(data.forms, "acc_pl_m", ["quōs"]);
860
+ setNominalForm(data.forms, "acc_pl_f", ["quās"]);
861
+ setNominalForm(data.forms, "acc_pl_n", ["quae"]);
862
+
863
+ setNominalForm(data.forms, "gen_sg_m", ["cuius"]);
864
+ setNominalForm(data.forms, "gen_sg_f", ["cuius"]);
865
+ setNominalForm(data.forms, "gen_sg_n", ["cuius"]);
866
+ setNominalForm(data.forms, "gen_pl_m", ["quōrum"]);
867
+ setNominalForm(data.forms, "gen_pl_f", ["quārum"]);
868
+ setNominalForm(data.forms, "gen_pl_n", ["quōrum"]);
869
+
870
+ setNominalForm(data.forms, "dat_sg_m", ["cui"]);
871
+ setNominalForm(data.forms, "dat_sg_f", ["cui"]);
872
+ setNominalForm(data.forms, "dat_sg_n", ["cui"]);
840
873
  setNominalForm(data.forms, "dat_pl_m", ["quibus"]);
841
874
  setNominalForm(data.forms, "dat_pl_f", ["quibus"]);
842
875
  setNominalForm(data.forms, "dat_pl_n", ["quibus"]);
843
876
 
877
+ setNominalForm(data.forms, "abl_sg_m", ["quō"]);
878
+ setNominalForm(data.forms, "abl_sg_f", ["quā"]);
879
+ setNominalForm(data.forms, "abl_sg_n", ["quō"]);
844
880
  setNominalForm(data.forms, "abl_pl_m", ["quibus"]);
845
881
  setNominalForm(data.forms, "abl_pl_f", ["quibus"]);
846
882
  setNominalForm(data.forms, "abl_pl_n", ["quibus"]);
847
- }
848
883
 
849
- setNominalForm(data.forms, "acc_sg_m", ["quem"]);
850
- setNominalForm(data.forms, "acc_sg_n", ["qu" + id]);
851
- setNominalForm(data.forms, "acc_pl_m", ["quōs"]);
852
- setNominalForm(data.forms, "acc_pl_f", ["quās"]);
853
- setNominalForm(data.forms, "acc_pl_n", ["quae"]);
884
+ data.voc = false;
885
+ } else {
886
+ const note1 = "When used as an indefinite pronoun or adjective, the feminine nominative singular and neuter nominative/accusative plural is usually 'qua' instead of 'quae'. Indefinite 'qua' is generally only found directly after the accompanying '[[si#Latin|sī]]', '[[nisi#Latin|nisi]]', '[[num#Latin|num]]', or '[[ne#Latin|nē]]' and may be considered to be either enclitic to it or forming a compound with it; sometimes '[[siqua#Latin|sīqua]]', '[[numqua#Latin|numqua]]', and '[[nequa#Latin|nēqua]]' are written together. The form 'qua' is never found for any form of the interrogative or relative pronouns, nor for the feminine plural of the indefinite pronoun or adjective.";
887
+ const note2 = "In Republican Latin or earlier, 'quī' was often spelled as '[[quei]]', 'cuius' as '[[quoius]]', 'cui' as '[[quoi]]' (or '[[quoiei]]'), and 'quīs' as '[[queis]]'.";
888
+ let id = "id";
889
+
890
+ if (args[0] == "quī") {
891
+ id = "od";
892
+ setNominalForm(data.forms, "nom_sg_m", ["quī", "quis"]);
893
+ setNominalForm(data.forms, "nom_sg_f", ["quae", "qua"]);
894
+ setNominalForm(data.forms, "acc_sg_f", ["quam"]);
895
+ setNominalForm(data.forms, "abl_sg_m", ["quō"]);
896
+ setNominalForm(data.forms, "abl_sg_f", ["quā"]);
897
+ setNominalForm(data.forms, "abl_sg_n", ["quō"]);
898
+ data.notes.set("nom_sg_m1", note2);
899
+ data.notes.set("nom_sg_f2", note1);
900
+ } else {
901
+ setNominalForm(data.forms, "nom_sg_m", ["quis", "quī"]);
902
+ setNominalForm(data.forms, "nom_sg_f", ["quae", "qua", "quis"]);
903
+ setNominalForm(data.forms, "acc_sg_f", ["quam", "quem"]);
904
+ setNominalForm(data.forms, "abl_sg_m", ["quō", "quī"]);
905
+ setNominalForm(data.forms, "abl_sg_f", ["quā", "quī"]);
906
+ setNominalForm(data.forms, "abl_sg_n", ["quō", "quī"]);
907
+ data.notes.set("nom_sg_m2", note2);
908
+ data.notes.set("nom_sg_f2", note1);
909
+ }
910
+ data.title = "relative/interrogative pronoun";
854
911
 
855
- setNominalForm(data.forms, "abl_sg_m", ["quō"]);
856
- setNominalForm(data.forms, "abl_sg_n", ["quō"]);
912
+ setNominalForm(data.forms, "nom_sg_n", ["qu" + id]);
913
+ setNominalForm(data.forms, "nom_pl_m", ["quī"]);
914
+ setNominalForm(data.forms, "nom_pl_f", ["quae"]);
915
+ setNominalForm(data.forms, "nom_pl_n", ["quae", "qua"]);
916
+ data.notes.set("nom_pl_m1", note2);
917
+ data.notes.set("nom_pl_n2", note1);
918
+
919
+ setNominalForm(data.forms, "gen_sg_m", ["cuius"]);
920
+ setNominalForm(data.forms, "gen_sg_f", ["cuius"]);
921
+ setNominalForm(data.forms, "gen_sg_n", ["cuius"]);
922
+ setNominalForm(data.forms, "gen_pl_m", ["quōrum"]);
923
+ setNominalForm(data.forms, "gen_pl_f", ["quārum"]);
924
+ setNominalForm(data.forms, "gen_pl_n", ["quōrum"]);
925
+ data.notes.set("gen_sg_m1", note2);
926
+ data.notes.set("gen_sg_f1", note2);
927
+ data.notes.set("gen_sg_n1", note2);
928
+
929
+ setNominalForm(data.forms, "dat_sg_m", ["cui"]);
930
+ setNominalForm(data.forms, "dat_sg_f", ["cui"]);
931
+ setNominalForm(data.forms, "dat_sg_n", ["cui"]);
932
+ data.notes.set("dat_sg_m1", note2);
933
+ data.notes.set("dat_sg_f1", note2);
934
+ data.notes.set("dat_sg_n1", note2);
857
935
 
858
- data.voc = false;
936
+ setNominalForm(data.forms, "dat_pl_m", ["quibus", "quīs"]);
937
+ setNominalForm(data.forms, "dat_pl_f", ["quibus", "quīs"]);
938
+ setNominalForm(data.forms, "dat_pl_n", ["quibus", "quīs"]);
939
+ data.notes.set("dat_pl_m2", note2);
940
+ data.notes.set("dat_pl_f2", note2);
941
+ data.notes.set("dat_pl_n2", note2);
859
942
 
860
- if (args[0] == "quī") {
861
- setNominalForm(data.forms, "nom_sg_m", ["quī"]);
862
- setNominalForm(data.forms, "nom_sg_f", ["quae"]);
943
+ setNominalForm(data.forms, "abl_pl_m", ["quibus", "quīs"]);
944
+ setNominalForm(data.forms, "abl_pl_f", ["quibus", "quīs"]);
945
+ setNominalForm(data.forms, "abl_pl_n", ["quibus", "quīs"]);
946
+ data.notes.set("abl_pl_m2", note2);
947
+ data.notes.set("abl_pl_f2", note2);
948
+ data.notes.set("abl_pl_n2", note2);
949
+
950
+ setNominalForm(data.forms, "acc_sg_m", ["quem"]);
951
+ setNominalForm(data.forms, "acc_sg_n", ["qu" + id]);
952
+ setNominalForm(data.forms, "acc_pl_m", ["quōs"]);
953
+ setNominalForm(data.forms, "acc_pl_f", ["quās"]);
954
+ setNominalForm(data.forms, "acc_pl_n", ["quae", "qua"]);
955
+ data.notes.set("acc_pl_n2", note1);
956
+
957
+ data.voc = false;
863
958
  }
864
959
  } else if (args[0] == "quisquis") {
865
960
  data.title = "relative/interrogative pronoun";
@@ -22,6 +22,7 @@ export interface DeclOptions {
22
22
  suppressOldGenitive?: boolean;
23
23
  suppressNonNeuterIStemAccIs?: boolean;
24
24
  suppressRareIrregForms?: boolean;
25
+ useSimpleQuis?: boolean;
25
26
  populateAllTerminations?: boolean;
26
27
  suppressAdjPtcForms?: boolean;
27
28
  }
@@ -9,11 +9,15 @@ export enum NominalType {
9
9
  NotBoth = "not_both",
10
10
 
11
11
  Masculine = "M",
12
+ masculine = "m",
12
13
  Feminine = "F",
14
+ feminine = "f",
13
15
  Neuter = "N",
14
16
  neuter = "n",
15
17
  NoMasculine = "-M",
16
18
  NotMasculine = "not_M",
19
+ NotMe = "not_Me",
20
+ NotFeminine = "not_F",
17
21
  NoFeminine = "-F",
18
22
  NoNeuter = "-N",
19
23
  NotNeuter = "not_N",