@lokascript/i18n 2.3.0 → 2.4.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 (71) hide show
  1. package/dist/browser.cjs +626 -473
  2. package/dist/browser.cjs.map +1 -1
  3. package/dist/browser.d.cts +25 -3
  4. package/dist/browser.d.ts +25 -3
  5. package/dist/browser.js +623 -474
  6. package/dist/browser.js.map +1 -1
  7. package/dist/dictionaries/index.cjs +489 -472
  8. package/dist/dictionaries/index.cjs.map +1 -1
  9. package/dist/dictionaries/index.d.cts +5 -3
  10. package/dist/dictionaries/index.d.ts +5 -3
  11. package/dist/dictionaries/index.js +489 -473
  12. package/dist/dictionaries/index.js.map +1 -1
  13. package/dist/index.cjs +617 -473
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.cts +37 -37
  16. package/dist/index.d.ts +37 -37
  17. package/dist/index.js +617 -473
  18. package/dist/index.js.map +1 -1
  19. package/dist/lokascript-i18n.min.js +1 -1
  20. package/dist/lokascript-i18n.min.js.map +1 -1
  21. package/dist/lokascript-i18n.mjs +730 -478
  22. package/dist/lokascript-i18n.mjs.map +1 -1
  23. package/dist/plugins/vite.cjs +488 -472
  24. package/dist/plugins/vite.cjs.map +1 -1
  25. package/dist/plugins/vite.js +488 -472
  26. package/dist/plugins/vite.js.map +1 -1
  27. package/dist/plugins/webpack.cjs +488 -472
  28. package/dist/plugins/webpack.cjs.map +1 -1
  29. package/dist/plugins/webpack.js +488 -472
  30. package/dist/plugins/webpack.js.map +1 -1
  31. package/dist/{transformer-B0zy-kti.d.ts → transformer-BLv389qz.d.ts} +12 -47
  32. package/dist/{transformer-CzY_vHU0.d.cts → transformer-PFsYELrc.d.cts} +12 -47
  33. package/dist/{types-BYtpqGq3.d.cts → types-BcALAO6h.d.cts} +1 -1
  34. package/dist/{types-BYtpqGq3.d.ts → types-BcALAO6h.d.ts} +1 -1
  35. package/package.json +5 -5
  36. package/src/browser.ts +3 -0
  37. package/src/constants.ts +9 -0
  38. package/src/dictionaries/ar.ts +22 -43
  39. package/src/dictionaries/bn.ts +17 -0
  40. package/src/dictionaries/de.ts +19 -40
  41. package/src/dictionaries/en.ts +26 -0
  42. package/src/dictionaries/es.ts +19 -40
  43. package/src/dictionaries/fr.ts +19 -40
  44. package/src/dictionaries/he.ts +2 -0
  45. package/src/dictionaries/hi.ts +18 -48
  46. package/src/dictionaries/id.ts +22 -43
  47. package/src/dictionaries/index.ts +5 -1
  48. package/src/dictionaries/it.ts +18 -39
  49. package/src/dictionaries/ja.ts +18 -39
  50. package/src/dictionaries/ko.ts +22 -43
  51. package/src/dictionaries/ms.ts +16 -50
  52. package/src/dictionaries/pl.ts +18 -45
  53. package/src/dictionaries/pt.ts +23 -48
  54. package/src/dictionaries/qu.ts +22 -43
  55. package/src/dictionaries/ru.ts +18 -48
  56. package/src/dictionaries/sw.ts +22 -43
  57. package/src/dictionaries/th.ts +17 -0
  58. package/src/dictionaries/tl.ts +16 -50
  59. package/src/dictionaries/tr.ts +24 -45
  60. package/src/dictionaries/uk.ts +18 -48
  61. package/src/dictionaries/vi.ts +17 -0
  62. package/src/dictionaries/zh.ts +22 -43
  63. package/src/grammar/grammar.test.ts +143 -24
  64. package/src/grammar/index.ts +1 -0
  65. package/src/grammar/profiles/index.ts +31 -0
  66. package/src/grammar/transformer.ts +161 -0
  67. package/src/parser/he.ts +29 -0
  68. package/src/parser/index.ts +1 -0
  69. package/src/schema-alignment.test.ts +154 -0
  70. package/src/test-utils/complete-languages.ts +40 -0
  71. package/src/translation-validation.test.ts +1 -26
package/dist/index.cjs CHANGED
@@ -126,7 +126,22 @@ var en = {
126
126
  // Control Flow
127
127
  exit: "exit",
128
128
  // Behaviors
129
- install: "install"
129
+ install: "install",
130
+ // v0.9.90 Phase 1 — DOM / form state / debug
131
+ open: "open",
132
+ close: "close",
133
+ select: "select",
134
+ clear: "clear",
135
+ breakpoint: "breakpoint",
136
+ // Other commands with schemas (backfill — pre-existing gaps surfaced by
137
+ // the schema-alignment test)
138
+ prepend: "prepend",
139
+ clone: "clone",
140
+ // Navigation/DOM commands added in core (Dec 2025 / Apr 2026)
141
+ scroll: "scroll",
142
+ push: "push",
143
+ replace: "replace",
144
+ process: "process"
130
145
  },
131
146
  modifiers: {
132
147
  to: "to",
@@ -193,7 +208,9 @@ var en = {
193
208
  then: "then",
194
209
  else: "else",
195
210
  otherwise: "otherwise",
196
- end: "end"
211
+ end: "end",
212
+ live: "live",
213
+ changes: "changes"
197
214
  },
198
215
  temporal: {
199
216
  seconds: "seconds",
@@ -262,19 +279,23 @@ var en = {
262
279
  some: "some",
263
280
  // String operations
264
281
  "starts with": "starts with",
265
- "ends with": "ends with"
282
+ "ends with": "ends with",
283
+ "ignoring case": "ignoring case",
284
+ // Collection operations (v0.9.90)
285
+ "sorted by": "sorted by",
286
+ "mapped to": "mapped to",
287
+ "split by": "split by",
288
+ "joined by": "joined by"
266
289
  }
267
290
  };
268
291
 
269
292
  // src/dictionaries/es.ts
270
293
  var es = {
271
294
  commands: {
272
- // Event handling
273
295
  on: "en",
274
296
  tell: "decir",
275
297
  trigger: "disparar",
276
298
  send: "enviar",
277
- // DOM manipulation
278
299
  take: "tomar",
279
300
  put: "poner",
280
301
  set: "establecer",
@@ -284,7 +305,6 @@ var es = {
284
305
  toggle: "alternar",
285
306
  hide: "ocultar",
286
307
  show: "mostrar",
287
- // Control flow
288
308
  if: "si",
289
309
  unless: "menos",
290
310
  repeat: "repetir",
@@ -294,44 +314,41 @@ var es = {
294
314
  continue: "continuar",
295
315
  break: "romper",
296
316
  halt: "detener",
297
- // Async
298
317
  wait: "esperar",
299
318
  fetch: "buscar",
300
319
  call: "llamar",
301
320
  return: "retornar",
302
- // Other commands
303
321
  make: "hacer",
304
322
  log: "registrar",
305
323
  throw: "lanzar",
306
324
  catch: "atrapar",
307
325
  measure: "medir",
308
326
  transition: "transici\xF3n",
309
- // Data Commands
310
327
  increment: "incrementar",
311
328
  decrement: "decrementar",
312
329
  default: "predeterminar",
313
- // Navigation Commands
314
330
  go: "ir",
315
331
  pushUrl: "pushUrl",
316
332
  replaceUrl: "reemplazarUrl",
317
- // Utility Commands
318
333
  copy: "copiar",
319
334
  pick: "escoger",
320
335
  beep: "pitido",
321
- // Advanced Commands
322
336
  js: "js",
323
337
  async: "as\xEDncrono",
324
338
  render: "renderizar",
325
- // Animation Commands
326
339
  swap: "intercambiar",
327
340
  morph: "transformar",
328
341
  settle: "estabilizar",
329
- // Content Commands
330
342
  append: "a\xF1adir",
331
- // Control Flow
332
343
  exit: "salir",
333
- // Behaviors
334
- install: "instalar"
344
+ install: "instalar",
345
+ breakpoint: "punto-interrupci\xF3n",
346
+ clear: "limpiar",
347
+ close: "cerrar",
348
+ open: "abrir",
349
+ select: "seleccionar",
350
+ clone: "clonar",
351
+ prepend: "anteponer"
335
352
  },
336
353
  modifiers: {
337
354
  to: "a",
@@ -392,13 +409,13 @@ var es = {
392
409
  includes: "incluye",
393
410
  equals: "iguala",
394
411
  has: "tiene",
395
- // third-person: él/ella tiene
396
412
  have: "tengo",
397
- // first-person: yo tengo
398
413
  then: "entonces",
399
414
  else: "sino",
400
415
  otherwise: "delocontrario",
401
- end: "fin"
416
+ end: "fin",
417
+ live: "vivo",
418
+ changes: "cambia"
402
419
  },
403
420
  temporal: {
404
421
  seconds: "segundos",
@@ -426,7 +443,6 @@ var es = {
426
443
  you: "tu",
427
444
  your: "tu",
428
445
  yourself: "ti mismo",
429
- // REVIEW: native speaker
430
446
  myself: "yo mismo",
431
447
  element: "elemento",
432
448
  target: "objetivo",
@@ -449,7 +465,6 @@ var es = {
449
465
  properties: "propiedades"
450
466
  },
451
467
  expressions: {
452
- // Positional
453
468
  first: "primero",
454
469
  last: "\xFAltimo",
455
470
  next: "siguiente",
@@ -457,30 +472,30 @@ var es = {
457
472
  prev: "ant",
458
473
  at: "en",
459
474
  random: "aleatorio",
460
- // DOM Traversal
461
475
  closest: "m\xE1scercano",
462
476
  parent: "padre",
463
477
  children: "hijos",
464
478
  within: "dentro",
465
- // Emptiness/Existence
466
479
  no: "ning\xFAn",
467
480
  empty: "vac\xEDo",
468
481
  some: "alg\xFAn",
469
- // String operations
470
482
  "starts with": "empieza con",
471
- "ends with": "termina con"
483
+ "ends with": "termina con",
484
+ "ignoring case": "ignorando may\xFAsculas",
485
+ "sorted by": "ordenado por",
486
+ "mapped to": "transformado a",
487
+ "split by": "dividido por",
488
+ "joined by": "unido por"
472
489
  }
473
490
  };
474
491
 
475
492
  // src/dictionaries/ko.ts
476
493
  var ko = {
477
494
  commands: {
478
- // Event handling
479
495
  on: "\uC5D0",
480
496
  tell: "\uB9D0\uD558\uB2E4",
481
497
  trigger: "\uD2B8\uB9AC\uAC70",
482
498
  send: "\uBCF4\uB0B4\uB2E4",
483
- // DOM manipulation
484
499
  take: "\uAC00\uC838\uC624\uB2E4",
485
500
  put: "\uB123\uB2E4",
486
501
  set: "\uC124\uC815",
@@ -490,7 +505,6 @@ var ko = {
490
505
  toggle: "\uD1A0\uAE00",
491
506
  hide: "\uC228\uAE30\uB2E4",
492
507
  show: "\uBCF4\uC774\uB2E4",
493
- // Control flow
494
508
  if: "\uB9CC\uC57D",
495
509
  unless: "\uC544\uB2C8\uBA74",
496
510
  repeat: "\uBC18\uBCF5",
@@ -500,44 +514,41 @@ var ko = {
500
514
  continue: "\uACC4\uC18D",
501
515
  break: "\uC911\uB2E8",
502
516
  halt: "\uC815\uC9C0",
503
- // Async
504
517
  wait: "\uB300\uAE30",
505
518
  fetch: "\uAC00\uC838\uC624\uAE30",
506
519
  call: "\uD638\uCD9C",
507
520
  return: "\uBC18\uD658",
508
- // Other commands
509
521
  make: "\uB9CC\uB4E4\uB2E4",
510
522
  log: "\uB85C\uADF8",
511
523
  throw: "\uB358\uC9C0\uB2E4",
512
524
  catch: "\uC7A1\uB2E4",
513
525
  measure: "\uCE21\uC815",
514
526
  transition: "\uC804\uD658",
515
- // Data Commands
516
527
  increment: "\uC99D\uAC00",
517
528
  decrement: "\uAC10\uC18C",
518
529
  default: "\uAE30\uBCF8\uAC12",
519
- // Navigation Commands
520
530
  go: "\uC774\uB3D9",
521
531
  pushUrl: "URL\uD478\uC2DC",
522
532
  replaceUrl: "URL\uAD50\uCCB4",
523
- // Utility Commands
524
533
  copy: "\uBCF5\uC0AC",
525
534
  pick: "\uC120\uD0DD",
526
535
  beep: "\uBE44\uD504",
527
- // Advanced Commands
528
536
  js: "JS\uC2E4\uD589",
529
537
  async: "\uBE44\uB3D9\uAE30",
530
538
  render: "\uB80C\uB354\uB9C1",
531
- // Animation Commands
532
539
  swap: "\uAD50\uD658",
533
540
  morph: "\uBCC0\uD615",
534
541
  settle: "\uC548\uC815",
535
- // Content Commands
536
542
  append: "\uCD94\uAC00",
537
- // Control Flow
538
543
  exit: "\uC885\uB8CC",
539
- // Behaviors
540
- install: "\uC124\uCE58"
544
+ install: "\uC124\uCE58",
545
+ breakpoint: "\uC911\uB2E8\uC810",
546
+ clear: "\uC9C0\uC6B0\uAE30",
547
+ close: "\uB2EB\uAE30",
548
+ open: "\uC5F4\uAE30",
549
+ select: "\uC120\uD0DD",
550
+ clone: "\uBCF5\uC81C",
551
+ prepend: "\uC55E\uC5D0\uCD94\uAC00"
541
552
  },
542
553
  modifiers: {
543
554
  to: "\uC5D0",
@@ -598,13 +609,13 @@ var ko = {
598
609
  includes: "\uD3EC\uD568\uD558\uB2E4",
599
610
  equals: "\uAC19\uB2E4",
600
611
  has: "\uC788\uB2E4",
601
- // existence verb (context-based)
602
612
  have: "\uC788\uB2E4",
603
- // same verb for first/third person
604
613
  then: "\uADF8\uB7EC\uBA74",
605
614
  else: "\uC544\uB2C8\uBA74",
606
615
  otherwise: "\uADF8\uB807\uC9C0\uC54A\uC73C\uBA74",
607
- end: "\uB05D"
616
+ end: "\uB05D",
617
+ live: "\uB77C\uC774\uBE0C",
618
+ changes: "\uBCC0\uACBD\uB418\uBA74"
608
619
  },
609
620
  temporal: {
610
621
  seconds: "\uCD08",
@@ -627,16 +638,12 @@ var ko = {
627
638
  undefined: "\uC815\uC758\uC548\uB428",
628
639
  it: "\uADF8\uAC83",
629
640
  its: "\uADF8\uAC83\uC758",
630
- // REVIEW: native speaker
631
641
  me: "\uB098",
632
642
  my: "\uB0B4",
633
643
  myself: "\uB098\uC790\uC2E0",
634
644
  you: "\uB108",
635
- // REVIEW: native speaker - formal/informal
636
645
  your: "\uB124",
637
- // REVIEW: native speaker - formal/informal
638
646
  yourself: "\uB108\uC790\uC2E0",
639
- // REVIEW: native speaker
640
647
  element: "\uC694\uC18C",
641
648
  target: "\uB300\uC0C1",
642
649
  detail: "\uC138\uBD80",
@@ -658,7 +665,6 @@ var ko = {
658
665
  properties: "\uD504\uB85C\uD37C\uD2F0\uB4E4"
659
666
  },
660
667
  expressions: {
661
- // Positional
662
668
  first: "\uCCAB\uBC88\uC9F8",
663
669
  last: "\uB9C8\uC9C0\uB9C9",
664
670
  next: "\uB2E4\uC74C",
@@ -666,30 +672,30 @@ var ko = {
666
672
  prev: "\uC774\uC804",
667
673
  at: "\uC5D0\uC11C",
668
674
  random: "\uBB34\uC791\uC704",
669
- // DOM Traversal
670
675
  closest: "\uAC00\uC7A5\uAC00\uAE4C\uC6B4",
671
676
  parent: "\uBD80\uBAA8",
672
677
  children: "\uC790\uC2DD",
673
678
  within: "\uC774\uB0B4",
674
- // Emptiness/Existence
675
679
  no: "\uC5C6\uC74C",
676
680
  empty: "\uBE44\uC5B4\uC788\uB294",
677
681
  some: "\uC77C\uBD80",
678
- // String operations
679
682
  "starts with": "\uB85C\uC2DC\uC791",
680
- "ends with": "\uB85C\uB05D\uB098\uB294"
683
+ "ends with": "\uB85C\uB05D\uB098\uB294",
684
+ "ignoring case": "\uB300\uC18C\uBB38\uC790_\uBB34\uC2DC",
685
+ "sorted by": "\uB85C_\uC815\uB82C",
686
+ "mapped to": "\uB85C_\uBCC0\uD658",
687
+ "split by": "\uB85C_\uBD84\uD560",
688
+ "joined by": "\uB85C_\uACB0\uD569"
681
689
  }
682
690
  };
683
691
 
684
692
  // src/dictionaries/zh.ts
685
693
  var zh = {
686
694
  commands: {
687
- // Event handling
688
695
  on: "\u5F53",
689
696
  tell: "\u544A\u8BC9",
690
697
  trigger: "\u89E6\u53D1",
691
698
  send: "\u53D1\u9001",
692
- // DOM manipulation
693
699
  take: "\u83B7\u53D6",
694
700
  put: "\u653E\u7F6E",
695
701
  set: "\u8BBE\u7F6E",
@@ -699,7 +705,6 @@ var zh = {
699
705
  toggle: "\u5207\u6362",
700
706
  hide: "\u9690\u85CF",
701
707
  show: "\u663E\u793A",
702
- // Control flow
703
708
  if: "\u5982\u679C",
704
709
  unless: "\u9664\u975E",
705
710
  repeat: "\u91CD\u590D",
@@ -709,44 +714,41 @@ var zh = {
709
714
  continue: "\u7EE7\u7EED",
710
715
  break: "\u4E2D\u65AD",
711
716
  halt: "\u505C\u6B62",
712
- // Async
713
717
  wait: "\u7B49\u5F85",
714
718
  fetch: "\u83B7\u53D6",
715
719
  call: "\u8C03\u7528",
716
720
  return: "\u8FD4\u56DE",
717
- // Other commands
718
721
  make: "\u5236\u4F5C",
719
722
  log: "\u65E5\u5FD7",
720
723
  throw: "\u629B\u51FA",
721
724
  catch: "\u6355\u83B7",
722
725
  measure: "\u6D4B\u91CF",
723
726
  transition: "\u8FC7\u6E21",
724
- // Data Commands
725
727
  increment: "\u589E\u52A0",
726
728
  decrement: "\u51CF\u5C11",
727
729
  default: "\u9ED8\u8BA4",
728
- // Navigation Commands
729
730
  go: "\u524D\u5F80",
730
731
  pushUrl: "\u63A8\u9001\u7F51\u5740",
731
732
  replaceUrl: "\u66FF\u6362\u7F51\u5740",
732
- // Utility Commands
733
733
  copy: "\u590D\u5236",
734
734
  pick: "\u9009\u53D6",
735
735
  beep: "\u8702\u9E23",
736
- // Advanced Commands
737
736
  js: "JS\u6267\u884C",
738
737
  async: "\u5F02\u6B65",
739
738
  render: "\u6E32\u67D3",
740
- // Animation Commands
741
739
  swap: "\u4EA4\u6362",
742
740
  morph: "\u53D8\u5F62",
743
741
  settle: "\u7A33\u5B9A",
744
- // Content Commands
745
742
  append: "\u8FFD\u52A0",
746
- // Control Flow
747
743
  exit: "\u9000\u51FA",
748
- // Behaviors
749
- install: "\u5B89\u88C5"
744
+ install: "\u5B89\u88C5",
745
+ breakpoint: "\u65AD\u70B9",
746
+ clear: "\u6E05\u9664",
747
+ close: "\u5173\u95ED",
748
+ open: "\u6253\u5F00",
749
+ select: "\u9009\u62E9",
750
+ clone: "\u514B\u9686",
751
+ prepend: "\u524D\u7F6E"
750
752
  },
751
753
  modifiers: {
752
754
  to: "\u5230",
@@ -807,13 +809,13 @@ var zh = {
807
809
  includes: "\u5305\u62EC",
808
810
  equals: "\u7B49\u4E8E",
809
811
  has: "\u6709",
810
- // universal "have"
811
812
  have: "\u6709",
812
- // same character for first/third person
813
813
  then: "\u90A3\u4E48",
814
814
  else: "\u5426\u5219",
815
815
  otherwise: "\u8981\u4E0D\u7136",
816
- end: "\u7ED3\u675F"
816
+ end: "\u7ED3\u675F",
817
+ live: "\u5B9E\u65F6",
818
+ changes: "\u6539\u53D8\u65F6"
817
819
  },
818
820
  temporal: {
819
821
  seconds: "\u79D2",
@@ -836,16 +838,12 @@ var zh = {
836
838
  undefined: "\u672A\u5B9A\u4E49",
837
839
  it: "\u5B83",
838
840
  its: "\u5B83\u7684",
839
- // REVIEW: native speaker
840
841
  me: "\u6211",
841
842
  my: "\u6211\u7684",
842
843
  myself: "\u6211\u81EA\u5DF1",
843
844
  you: "\u4F60",
844
- // REVIEW: native speaker
845
845
  your: "\u4F60\u7684",
846
- // REVIEW: native speaker
847
846
  yourself: "\u4F60\u81EA\u5DF1",
848
- // REVIEW: native speaker
849
847
  element: "\u5143\u7D20",
850
848
  target: "\u76EE\u6807",
851
849
  detail: "\u8BE6\u60C5",
@@ -867,7 +865,6 @@ var zh = {
867
865
  properties: "\u7279\u6027\u96C6"
868
866
  },
869
867
  expressions: {
870
- // Positional
871
868
  first: "\u7B2C\u4E00\u4E2A",
872
869
  last: "\u6700\u540E\u4E00\u4E2A",
873
870
  next: "\u4E0B\u4E00\u4E2A",
@@ -875,30 +872,30 @@ var zh = {
875
872
  prev: "\u4E0A\u4E2A",
876
873
  at: "\u5728",
877
874
  random: "\u968F\u673A",
878
- // DOM Traversal
879
875
  closest: "\u6700\u8FD1\u7684",
880
876
  parent: "\u7236\u7EA7",
881
877
  children: "\u5B50\u7EA7",
882
878
  within: "\u4E4B\u5185",
883
- // Emptiness/Existence
884
879
  no: "\u6CA1\u6709",
885
880
  empty: "\u7A7A\u7684",
886
881
  some: "\u4E00\u4E9B",
887
- // String operations
888
882
  "starts with": "\u4EE5\u5F00\u5934",
889
- "ends with": "\u4EE5\u7ED3\u5C3E"
883
+ "ends with": "\u4EE5\u7ED3\u5C3E",
884
+ "ignoring case": "\u5FFD\u7565\u5927\u5C0F\u5199",
885
+ "sorted by": "\u6309_\u6392\u5E8F",
886
+ "mapped to": "\u6620\u5C04\u4E3A",
887
+ "split by": "\u6309_\u5206\u5272",
888
+ "joined by": "\u7528_\u8FDE\u63A5"
890
889
  }
891
890
  };
892
891
 
893
892
  // src/dictionaries/fr.ts
894
893
  var fr = {
895
894
  commands: {
896
- // Event handling
897
895
  on: "sur",
898
896
  tell: "dire",
899
897
  trigger: "d\xE9clencher",
900
898
  send: "envoyer",
901
- // DOM manipulation
902
899
  take: "prendre",
903
900
  put: "mettre",
904
901
  set: "d\xE9finir",
@@ -908,7 +905,6 @@ var fr = {
908
905
  toggle: "basculer",
909
906
  hide: "cacher",
910
907
  show: "montrer",
911
- // Control flow
912
908
  if: "si",
913
909
  unless: "saufsi",
914
910
  repeat: "r\xE9p\xE9ter",
@@ -918,44 +914,41 @@ var fr = {
918
914
  continue: "continuer",
919
915
  break: "arr\xEAter",
920
916
  halt: "stopper",
921
- // Async
922
917
  wait: "attendre",
923
918
  fetch: "r\xE9cup\xE9rer",
924
919
  call: "appeler",
925
920
  return: "retourner",
926
- // Other commands
927
921
  make: "cr\xE9er",
928
922
  log: "enregistrer",
929
923
  throw: "lancer",
930
924
  catch: "attraper",
931
925
  measure: "mesurer",
932
926
  transition: "transition",
933
- // Data Commands
934
927
  increment: "incr\xE9menter",
935
928
  decrement: "d\xE9cr\xE9menter",
936
929
  default: "d\xE9faut",
937
- // Navigation Commands
938
930
  go: "aller",
939
931
  pushUrl: "pousserUrl",
940
932
  replaceUrl: "remplacerUrl",
941
- // Utility Commands
942
933
  copy: "copier",
943
934
  pick: "choisir",
944
935
  beep: "bip",
945
- // Advanced Commands
946
936
  js: "js",
947
937
  async: "asynchrone",
948
938
  render: "rendu",
949
- // Animation Commands
950
939
  swap: "\xE9changer",
951
940
  morph: "transformer",
952
941
  settle: "stabiliser",
953
- // Content Commands
954
942
  append: "ajouter",
955
- // Control Flow
956
943
  exit: "sortir",
957
- // Behaviors
958
- install: "installer"
944
+ install: "installer",
945
+ breakpoint: "point-arr\xEAt",
946
+ clear: "effacer",
947
+ close: "fermer",
948
+ open: "ouvrir",
949
+ select: "s\xE9lectionner",
950
+ clone: "cloner",
951
+ prepend: "pr\xE9fixer"
959
952
  },
960
953
  modifiers: {
961
954
  to: "\xE0",
@@ -1016,13 +1009,13 @@ var fr = {
1016
1009
  includes: "inclut",
1017
1010
  equals: "\xE9gale",
1018
1011
  has: "a",
1019
- // third-person: il/elle a
1020
1012
  have: "ai",
1021
- // first-person: j'ai
1022
1013
  then: "alors",
1023
1014
  else: "sinon",
1024
1015
  otherwise: "autrement",
1025
- end: "fin"
1016
+ end: "fin",
1017
+ live: "vif",
1018
+ changes: "change"
1026
1019
  },
1027
1020
  temporal: {
1028
1021
  seconds: "secondes",
@@ -1050,7 +1043,6 @@ var fr = {
1050
1043
  you: "tu",
1051
1044
  your: "ton",
1052
1045
  yourself: "toi-m\xEAme",
1053
- // REVIEW: native speaker
1054
1046
  myself: "moi-m\xEAme",
1055
1047
  element: "\xE9l\xE9ment",
1056
1048
  target: "cible",
@@ -1073,7 +1065,6 @@ var fr = {
1073
1065
  properties: "propri\xE9t\xE9s"
1074
1066
  },
1075
1067
  expressions: {
1076
- // Positional
1077
1068
  first: "premier",
1078
1069
  last: "dernier",
1079
1070
  next: "suivant",
@@ -1081,30 +1072,30 @@ var fr = {
1081
1072
  prev: "pr\xE9c",
1082
1073
  at: "\xE0",
1083
1074
  random: "al\xE9atoire",
1084
- // DOM Traversal
1085
1075
  closest: "plusproche",
1086
1076
  parent: "parent",
1087
1077
  children: "enfants",
1088
1078
  within: "dans",
1089
- // Emptiness/Existence
1090
1079
  no: "aucun",
1091
1080
  empty: "vide",
1092
1081
  some: "quelques",
1093
- // String operations
1094
1082
  "starts with": "commence par",
1095
- "ends with": "finit par"
1083
+ "ends with": "finit par",
1084
+ "ignoring case": "en ignorant la casse",
1085
+ "sorted by": "tri\xE9 par",
1086
+ "mapped to": "transform\xE9 en",
1087
+ "split by": "divis\xE9 par",
1088
+ "joined by": "joint par"
1096
1089
  }
1097
1090
  };
1098
1091
 
1099
1092
  // src/dictionaries/de.ts
1100
1093
  var de = {
1101
1094
  commands: {
1102
- // Event handling
1103
1095
  on: "bei",
1104
1096
  tell: "sagen",
1105
1097
  trigger: "ausl\xF6sen",
1106
1098
  send: "senden",
1107
- // DOM manipulation
1108
1099
  take: "nehmen",
1109
1100
  put: "setzen",
1110
1101
  set: "festlegen",
@@ -1114,7 +1105,6 @@ var de = {
1114
1105
  toggle: "umschalten",
1115
1106
  hide: "verstecken",
1116
1107
  show: "zeigen",
1117
- // Control flow
1118
1108
  if: "wenn",
1119
1109
  unless: "wennnicht",
1120
1110
  repeat: "wiederholen",
@@ -1124,44 +1114,41 @@ var de = {
1124
1114
  continue: "weiter",
1125
1115
  break: "unterbrechen",
1126
1116
  halt: "anhalten",
1127
- // Async
1128
1117
  wait: "warten",
1129
1118
  fetch: "holen",
1130
1119
  call: "aufrufen",
1131
1120
  return: "zur\xFCckgeben",
1132
- // Other commands
1133
1121
  make: "erstellen",
1134
1122
  log: "protokollieren",
1135
1123
  throw: "werfen",
1136
1124
  catch: "fangen",
1137
1125
  measure: "messen",
1138
1126
  transition: "\xFCbergang",
1139
- // Data Commands
1140
1127
  increment: "erh\xF6hen",
1141
1128
  decrement: "verringern",
1142
1129
  default: "standard",
1143
- // Navigation Commands
1144
1130
  go: "gehen",
1145
1131
  pushUrl: "urlHinzuf\xFCgen",
1146
1132
  replaceUrl: "urlErsetzen",
1147
- // Utility Commands
1148
1133
  copy: "kopieren",
1149
1134
  pick: "ausw\xE4hlen",
1150
1135
  beep: "piepton",
1151
- // Advanced Commands
1152
1136
  js: "js",
1153
1137
  async: "asynchron",
1154
1138
  render: "rendern",
1155
- // Animation Commands
1156
1139
  swap: "tauschen",
1157
1140
  morph: "verwandeln",
1158
1141
  settle: "stabilisieren",
1159
- // Content Commands
1160
1142
  append: "anh\xE4ngen",
1161
- // Control Flow
1162
1143
  exit: "beenden",
1163
- // Behaviors
1164
- install: "installieren"
1144
+ install: "installieren",
1145
+ breakpoint: "haltepunkt",
1146
+ clear: "l\xF6schen",
1147
+ close: "schlie\xDFen",
1148
+ open: "\xF6ffnen",
1149
+ select: "ausw\xE4hlen",
1150
+ clone: "klonen",
1151
+ prepend: "voranstellen"
1165
1152
  },
1166
1153
  modifiers: {
1167
1154
  to: "zu",
@@ -1222,13 +1209,13 @@ var de = {
1222
1209
  includes: "beinhaltet",
1223
1210
  equals: "gleicht",
1224
1211
  has: "hat",
1225
- // third-person: es hat
1226
1212
  have: "habe",
1227
- // first-person: ich habe
1228
1213
  then: "dann",
1229
1214
  else: "sonst",
1230
1215
  otherwise: "andernfalls",
1231
- end: "ende"
1216
+ end: "ende",
1217
+ live: "live",
1218
+ changes: "\xE4ndert"
1232
1219
  },
1233
1220
  temporal: {
1234
1221
  seconds: "sekunden",
@@ -1256,7 +1243,6 @@ var de = {
1256
1243
  you: "du",
1257
1244
  your: "dein",
1258
1245
  yourself: "dich selbst",
1259
- // REVIEW: native speaker
1260
1246
  myself: "ich selbst",
1261
1247
  element: "element",
1262
1248
  target: "ziel",
@@ -1279,7 +1265,6 @@ var de = {
1279
1265
  properties: "eigenschaften"
1280
1266
  },
1281
1267
  expressions: {
1282
- // Positional
1283
1268
  first: "erste",
1284
1269
  last: "letzte",
1285
1270
  next: "n\xE4chste",
@@ -1287,30 +1272,30 @@ var de = {
1287
1272
  prev: "vorh",
1288
1273
  at: "bei",
1289
1274
  random: "zuf\xE4llig",
1290
- // DOM Traversal
1291
1275
  closest: "n\xE4chste",
1292
1276
  parent: "elternteil",
1293
1277
  children: "kinder",
1294
1278
  within: "innerhalb",
1295
- // Emptiness/Existence
1296
1279
  no: "kein",
1297
1280
  empty: "leer",
1298
1281
  some: "einige",
1299
- // String operations
1300
1282
  "starts with": "beginnt mit",
1301
- "ends with": "endet mit"
1283
+ "ends with": "endet mit",
1284
+ "ignoring case": "ohne Gro\xDF-/Kleinschreibung",
1285
+ "sorted by": "sortiert nach",
1286
+ "mapped to": "zugeordnet zu",
1287
+ "split by": "geteilt durch",
1288
+ "joined by": "verbunden mit"
1302
1289
  }
1303
1290
  };
1304
1291
 
1305
1292
  // src/dictionaries/ja.ts
1306
1293
  var ja = {
1307
1294
  commands: {
1308
- // Event handling
1309
1295
  on: "\u3067",
1310
1296
  tell: "\u4F1D\u3048\u308B",
1311
1297
  trigger: "\u5F15\u304D\u91D1",
1312
1298
  send: "\u9001\u308B",
1313
- // DOM manipulation
1314
1299
  take: "\u53D6\u308B",
1315
1300
  put: "\u7F6E\u304F",
1316
1301
  set: "\u8A2D\u5B9A",
@@ -1320,7 +1305,6 @@ var ja = {
1320
1305
  toggle: "\u5207\u308A\u66FF\u3048",
1321
1306
  hide: "\u96A0\u3059",
1322
1307
  show: "\u8868\u793A",
1323
- // Control flow
1324
1308
  if: "\u3082\u3057",
1325
1309
  unless: "\u3067\u306A\u3051\u308C\u3070",
1326
1310
  repeat: "\u7E70\u308A\u8FD4\u3057",
@@ -1330,44 +1314,41 @@ var ja = {
1330
1314
  continue: "\u7D9A\u3051\u308B",
1331
1315
  break: "\u4E2D\u65AD",
1332
1316
  halt: "\u505C\u6B62",
1333
- // Async
1334
1317
  wait: "\u5F85\u3064",
1335
1318
  fetch: "\u53D6\u5F97",
1336
1319
  call: "\u547C\u3073\u51FA\u3057",
1337
1320
  return: "\u623B\u308B",
1338
- // Other commands
1339
1321
  make: "\u4F5C\u308B",
1340
1322
  log: "\u8A18\u9332",
1341
1323
  throw: "\u6295\u3052\u308B",
1342
1324
  catch: "\u6355\u307E\u3048\u308B",
1343
1325
  measure: "\u6E2C\u5B9A",
1344
1326
  transition: "\u9077\u79FB",
1345
- // Data Commands
1346
1327
  increment: "\u5897\u52A0",
1347
1328
  decrement: "\u6E1B\u5C11",
1348
1329
  default: "\u65E2\u5B9A",
1349
- // Navigation Commands
1350
1330
  go: "\u79FB\u52D5",
1351
1331
  pushUrl: "URL\u30D7\u30C3\u30B7\u30E5",
1352
1332
  replaceUrl: "URL\u7F6E\u63DB",
1353
- // Utility Commands
1354
1333
  copy: "\u30B3\u30D4\u30FC",
1355
1334
  pick: "\u9078\u629E",
1356
1335
  beep: "\u30D3\u30FC\u30D7",
1357
- // Advanced Commands
1358
1336
  js: "JS\u5B9F\u884C",
1359
1337
  async: "\u975E\u540C\u671F",
1360
1338
  render: "\u63CF\u753B",
1361
- // Animation Commands
1362
1339
  swap: "\u4EA4\u63DB",
1363
1340
  morph: "\u5909\u5F62",
1364
1341
  settle: "\u5B89\u5B9A",
1365
- // Content Commands
1366
1342
  append: "\u672B\u5C3E\u8FFD\u52A0",
1367
- // Control Flow
1368
1343
  exit: "\u7D42\u4E86",
1369
- // Behaviors
1370
- install: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB"
1344
+ install: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",
1345
+ breakpoint: "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8",
1346
+ clear: "\u30AF\u30EA\u30A2",
1347
+ close: "\u9589\u3058\u308B",
1348
+ open: "\u958B\u304F",
1349
+ select: "\u9078\u629E",
1350
+ clone: "\u8907\u88FD",
1351
+ prepend: "\u5148\u982D\u8FFD\u52A0"
1371
1352
  },
1372
1353
  modifiers: {
1373
1354
  to: "\u306B",
@@ -1428,13 +1409,13 @@ var ja = {
1428
1409
  includes: "\u542B\u3081\u308B",
1429
1410
  equals: "\u7B49\u3057\u3044",
1430
1411
  has: "\u3042\u308B",
1431
- // existence verb (context-based)
1432
1412
  have: "\u3042\u308B",
1433
- // same verb for first/third person
1434
1413
  then: "\u305D\u308C\u304B\u3089",
1435
1414
  else: "\u305D\u3046\u3067\u306A\u3051\u308C\u3070",
1436
1415
  otherwise: "\u305D\u3046\u3067\u306A\u3051\u308C\u3070",
1437
- end: "\u7D42\u308F\u308A"
1416
+ end: "\u7D42\u308F\u308A",
1417
+ live: "\u30E9\u30A4\u30D6",
1418
+ changes: "\u5909\u308F\u3063\u305F\u3089"
1438
1419
  },
1439
1420
  temporal: {
1440
1421
  seconds: "\u79D2",
@@ -1484,7 +1465,6 @@ var ja = {
1484
1465
  properties: "\u30D7\u30ED\u30D1\u30C6\u30A3\u7FA4"
1485
1466
  },
1486
1467
  expressions: {
1487
- // Positional
1488
1468
  first: "\u6700\u521D",
1489
1469
  last: "\u6700\u5F8C",
1490
1470
  next: "\u6B21",
@@ -1492,30 +1472,30 @@ var ja = {
1492
1472
  prev: "\u524D",
1493
1473
  at: "\u3067",
1494
1474
  random: "\u30E9\u30F3\u30C0\u30E0",
1495
- // DOM Traversal
1496
1475
  closest: "\u6700\u3082\u8FD1\u3044",
1497
1476
  parent: "\u89AA",
1498
1477
  children: "\u5B50",
1499
1478
  within: "\u4EE5\u5185",
1500
- // Emptiness/Existence
1501
1479
  no: "\u306A\u3044",
1502
1480
  empty: "\u7A7A",
1503
1481
  some: "\u3044\u304F\u3064\u304B",
1504
- // String operations
1505
1482
  "starts with": "\u3067\u59CB\u307E\u308B",
1506
- "ends with": "\u3067\u7D42\u308F\u308B"
1483
+ "ends with": "\u3067\u7D42\u308F\u308B",
1484
+ "ignoring case": "\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u3092\u7121\u8996",
1485
+ "sorted by": "\u3067\u30BD\u30FC\u30C8",
1486
+ "mapped to": "\u306B\u5909\u63DB",
1487
+ "split by": "\u3067\u5206\u5272",
1488
+ "joined by": "\u3067\u7D50\u5408"
1507
1489
  }
1508
1490
  };
1509
1491
 
1510
1492
  // src/dictionaries/ar.ts
1511
1493
  var ar = {
1512
1494
  commands: {
1513
- // Event handling
1514
1495
  on: "\u0639\u0644\u0649",
1515
1496
  tell: "\u0623\u062E\u0628\u0631",
1516
1497
  trigger: "\u062A\u0634\u063A\u064A\u0644",
1517
1498
  send: "\u0623\u0631\u0633\u0644",
1518
- // DOM manipulation
1519
1499
  take: "\u062E\u0630",
1520
1500
  put: "\u0636\u0639",
1521
1501
  set: "\u0627\u0636\u0628\u0637",
@@ -1525,7 +1505,6 @@ var ar = {
1525
1505
  toggle: "\u0628\u062F\u0644",
1526
1506
  hide: "\u0627\u062E\u0641",
1527
1507
  show: "\u0627\u0638\u0647\u0631",
1528
- // Control flow
1529
1508
  if: "\u0625\u0630\u0627",
1530
1509
  unless: "\u0625\u0644\u0627 \u0625\u0630\u0627",
1531
1510
  repeat: "\u0643\u0631\u0631",
@@ -1535,44 +1514,41 @@ var ar = {
1535
1514
  continue: "\u0648\u0627\u0635\u0644",
1536
1515
  break: "\u062A\u0648\u0642\u0641",
1537
1516
  halt: "\u0623\u0648\u0642\u0641",
1538
- // Async
1539
1517
  wait: "\u0627\u0646\u062A\u0638\u0631",
1540
1518
  fetch: "\u0627\u062D\u0636\u0631",
1541
1519
  call: "\u0627\u0633\u062A\u062F\u0639",
1542
1520
  return: "\u0627\u0631\u062C\u0639",
1543
- // Other commands
1544
1521
  make: "\u0627\u0635\u0646\u0639",
1545
1522
  log: "\u0633\u062C\u0644",
1546
1523
  throw: "\u0627\u0631\u0645",
1547
1524
  catch: "\u0627\u0644\u062A\u0642\u0637",
1548
1525
  measure: "\u0642\u0633",
1549
1526
  transition: "\u0627\u0646\u062A\u0642\u0627\u0644",
1550
- // Data Commands
1551
1527
  increment: "\u0632\u0650\u062F",
1552
1528
  decrement: "\u0623\u0646\u0642\u0635",
1553
1529
  default: "\u0627\u0641\u062A\u0631\u0627\u0636\u064A",
1554
- // Navigation Commands
1555
1530
  go: "\u0627\u0630\u0647\u0628",
1556
1531
  pushUrl: "\u0627\u062F\u0641\u0639 \u0631\u0627\u0628\u0637",
1557
1532
  replaceUrl: "\u0627\u0633\u062A\u0628\u062F\u0644 \u0631\u0627\u0628\u0637",
1558
- // Utility Commands
1559
1533
  copy: "\u0627\u0646\u0633\u062E",
1560
1534
  pick: "\u0627\u062E\u062A\u0631",
1561
1535
  beep: "\u0635\u0641\u0651\u0631",
1562
- // Advanced Commands
1563
1536
  js: "\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",
1564
1537
  async: "\u0645\u062A\u0632\u0627\u0645\u0646",
1565
1538
  render: "\u0627\u0631\u0633\u0645",
1566
- // Animation Commands
1567
1539
  swap: "\u0628\u062F\u0651\u0644",
1568
1540
  morph: "\u062D\u0648\u0651\u0644",
1569
1541
  settle: "\u0627\u0633\u062A\u0642\u0631",
1570
- // Content Commands
1571
1542
  append: "\u0623\u0644\u062D\u0642",
1572
- // Control Flow
1573
1543
  exit: "\u0627\u062E\u0631\u062C",
1574
- // Behaviors
1575
- install: "\u062B\u0628\u0651\u062A"
1544
+ install: "\u062B\u0628\u0651\u062A",
1545
+ breakpoint: "\u0646\u0642\u0637\u0629-\u062A\u0648\u0642\u0641",
1546
+ clear: "\u0627\u0645\u0633\u062D",
1547
+ close: "\u0623\u063A\u0644\u0642",
1548
+ open: "\u0627\u0641\u062A\u062D",
1549
+ select: "\u0627\u062E\u062A\u0631",
1550
+ clone: "\u0627\u0633\u062A\u0646\u0633\u062E",
1551
+ prepend: "\u0633\u0628\u0642"
1576
1552
  },
1577
1553
  modifiers: {
1578
1554
  to: "\u0625\u0644\u0649",
@@ -1633,13 +1609,13 @@ var ar = {
1633
1609
  includes: "\u064A\u0634\u0645\u0644",
1634
1610
  equals: "\u064A\u0633\u0627\u0648\u064A",
1635
1611
  has: "\u0644\u062F\u064A\u0647",
1636
- // third-person: he/it has
1637
1612
  have: "\u0644\u062F\u064A",
1638
- // first-person: I have
1639
1613
  then: "\u062B\u0645",
1640
1614
  else: "\u0648\u0625\u0644\u0627",
1641
1615
  otherwise: "\u062E\u0644\u0627\u0641 \u0630\u0644\u0643",
1642
- end: "\u0627\u0644\u0646\u0647\u0627\u064A\u0629"
1616
+ end: "\u0627\u0644\u0646\u0647\u0627\u064A\u0629",
1617
+ live: "\u062D\u064A",
1618
+ changes: "\u064A\u062A\u063A\u064A\u0631"
1643
1619
  },
1644
1620
  temporal: {
1645
1621
  seconds: "\u062B\u0648\u0627\u0646\u0650",
@@ -1662,16 +1638,12 @@ var ar = {
1662
1638
  undefined: "\u063A\u064A\u0631 \u0645\u0639\u0631\u0641",
1663
1639
  it: "\u0647\u0648",
1664
1640
  its: "\u0644\u0647",
1665
- // REVIEW: native speaker
1666
1641
  me: "\u0623\u0646\u0627",
1667
1642
  my: "\u0644\u064A",
1668
1643
  myself: "\u0646\u0641\u0633\u064A",
1669
1644
  you: "\u0623\u0646\u062A",
1670
- // REVIEW: native speaker
1671
1645
  your: "\u0644\u0643",
1672
- // REVIEW: native speaker
1673
1646
  yourself: "\u0646\u0641\u0633\u0643",
1674
- // REVIEW: native speaker
1675
1647
  element: "\u0639\u0646\u0635\u0631",
1676
1648
  target: "\u0647\u062F\u0641",
1677
1649
  detail: "\u062A\u0641\u0627\u0635\u064A\u0644",
@@ -1693,7 +1665,6 @@ var ar = {
1693
1665
  properties: "\u062E\u0635\u0627\u0626\u0635"
1694
1666
  },
1695
1667
  expressions: {
1696
- // Positional
1697
1668
  first: "\u0623\u0648\u0644",
1698
1669
  last: "\u0622\u062E\u0631",
1699
1670
  next: "\u0627\u0644\u062A\u0627\u0644\u064A",
@@ -1701,30 +1672,30 @@ var ar = {
1701
1672
  prev: "\u0633\u0627\u0628\u0642",
1702
1673
  at: "\u0639\u0646\u062F",
1703
1674
  random: "\u0639\u0634\u0648\u0627\u0626\u064A",
1704
- // DOM Traversal
1705
1675
  closest: "\u0627\u0644\u0623\u0642\u0631\u0628",
1706
1676
  parent: "\u0648\u0627\u0644\u062F",
1707
1677
  children: "\u0623\u0637\u0641\u0627\u0644",
1708
1678
  within: "\u062F\u0627\u062E\u0644",
1709
- // Emptiness/Existence
1710
1679
  no: "\u0644\u0627 \u064A\u0648\u062C\u062F",
1711
1680
  empty: "\u0641\u0627\u0631\u063A",
1712
1681
  some: "\u0628\u0639\u0636",
1713
- // String operations
1714
1682
  "starts with": "\u064A\u0628\u062F\u0623 \u0628\u0640",
1715
- "ends with": "\u064A\u0646\u062A\u0647\u064A \u0628\u0640"
1683
+ "ends with": "\u064A\u0646\u062A\u0647\u064A \u0628\u0640",
1684
+ "ignoring case": "\u0645\u0639 \u062A\u062C\u0627\u0647\u0644 \u0627\u0644\u062D\u0627\u0644\u0629",
1685
+ "sorted by": "\u0645\u0631\u062A\u0628 \u062D\u0633\u0628",
1686
+ "mapped to": "\u0645\u062D\u0648\u0644 \u0625\u0644\u0649",
1687
+ "split by": "\u0645\u0642\u0633\u0645 \u0628\u0648\u0627\u0633\u0637\u0629",
1688
+ "joined by": "\u0645\u062F\u0645\u0648\u062C \u0628\u0648\u0627\u0633\u0637\u0629"
1716
1689
  }
1717
1690
  };
1718
1691
 
1719
1692
  // src/dictionaries/tr.ts
1720
1693
  var tr = {
1721
1694
  commands: {
1722
- // Event handling
1723
1695
  on: "\xFCzerinde",
1724
1696
  tell: "s\xF6yle",
1725
1697
  trigger: "tetikle",
1726
1698
  send: "g\xF6nder",
1727
- // DOM manipulation
1728
1699
  take: "al",
1729
1700
  put: "koy",
1730
1701
  set: "ayarla",
@@ -1734,7 +1705,6 @@ var tr = {
1734
1705
  toggle: "de\u011Fi\u015Ftir",
1735
1706
  hide: "gizle",
1736
1707
  show: "g\xF6ster",
1737
- // Control flow
1738
1708
  if: "e\u011Fer",
1739
1709
  unless: "de\u011Filse",
1740
1710
  repeat: "tekrarla",
@@ -1744,44 +1714,41 @@ var tr = {
1744
1714
  continue: "devam",
1745
1715
  break: "dur",
1746
1716
  halt: "durdur",
1747
- // Async
1748
1717
  wait: "bekle",
1749
1718
  fetch: "getir",
1750
1719
  call: "\xE7a\u011F\u0131r",
1751
1720
  return: "d\xF6n",
1752
- // Other commands
1753
1721
  make: "yap",
1754
1722
  log: "kaydet",
1755
1723
  throw: "f\u0131rlat",
1756
1724
  catch: "yakala",
1757
1725
  measure: "\xF6l\xE7",
1758
1726
  transition: "ge\xE7i\u015F",
1759
- // Data Commands
1760
1727
  increment: "art\u0131r",
1761
1728
  decrement: "azalt",
1762
1729
  default: "varsay\u0131lan",
1763
- // Navigation Commands
1764
1730
  go: "git",
1765
1731
  pushUrl: "urlEkle",
1766
1732
  replaceUrl: "urlDe\u011Fi\u015Ftir",
1767
- // Utility Commands
1768
1733
  copy: "kopyala",
1769
1734
  pick: "se\xE7",
1770
1735
  beep: "bip",
1771
- // Advanced Commands
1772
1736
  js: "js",
1773
1737
  async: "asenkron",
1774
1738
  render: "render",
1775
- // Animation Commands
1776
1739
  swap: "takas",
1777
1740
  morph: "d\xF6n\xFC\u015Ft\xFCr",
1778
1741
  settle: "sabitlen",
1779
- // Content Commands
1780
1742
  append: "ekle",
1781
- // Control Flow
1782
1743
  exit: "\xE7\u0131k",
1783
- // Behaviors
1784
- install: "kur"
1744
+ install: "kur",
1745
+ breakpoint: "kesme-noktas\u0131",
1746
+ clear: "temizle",
1747
+ close: "kapat",
1748
+ open: "a\xE7",
1749
+ select: "se\xE7",
1750
+ clone: "klonla",
1751
+ prepend: "ba\u015F\u0131naekle"
1785
1752
  },
1786
1753
  modifiers: {
1787
1754
  to: "e",
@@ -1831,9 +1798,7 @@ var tr = {
1831
1798
  },
1832
1799
  logical: {
1833
1800
  when: "iken",
1834
- // REVIEW: native speaker - could also be 'durumunda' (in case of) or 'olduğunda' (when it happens)
1835
1801
  where: "nerede",
1836
- // REVIEW: native speaker - element filter context
1837
1802
  and: "ve",
1838
1803
  or: "veya",
1839
1804
  not: "de\u011Fil",
@@ -1844,13 +1809,13 @@ var tr = {
1844
1809
  includes: "dahil",
1845
1810
  equals: "e\u015Fittir",
1846
1811
  has: "var",
1847
- // existence marker (context-based)
1848
1812
  have: "var",
1849
- // same for first/third person in Turkish
1850
1813
  then: "sonra",
1851
1814
  else: "yoksa",
1852
1815
  otherwise: "aksi_halde",
1853
- end: "son"
1816
+ end: "son",
1817
+ live: "canl\u0131",
1818
+ changes: "de\u011Fi\u015Fti\u011Finde"
1854
1819
  },
1855
1820
  temporal: {
1856
1821
  seconds: "saniye",
@@ -1873,16 +1838,12 @@ var tr = {
1873
1838
  undefined: "tan\u0131ms\u0131z",
1874
1839
  it: "o",
1875
1840
  its: "onun",
1876
- // REVIEW: native speaker
1877
1841
  me: "ben",
1878
1842
  my: "benim",
1879
1843
  myself: "kendim",
1880
1844
  you: "sen",
1881
- // REVIEW: native speaker - formal/informal
1882
1845
  your: "senin",
1883
- // REVIEW: native speaker - formal/informal
1884
1846
  yourself: "kendin",
1885
- // REVIEW: native speaker
1886
1847
  element: "\xF6\u011Fe",
1887
1848
  target: "hedef",
1888
1849
  detail: "detay",
@@ -1904,7 +1865,6 @@ var tr = {
1904
1865
  properties: "\xF6zellikler"
1905
1866
  },
1906
1867
  expressions: {
1907
- // Positional
1908
1868
  first: "ilk",
1909
1869
  last: "son",
1910
1870
  next: "sonraki",
@@ -1912,30 +1872,30 @@ var tr = {
1912
1872
  prev: "\xF6nc",
1913
1873
  at: "de",
1914
1874
  random: "rastgele",
1915
- // DOM Traversal
1916
1875
  closest: "en_yak\u0131n",
1917
1876
  parent: "ebeveyn",
1918
1877
  children: "\xE7ocuklar",
1919
1878
  within: "i\xE7inde",
1920
- // Emptiness/Existence
1921
1879
  no: "yok",
1922
1880
  empty: "bo\u015F",
1923
1881
  some: "baz\u0131",
1924
- // String operations
1925
1882
  "starts with": "ile ba\u015Flar",
1926
- "ends with": "ile biter"
1883
+ "ends with": "ile biter",
1884
+ "ignoring case": "b\xFCy\xFCk k\xFC\xE7\xFCk harf duyars\u0131z",
1885
+ "sorted by": "g\xF6re s\u0131ral\u0131",
1886
+ "mapped to": "ye d\xF6n\xFC\u015Ft\xFCr\xFClm\xFC\u015F",
1887
+ "split by": "ile b\xF6l\xFCnm\xFC\u015F",
1888
+ "joined by": "ile birle\u015Ftirilmi\u015F"
1927
1889
  }
1928
1890
  };
1929
1891
 
1930
1892
  // src/dictionaries/id.ts
1931
1893
  var id = {
1932
1894
  commands: {
1933
- // Event handling
1934
1895
  on: "pada",
1935
1896
  tell: "katakan",
1936
1897
  trigger: "picu",
1937
1898
  send: "kirim",
1938
- // DOM manipulation
1939
1899
  take: "ambil",
1940
1900
  put: "taruh",
1941
1901
  set: "atur",
@@ -1945,7 +1905,6 @@ var id = {
1945
1905
  toggle: "ganti",
1946
1906
  hide: "sembunyikan",
1947
1907
  show: "tampilkan",
1948
- // Control flow
1949
1908
  if: "jika",
1950
1909
  unless: "kecuali",
1951
1910
  repeat: "ulangi",
@@ -1955,44 +1914,41 @@ var id = {
1955
1914
  continue: "lanjutkan",
1956
1915
  break: "hentikan",
1957
1916
  halt: "berhenti",
1958
- // Async
1959
1917
  wait: "tunggu",
1960
1918
  fetch: "ambil",
1961
1919
  call: "panggil",
1962
1920
  return: "kembali",
1963
- // Other commands
1964
1921
  make: "buat",
1965
1922
  log: "catat",
1966
1923
  throw: "lempar",
1967
1924
  catch: "tangkap",
1968
1925
  measure: "ukur",
1969
1926
  transition: "transisi",
1970
- // Data Commands
1971
1927
  increment: "tambahkan",
1972
1928
  decrement: "kurangi",
1973
1929
  default: "bawaan",
1974
- // Navigation Commands
1975
1930
  go: "pergi",
1976
1931
  pushUrl: "tambahUrl",
1977
1932
  replaceUrl: "gantiUrl",
1978
- // Utility Commands
1979
1933
  copy: "salin",
1980
1934
  pick: "pilih",
1981
1935
  beep: "bunyi",
1982
- // Advanced Commands
1983
1936
  js: "js",
1984
1937
  async: "asinkron",
1985
1938
  render: "tampilkan",
1986
- // Animation Commands
1987
1939
  swap: "tukar",
1988
1940
  morph: "ubah_bentuk",
1989
1941
  settle: "stabil",
1990
- // Content Commands
1991
1942
  append: "tambah_akhir",
1992
- // Control Flow
1993
1943
  exit: "keluar",
1994
- // Behaviors
1995
- install: "pasang"
1944
+ install: "pasang",
1945
+ breakpoint: "titik-henti",
1946
+ clear: "hapus",
1947
+ close: "tutup",
1948
+ open: "buka",
1949
+ select: "pilih",
1950
+ clone: "klon",
1951
+ prepend: "awali"
1996
1952
  },
1997
1953
  modifiers: {
1998
1954
  to: "ke",
@@ -2053,13 +2009,13 @@ var id = {
2053
2009
  includes: "termasuk",
2054
2010
  equals: "sama",
2055
2011
  has: "punya",
2056
- // possession verb (context-based)
2057
2012
  have: "punya",
2058
- // same for first/third person
2059
2013
  then: "lalu",
2060
2014
  else: "lainnya",
2061
2015
  otherwise: "sebaliknya",
2062
- end: "akhir"
2016
+ end: "akhir",
2017
+ live: "langsung",
2018
+ changes: "berubah"
2063
2019
  },
2064
2020
  temporal: {
2065
2021
  seconds: "detik",
@@ -2082,16 +2038,12 @@ var id = {
2082
2038
  undefined: "tidak_terdefinisi",
2083
2039
  it: "itu",
2084
2040
  its: "miliknya",
2085
- // REVIEW: native speaker
2086
2041
  me: "saya",
2087
2042
  my: "saya punya",
2088
2043
  myself: "saya sendiri",
2089
2044
  you: "kamu",
2090
- // REVIEW: native speaker - formal/informal
2091
2045
  your: "kamu punya",
2092
- // REVIEW: native speaker
2093
2046
  yourself: "kamu sendiri",
2094
- // REVIEW: native speaker
2095
2047
  element: "elemen",
2096
2048
  target: "target",
2097
2049
  detail: "detail",
@@ -2113,7 +2065,6 @@ var id = {
2113
2065
  properties: "properti_properti"
2114
2066
  },
2115
2067
  expressions: {
2116
- // Positional
2117
2068
  first: "pertama",
2118
2069
  last: "terakhir",
2119
2070
  next: "berikutnya",
@@ -2121,30 +2072,30 @@ var id = {
2121
2072
  prev: "sblm",
2122
2073
  at: "di",
2123
2074
  random: "acak",
2124
- // DOM Traversal
2125
2075
  closest: "terdekat",
2126
2076
  parent: "induk",
2127
2077
  children: "anak_anak",
2128
2078
  within: "dalam",
2129
- // Emptiness/Existence
2130
2079
  no: "tidak_ada",
2131
2080
  empty: "kosong",
2132
2081
  some: "beberapa",
2133
- // String operations
2134
2082
  "starts with": "dimulai dengan",
2135
- "ends with": "diakhiri dengan"
2083
+ "ends with": "diakhiri dengan",
2084
+ "ignoring case": "abaikan kapital",
2085
+ "sorted by": "diurutkan berdasarkan",
2086
+ "mapped to": "dipetakan ke",
2087
+ "split by": "dipisah oleh",
2088
+ "joined by": "digabung oleh"
2136
2089
  }
2137
2090
  };
2138
2091
 
2139
2092
  // src/dictionaries/qu.ts
2140
2093
  var qu = {
2141
2094
  commands: {
2142
- // Event handling
2143
2095
  on: "kaqpi",
2144
2096
  tell: "niy",
2145
2097
  trigger: "kichay",
2146
2098
  send: "kachay",
2147
- // DOM manipulation
2148
2099
  take: "hurquy",
2149
2100
  put: "churay",
2150
2101
  set: "churay",
@@ -2154,7 +2105,6 @@ var qu = {
2154
2105
  toggle: "tikray",
2155
2106
  hide: "pakay",
2156
2107
  show: "rikuchiy",
2157
- // Control flow
2158
2108
  if: "sichus",
2159
2109
  unless: "mana_sichus",
2160
2110
  repeat: "kutichiy",
@@ -2164,44 +2114,41 @@ var qu = {
2164
2114
  continue: "purichiy",
2165
2115
  break: "p_akiy",
2166
2116
  halt: "sayay",
2167
- // Async
2168
2117
  wait: "suyay",
2169
2118
  fetch: "apamuy",
2170
2119
  call: "qayay",
2171
2120
  return: "kutimuy",
2172
- // Other commands
2173
2121
  make: "ruray",
2174
2122
  log: "qillqay",
2175
2123
  throw: "wikchuy",
2176
2124
  catch: "hapsiy",
2177
2125
  measure: "tupuy",
2178
2126
  transition: "tikray",
2179
- // Data Commands
2180
2127
  increment: "yapay",
2181
2128
  decrement: "pisiyachiy",
2182
2129
  default: "\xF1awpaq_kaq",
2183
- // Navigation Commands
2184
2130
  go: "riy",
2185
2131
  pushUrl: "url_tanqay",
2186
2132
  replaceUrl: "url_tikray",
2187
- // Utility Commands
2188
2133
  copy: "qillqay",
2189
2134
  pick: "akllay",
2190
2135
  beep: "waqay",
2191
- // Advanced Commands
2192
2136
  js: "js",
2193
2137
  async: "mana_suyaspa",
2194
2138
  render: "rikuchiy",
2195
- // Animation Commands
2196
2139
  swap: "rantin_tikray",
2197
2140
  morph: "tikrachiy",
2198
2141
  settle: "tiyay",
2199
- // Content Commands
2200
2142
  append: "qhipaman_yapay",
2201
- // Control Flow
2202
2143
  exit: "lluqsiy",
2203
- // Behaviors
2204
- install: "churay"
2144
+ install: "churay",
2145
+ breakpoint: "sayachinay",
2146
+ clear: "pichay",
2147
+ close: "wichqay",
2148
+ open: "kichay",
2149
+ select: "akllay",
2150
+ clone: "kikinchay",
2151
+ prepend: "\xF1awpachiy"
2205
2152
  },
2206
2153
  modifiers: {
2207
2154
  to: "man",
@@ -2262,13 +2209,13 @@ var qu = {
2262
2209
  includes: "churasqa",
2263
2210
  equals: "kikin",
2264
2211
  has: "kachkan",
2265
- // existence suffix (context-based)
2266
2212
  have: "kachkani",
2267
- // first-person with suffix
2268
2213
  then: "chayqa",
2269
2214
  else: "mana_chayqa",
2270
2215
  otherwise: "huk_kaqpi",
2271
- end: "tukuy"
2216
+ end: "tukuy",
2217
+ live: "kawsay",
2218
+ changes: "tukurikun"
2272
2219
  },
2273
2220
  temporal: {
2274
2221
  seconds: "sikundukuna",
@@ -2291,16 +2238,12 @@ var qu = {
2291
2238
  undefined: "mana_riqsisqa",
2292
2239
  it: "chay",
2293
2240
  its: "chaypaq",
2294
- // REVIEW: native speaker
2295
2241
  me: "noqa",
2296
2242
  my: "noqaq",
2297
2243
  myself: "noqa killa",
2298
2244
  you: "qam",
2299
- // REVIEW: native speaker
2300
2245
  your: "qampaq",
2301
- // REVIEW: native speaker
2302
2246
  yourself: "qam killa",
2303
- // REVIEW: native speaker
2304
2247
  element: "raku",
2305
2248
  target: "punta",
2306
2249
  detail: "sut_iy",
@@ -2322,7 +2265,6 @@ var qu = {
2322
2265
  properties: "kanaykuna"
2323
2266
  },
2324
2267
  expressions: {
2325
- // Positional
2326
2268
  first: "\xF1awpaq",
2327
2269
  last: "qhipa",
2328
2270
  next: "qhipantin",
@@ -2330,30 +2272,30 @@ var qu = {
2330
2272
  prev: "\xF1awpaq",
2331
2273
  at: "pi",
2332
2274
  random: "imaymanata",
2333
- // DOM Traversal
2334
2275
  closest: "aswan_kaylla",
2335
2276
  parent: "mama_tayta",
2336
2277
  children: "wawakuna",
2337
2278
  within: "ukupi",
2338
- // Emptiness/Existence
2339
2279
  no: "mana_kanchu",
2340
2280
  empty: "ch_usaq",
2341
2281
  some: "wakin",
2342
- // String operations
2343
2282
  "starts with": "qallarisqa wan",
2344
- "ends with": "tukusqa wan"
2283
+ "ends with": "tukusqa wan",
2284
+ "ignoring case": "hatun-huchuy qillqata-saqiy",
2285
+ "sorted by": "niqpi ruwasqa",
2286
+ "mapped to": "kay kaqman",
2287
+ "split by": "rakisqa",
2288
+ "joined by": "hu\xF1usqa"
2345
2289
  }
2346
2290
  };
2347
2291
 
2348
2292
  // src/dictionaries/sw.ts
2349
2293
  var sw = {
2350
2294
  commands: {
2351
- // Event handling
2352
2295
  on: "kwenye",
2353
2296
  tell: "ambia",
2354
2297
  trigger: "chochea",
2355
2298
  send: "tuma",
2356
- // DOM manipulation
2357
2299
  take: "chukua",
2358
2300
  put: "weka",
2359
2301
  set: "weka",
@@ -2363,7 +2305,6 @@ var sw = {
2363
2305
  toggle: "badilisha",
2364
2306
  hide: "ficha",
2365
2307
  show: "onyesha",
2366
- // Control flow
2367
2308
  if: "kama",
2368
2309
  unless: "isipokuwa",
2369
2310
  repeat: "rudia",
@@ -2373,44 +2314,41 @@ var sw = {
2373
2314
  continue: "endelea",
2374
2315
  break: "vunja",
2375
2316
  halt: "simama",
2376
- // Async
2377
2317
  wait: "ngoja",
2378
2318
  fetch: "leta",
2379
2319
  call: "ita",
2380
2320
  return: "rudi",
2381
- // Other commands
2382
2321
  make: "fanya",
2383
2322
  log: "andika",
2384
2323
  throw: "tupa",
2385
2324
  catch: "shika",
2386
2325
  measure: "pima",
2387
2326
  transition: "mpito",
2388
- // Data Commands
2389
2327
  increment: "ongeza",
2390
2328
  decrement: "punguza",
2391
2329
  default: "msingi",
2392
- // Navigation Commands
2393
2330
  go: "nenda",
2394
2331
  pushUrl: "sukumaUrl",
2395
2332
  replaceUrl: "badilishaUrl",
2396
- // Utility Commands
2397
2333
  copy: "nakili",
2398
2334
  pick: "chagua",
2399
2335
  beep: "lia",
2400
- // Advanced Commands
2401
2336
  js: "js",
2402
2337
  async: "sainkroni",
2403
2338
  render: "chora",
2404
- // Animation Commands
2405
2339
  swap: "badilishana",
2406
2340
  morph: "badilishaUmbo",
2407
2341
  settle: "tulia",
2408
- // Content Commands
2409
2342
  append: "ongezaMwisho",
2410
- // Control Flow
2411
2343
  exit: "toka",
2412
- // Behaviors
2413
- install: "sakinisha"
2344
+ install: "sakinisha",
2345
+ breakpoint: "nukta-simama",
2346
+ clear: "futa",
2347
+ close: "funga",
2348
+ open: "fungua",
2349
+ select: "chagua",
2350
+ clone: "nakili",
2351
+ prepend: "tanguliza"
2414
2352
  },
2415
2353
  modifiers: {
2416
2354
  to: "kwa",
@@ -2471,13 +2409,13 @@ var sw = {
2471
2409
  includes: "pamoja",
2472
2410
  equals: "sawa",
2473
2411
  has: "ana",
2474
- // third-person: yeye ana
2475
2412
  have: "nina",
2476
- // first-person: mimi nina
2477
2413
  then: "kisha",
2478
2414
  else: "sivyo",
2479
2415
  otherwise: "vinginevyo",
2480
- end: "mwisho"
2416
+ end: "mwisho",
2417
+ live: "moja_kwa_moja",
2418
+ changes: "inabadilika"
2481
2419
  },
2482
2420
  temporal: {
2483
2421
  seconds: "sekunde",
@@ -2500,16 +2438,12 @@ var sw = {
2500
2438
  undefined: "haijafafanuliwa",
2501
2439
  it: "hiyo",
2502
2440
  its: "yake",
2503
- // REVIEW: native speaker
2504
2441
  me: "mimi",
2505
2442
  my: "yangu",
2506
2443
  myself: "mimi mwenyewe",
2507
2444
  you: "wewe",
2508
- // REVIEW: native speaker
2509
2445
  your: "yako",
2510
- // REVIEW: native speaker
2511
2446
  yourself: "wewe mwenyewe",
2512
- // REVIEW: native speaker
2513
2447
  element: "kipengele",
2514
2448
  target: "lengo",
2515
2449
  detail: "maelezo",
@@ -2531,7 +2465,6 @@ var sw = {
2531
2465
  properties: "mali"
2532
2466
  },
2533
2467
  expressions: {
2534
- // Positional
2535
2468
  first: "kwanza",
2536
2469
  last: "mwisho",
2537
2470
  next: "ijayo",
@@ -2539,30 +2472,30 @@ var sw = {
2539
2472
  prev: "awali",
2540
2473
  at: "katika",
2541
2474
  random: "nasibu",
2542
- // DOM Traversal
2543
2475
  closest: "karibu_zaidi",
2544
2476
  parent: "mzazi",
2545
2477
  children: "watoto",
2546
2478
  within: "ndani_ya",
2547
- // Emptiness/Existence
2548
2479
  no: "hakuna",
2549
2480
  empty: "tupu",
2550
2481
  some: "baadhi",
2551
- // String operations
2552
2482
  "starts with": "huanza na",
2553
- "ends with": "huisha na"
2483
+ "ends with": "huisha na",
2484
+ "ignoring case": "puuza herufi kubwa ndogo",
2485
+ "sorted by": "kupangwa kwa",
2486
+ "mapped to": "kubadilishwa kuwa",
2487
+ "split by": "kugawanywa kwa",
2488
+ "joined by": "kuunganishwa kwa"
2554
2489
  }
2555
2490
  };
2556
2491
 
2557
2492
  // src/dictionaries/pt.ts
2558
2493
  var pt = {
2559
2494
  commands: {
2560
- // Event handling
2561
2495
  on: "em",
2562
2496
  tell: "dizer",
2563
2497
  trigger: "disparar",
2564
2498
  send: "enviar",
2565
- // DOM manipulation
2566
2499
  take: "pegar",
2567
2500
  put: "colocar",
2568
2501
  set: "definir",
@@ -2572,10 +2505,8 @@ var pt = {
2572
2505
  toggle: "alternar",
2573
2506
  hide: "esconder",
2574
2507
  show: "mostrar",
2575
- // Control flow
2576
2508
  if: "se",
2577
2509
  unless: "a_menos",
2578
- // REVIEW: native speaker - multi-word
2579
2510
  repeat: "repetir",
2580
2511
  for: "para",
2581
2512
  while: "enquanto",
@@ -2583,44 +2514,41 @@ var pt = {
2583
2514
  continue: "continuar",
2584
2515
  break: "parar",
2585
2516
  halt: "interromper",
2586
- // Async
2587
2517
  wait: "esperar",
2588
2518
  fetch: "buscar",
2589
2519
  call: "chamar",
2590
2520
  return: "retornar",
2591
- // Other commands
2592
2521
  make: "fazer",
2593
2522
  log: "registrar",
2594
2523
  throw: "lan\xE7ar",
2595
2524
  catch: "capturar",
2596
2525
  measure: "medir",
2597
2526
  transition: "transi\xE7\xE3o",
2598
- // Data Commands
2599
2527
  increment: "incrementar",
2600
2528
  decrement: "decrementar",
2601
2529
  default: "padr\xE3o",
2602
- // Navigation Commands
2603
2530
  go: "ir",
2604
2531
  pushUrl: "pushUrl",
2605
2532
  replaceUrl: "substituirUrl",
2606
- // Utility Commands
2607
2533
  copy: "copiar",
2608
2534
  pick: "escolher",
2609
2535
  beep: "apitar",
2610
- // Advanced Commands
2611
2536
  js: "js",
2612
2537
  async: "ass\xEDncrono",
2613
2538
  render: "renderizar",
2614
- // Animation Commands
2615
2539
  swap: "trocar",
2616
2540
  morph: "transformar",
2617
2541
  settle: "estabilizar",
2618
- // Content Commands
2619
2542
  append: "anexar",
2620
- // Control Flow
2621
2543
  exit: "sair",
2622
- // Behaviors
2623
- install: "instalar"
2544
+ install: "instalar",
2545
+ breakpoint: "ponto-interrup\xE7\xE3o",
2546
+ clear: "limpar",
2547
+ close: "fechar",
2548
+ open: "abrir",
2549
+ select: "selecionar",
2550
+ clone: "clonar",
2551
+ prepend: "preceder"
2624
2552
  },
2625
2553
  modifiers: {
2626
2554
  to: "para",
@@ -2681,14 +2609,13 @@ var pt = {
2681
2609
  includes: "inclui",
2682
2610
  equals: "igual",
2683
2611
  has: "tem",
2684
- // third-person: ele/ela tem
2685
2612
  have: "tenho",
2686
- // first-person: eu tenho
2687
2613
  then: "ent\xE3o",
2688
2614
  else: "sen\xE3o",
2689
2615
  otherwise: "caso_contr\xE1rio",
2690
- // REVIEW: native speaker
2691
- end: "fim"
2616
+ end: "fim",
2617
+ live: "vivo",
2618
+ changes: "muda"
2692
2619
  },
2693
2620
  temporal: {
2694
2621
  seconds: "segundos",
@@ -2714,11 +2641,9 @@ var pt = {
2714
2641
  me: "eu",
2715
2642
  my: "meu",
2716
2643
  myself: "eu mesmo",
2717
- // REVIEW: native speaker
2718
2644
  you: "voc\xEA",
2719
2645
  your: "seu",
2720
2646
  yourself: "voc\xEA mesmo",
2721
- // REVIEW: native speaker
2722
2647
  element: "elemento",
2723
2648
  target: "alvo",
2724
2649
  detail: "detalhe",
@@ -2740,7 +2665,6 @@ var pt = {
2740
2665
  properties: "propriedades"
2741
2666
  },
2742
2667
  expressions: {
2743
- // Positional
2744
2668
  first: "primeiro",
2745
2669
  last: "\xFAltimo",
2746
2670
  next: "pr\xF3ximo",
@@ -2748,31 +2672,30 @@ var pt = {
2748
2672
  prev: "ant",
2749
2673
  at: "em",
2750
2674
  random: "aleat\xF3rio",
2751
- // DOM Traversal
2752
2675
  closest: "mais_pr\xF3ximo",
2753
- // REVIEW: native speaker - multi-word
2754
2676
  parent: "pai",
2755
2677
  children: "filhos",
2756
2678
  within: "dentro",
2757
- // Emptiness/Existence
2758
2679
  no: "nenhum",
2759
2680
  empty: "vazio",
2760
2681
  some: "algum",
2761
- // String operations
2762
2682
  "starts with": "come\xE7a com",
2763
- "ends with": "termina com"
2683
+ "ends with": "termina com",
2684
+ "ignoring case": "ignorando mai\xFAsculas",
2685
+ "sorted by": "ordenado por",
2686
+ "mapped to": "mapeado para",
2687
+ "split by": "dividido por",
2688
+ "joined by": "unido por"
2764
2689
  }
2765
2690
  };
2766
2691
 
2767
2692
  // src/dictionaries/it.ts
2768
2693
  var it = {
2769
2694
  commands: {
2770
- // Event handling
2771
2695
  on: "su",
2772
2696
  tell: "dire",
2773
2697
  trigger: "scatenare",
2774
2698
  send: "inviare",
2775
- // DOM manipulation
2776
2699
  take: "prendere",
2777
2700
  put: "mettere",
2778
2701
  set: "impostare",
@@ -2782,7 +2705,6 @@ var it = {
2782
2705
  toggle: "commutare",
2783
2706
  hide: "nascondere",
2784
2707
  show: "mostrare",
2785
- // Control flow
2786
2708
  if: "se",
2787
2709
  unless: "a meno che",
2788
2710
  repeat: "ripetere",
@@ -2792,44 +2714,41 @@ var it = {
2792
2714
  continue: "continuare",
2793
2715
  break: "interrompere",
2794
2716
  halt: "fermare",
2795
- // Async
2796
2717
  wait: "aspettare",
2797
2718
  fetch: "recuperare",
2798
2719
  call: "chiamare",
2799
2720
  return: "ritornare",
2800
- // Other commands
2801
2721
  make: "fare",
2802
2722
  log: "registrare",
2803
2723
  throw: "lanciare",
2804
2724
  catch: "catturare",
2805
2725
  measure: "misurare",
2806
2726
  transition: "transizione",
2807
- // Data Commands
2808
2727
  increment: "incrementare",
2809
2728
  decrement: "decrementare",
2810
2729
  default: "predefinito",
2811
- // Navigation Commands
2812
2730
  go: "andare",
2813
2731
  pushUrl: "pushUrl",
2814
2732
  replaceUrl: "sostituireUrl",
2815
- // Utility Commands
2816
2733
  copy: "copiare",
2817
2734
  pick: "scegliere",
2818
2735
  beep: "beep",
2819
- // Advanced Commands
2820
2736
  js: "js",
2821
2737
  async: "asincrono",
2822
2738
  render: "renderizzare",
2823
- // Animation Commands
2824
2739
  swap: "scambiare",
2825
2740
  morph: "trasformare",
2826
2741
  settle: "stabilizzare",
2827
- // Content Commands
2828
2742
  append: "aggiungere",
2829
- // Control Flow
2830
2743
  exit: "uscire",
2831
- // Behaviors
2832
- install: "installare"
2744
+ install: "installare",
2745
+ breakpoint: "punto-interruzione",
2746
+ clear: "cancellare",
2747
+ close: "chiudere",
2748
+ open: "aprire",
2749
+ select: "selezionare",
2750
+ clone: "clonare",
2751
+ prepend: "anteporre"
2833
2752
  },
2834
2753
  modifiers: {
2835
2754
  to: "a",
@@ -2890,13 +2809,13 @@ var it = {
2890
2809
  includes: "include",
2891
2810
  equals: "uguale",
2892
2811
  has: "ha",
2893
- // third-person: lui/lei ha
2894
2812
  have: "ho",
2895
- // first-person: io ho
2896
2813
  then: "allora",
2897
2814
  else: "altrimenti",
2898
2815
  otherwise: "altrimenti",
2899
- end: "fine"
2816
+ end: "fine",
2817
+ live: "vivo",
2818
+ changes: "cambia"
2900
2819
  },
2901
2820
  temporal: {
2902
2821
  seconds: "secondi",
@@ -2946,7 +2865,6 @@ var it = {
2946
2865
  properties: "propriet\xE0"
2947
2866
  },
2948
2867
  expressions: {
2949
- // Positional
2950
2868
  first: "primo",
2951
2869
  last: "ultimo",
2952
2870
  next: "prossimo",
@@ -2954,18 +2872,20 @@ var it = {
2954
2872
  prev: "prec",
2955
2873
  at: "a",
2956
2874
  random: "casuale",
2957
- // DOM Traversal
2958
2875
  closest: "pi\xF9vicino",
2959
2876
  parent: "genitore",
2960
2877
  children: "figli",
2961
2878
  within: "dentro",
2962
- // Emptiness/Existence
2963
2879
  no: "nessun",
2964
2880
  empty: "vuoto",
2965
2881
  some: "qualche",
2966
- // String operations
2967
2882
  "starts with": "inizia con",
2968
- "ends with": "finisce con"
2883
+ "ends with": "finisce con",
2884
+ "ignoring case": "ignorando maiuscole",
2885
+ "sorted by": "ordinato per",
2886
+ "mapped to": "trasformato in",
2887
+ "split by": "diviso per",
2888
+ "joined by": "unito per"
2969
2889
  }
2970
2890
  };
2971
2891
 
@@ -3028,7 +2948,12 @@ var vi = {
3028
2948
  install: "c\xE0i \u0111\u1EB7t",
3029
2949
  clone: "sao ch\xE9p",
3030
2950
  prepend: "th\xEAm \u0111\u1EA7u",
3031
- else: "kh\xF4ng th\xEC"
2951
+ else: "kh\xF4ng th\xEC",
2952
+ breakpoint: "\u0111i\u1EC3m-d\u1EEBng",
2953
+ clear: "x\xF3a",
2954
+ close: "\u0111\xF3ng",
2955
+ open: "m\u1EDF",
2956
+ select: "ch\u1ECDn"
3032
2957
  },
3033
2958
  modifiers: {
3034
2959
  into: "v\xE0o",
@@ -3045,6 +2970,7 @@ var vi = {
3045
2970
  in: "trong",
3046
2971
  at: "t\u1EA1i",
3047
2972
  of: "c\u1EE7a",
2973
+ between: "gi\u1EEFa",
3048
2974
  the: "",
3049
2975
  times: "l\u1EA7n"
3050
2976
  },
@@ -3063,6 +2989,7 @@ var vi = {
3063
2989
  mouseleave: "chu\u1ED9t r\u1EDDi",
3064
2990
  focus: "t\u1EADp trung",
3065
2991
  blur: "m\u1EA5t t\u1EADp trung",
2992
+ reset: "\u0111\u1EB7t-l\u1EA1i",
3066
2993
  load: "t\u1EA3i",
3067
2994
  scroll: "cu\u1ED9n",
3068
2995
  resize: "\u0111\u1ED5i k\xEDch th\u01B0\u1EDBc"
@@ -3086,7 +3013,9 @@ var vi = {
3086
3013
  null: "r\u1ED7ng",
3087
3014
  else: "kh\xF4ng th\xEC",
3088
3015
  end: "k\u1EBFt th\xFAc",
3089
- then: "r\u1ED3i"
3016
+ then: "r\u1ED3i",
3017
+ live: "tr\u1EF1c ti\u1EBFp",
3018
+ changes: "thay \u0111\u1ED5i"
3090
3019
  },
3091
3020
  temporal: {
3092
3021
  now: "b\xE2y gi\u1EDD",
@@ -3150,19 +3079,25 @@ var vi = {
3150
3079
  previous: "tr\u01B0\u1EDBc \u0111\xF3",
3151
3080
  parent: "cha",
3152
3081
  children: "con",
3153
- closest: "g\u1EA7n nh\u1EA5t"
3082
+ closest: "g\u1EA7n nh\u1EA5t",
3083
+ empty: "l\xE0m-r\u1ED7ng",
3084
+ "starts with": "b\u1EAFt \u0111\u1EA7u b\u1EB1ng",
3085
+ "ends with": "k\u1EBFt th\xFAc b\u1EB1ng",
3086
+ "ignoring case": "kh\xF4ng ph\xE2n bi\u1EC7t hoa th\u01B0\u1EDDng",
3087
+ "sorted by": "s\u1EAFp x\u1EBFp theo",
3088
+ "mapped to": "\xE1nh x\u1EA1 th\xE0nh",
3089
+ "split by": "t\xE1ch b\u1EDFi",
3090
+ "joined by": "n\u1ED1i b\u1EDFi"
3154
3091
  }
3155
3092
  };
3156
3093
 
3157
3094
  // src/dictionaries/pl.ts
3158
3095
  var pl = {
3159
3096
  commands: {
3160
- // Event handling
3161
3097
  on: "gdy",
3162
3098
  tell: "powiedz",
3163
3099
  trigger: "wywo\u0142aj",
3164
3100
  send: "wy\u015Blij",
3165
- // DOM manipulation
3166
3101
  take: "we\u017A",
3167
3102
  put: "umie\u015B\u0107",
3168
3103
  set: "ustaw",
@@ -3172,7 +3107,6 @@ var pl = {
3172
3107
  toggle: "prze\u0142\u0105cz",
3173
3108
  hide: "ukryj",
3174
3109
  show: "poka\u017C",
3175
- // Control flow
3176
3110
  if: "je\u015Bli",
3177
3111
  unless: "chyba",
3178
3112
  repeat: "powt\xF3rz",
@@ -3182,44 +3116,41 @@ var pl = {
3182
3116
  continue: "kontynuuj",
3183
3117
  break: "przerwij",
3184
3118
  halt: "zatrzymaj",
3185
- // Async
3186
3119
  wait: "czekaj",
3187
3120
  fetch: "pobierz",
3188
3121
  call: "wywo\u0142aj",
3189
3122
  return: "zwr\xF3\u0107",
3190
- // Other commands
3191
3123
  make: "utw\xF3rz",
3192
3124
  log: "loguj",
3193
3125
  throw: "rzu\u0107",
3194
3126
  catch: "z\u0142ap",
3195
3127
  measure: "zmierz",
3196
3128
  transition: "animuj",
3197
- // Data Commands
3198
3129
  increment: "zwi\u0119ksz",
3199
3130
  decrement: "zmniejsz",
3200
3131
  default: "domy\u015Blnie",
3201
- // Navigation Commands
3202
3132
  go: "id\u017A",
3203
3133
  pushUrl: "dodajUrl",
3204
3134
  replaceUrl: "zamie\u0144Url",
3205
- // Utility Commands
3206
3135
  copy: "kopiuj",
3207
3136
  pick: "wybierz",
3208
3137
  beep: "sygna\u0142",
3209
- // Advanced Commands
3210
3138
  js: "js",
3211
3139
  async: "async",
3212
3140
  render: "renderuj",
3213
- // Animation Commands
3214
3141
  swap: "zamie\u0144",
3215
3142
  morph: "przekszta\u0142\u0107",
3216
3143
  settle: "ustabilizuj",
3217
- // Content Commands
3218
3144
  append: "do\u0142\u0105cz",
3219
- // Control Flow
3220
3145
  exit: "wyjd\u017A",
3221
- // Behaviors
3222
- install: "zainstaluj"
3146
+ install: "zainstaluj",
3147
+ breakpoint: "punkt-przerwania",
3148
+ clear: "wyczy\u015B\u0107",
3149
+ close: "zamknij",
3150
+ open: "otw\xF3rz",
3151
+ select: "wybierz",
3152
+ clone: "sklonuj",
3153
+ prepend: "poprzed\u017A"
3223
3154
  },
3224
3155
  modifiers: {
3225
3156
  to: "do",
@@ -3280,13 +3211,13 @@ var pl = {
3280
3211
  includes: "obejmuje",
3281
3212
  equals: "r\xF3wna si\u0119",
3282
3213
  has: "ma",
3283
- // third-person: on/ona ma
3284
3214
  have: "mam",
3285
- // first-person: ja mam
3286
3215
  then: "wtedy",
3287
3216
  else: "inaczej",
3288
3217
  otherwise: "wpp",
3289
- end: "koniec"
3218
+ end: "koniec",
3219
+ live: "\u017Cywy",
3220
+ changes: "zmienia"
3290
3221
  },
3291
3222
  temporal: {
3292
3223
  seconds: "sekundy",
@@ -3336,7 +3267,6 @@ var pl = {
3336
3267
  properties: "w\u0142a\u015Bciwo\u015Bci"
3337
3268
  },
3338
3269
  expressions: {
3339
- // Positional
3340
3270
  first: "pierwszy",
3341
3271
  last: "ostatni",
3342
3272
  next: "nast\u0119pny",
@@ -3344,30 +3274,30 @@ var pl = {
3344
3274
  prev: "poprz",
3345
3275
  at: "przy",
3346
3276
  random: "losowy",
3347
- // DOM Traversal
3348
3277
  closest: "najbli\u017Cszy",
3349
3278
  parent: "rodzic",
3350
3279
  children: "dzieci",
3351
3280
  within: "wewn\u0105trz",
3352
- // Emptiness/Existence
3353
3281
  no: "brak",
3354
3282
  empty: "pusty",
3355
3283
  some: "jaki\u015B",
3356
- // String operations
3357
3284
  "starts with": "zaczyna si\u0119 od",
3358
- "ends with": "ko\u0144czy si\u0119 na"
3285
+ "ends with": "ko\u0144czy si\u0119 na",
3286
+ "ignoring case": "ignoruj\u0105c wielko\u015B\u0107 liter",
3287
+ "sorted by": "sortowane wed\u0142ug",
3288
+ "mapped to": "przekszta\u0142cone na",
3289
+ "split by": "podzielone przez",
3290
+ "joined by": "po\u0142\u0105czone przez"
3359
3291
  }
3360
3292
  };
3361
3293
 
3362
3294
  // src/dictionaries/ru.ts
3363
3295
  var russianDictionary = {
3364
3296
  commands: {
3365
- // Event handling
3366
3297
  on: "\u043F\u0440\u0438",
3367
3298
  tell: "\u0441\u043A\u0430\u0437\u0430\u0442\u044C",
3368
3299
  trigger: "\u0432\u044B\u0437\u0432\u0430\u0442\u044C",
3369
3300
  send: "\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
3370
- // DOM manipulation
3371
3301
  take: "\u0432\u0437\u044F\u0442\u044C",
3372
3302
  put: "\u043F\u043E\u043B\u043E\u0436\u0438\u0442\u044C",
3373
3303
  set: "\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
@@ -3377,7 +3307,6 @@ var russianDictionary = {
3377
3307
  toggle: "\u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C",
3378
3308
  hide: "\u0441\u043A\u0440\u044B\u0442\u044C",
3379
3309
  show: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",
3380
- // Control flow
3381
3310
  if: "\u0435\u0441\u043B\u0438",
3382
3311
  unless: "\u0435\u0441\u043B\u0438_\u043D\u0435",
3383
3312
  repeat: "\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
@@ -3387,53 +3316,46 @@ var russianDictionary = {
3387
3316
  continue: "\u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C",
3388
3317
  break: "\u043F\u0440\u0435\u0440\u0432\u0430\u0442\u044C",
3389
3318
  halt: "\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
3390
- // Async
3391
3319
  wait: "\u0436\u0434\u0430\u0442\u044C",
3392
3320
  fetch: "\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",
3393
3321
  call: "\u0432\u044B\u0437\u0432\u0430\u0442\u044C",
3394
3322
  return: "\u0432\u0435\u0440\u043D\u0443\u0442\u044C",
3395
- // Other commands
3396
3323
  make: "\u0441\u043E\u0437\u0434\u0430\u0442\u044C",
3397
3324
  log: "\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C",
3398
3325
  throw: "\u0431\u0440\u043E\u0441\u0438\u0442\u044C",
3399
3326
  catch: "\u043F\u043E\u0439\u043C\u0430\u0442\u044C",
3400
3327
  measure: "\u0438\u0437\u043C\u0435\u0440\u0438\u0442\u044C",
3401
3328
  transition: "\u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3402
- // Data Commands
3403
3329
  increment: "\u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C",
3404
3330
  decrement: "\u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C",
3405
3331
  default: "\u043F\u043E_\u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",
3406
- // Navigation Commands
3407
3332
  go: "\u043F\u0435\u0440\u0435\u0439\u0442\u0438",
3408
3333
  pushUrl: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_url",
3409
3334
  replaceUrl: "\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C_url",
3410
- // Utility Commands
3411
3335
  copy: "\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3412
3336
  pick: "\u0432\u044B\u0431\u0440\u0430\u0442\u044C",
3413
3337
  beep: "\u0437\u0432\u0443\u043A",
3414
- // Advanced Commands
3415
3338
  js: "js",
3416
3339
  async: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u043E",
3417
3340
  render: "\u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C",
3418
- // Animation Commands
3419
3341
  swap: "\u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C",
3420
3342
  morph: "\u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3421
3343
  settle: "\u0441\u0442\u0430\u0431\u0438\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3422
- // Content Commands
3423
3344
  append: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_\u0432_\u043A\u043E\u043D\u0435\u0446",
3424
- // Control Flow
3425
3345
  exit: "\u0432\u044B\u0439\u0442\u0438",
3426
3346
  else: "\u0438\u043D\u0430\u0447\u0435",
3427
- // Behaviors
3428
3347
  install: "\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
3429
3348
  init: "\u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3430
3349
  behavior: "\u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435",
3431
- // Focus
3432
3350
  focus: "\u0441\u0444\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3433
3351
  blur: "\u0440\u0430\u0437\u043C\u044B\u0442\u044C",
3434
- // Clone
3435
3352
  clone: "\u043A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3436
- prepend: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_\u0432_\u043D\u0430\u0447\u0430\u043B\u043E"
3353
+ prepend: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_\u0432_\u043D\u0430\u0447\u0430\u043B\u043E",
3354
+ breakpoint: "\u0442\u043E\u0447\u043A\u0430-\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0430",
3355
+ clear: "\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
3356
+ close: "\u0437\u0430\u043A\u0440\u044B\u0442\u044C",
3357
+ open: "\u043E\u0442\u043A\u0440\u044B\u0442\u044C",
3358
+ select: "\u0432\u044B\u0431\u0440\u0430\u0442\u044C"
3437
3359
  },
3438
3360
  modifiers: {
3439
3361
  to: "\u043A",
@@ -3498,10 +3420,10 @@ var russianDictionary = {
3498
3420
  else: "\u0438\u043D\u0430\u0447\u0435",
3499
3421
  otherwise: "\u0432_\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C_\u0441\u043B\u0443\u0447\u0430\u0435",
3500
3422
  end: "\u043A\u043E\u043D\u0435\u0446",
3423
+ live: "\u0436\u0438\u0432\u043E\u0439",
3424
+ changes: "\u0438\u0437\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F",
3501
3425
  has: "\u0438\u043C\u0435\u0435\u0442",
3502
- // third-person: он/она имеет
3503
3426
  have: "\u0438\u043C\u0435\u044E",
3504
- // first-person: я имею
3505
3427
  isNot: "\u043D\u0435_\u0435\u0441\u0442\u044C",
3506
3428
  empty: "\u043F\u0443\u0441\u0442\u043E\u0439"
3507
3429
  },
@@ -3571,7 +3493,6 @@ var russianDictionary = {
3571
3493
  html: "html"
3572
3494
  },
3573
3495
  expressions: {
3574
- // Positional
3575
3496
  first: "\u043F\u0435\u0440\u0432\u044B\u0439",
3576
3497
  last: "\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439",
3577
3498
  next: "\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439",
@@ -3579,30 +3500,30 @@ var russianDictionary = {
3579
3500
  prev: "\u043F\u0440\u0435\u0434",
3580
3501
  at: "\u0432",
3581
3502
  random: "\u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439",
3582
- // DOM Traversal
3583
3503
  closest: "\u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439",
3584
3504
  parent: "\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C",
3585
3505
  children: "\u0434\u0435\u0442\u0438",
3586
3506
  within: "\u0432\u043D\u0443\u0442\u0440\u0438",
3587
- // Emptiness/Existence
3588
3507
  no: "\u043D\u0435\u0442",
3589
3508
  empty: "\u043F\u0443\u0441\u0442\u043E\u0439",
3590
3509
  some: "\u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435",
3591
- // String operations
3592
3510
  "starts with": "\u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F_\u0441",
3593
- "ends with": "\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F_\u043D\u0430"
3511
+ "ends with": "\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F_\u043D\u0430",
3512
+ "ignoring case": "\u0431\u0435\u0437_\u0443\u0447\u0451\u0442\u0430_\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430",
3513
+ "sorted by": "\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E_\u043F\u043E",
3514
+ "mapped to": "\u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043E_\u0432",
3515
+ "split by": "\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u043E_\u043F\u043E",
3516
+ "joined by": "\u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u043E_\u0447\u0435\u0440\u0435\u0437"
3594
3517
  }
3595
3518
  };
3596
3519
 
3597
3520
  // src/dictionaries/uk.ts
3598
3521
  var ukrainianDictionary = {
3599
3522
  commands: {
3600
- // Event handling
3601
3523
  on: "\u043F\u0440\u0438",
3602
3524
  tell: "\u0441\u043A\u0430\u0437\u0430\u0442\u0438",
3603
3525
  trigger: "\u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438",
3604
3526
  send: "\u043D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438",
3605
- // DOM manipulation
3606
3527
  take: "\u0432\u0437\u044F\u0442\u0438",
3607
3528
  put: "\u043F\u043E\u043A\u043B\u0430\u0441\u0442\u0438",
3608
3529
  set: "\u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438",
@@ -3612,7 +3533,6 @@ var ukrainianDictionary = {
3612
3533
  toggle: "\u043F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438",
3613
3534
  hide: "\u0441\u0445\u043E\u0432\u0430\u0442\u0438",
3614
3535
  show: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438",
3615
- // Control flow
3616
3536
  if: "\u044F\u043A\u0449\u043E",
3617
3537
  unless: "\u044F\u043A\u0449\u043E_\u043D\u0435",
3618
3538
  repeat: "\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438",
@@ -3622,53 +3542,46 @@ var ukrainianDictionary = {
3622
3542
  continue: "\u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438",
3623
3543
  break: "\u043F\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438",
3624
3544
  halt: "\u0437\u0443\u043F\u0438\u043D\u0438\u0442\u0438",
3625
- // Async
3626
3545
  wait: "\u0447\u0435\u043A\u0430\u0442\u0438",
3627
3546
  fetch: "\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438",
3628
3547
  call: "\u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438",
3629
3548
  return: "\u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438",
3630
- // Other commands
3631
3549
  make: "\u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438",
3632
3550
  log: "\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u0438",
3633
3551
  throw: "\u043A\u0438\u043D\u0443\u0442\u0438",
3634
3552
  catch: "\u0437\u043B\u043E\u0432\u0438\u0442\u0438",
3635
3553
  measure: "\u0432\u0438\u043C\u0456\u0440\u044F\u0442\u0438",
3636
3554
  transition: "\u0430\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438",
3637
- // Data Commands
3638
3555
  increment: "\u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438",
3639
3556
  decrement: "\u0437\u043C\u0435\u043D\u0448\u0438\u0442\u0438",
3640
3557
  default: "\u0437\u0430_\u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C",
3641
- // Navigation Commands
3642
3558
  go: "\u043F\u0435\u0440\u0435\u0439\u0442\u0438",
3643
3559
  pushUrl: "\u0434\u043E\u0434\u0430\u0442\u0438_url",
3644
3560
  replaceUrl: "\u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438_url",
3645
- // Utility Commands
3646
3561
  copy: "\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438",
3647
3562
  pick: "\u0432\u0438\u0431\u0440\u0430\u0442\u0438",
3648
3563
  beep: "\u0437\u0432\u0443\u043A",
3649
- // Advanced Commands
3650
3564
  js: "js",
3651
3565
  async: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u043E",
3652
3566
  render: "\u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u0438",
3653
- // Animation Commands
3654
3567
  swap: "\u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438",
3655
3568
  morph: "\u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0443\u0432\u0430\u0442\u0438",
3656
3569
  settle: "\u0441\u0442\u0430\u0431\u0456\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438",
3657
- // Content Commands
3658
3570
  append: "\u0434\u043E\u0434\u0430\u0442\u0438_\u0432_\u043A\u0456\u043D\u0435\u0446\u044C",
3659
- // Control Flow
3660
3571
  exit: "\u0432\u0438\u0439\u0442\u0438",
3661
3572
  else: "\u0456\u043D\u0430\u043A\u0448\u0435",
3662
- // Behaviors
3663
3573
  install: "\u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438",
3664
3574
  init: "\u0456\u043D\u0456\u0446\u0456\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438",
3665
3575
  behavior: "\u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0430",
3666
- // Focus
3667
3576
  focus: "\u0441\u0444\u043E\u043A\u0443\u0441\u0443\u0432\u0430\u0442\u0438",
3668
3577
  blur: "\u0440\u043E\u0437\u0444\u043E\u043A\u0443\u0441\u0443\u0432\u0430\u0442\u0438",
3669
- // Clone
3670
3578
  clone: "\u043A\u043B\u043E\u043D\u0443\u0432\u0430\u0442\u0438",
3671
- prepend: "\u0434\u043E\u0434\u0430\u0442\u0438_\u043D\u0430_\u043F\u043E\u0447\u0430\u0442\u043E\u043A"
3579
+ prepend: "\u0434\u043E\u0434\u0430\u0442\u0438_\u043D\u0430_\u043F\u043E\u0447\u0430\u0442\u043E\u043A",
3580
+ breakpoint: "\u0442\u043E\u0447\u043A\u0430-\u0437\u0443\u043F\u0438\u043D\u043A\u0438",
3581
+ clear: "\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438",
3582
+ close: "\u0437\u0430\u043A\u0440\u0438\u0442\u0438",
3583
+ open: "\u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438",
3584
+ select: "\u0432\u0438\u0431\u0440\u0430\u0442\u0438"
3672
3585
  },
3673
3586
  modifiers: {
3674
3587
  to: "\u0434\u043E",
@@ -3733,10 +3646,10 @@ var ukrainianDictionary = {
3733
3646
  else: "\u0456\u043D\u0430\u043A\u0448\u0435",
3734
3647
  otherwise: "\u0432_\u0456\u043D\u0448\u043E\u043C\u0443_\u0432\u0438\u043F\u0430\u0434\u043A\u0443",
3735
3648
  end: "\u043A\u0456\u043D\u0435\u0446\u044C",
3649
+ live: "\u0436\u0438\u0432\u0438\u0439",
3650
+ changes: "\u0437\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F",
3736
3651
  has: "\u043C\u0430\u0454",
3737
- // third-person: він/вона має
3738
3652
  have: "\u043C\u0430\u044E",
3739
- // first-person: я маю
3740
3653
  isNot: "\u043D\u0435_\u0454",
3741
3654
  empty: "\u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439"
3742
3655
  },
@@ -3806,7 +3719,6 @@ var ukrainianDictionary = {
3806
3719
  html: "html"
3807
3720
  },
3808
3721
  expressions: {
3809
- // Positional
3810
3722
  first: "\u043F\u0435\u0440\u0448\u0438\u0439",
3811
3723
  last: "\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439",
3812
3724
  next: "\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439",
@@ -3814,30 +3726,30 @@ var ukrainianDictionary = {
3814
3726
  prev: "\u043F\u043E\u043F\u0435\u0440",
3815
3727
  at: "\u0432",
3816
3728
  random: "\u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u0438\u0439",
3817
- // DOM Traversal
3818
3729
  closest: "\u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0439",
3819
3730
  parent: "\u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439",
3820
3731
  children: "\u0434\u0456\u0442\u0438",
3821
3732
  within: "\u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043D\u0456",
3822
- // Emptiness/Existence
3823
3733
  no: "\u043D\u0456",
3824
3734
  empty: "\u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439",
3825
3735
  some: "\u0434\u0435\u044F\u043A\u0456",
3826
- // String operations
3827
3736
  "starts with": "\u043F\u043E\u0447\u0438\u043D\u0430\u0454\u0442\u044C\u0441\u044F_\u0437",
3828
- "ends with": "\u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F_\u043D\u0430"
3737
+ "ends with": "\u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F_\u043D\u0430",
3738
+ "ignoring case": "\u0431\u0435\u0437_\u0443\u0440\u0430\u0445\u0443\u0432\u0430\u043D\u043D\u044F_\u0440\u0435\u0433\u0456\u0441\u0442\u0440\u0443",
3739
+ "sorted by": "\u0432\u0456\u0434\u0441\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E_\u0437\u0430",
3740
+ "mapped to": "\u043F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0435\u043D\u043E_\u043D\u0430",
3741
+ "split by": "\u0440\u043E\u0437\u0434\u0456\u043B\u0435\u043D\u043E_\u0437\u0430",
3742
+ "joined by": "\u043E\u0431'\u0454\u0434\u043D\u0430\u043D\u043E_\u0447\u0435\u0440\u0435\u0437"
3829
3743
  }
3830
3744
  };
3831
3745
 
3832
3746
  // src/dictionaries/hi.ts
3833
3747
  var hindiDictionary = {
3834
3748
  commands: {
3835
- // Event handling
3836
3749
  on: "\u092A\u0930",
3837
3750
  tell: "\u092C\u0924\u093E\u090F\u0902",
3838
3751
  trigger: "\u091F\u094D\u0930\u093F\u0917\u0930",
3839
3752
  send: "\u092D\u0947\u091C\u0947\u0902",
3840
- // DOM manipulation
3841
3753
  take: "\u0932\u0947\u0902",
3842
3754
  put: "\u0930\u0916\u0947\u0902",
3843
3755
  set: "\u0938\u0947\u091F",
@@ -3847,7 +3759,6 @@ var hindiDictionary = {
3847
3759
  toggle: "\u091F\u0949\u0917\u0932",
3848
3760
  hide: "\u091B\u093F\u092A\u093E\u090F\u0902",
3849
3761
  show: "\u0926\u093F\u0916\u093E\u090F\u0902",
3850
- // Control flow
3851
3762
  if: "\u0905\u0917\u0930",
3852
3763
  unless: "\u091C\u092C_\u0924\u0915_\u0928\u0939\u0940\u0902",
3853
3764
  repeat: "\u0926\u094B\u0939\u0930\u093E\u090F\u0902",
@@ -3857,53 +3768,46 @@ var hindiDictionary = {
3857
3768
  continue: "\u091C\u093E\u0930\u0940",
3858
3769
  break: "\u0930\u094B\u0915\u0947\u0902",
3859
3770
  halt: "\u0930\u094B\u0915\u0947\u0902",
3860
- // Async
3861
3771
  wait: "\u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E",
3862
3772
  fetch: "\u0932\u093E\u090F\u0902",
3863
3773
  call: "\u0915\u0949\u0932",
3864
3774
  return: "\u0932\u094C\u091F\u093E\u090F\u0902",
3865
- // Other commands
3866
3775
  make: "\u092C\u0928\u093E\u090F\u0902",
3867
3776
  log: "\u0932\u0949\u0917",
3868
3777
  throw: "\u092B\u0947\u0902\u0915\u0947\u0902",
3869
3778
  catch: "\u092A\u0915\u0921\u093C\u0947\u0902",
3870
3779
  measure: "\u092E\u093E\u092A\u0947\u0902",
3871
3780
  transition: "\u0938\u0902\u0915\u094D\u0930\u092E\u0923",
3872
- // Data Commands
3873
3781
  increment: "\u092C\u0922\u093C\u093E\u090F\u0902",
3874
3782
  decrement: "\u0918\u091F\u093E\u090F\u0902",
3875
3783
  default: "\u0921\u093F\u092B\u093C\u0949\u0932\u094D\u091F",
3876
- // Navigation Commands
3877
3784
  go: "\u091C\u093E\u090F\u0902",
3878
3785
  pushUrl: "url_\u091C\u094B\u0921\u093C\u0947\u0902",
3879
3786
  replaceUrl: "url_\u092C\u0926\u0932\u0947\u0902",
3880
- // Utility Commands
3881
3787
  copy: "\u0915\u0949\u092A\u0940",
3882
3788
  pick: "\u091A\u0941\u0928\u0947\u0902",
3883
3789
  beep: "\u092C\u0940\u092A",
3884
- // Advanced Commands
3885
3790
  js: "\u091C\u0947\u090F\u0938",
3886
3791
  async: "\u0905\u0938\u093F\u0902\u0915",
3887
3792
  render: "\u0930\u0947\u0902\u0921\u0930",
3888
- // Animation Commands
3889
3793
  swap: "\u092C\u0926\u0932\u0947\u0902",
3890
3794
  morph: "\u0930\u0942\u092A\u093E\u0902\u0924\u0930",
3891
3795
  settle: "\u0938\u094D\u0925\u093F\u0930",
3892
- // Content Commands
3893
3796
  append: "\u091C\u094B\u0921\u093C\u0947\u0902_\u0905\u0902\u0924",
3894
- // Control Flow
3895
3797
  exit: "\u092C\u093E\u0939\u0930",
3896
3798
  else: "\u0935\u0930\u0928\u093E",
3897
- // Behaviors
3898
3799
  install: "\u0907\u0902\u0938\u094D\u091F\u0949\u0932",
3899
3800
  init: "\u092A\u094D\u0930\u093E\u0930\u0902\u092D",
3900
3801
  behavior: "\u0935\u094D\u092F\u0935\u0939\u093E\u0930",
3901
- // Focus
3902
3802
  focus: "\u092B\u094B\u0915\u0938",
3903
3803
  blur: "\u0927\u0941\u0902\u0927\u0932\u093E",
3904
- // Clone
3905
3804
  clone: "\u0915\u0949\u092A\u0940",
3906
- prepend: "\u091C\u094B\u0921\u093C\u0947\u0902_\u0936\u0941\u0930\u0942"
3805
+ prepend: "\u091C\u094B\u0921\u093C\u0947\u0902_\u0936\u0941\u0930\u0942",
3806
+ breakpoint: "\u092C\u094D\u0930\u0947\u0915\u092A\u094D\u0935\u093E\u0907\u0902\u091F",
3807
+ clear: "\u0938\u093E\u092B\u093C-\u0915\u0930\u0947\u0902",
3808
+ close: "\u092C\u0902\u0926-\u0915\u0930\u0947\u0902",
3809
+ open: "\u0916\u094B\u0932\u0947\u0902",
3810
+ select: "\u091A\u0941\u0928\u0947\u0902"
3907
3811
  },
3908
3812
  modifiers: {
3909
3813
  to: "\u0915\u094B",
@@ -3968,10 +3872,10 @@ var hindiDictionary = {
3968
3872
  else: "\u0935\u0930\u0928\u093E",
3969
3873
  otherwise: "\u0905\u0928\u094D\u092F\u0925\u093E",
3970
3874
  end: "\u0938\u092E\u093E\u092A\u094D\u0924",
3875
+ live: "\u0932\u093E\u0907\u0935",
3876
+ changes: "\u092C\u0926\u0932\u0928\u0947 \u092A\u0930",
3971
3877
  has: "\u0939\u0948",
3972
- // existence verb (context-based)
3973
3878
  have: "\u0939\u0948",
3974
- // same verb for first/third person
3975
3879
  isNot: "\u0928\u0939\u0940\u0902_\u0939\u0948",
3976
3880
  empty: "\u0916\u093E\u0932\u0940"
3977
3881
  },
@@ -4041,7 +3945,6 @@ var hindiDictionary = {
4041
3945
  html: "html"
4042
3946
  },
4043
3947
  expressions: {
4044
- // Positional
4045
3948
  first: "\u092A\u0939\u0932\u093E",
4046
3949
  last: "\u0905\u0902\u0924\u093F\u092E",
4047
3950
  next: "\u0905\u0917\u0932\u093E",
@@ -4049,18 +3952,20 @@ var hindiDictionary = {
4049
3952
  prev: "\u092A\u093F\u091B",
4050
3953
  at: "\u092A\u0930",
4051
3954
  random: "\u092F\u093E\u0926\u0943\u091A\u094D\u091B\u093F\u0915",
4052
- // DOM Traversal
4053
3955
  closest: "\u0928\u093F\u0915\u091F\u0924\u092E",
4054
3956
  parent: "\u092E\u0942\u0932",
4055
3957
  children: "\u092C\u091A\u094D\u091A\u0947",
4056
3958
  within: "\u0915\u0947_\u0905\u0902\u0926\u0930",
4057
- // Emptiness/Existence
4058
3959
  no: "\u0928\u0939\u0940\u0902",
4059
3960
  empty: "\u0916\u093E\u0932\u0940",
4060
3961
  some: "\u0915\u0941\u091B",
4061
- // String operations
4062
3962
  "starts with": "\u0938\u0947_\u0936\u0941\u0930\u0942",
4063
- "ends with": "\u092A\u0930_\u0938\u092E\u093E\u092A\u094D\u0924"
3963
+ "ends with": "\u092A\u0930_\u0938\u092E\u093E\u092A\u094D\u0924",
3964
+ "ignoring case": "\u0915\u0947\u0938_\u0905\u0928\u0926\u0947\u0916\u093E",
3965
+ "sorted by": "\u0926\u094D\u0935\u093E\u0930\u093E_\u0915\u094D\u0930\u092E\u092C\u0926\u094D\u0927",
3966
+ "mapped to": "\u092E\u0947\u0902_\u092A\u0930\u093F\u0935\u0930\u094D\u0924\u093F\u0924",
3967
+ "split by": "\u0926\u094D\u0935\u093E\u0930\u093E_\u0935\u093F\u092D\u093E\u091C\u093F\u0924",
3968
+ "joined by": "\u0926\u094D\u0935\u093E\u0930\u093E_\u091C\u0941\u0921\u093C\u093E"
4064
3969
  }
4065
3970
  };
4066
3971
 
@@ -4119,7 +4024,12 @@ var bengaliDictionary = {
4119
4024
  js: "\u099C\u09C7\u098F\u09B8",
4120
4025
  pick: "\u09AC\u09BE\u099B\u09C1\u09A8",
4121
4026
  render: "\u09B0\u09C7\u09A8\u09CD\u09A1\u09BE\u09B0",
4122
- until: "\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4"
4027
+ until: "\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4",
4028
+ breakpoint: "\u09AC\u09CD\u09B0\u09C7\u0995\u09AA\u09AF\u09BC\u09C7\u09A8\u09CD\u099F",
4029
+ clear: "\u09AA\u09B0\u09BF\u09B7\u09CD\u0995\u09BE\u09B0",
4030
+ close: "\u09AC\u09A8\u09CD\u09A7",
4031
+ open: "\u0996\u09C1\u09B2\u09C1\u09A8",
4032
+ select: "\u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8"
4123
4033
  },
4124
4034
  modifiers: {
4125
4035
  to: "\u0995\u09C7",
@@ -4134,6 +4044,7 @@ var bengaliDictionary = {
4134
4044
  at: "\u098F",
4135
4045
  in: "\u098F",
4136
4046
  over: "\u0989\u09AA\u09B0",
4047
+ between: "\u09AE\u09A7\u09CD\u09AF\u09C7",
4137
4048
  then: "\u09A4\u09BE\u09B0\u09AA\u09B0",
4138
4049
  and: "\u098F\u09AC\u0982",
4139
4050
  end: "\u09B6\u09C7\u09B7",
@@ -4148,6 +4059,7 @@ var bengaliDictionary = {
4148
4059
  load: "\u09B2\u09CB\u09A1",
4149
4060
  focus: "\u09AB\u09CB\u0995\u09BE\u09B8",
4150
4061
  blur: "\u099D\u09BE\u09AA\u09B8\u09BE",
4062
+ reset: "\u09B0\u09BF\u09B8\u09C7\u099F",
4151
4063
  keydown: "\u0995\u09BF-\u09A1\u09BE\u0989\u09A8",
4152
4064
  keyup: "\u0995\u09BF-\u0986\u09AA",
4153
4065
  mouseover: "\u09AE\u09BE\u0989\u09B8-\u0993\u09AD\u09BE\u09B0",
@@ -4174,7 +4086,9 @@ var bengaliDictionary = {
4174
4086
  null: "\u09B6\u09C2\u09A8\u09CD\u09AF",
4175
4087
  undefined: "\u0985\u09A8\u09BF\u09B0\u09CD\u09A7\u09BE\u09B0\u09BF\u09A4",
4176
4088
  end: "\u09B6\u09C7\u09B7",
4177
- then: "\u09A4\u09BE\u09B0\u09AA\u09B0"
4089
+ then: "\u09A4\u09BE\u09B0\u09AA\u09B0",
4090
+ live: "\u09B2\u09BE\u0987\u09AD",
4091
+ changes: "\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09BF\u09A4 \u09B9\u09B2\u09C7"
4178
4092
  },
4179
4093
  temporal: {
4180
4094
  now: "\u098F\u0996\u09A8",
@@ -4219,7 +4133,15 @@ var bengaliDictionary = {
4219
4133
  children: "\u09B8\u09A8\u09CD\u09A4\u09BE\u09A8",
4220
4134
  random: "\u098F\u09B2\u09CB\u09AE\u09C7\u09B2\u09CB",
4221
4135
  length: "\u09A6\u09C8\u09B0\u09CD\u0998\u09CD\u09AF",
4222
- index: "\u09B8\u09C2\u099A\u0995"
4136
+ index: "\u09B8\u09C2\u099A\u0995",
4137
+ empty: "\u0996\u09BE\u09B2\u09BF-\u0995\u09B0\u09C1\u09A8",
4138
+ "starts with": "\u09A6\u09BF\u09AF\u09BC\u09C7_\u09B6\u09C1\u09B0\u09C1",
4139
+ "ends with": "\u09A6\u09BF\u09AF\u09BC\u09C7_\u09B6\u09C7\u09B7",
4140
+ "ignoring case": "\u0995\u09C7\u09B8_\u0989\u09AA\u09C7\u0995\u09CD\u09B7\u09BE",
4141
+ "sorted by": "\u09A6\u09CD\u09AC\u09BE\u09B0\u09BE_\u09B8\u09BE\u099C\u09BE\u09A8\u09CB",
4142
+ "mapped to": "\u09A4\u09C7_\u09B0\u09C2\u09AA\u09BE\u09A8\u09CD\u09A4\u09B0\u09BF\u09A4",
4143
+ "split by": "\u09A6\u09CD\u09AC\u09BE\u09B0\u09BE_\u09AC\u09BF\u09AD\u0995\u09CD\u09A4",
4144
+ "joined by": "\u09A6\u09CD\u09AC\u09BE\u09B0\u09BE_\u09AF\u09C1\u0995\u09CD\u09A4"
4223
4145
  }
4224
4146
  };
4225
4147
  var bn = bengaliDictionary;
@@ -4279,7 +4201,12 @@ var thaiDictionary = {
4279
4201
  js: "\u0E40\u0E08\u0E40\u0E2D\u0E2A",
4280
4202
  pick: "\u0E40\u0E25\u0E37\u0E2D\u0E01",
4281
4203
  render: "\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25",
4282
- until: "\u0E08\u0E19\u0E16\u0E36\u0E07"
4204
+ until: "\u0E08\u0E19\u0E16\u0E36\u0E07",
4205
+ breakpoint: "\u0E08\u0E38\u0E14\u0E1E\u0E31\u0E01",
4206
+ clear: "\u0E40\u0E04\u0E25\u0E35\u0E22\u0E23\u0E4C",
4207
+ close: "\u0E1B\u0E34\u0E14",
4208
+ open: "\u0E40\u0E1B\u0E34\u0E14",
4209
+ select: "\u0E40\u0E25\u0E37\u0E2D\u0E01"
4283
4210
  },
4284
4211
  modifiers: {
4285
4212
  to: "\u0E44\u0E1B\u0E22\u0E31\u0E07",
@@ -4294,6 +4221,7 @@ var thaiDictionary = {
4294
4221
  at: "\u0E17\u0E35\u0E48",
4295
4222
  in: "\u0E43\u0E19",
4296
4223
  over: "\u0E40\u0E2B\u0E19\u0E37\u0E2D",
4224
+ between: "\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07",
4297
4225
  then: "\u0E41\u0E25\u0E49\u0E27",
4298
4226
  and: "\u0E41\u0E25\u0E30",
4299
4227
  end: "\u0E08\u0E1A",
@@ -4308,6 +4236,7 @@ var thaiDictionary = {
4308
4236
  load: "\u0E42\u0E2B\u0E25\u0E14",
4309
4237
  focus: "\u0E42\u0E1F\u0E01\u0E31\u0E2A",
4310
4238
  blur: "\u0E40\u0E1A\u0E25\u0E2D",
4239
+ reset: "\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15",
4311
4240
  keydown: "\u0E01\u0E14\u0E04\u0E35\u0E22\u0E4C",
4312
4241
  keyup: "\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E04\u0E35\u0E22\u0E4C",
4313
4242
  mouseover: "\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E40\u0E02\u0E49\u0E32",
@@ -4334,7 +4263,9 @@ var thaiDictionary = {
4334
4263
  null: "\u0E27\u0E48\u0E32\u0E07",
4335
4264
  undefined: "\u0E44\u0E21\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14",
4336
4265
  end: "\u0E08\u0E1A",
4337
- then: "\u0E41\u0E25\u0E49\u0E27"
4266
+ then: "\u0E41\u0E25\u0E49\u0E27",
4267
+ live: "\u0E2A\u0E14",
4268
+ changes: "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19"
4338
4269
  },
4339
4270
  temporal: {
4340
4271
  now: "\u0E15\u0E2D\u0E19\u0E19\u0E35\u0E49",
@@ -4379,7 +4310,15 @@ var thaiDictionary = {
4379
4310
  children: "\u0E25\u0E39\u0E01",
4380
4311
  random: "\u0E2A\u0E38\u0E48\u0E21",
4381
4312
  length: "\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27",
4382
- index: "\u0E14\u0E31\u0E0A\u0E19\u0E35"
4313
+ index: "\u0E14\u0E31\u0E0A\u0E19\u0E35",
4314
+ empty: "\u0E25\u0E49\u0E32\u0E07",
4315
+ "starts with": "\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22",
4316
+ "ends with": "\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22",
4317
+ "ignoring case": "\u0E44\u0E21\u0E48\u0E2A\u0E19\u0E15\u0E31\u0E27\u0E1E\u0E34\u0E21\u0E1E\u0E4C",
4318
+ "sorted by": "\u0E40\u0E23\u0E35\u0E22\u0E07\u0E15\u0E32\u0E21",
4319
+ "mapped to": "\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E1B\u0E47\u0E19",
4320
+ "split by": "\u0E41\u0E22\u0E01\u0E14\u0E49\u0E27\u0E22",
4321
+ "joined by": "\u0E23\u0E27\u0E21\u0E14\u0E49\u0E27\u0E22"
4383
4322
  }
4384
4323
  };
4385
4324
  var th = thaiDictionary;
@@ -4387,12 +4326,10 @@ var th = thaiDictionary;
4387
4326
  // src/dictionaries/ms.ts
4388
4327
  var malayDictionary = {
4389
4328
  commands: {
4390
- // Event handling
4391
4329
  on: "apabila",
4392
4330
  tell: "beritahu",
4393
4331
  trigger: "cetuskan",
4394
4332
  send: "hantar",
4395
- // DOM manipulation
4396
4333
  take: "ambil",
4397
4334
  put: "letak",
4398
4335
  set: "tetapkan",
@@ -4402,7 +4339,6 @@ var malayDictionary = {
4402
4339
  toggle: "togol",
4403
4340
  hide: "sembunyi",
4404
4341
  show: "tunjuk",
4405
- // Control flow
4406
4342
  if: "jika",
4407
4343
  unless: "kecuali",
4408
4344
  repeat: "ulang",
@@ -4412,52 +4348,46 @@ var malayDictionary = {
4412
4348
  continue: "teruskan",
4413
4349
  break: "henti",
4414
4350
  halt: "henti",
4415
- // Async
4416
4351
  wait: "tunggu",
4417
4352
  fetch: "ambil_dari",
4418
4353
  call: "panggil",
4419
4354
  return: "pulang",
4420
- // Other commands
4421
4355
  make: "buat",
4422
4356
  log: "catat",
4423
4357
  throw: "lempar",
4424
4358
  catch: "tangkap",
4425
4359
  measure: "ukur",
4426
4360
  transition: "peralihan",
4427
- // Data Commands
4428
4361
  increment: "tambah_satu",
4429
4362
  decrement: "kurang_satu",
4430
4363
  default: "lalai",
4431
- // Navigation Commands
4432
4364
  go: "pergi",
4433
4365
  pushUrl: "tolak_url",
4434
4366
  replaceUrl: "ganti_url",
4435
- // Utility Commands
4436
4367
  copy: "salin",
4437
4368
  pick: "pilih",
4438
4369
  beep: "bunyi",
4439
- // Advanced Commands
4440
4370
  js: "js",
4441
4371
  async: "tak_segerak",
4442
4372
  render: "papar",
4443
- // Animation Commands
4444
4373
  swap: "tukar_tempat",
4445
4374
  morph: "ubah_bentuk",
4446
4375
  settle: "selesai",
4447
- // Content Commands
4448
4376
  append: "tambah_hujung",
4449
4377
  prepend: "tambah_mula",
4450
- // Control Flow
4451
4378
  exit: "keluar",
4452
4379
  else: "kalau_tidak",
4453
- // Focus Commands
4454
4380
  focus: "fokus",
4455
4381
  blur: "kabur",
4456
- // Behaviors
4457
4382
  install: "pasang",
4458
4383
  behavior: "kelakuan",
4459
4384
  init: "mula",
4460
- clone: "klon"
4385
+ clone: "klon",
4386
+ breakpoint: "titik-henti",
4387
+ clear: "padam",
4388
+ close: "tutup",
4389
+ open: "buka",
4390
+ select: "pilih"
4461
4391
  },
4462
4392
  modifiers: {
4463
4393
  to: "ke",
@@ -4524,13 +4454,13 @@ var malayDictionary = {
4524
4454
  includes: "termasuk",
4525
4455
  equals: "sama",
4526
4456
  has: "ada",
4527
- // possession verb (context-based)
4528
4457
  have: "ada",
4529
- // same for first/third person
4530
4458
  then: "kemudian",
4531
4459
  else: "kalau_tidak",
4532
4460
  otherwise: "jika_tidak",
4533
4461
  end: "tamat",
4462
+ live: "langsung",
4463
+ changes: "berubah",
4534
4464
  if: "jika",
4535
4465
  empty: "kosong",
4536
4466
  true: "benar",
@@ -4595,7 +4525,6 @@ var malayDictionary = {
4595
4525
  checked: "ditanda"
4596
4526
  },
4597
4527
  expressions: {
4598
- // Positional
4599
4528
  first: "pertama",
4600
4529
  last: "terakhir",
4601
4530
  next: "seterusnya",
@@ -4603,19 +4532,20 @@ var malayDictionary = {
4603
4532
  prev: "sebelum",
4604
4533
  at: "di",
4605
4534
  random: "rawak",
4606
- // DOM Traversal
4607
4535
  closest: "terdekat",
4608
4536
  parent: "induk",
4609
4537
  children: "anak_anak",
4610
4538
  within: "dalam",
4611
- // Emptiness/Existence
4612
4539
  no: "tiada",
4613
4540
  empty: "kosong",
4614
4541
  some: "beberapa",
4615
- // String operations
4616
4542
  "starts with": "bermula_dengan",
4617
4543
  "ends with": "berakhir_dengan",
4618
- // Additional
4544
+ "ignoring case": "abaikan_huruf_besar_kecil",
4545
+ "sorted by": "disusun_mengikut",
4546
+ "mapped to": "dipetakan_ke",
4547
+ "split by": "dipecah_oleh",
4548
+ "joined by": "digabung_oleh",
4619
4549
  length: "panjang",
4620
4550
  index: "indeks"
4621
4551
  }
@@ -4625,12 +4555,10 @@ var ms = malayDictionary;
4625
4555
  // src/dictionaries/tl.ts
4626
4556
  var tagalogDictionary = {
4627
4557
  commands: {
4628
- // Event handling
4629
4558
  on: "kapag",
4630
4559
  tell: "sabihin",
4631
4560
  trigger: "palitawin",
4632
4561
  send: "ipadala",
4633
- // DOM manipulation
4634
4562
  take: "kunin",
4635
4563
  put: "ilagay",
4636
4564
  set: "itakda",
@@ -4640,7 +4568,6 @@ var tagalogDictionary = {
4640
4568
  toggle: "palitan",
4641
4569
  hide: "itago",
4642
4570
  show: "ipakita",
4643
- // Control flow
4644
4571
  if: "kung",
4645
4572
  unless: "maliban_kung",
4646
4573
  repeat: "ulitin",
@@ -4650,52 +4577,46 @@ var tagalogDictionary = {
4650
4577
  continue: "magpatuloy",
4651
4578
  break: "itigil",
4652
4579
  halt: "huminto",
4653
- // Async
4654
4580
  wait: "maghintay",
4655
4581
  fetch: "kuhanin_mula",
4656
4582
  call: "tawagin",
4657
4583
  return: "ibalik",
4658
- // Other commands
4659
4584
  make: "gumawa",
4660
4585
  log: "itala",
4661
4586
  throw: "ihagis",
4662
4587
  catch: "hulihin",
4663
4588
  measure: "sukatin",
4664
4589
  transition: "baguhin",
4665
- // Data Commands
4666
4590
  increment: "dagdagan",
4667
4591
  decrement: "bawasan",
4668
4592
  default: "pamantayan",
4669
- // Navigation Commands
4670
4593
  go: "pumunta",
4671
4594
  pushUrl: "itulak_url",
4672
4595
  replaceUrl: "palitan_url",
4673
- // Utility Commands
4674
4596
  copy: "kopyahin",
4675
4597
  pick: "pumili",
4676
4598
  beep: "tunog",
4677
- // Advanced Commands
4678
4599
  js: "js",
4679
4600
  async: "sabay",
4680
4601
  render: "ipakita",
4681
- // Animation Commands
4682
4602
  swap: "palitan_pwesto",
4683
4603
  morph: "baguhin_hugis",
4684
4604
  settle: "ayusin",
4685
- // Content Commands
4686
4605
  append: "idagdag_sa_dulo",
4687
4606
  prepend: "idagdag_sa_simula",
4688
- // Control Flow
4689
4607
  exit: "lumabas",
4690
4608
  else: "kung_hindi",
4691
- // Focus Commands
4692
4609
  focus: "ituon",
4693
4610
  blur: "alisin_tuon",
4694
- // Behaviors
4695
4611
  install: "ikabit",
4696
4612
  behavior: "ugali",
4697
4613
  init: "simulan",
4698
- clone: "kopyahin"
4614
+ clone: "kopyahin",
4615
+ breakpoint: "breakpoint",
4616
+ clear: "burahin",
4617
+ close: "isara",
4618
+ open: "buksan",
4619
+ select: "piliin"
4699
4620
  },
4700
4621
  modifiers: {
4701
4622
  to: "sa",
@@ -4762,13 +4683,13 @@ var tagalogDictionary = {
4762
4683
  includes: "kasama",
4763
4684
  equals: "katumbas",
4764
4685
  has: "may",
4765
- // possession verb (context-based)
4766
4686
  have: "may",
4767
- // same for first/third person in Tagalog
4768
4687
  then: "pagkatapos",
4769
4688
  else: "kung_hindi",
4770
4689
  otherwise: "kung_hindi_man",
4771
4690
  end: "wakas",
4691
+ live: "live",
4692
+ changes: "nagbabago",
4772
4693
  if: "kung",
4773
4694
  empty: "walang_laman",
4774
4695
  true: "totoo",
@@ -4833,7 +4754,6 @@ var tagalogDictionary = {
4833
4754
  checked: "naka_tsek"
4834
4755
  },
4835
4756
  expressions: {
4836
- // Positional
4837
4757
  first: "una",
4838
4758
  last: "huli",
4839
4759
  next: "susunod",
@@ -4841,25 +4761,119 @@ var tagalogDictionary = {
4841
4761
  prev: "nakaraan",
4842
4762
  at: "sa",
4843
4763
  random: "random",
4844
- // DOM Traversal
4845
4764
  closest: "pinakamalapit",
4846
4765
  parent: "magulang",
4847
4766
  children: "mga_anak",
4848
4767
  within: "sa_loob_ng",
4849
- // Emptiness/Existence
4850
4768
  no: "walang",
4851
4769
  empty: "walang_laman",
4852
4770
  some: "ilan",
4853
- // String operations
4854
4771
  "starts with": "nagsisimula_sa",
4855
4772
  "ends with": "nagtatapos_sa",
4856
- // Additional
4773
+ "ignoring case": "huwag_pansinin_ang_case",
4774
+ "sorted by": "nakaayos_ayon_sa",
4775
+ "mapped to": "binago_sa",
4776
+ "split by": "hinati_sa",
4777
+ "joined by": "pinagsama_sa",
4857
4778
  length: "haba",
4858
4779
  index: "indeks"
4859
4780
  }
4860
4781
  };
4861
4782
  var tl = tagalogDictionary;
4862
4783
 
4784
+ // src/dictionaries/he.ts
4785
+ var he = {
4786
+ commands: {
4787
+ add: "\u05D4\u05D5\u05E1\u05E3",
4788
+ append: "\u05E6\u05E8\u05E3",
4789
+ async: "\u05D0\u05E1\u05D9\u05E0\u05DB\u05E8\u05D5\u05E0\u05D9",
4790
+ beep: "\u05D1\u05D9\u05E4",
4791
+ break: "\u05E9\u05D1\u05D5\u05E8",
4792
+ call: "\u05E7\u05E8\u05D0",
4793
+ continue: "\u05D4\u05DE\u05E9\u05DA",
4794
+ copy: "\u05D4\u05E2\u05EA\u05E7",
4795
+ decrement: "\u05D4\u05E7\u05D8\u05DF",
4796
+ default: "\u05D1\u05E8\u05D9\u05E8\u05EA \u05DE\u05D7\u05D3\u05DC",
4797
+ exit: "\u05E6\u05D0",
4798
+ fetch: "\u05D4\u05D1\u05D0",
4799
+ for: "\u05E2\u05D1\u05D5\u05E8",
4800
+ get: "\u05E7\u05D1\u05DC",
4801
+ go: "\u05DC\u05DA",
4802
+ halt: "\u05E2\u05E6\u05D5\u05E8",
4803
+ hide: "\u05D4\u05E1\u05EA\u05E8",
4804
+ if: "\u05D0\u05DD",
4805
+ increment: "\u05D4\u05D2\u05D3\u05DC",
4806
+ install: "\u05D4\u05EA\u05E7\u05DF",
4807
+ js: "js",
4808
+ log: "\u05E8\u05E9\u05D5\u05DD",
4809
+ make: "\u05E6\u05D5\u05E8",
4810
+ measure: "\u05DE\u05D3\u05D5\u05D3",
4811
+ morph: "\u05D4\u05E4\u05D5\u05DA",
4812
+ on: "\u05D1",
4813
+ pick: "\u05D1\u05D7\u05E8",
4814
+ put: "\u05E9\u05D9\u05DD",
4815
+ remove: "\u05D4\u05E1\u05E8",
4816
+ render: "\u05E8\u05E0\u05D3\u05E8",
4817
+ repeat: "\u05D7\u05D6\u05D5\u05E8",
4818
+ return: "\u05D4\u05D7\u05D6\u05E8",
4819
+ send: "\u05E9\u05DC\u05D7",
4820
+ set: "\u05E7\u05D1\u05E2",
4821
+ settle: "\u05D4\u05EA\u05D9\u05D9\u05E6\u05D1",
4822
+ show: "\u05D4\u05E8\u05D0\u05D4",
4823
+ swap: "\u05D4\u05D7\u05DC\u05E3",
4824
+ take: "\u05E7\u05D7",
4825
+ tell: "\u05D0\u05DE\u05D5\u05E8",
4826
+ throw: "\u05D6\u05E8\u05D5\u05E7",
4827
+ toggle: "\u05DE\u05EA\u05D2",
4828
+ transition: "\u05DE\u05E2\u05D1\u05E8",
4829
+ trigger: "\u05D4\u05E4\u05E2\u05DC",
4830
+ until: "\u05E2\u05D3",
4831
+ wait: "\u05D7\u05DB\u05D4",
4832
+ while: "\u05DB\u05DC \u05E2\u05D5\u05D3"
4833
+ },
4834
+ modifiers: {
4835
+ after: "\u05D0\u05D7\u05E8\u05D9",
4836
+ before: "\u05DC\u05E4\u05E0\u05D9",
4837
+ from: "\u05DE",
4838
+ into: "\u05DC\u05EA\u05D5\u05DA",
4839
+ to: "\u05E2\u05DC",
4840
+ with: "\u05E2\u05DD"
4841
+ },
4842
+ events: {
4843
+ blur: "\u05D8\u05E9\u05D8\u05E9",
4844
+ change: "\u05E9\u05D9\u05E0\u05D5\u05D9",
4845
+ click: "\u05DC\u05D7\u05D9\u05E6\u05D4",
4846
+ focus: "\u05DE\u05E7\u05D3",
4847
+ input: "\u05E7\u05DC\u05D8",
4848
+ submit: "\u05E9\u05DC\u05D9\u05D7\u05D4"
4849
+ },
4850
+ logical: {
4851
+ and: "\u05D5\u05D2\u05DD",
4852
+ else: "\u05D0\u05D7\u05E8\u05EA",
4853
+ end: "\u05E1\u05D5\u05E3",
4854
+ then: "\u05D0\u05D6",
4855
+ live: "\u05D7\u05D9",
4856
+ changes: "\u05DE\u05E9\u05EA\u05E0\u05D4",
4857
+ when: "\u05DB\u05D0\u05E9\u05E8",
4858
+ where: "\u05D0\u05D9\u05E4\u05D4"
4859
+ },
4860
+ temporal: {},
4861
+ values: {
4862
+ body: "\u05D2\u05D5\u05E3",
4863
+ event: "\u05D0\u05D9\u05E8\u05D5\u05E2",
4864
+ it: "\u05D6\u05D4",
4865
+ its: "\u05E9\u05DC\u05D5",
4866
+ me: "\u05D0\u05E0\u05D9",
4867
+ my: "\u05E9\u05DC\u05D9",
4868
+ result: "\u05EA\u05D5\u05E6\u05D0\u05D4",
4869
+ target: "\u05D9\u05E2\u05D3",
4870
+ you: "\u05D0\u05EA\u05D4",
4871
+ your: "\u05E9\u05DC\u05DA"
4872
+ },
4873
+ attributes: {},
4874
+ expressions: {}
4875
+ };
4876
+
4863
4877
  // src/dictionaries/index.ts
4864
4878
  var en2 = en;
4865
4879
  var es2 = es;
@@ -4884,6 +4898,7 @@ var bn2 = bengaliDictionary;
4884
4898
  var th2 = thaiDictionary;
4885
4899
  var ms2 = malayDictionary;
4886
4900
  var tl2 = tagalogDictionary;
4901
+ var he2 = he;
4887
4902
  var dictionaries = {
4888
4903
  en: en2,
4889
4904
  es: es2,
@@ -4907,7 +4922,8 @@ var dictionaries = {
4907
4922
  bn: bn2,
4908
4923
  th: th2,
4909
4924
  ms: ms2,
4910
- tl: tl2
4925
+ tl: tl2,
4926
+ he: he2
4911
4927
  };
4912
4928
  var supportedLocales = Object.keys(dictionaries);
4913
4929
  var isLocaleSupported = (locale) => {
@@ -5559,6 +5575,31 @@ var polishProfile = {
5559
5575
  { form: "jako", role: "method", position: "preposition", required: false }
5560
5576
  ]
5561
5577
  };
5578
+ var hebrewProfile = {
5579
+ code: "he",
5580
+ name: "\u05E2\u05D1\u05E8\u05D9\u05EA",
5581
+ wordOrder: "SVO",
5582
+ // Modern Hebrew is predominantly SVO (Biblical Hebrew was VSO)
5583
+ adpositionType: "preposition",
5584
+ morphology: "fusional",
5585
+ // Root-and-pattern (Semitic), like Arabic
5586
+ direction: "rtl",
5587
+ canonicalOrder: ["event", "action", "patient", "destination"],
5588
+ // Hebrew uses single-letter prefix prepositions (ב, ל, מ, כ) that attach to
5589
+ // the following word. For tokenization we treat them as spaced forms.
5590
+ markers: [
5591
+ { form: "\u05D1", role: "event", position: "preposition", required: true },
5592
+ { form: "\u05E2\u05DC", role: "destination", position: "preposition", required: false },
5593
+ { form: "\u05D0\u05DC", role: "destination", position: "preposition", required: false },
5594
+ { form: "\u05DC", role: "destination", position: "preposition", required: false },
5595
+ { form: "\u05D0\u05EA", role: "patient", position: "preposition", required: false },
5596
+ // Direct object marker
5597
+ { form: "\u05DE", role: "source", position: "preposition", required: false },
5598
+ { form: "\u05DE\u05DF", role: "source", position: "preposition", required: false },
5599
+ { form: "\u05E2\u05DD", role: "style", position: "preposition", required: false },
5600
+ { form: "\u05DB", role: "method", position: "preposition", required: false }
5601
+ ]
5602
+ };
5562
5603
  var profiles = {
5563
5604
  en: englishProfile,
5564
5605
  ja: japaneseProfile,
@@ -5582,7 +5623,8 @@ var profiles = {
5582
5623
  hi: hindiProfile,
5583
5624
  tl: tagalogProfile,
5584
5625
  th: thaiProfile,
5585
- pl: polishProfile
5626
+ pl: polishProfile,
5627
+ he: hebrewProfile
5586
5628
  };
5587
5629
  function getProfile(locale) {
5588
5630
  return profiles[locale];
@@ -6305,13 +6347,25 @@ var ENGLISH_COMMANDS = /* @__PURE__ */ new Set([
6305
6347
  "append",
6306
6348
  "async",
6307
6349
  "beep",
6350
+ "blur",
6351
+ // v0.9.90 phase 1
6308
6352
  "break",
6353
+ "breakpoint",
6354
+ // v0.9.90 phase 1
6309
6355
  "call",
6356
+ "clear",
6357
+ // v0.9.90 phase 1
6358
+ "close",
6359
+ // v0.9.90 phase 1
6310
6360
  "continue",
6311
6361
  "decrement",
6312
6362
  "default",
6363
+ "empty",
6364
+ // v0.9.90 phase 1
6313
6365
  "exit",
6314
6366
  "fetch",
6367
+ "focus",
6368
+ // v0.9.90 phase 1
6315
6369
  "for",
6316
6370
  "get",
6317
6371
  "go",
@@ -6325,6 +6379,8 @@ var ENGLISH_COMMANDS = /* @__PURE__ */ new Set([
6325
6379
  "make",
6326
6380
  "measure",
6327
6381
  "morph",
6382
+ "open",
6383
+ // v0.9.90 phase 1
6328
6384
  "pick",
6329
6385
  "process",
6330
6386
  "push",
@@ -6333,7 +6389,11 @@ var ENGLISH_COMMANDS = /* @__PURE__ */ new Set([
6333
6389
  "render",
6334
6390
  "repeat",
6335
6391
  "replace",
6392
+ "reset",
6393
+ // v0.9.90 phase 1
6336
6394
  "return",
6395
+ "select",
6396
+ // v0.9.90 phase 1
6337
6397
  "send",
6338
6398
  "set",
6339
6399
  "settle",
@@ -13360,6 +13420,57 @@ function getCommandKeywordsForLocale(locale) {
13360
13420
  }
13361
13421
  return keywords;
13362
13422
  }
13423
+ function extractBlockStructure(input, sourceLocale) {
13424
+ const tokens = input.split(/\s+/);
13425
+ const head = tokens[0]?.toLowerCase();
13426
+ if (!head || !BLOCK_HEAD_KEYWORDS.has(head)) return null;
13427
+ let depth = 1;
13428
+ let endIdx = -1;
13429
+ for (let i = 1; i < tokens.length; i++) {
13430
+ const t = tokens[i].toLowerCase();
13431
+ if (BLOCK_HEAD_KEYWORDS.has(t)) depth++;
13432
+ else if (t === "end") {
13433
+ depth--;
13434
+ if (depth === 0) {
13435
+ endIdx = i;
13436
+ break;
13437
+ }
13438
+ }
13439
+ }
13440
+ if (endIdx !== -1 && endIdx !== tokens.length - 1) return null;
13441
+ const inner = endIdx !== -1 ? tokens.slice(1, endIdx) : tokens.slice(1);
13442
+ const base = { headKeyword: tokens[0], body: "" };
13443
+ if (endIdx !== -1) base.tailKeyword = tokens[endIdx];
13444
+ if (head === "live") {
13445
+ return { ...base, body: inner.join(" ") };
13446
+ }
13447
+ if (head === "when") {
13448
+ const idx = inner.findIndex((t) => t.toLowerCase() === "changes");
13449
+ if (idx >= 0) {
13450
+ return {
13451
+ ...base,
13452
+ prefixExpr: inner.slice(0, idx).join(" "),
13453
+ connector: inner[idx],
13454
+ body: inner.slice(idx + 1).join(" ")
13455
+ };
13456
+ }
13457
+ return null;
13458
+ }
13459
+ const commands = getCommandKeywordsForLocale(sourceLocale);
13460
+ let bodyStart = -1;
13461
+ for (let i = 0; i < inner.length; i++) {
13462
+ if (commands.has(inner[i].toLowerCase())) {
13463
+ bodyStart = i;
13464
+ break;
13465
+ }
13466
+ }
13467
+ if (bodyStart <= 0) return null;
13468
+ return {
13469
+ ...base,
13470
+ prefixExpr: inner.slice(0, bodyStart).join(" "),
13471
+ body: inner.slice(bodyStart).join(" ")
13472
+ };
13473
+ }
13363
13474
  function splitCompoundStatement(input, sourceLocale) {
13364
13475
  const lines = input.split(/\n/).map((line) => line.trim()).filter((line) => line.length > 0);
13365
13476
  const parts = [];
@@ -13475,6 +13586,7 @@ var BOUNDARY_MODIFIERS = /* @__PURE__ */ new Set([
13475
13586
  "of",
13476
13587
  "over"
13477
13588
  ]);
13589
+ var BLOCK_HEAD_KEYWORDS = /* @__PURE__ */ new Set(["live", "when", "unless"]);
13478
13590
  function splitOnCommandBoundaries(input, sourceLocale) {
13479
13591
  const commandKeywords = getCommandKeywordsForLocale(sourceLocale);
13480
13592
  const tokens = input.split(/\s+/);
@@ -13484,9 +13596,15 @@ function splitOnCommandBoundaries(input, sourceLocale) {
13484
13596
  const firstTokenLower = tokens[0]?.toLowerCase();
13485
13597
  const isEventHandler = EVENT_KEYWORDS.has(firstTokenLower);
13486
13598
  let seenFirstCommand = !isEventHandler;
13599
+ let blockDepth = 0;
13487
13600
  for (let i = 0; i < tokens.length; i++) {
13488
13601
  const token = tokens[i];
13489
13602
  const lowerToken = token.toLowerCase();
13603
+ if (BLOCK_HEAD_KEYWORDS.has(lowerToken)) {
13604
+ blockDepth++;
13605
+ } else if (lowerToken === "end" && blockDepth > 0) {
13606
+ blockDepth--;
13607
+ }
13490
13608
  if (commandKeywords.has(lowerToken) && currentPart.length > 0) {
13491
13609
  const prevToken = currentPart[currentPart.length - 1];
13492
13610
  const prevLower = prevToken.toLowerCase();
@@ -13495,6 +13613,10 @@ function splitOnCommandBoundaries(input, sourceLocale) {
13495
13613
  currentPart.push(token);
13496
13614
  continue;
13497
13615
  }
13616
+ if (blockDepth > 0) {
13617
+ currentPart.push(token);
13618
+ continue;
13619
+ }
13498
13620
  if (!BOUNDARY_MODIFIERS.has(prevLower) && !commandKeywords.has(prevLower)) {
13499
13621
  parts.push(currentPart.join(" "));
13500
13622
  currentPart = [token];
@@ -14014,6 +14136,10 @@ var GrammarTransformer = class {
14014
14136
  * Transform a single hyperscript statement (no compound "then" chains).
14015
14137
  */
14016
14138
  transformSingle(input) {
14139
+ const block = extractBlockStructure(input, this.sourceProfile.code);
14140
+ if (block) {
14141
+ return this.transformBlock(block);
14142
+ }
14017
14143
  const parsed = parseStatement(input, this.sourceProfile.code);
14018
14144
  if (!parsed) {
14019
14145
  return input;
@@ -14036,6 +14162,24 @@ var GrammarTransformer = class {
14036
14162
  }
14037
14163
  return joinTokens(reordered.map((e) => e.translated || e.value));
14038
14164
  }
14165
+ /**
14166
+ * Translate a reactive block by translating the head/tail/connector
14167
+ * via the dictionary, recursively transforming the body through the
14168
+ * regular pipeline, and rejoining in source-language position order.
14169
+ * Block-syntactic tokens are never reordered: they're delimiters, not
14170
+ * arguments, and authors expect them at start/end positions
14171
+ * regardless of target word order.
14172
+ */
14173
+ transformBlock(block) {
14174
+ const src = this.sourceProfile.code;
14175
+ const dst = this.targetProfile.code;
14176
+ const head = translateWord(block.headKeyword, src, dst);
14177
+ const tail = block.tailKeyword ? translateWord(block.tailKeyword, src, dst) : "";
14178
+ const connector = block.connector ? translateWord(block.connector, src, dst) : "";
14179
+ const prefix = block.prefixExpr ? translateMultiWordValue(block.prefixExpr, src, dst) : "";
14180
+ const body = this.transform(block.body);
14181
+ return [head, prefix, connector, body, tail].filter((s) => s.length > 0).join(" ");
14182
+ }
14039
14183
  /**
14040
14184
  * Find the best matching rule for this statement
14041
14185
  */