@lokascript/domain-learn 2.1.0

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.
Files changed (44) hide show
  1. package/dist/generators/gloss-generator.d.ts +18 -0
  2. package/dist/generators/learn-renderer.d.ts +13 -0
  3. package/dist/generators/sentence-generator.d.ts +34 -0
  4. package/dist/index.cjs +6116 -0
  5. package/dist/index.cjs.map +1 -0
  6. package/dist/index.d.cts +441 -0
  7. package/dist/index.d.ts +55 -0
  8. package/dist/index.js +6056 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/profiles/ar.d.ts +2 -0
  11. package/dist/profiles/de.d.ts +2 -0
  12. package/dist/profiles/en.d.ts +2 -0
  13. package/dist/profiles/es.d.ts +2 -0
  14. package/dist/profiles/fr.d.ts +2 -0
  15. package/dist/profiles/index.d.ts +20 -0
  16. package/dist/profiles/ja.d.ts +2 -0
  17. package/dist/profiles/ko.d.ts +2 -0
  18. package/dist/profiles/pt.d.ts +2 -0
  19. package/dist/profiles/tr.d.ts +2 -0
  20. package/dist/profiles/zh.d.ts +2 -0
  21. package/dist/schemas/index.d.ts +31 -0
  22. package/dist/tokenizers/index.d.ts +23 -0
  23. package/dist/types.d.ts +266 -0
  24. package/package.json +63 -0
  25. package/src/__tests__/schemas.test.ts +145 -0
  26. package/src/__tests__/sentence-generation.test.ts +189 -0
  27. package/src/generators/gloss-generator.ts +145 -0
  28. package/src/generators/learn-renderer.ts +291 -0
  29. package/src/generators/sentence-generator.ts +501 -0
  30. package/src/index.ts +237 -0
  31. package/src/profiles/ar.ts +526 -0
  32. package/src/profiles/de.ts +481 -0
  33. package/src/profiles/en.ts +181 -0
  34. package/src/profiles/es.ts +829 -0
  35. package/src/profiles/fr.ts +466 -0
  36. package/src/profiles/index.ts +34 -0
  37. package/src/profiles/ja.ts +301 -0
  38. package/src/profiles/ko.ts +286 -0
  39. package/src/profiles/pt.ts +484 -0
  40. package/src/profiles/tr.ts +511 -0
  41. package/src/profiles/zh.ts +256 -0
  42. package/src/schemas/index.ts +576 -0
  43. package/src/tokenizers/index.ts +409 -0
  44. package/src/types.ts +321 -0
@@ -0,0 +1,484 @@
1
+ import type { LearnLanguageProfile, PortugueseForms, LanguageFrames } from '../types';
2
+
3
+ const morphologyTable: Record<string, PortugueseForms> = {
4
+ add: {
5
+ infinitive: 'adicionar',
6
+ imperative: {
7
+ voce: 'adicione',
8
+ voces: 'adicionem',
9
+ },
10
+ present: {
11
+ eu: 'eu adiciono',
12
+ voce: 'adiciona',
13
+ ele: 'adiciona',
14
+ nos: 'adicionamos',
15
+ voces: 'adicionam',
16
+ eles: 'adicionam',
17
+ },
18
+ preterite: {
19
+ ele: 'adicionou',
20
+ eu: 'adicionei',
21
+ },
22
+ imperfect: {
23
+ ele: 'adicionava',
24
+ },
25
+ future: {
26
+ ele: 'adicionará',
27
+ },
28
+ gerund: 'adicionando',
29
+ },
30
+
31
+ remove: {
32
+ infinitive: 'remover',
33
+ imperative: {
34
+ voce: 'remova',
35
+ voces: 'removam',
36
+ },
37
+ present: {
38
+ eu: 'eu removo',
39
+ voce: 'remove',
40
+ ele: 'remove',
41
+ nos: 'removemos',
42
+ voces: 'removem',
43
+ eles: 'removem',
44
+ },
45
+ preterite: {
46
+ ele: 'removeu',
47
+ eu: 'removi',
48
+ },
49
+ imperfect: {
50
+ ele: 'removia',
51
+ },
52
+ future: {
53
+ ele: 'removerá',
54
+ },
55
+ gerund: 'removendo',
56
+ },
57
+
58
+ toggle: {
59
+ infinitive: 'alternar',
60
+ imperative: {
61
+ voce: 'alterne',
62
+ voces: 'alternem',
63
+ },
64
+ present: {
65
+ eu: 'eu alterno',
66
+ voce: 'alterna',
67
+ ele: 'alterna',
68
+ nos: 'alternamos',
69
+ voces: 'alternam',
70
+ eles: 'alternam',
71
+ },
72
+ preterite: {
73
+ ele: 'alternou',
74
+ eu: 'alternei',
75
+ },
76
+ imperfect: {
77
+ ele: 'alternava',
78
+ },
79
+ future: {
80
+ ele: 'alternará',
81
+ },
82
+ gerund: 'alternando',
83
+ },
84
+
85
+ put: {
86
+ infinitive: 'colocar',
87
+ imperative: {
88
+ voce: 'coloque',
89
+ voces: 'coloquem',
90
+ },
91
+ present: {
92
+ eu: 'eu coloco',
93
+ voce: 'coloca',
94
+ ele: 'coloca',
95
+ nos: 'colocamos',
96
+ voces: 'colocam',
97
+ eles: 'colocam',
98
+ },
99
+ preterite: {
100
+ ele: 'colocou',
101
+ eu: 'coloquei',
102
+ },
103
+ imperfect: {
104
+ ele: 'colocava',
105
+ },
106
+ future: {
107
+ ele: 'colocará',
108
+ },
109
+ gerund: 'colocando',
110
+ },
111
+
112
+ set: {
113
+ infinitive: 'definir',
114
+ imperative: {
115
+ voce: 'defina',
116
+ voces: 'definam',
117
+ },
118
+ present: {
119
+ eu: 'eu defino',
120
+ voce: 'define',
121
+ ele: 'define',
122
+ nos: 'definimos',
123
+ voces: 'definem',
124
+ eles: 'definem',
125
+ },
126
+ preterite: {
127
+ ele: 'definiu',
128
+ eu: 'defini',
129
+ },
130
+ imperfect: {
131
+ ele: 'definia',
132
+ },
133
+ future: {
134
+ ele: 'definirá',
135
+ },
136
+ gerund: 'definindo',
137
+ },
138
+
139
+ show: {
140
+ infinitive: 'mostrar',
141
+ imperative: {
142
+ voce: 'mostre',
143
+ voces: 'mostrem',
144
+ },
145
+ present: {
146
+ eu: 'eu mostro',
147
+ voce: 'mostra',
148
+ ele: 'mostra',
149
+ nos: 'mostramos',
150
+ voces: 'mostram',
151
+ eles: 'mostram',
152
+ },
153
+ preterite: {
154
+ ele: 'mostrou',
155
+ eu: 'mostrei',
156
+ },
157
+ imperfect: {
158
+ ele: 'mostrava',
159
+ },
160
+ future: {
161
+ ele: 'mostrará',
162
+ },
163
+ gerund: 'mostrando',
164
+ },
165
+
166
+ hide: {
167
+ infinitive: 'esconder',
168
+ imperative: {
169
+ voce: 'esconda',
170
+ voces: 'escondam',
171
+ },
172
+ present: {
173
+ eu: 'eu escondo',
174
+ voce: 'esconde',
175
+ ele: 'esconde',
176
+ nos: 'escondemos',
177
+ voces: 'escondem',
178
+ eles: 'escondem',
179
+ },
180
+ preterite: {
181
+ ele: 'escondeu',
182
+ eu: 'escondi',
183
+ },
184
+ imperfect: {
185
+ ele: 'escondia',
186
+ },
187
+ future: {
188
+ ele: 'esconderá',
189
+ },
190
+ gerund: 'escondendo',
191
+ },
192
+
193
+ get: {
194
+ infinitive: 'obter',
195
+ imperative: {
196
+ voce: 'obtenha',
197
+ voces: 'obtenham',
198
+ },
199
+ present: {
200
+ eu: 'eu obtenho',
201
+ voce: 'obtém',
202
+ ele: 'obtém',
203
+ nos: 'obtemos',
204
+ voces: 'obtêm',
205
+ eles: 'obtêm',
206
+ },
207
+ preterite: {
208
+ ele: 'obteve',
209
+ eu: 'obtive',
210
+ },
211
+ imperfect: {
212
+ ele: 'obtinha',
213
+ },
214
+ future: {
215
+ ele: 'obterá',
216
+ },
217
+ gerund: 'obtendo',
218
+ },
219
+
220
+ wait: {
221
+ infinitive: 'esperar',
222
+ imperative: {
223
+ voce: 'espere',
224
+ voces: 'esperem',
225
+ },
226
+ present: {
227
+ eu: 'eu espero',
228
+ voce: 'espera',
229
+ ele: 'espera',
230
+ nos: 'esperamos',
231
+ voces: 'esperam',
232
+ eles: 'esperam',
233
+ },
234
+ preterite: {
235
+ ele: 'esperou',
236
+ eu: 'esperei',
237
+ },
238
+ imperfect: {
239
+ ele: 'esperava',
240
+ },
241
+ future: {
242
+ ele: 'esperará',
243
+ },
244
+ gerund: 'esperando',
245
+ },
246
+
247
+ fetch: {
248
+ infinitive: 'buscar',
249
+ imperative: {
250
+ voce: 'busque',
251
+ voces: 'busquem',
252
+ },
253
+ present: {
254
+ eu: 'eu busco',
255
+ voce: 'busca',
256
+ ele: 'busca',
257
+ nos: 'buscamos',
258
+ voces: 'buscam',
259
+ eles: 'buscam',
260
+ },
261
+ preterite: {
262
+ ele: 'buscou',
263
+ eu: 'busquei',
264
+ },
265
+ imperfect: {
266
+ ele: 'buscava',
267
+ },
268
+ future: {
269
+ ele: 'buscará',
270
+ },
271
+ gerund: 'buscando',
272
+ },
273
+
274
+ send: {
275
+ infinitive: 'enviar',
276
+ imperative: {
277
+ voce: 'envie',
278
+ voces: 'enviem',
279
+ },
280
+ present: {
281
+ eu: 'eu envio',
282
+ voce: 'envia',
283
+ ele: 'envia',
284
+ nos: 'enviamos',
285
+ voces: 'enviam',
286
+ eles: 'enviam',
287
+ },
288
+ preterite: {
289
+ ele: 'enviou',
290
+ eu: 'enviei',
291
+ },
292
+ imperfect: {
293
+ ele: 'enviava',
294
+ },
295
+ future: {
296
+ ele: 'enviará',
297
+ },
298
+ gerund: 'enviando',
299
+ },
300
+
301
+ go: {
302
+ infinitive: 'ir',
303
+ imperative: {
304
+ voce: 'vá',
305
+ voces: 'vão',
306
+ },
307
+ present: {
308
+ eu: 'eu vou',
309
+ voce: 'vai',
310
+ ele: 'vai',
311
+ nos: 'vamos',
312
+ voces: 'vão',
313
+ eles: 'vão',
314
+ },
315
+ preterite: {
316
+ ele: 'foi',
317
+ eu: 'fui',
318
+ },
319
+ imperfect: {
320
+ ele: 'ia',
321
+ },
322
+ future: {
323
+ ele: 'irá',
324
+ },
325
+ gerund: 'indo',
326
+ },
327
+
328
+ increment: {
329
+ infinitive: 'incrementar',
330
+ imperative: {
331
+ voce: 'incremente',
332
+ voces: 'incrementem',
333
+ },
334
+ present: {
335
+ eu: 'eu incremento',
336
+ voce: 'incrementa',
337
+ ele: 'incrementa',
338
+ nos: 'incrementamos',
339
+ voces: 'incrementam',
340
+ eles: 'incrementam',
341
+ },
342
+ preterite: {
343
+ ele: 'incrementou',
344
+ eu: 'incrementei',
345
+ },
346
+ imperfect: {
347
+ ele: 'incrementava',
348
+ },
349
+ future: {
350
+ ele: 'incrementará',
351
+ },
352
+ gerund: 'incrementando',
353
+ },
354
+
355
+ decrement: {
356
+ infinitive: 'decrementar',
357
+ imperative: {
358
+ voce: 'decremente',
359
+ voces: 'decrementem',
360
+ },
361
+ present: {
362
+ eu: 'eu decremento',
363
+ voce: 'decrementa',
364
+ ele: 'decrementa',
365
+ nos: 'decrementamos',
366
+ voces: 'decrementam',
367
+ eles: 'decrementam',
368
+ },
369
+ preterite: {
370
+ ele: 'decrementou',
371
+ eu: 'decrementei',
372
+ },
373
+ imperfect: {
374
+ ele: 'decrementava',
375
+ },
376
+ future: {
377
+ ele: 'decrementará',
378
+ },
379
+ gerund: 'decrementando',
380
+ },
381
+
382
+ take: {
383
+ infinitive: 'pegar',
384
+ imperative: {
385
+ voce: 'pegue',
386
+ voces: 'peguem',
387
+ },
388
+ present: {
389
+ eu: 'eu pego',
390
+ voce: 'pega',
391
+ ele: 'pega',
392
+ nos: 'pegamos',
393
+ voces: 'pegam',
394
+ eles: 'pegam',
395
+ },
396
+ preterite: {
397
+ ele: 'pegou',
398
+ eu: 'peguei',
399
+ },
400
+ imperfect: {
401
+ ele: 'pegava',
402
+ },
403
+ future: {
404
+ ele: 'pegará',
405
+ },
406
+ gerund: 'pegando',
407
+ },
408
+ };
409
+
410
+ const frames: LanguageFrames = {
411
+ code: 'pt',
412
+ wordOrder: 'SVO',
413
+ frames: [
414
+ {
415
+ function: 'commanding',
416
+ template: '{verb.imperative.voce} {patient} {target}',
417
+ verbForm: 'imperative.voce',
418
+ example: 'adicione .active a #button',
419
+ },
420
+ {
421
+ function: 'describing',
422
+ template: '{subject} {verb.present.ele} {patient} {target}',
423
+ verbForm: 'present.ele',
424
+ example: 'o sistema adiciona .active a #button',
425
+ },
426
+ {
427
+ function: 'narrating',
428
+ template: '{subject} {verb.preterite.ele} {patient} {target}',
429
+ verbForm: 'preterite.ele',
430
+ example: 'o sistema adicionou .active a #button',
431
+ },
432
+ {
433
+ function: 'questioning',
434
+ template: 'será que {subject} {verb.present.ele} {patient} {target} ?',
435
+ verbForm: 'present.ele',
436
+ example: 'será que o sistema adiciona .active a #button ?',
437
+ },
438
+ {
439
+ function: 'negating',
440
+ template: '{subject} não {verb.present.ele} {patient} {target}',
441
+ verbForm: 'present.ele',
442
+ example: 'o sistema não adiciona .active a #button',
443
+ },
444
+ {
445
+ function: 'planning',
446
+ template: '{subject} {verb.future.ele} {patient} {target}',
447
+ verbForm: 'future.ele',
448
+ example: 'o sistema adicionará .active a #button',
449
+ },
450
+ {
451
+ function: 'progressing',
452
+ template: '{subject} está {verb.gerund} {patient} {target}',
453
+ verbForm: 'gerund',
454
+ example: 'o sistema está adicionando .active a #button',
455
+ },
456
+ ],
457
+ };
458
+
459
+ export const ptProfile: LearnLanguageProfile = {
460
+ patternProfile: {
461
+ code: 'pt',
462
+ wordOrder: 'SVO',
463
+ keywords: {
464
+ add: { primary: 'adicionar', alternatives: ['adicione'] },
465
+ remove: { primary: 'remover', alternatives: ['remova'] },
466
+ toggle: { primary: 'alternar', alternatives: ['alterne'] },
467
+ put: { primary: 'colocar', alternatives: ['coloque'] },
468
+ set: { primary: 'definir', alternatives: ['defina'] },
469
+ show: { primary: 'mostrar', alternatives: ['mostre'] },
470
+ hide: { primary: 'esconder', alternatives: ['esconda'] },
471
+ get: { primary: 'obter', alternatives: ['obtenha'] },
472
+ wait: { primary: 'esperar', alternatives: ['espere'] },
473
+ fetch: { primary: 'buscar', alternatives: ['busque'] },
474
+ send: { primary: 'enviar', alternatives: ['envie'] },
475
+ go: { primary: 'ir', alternatives: ['vá'] },
476
+ increment: { primary: 'incrementar', alternatives: ['incremente'] },
477
+ decrement: { primary: 'decrementar', alternatives: ['decremente'] },
478
+ take: { primary: 'pegar', alternatives: ['pegue'] },
479
+ },
480
+ },
481
+ morphologyTable,
482
+ frames,
483
+ defaultSubject: 'o sistema',
484
+ };