@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,481 @@
1
+ import type { LearnLanguageProfile } from '../types';
2
+
3
+ export const deProfile: LearnLanguageProfile = {
4
+ patternProfile: {
5
+ code: 'de',
6
+ wordOrder: 'SVO',
7
+ keywords: {
8
+ add: { primary: 'hinzufügen' },
9
+ remove: { primary: 'entfernen' },
10
+ toggle: { primary: 'umschalten' },
11
+ put: { primary: 'setzen' },
12
+ set: { primary: 'festlegen' },
13
+ show: { primary: 'anzeigen' },
14
+ hide: { primary: 'verbergen' },
15
+ get: { primary: 'abrufen' },
16
+ wait: { primary: 'warten' },
17
+ fetch: { primary: 'abrufen' },
18
+ send: { primary: 'senden' },
19
+ go: { primary: 'gehen' },
20
+ increment: { primary: 'erhöhen' },
21
+ decrement: { primary: 'verringern' },
22
+ take: { primary: 'nehmen' },
23
+ },
24
+ },
25
+ morphologyTable: {
26
+ add: {
27
+ infinitive: 'hinzufügen',
28
+ separablePrefix: 'hinzu',
29
+ imperative: {
30
+ du: 'füge hinzu',
31
+ Sie: 'fügen Sie hinzu',
32
+ },
33
+ present: {
34
+ ich: 'füge hinzu',
35
+ du: 'fügst hinzu',
36
+ er: 'fügt hinzu',
37
+ wir: 'fügen hinzu',
38
+ ihr: 'fügt hinzu',
39
+ sie: 'fügen hinzu',
40
+ },
41
+ past: {
42
+ ich: 'fügte hinzu',
43
+ er: 'fügte hinzu',
44
+ },
45
+ perfect: {
46
+ er: 'hat hinzugefügt',
47
+ },
48
+ future: {
49
+ er: 'wird hinzufügen',
50
+ },
51
+ presentParticiple: 'hinzufügend',
52
+ },
53
+ remove: {
54
+ infinitive: 'entfernen',
55
+ separablePrefix: '',
56
+ imperative: {
57
+ du: 'entferne',
58
+ Sie: 'entfernen Sie',
59
+ },
60
+ present: {
61
+ ich: 'entferne',
62
+ du: 'entfernst',
63
+ er: 'entfernt',
64
+ wir: 'entfernen',
65
+ ihr: 'entfernt',
66
+ sie: 'entfernen',
67
+ },
68
+ past: {
69
+ ich: 'entfernte',
70
+ er: 'entfernte',
71
+ },
72
+ perfect: {
73
+ er: 'hat entfernt',
74
+ },
75
+ future: {
76
+ er: 'wird entfernen',
77
+ },
78
+ presentParticiple: 'entfernend',
79
+ },
80
+ toggle: {
81
+ infinitive: 'umschalten',
82
+ separablePrefix: 'um',
83
+ imperative: {
84
+ du: 'schalte um',
85
+ Sie: 'schalten Sie um',
86
+ },
87
+ present: {
88
+ ich: 'schalte um',
89
+ du: 'schaltest um',
90
+ er: 'schaltet um',
91
+ wir: 'schalten um',
92
+ ihr: 'schaltet um',
93
+ sie: 'schalten um',
94
+ },
95
+ past: {
96
+ ich: 'schaltete um',
97
+ er: 'schaltete um',
98
+ },
99
+ perfect: {
100
+ er: 'hat umgeschaltet',
101
+ },
102
+ future: {
103
+ er: 'wird umschalten',
104
+ },
105
+ presentParticiple: 'umschaltend',
106
+ },
107
+ put: {
108
+ infinitive: 'setzen',
109
+ separablePrefix: '',
110
+ imperative: {
111
+ du: 'setze',
112
+ Sie: 'setzen Sie',
113
+ },
114
+ present: {
115
+ ich: 'setze',
116
+ du: 'setzt',
117
+ er: 'setzt',
118
+ wir: 'setzen',
119
+ ihr: 'setzt',
120
+ sie: 'setzen',
121
+ },
122
+ past: {
123
+ ich: 'setzte',
124
+ er: 'setzte',
125
+ },
126
+ perfect: {
127
+ er: 'hat gesetzt',
128
+ },
129
+ future: {
130
+ er: 'wird setzen',
131
+ },
132
+ presentParticiple: 'setzend',
133
+ },
134
+ set: {
135
+ infinitive: 'festlegen',
136
+ separablePrefix: 'fest',
137
+ imperative: {
138
+ du: 'lege fest',
139
+ Sie: 'legen Sie fest',
140
+ },
141
+ present: {
142
+ ich: 'lege fest',
143
+ du: 'legst fest',
144
+ er: 'legt fest',
145
+ wir: 'legen fest',
146
+ ihr: 'legt fest',
147
+ sie: 'legen fest',
148
+ },
149
+ past: {
150
+ ich: 'legte fest',
151
+ er: 'legte fest',
152
+ },
153
+ perfect: {
154
+ er: 'hat festgelegt',
155
+ },
156
+ future: {
157
+ er: 'wird festlegen',
158
+ },
159
+ presentParticiple: 'festlegend',
160
+ },
161
+ show: {
162
+ infinitive: 'anzeigen',
163
+ separablePrefix: 'an',
164
+ imperative: {
165
+ du: 'zeige an',
166
+ Sie: 'zeigen Sie an',
167
+ },
168
+ present: {
169
+ ich: 'zeige an',
170
+ du: 'zeigst an',
171
+ er: 'zeigt an',
172
+ wir: 'zeigen an',
173
+ ihr: 'zeigt an',
174
+ sie: 'zeigen an',
175
+ },
176
+ past: {
177
+ ich: 'zeigte an',
178
+ er: 'zeigte an',
179
+ },
180
+ perfect: {
181
+ er: 'hat angezeigt',
182
+ },
183
+ future: {
184
+ er: 'wird anzeigen',
185
+ },
186
+ presentParticiple: 'anzeigend',
187
+ },
188
+ hide: {
189
+ infinitive: 'verbergen',
190
+ separablePrefix: '',
191
+ imperative: {
192
+ du: 'verbirg',
193
+ Sie: 'verbergen Sie',
194
+ },
195
+ present: {
196
+ ich: 'verberge',
197
+ du: 'verbirgst',
198
+ er: 'verbirgt',
199
+ wir: 'verbergen',
200
+ ihr: 'verbergt',
201
+ sie: 'verbergen',
202
+ },
203
+ past: {
204
+ ich: 'verbarg',
205
+ er: 'verbarg',
206
+ },
207
+ perfect: {
208
+ er: 'hat verborgen',
209
+ },
210
+ future: {
211
+ er: 'wird verbergen',
212
+ },
213
+ presentParticiple: 'verbergend',
214
+ },
215
+ get: {
216
+ infinitive: 'abrufen',
217
+ separablePrefix: 'ab',
218
+ imperative: {
219
+ du: 'rufe ab',
220
+ Sie: 'rufen Sie ab',
221
+ },
222
+ present: {
223
+ ich: 'rufe ab',
224
+ du: 'rufst ab',
225
+ er: 'ruft ab',
226
+ wir: 'rufen ab',
227
+ ihr: 'ruft ab',
228
+ sie: 'rufen ab',
229
+ },
230
+ past: {
231
+ ich: 'rief ab',
232
+ er: 'rief ab',
233
+ },
234
+ perfect: {
235
+ er: 'hat abgerufen',
236
+ },
237
+ future: {
238
+ er: 'wird abrufen',
239
+ },
240
+ presentParticiple: 'abrufend',
241
+ },
242
+ wait: {
243
+ infinitive: 'warten',
244
+ separablePrefix: '',
245
+ imperative: {
246
+ du: 'warte',
247
+ Sie: 'warten Sie',
248
+ },
249
+ present: {
250
+ ich: 'warte',
251
+ du: 'wartest',
252
+ er: 'wartet',
253
+ wir: 'warten',
254
+ ihr: 'wartet',
255
+ sie: 'warten',
256
+ },
257
+ past: {
258
+ ich: 'wartete',
259
+ er: 'wartete',
260
+ },
261
+ perfect: {
262
+ er: 'hat gewartet',
263
+ },
264
+ future: {
265
+ er: 'wird warten',
266
+ },
267
+ presentParticiple: 'wartend',
268
+ },
269
+ fetch: {
270
+ infinitive: 'abrufen',
271
+ separablePrefix: 'ab',
272
+ imperative: {
273
+ du: 'rufe ab',
274
+ Sie: 'rufen Sie ab',
275
+ },
276
+ present: {
277
+ ich: 'rufe ab',
278
+ du: 'rufst ab',
279
+ er: 'ruft ab',
280
+ wir: 'rufen ab',
281
+ ihr: 'ruft ab',
282
+ sie: 'rufen ab',
283
+ },
284
+ past: {
285
+ ich: 'rief ab',
286
+ er: 'rief ab',
287
+ },
288
+ perfect: {
289
+ er: 'hat abgerufen',
290
+ },
291
+ future: {
292
+ er: 'wird abrufen',
293
+ },
294
+ presentParticiple: 'abrufend',
295
+ },
296
+ send: {
297
+ infinitive: 'senden',
298
+ separablePrefix: '',
299
+ imperative: {
300
+ du: 'sende',
301
+ Sie: 'senden Sie',
302
+ },
303
+ present: {
304
+ ich: 'sende',
305
+ du: 'sendest',
306
+ er: 'sendet',
307
+ wir: 'senden',
308
+ ihr: 'sendet',
309
+ sie: 'senden',
310
+ },
311
+ past: {
312
+ ich: 'sendete',
313
+ er: 'sendete',
314
+ },
315
+ perfect: {
316
+ er: 'hat gesendet',
317
+ },
318
+ future: {
319
+ er: 'wird senden',
320
+ },
321
+ presentParticiple: 'sendend',
322
+ },
323
+ go: {
324
+ infinitive: 'gehen',
325
+ separablePrefix: '',
326
+ imperative: {
327
+ du: 'geh',
328
+ Sie: 'gehen Sie',
329
+ },
330
+ present: {
331
+ ich: 'gehe',
332
+ du: 'gehst',
333
+ er: 'geht',
334
+ wir: 'gehen',
335
+ ihr: 'geht',
336
+ sie: 'gehen',
337
+ },
338
+ past: {
339
+ ich: 'ging',
340
+ er: 'ging',
341
+ },
342
+ perfect: {
343
+ er: 'ist gegangen',
344
+ },
345
+ future: {
346
+ er: 'wird gehen',
347
+ },
348
+ presentParticiple: 'gehend',
349
+ },
350
+ increment: {
351
+ infinitive: 'erhöhen',
352
+ separablePrefix: '',
353
+ imperative: {
354
+ du: 'erhöhe',
355
+ Sie: 'erhöhen Sie',
356
+ },
357
+ present: {
358
+ ich: 'erhöhe',
359
+ du: 'erhöhst',
360
+ er: 'erhöht',
361
+ wir: 'erhöhen',
362
+ ihr: 'erhöht',
363
+ sie: 'erhöhen',
364
+ },
365
+ past: {
366
+ ich: 'erhöhte',
367
+ er: 'erhöhte',
368
+ },
369
+ perfect: {
370
+ er: 'hat erhöht',
371
+ },
372
+ future: {
373
+ er: 'wird erhöhen',
374
+ },
375
+ presentParticiple: 'erhöhend',
376
+ },
377
+ decrement: {
378
+ infinitive: 'verringern',
379
+ separablePrefix: '',
380
+ imperative: {
381
+ du: 'verringere',
382
+ Sie: 'verringern Sie',
383
+ },
384
+ present: {
385
+ ich: 'verringere',
386
+ du: 'verringerst',
387
+ er: 'verringert',
388
+ wir: 'verringern',
389
+ ihr: 'verringert',
390
+ sie: 'verringern',
391
+ },
392
+ past: {
393
+ ich: 'verringerte',
394
+ er: 'verringerte',
395
+ },
396
+ perfect: {
397
+ er: 'hat verringert',
398
+ },
399
+ future: {
400
+ er: 'wird verringern',
401
+ },
402
+ presentParticiple: 'verringernd',
403
+ },
404
+ take: {
405
+ infinitive: 'nehmen',
406
+ separablePrefix: '',
407
+ imperative: {
408
+ du: 'nimm',
409
+ Sie: 'nehmen Sie',
410
+ },
411
+ present: {
412
+ ich: 'nehme',
413
+ du: 'nimmst',
414
+ er: 'nimmt',
415
+ wir: 'nehmen',
416
+ ihr: 'nehmt',
417
+ sie: 'nehmen',
418
+ },
419
+ past: {
420
+ ich: 'nahm',
421
+ er: 'nahm',
422
+ },
423
+ perfect: {
424
+ er: 'hat genommen',
425
+ },
426
+ future: {
427
+ er: 'wird nehmen',
428
+ },
429
+ presentParticiple: 'nehmend',
430
+ },
431
+ },
432
+ frames: {
433
+ code: 'de',
434
+ wordOrder: 'SVO',
435
+ frames: [
436
+ {
437
+ function: 'commanding',
438
+ template: '{verb.imperative.du} {patient} {target}',
439
+ verbForm: 'imperative.du',
440
+ example: 'füge hinzu .active zu #button',
441
+ },
442
+ {
443
+ function: 'describing',
444
+ template: '{subject} {verb.present.er} {patient} {target}',
445
+ verbForm: 'present.er',
446
+ example: 'das System fügt hinzu .active zu #button',
447
+ },
448
+ {
449
+ function: 'narrating',
450
+ template: '{subject} {verb.perfect.er} {patient} {target}',
451
+ verbForm: 'perfect.er',
452
+ example: 'das System hat hinzugefügt .active zu #button',
453
+ },
454
+ {
455
+ function: 'questioning',
456
+ template: '{verb.present.er} {subject} {patient} {target} ?',
457
+ verbForm: 'present.er',
458
+ example: 'fügt hinzu das System .active zu #button ?',
459
+ },
460
+ {
461
+ function: 'negating',
462
+ template: '{subject} {verb.present.er} {patient} nicht {target}',
463
+ verbForm: 'present.er',
464
+ example: 'das System fügt hinzu .active nicht zu #button',
465
+ },
466
+ {
467
+ function: 'planning',
468
+ template: '{subject} {verb.future.er} {patient} {target}',
469
+ verbForm: 'future.er',
470
+ example: 'das System wird hinzufügen .active zu #button',
471
+ },
472
+ {
473
+ function: 'progressing',
474
+ template: '{subject} {verb.present.er} gerade {patient} {target}',
475
+ verbForm: 'present.er',
476
+ example: 'das System fügt hinzu gerade .active zu #button',
477
+ },
478
+ ],
479
+ },
480
+ defaultSubject: 'das System',
481
+ };
@@ -0,0 +1,181 @@
1
+ import type { LearnLanguageProfile } from '../types';
2
+
3
+ export const enProfile: LearnLanguageProfile = {
4
+ patternProfile: {
5
+ code: 'en',
6
+ wordOrder: 'SVO',
7
+ keywords: {
8
+ add: { primary: 'add' },
9
+ remove: { primary: 'remove' },
10
+ toggle: { primary: 'toggle' },
11
+ put: { primary: 'put' },
12
+ set: { primary: 'set' },
13
+ show: { primary: 'show' },
14
+ hide: { primary: 'hide' },
15
+ get: { primary: 'get' },
16
+ wait: { primary: 'wait' },
17
+ fetch: { primary: 'fetch' },
18
+ send: { primary: 'send' },
19
+ go: { primary: 'go' },
20
+ increment: { primary: 'increment' },
21
+ decrement: { primary: 'decrement' },
22
+ take: { primary: 'take' },
23
+ },
24
+ },
25
+ morphologyTable: {
26
+ add: {
27
+ base: 'add',
28
+ thirdPerson: 'adds',
29
+ past: 'added',
30
+ pastParticiple: 'added',
31
+ presentParticiple: 'adding',
32
+ },
33
+ remove: {
34
+ base: 'remove',
35
+ thirdPerson: 'removes',
36
+ past: 'removed',
37
+ pastParticiple: 'removed',
38
+ presentParticiple: 'removing',
39
+ },
40
+ toggle: {
41
+ base: 'toggle',
42
+ thirdPerson: 'toggles',
43
+ past: 'toggled',
44
+ pastParticiple: 'toggled',
45
+ presentParticiple: 'toggling',
46
+ },
47
+ put: {
48
+ base: 'put',
49
+ thirdPerson: 'puts',
50
+ past: 'put',
51
+ pastParticiple: 'put',
52
+ presentParticiple: 'putting',
53
+ },
54
+ set: {
55
+ base: 'set',
56
+ thirdPerson: 'sets',
57
+ past: 'set',
58
+ pastParticiple: 'set',
59
+ presentParticiple: 'setting',
60
+ },
61
+ show: {
62
+ base: 'show',
63
+ thirdPerson: 'shows',
64
+ past: 'showed',
65
+ pastParticiple: 'shown',
66
+ presentParticiple: 'showing',
67
+ },
68
+ hide: {
69
+ base: 'hide',
70
+ thirdPerson: 'hides',
71
+ past: 'hid',
72
+ pastParticiple: 'hidden',
73
+ presentParticiple: 'hiding',
74
+ },
75
+ get: {
76
+ base: 'get',
77
+ thirdPerson: 'gets',
78
+ past: 'got',
79
+ pastParticiple: 'gotten',
80
+ presentParticiple: 'getting',
81
+ },
82
+ wait: {
83
+ base: 'wait',
84
+ thirdPerson: 'waits',
85
+ past: 'waited',
86
+ pastParticiple: 'waited',
87
+ presentParticiple: 'waiting',
88
+ },
89
+ fetch: {
90
+ base: 'fetch',
91
+ thirdPerson: 'fetches',
92
+ past: 'fetched',
93
+ pastParticiple: 'fetched',
94
+ presentParticiple: 'fetching',
95
+ },
96
+ send: {
97
+ base: 'send',
98
+ thirdPerson: 'sends',
99
+ past: 'sent',
100
+ pastParticiple: 'sent',
101
+ presentParticiple: 'sending',
102
+ },
103
+ go: {
104
+ base: 'go',
105
+ thirdPerson: 'goes',
106
+ past: 'went',
107
+ pastParticiple: 'gone',
108
+ presentParticiple: 'going',
109
+ },
110
+ increment: {
111
+ base: 'increment',
112
+ thirdPerson: 'increments',
113
+ past: 'incremented',
114
+ pastParticiple: 'incremented',
115
+ presentParticiple: 'incrementing',
116
+ },
117
+ decrement: {
118
+ base: 'decrement',
119
+ thirdPerson: 'decrements',
120
+ past: 'decremented',
121
+ pastParticiple: 'decremented',
122
+ presentParticiple: 'decrementing',
123
+ },
124
+ take: {
125
+ base: 'take',
126
+ thirdPerson: 'takes',
127
+ past: 'took',
128
+ pastParticiple: 'taken',
129
+ presentParticiple: 'taking',
130
+ },
131
+ },
132
+ frames: {
133
+ code: 'en',
134
+ wordOrder: 'SVO',
135
+ frames: [
136
+ {
137
+ function: 'commanding',
138
+ template: '{verb.base} {patient} {target}',
139
+ verbForm: 'base',
140
+ example: 'add .active to #button',
141
+ },
142
+ {
143
+ function: 'describing',
144
+ template: '{subject} {verb.thirdPerson} {patient} {target}',
145
+ verbForm: 'thirdPerson',
146
+ example: 'The system adds .active to #button',
147
+ },
148
+ {
149
+ function: 'narrating',
150
+ template: '{subject} {verb.past} {patient} {target}',
151
+ verbForm: 'past',
152
+ example: 'The system added .active to #button',
153
+ },
154
+ {
155
+ function: 'questioning',
156
+ template: 'Did {subject} {verb.base} {patient} {target}?',
157
+ verbForm: 'base',
158
+ example: 'Did the system add .active to #button?',
159
+ },
160
+ {
161
+ function: 'negating',
162
+ template: '{subject} did not {verb.base} {patient} {target}',
163
+ verbForm: 'base',
164
+ example: 'The system did not add .active to #button',
165
+ },
166
+ {
167
+ function: 'planning',
168
+ template: '{subject} will {verb.base} {patient} {target}',
169
+ verbForm: 'base',
170
+ example: 'The system will add .active to #button',
171
+ },
172
+ {
173
+ function: 'progressing',
174
+ template: '{subject} is {verb.presentParticiple} {patient} {target}',
175
+ verbForm: 'presentParticiple',
176
+ example: 'The system is adding .active to #button',
177
+ },
178
+ ],
179
+ },
180
+ defaultSubject: 'the system',
181
+ };