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