@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/browser.cjs CHANGED
@@ -31,13 +31,25 @@ var ENGLISH_COMMANDS = /* @__PURE__ */ new Set([
31
31
  "append",
32
32
  "async",
33
33
  "beep",
34
+ "blur",
35
+ // v0.9.90 phase 1
34
36
  "break",
37
+ "breakpoint",
38
+ // v0.9.90 phase 1
35
39
  "call",
40
+ "clear",
41
+ // v0.9.90 phase 1
42
+ "close",
43
+ // v0.9.90 phase 1
36
44
  "continue",
37
45
  "decrement",
38
46
  "default",
47
+ "empty",
48
+ // v0.9.90 phase 1
39
49
  "exit",
40
50
  "fetch",
51
+ "focus",
52
+ // v0.9.90 phase 1
41
53
  "for",
42
54
  "get",
43
55
  "go",
@@ -51,6 +63,8 @@ var ENGLISH_COMMANDS = /* @__PURE__ */ new Set([
51
63
  "make",
52
64
  "measure",
53
65
  "morph",
66
+ "open",
67
+ // v0.9.90 phase 1
54
68
  "pick",
55
69
  "process",
56
70
  "push",
@@ -59,7 +73,11 @@ var ENGLISH_COMMANDS = /* @__PURE__ */ new Set([
59
73
  "render",
60
74
  "repeat",
61
75
  "replace",
76
+ "reset",
77
+ // v0.9.90 phase 1
62
78
  "return",
79
+ "select",
80
+ // v0.9.90 phase 1
63
81
  "send",
64
82
  "set",
65
83
  "settle",
@@ -464,12 +482,10 @@ function createEnglishProvider() {
464
482
  // src/dictionaries/es.ts
465
483
  var es = {
466
484
  commands: {
467
- // Event handling
468
485
  on: "en",
469
486
  tell: "decir",
470
487
  trigger: "disparar",
471
488
  send: "enviar",
472
- // DOM manipulation
473
489
  take: "tomar",
474
490
  put: "poner",
475
491
  set: "establecer",
@@ -479,7 +495,6 @@ var es = {
479
495
  toggle: "alternar",
480
496
  hide: "ocultar",
481
497
  show: "mostrar",
482
- // Control flow
483
498
  if: "si",
484
499
  unless: "menos",
485
500
  repeat: "repetir",
@@ -489,44 +504,41 @@ var es = {
489
504
  continue: "continuar",
490
505
  break: "romper",
491
506
  halt: "detener",
492
- // Async
493
507
  wait: "esperar",
494
508
  fetch: "buscar",
495
509
  call: "llamar",
496
510
  return: "retornar",
497
- // Other commands
498
511
  make: "hacer",
499
512
  log: "registrar",
500
513
  throw: "lanzar",
501
514
  catch: "atrapar",
502
515
  measure: "medir",
503
516
  transition: "transici\xF3n",
504
- // Data Commands
505
517
  increment: "incrementar",
506
518
  decrement: "decrementar",
507
519
  default: "predeterminar",
508
- // Navigation Commands
509
520
  go: "ir",
510
521
  pushUrl: "pushUrl",
511
522
  replaceUrl: "reemplazarUrl",
512
- // Utility Commands
513
523
  copy: "copiar",
514
524
  pick: "escoger",
515
525
  beep: "pitido",
516
- // Advanced Commands
517
526
  js: "js",
518
527
  async: "as\xEDncrono",
519
528
  render: "renderizar",
520
- // Animation Commands
521
529
  swap: "intercambiar",
522
530
  morph: "transformar",
523
531
  settle: "estabilizar",
524
- // Content Commands
525
532
  append: "a\xF1adir",
526
- // Control Flow
527
533
  exit: "salir",
528
- // Behaviors
529
- install: "instalar"
534
+ install: "instalar",
535
+ breakpoint: "punto-interrupci\xF3n",
536
+ clear: "limpiar",
537
+ close: "cerrar",
538
+ open: "abrir",
539
+ select: "seleccionar",
540
+ clone: "clonar",
541
+ prepend: "anteponer"
530
542
  },
531
543
  modifiers: {
532
544
  to: "a",
@@ -587,13 +599,13 @@ var es = {
587
599
  includes: "incluye",
588
600
  equals: "iguala",
589
601
  has: "tiene",
590
- // third-person: él/ella tiene
591
602
  have: "tengo",
592
- // first-person: yo tengo
593
603
  then: "entonces",
594
604
  else: "sino",
595
605
  otherwise: "delocontrario",
596
- end: "fin"
606
+ end: "fin",
607
+ live: "vivo",
608
+ changes: "cambia"
597
609
  },
598
610
  temporal: {
599
611
  seconds: "segundos",
@@ -621,7 +633,6 @@ var es = {
621
633
  you: "tu",
622
634
  your: "tu",
623
635
  yourself: "ti mismo",
624
- // REVIEW: native speaker
625
636
  myself: "yo mismo",
626
637
  element: "elemento",
627
638
  target: "objetivo",
@@ -644,7 +655,6 @@ var es = {
644
655
  properties: "propiedades"
645
656
  },
646
657
  expressions: {
647
- // Positional
648
658
  first: "primero",
649
659
  last: "\xFAltimo",
650
660
  next: "siguiente",
@@ -652,18 +662,20 @@ var es = {
652
662
  prev: "ant",
653
663
  at: "en",
654
664
  random: "aleatorio",
655
- // DOM Traversal
656
665
  closest: "m\xE1scercano",
657
666
  parent: "padre",
658
667
  children: "hijos",
659
668
  within: "dentro",
660
- // Emptiness/Existence
661
669
  no: "ning\xFAn",
662
670
  empty: "vac\xEDo",
663
671
  some: "alg\xFAn",
664
- // String operations
665
672
  "starts with": "empieza con",
666
- "ends with": "termina con"
673
+ "ends with": "termina con",
674
+ "ignoring case": "ignorando may\xFAsculas",
675
+ "sorted by": "ordenado por",
676
+ "mapped to": "transformado a",
677
+ "split by": "dividido por",
678
+ "joined by": "unido por"
667
679
  }
668
680
  };
669
681
 
@@ -675,12 +687,10 @@ var esKeywords = createKeywordProvider(es, "es", {
675
687
  // src/dictionaries/ja.ts
676
688
  var ja = {
677
689
  commands: {
678
- // Event handling
679
690
  on: "\u3067",
680
691
  tell: "\u4F1D\u3048\u308B",
681
692
  trigger: "\u5F15\u304D\u91D1",
682
693
  send: "\u9001\u308B",
683
- // DOM manipulation
684
694
  take: "\u53D6\u308B",
685
695
  put: "\u7F6E\u304F",
686
696
  set: "\u8A2D\u5B9A",
@@ -690,7 +700,6 @@ var ja = {
690
700
  toggle: "\u5207\u308A\u66FF\u3048",
691
701
  hide: "\u96A0\u3059",
692
702
  show: "\u8868\u793A",
693
- // Control flow
694
703
  if: "\u3082\u3057",
695
704
  unless: "\u3067\u306A\u3051\u308C\u3070",
696
705
  repeat: "\u7E70\u308A\u8FD4\u3057",
@@ -700,44 +709,41 @@ var ja = {
700
709
  continue: "\u7D9A\u3051\u308B",
701
710
  break: "\u4E2D\u65AD",
702
711
  halt: "\u505C\u6B62",
703
- // Async
704
712
  wait: "\u5F85\u3064",
705
713
  fetch: "\u53D6\u5F97",
706
714
  call: "\u547C\u3073\u51FA\u3057",
707
715
  return: "\u623B\u308B",
708
- // Other commands
709
716
  make: "\u4F5C\u308B",
710
717
  log: "\u8A18\u9332",
711
718
  throw: "\u6295\u3052\u308B",
712
719
  catch: "\u6355\u307E\u3048\u308B",
713
720
  measure: "\u6E2C\u5B9A",
714
721
  transition: "\u9077\u79FB",
715
- // Data Commands
716
722
  increment: "\u5897\u52A0",
717
723
  decrement: "\u6E1B\u5C11",
718
724
  default: "\u65E2\u5B9A",
719
- // Navigation Commands
720
725
  go: "\u79FB\u52D5",
721
726
  pushUrl: "URL\u30D7\u30C3\u30B7\u30E5",
722
727
  replaceUrl: "URL\u7F6E\u63DB",
723
- // Utility Commands
724
728
  copy: "\u30B3\u30D4\u30FC",
725
729
  pick: "\u9078\u629E",
726
730
  beep: "\u30D3\u30FC\u30D7",
727
- // Advanced Commands
728
731
  js: "JS\u5B9F\u884C",
729
732
  async: "\u975E\u540C\u671F",
730
733
  render: "\u63CF\u753B",
731
- // Animation Commands
732
734
  swap: "\u4EA4\u63DB",
733
735
  morph: "\u5909\u5F62",
734
736
  settle: "\u5B89\u5B9A",
735
- // Content Commands
736
737
  append: "\u672B\u5C3E\u8FFD\u52A0",
737
- // Control Flow
738
738
  exit: "\u7D42\u4E86",
739
- // Behaviors
740
- install: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB"
739
+ install: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",
740
+ breakpoint: "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8",
741
+ clear: "\u30AF\u30EA\u30A2",
742
+ close: "\u9589\u3058\u308B",
743
+ open: "\u958B\u304F",
744
+ select: "\u9078\u629E",
745
+ clone: "\u8907\u88FD",
746
+ prepend: "\u5148\u982D\u8FFD\u52A0"
741
747
  },
742
748
  modifiers: {
743
749
  to: "\u306B",
@@ -798,13 +804,13 @@ var ja = {
798
804
  includes: "\u542B\u3081\u308B",
799
805
  equals: "\u7B49\u3057\u3044",
800
806
  has: "\u3042\u308B",
801
- // existence verb (context-based)
802
807
  have: "\u3042\u308B",
803
- // same verb for first/third person
804
808
  then: "\u305D\u308C\u304B\u3089",
805
809
  else: "\u305D\u3046\u3067\u306A\u3051\u308C\u3070",
806
810
  otherwise: "\u305D\u3046\u3067\u306A\u3051\u308C\u3070",
807
- end: "\u7D42\u308F\u308A"
811
+ end: "\u7D42\u308F\u308A",
812
+ live: "\u30E9\u30A4\u30D6",
813
+ changes: "\u5909\u308F\u3063\u305F\u3089"
808
814
  },
809
815
  temporal: {
810
816
  seconds: "\u79D2",
@@ -854,7 +860,6 @@ var ja = {
854
860
  properties: "\u30D7\u30ED\u30D1\u30C6\u30A3\u7FA4"
855
861
  },
856
862
  expressions: {
857
- // Positional
858
863
  first: "\u6700\u521D",
859
864
  last: "\u6700\u5F8C",
860
865
  next: "\u6B21",
@@ -862,18 +867,20 @@ var ja = {
862
867
  prev: "\u524D",
863
868
  at: "\u3067",
864
869
  random: "\u30E9\u30F3\u30C0\u30E0",
865
- // DOM Traversal
866
870
  closest: "\u6700\u3082\u8FD1\u3044",
867
871
  parent: "\u89AA",
868
872
  children: "\u5B50",
869
873
  within: "\u4EE5\u5185",
870
- // Emptiness/Existence
871
874
  no: "\u306A\u3044",
872
875
  empty: "\u7A7A",
873
876
  some: "\u3044\u304F\u3064\u304B",
874
- // String operations
875
877
  "starts with": "\u3067\u59CB\u307E\u308B",
876
- "ends with": "\u3067\u7D42\u308F\u308B"
878
+ "ends with": "\u3067\u7D42\u308F\u308B",
879
+ "ignoring case": "\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u3092\u7121\u8996",
880
+ "sorted by": "\u3067\u30BD\u30FC\u30C8",
881
+ "mapped to": "\u306B\u5909\u63DB",
882
+ "split by": "\u3067\u5206\u5272",
883
+ "joined by": "\u3067\u7D50\u5408"
877
884
  }
878
885
  };
879
886
 
@@ -885,12 +892,10 @@ var jaKeywords = createKeywordProvider(ja, "ja", {
885
892
  // src/dictionaries/fr.ts
886
893
  var fr = {
887
894
  commands: {
888
- // Event handling
889
895
  on: "sur",
890
896
  tell: "dire",
891
897
  trigger: "d\xE9clencher",
892
898
  send: "envoyer",
893
- // DOM manipulation
894
899
  take: "prendre",
895
900
  put: "mettre",
896
901
  set: "d\xE9finir",
@@ -900,7 +905,6 @@ var fr = {
900
905
  toggle: "basculer",
901
906
  hide: "cacher",
902
907
  show: "montrer",
903
- // Control flow
904
908
  if: "si",
905
909
  unless: "saufsi",
906
910
  repeat: "r\xE9p\xE9ter",
@@ -910,44 +914,41 @@ var fr = {
910
914
  continue: "continuer",
911
915
  break: "arr\xEAter",
912
916
  halt: "stopper",
913
- // Async
914
917
  wait: "attendre",
915
918
  fetch: "r\xE9cup\xE9rer",
916
919
  call: "appeler",
917
920
  return: "retourner",
918
- // Other commands
919
921
  make: "cr\xE9er",
920
922
  log: "enregistrer",
921
923
  throw: "lancer",
922
924
  catch: "attraper",
923
925
  measure: "mesurer",
924
926
  transition: "transition",
925
- // Data Commands
926
927
  increment: "incr\xE9menter",
927
928
  decrement: "d\xE9cr\xE9menter",
928
929
  default: "d\xE9faut",
929
- // Navigation Commands
930
930
  go: "aller",
931
931
  pushUrl: "pousserUrl",
932
932
  replaceUrl: "remplacerUrl",
933
- // Utility Commands
934
933
  copy: "copier",
935
934
  pick: "choisir",
936
935
  beep: "bip",
937
- // Advanced Commands
938
936
  js: "js",
939
937
  async: "asynchrone",
940
938
  render: "rendu",
941
- // Animation Commands
942
939
  swap: "\xE9changer",
943
940
  morph: "transformer",
944
941
  settle: "stabiliser",
945
- // Content Commands
946
942
  append: "ajouter",
947
- // Control Flow
948
943
  exit: "sortir",
949
- // Behaviors
950
- install: "installer"
944
+ install: "installer",
945
+ breakpoint: "point-arr\xEAt",
946
+ clear: "effacer",
947
+ close: "fermer",
948
+ open: "ouvrir",
949
+ select: "s\xE9lectionner",
950
+ clone: "cloner",
951
+ prepend: "pr\xE9fixer"
951
952
  },
952
953
  modifiers: {
953
954
  to: "\xE0",
@@ -1008,13 +1009,13 @@ var fr = {
1008
1009
  includes: "inclut",
1009
1010
  equals: "\xE9gale",
1010
1011
  has: "a",
1011
- // third-person: il/elle a
1012
1012
  have: "ai",
1013
- // first-person: j'ai
1014
1013
  then: "alors",
1015
1014
  else: "sinon",
1016
1015
  otherwise: "autrement",
1017
- end: "fin"
1016
+ end: "fin",
1017
+ live: "vif",
1018
+ changes: "change"
1018
1019
  },
1019
1020
  temporal: {
1020
1021
  seconds: "secondes",
@@ -1042,7 +1043,6 @@ var fr = {
1042
1043
  you: "tu",
1043
1044
  your: "ton",
1044
1045
  yourself: "toi-m\xEAme",
1045
- // REVIEW: native speaker
1046
1046
  myself: "moi-m\xEAme",
1047
1047
  element: "\xE9l\xE9ment",
1048
1048
  target: "cible",
@@ -1065,7 +1065,6 @@ var fr = {
1065
1065
  properties: "propri\xE9t\xE9s"
1066
1066
  },
1067
1067
  expressions: {
1068
- // Positional
1069
1068
  first: "premier",
1070
1069
  last: "dernier",
1071
1070
  next: "suivant",
@@ -1073,18 +1072,20 @@ var fr = {
1073
1072
  prev: "pr\xE9c",
1074
1073
  at: "\xE0",
1075
1074
  random: "al\xE9atoire",
1076
- // DOM Traversal
1077
1075
  closest: "plusproche",
1078
1076
  parent: "parent",
1079
1077
  children: "enfants",
1080
1078
  within: "dans",
1081
- // Emptiness/Existence
1082
1079
  no: "aucun",
1083
1080
  empty: "vide",
1084
1081
  some: "quelques",
1085
- // String operations
1086
1082
  "starts with": "commence par",
1087
- "ends with": "finit par"
1083
+ "ends with": "finit par",
1084
+ "ignoring case": "en ignorant la casse",
1085
+ "sorted by": "tri\xE9 par",
1086
+ "mapped to": "transform\xE9 en",
1087
+ "split by": "divis\xE9 par",
1088
+ "joined by": "joint par"
1088
1089
  }
1089
1090
  };
1090
1091
 
@@ -1096,12 +1097,10 @@ var frKeywords = createKeywordProvider(fr, "fr", {
1096
1097
  // src/dictionaries/de.ts
1097
1098
  var de = {
1098
1099
  commands: {
1099
- // Event handling
1100
1100
  on: "bei",
1101
1101
  tell: "sagen",
1102
1102
  trigger: "ausl\xF6sen",
1103
1103
  send: "senden",
1104
- // DOM manipulation
1105
1104
  take: "nehmen",
1106
1105
  put: "setzen",
1107
1106
  set: "festlegen",
@@ -1111,7 +1110,6 @@ var de = {
1111
1110
  toggle: "umschalten",
1112
1111
  hide: "verstecken",
1113
1112
  show: "zeigen",
1114
- // Control flow
1115
1113
  if: "wenn",
1116
1114
  unless: "wennnicht",
1117
1115
  repeat: "wiederholen",
@@ -1121,44 +1119,41 @@ var de = {
1121
1119
  continue: "weiter",
1122
1120
  break: "unterbrechen",
1123
1121
  halt: "anhalten",
1124
- // Async
1125
1122
  wait: "warten",
1126
1123
  fetch: "holen",
1127
1124
  call: "aufrufen",
1128
1125
  return: "zur\xFCckgeben",
1129
- // Other commands
1130
1126
  make: "erstellen",
1131
1127
  log: "protokollieren",
1132
1128
  throw: "werfen",
1133
1129
  catch: "fangen",
1134
1130
  measure: "messen",
1135
1131
  transition: "\xFCbergang",
1136
- // Data Commands
1137
1132
  increment: "erh\xF6hen",
1138
1133
  decrement: "verringern",
1139
1134
  default: "standard",
1140
- // Navigation Commands
1141
1135
  go: "gehen",
1142
1136
  pushUrl: "urlHinzuf\xFCgen",
1143
1137
  replaceUrl: "urlErsetzen",
1144
- // Utility Commands
1145
1138
  copy: "kopieren",
1146
1139
  pick: "ausw\xE4hlen",
1147
1140
  beep: "piepton",
1148
- // Advanced Commands
1149
1141
  js: "js",
1150
1142
  async: "asynchron",
1151
1143
  render: "rendern",
1152
- // Animation Commands
1153
1144
  swap: "tauschen",
1154
1145
  morph: "verwandeln",
1155
1146
  settle: "stabilisieren",
1156
- // Content Commands
1157
1147
  append: "anh\xE4ngen",
1158
- // Control Flow
1159
1148
  exit: "beenden",
1160
- // Behaviors
1161
- install: "installieren"
1149
+ install: "installieren",
1150
+ breakpoint: "haltepunkt",
1151
+ clear: "l\xF6schen",
1152
+ close: "schlie\xDFen",
1153
+ open: "\xF6ffnen",
1154
+ select: "ausw\xE4hlen",
1155
+ clone: "klonen",
1156
+ prepend: "voranstellen"
1162
1157
  },
1163
1158
  modifiers: {
1164
1159
  to: "zu",
@@ -1219,13 +1214,13 @@ var de = {
1219
1214
  includes: "beinhaltet",
1220
1215
  equals: "gleicht",
1221
1216
  has: "hat",
1222
- // third-person: es hat
1223
1217
  have: "habe",
1224
- // first-person: ich habe
1225
1218
  then: "dann",
1226
1219
  else: "sonst",
1227
1220
  otherwise: "andernfalls",
1228
- end: "ende"
1221
+ end: "ende",
1222
+ live: "live",
1223
+ changes: "\xE4ndert"
1229
1224
  },
1230
1225
  temporal: {
1231
1226
  seconds: "sekunden",
@@ -1253,7 +1248,6 @@ var de = {
1253
1248
  you: "du",
1254
1249
  your: "dein",
1255
1250
  yourself: "dich selbst",
1256
- // REVIEW: native speaker
1257
1251
  myself: "ich selbst",
1258
1252
  element: "element",
1259
1253
  target: "ziel",
@@ -1276,7 +1270,6 @@ var de = {
1276
1270
  properties: "eigenschaften"
1277
1271
  },
1278
1272
  expressions: {
1279
- // Positional
1280
1273
  first: "erste",
1281
1274
  last: "letzte",
1282
1275
  next: "n\xE4chste",
@@ -1284,18 +1277,20 @@ var de = {
1284
1277
  prev: "vorh",
1285
1278
  at: "bei",
1286
1279
  random: "zuf\xE4llig",
1287
- // DOM Traversal
1288
1280
  closest: "n\xE4chste",
1289
1281
  parent: "elternteil",
1290
1282
  children: "kinder",
1291
1283
  within: "innerhalb",
1292
- // Emptiness/Existence
1293
1284
  no: "kein",
1294
1285
  empty: "leer",
1295
1286
  some: "einige",
1296
- // String operations
1297
1287
  "starts with": "beginnt mit",
1298
- "ends with": "endet mit"
1288
+ "ends with": "endet mit",
1289
+ "ignoring case": "ohne Gro\xDF-/Kleinschreibung",
1290
+ "sorted by": "sortiert nach",
1291
+ "mapped to": "zugeordnet zu",
1292
+ "split by": "geteilt durch",
1293
+ "joined by": "verbunden mit"
1299
1294
  }
1300
1295
  };
1301
1296
 
@@ -1307,12 +1302,10 @@ var deKeywords = createKeywordProvider(de, "de", {
1307
1302
  // src/dictionaries/ar.ts
1308
1303
  var ar = {
1309
1304
  commands: {
1310
- // Event handling
1311
1305
  on: "\u0639\u0644\u0649",
1312
1306
  tell: "\u0623\u062E\u0628\u0631",
1313
1307
  trigger: "\u062A\u0634\u063A\u064A\u0644",
1314
1308
  send: "\u0623\u0631\u0633\u0644",
1315
- // DOM manipulation
1316
1309
  take: "\u062E\u0630",
1317
1310
  put: "\u0636\u0639",
1318
1311
  set: "\u0627\u0636\u0628\u0637",
@@ -1322,7 +1315,6 @@ var ar = {
1322
1315
  toggle: "\u0628\u062F\u0644",
1323
1316
  hide: "\u0627\u062E\u0641",
1324
1317
  show: "\u0627\u0638\u0647\u0631",
1325
- // Control flow
1326
1318
  if: "\u0625\u0630\u0627",
1327
1319
  unless: "\u0625\u0644\u0627 \u0625\u0630\u0627",
1328
1320
  repeat: "\u0643\u0631\u0631",
@@ -1332,44 +1324,41 @@ var ar = {
1332
1324
  continue: "\u0648\u0627\u0635\u0644",
1333
1325
  break: "\u062A\u0648\u0642\u0641",
1334
1326
  halt: "\u0623\u0648\u0642\u0641",
1335
- // Async
1336
1327
  wait: "\u0627\u0646\u062A\u0638\u0631",
1337
1328
  fetch: "\u0627\u062D\u0636\u0631",
1338
1329
  call: "\u0627\u0633\u062A\u062F\u0639",
1339
1330
  return: "\u0627\u0631\u062C\u0639",
1340
- // Other commands
1341
1331
  make: "\u0627\u0635\u0646\u0639",
1342
1332
  log: "\u0633\u062C\u0644",
1343
1333
  throw: "\u0627\u0631\u0645",
1344
1334
  catch: "\u0627\u0644\u062A\u0642\u0637",
1345
1335
  measure: "\u0642\u0633",
1346
1336
  transition: "\u0627\u0646\u062A\u0642\u0627\u0644",
1347
- // Data Commands
1348
1337
  increment: "\u0632\u0650\u062F",
1349
1338
  decrement: "\u0623\u0646\u0642\u0635",
1350
1339
  default: "\u0627\u0641\u062A\u0631\u0627\u0636\u064A",
1351
- // Navigation Commands
1352
1340
  go: "\u0627\u0630\u0647\u0628",
1353
1341
  pushUrl: "\u0627\u062F\u0641\u0639 \u0631\u0627\u0628\u0637",
1354
1342
  replaceUrl: "\u0627\u0633\u062A\u0628\u062F\u0644 \u0631\u0627\u0628\u0637",
1355
- // Utility Commands
1356
1343
  copy: "\u0627\u0646\u0633\u062E",
1357
1344
  pick: "\u0627\u062E\u062A\u0631",
1358
1345
  beep: "\u0635\u0641\u0651\u0631",
1359
- // Advanced Commands
1360
1346
  js: "\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",
1361
1347
  async: "\u0645\u062A\u0632\u0627\u0645\u0646",
1362
1348
  render: "\u0627\u0631\u0633\u0645",
1363
- // Animation Commands
1364
1349
  swap: "\u0628\u062F\u0651\u0644",
1365
1350
  morph: "\u062D\u0648\u0651\u0644",
1366
1351
  settle: "\u0627\u0633\u062A\u0642\u0631",
1367
- // Content Commands
1368
1352
  append: "\u0623\u0644\u062D\u0642",
1369
- // Control Flow
1370
1353
  exit: "\u0627\u062E\u0631\u062C",
1371
- // Behaviors
1372
- install: "\u062B\u0628\u0651\u062A"
1354
+ install: "\u062B\u0628\u0651\u062A",
1355
+ breakpoint: "\u0646\u0642\u0637\u0629-\u062A\u0648\u0642\u0641",
1356
+ clear: "\u0627\u0645\u0633\u062D",
1357
+ close: "\u0623\u063A\u0644\u0642",
1358
+ open: "\u0627\u0641\u062A\u062D",
1359
+ select: "\u0627\u062E\u062A\u0631",
1360
+ clone: "\u0627\u0633\u062A\u0646\u0633\u062E",
1361
+ prepend: "\u0633\u0628\u0642"
1373
1362
  },
1374
1363
  modifiers: {
1375
1364
  to: "\u0625\u0644\u0649",
@@ -1430,13 +1419,13 @@ var ar = {
1430
1419
  includes: "\u064A\u0634\u0645\u0644",
1431
1420
  equals: "\u064A\u0633\u0627\u0648\u064A",
1432
1421
  has: "\u0644\u062F\u064A\u0647",
1433
- // third-person: he/it has
1434
1422
  have: "\u0644\u062F\u064A",
1435
- // first-person: I have
1436
1423
  then: "\u062B\u0645",
1437
1424
  else: "\u0648\u0625\u0644\u0627",
1438
1425
  otherwise: "\u062E\u0644\u0627\u0641 \u0630\u0644\u0643",
1439
- end: "\u0627\u0644\u0646\u0647\u0627\u064A\u0629"
1426
+ end: "\u0627\u0644\u0646\u0647\u0627\u064A\u0629",
1427
+ live: "\u062D\u064A",
1428
+ changes: "\u064A\u062A\u063A\u064A\u0631"
1440
1429
  },
1441
1430
  temporal: {
1442
1431
  seconds: "\u062B\u0648\u0627\u0646\u0650",
@@ -1459,16 +1448,12 @@ var ar = {
1459
1448
  undefined: "\u063A\u064A\u0631 \u0645\u0639\u0631\u0641",
1460
1449
  it: "\u0647\u0648",
1461
1450
  its: "\u0644\u0647",
1462
- // REVIEW: native speaker
1463
1451
  me: "\u0623\u0646\u0627",
1464
1452
  my: "\u0644\u064A",
1465
1453
  myself: "\u0646\u0641\u0633\u064A",
1466
1454
  you: "\u0623\u0646\u062A",
1467
- // REVIEW: native speaker
1468
1455
  your: "\u0644\u0643",
1469
- // REVIEW: native speaker
1470
1456
  yourself: "\u0646\u0641\u0633\u0643",
1471
- // REVIEW: native speaker
1472
1457
  element: "\u0639\u0646\u0635\u0631",
1473
1458
  target: "\u0647\u062F\u0641",
1474
1459
  detail: "\u062A\u0641\u0627\u0635\u064A\u0644",
@@ -1490,7 +1475,6 @@ var ar = {
1490
1475
  properties: "\u062E\u0635\u0627\u0626\u0635"
1491
1476
  },
1492
1477
  expressions: {
1493
- // Positional
1494
1478
  first: "\u0623\u0648\u0644",
1495
1479
  last: "\u0622\u062E\u0631",
1496
1480
  next: "\u0627\u0644\u062A\u0627\u0644\u064A",
@@ -1498,18 +1482,20 @@ var ar = {
1498
1482
  prev: "\u0633\u0627\u0628\u0642",
1499
1483
  at: "\u0639\u0646\u062F",
1500
1484
  random: "\u0639\u0634\u0648\u0627\u0626\u064A",
1501
- // DOM Traversal
1502
1485
  closest: "\u0627\u0644\u0623\u0642\u0631\u0628",
1503
1486
  parent: "\u0648\u0627\u0644\u062F",
1504
1487
  children: "\u0623\u0637\u0641\u0627\u0644",
1505
1488
  within: "\u062F\u0627\u062E\u0644",
1506
- // Emptiness/Existence
1507
1489
  no: "\u0644\u0627 \u064A\u0648\u062C\u062F",
1508
1490
  empty: "\u0641\u0627\u0631\u063A",
1509
1491
  some: "\u0628\u0639\u0636",
1510
- // String operations
1511
1492
  "starts with": "\u064A\u0628\u062F\u0623 \u0628\u0640",
1512
- "ends with": "\u064A\u0646\u062A\u0647\u064A \u0628\u0640"
1493
+ "ends with": "\u064A\u0646\u062A\u0647\u064A \u0628\u0640",
1494
+ "ignoring case": "\u0645\u0639 \u062A\u062C\u0627\u0647\u0644 \u0627\u0644\u062D\u0627\u0644\u0629",
1495
+ "sorted by": "\u0645\u0631\u062A\u0628 \u062D\u0633\u0628",
1496
+ "mapped to": "\u0645\u062D\u0648\u0644 \u0625\u0644\u0649",
1497
+ "split by": "\u0645\u0642\u0633\u0645 \u0628\u0648\u0627\u0633\u0637\u0629",
1498
+ "joined by": "\u0645\u062F\u0645\u0648\u062C \u0628\u0648\u0627\u0633\u0637\u0629"
1513
1499
  }
1514
1500
  };
1515
1501
 
@@ -1521,12 +1507,10 @@ var arKeywords = createKeywordProvider(ar, "ar", {
1521
1507
  // src/dictionaries/ko.ts
1522
1508
  var ko = {
1523
1509
  commands: {
1524
- // Event handling
1525
1510
  on: "\uC5D0",
1526
1511
  tell: "\uB9D0\uD558\uB2E4",
1527
1512
  trigger: "\uD2B8\uB9AC\uAC70",
1528
1513
  send: "\uBCF4\uB0B4\uB2E4",
1529
- // DOM manipulation
1530
1514
  take: "\uAC00\uC838\uC624\uB2E4",
1531
1515
  put: "\uB123\uB2E4",
1532
1516
  set: "\uC124\uC815",
@@ -1536,7 +1520,6 @@ var ko = {
1536
1520
  toggle: "\uD1A0\uAE00",
1537
1521
  hide: "\uC228\uAE30\uB2E4",
1538
1522
  show: "\uBCF4\uC774\uB2E4",
1539
- // Control flow
1540
1523
  if: "\uB9CC\uC57D",
1541
1524
  unless: "\uC544\uB2C8\uBA74",
1542
1525
  repeat: "\uBC18\uBCF5",
@@ -1546,44 +1529,41 @@ var ko = {
1546
1529
  continue: "\uACC4\uC18D",
1547
1530
  break: "\uC911\uB2E8",
1548
1531
  halt: "\uC815\uC9C0",
1549
- // Async
1550
1532
  wait: "\uB300\uAE30",
1551
1533
  fetch: "\uAC00\uC838\uC624\uAE30",
1552
1534
  call: "\uD638\uCD9C",
1553
1535
  return: "\uBC18\uD658",
1554
- // Other commands
1555
1536
  make: "\uB9CC\uB4E4\uB2E4",
1556
1537
  log: "\uB85C\uADF8",
1557
1538
  throw: "\uB358\uC9C0\uB2E4",
1558
1539
  catch: "\uC7A1\uB2E4",
1559
1540
  measure: "\uCE21\uC815",
1560
1541
  transition: "\uC804\uD658",
1561
- // Data Commands
1562
1542
  increment: "\uC99D\uAC00",
1563
1543
  decrement: "\uAC10\uC18C",
1564
1544
  default: "\uAE30\uBCF8\uAC12",
1565
- // Navigation Commands
1566
1545
  go: "\uC774\uB3D9",
1567
1546
  pushUrl: "URL\uD478\uC2DC",
1568
1547
  replaceUrl: "URL\uAD50\uCCB4",
1569
- // Utility Commands
1570
1548
  copy: "\uBCF5\uC0AC",
1571
1549
  pick: "\uC120\uD0DD",
1572
1550
  beep: "\uBE44\uD504",
1573
- // Advanced Commands
1574
1551
  js: "JS\uC2E4\uD589",
1575
1552
  async: "\uBE44\uB3D9\uAE30",
1576
1553
  render: "\uB80C\uB354\uB9C1",
1577
- // Animation Commands
1578
1554
  swap: "\uAD50\uD658",
1579
1555
  morph: "\uBCC0\uD615",
1580
1556
  settle: "\uC548\uC815",
1581
- // Content Commands
1582
1557
  append: "\uCD94\uAC00",
1583
- // Control Flow
1584
1558
  exit: "\uC885\uB8CC",
1585
- // Behaviors
1586
- install: "\uC124\uCE58"
1559
+ install: "\uC124\uCE58",
1560
+ breakpoint: "\uC911\uB2E8\uC810",
1561
+ clear: "\uC9C0\uC6B0\uAE30",
1562
+ close: "\uB2EB\uAE30",
1563
+ open: "\uC5F4\uAE30",
1564
+ select: "\uC120\uD0DD",
1565
+ clone: "\uBCF5\uC81C",
1566
+ prepend: "\uC55E\uC5D0\uCD94\uAC00"
1587
1567
  },
1588
1568
  modifiers: {
1589
1569
  to: "\uC5D0",
@@ -1644,13 +1624,13 @@ var ko = {
1644
1624
  includes: "\uD3EC\uD568\uD558\uB2E4",
1645
1625
  equals: "\uAC19\uB2E4",
1646
1626
  has: "\uC788\uB2E4",
1647
- // existence verb (context-based)
1648
1627
  have: "\uC788\uB2E4",
1649
- // same verb for first/third person
1650
1628
  then: "\uADF8\uB7EC\uBA74",
1651
1629
  else: "\uC544\uB2C8\uBA74",
1652
1630
  otherwise: "\uADF8\uB807\uC9C0\uC54A\uC73C\uBA74",
1653
- end: "\uB05D"
1631
+ end: "\uB05D",
1632
+ live: "\uB77C\uC774\uBE0C",
1633
+ changes: "\uBCC0\uACBD\uB418\uBA74"
1654
1634
  },
1655
1635
  temporal: {
1656
1636
  seconds: "\uCD08",
@@ -1673,16 +1653,12 @@ var ko = {
1673
1653
  undefined: "\uC815\uC758\uC548\uB428",
1674
1654
  it: "\uADF8\uAC83",
1675
1655
  its: "\uADF8\uAC83\uC758",
1676
- // REVIEW: native speaker
1677
1656
  me: "\uB098",
1678
1657
  my: "\uB0B4",
1679
1658
  myself: "\uB098\uC790\uC2E0",
1680
1659
  you: "\uB108",
1681
- // REVIEW: native speaker - formal/informal
1682
1660
  your: "\uB124",
1683
- // REVIEW: native speaker - formal/informal
1684
1661
  yourself: "\uB108\uC790\uC2E0",
1685
- // REVIEW: native speaker
1686
1662
  element: "\uC694\uC18C",
1687
1663
  target: "\uB300\uC0C1",
1688
1664
  detail: "\uC138\uBD80",
@@ -1704,7 +1680,6 @@ var ko = {
1704
1680
  properties: "\uD504\uB85C\uD37C\uD2F0\uB4E4"
1705
1681
  },
1706
1682
  expressions: {
1707
- // Positional
1708
1683
  first: "\uCCAB\uBC88\uC9F8",
1709
1684
  last: "\uB9C8\uC9C0\uB9C9",
1710
1685
  next: "\uB2E4\uC74C",
@@ -1712,18 +1687,20 @@ var ko = {
1712
1687
  prev: "\uC774\uC804",
1713
1688
  at: "\uC5D0\uC11C",
1714
1689
  random: "\uBB34\uC791\uC704",
1715
- // DOM Traversal
1716
1690
  closest: "\uAC00\uC7A5\uAC00\uAE4C\uC6B4",
1717
1691
  parent: "\uBD80\uBAA8",
1718
1692
  children: "\uC790\uC2DD",
1719
1693
  within: "\uC774\uB0B4",
1720
- // Emptiness/Existence
1721
1694
  no: "\uC5C6\uC74C",
1722
1695
  empty: "\uBE44\uC5B4\uC788\uB294",
1723
1696
  some: "\uC77C\uBD80",
1724
- // String operations
1725
1697
  "starts with": "\uB85C\uC2DC\uC791",
1726
- "ends with": "\uB85C\uB05D\uB098\uB294"
1698
+ "ends with": "\uB85C\uB05D\uB098\uB294",
1699
+ "ignoring case": "\uB300\uC18C\uBB38\uC790_\uBB34\uC2DC",
1700
+ "sorted by": "\uB85C_\uC815\uB82C",
1701
+ "mapped to": "\uB85C_\uBCC0\uD658",
1702
+ "split by": "\uB85C_\uBD84\uD560",
1703
+ "joined by": "\uB85C_\uACB0\uD569"
1727
1704
  }
1728
1705
  };
1729
1706
 
@@ -1735,12 +1712,10 @@ var koKeywords = createKeywordProvider(ko, "ko", {
1735
1712
  // src/dictionaries/zh.ts
1736
1713
  var zh = {
1737
1714
  commands: {
1738
- // Event handling
1739
1715
  on: "\u5F53",
1740
1716
  tell: "\u544A\u8BC9",
1741
1717
  trigger: "\u89E6\u53D1",
1742
1718
  send: "\u53D1\u9001",
1743
- // DOM manipulation
1744
1719
  take: "\u83B7\u53D6",
1745
1720
  put: "\u653E\u7F6E",
1746
1721
  set: "\u8BBE\u7F6E",
@@ -1750,7 +1725,6 @@ var zh = {
1750
1725
  toggle: "\u5207\u6362",
1751
1726
  hide: "\u9690\u85CF",
1752
1727
  show: "\u663E\u793A",
1753
- // Control flow
1754
1728
  if: "\u5982\u679C",
1755
1729
  unless: "\u9664\u975E",
1756
1730
  repeat: "\u91CD\u590D",
@@ -1760,44 +1734,41 @@ var zh = {
1760
1734
  continue: "\u7EE7\u7EED",
1761
1735
  break: "\u4E2D\u65AD",
1762
1736
  halt: "\u505C\u6B62",
1763
- // Async
1764
1737
  wait: "\u7B49\u5F85",
1765
1738
  fetch: "\u83B7\u53D6",
1766
1739
  call: "\u8C03\u7528",
1767
1740
  return: "\u8FD4\u56DE",
1768
- // Other commands
1769
1741
  make: "\u5236\u4F5C",
1770
1742
  log: "\u65E5\u5FD7",
1771
1743
  throw: "\u629B\u51FA",
1772
1744
  catch: "\u6355\u83B7",
1773
1745
  measure: "\u6D4B\u91CF",
1774
1746
  transition: "\u8FC7\u6E21",
1775
- // Data Commands
1776
1747
  increment: "\u589E\u52A0",
1777
1748
  decrement: "\u51CF\u5C11",
1778
1749
  default: "\u9ED8\u8BA4",
1779
- // Navigation Commands
1780
1750
  go: "\u524D\u5F80",
1781
1751
  pushUrl: "\u63A8\u9001\u7F51\u5740",
1782
1752
  replaceUrl: "\u66FF\u6362\u7F51\u5740",
1783
- // Utility Commands
1784
1753
  copy: "\u590D\u5236",
1785
1754
  pick: "\u9009\u53D6",
1786
1755
  beep: "\u8702\u9E23",
1787
- // Advanced Commands
1788
1756
  js: "JS\u6267\u884C",
1789
1757
  async: "\u5F02\u6B65",
1790
1758
  render: "\u6E32\u67D3",
1791
- // Animation Commands
1792
1759
  swap: "\u4EA4\u6362",
1793
1760
  morph: "\u53D8\u5F62",
1794
1761
  settle: "\u7A33\u5B9A",
1795
- // Content Commands
1796
1762
  append: "\u8FFD\u52A0",
1797
- // Control Flow
1798
1763
  exit: "\u9000\u51FA",
1799
- // Behaviors
1800
- install: "\u5B89\u88C5"
1764
+ install: "\u5B89\u88C5",
1765
+ breakpoint: "\u65AD\u70B9",
1766
+ clear: "\u6E05\u9664",
1767
+ close: "\u5173\u95ED",
1768
+ open: "\u6253\u5F00",
1769
+ select: "\u9009\u62E9",
1770
+ clone: "\u514B\u9686",
1771
+ prepend: "\u524D\u7F6E"
1801
1772
  },
1802
1773
  modifiers: {
1803
1774
  to: "\u5230",
@@ -1858,13 +1829,13 @@ var zh = {
1858
1829
  includes: "\u5305\u62EC",
1859
1830
  equals: "\u7B49\u4E8E",
1860
1831
  has: "\u6709",
1861
- // universal "have"
1862
1832
  have: "\u6709",
1863
- // same character for first/third person
1864
1833
  then: "\u90A3\u4E48",
1865
1834
  else: "\u5426\u5219",
1866
1835
  otherwise: "\u8981\u4E0D\u7136",
1867
- end: "\u7ED3\u675F"
1836
+ end: "\u7ED3\u675F",
1837
+ live: "\u5B9E\u65F6",
1838
+ changes: "\u6539\u53D8\u65F6"
1868
1839
  },
1869
1840
  temporal: {
1870
1841
  seconds: "\u79D2",
@@ -1887,16 +1858,12 @@ var zh = {
1887
1858
  undefined: "\u672A\u5B9A\u4E49",
1888
1859
  it: "\u5B83",
1889
1860
  its: "\u5B83\u7684",
1890
- // REVIEW: native speaker
1891
1861
  me: "\u6211",
1892
1862
  my: "\u6211\u7684",
1893
1863
  myself: "\u6211\u81EA\u5DF1",
1894
1864
  you: "\u4F60",
1895
- // REVIEW: native speaker
1896
1865
  your: "\u4F60\u7684",
1897
- // REVIEW: native speaker
1898
1866
  yourself: "\u4F60\u81EA\u5DF1",
1899
- // REVIEW: native speaker
1900
1867
  element: "\u5143\u7D20",
1901
1868
  target: "\u76EE\u6807",
1902
1869
  detail: "\u8BE6\u60C5",
@@ -1918,7 +1885,6 @@ var zh = {
1918
1885
  properties: "\u7279\u6027\u96C6"
1919
1886
  },
1920
1887
  expressions: {
1921
- // Positional
1922
1888
  first: "\u7B2C\u4E00\u4E2A",
1923
1889
  last: "\u6700\u540E\u4E00\u4E2A",
1924
1890
  next: "\u4E0B\u4E00\u4E2A",
@@ -1926,18 +1892,20 @@ var zh = {
1926
1892
  prev: "\u4E0A\u4E2A",
1927
1893
  at: "\u5728",
1928
1894
  random: "\u968F\u673A",
1929
- // DOM Traversal
1930
1895
  closest: "\u6700\u8FD1\u7684",
1931
1896
  parent: "\u7236\u7EA7",
1932
1897
  children: "\u5B50\u7EA7",
1933
1898
  within: "\u4E4B\u5185",
1934
- // Emptiness/Existence
1935
1899
  no: "\u6CA1\u6709",
1936
1900
  empty: "\u7A7A\u7684",
1937
1901
  some: "\u4E00\u4E9B",
1938
- // String operations
1939
1902
  "starts with": "\u4EE5\u5F00\u5934",
1940
- "ends with": "\u4EE5\u7ED3\u5C3E"
1903
+ "ends with": "\u4EE5\u7ED3\u5C3E",
1904
+ "ignoring case": "\u5FFD\u7565\u5927\u5C0F\u5199",
1905
+ "sorted by": "\u6309_\u6392\u5E8F",
1906
+ "mapped to": "\u6620\u5C04\u4E3A",
1907
+ "split by": "\u6309_\u5206\u5272",
1908
+ "joined by": "\u7528_\u8FDE\u63A5"
1941
1909
  }
1942
1910
  };
1943
1911
 
@@ -1949,12 +1917,10 @@ var zhKeywords = createKeywordProvider(zh, "zh", {
1949
1917
  // src/dictionaries/tr.ts
1950
1918
  var tr = {
1951
1919
  commands: {
1952
- // Event handling
1953
1920
  on: "\xFCzerinde",
1954
1921
  tell: "s\xF6yle",
1955
1922
  trigger: "tetikle",
1956
1923
  send: "g\xF6nder",
1957
- // DOM manipulation
1958
1924
  take: "al",
1959
1925
  put: "koy",
1960
1926
  set: "ayarla",
@@ -1964,7 +1930,6 @@ var tr = {
1964
1930
  toggle: "de\u011Fi\u015Ftir",
1965
1931
  hide: "gizle",
1966
1932
  show: "g\xF6ster",
1967
- // Control flow
1968
1933
  if: "e\u011Fer",
1969
1934
  unless: "de\u011Filse",
1970
1935
  repeat: "tekrarla",
@@ -1974,44 +1939,41 @@ var tr = {
1974
1939
  continue: "devam",
1975
1940
  break: "dur",
1976
1941
  halt: "durdur",
1977
- // Async
1978
1942
  wait: "bekle",
1979
1943
  fetch: "getir",
1980
1944
  call: "\xE7a\u011F\u0131r",
1981
1945
  return: "d\xF6n",
1982
- // Other commands
1983
1946
  make: "yap",
1984
1947
  log: "kaydet",
1985
1948
  throw: "f\u0131rlat",
1986
1949
  catch: "yakala",
1987
1950
  measure: "\xF6l\xE7",
1988
1951
  transition: "ge\xE7i\u015F",
1989
- // Data Commands
1990
1952
  increment: "art\u0131r",
1991
1953
  decrement: "azalt",
1992
1954
  default: "varsay\u0131lan",
1993
- // Navigation Commands
1994
1955
  go: "git",
1995
1956
  pushUrl: "urlEkle",
1996
1957
  replaceUrl: "urlDe\u011Fi\u015Ftir",
1997
- // Utility Commands
1998
1958
  copy: "kopyala",
1999
1959
  pick: "se\xE7",
2000
1960
  beep: "bip",
2001
- // Advanced Commands
2002
1961
  js: "js",
2003
1962
  async: "asenkron",
2004
1963
  render: "render",
2005
- // Animation Commands
2006
1964
  swap: "takas",
2007
1965
  morph: "d\xF6n\xFC\u015Ft\xFCr",
2008
1966
  settle: "sabitlen",
2009
- // Content Commands
2010
1967
  append: "ekle",
2011
- // Control Flow
2012
1968
  exit: "\xE7\u0131k",
2013
- // Behaviors
2014
- install: "kur"
1969
+ install: "kur",
1970
+ breakpoint: "kesme-noktas\u0131",
1971
+ clear: "temizle",
1972
+ close: "kapat",
1973
+ open: "a\xE7",
1974
+ select: "se\xE7",
1975
+ clone: "klonla",
1976
+ prepend: "ba\u015F\u0131naekle"
2015
1977
  },
2016
1978
  modifiers: {
2017
1979
  to: "e",
@@ -2061,9 +2023,7 @@ var tr = {
2061
2023
  },
2062
2024
  logical: {
2063
2025
  when: "iken",
2064
- // REVIEW: native speaker - could also be 'durumunda' (in case of) or 'olduğunda' (when it happens)
2065
2026
  where: "nerede",
2066
- // REVIEW: native speaker - element filter context
2067
2027
  and: "ve",
2068
2028
  or: "veya",
2069
2029
  not: "de\u011Fil",
@@ -2074,13 +2034,13 @@ var tr = {
2074
2034
  includes: "dahil",
2075
2035
  equals: "e\u015Fittir",
2076
2036
  has: "var",
2077
- // existence marker (context-based)
2078
2037
  have: "var",
2079
- // same for first/third person in Turkish
2080
2038
  then: "sonra",
2081
2039
  else: "yoksa",
2082
2040
  otherwise: "aksi_halde",
2083
- end: "son"
2041
+ end: "son",
2042
+ live: "canl\u0131",
2043
+ changes: "de\u011Fi\u015Fti\u011Finde"
2084
2044
  },
2085
2045
  temporal: {
2086
2046
  seconds: "saniye",
@@ -2103,16 +2063,12 @@ var tr = {
2103
2063
  undefined: "tan\u0131ms\u0131z",
2104
2064
  it: "o",
2105
2065
  its: "onun",
2106
- // REVIEW: native speaker
2107
2066
  me: "ben",
2108
2067
  my: "benim",
2109
2068
  myself: "kendim",
2110
2069
  you: "sen",
2111
- // REVIEW: native speaker - formal/informal
2112
2070
  your: "senin",
2113
- // REVIEW: native speaker - formal/informal
2114
2071
  yourself: "kendin",
2115
- // REVIEW: native speaker
2116
2072
  element: "\xF6\u011Fe",
2117
2073
  target: "hedef",
2118
2074
  detail: "detay",
@@ -2134,7 +2090,6 @@ var tr = {
2134
2090
  properties: "\xF6zellikler"
2135
2091
  },
2136
2092
  expressions: {
2137
- // Positional
2138
2093
  first: "ilk",
2139
2094
  last: "son",
2140
2095
  next: "sonraki",
@@ -2142,18 +2097,20 @@ var tr = {
2142
2097
  prev: "\xF6nc",
2143
2098
  at: "de",
2144
2099
  random: "rastgele",
2145
- // DOM Traversal
2146
2100
  closest: "en_yak\u0131n",
2147
2101
  parent: "ebeveyn",
2148
2102
  children: "\xE7ocuklar",
2149
2103
  within: "i\xE7inde",
2150
- // Emptiness/Existence
2151
2104
  no: "yok",
2152
2105
  empty: "bo\u015F",
2153
2106
  some: "baz\u0131",
2154
- // String operations
2155
2107
  "starts with": "ile ba\u015Flar",
2156
- "ends with": "ile biter"
2108
+ "ends with": "ile biter",
2109
+ "ignoring case": "b\xFCy\xFCk k\xFC\xE7\xFCk harf duyars\u0131z",
2110
+ "sorted by": "g\xF6re s\u0131ral\u0131",
2111
+ "mapped to": "ye d\xF6n\xFC\u015Ft\xFCr\xFClm\xFC\u015F",
2112
+ "split by": "ile b\xF6l\xFCnm\xFC\u015F",
2113
+ "joined by": "ile birle\u015Ftirilmi\u015F"
2157
2114
  }
2158
2115
  };
2159
2116
 
@@ -2165,12 +2122,10 @@ var trKeywords = createKeywordProvider(tr, "tr", {
2165
2122
  // src/dictionaries/id.ts
2166
2123
  var id = {
2167
2124
  commands: {
2168
- // Event handling
2169
2125
  on: "pada",
2170
2126
  tell: "katakan",
2171
2127
  trigger: "picu",
2172
2128
  send: "kirim",
2173
- // DOM manipulation
2174
2129
  take: "ambil",
2175
2130
  put: "taruh",
2176
2131
  set: "atur",
@@ -2180,7 +2135,6 @@ var id = {
2180
2135
  toggle: "ganti",
2181
2136
  hide: "sembunyikan",
2182
2137
  show: "tampilkan",
2183
- // Control flow
2184
2138
  if: "jika",
2185
2139
  unless: "kecuali",
2186
2140
  repeat: "ulangi",
@@ -2190,44 +2144,41 @@ var id = {
2190
2144
  continue: "lanjutkan",
2191
2145
  break: "hentikan",
2192
2146
  halt: "berhenti",
2193
- // Async
2194
2147
  wait: "tunggu",
2195
2148
  fetch: "ambil",
2196
2149
  call: "panggil",
2197
2150
  return: "kembali",
2198
- // Other commands
2199
2151
  make: "buat",
2200
2152
  log: "catat",
2201
2153
  throw: "lempar",
2202
2154
  catch: "tangkap",
2203
2155
  measure: "ukur",
2204
2156
  transition: "transisi",
2205
- // Data Commands
2206
2157
  increment: "tambahkan",
2207
2158
  decrement: "kurangi",
2208
2159
  default: "bawaan",
2209
- // Navigation Commands
2210
2160
  go: "pergi",
2211
2161
  pushUrl: "tambahUrl",
2212
2162
  replaceUrl: "gantiUrl",
2213
- // Utility Commands
2214
2163
  copy: "salin",
2215
2164
  pick: "pilih",
2216
2165
  beep: "bunyi",
2217
- // Advanced Commands
2218
2166
  js: "js",
2219
2167
  async: "asinkron",
2220
2168
  render: "tampilkan",
2221
- // Animation Commands
2222
2169
  swap: "tukar",
2223
2170
  morph: "ubah_bentuk",
2224
2171
  settle: "stabil",
2225
- // Content Commands
2226
2172
  append: "tambah_akhir",
2227
- // Control Flow
2228
2173
  exit: "keluar",
2229
- // Behaviors
2230
- install: "pasang"
2174
+ install: "pasang",
2175
+ breakpoint: "titik-henti",
2176
+ clear: "hapus",
2177
+ close: "tutup",
2178
+ open: "buka",
2179
+ select: "pilih",
2180
+ clone: "klon",
2181
+ prepend: "awali"
2231
2182
  },
2232
2183
  modifiers: {
2233
2184
  to: "ke",
@@ -2288,13 +2239,13 @@ var id = {
2288
2239
  includes: "termasuk",
2289
2240
  equals: "sama",
2290
2241
  has: "punya",
2291
- // possession verb (context-based)
2292
2242
  have: "punya",
2293
- // same for first/third person
2294
2243
  then: "lalu",
2295
2244
  else: "lainnya",
2296
2245
  otherwise: "sebaliknya",
2297
- end: "akhir"
2246
+ end: "akhir",
2247
+ live: "langsung",
2248
+ changes: "berubah"
2298
2249
  },
2299
2250
  temporal: {
2300
2251
  seconds: "detik",
@@ -2317,16 +2268,12 @@ var id = {
2317
2268
  undefined: "tidak_terdefinisi",
2318
2269
  it: "itu",
2319
2270
  its: "miliknya",
2320
- // REVIEW: native speaker
2321
2271
  me: "saya",
2322
2272
  my: "saya punya",
2323
2273
  myself: "saya sendiri",
2324
2274
  you: "kamu",
2325
- // REVIEW: native speaker - formal/informal
2326
2275
  your: "kamu punya",
2327
- // REVIEW: native speaker
2328
2276
  yourself: "kamu sendiri",
2329
- // REVIEW: native speaker
2330
2277
  element: "elemen",
2331
2278
  target: "target",
2332
2279
  detail: "detail",
@@ -2348,7 +2295,6 @@ var id = {
2348
2295
  properties: "properti_properti"
2349
2296
  },
2350
2297
  expressions: {
2351
- // Positional
2352
2298
  first: "pertama",
2353
2299
  last: "terakhir",
2354
2300
  next: "berikutnya",
@@ -2356,18 +2302,20 @@ var id = {
2356
2302
  prev: "sblm",
2357
2303
  at: "di",
2358
2304
  random: "acak",
2359
- // DOM Traversal
2360
2305
  closest: "terdekat",
2361
2306
  parent: "induk",
2362
2307
  children: "anak_anak",
2363
2308
  within: "dalam",
2364
- // Emptiness/Existence
2365
2309
  no: "tidak_ada",
2366
2310
  empty: "kosong",
2367
2311
  some: "beberapa",
2368
- // String operations
2369
2312
  "starts with": "dimulai dengan",
2370
- "ends with": "diakhiri dengan"
2313
+ "ends with": "diakhiri dengan",
2314
+ "ignoring case": "abaikan kapital",
2315
+ "sorted by": "diurutkan berdasarkan",
2316
+ "mapped to": "dipetakan ke",
2317
+ "split by": "dipisah oleh",
2318
+ "joined by": "digabung oleh"
2371
2319
  }
2372
2320
  };
2373
2321
 
@@ -2379,12 +2327,10 @@ var idKeywords = createKeywordProvider(id, "id", {
2379
2327
  // src/dictionaries/qu.ts
2380
2328
  var qu = {
2381
2329
  commands: {
2382
- // Event handling
2383
2330
  on: "kaqpi",
2384
2331
  tell: "niy",
2385
2332
  trigger: "kichay",
2386
2333
  send: "kachay",
2387
- // DOM manipulation
2388
2334
  take: "hurquy",
2389
2335
  put: "churay",
2390
2336
  set: "churay",
@@ -2394,7 +2340,6 @@ var qu = {
2394
2340
  toggle: "tikray",
2395
2341
  hide: "pakay",
2396
2342
  show: "rikuchiy",
2397
- // Control flow
2398
2343
  if: "sichus",
2399
2344
  unless: "mana_sichus",
2400
2345
  repeat: "kutichiy",
@@ -2404,44 +2349,41 @@ var qu = {
2404
2349
  continue: "purichiy",
2405
2350
  break: "p_akiy",
2406
2351
  halt: "sayay",
2407
- // Async
2408
2352
  wait: "suyay",
2409
2353
  fetch: "apamuy",
2410
2354
  call: "qayay",
2411
2355
  return: "kutimuy",
2412
- // Other commands
2413
2356
  make: "ruray",
2414
2357
  log: "qillqay",
2415
2358
  throw: "wikchuy",
2416
2359
  catch: "hapsiy",
2417
2360
  measure: "tupuy",
2418
2361
  transition: "tikray",
2419
- // Data Commands
2420
2362
  increment: "yapay",
2421
2363
  decrement: "pisiyachiy",
2422
2364
  default: "\xF1awpaq_kaq",
2423
- // Navigation Commands
2424
2365
  go: "riy",
2425
2366
  pushUrl: "url_tanqay",
2426
2367
  replaceUrl: "url_tikray",
2427
- // Utility Commands
2428
2368
  copy: "qillqay",
2429
2369
  pick: "akllay",
2430
2370
  beep: "waqay",
2431
- // Advanced Commands
2432
2371
  js: "js",
2433
2372
  async: "mana_suyaspa",
2434
2373
  render: "rikuchiy",
2435
- // Animation Commands
2436
2374
  swap: "rantin_tikray",
2437
2375
  morph: "tikrachiy",
2438
2376
  settle: "tiyay",
2439
- // Content Commands
2440
2377
  append: "qhipaman_yapay",
2441
- // Control Flow
2442
2378
  exit: "lluqsiy",
2443
- // Behaviors
2444
- install: "churay"
2379
+ install: "churay",
2380
+ breakpoint: "sayachinay",
2381
+ clear: "pichay",
2382
+ close: "wichqay",
2383
+ open: "kichay",
2384
+ select: "akllay",
2385
+ clone: "kikinchay",
2386
+ prepend: "\xF1awpachiy"
2445
2387
  },
2446
2388
  modifiers: {
2447
2389
  to: "man",
@@ -2502,13 +2444,13 @@ var qu = {
2502
2444
  includes: "churasqa",
2503
2445
  equals: "kikin",
2504
2446
  has: "kachkan",
2505
- // existence suffix (context-based)
2506
2447
  have: "kachkani",
2507
- // first-person with suffix
2508
2448
  then: "chayqa",
2509
2449
  else: "mana_chayqa",
2510
2450
  otherwise: "huk_kaqpi",
2511
- end: "tukuy"
2451
+ end: "tukuy",
2452
+ live: "kawsay",
2453
+ changes: "tukurikun"
2512
2454
  },
2513
2455
  temporal: {
2514
2456
  seconds: "sikundukuna",
@@ -2531,16 +2473,12 @@ var qu = {
2531
2473
  undefined: "mana_riqsisqa",
2532
2474
  it: "chay",
2533
2475
  its: "chaypaq",
2534
- // REVIEW: native speaker
2535
2476
  me: "noqa",
2536
2477
  my: "noqaq",
2537
2478
  myself: "noqa killa",
2538
2479
  you: "qam",
2539
- // REVIEW: native speaker
2540
2480
  your: "qampaq",
2541
- // REVIEW: native speaker
2542
2481
  yourself: "qam killa",
2543
- // REVIEW: native speaker
2544
2482
  element: "raku",
2545
2483
  target: "punta",
2546
2484
  detail: "sut_iy",
@@ -2562,7 +2500,6 @@ var qu = {
2562
2500
  properties: "kanaykuna"
2563
2501
  },
2564
2502
  expressions: {
2565
- // Positional
2566
2503
  first: "\xF1awpaq",
2567
2504
  last: "qhipa",
2568
2505
  next: "qhipantin",
@@ -2570,18 +2507,20 @@ var qu = {
2570
2507
  prev: "\xF1awpaq",
2571
2508
  at: "pi",
2572
2509
  random: "imaymanata",
2573
- // DOM Traversal
2574
2510
  closest: "aswan_kaylla",
2575
2511
  parent: "mama_tayta",
2576
2512
  children: "wawakuna",
2577
2513
  within: "ukupi",
2578
- // Emptiness/Existence
2579
2514
  no: "mana_kanchu",
2580
2515
  empty: "ch_usaq",
2581
2516
  some: "wakin",
2582
- // String operations
2583
2517
  "starts with": "qallarisqa wan",
2584
- "ends with": "tukusqa wan"
2518
+ "ends with": "tukusqa wan",
2519
+ "ignoring case": "hatun-huchuy qillqata-saqiy",
2520
+ "sorted by": "niqpi ruwasqa",
2521
+ "mapped to": "kay kaqman",
2522
+ "split by": "rakisqa",
2523
+ "joined by": "hu\xF1usqa"
2585
2524
  }
2586
2525
  };
2587
2526
 
@@ -2593,12 +2532,10 @@ var quKeywords = createKeywordProvider(qu, "qu", {
2593
2532
  // src/dictionaries/sw.ts
2594
2533
  var sw = {
2595
2534
  commands: {
2596
- // Event handling
2597
2535
  on: "kwenye",
2598
2536
  tell: "ambia",
2599
2537
  trigger: "chochea",
2600
2538
  send: "tuma",
2601
- // DOM manipulation
2602
2539
  take: "chukua",
2603
2540
  put: "weka",
2604
2541
  set: "weka",
@@ -2608,7 +2545,6 @@ var sw = {
2608
2545
  toggle: "badilisha",
2609
2546
  hide: "ficha",
2610
2547
  show: "onyesha",
2611
- // Control flow
2612
2548
  if: "kama",
2613
2549
  unless: "isipokuwa",
2614
2550
  repeat: "rudia",
@@ -2618,44 +2554,41 @@ var sw = {
2618
2554
  continue: "endelea",
2619
2555
  break: "vunja",
2620
2556
  halt: "simama",
2621
- // Async
2622
2557
  wait: "ngoja",
2623
2558
  fetch: "leta",
2624
2559
  call: "ita",
2625
2560
  return: "rudi",
2626
- // Other commands
2627
2561
  make: "fanya",
2628
2562
  log: "andika",
2629
2563
  throw: "tupa",
2630
2564
  catch: "shika",
2631
2565
  measure: "pima",
2632
2566
  transition: "mpito",
2633
- // Data Commands
2634
2567
  increment: "ongeza",
2635
2568
  decrement: "punguza",
2636
2569
  default: "msingi",
2637
- // Navigation Commands
2638
2570
  go: "nenda",
2639
2571
  pushUrl: "sukumaUrl",
2640
2572
  replaceUrl: "badilishaUrl",
2641
- // Utility Commands
2642
2573
  copy: "nakili",
2643
2574
  pick: "chagua",
2644
2575
  beep: "lia",
2645
- // Advanced Commands
2646
2576
  js: "js",
2647
2577
  async: "sainkroni",
2648
2578
  render: "chora",
2649
- // Animation Commands
2650
2579
  swap: "badilishana",
2651
2580
  morph: "badilishaUmbo",
2652
2581
  settle: "tulia",
2653
- // Content Commands
2654
2582
  append: "ongezaMwisho",
2655
- // Control Flow
2656
2583
  exit: "toka",
2657
- // Behaviors
2658
- install: "sakinisha"
2584
+ install: "sakinisha",
2585
+ breakpoint: "nukta-simama",
2586
+ clear: "futa",
2587
+ close: "funga",
2588
+ open: "fungua",
2589
+ select: "chagua",
2590
+ clone: "nakili",
2591
+ prepend: "tanguliza"
2659
2592
  },
2660
2593
  modifiers: {
2661
2594
  to: "kwa",
@@ -2716,13 +2649,13 @@ var sw = {
2716
2649
  includes: "pamoja",
2717
2650
  equals: "sawa",
2718
2651
  has: "ana",
2719
- // third-person: yeye ana
2720
2652
  have: "nina",
2721
- // first-person: mimi nina
2722
2653
  then: "kisha",
2723
2654
  else: "sivyo",
2724
2655
  otherwise: "vinginevyo",
2725
- end: "mwisho"
2656
+ end: "mwisho",
2657
+ live: "moja_kwa_moja",
2658
+ changes: "inabadilika"
2726
2659
  },
2727
2660
  temporal: {
2728
2661
  seconds: "sekunde",
@@ -2745,16 +2678,12 @@ var sw = {
2745
2678
  undefined: "haijafafanuliwa",
2746
2679
  it: "hiyo",
2747
2680
  its: "yake",
2748
- // REVIEW: native speaker
2749
2681
  me: "mimi",
2750
2682
  my: "yangu",
2751
2683
  myself: "mimi mwenyewe",
2752
2684
  you: "wewe",
2753
- // REVIEW: native speaker
2754
2685
  your: "yako",
2755
- // REVIEW: native speaker
2756
2686
  yourself: "wewe mwenyewe",
2757
- // REVIEW: native speaker
2758
2687
  element: "kipengele",
2759
2688
  target: "lengo",
2760
2689
  detail: "maelezo",
@@ -2776,7 +2705,6 @@ var sw = {
2776
2705
  properties: "mali"
2777
2706
  },
2778
2707
  expressions: {
2779
- // Positional
2780
2708
  first: "kwanza",
2781
2709
  last: "mwisho",
2782
2710
  next: "ijayo",
@@ -2784,18 +2712,20 @@ var sw = {
2784
2712
  prev: "awali",
2785
2713
  at: "katika",
2786
2714
  random: "nasibu",
2787
- // DOM Traversal
2788
2715
  closest: "karibu_zaidi",
2789
2716
  parent: "mzazi",
2790
2717
  children: "watoto",
2791
2718
  within: "ndani_ya",
2792
- // Emptiness/Existence
2793
2719
  no: "hakuna",
2794
2720
  empty: "tupu",
2795
2721
  some: "baadhi",
2796
- // String operations
2797
2722
  "starts with": "huanza na",
2798
- "ends with": "huisha na"
2723
+ "ends with": "huisha na",
2724
+ "ignoring case": "puuza herufi kubwa ndogo",
2725
+ "sorted by": "kupangwa kwa",
2726
+ "mapped to": "kubadilishwa kuwa",
2727
+ "split by": "kugawanywa kwa",
2728
+ "joined by": "kuunganishwa kwa"
2799
2729
  }
2800
2730
  };
2801
2731
 
@@ -2807,12 +2737,10 @@ var swKeywords = createKeywordProvider(sw, "sw", {
2807
2737
  // src/dictionaries/pt.ts
2808
2738
  var pt = {
2809
2739
  commands: {
2810
- // Event handling
2811
2740
  on: "em",
2812
2741
  tell: "dizer",
2813
2742
  trigger: "disparar",
2814
2743
  send: "enviar",
2815
- // DOM manipulation
2816
2744
  take: "pegar",
2817
2745
  put: "colocar",
2818
2746
  set: "definir",
@@ -2822,10 +2750,8 @@ var pt = {
2822
2750
  toggle: "alternar",
2823
2751
  hide: "esconder",
2824
2752
  show: "mostrar",
2825
- // Control flow
2826
2753
  if: "se",
2827
2754
  unless: "a_menos",
2828
- // REVIEW: native speaker - multi-word
2829
2755
  repeat: "repetir",
2830
2756
  for: "para",
2831
2757
  while: "enquanto",
@@ -2833,44 +2759,41 @@ var pt = {
2833
2759
  continue: "continuar",
2834
2760
  break: "parar",
2835
2761
  halt: "interromper",
2836
- // Async
2837
2762
  wait: "esperar",
2838
2763
  fetch: "buscar",
2839
2764
  call: "chamar",
2840
2765
  return: "retornar",
2841
- // Other commands
2842
2766
  make: "fazer",
2843
2767
  log: "registrar",
2844
2768
  throw: "lan\xE7ar",
2845
2769
  catch: "capturar",
2846
2770
  measure: "medir",
2847
2771
  transition: "transi\xE7\xE3o",
2848
- // Data Commands
2849
2772
  increment: "incrementar",
2850
2773
  decrement: "decrementar",
2851
2774
  default: "padr\xE3o",
2852
- // Navigation Commands
2853
2775
  go: "ir",
2854
2776
  pushUrl: "pushUrl",
2855
2777
  replaceUrl: "substituirUrl",
2856
- // Utility Commands
2857
2778
  copy: "copiar",
2858
2779
  pick: "escolher",
2859
2780
  beep: "apitar",
2860
- // Advanced Commands
2861
2781
  js: "js",
2862
2782
  async: "ass\xEDncrono",
2863
2783
  render: "renderizar",
2864
- // Animation Commands
2865
2784
  swap: "trocar",
2866
2785
  morph: "transformar",
2867
2786
  settle: "estabilizar",
2868
- // Content Commands
2869
2787
  append: "anexar",
2870
- // Control Flow
2871
2788
  exit: "sair",
2872
- // Behaviors
2873
- install: "instalar"
2789
+ install: "instalar",
2790
+ breakpoint: "ponto-interrup\xE7\xE3o",
2791
+ clear: "limpar",
2792
+ close: "fechar",
2793
+ open: "abrir",
2794
+ select: "selecionar",
2795
+ clone: "clonar",
2796
+ prepend: "preceder"
2874
2797
  },
2875
2798
  modifiers: {
2876
2799
  to: "para",
@@ -2931,14 +2854,13 @@ var pt = {
2931
2854
  includes: "inclui",
2932
2855
  equals: "igual",
2933
2856
  has: "tem",
2934
- // third-person: ele/ela tem
2935
2857
  have: "tenho",
2936
- // first-person: eu tenho
2937
2858
  then: "ent\xE3o",
2938
2859
  else: "sen\xE3o",
2939
2860
  otherwise: "caso_contr\xE1rio",
2940
- // REVIEW: native speaker
2941
- end: "fim"
2861
+ end: "fim",
2862
+ live: "vivo",
2863
+ changes: "muda"
2942
2864
  },
2943
2865
  temporal: {
2944
2866
  seconds: "segundos",
@@ -2964,11 +2886,9 @@ var pt = {
2964
2886
  me: "eu",
2965
2887
  my: "meu",
2966
2888
  myself: "eu mesmo",
2967
- // REVIEW: native speaker
2968
2889
  you: "voc\xEA",
2969
2890
  your: "seu",
2970
2891
  yourself: "voc\xEA mesmo",
2971
- // REVIEW: native speaker
2972
2892
  element: "elemento",
2973
2893
  target: "alvo",
2974
2894
  detail: "detalhe",
@@ -2990,7 +2910,6 @@ var pt = {
2990
2910
  properties: "propriedades"
2991
2911
  },
2992
2912
  expressions: {
2993
- // Positional
2994
2913
  first: "primeiro",
2995
2914
  last: "\xFAltimo",
2996
2915
  next: "pr\xF3ximo",
@@ -2998,19 +2917,20 @@ var pt = {
2998
2917
  prev: "ant",
2999
2918
  at: "em",
3000
2919
  random: "aleat\xF3rio",
3001
- // DOM Traversal
3002
2920
  closest: "mais_pr\xF3ximo",
3003
- // REVIEW: native speaker - multi-word
3004
2921
  parent: "pai",
3005
2922
  children: "filhos",
3006
2923
  within: "dentro",
3007
- // Emptiness/Existence
3008
2924
  no: "nenhum",
3009
2925
  empty: "vazio",
3010
2926
  some: "algum",
3011
- // String operations
3012
2927
  "starts with": "come\xE7a com",
3013
- "ends with": "termina com"
2928
+ "ends with": "termina com",
2929
+ "ignoring case": "ignorando mai\xFAsculas",
2930
+ "sorted by": "ordenado por",
2931
+ "mapped to": "mapeado para",
2932
+ "split by": "dividido por",
2933
+ "joined by": "unido por"
3014
2934
  }
3015
2935
  };
3016
2936
 
@@ -3022,12 +2942,10 @@ var ptKeywords = createKeywordProvider(pt, "pt", {
3022
2942
  // src/dictionaries/it.ts
3023
2943
  var it = {
3024
2944
  commands: {
3025
- // Event handling
3026
2945
  on: "su",
3027
2946
  tell: "dire",
3028
2947
  trigger: "scatenare",
3029
2948
  send: "inviare",
3030
- // DOM manipulation
3031
2949
  take: "prendere",
3032
2950
  put: "mettere",
3033
2951
  set: "impostare",
@@ -3037,7 +2955,6 @@ var it = {
3037
2955
  toggle: "commutare",
3038
2956
  hide: "nascondere",
3039
2957
  show: "mostrare",
3040
- // Control flow
3041
2958
  if: "se",
3042
2959
  unless: "a meno che",
3043
2960
  repeat: "ripetere",
@@ -3047,44 +2964,41 @@ var it = {
3047
2964
  continue: "continuare",
3048
2965
  break: "interrompere",
3049
2966
  halt: "fermare",
3050
- // Async
3051
2967
  wait: "aspettare",
3052
2968
  fetch: "recuperare",
3053
2969
  call: "chiamare",
3054
2970
  return: "ritornare",
3055
- // Other commands
3056
2971
  make: "fare",
3057
2972
  log: "registrare",
3058
2973
  throw: "lanciare",
3059
2974
  catch: "catturare",
3060
2975
  measure: "misurare",
3061
2976
  transition: "transizione",
3062
- // Data Commands
3063
2977
  increment: "incrementare",
3064
2978
  decrement: "decrementare",
3065
2979
  default: "predefinito",
3066
- // Navigation Commands
3067
2980
  go: "andare",
3068
2981
  pushUrl: "pushUrl",
3069
2982
  replaceUrl: "sostituireUrl",
3070
- // Utility Commands
3071
2983
  copy: "copiare",
3072
2984
  pick: "scegliere",
3073
2985
  beep: "beep",
3074
- // Advanced Commands
3075
2986
  js: "js",
3076
2987
  async: "asincrono",
3077
2988
  render: "renderizzare",
3078
- // Animation Commands
3079
2989
  swap: "scambiare",
3080
2990
  morph: "trasformare",
3081
2991
  settle: "stabilizzare",
3082
- // Content Commands
3083
2992
  append: "aggiungere",
3084
- // Control Flow
3085
2993
  exit: "uscire",
3086
- // Behaviors
3087
- install: "installare"
2994
+ install: "installare",
2995
+ breakpoint: "punto-interruzione",
2996
+ clear: "cancellare",
2997
+ close: "chiudere",
2998
+ open: "aprire",
2999
+ select: "selezionare",
3000
+ clone: "clonare",
3001
+ prepend: "anteporre"
3088
3002
  },
3089
3003
  modifiers: {
3090
3004
  to: "a",
@@ -3145,13 +3059,13 @@ var it = {
3145
3059
  includes: "include",
3146
3060
  equals: "uguale",
3147
3061
  has: "ha",
3148
- // third-person: lui/lei ha
3149
3062
  have: "ho",
3150
- // first-person: io ho
3151
3063
  then: "allora",
3152
3064
  else: "altrimenti",
3153
3065
  otherwise: "altrimenti",
3154
- end: "fine"
3066
+ end: "fine",
3067
+ live: "vivo",
3068
+ changes: "cambia"
3155
3069
  },
3156
3070
  temporal: {
3157
3071
  seconds: "secondi",
@@ -3201,7 +3115,6 @@ var it = {
3201
3115
  properties: "propriet\xE0"
3202
3116
  },
3203
3117
  expressions: {
3204
- // Positional
3205
3118
  first: "primo",
3206
3119
  last: "ultimo",
3207
3120
  next: "prossimo",
@@ -3209,18 +3122,20 @@ var it = {
3209
3122
  prev: "prec",
3210
3123
  at: "a",
3211
3124
  random: "casuale",
3212
- // DOM Traversal
3213
3125
  closest: "pi\xF9vicino",
3214
3126
  parent: "genitore",
3215
3127
  children: "figli",
3216
3128
  within: "dentro",
3217
- // Emptiness/Existence
3218
3129
  no: "nessun",
3219
3130
  empty: "vuoto",
3220
3131
  some: "qualche",
3221
- // String operations
3222
3132
  "starts with": "inizia con",
3223
- "ends with": "finisce con"
3133
+ "ends with": "finisce con",
3134
+ "ignoring case": "ignorando maiuscole",
3135
+ "sorted by": "ordinato per",
3136
+ "mapped to": "trasformato in",
3137
+ "split by": "diviso per",
3138
+ "joined by": "unito per"
3224
3139
  }
3225
3140
  };
3226
3141
 
@@ -3288,7 +3203,12 @@ var vi = {
3288
3203
  install: "c\xE0i \u0111\u1EB7t",
3289
3204
  clone: "sao ch\xE9p",
3290
3205
  prepend: "th\xEAm \u0111\u1EA7u",
3291
- else: "kh\xF4ng th\xEC"
3206
+ else: "kh\xF4ng th\xEC",
3207
+ breakpoint: "\u0111i\u1EC3m-d\u1EEBng",
3208
+ clear: "x\xF3a",
3209
+ close: "\u0111\xF3ng",
3210
+ open: "m\u1EDF",
3211
+ select: "ch\u1ECDn"
3292
3212
  },
3293
3213
  modifiers: {
3294
3214
  into: "v\xE0o",
@@ -3305,6 +3225,7 @@ var vi = {
3305
3225
  in: "trong",
3306
3226
  at: "t\u1EA1i",
3307
3227
  of: "c\u1EE7a",
3228
+ between: "gi\u1EEFa",
3308
3229
  the: "",
3309
3230
  times: "l\u1EA7n"
3310
3231
  },
@@ -3323,6 +3244,7 @@ var vi = {
3323
3244
  mouseleave: "chu\u1ED9t r\u1EDDi",
3324
3245
  focus: "t\u1EADp trung",
3325
3246
  blur: "m\u1EA5t t\u1EADp trung",
3247
+ reset: "\u0111\u1EB7t-l\u1EA1i",
3326
3248
  load: "t\u1EA3i",
3327
3249
  scroll: "cu\u1ED9n",
3328
3250
  resize: "\u0111\u1ED5i k\xEDch th\u01B0\u1EDBc"
@@ -3346,7 +3268,9 @@ var vi = {
3346
3268
  null: "r\u1ED7ng",
3347
3269
  else: "kh\xF4ng th\xEC",
3348
3270
  end: "k\u1EBFt th\xFAc",
3349
- then: "r\u1ED3i"
3271
+ then: "r\u1ED3i",
3272
+ live: "tr\u1EF1c ti\u1EBFp",
3273
+ changes: "thay \u0111\u1ED5i"
3350
3274
  },
3351
3275
  temporal: {
3352
3276
  now: "b\xE2y gi\u1EDD",
@@ -3410,7 +3334,15 @@ var vi = {
3410
3334
  previous: "tr\u01B0\u1EDBc \u0111\xF3",
3411
3335
  parent: "cha",
3412
3336
  children: "con",
3413
- closest: "g\u1EA7n nh\u1EA5t"
3337
+ closest: "g\u1EA7n nh\u1EA5t",
3338
+ empty: "l\xE0m-r\u1ED7ng",
3339
+ "starts with": "b\u1EAFt \u0111\u1EA7u b\u1EB1ng",
3340
+ "ends with": "k\u1EBFt th\xFAc b\u1EB1ng",
3341
+ "ignoring case": "kh\xF4ng ph\xE2n bi\u1EC7t hoa th\u01B0\u1EDDng",
3342
+ "sorted by": "s\u1EAFp x\u1EBFp theo",
3343
+ "mapped to": "\xE1nh x\u1EA1 th\xE0nh",
3344
+ "split by": "t\xE1ch b\u1EDFi",
3345
+ "joined by": "n\u1ED1i b\u1EDFi"
3414
3346
  }
3415
3347
  };
3416
3348
 
@@ -3422,12 +3354,10 @@ var viKeywords = createKeywordProvider(vi, "vi", {
3422
3354
  // src/dictionaries/pl.ts
3423
3355
  var pl = {
3424
3356
  commands: {
3425
- // Event handling
3426
3357
  on: "gdy",
3427
3358
  tell: "powiedz",
3428
3359
  trigger: "wywo\u0142aj",
3429
3360
  send: "wy\u015Blij",
3430
- // DOM manipulation
3431
3361
  take: "we\u017A",
3432
3362
  put: "umie\u015B\u0107",
3433
3363
  set: "ustaw",
@@ -3437,7 +3367,6 @@ var pl = {
3437
3367
  toggle: "prze\u0142\u0105cz",
3438
3368
  hide: "ukryj",
3439
3369
  show: "poka\u017C",
3440
- // Control flow
3441
3370
  if: "je\u015Bli",
3442
3371
  unless: "chyba",
3443
3372
  repeat: "powt\xF3rz",
@@ -3447,44 +3376,41 @@ var pl = {
3447
3376
  continue: "kontynuuj",
3448
3377
  break: "przerwij",
3449
3378
  halt: "zatrzymaj",
3450
- // Async
3451
3379
  wait: "czekaj",
3452
3380
  fetch: "pobierz",
3453
3381
  call: "wywo\u0142aj",
3454
3382
  return: "zwr\xF3\u0107",
3455
- // Other commands
3456
3383
  make: "utw\xF3rz",
3457
3384
  log: "loguj",
3458
3385
  throw: "rzu\u0107",
3459
3386
  catch: "z\u0142ap",
3460
3387
  measure: "zmierz",
3461
3388
  transition: "animuj",
3462
- // Data Commands
3463
3389
  increment: "zwi\u0119ksz",
3464
3390
  decrement: "zmniejsz",
3465
3391
  default: "domy\u015Blnie",
3466
- // Navigation Commands
3467
3392
  go: "id\u017A",
3468
3393
  pushUrl: "dodajUrl",
3469
3394
  replaceUrl: "zamie\u0144Url",
3470
- // Utility Commands
3471
3395
  copy: "kopiuj",
3472
3396
  pick: "wybierz",
3473
3397
  beep: "sygna\u0142",
3474
- // Advanced Commands
3475
3398
  js: "js",
3476
3399
  async: "async",
3477
3400
  render: "renderuj",
3478
- // Animation Commands
3479
3401
  swap: "zamie\u0144",
3480
3402
  morph: "przekszta\u0142\u0107",
3481
3403
  settle: "ustabilizuj",
3482
- // Content Commands
3483
3404
  append: "do\u0142\u0105cz",
3484
- // Control Flow
3485
3405
  exit: "wyjd\u017A",
3486
- // Behaviors
3487
- install: "zainstaluj"
3406
+ install: "zainstaluj",
3407
+ breakpoint: "punkt-przerwania",
3408
+ clear: "wyczy\u015B\u0107",
3409
+ close: "zamknij",
3410
+ open: "otw\xF3rz",
3411
+ select: "wybierz",
3412
+ clone: "sklonuj",
3413
+ prepend: "poprzed\u017A"
3488
3414
  },
3489
3415
  modifiers: {
3490
3416
  to: "do",
@@ -3545,13 +3471,13 @@ var pl = {
3545
3471
  includes: "obejmuje",
3546
3472
  equals: "r\xF3wna si\u0119",
3547
3473
  has: "ma",
3548
- // third-person: on/ona ma
3549
3474
  have: "mam",
3550
- // first-person: ja mam
3551
3475
  then: "wtedy",
3552
3476
  else: "inaczej",
3553
3477
  otherwise: "wpp",
3554
- end: "koniec"
3478
+ end: "koniec",
3479
+ live: "\u017Cywy",
3480
+ changes: "zmienia"
3555
3481
  },
3556
3482
  temporal: {
3557
3483
  seconds: "sekundy",
@@ -3601,7 +3527,6 @@ var pl = {
3601
3527
  properties: "w\u0142a\u015Bciwo\u015Bci"
3602
3528
  },
3603
3529
  expressions: {
3604
- // Positional
3605
3530
  first: "pierwszy",
3606
3531
  last: "ostatni",
3607
3532
  next: "nast\u0119pny",
@@ -3609,18 +3534,20 @@ var pl = {
3609
3534
  prev: "poprz",
3610
3535
  at: "przy",
3611
3536
  random: "losowy",
3612
- // DOM Traversal
3613
3537
  closest: "najbli\u017Cszy",
3614
3538
  parent: "rodzic",
3615
3539
  children: "dzieci",
3616
3540
  within: "wewn\u0105trz",
3617
- // Emptiness/Existence
3618
3541
  no: "brak",
3619
3542
  empty: "pusty",
3620
3543
  some: "jaki\u015B",
3621
- // String operations
3622
3544
  "starts with": "zaczyna si\u0119 od",
3623
- "ends with": "ko\u0144czy si\u0119 na"
3545
+ "ends with": "ko\u0144czy si\u0119 na",
3546
+ "ignoring case": "ignoruj\u0105c wielko\u015B\u0107 liter",
3547
+ "sorted by": "sortowane wed\u0142ug",
3548
+ "mapped to": "przekszta\u0142cone na",
3549
+ "split by": "podzielone przez",
3550
+ "joined by": "po\u0142\u0105czone przez"
3624
3551
  }
3625
3552
  };
3626
3553
 
@@ -3632,12 +3559,10 @@ var plKeywords = createKeywordProvider(pl, "pl", {
3632
3559
  // src/dictionaries/ru.ts
3633
3560
  var russianDictionary = {
3634
3561
  commands: {
3635
- // Event handling
3636
3562
  on: "\u043F\u0440\u0438",
3637
3563
  tell: "\u0441\u043A\u0430\u0437\u0430\u0442\u044C",
3638
3564
  trigger: "\u0432\u044B\u0437\u0432\u0430\u0442\u044C",
3639
3565
  send: "\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
3640
- // DOM manipulation
3641
3566
  take: "\u0432\u0437\u044F\u0442\u044C",
3642
3567
  put: "\u043F\u043E\u043B\u043E\u0436\u0438\u0442\u044C",
3643
3568
  set: "\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
@@ -3647,7 +3572,6 @@ var russianDictionary = {
3647
3572
  toggle: "\u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C",
3648
3573
  hide: "\u0441\u043A\u0440\u044B\u0442\u044C",
3649
3574
  show: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",
3650
- // Control flow
3651
3575
  if: "\u0435\u0441\u043B\u0438",
3652
3576
  unless: "\u0435\u0441\u043B\u0438_\u043D\u0435",
3653
3577
  repeat: "\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
@@ -3657,53 +3581,46 @@ var russianDictionary = {
3657
3581
  continue: "\u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C",
3658
3582
  break: "\u043F\u0440\u0435\u0440\u0432\u0430\u0442\u044C",
3659
3583
  halt: "\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
3660
- // Async
3661
3584
  wait: "\u0436\u0434\u0430\u0442\u044C",
3662
3585
  fetch: "\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",
3663
3586
  call: "\u0432\u044B\u0437\u0432\u0430\u0442\u044C",
3664
3587
  return: "\u0432\u0435\u0440\u043D\u0443\u0442\u044C",
3665
- // Other commands
3666
3588
  make: "\u0441\u043E\u0437\u0434\u0430\u0442\u044C",
3667
3589
  log: "\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C",
3668
3590
  throw: "\u0431\u0440\u043E\u0441\u0438\u0442\u044C",
3669
3591
  catch: "\u043F\u043E\u0439\u043C\u0430\u0442\u044C",
3670
3592
  measure: "\u0438\u0437\u043C\u0435\u0440\u0438\u0442\u044C",
3671
3593
  transition: "\u0430\u043D\u0438\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3672
- // Data Commands
3673
3594
  increment: "\u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0442\u044C",
3674
3595
  decrement: "\u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C",
3675
3596
  default: "\u043F\u043E_\u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",
3676
- // Navigation Commands
3677
3597
  go: "\u043F\u0435\u0440\u0435\u0439\u0442\u0438",
3678
3598
  pushUrl: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_url",
3679
3599
  replaceUrl: "\u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C_url",
3680
- // Utility Commands
3681
3600
  copy: "\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3682
3601
  pick: "\u0432\u044B\u0431\u0440\u0430\u0442\u044C",
3683
3602
  beep: "\u0437\u0432\u0443\u043A",
3684
- // Advanced Commands
3685
3603
  js: "js",
3686
3604
  async: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u043E",
3687
3605
  render: "\u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C",
3688
- // Animation Commands
3689
3606
  swap: "\u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C",
3690
3607
  morph: "\u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3691
3608
  settle: "\u0441\u0442\u0430\u0431\u0438\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3692
- // Content Commands
3693
3609
  append: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_\u0432_\u043A\u043E\u043D\u0435\u0446",
3694
- // Control Flow
3695
3610
  exit: "\u0432\u044B\u0439\u0442\u0438",
3696
3611
  else: "\u0438\u043D\u0430\u0447\u0435",
3697
- // Behaviors
3698
3612
  install: "\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
3699
3613
  init: "\u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3700
3614
  behavior: "\u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435",
3701
- // Focus
3702
3615
  focus: "\u0441\u0444\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3703
3616
  blur: "\u0440\u0430\u0437\u043C\u044B\u0442\u044C",
3704
- // Clone
3705
3617
  clone: "\u043A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
3706
- prepend: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_\u0432_\u043D\u0430\u0447\u0430\u043B\u043E"
3618
+ prepend: "\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C_\u0432_\u043D\u0430\u0447\u0430\u043B\u043E",
3619
+ breakpoint: "\u0442\u043E\u0447\u043A\u0430-\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0430",
3620
+ clear: "\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
3621
+ close: "\u0437\u0430\u043A\u0440\u044B\u0442\u044C",
3622
+ open: "\u043E\u0442\u043A\u0440\u044B\u0442\u044C",
3623
+ select: "\u0432\u044B\u0431\u0440\u0430\u0442\u044C"
3707
3624
  },
3708
3625
  modifiers: {
3709
3626
  to: "\u043A",
@@ -3768,10 +3685,10 @@ var russianDictionary = {
3768
3685
  else: "\u0438\u043D\u0430\u0447\u0435",
3769
3686
  otherwise: "\u0432_\u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C_\u0441\u043B\u0443\u0447\u0430\u0435",
3770
3687
  end: "\u043A\u043E\u043D\u0435\u0446",
3688
+ live: "\u0436\u0438\u0432\u043E\u0439",
3689
+ changes: "\u0438\u0437\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F",
3771
3690
  has: "\u0438\u043C\u0435\u0435\u0442",
3772
- // third-person: он/она имеет
3773
3691
  have: "\u0438\u043C\u0435\u044E",
3774
- // first-person: я имею
3775
3692
  isNot: "\u043D\u0435_\u0435\u0441\u0442\u044C",
3776
3693
  empty: "\u043F\u0443\u0441\u0442\u043E\u0439"
3777
3694
  },
@@ -3841,7 +3758,6 @@ var russianDictionary = {
3841
3758
  html: "html"
3842
3759
  },
3843
3760
  expressions: {
3844
- // Positional
3845
3761
  first: "\u043F\u0435\u0440\u0432\u044B\u0439",
3846
3762
  last: "\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439",
3847
3763
  next: "\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439",
@@ -3849,18 +3765,20 @@ var russianDictionary = {
3849
3765
  prev: "\u043F\u0440\u0435\u0434",
3850
3766
  at: "\u0432",
3851
3767
  random: "\u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439",
3852
- // DOM Traversal
3853
3768
  closest: "\u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439",
3854
3769
  parent: "\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C",
3855
3770
  children: "\u0434\u0435\u0442\u0438",
3856
3771
  within: "\u0432\u043D\u0443\u0442\u0440\u0438",
3857
- // Emptiness/Existence
3858
3772
  no: "\u043D\u0435\u0442",
3859
3773
  empty: "\u043F\u0443\u0441\u0442\u043E\u0439",
3860
3774
  some: "\u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435",
3861
- // String operations
3862
3775
  "starts with": "\u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F_\u0441",
3863
- "ends with": "\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F_\u043D\u0430"
3776
+ "ends with": "\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F_\u043D\u0430",
3777
+ "ignoring case": "\u0431\u0435\u0437_\u0443\u0447\u0451\u0442\u0430_\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430",
3778
+ "sorted by": "\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E_\u043F\u043E",
3779
+ "mapped to": "\u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u043E_\u0432",
3780
+ "split by": "\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u043E_\u043F\u043E",
3781
+ "joined by": "\u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u043E_\u0447\u0435\u0440\u0435\u0437"
3864
3782
  }
3865
3783
  };
3866
3784
 
@@ -3872,12 +3790,10 @@ var ruKeywords = createKeywordProvider(russianDictionary, "ru", {
3872
3790
  // src/dictionaries/uk.ts
3873
3791
  var ukrainianDictionary = {
3874
3792
  commands: {
3875
- // Event handling
3876
3793
  on: "\u043F\u0440\u0438",
3877
3794
  tell: "\u0441\u043A\u0430\u0437\u0430\u0442\u0438",
3878
3795
  trigger: "\u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438",
3879
3796
  send: "\u043D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438",
3880
- // DOM manipulation
3881
3797
  take: "\u0432\u0437\u044F\u0442\u0438",
3882
3798
  put: "\u043F\u043E\u043A\u043B\u0430\u0441\u0442\u0438",
3883
3799
  set: "\u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438",
@@ -3887,7 +3803,6 @@ var ukrainianDictionary = {
3887
3803
  toggle: "\u043F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438",
3888
3804
  hide: "\u0441\u0445\u043E\u0432\u0430\u0442\u0438",
3889
3805
  show: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438",
3890
- // Control flow
3891
3806
  if: "\u044F\u043A\u0449\u043E",
3892
3807
  unless: "\u044F\u043A\u0449\u043E_\u043D\u0435",
3893
3808
  repeat: "\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438",
@@ -3897,53 +3812,46 @@ var ukrainianDictionary = {
3897
3812
  continue: "\u043F\u0440\u043E\u0434\u043E\u0432\u0436\u0438\u0442\u0438",
3898
3813
  break: "\u043F\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438",
3899
3814
  halt: "\u0437\u0443\u043F\u0438\u043D\u0438\u0442\u0438",
3900
- // Async
3901
3815
  wait: "\u0447\u0435\u043A\u0430\u0442\u0438",
3902
3816
  fetch: "\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438",
3903
3817
  call: "\u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438",
3904
3818
  return: "\u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438",
3905
- // Other commands
3906
3819
  make: "\u0441\u0442\u0432\u043E\u0440\u0438\u0442\u0438",
3907
3820
  log: "\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u0438",
3908
3821
  throw: "\u043A\u0438\u043D\u0443\u0442\u0438",
3909
3822
  catch: "\u0437\u043B\u043E\u0432\u0438\u0442\u0438",
3910
3823
  measure: "\u0432\u0438\u043C\u0456\u0440\u044F\u0442\u0438",
3911
3824
  transition: "\u0430\u043D\u0456\u043C\u0443\u0432\u0430\u0442\u0438",
3912
- // Data Commands
3913
3825
  increment: "\u0437\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438",
3914
3826
  decrement: "\u0437\u043C\u0435\u043D\u0448\u0438\u0442\u0438",
3915
3827
  default: "\u0437\u0430_\u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C",
3916
- // Navigation Commands
3917
3828
  go: "\u043F\u0435\u0440\u0435\u0439\u0442\u0438",
3918
3829
  pushUrl: "\u0434\u043E\u0434\u0430\u0442\u0438_url",
3919
3830
  replaceUrl: "\u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438_url",
3920
- // Utility Commands
3921
3831
  copy: "\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438",
3922
3832
  pick: "\u0432\u0438\u0431\u0440\u0430\u0442\u0438",
3923
3833
  beep: "\u0437\u0432\u0443\u043A",
3924
- // Advanced Commands
3925
3834
  js: "js",
3926
3835
  async: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u043E",
3927
3836
  render: "\u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u0438",
3928
- // Animation Commands
3929
3837
  swap: "\u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438",
3930
3838
  morph: "\u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0443\u0432\u0430\u0442\u0438",
3931
3839
  settle: "\u0441\u0442\u0430\u0431\u0456\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438",
3932
- // Content Commands
3933
3840
  append: "\u0434\u043E\u0434\u0430\u0442\u0438_\u0432_\u043A\u0456\u043D\u0435\u0446\u044C",
3934
- // Control Flow
3935
3841
  exit: "\u0432\u0438\u0439\u0442\u0438",
3936
3842
  else: "\u0456\u043D\u0430\u043A\u0448\u0435",
3937
- // Behaviors
3938
3843
  install: "\u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438",
3939
3844
  init: "\u0456\u043D\u0456\u0446\u0456\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438",
3940
3845
  behavior: "\u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0430",
3941
- // Focus
3942
3846
  focus: "\u0441\u0444\u043E\u043A\u0443\u0441\u0443\u0432\u0430\u0442\u0438",
3943
3847
  blur: "\u0440\u043E\u0437\u0444\u043E\u043A\u0443\u0441\u0443\u0432\u0430\u0442\u0438",
3944
- // Clone
3945
3848
  clone: "\u043A\u043B\u043E\u043D\u0443\u0432\u0430\u0442\u0438",
3946
- prepend: "\u0434\u043E\u0434\u0430\u0442\u0438_\u043D\u0430_\u043F\u043E\u0447\u0430\u0442\u043E\u043A"
3849
+ prepend: "\u0434\u043E\u0434\u0430\u0442\u0438_\u043D\u0430_\u043F\u043E\u0447\u0430\u0442\u043E\u043A",
3850
+ breakpoint: "\u0442\u043E\u0447\u043A\u0430-\u0437\u0443\u043F\u0438\u043D\u043A\u0438",
3851
+ clear: "\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438",
3852
+ close: "\u0437\u0430\u043A\u0440\u0438\u0442\u0438",
3853
+ open: "\u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438",
3854
+ select: "\u0432\u0438\u0431\u0440\u0430\u0442\u0438"
3947
3855
  },
3948
3856
  modifiers: {
3949
3857
  to: "\u0434\u043E",
@@ -4008,10 +3916,10 @@ var ukrainianDictionary = {
4008
3916
  else: "\u0456\u043D\u0430\u043A\u0448\u0435",
4009
3917
  otherwise: "\u0432_\u0456\u043D\u0448\u043E\u043C\u0443_\u0432\u0438\u043F\u0430\u0434\u043A\u0443",
4010
3918
  end: "\u043A\u0456\u043D\u0435\u0446\u044C",
3919
+ live: "\u0436\u0438\u0432\u0438\u0439",
3920
+ changes: "\u0437\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F",
4011
3921
  has: "\u043C\u0430\u0454",
4012
- // third-person: він/вона має
4013
3922
  have: "\u043C\u0430\u044E",
4014
- // first-person: я маю
4015
3923
  isNot: "\u043D\u0435_\u0454",
4016
3924
  empty: "\u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439"
4017
3925
  },
@@ -4081,7 +3989,6 @@ var ukrainianDictionary = {
4081
3989
  html: "html"
4082
3990
  },
4083
3991
  expressions: {
4084
- // Positional
4085
3992
  first: "\u043F\u0435\u0440\u0448\u0438\u0439",
4086
3993
  last: "\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439",
4087
3994
  next: "\u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0438\u0439",
@@ -4089,18 +3996,20 @@ var ukrainianDictionary = {
4089
3996
  prev: "\u043F\u043E\u043F\u0435\u0440",
4090
3997
  at: "\u0432",
4091
3998
  random: "\u0432\u0438\u043F\u0430\u0434\u043A\u043E\u0432\u0438\u0439",
4092
- // DOM Traversal
4093
3999
  closest: "\u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0439",
4094
4000
  parent: "\u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0438\u0439",
4095
4001
  children: "\u0434\u0456\u0442\u0438",
4096
4002
  within: "\u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043D\u0456",
4097
- // Emptiness/Existence
4098
4003
  no: "\u043D\u0456",
4099
4004
  empty: "\u043F\u043E\u0440\u043E\u0436\u043D\u0456\u0439",
4100
4005
  some: "\u0434\u0435\u044F\u043A\u0456",
4101
- // String operations
4102
4006
  "starts with": "\u043F\u043E\u0447\u0438\u043D\u0430\u0454\u0442\u044C\u0441\u044F_\u0437",
4103
- "ends with": "\u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F_\u043D\u0430"
4007
+ "ends with": "\u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F_\u043D\u0430",
4008
+ "ignoring case": "\u0431\u0435\u0437_\u0443\u0440\u0430\u0445\u0443\u0432\u0430\u043D\u043D\u044F_\u0440\u0435\u0433\u0456\u0441\u0442\u0440\u0443",
4009
+ "sorted by": "\u0432\u0456\u0434\u0441\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E_\u0437\u0430",
4010
+ "mapped to": "\u043F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u0435\u043D\u043E_\u043D\u0430",
4011
+ "split by": "\u0440\u043E\u0437\u0434\u0456\u043B\u0435\u043D\u043E_\u0437\u0430",
4012
+ "joined by": "\u043E\u0431'\u0454\u0434\u043D\u0430\u043D\u043E_\u0447\u0435\u0440\u0435\u0437"
4104
4013
  }
4105
4014
  };
4106
4015
 
@@ -4112,12 +4021,10 @@ var ukKeywords = createKeywordProvider(ukrainianDictionary, "uk", {
4112
4021
  // src/dictionaries/hi.ts
4113
4022
  var hindiDictionary = {
4114
4023
  commands: {
4115
- // Event handling
4116
4024
  on: "\u092A\u0930",
4117
4025
  tell: "\u092C\u0924\u093E\u090F\u0902",
4118
4026
  trigger: "\u091F\u094D\u0930\u093F\u0917\u0930",
4119
4027
  send: "\u092D\u0947\u091C\u0947\u0902",
4120
- // DOM manipulation
4121
4028
  take: "\u0932\u0947\u0902",
4122
4029
  put: "\u0930\u0916\u0947\u0902",
4123
4030
  set: "\u0938\u0947\u091F",
@@ -4127,7 +4034,6 @@ var hindiDictionary = {
4127
4034
  toggle: "\u091F\u0949\u0917\u0932",
4128
4035
  hide: "\u091B\u093F\u092A\u093E\u090F\u0902",
4129
4036
  show: "\u0926\u093F\u0916\u093E\u090F\u0902",
4130
- // Control flow
4131
4037
  if: "\u0905\u0917\u0930",
4132
4038
  unless: "\u091C\u092C_\u0924\u0915_\u0928\u0939\u0940\u0902",
4133
4039
  repeat: "\u0926\u094B\u0939\u0930\u093E\u090F\u0902",
@@ -4137,53 +4043,46 @@ var hindiDictionary = {
4137
4043
  continue: "\u091C\u093E\u0930\u0940",
4138
4044
  break: "\u0930\u094B\u0915\u0947\u0902",
4139
4045
  halt: "\u0930\u094B\u0915\u0947\u0902",
4140
- // Async
4141
4046
  wait: "\u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E",
4142
4047
  fetch: "\u0932\u093E\u090F\u0902",
4143
4048
  call: "\u0915\u0949\u0932",
4144
4049
  return: "\u0932\u094C\u091F\u093E\u090F\u0902",
4145
- // Other commands
4146
4050
  make: "\u092C\u0928\u093E\u090F\u0902",
4147
4051
  log: "\u0932\u0949\u0917",
4148
4052
  throw: "\u092B\u0947\u0902\u0915\u0947\u0902",
4149
4053
  catch: "\u092A\u0915\u0921\u093C\u0947\u0902",
4150
4054
  measure: "\u092E\u093E\u092A\u0947\u0902",
4151
4055
  transition: "\u0938\u0902\u0915\u094D\u0930\u092E\u0923",
4152
- // Data Commands
4153
4056
  increment: "\u092C\u0922\u093C\u093E\u090F\u0902",
4154
4057
  decrement: "\u0918\u091F\u093E\u090F\u0902",
4155
4058
  default: "\u0921\u093F\u092B\u093C\u0949\u0932\u094D\u091F",
4156
- // Navigation Commands
4157
4059
  go: "\u091C\u093E\u090F\u0902",
4158
4060
  pushUrl: "url_\u091C\u094B\u0921\u093C\u0947\u0902",
4159
4061
  replaceUrl: "url_\u092C\u0926\u0932\u0947\u0902",
4160
- // Utility Commands
4161
4062
  copy: "\u0915\u0949\u092A\u0940",
4162
4063
  pick: "\u091A\u0941\u0928\u0947\u0902",
4163
4064
  beep: "\u092C\u0940\u092A",
4164
- // Advanced Commands
4165
4065
  js: "\u091C\u0947\u090F\u0938",
4166
4066
  async: "\u0905\u0938\u093F\u0902\u0915",
4167
4067
  render: "\u0930\u0947\u0902\u0921\u0930",
4168
- // Animation Commands
4169
4068
  swap: "\u092C\u0926\u0932\u0947\u0902",
4170
4069
  morph: "\u0930\u0942\u092A\u093E\u0902\u0924\u0930",
4171
4070
  settle: "\u0938\u094D\u0925\u093F\u0930",
4172
- // Content Commands
4173
4071
  append: "\u091C\u094B\u0921\u093C\u0947\u0902_\u0905\u0902\u0924",
4174
- // Control Flow
4175
4072
  exit: "\u092C\u093E\u0939\u0930",
4176
4073
  else: "\u0935\u0930\u0928\u093E",
4177
- // Behaviors
4178
4074
  install: "\u0907\u0902\u0938\u094D\u091F\u0949\u0932",
4179
4075
  init: "\u092A\u094D\u0930\u093E\u0930\u0902\u092D",
4180
4076
  behavior: "\u0935\u094D\u092F\u0935\u0939\u093E\u0930",
4181
- // Focus
4182
4077
  focus: "\u092B\u094B\u0915\u0938",
4183
4078
  blur: "\u0927\u0941\u0902\u0927\u0932\u093E",
4184
- // Clone
4185
4079
  clone: "\u0915\u0949\u092A\u0940",
4186
- prepend: "\u091C\u094B\u0921\u093C\u0947\u0902_\u0936\u0941\u0930\u0942"
4080
+ prepend: "\u091C\u094B\u0921\u093C\u0947\u0902_\u0936\u0941\u0930\u0942",
4081
+ breakpoint: "\u092C\u094D\u0930\u0947\u0915\u092A\u094D\u0935\u093E\u0907\u0902\u091F",
4082
+ clear: "\u0938\u093E\u092B\u093C-\u0915\u0930\u0947\u0902",
4083
+ close: "\u092C\u0902\u0926-\u0915\u0930\u0947\u0902",
4084
+ open: "\u0916\u094B\u0932\u0947\u0902",
4085
+ select: "\u091A\u0941\u0928\u0947\u0902"
4187
4086
  },
4188
4087
  modifiers: {
4189
4088
  to: "\u0915\u094B",
@@ -4248,10 +4147,10 @@ var hindiDictionary = {
4248
4147
  else: "\u0935\u0930\u0928\u093E",
4249
4148
  otherwise: "\u0905\u0928\u094D\u092F\u0925\u093E",
4250
4149
  end: "\u0938\u092E\u093E\u092A\u094D\u0924",
4150
+ live: "\u0932\u093E\u0907\u0935",
4151
+ changes: "\u092C\u0926\u0932\u0928\u0947 \u092A\u0930",
4251
4152
  has: "\u0939\u0948",
4252
- // existence verb (context-based)
4253
4153
  have: "\u0939\u0948",
4254
- // same verb for first/third person
4255
4154
  isNot: "\u0928\u0939\u0940\u0902_\u0939\u0948",
4256
4155
  empty: "\u0916\u093E\u0932\u0940"
4257
4156
  },
@@ -4321,7 +4220,6 @@ var hindiDictionary = {
4321
4220
  html: "html"
4322
4221
  },
4323
4222
  expressions: {
4324
- // Positional
4325
4223
  first: "\u092A\u0939\u0932\u093E",
4326
4224
  last: "\u0905\u0902\u0924\u093F\u092E",
4327
4225
  next: "\u0905\u0917\u0932\u093E",
@@ -4329,18 +4227,20 @@ var hindiDictionary = {
4329
4227
  prev: "\u092A\u093F\u091B",
4330
4228
  at: "\u092A\u0930",
4331
4229
  random: "\u092F\u093E\u0926\u0943\u091A\u094D\u091B\u093F\u0915",
4332
- // DOM Traversal
4333
4230
  closest: "\u0928\u093F\u0915\u091F\u0924\u092E",
4334
4231
  parent: "\u092E\u0942\u0932",
4335
4232
  children: "\u092C\u091A\u094D\u091A\u0947",
4336
4233
  within: "\u0915\u0947_\u0905\u0902\u0926\u0930",
4337
- // Emptiness/Existence
4338
4234
  no: "\u0928\u0939\u0940\u0902",
4339
4235
  empty: "\u0916\u093E\u0932\u0940",
4340
4236
  some: "\u0915\u0941\u091B",
4341
- // String operations
4342
4237
  "starts with": "\u0938\u0947_\u0936\u0941\u0930\u0942",
4343
- "ends with": "\u092A\u0930_\u0938\u092E\u093E\u092A\u094D\u0924"
4238
+ "ends with": "\u092A\u0930_\u0938\u092E\u093E\u092A\u094D\u0924",
4239
+ "ignoring case": "\u0915\u0947\u0938_\u0905\u0928\u0926\u0947\u0916\u093E",
4240
+ "sorted by": "\u0926\u094D\u0935\u093E\u0930\u093E_\u0915\u094D\u0930\u092E\u092C\u0926\u094D\u0927",
4241
+ "mapped to": "\u092E\u0947\u0902_\u092A\u0930\u093F\u0935\u0930\u094D\u0924\u093F\u0924",
4242
+ "split by": "\u0926\u094D\u0935\u093E\u0930\u093E_\u0935\u093F\u092D\u093E\u091C\u093F\u0924",
4243
+ "joined by": "\u0926\u094D\u0935\u093E\u0930\u093E_\u091C\u0941\u0921\u093C\u093E"
4344
4244
  }
4345
4245
  };
4346
4246
 
@@ -4404,7 +4304,12 @@ var bengaliDictionary = {
4404
4304
  js: "\u099C\u09C7\u098F\u09B8",
4405
4305
  pick: "\u09AC\u09BE\u099B\u09C1\u09A8",
4406
4306
  render: "\u09B0\u09C7\u09A8\u09CD\u09A1\u09BE\u09B0",
4407
- until: "\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4"
4307
+ until: "\u09AA\u09B0\u09CD\u09AF\u09A8\u09CD\u09A4",
4308
+ breakpoint: "\u09AC\u09CD\u09B0\u09C7\u0995\u09AA\u09AF\u09BC\u09C7\u09A8\u09CD\u099F",
4309
+ clear: "\u09AA\u09B0\u09BF\u09B7\u09CD\u0995\u09BE\u09B0",
4310
+ close: "\u09AC\u09A8\u09CD\u09A7",
4311
+ open: "\u0996\u09C1\u09B2\u09C1\u09A8",
4312
+ select: "\u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8"
4408
4313
  },
4409
4314
  modifiers: {
4410
4315
  to: "\u0995\u09C7",
@@ -4419,6 +4324,7 @@ var bengaliDictionary = {
4419
4324
  at: "\u098F",
4420
4325
  in: "\u098F",
4421
4326
  over: "\u0989\u09AA\u09B0",
4327
+ between: "\u09AE\u09A7\u09CD\u09AF\u09C7",
4422
4328
  then: "\u09A4\u09BE\u09B0\u09AA\u09B0",
4423
4329
  and: "\u098F\u09AC\u0982",
4424
4330
  end: "\u09B6\u09C7\u09B7",
@@ -4433,6 +4339,7 @@ var bengaliDictionary = {
4433
4339
  load: "\u09B2\u09CB\u09A1",
4434
4340
  focus: "\u09AB\u09CB\u0995\u09BE\u09B8",
4435
4341
  blur: "\u099D\u09BE\u09AA\u09B8\u09BE",
4342
+ reset: "\u09B0\u09BF\u09B8\u09C7\u099F",
4436
4343
  keydown: "\u0995\u09BF-\u09A1\u09BE\u0989\u09A8",
4437
4344
  keyup: "\u0995\u09BF-\u0986\u09AA",
4438
4345
  mouseover: "\u09AE\u09BE\u0989\u09B8-\u0993\u09AD\u09BE\u09B0",
@@ -4459,7 +4366,9 @@ var bengaliDictionary = {
4459
4366
  null: "\u09B6\u09C2\u09A8\u09CD\u09AF",
4460
4367
  undefined: "\u0985\u09A8\u09BF\u09B0\u09CD\u09A7\u09BE\u09B0\u09BF\u09A4",
4461
4368
  end: "\u09B6\u09C7\u09B7",
4462
- then: "\u09A4\u09BE\u09B0\u09AA\u09B0"
4369
+ then: "\u09A4\u09BE\u09B0\u09AA\u09B0",
4370
+ live: "\u09B2\u09BE\u0987\u09AD",
4371
+ changes: "\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09BF\u09A4 \u09B9\u09B2\u09C7"
4463
4372
  },
4464
4373
  temporal: {
4465
4374
  now: "\u098F\u0996\u09A8",
@@ -4504,7 +4413,15 @@ var bengaliDictionary = {
4504
4413
  children: "\u09B8\u09A8\u09CD\u09A4\u09BE\u09A8",
4505
4414
  random: "\u098F\u09B2\u09CB\u09AE\u09C7\u09B2\u09CB",
4506
4415
  length: "\u09A6\u09C8\u09B0\u09CD\u0998\u09CD\u09AF",
4507
- index: "\u09B8\u09C2\u099A\u0995"
4416
+ index: "\u09B8\u09C2\u099A\u0995",
4417
+ empty: "\u0996\u09BE\u09B2\u09BF-\u0995\u09B0\u09C1\u09A8",
4418
+ "starts with": "\u09A6\u09BF\u09AF\u09BC\u09C7_\u09B6\u09C1\u09B0\u09C1",
4419
+ "ends with": "\u09A6\u09BF\u09AF\u09BC\u09C7_\u09B6\u09C7\u09B7",
4420
+ "ignoring case": "\u0995\u09C7\u09B8_\u0989\u09AA\u09C7\u0995\u09CD\u09B7\u09BE",
4421
+ "sorted by": "\u09A6\u09CD\u09AC\u09BE\u09B0\u09BE_\u09B8\u09BE\u099C\u09BE\u09A8\u09CB",
4422
+ "mapped to": "\u09A4\u09C7_\u09B0\u09C2\u09AA\u09BE\u09A8\u09CD\u09A4\u09B0\u09BF\u09A4",
4423
+ "split by": "\u09A6\u09CD\u09AC\u09BE\u09B0\u09BE_\u09AC\u09BF\u09AD\u0995\u09CD\u09A4",
4424
+ "joined by": "\u09A6\u09CD\u09AC\u09BE\u09B0\u09BE_\u09AF\u09C1\u0995\u09CD\u09A4"
4508
4425
  }
4509
4426
  };
4510
4427
  var bn = bengaliDictionary;
@@ -4569,7 +4486,12 @@ var thaiDictionary = {
4569
4486
  js: "\u0E40\u0E08\u0E40\u0E2D\u0E2A",
4570
4487
  pick: "\u0E40\u0E25\u0E37\u0E2D\u0E01",
4571
4488
  render: "\u0E41\u0E2A\u0E14\u0E07\u0E1C\u0E25",
4572
- until: "\u0E08\u0E19\u0E16\u0E36\u0E07"
4489
+ until: "\u0E08\u0E19\u0E16\u0E36\u0E07",
4490
+ breakpoint: "\u0E08\u0E38\u0E14\u0E1E\u0E31\u0E01",
4491
+ clear: "\u0E40\u0E04\u0E25\u0E35\u0E22\u0E23\u0E4C",
4492
+ close: "\u0E1B\u0E34\u0E14",
4493
+ open: "\u0E40\u0E1B\u0E34\u0E14",
4494
+ select: "\u0E40\u0E25\u0E37\u0E2D\u0E01"
4573
4495
  },
4574
4496
  modifiers: {
4575
4497
  to: "\u0E44\u0E1B\u0E22\u0E31\u0E07",
@@ -4584,6 +4506,7 @@ var thaiDictionary = {
4584
4506
  at: "\u0E17\u0E35\u0E48",
4585
4507
  in: "\u0E43\u0E19",
4586
4508
  over: "\u0E40\u0E2B\u0E19\u0E37\u0E2D",
4509
+ between: "\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07",
4587
4510
  then: "\u0E41\u0E25\u0E49\u0E27",
4588
4511
  and: "\u0E41\u0E25\u0E30",
4589
4512
  end: "\u0E08\u0E1A",
@@ -4598,6 +4521,7 @@ var thaiDictionary = {
4598
4521
  load: "\u0E42\u0E2B\u0E25\u0E14",
4599
4522
  focus: "\u0E42\u0E1F\u0E01\u0E31\u0E2A",
4600
4523
  blur: "\u0E40\u0E1A\u0E25\u0E2D",
4524
+ reset: "\u0E23\u0E35\u0E40\u0E0B\u0E47\u0E15",
4601
4525
  keydown: "\u0E01\u0E14\u0E04\u0E35\u0E22\u0E4C",
4602
4526
  keyup: "\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E04\u0E35\u0E22\u0E4C",
4603
4527
  mouseover: "\u0E40\u0E21\u0E32\u0E2A\u0E4C\u0E40\u0E02\u0E49\u0E32",
@@ -4624,7 +4548,9 @@ var thaiDictionary = {
4624
4548
  null: "\u0E27\u0E48\u0E32\u0E07",
4625
4549
  undefined: "\u0E44\u0E21\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14",
4626
4550
  end: "\u0E08\u0E1A",
4627
- then: "\u0E41\u0E25\u0E49\u0E27"
4551
+ then: "\u0E41\u0E25\u0E49\u0E27",
4552
+ live: "\u0E2A\u0E14",
4553
+ changes: "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19"
4628
4554
  },
4629
4555
  temporal: {
4630
4556
  now: "\u0E15\u0E2D\u0E19\u0E19\u0E35\u0E49",
@@ -4669,7 +4595,15 @@ var thaiDictionary = {
4669
4595
  children: "\u0E25\u0E39\u0E01",
4670
4596
  random: "\u0E2A\u0E38\u0E48\u0E21",
4671
4597
  length: "\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27",
4672
- index: "\u0E14\u0E31\u0E0A\u0E19\u0E35"
4598
+ index: "\u0E14\u0E31\u0E0A\u0E19\u0E35",
4599
+ empty: "\u0E25\u0E49\u0E32\u0E07",
4600
+ "starts with": "\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22",
4601
+ "ends with": "\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22",
4602
+ "ignoring case": "\u0E44\u0E21\u0E48\u0E2A\u0E19\u0E15\u0E31\u0E27\u0E1E\u0E34\u0E21\u0E1E\u0E4C",
4603
+ "sorted by": "\u0E40\u0E23\u0E35\u0E22\u0E07\u0E15\u0E32\u0E21",
4604
+ "mapped to": "\u0E41\u0E1B\u0E25\u0E07\u0E40\u0E1B\u0E47\u0E19",
4605
+ "split by": "\u0E41\u0E22\u0E01\u0E14\u0E49\u0E27\u0E22",
4606
+ "joined by": "\u0E23\u0E27\u0E21\u0E14\u0E49\u0E27\u0E22"
4673
4607
  }
4674
4608
  };
4675
4609
  var th = thaiDictionary;
@@ -4682,12 +4616,10 @@ var thKeywords = createKeywordProvider(th, "th", {
4682
4616
  // src/dictionaries/ms.ts
4683
4617
  var malayDictionary = {
4684
4618
  commands: {
4685
- // Event handling
4686
4619
  on: "apabila",
4687
4620
  tell: "beritahu",
4688
4621
  trigger: "cetuskan",
4689
4622
  send: "hantar",
4690
- // DOM manipulation
4691
4623
  take: "ambil",
4692
4624
  put: "letak",
4693
4625
  set: "tetapkan",
@@ -4697,7 +4629,6 @@ var malayDictionary = {
4697
4629
  toggle: "togol",
4698
4630
  hide: "sembunyi",
4699
4631
  show: "tunjuk",
4700
- // Control flow
4701
4632
  if: "jika",
4702
4633
  unless: "kecuali",
4703
4634
  repeat: "ulang",
@@ -4707,52 +4638,46 @@ var malayDictionary = {
4707
4638
  continue: "teruskan",
4708
4639
  break: "henti",
4709
4640
  halt: "henti",
4710
- // Async
4711
4641
  wait: "tunggu",
4712
4642
  fetch: "ambil_dari",
4713
4643
  call: "panggil",
4714
4644
  return: "pulang",
4715
- // Other commands
4716
4645
  make: "buat",
4717
4646
  log: "catat",
4718
4647
  throw: "lempar",
4719
4648
  catch: "tangkap",
4720
4649
  measure: "ukur",
4721
4650
  transition: "peralihan",
4722
- // Data Commands
4723
4651
  increment: "tambah_satu",
4724
4652
  decrement: "kurang_satu",
4725
4653
  default: "lalai",
4726
- // Navigation Commands
4727
4654
  go: "pergi",
4728
4655
  pushUrl: "tolak_url",
4729
4656
  replaceUrl: "ganti_url",
4730
- // Utility Commands
4731
4657
  copy: "salin",
4732
4658
  pick: "pilih",
4733
4659
  beep: "bunyi",
4734
- // Advanced Commands
4735
4660
  js: "js",
4736
4661
  async: "tak_segerak",
4737
4662
  render: "papar",
4738
- // Animation Commands
4739
4663
  swap: "tukar_tempat",
4740
4664
  morph: "ubah_bentuk",
4741
4665
  settle: "selesai",
4742
- // Content Commands
4743
4666
  append: "tambah_hujung",
4744
4667
  prepend: "tambah_mula",
4745
- // Control Flow
4746
4668
  exit: "keluar",
4747
4669
  else: "kalau_tidak",
4748
- // Focus Commands
4749
4670
  focus: "fokus",
4750
4671
  blur: "kabur",
4751
- // Behaviors
4752
4672
  install: "pasang",
4753
4673
  behavior: "kelakuan",
4754
4674
  init: "mula",
4755
- clone: "klon"
4675
+ clone: "klon",
4676
+ breakpoint: "titik-henti",
4677
+ clear: "padam",
4678
+ close: "tutup",
4679
+ open: "buka",
4680
+ select: "pilih"
4756
4681
  },
4757
4682
  modifiers: {
4758
4683
  to: "ke",
@@ -4819,13 +4744,13 @@ var malayDictionary = {
4819
4744
  includes: "termasuk",
4820
4745
  equals: "sama",
4821
4746
  has: "ada",
4822
- // possession verb (context-based)
4823
4747
  have: "ada",
4824
- // same for first/third person
4825
4748
  then: "kemudian",
4826
4749
  else: "kalau_tidak",
4827
4750
  otherwise: "jika_tidak",
4828
4751
  end: "tamat",
4752
+ live: "langsung",
4753
+ changes: "berubah",
4829
4754
  if: "jika",
4830
4755
  empty: "kosong",
4831
4756
  true: "benar",
@@ -4890,7 +4815,6 @@ var malayDictionary = {
4890
4815
  checked: "ditanda"
4891
4816
  },
4892
4817
  expressions: {
4893
- // Positional
4894
4818
  first: "pertama",
4895
4819
  last: "terakhir",
4896
4820
  next: "seterusnya",
@@ -4898,19 +4822,20 @@ var malayDictionary = {
4898
4822
  prev: "sebelum",
4899
4823
  at: "di",
4900
4824
  random: "rawak",
4901
- // DOM Traversal
4902
4825
  closest: "terdekat",
4903
4826
  parent: "induk",
4904
4827
  children: "anak_anak",
4905
4828
  within: "dalam",
4906
- // Emptiness/Existence
4907
4829
  no: "tiada",
4908
4830
  empty: "kosong",
4909
4831
  some: "beberapa",
4910
- // String operations
4911
4832
  "starts with": "bermula_dengan",
4912
4833
  "ends with": "berakhir_dengan",
4913
- // Additional
4834
+ "ignoring case": "abaikan_huruf_besar_kecil",
4835
+ "sorted by": "disusun_mengikut",
4836
+ "mapped to": "dipetakan_ke",
4837
+ "split by": "dipecah_oleh",
4838
+ "joined by": "digabung_oleh",
4914
4839
  length: "panjang",
4915
4840
  index: "indeks"
4916
4841
  }
@@ -4925,12 +4850,10 @@ var msKeywords = createKeywordProvider(ms, "ms", {
4925
4850
  // src/dictionaries/tl.ts
4926
4851
  var tagalogDictionary = {
4927
4852
  commands: {
4928
- // Event handling
4929
4853
  on: "kapag",
4930
4854
  tell: "sabihin",
4931
4855
  trigger: "palitawin",
4932
4856
  send: "ipadala",
4933
- // DOM manipulation
4934
4857
  take: "kunin",
4935
4858
  put: "ilagay",
4936
4859
  set: "itakda",
@@ -4940,7 +4863,6 @@ var tagalogDictionary = {
4940
4863
  toggle: "palitan",
4941
4864
  hide: "itago",
4942
4865
  show: "ipakita",
4943
- // Control flow
4944
4866
  if: "kung",
4945
4867
  unless: "maliban_kung",
4946
4868
  repeat: "ulitin",
@@ -4950,52 +4872,46 @@ var tagalogDictionary = {
4950
4872
  continue: "magpatuloy",
4951
4873
  break: "itigil",
4952
4874
  halt: "huminto",
4953
- // Async
4954
4875
  wait: "maghintay",
4955
4876
  fetch: "kuhanin_mula",
4956
4877
  call: "tawagin",
4957
4878
  return: "ibalik",
4958
- // Other commands
4959
4879
  make: "gumawa",
4960
4880
  log: "itala",
4961
4881
  throw: "ihagis",
4962
4882
  catch: "hulihin",
4963
4883
  measure: "sukatin",
4964
4884
  transition: "baguhin",
4965
- // Data Commands
4966
4885
  increment: "dagdagan",
4967
4886
  decrement: "bawasan",
4968
4887
  default: "pamantayan",
4969
- // Navigation Commands
4970
4888
  go: "pumunta",
4971
4889
  pushUrl: "itulak_url",
4972
4890
  replaceUrl: "palitan_url",
4973
- // Utility Commands
4974
4891
  copy: "kopyahin",
4975
4892
  pick: "pumili",
4976
4893
  beep: "tunog",
4977
- // Advanced Commands
4978
4894
  js: "js",
4979
4895
  async: "sabay",
4980
4896
  render: "ipakita",
4981
- // Animation Commands
4982
4897
  swap: "palitan_pwesto",
4983
4898
  morph: "baguhin_hugis",
4984
4899
  settle: "ayusin",
4985
- // Content Commands
4986
4900
  append: "idagdag_sa_dulo",
4987
4901
  prepend: "idagdag_sa_simula",
4988
- // Control Flow
4989
4902
  exit: "lumabas",
4990
4903
  else: "kung_hindi",
4991
- // Focus Commands
4992
4904
  focus: "ituon",
4993
4905
  blur: "alisin_tuon",
4994
- // Behaviors
4995
4906
  install: "ikabit",
4996
4907
  behavior: "ugali",
4997
4908
  init: "simulan",
4998
- clone: "kopyahin"
4909
+ clone: "kopyahin",
4910
+ breakpoint: "breakpoint",
4911
+ clear: "burahin",
4912
+ close: "isara",
4913
+ open: "buksan",
4914
+ select: "piliin"
4999
4915
  },
5000
4916
  modifiers: {
5001
4917
  to: "sa",
@@ -5062,13 +4978,13 @@ var tagalogDictionary = {
5062
4978
  includes: "kasama",
5063
4979
  equals: "katumbas",
5064
4980
  has: "may",
5065
- // possession verb (context-based)
5066
4981
  have: "may",
5067
- // same for first/third person in Tagalog
5068
4982
  then: "pagkatapos",
5069
4983
  else: "kung_hindi",
5070
4984
  otherwise: "kung_hindi_man",
5071
4985
  end: "wakas",
4986
+ live: "live",
4987
+ changes: "nagbabago",
5072
4988
  if: "kung",
5073
4989
  empty: "walang_laman",
5074
4990
  true: "totoo",
@@ -5133,7 +5049,6 @@ var tagalogDictionary = {
5133
5049
  checked: "naka_tsek"
5134
5050
  },
5135
5051
  expressions: {
5136
- // Positional
5137
5052
  first: "una",
5138
5053
  last: "huli",
5139
5054
  next: "susunod",
@@ -5141,19 +5056,20 @@ var tagalogDictionary = {
5141
5056
  prev: "nakaraan",
5142
5057
  at: "sa",
5143
5058
  random: "random",
5144
- // DOM Traversal
5145
5059
  closest: "pinakamalapit",
5146
5060
  parent: "magulang",
5147
5061
  children: "mga_anak",
5148
5062
  within: "sa_loob_ng",
5149
- // Emptiness/Existence
5150
5063
  no: "walang",
5151
5064
  empty: "walang_laman",
5152
5065
  some: "ilan",
5153
- // String operations
5154
5066
  "starts with": "nagsisimula_sa",
5155
5067
  "ends with": "nagtatapos_sa",
5156
- // Additional
5068
+ "ignoring case": "huwag_pansinin_ang_case",
5069
+ "sorted by": "nakaayos_ayon_sa",
5070
+ "mapped to": "binago_sa",
5071
+ "split by": "hinati_sa",
5072
+ "joined by": "pinagsama_sa",
5157
5073
  length: "haba",
5158
5074
  index: "indeks"
5159
5075
  }
@@ -5165,6 +5081,104 @@ var tlKeywords = createKeywordProvider(tl, "tl", {
5165
5081
  allowEnglishFallback: true
5166
5082
  });
5167
5083
 
5084
+ // src/dictionaries/he.ts
5085
+ var he = {
5086
+ commands: {
5087
+ add: "\u05D4\u05D5\u05E1\u05E3",
5088
+ append: "\u05E6\u05E8\u05E3",
5089
+ async: "\u05D0\u05E1\u05D9\u05E0\u05DB\u05E8\u05D5\u05E0\u05D9",
5090
+ beep: "\u05D1\u05D9\u05E4",
5091
+ break: "\u05E9\u05D1\u05D5\u05E8",
5092
+ call: "\u05E7\u05E8\u05D0",
5093
+ continue: "\u05D4\u05DE\u05E9\u05DA",
5094
+ copy: "\u05D4\u05E2\u05EA\u05E7",
5095
+ decrement: "\u05D4\u05E7\u05D8\u05DF",
5096
+ default: "\u05D1\u05E8\u05D9\u05E8\u05EA \u05DE\u05D7\u05D3\u05DC",
5097
+ exit: "\u05E6\u05D0",
5098
+ fetch: "\u05D4\u05D1\u05D0",
5099
+ for: "\u05E2\u05D1\u05D5\u05E8",
5100
+ get: "\u05E7\u05D1\u05DC",
5101
+ go: "\u05DC\u05DA",
5102
+ halt: "\u05E2\u05E6\u05D5\u05E8",
5103
+ hide: "\u05D4\u05E1\u05EA\u05E8",
5104
+ if: "\u05D0\u05DD",
5105
+ increment: "\u05D4\u05D2\u05D3\u05DC",
5106
+ install: "\u05D4\u05EA\u05E7\u05DF",
5107
+ js: "js",
5108
+ log: "\u05E8\u05E9\u05D5\u05DD",
5109
+ make: "\u05E6\u05D5\u05E8",
5110
+ measure: "\u05DE\u05D3\u05D5\u05D3",
5111
+ morph: "\u05D4\u05E4\u05D5\u05DA",
5112
+ on: "\u05D1",
5113
+ pick: "\u05D1\u05D7\u05E8",
5114
+ put: "\u05E9\u05D9\u05DD",
5115
+ remove: "\u05D4\u05E1\u05E8",
5116
+ render: "\u05E8\u05E0\u05D3\u05E8",
5117
+ repeat: "\u05D7\u05D6\u05D5\u05E8",
5118
+ return: "\u05D4\u05D7\u05D6\u05E8",
5119
+ send: "\u05E9\u05DC\u05D7",
5120
+ set: "\u05E7\u05D1\u05E2",
5121
+ settle: "\u05D4\u05EA\u05D9\u05D9\u05E6\u05D1",
5122
+ show: "\u05D4\u05E8\u05D0\u05D4",
5123
+ swap: "\u05D4\u05D7\u05DC\u05E3",
5124
+ take: "\u05E7\u05D7",
5125
+ tell: "\u05D0\u05DE\u05D5\u05E8",
5126
+ throw: "\u05D6\u05E8\u05D5\u05E7",
5127
+ toggle: "\u05DE\u05EA\u05D2",
5128
+ transition: "\u05DE\u05E2\u05D1\u05E8",
5129
+ trigger: "\u05D4\u05E4\u05E2\u05DC",
5130
+ until: "\u05E2\u05D3",
5131
+ wait: "\u05D7\u05DB\u05D4",
5132
+ while: "\u05DB\u05DC \u05E2\u05D5\u05D3"
5133
+ },
5134
+ modifiers: {
5135
+ after: "\u05D0\u05D7\u05E8\u05D9",
5136
+ before: "\u05DC\u05E4\u05E0\u05D9",
5137
+ from: "\u05DE",
5138
+ into: "\u05DC\u05EA\u05D5\u05DA",
5139
+ to: "\u05E2\u05DC",
5140
+ with: "\u05E2\u05DD"
5141
+ },
5142
+ events: {
5143
+ blur: "\u05D8\u05E9\u05D8\u05E9",
5144
+ change: "\u05E9\u05D9\u05E0\u05D5\u05D9",
5145
+ click: "\u05DC\u05D7\u05D9\u05E6\u05D4",
5146
+ focus: "\u05DE\u05E7\u05D3",
5147
+ input: "\u05E7\u05DC\u05D8",
5148
+ submit: "\u05E9\u05DC\u05D9\u05D7\u05D4"
5149
+ },
5150
+ logical: {
5151
+ and: "\u05D5\u05D2\u05DD",
5152
+ else: "\u05D0\u05D7\u05E8\u05EA",
5153
+ end: "\u05E1\u05D5\u05E3",
5154
+ then: "\u05D0\u05D6",
5155
+ live: "\u05D7\u05D9",
5156
+ changes: "\u05DE\u05E9\u05EA\u05E0\u05D4",
5157
+ when: "\u05DB\u05D0\u05E9\u05E8",
5158
+ where: "\u05D0\u05D9\u05E4\u05D4"
5159
+ },
5160
+ temporal: {},
5161
+ values: {
5162
+ body: "\u05D2\u05D5\u05E3",
5163
+ event: "\u05D0\u05D9\u05E8\u05D5\u05E2",
5164
+ it: "\u05D6\u05D4",
5165
+ its: "\u05E9\u05DC\u05D5",
5166
+ me: "\u05D0\u05E0\u05D9",
5167
+ my: "\u05E9\u05DC\u05D9",
5168
+ result: "\u05EA\u05D5\u05E6\u05D0\u05D4",
5169
+ target: "\u05D9\u05E2\u05D3",
5170
+ you: "\u05D0\u05EA\u05D4",
5171
+ your: "\u05E9\u05DC\u05DA"
5172
+ },
5173
+ attributes: {},
5174
+ expressions: {}
5175
+ };
5176
+
5177
+ // src/parser/he.ts
5178
+ var heKeywords = createKeywordProvider(he, "he", {
5179
+ allowEnglishFallback: true
5180
+ });
5181
+
5168
5182
  // src/parser/locale-manager.ts
5169
5183
  var _LocaleManager = class _LocaleManager {
5170
5184
  /**
@@ -5359,7 +5373,22 @@ var en = {
5359
5373
  // Control Flow
5360
5374
  exit: "exit",
5361
5375
  // Behaviors
5362
- install: "install"
5376
+ install: "install",
5377
+ // v0.9.90 Phase 1 — DOM / form state / debug
5378
+ open: "open",
5379
+ close: "close",
5380
+ select: "select",
5381
+ clear: "clear",
5382
+ breakpoint: "breakpoint",
5383
+ // Other commands with schemas (backfill — pre-existing gaps surfaced by
5384
+ // the schema-alignment test)
5385
+ prepend: "prepend",
5386
+ clone: "clone",
5387
+ // Navigation/DOM commands added in core (Dec 2025 / Apr 2026)
5388
+ scroll: "scroll",
5389
+ push: "push",
5390
+ replace: "replace",
5391
+ process: "process"
5363
5392
  },
5364
5393
  modifiers: {
5365
5394
  to: "to",
@@ -5426,7 +5455,9 @@ var en = {
5426
5455
  then: "then",
5427
5456
  else: "else",
5428
5457
  otherwise: "otherwise",
5429
- end: "end"
5458
+ end: "end",
5459
+ live: "live",
5460
+ changes: "changes"
5430
5461
  },
5431
5462
  temporal: {
5432
5463
  seconds: "seconds",
@@ -5495,7 +5526,13 @@ var en = {
5495
5526
  some: "some",
5496
5527
  // String operations
5497
5528
  "starts with": "starts with",
5498
- "ends with": "ends with"
5529
+ "ends with": "ends with",
5530
+ "ignoring case": "ignoring case",
5531
+ // Collection operations (v0.9.90)
5532
+ "sorted by": "sorted by",
5533
+ "mapped to": "mapped to",
5534
+ "split by": "split by",
5535
+ "joined by": "joined by"
5499
5536
  }
5500
5537
  };
5501
5538
 
@@ -6438,6 +6475,31 @@ var polishProfile = {
6438
6475
  { form: "jako", role: "method", position: "preposition", required: false }
6439
6476
  ]
6440
6477
  };
6478
+ var hebrewProfile = {
6479
+ code: "he",
6480
+ name: "\u05E2\u05D1\u05E8\u05D9\u05EA",
6481
+ wordOrder: "SVO",
6482
+ // Modern Hebrew is predominantly SVO (Biblical Hebrew was VSO)
6483
+ adpositionType: "preposition",
6484
+ morphology: "fusional",
6485
+ // Root-and-pattern (Semitic), like Arabic
6486
+ direction: "rtl",
6487
+ canonicalOrder: ["event", "action", "patient", "destination"],
6488
+ // Hebrew uses single-letter prefix prepositions (ב, ל, מ, כ) that attach to
6489
+ // the following word. For tokenization we treat them as spaced forms.
6490
+ markers: [
6491
+ { form: "\u05D1", role: "event", position: "preposition", required: true },
6492
+ { form: "\u05E2\u05DC", role: "destination", position: "preposition", required: false },
6493
+ { form: "\u05D0\u05DC", role: "destination", position: "preposition", required: false },
6494
+ { form: "\u05DC", role: "destination", position: "preposition", required: false },
6495
+ { form: "\u05D0\u05EA", role: "patient", position: "preposition", required: false },
6496
+ // Direct object marker
6497
+ { form: "\u05DE", role: "source", position: "preposition", required: false },
6498
+ { form: "\u05DE\u05DF", role: "source", position: "preposition", required: false },
6499
+ { form: "\u05E2\u05DD", role: "style", position: "preposition", required: false },
6500
+ { form: "\u05DB", role: "method", position: "preposition", required: false }
6501
+ ]
6502
+ };
6441
6503
  var profiles = {
6442
6504
  en: englishProfile,
6443
6505
  ja: japaneseProfile,
@@ -6461,7 +6523,8 @@ var profiles = {
6461
6523
  hi: hindiProfile,
6462
6524
  tl: tagalogProfile,
6463
6525
  th: thaiProfile,
6464
- pl: polishProfile
6526
+ pl: polishProfile,
6527
+ he: hebrewProfile
6465
6528
  };
6466
6529
  function getProfile(locale) {
6467
6530
  return profiles[locale];
@@ -6769,6 +6832,7 @@ var bn2 = bengaliDictionary;
6769
6832
  var th2 = thaiDictionary;
6770
6833
  var ms2 = malayDictionary;
6771
6834
  var tl2 = tagalogDictionary;
6835
+ var he2 = he;
6772
6836
  var dictionaries = {
6773
6837
  en: en2,
6774
6838
  es: es2,
@@ -6792,7 +6856,8 @@ var dictionaries = {
6792
6856
  bn: bn2,
6793
6857
  th: th2,
6794
6858
  ms: ms2,
6795
- tl: tl2
6859
+ tl: tl2,
6860
+ he: he2
6796
6861
  };
6797
6862
 
6798
6863
  // src/types.ts
@@ -6843,6 +6908,57 @@ function getCommandKeywordsForLocale(locale) {
6843
6908
  }
6844
6909
  return keywords;
6845
6910
  }
6911
+ function extractBlockStructure(input, sourceLocale) {
6912
+ const tokens = input.split(/\s+/);
6913
+ const head = tokens[0]?.toLowerCase();
6914
+ if (!head || !BLOCK_HEAD_KEYWORDS.has(head)) return null;
6915
+ let depth = 1;
6916
+ let endIdx = -1;
6917
+ for (let i = 1; i < tokens.length; i++) {
6918
+ const t = tokens[i].toLowerCase();
6919
+ if (BLOCK_HEAD_KEYWORDS.has(t)) depth++;
6920
+ else if (t === "end") {
6921
+ depth--;
6922
+ if (depth === 0) {
6923
+ endIdx = i;
6924
+ break;
6925
+ }
6926
+ }
6927
+ }
6928
+ if (endIdx !== -1 && endIdx !== tokens.length - 1) return null;
6929
+ const inner = endIdx !== -1 ? tokens.slice(1, endIdx) : tokens.slice(1);
6930
+ const base = { headKeyword: tokens[0], body: "" };
6931
+ if (endIdx !== -1) base.tailKeyword = tokens[endIdx];
6932
+ if (head === "live") {
6933
+ return { ...base, body: inner.join(" ") };
6934
+ }
6935
+ if (head === "when") {
6936
+ const idx = inner.findIndex((t) => t.toLowerCase() === "changes");
6937
+ if (idx >= 0) {
6938
+ return {
6939
+ ...base,
6940
+ prefixExpr: inner.slice(0, idx).join(" "),
6941
+ connector: inner[idx],
6942
+ body: inner.slice(idx + 1).join(" ")
6943
+ };
6944
+ }
6945
+ return null;
6946
+ }
6947
+ const commands = getCommandKeywordsForLocale(sourceLocale);
6948
+ let bodyStart = -1;
6949
+ for (let i = 0; i < inner.length; i++) {
6950
+ if (commands.has(inner[i].toLowerCase())) {
6951
+ bodyStart = i;
6952
+ break;
6953
+ }
6954
+ }
6955
+ if (bodyStart <= 0) return null;
6956
+ return {
6957
+ ...base,
6958
+ prefixExpr: inner.slice(0, bodyStart).join(" "),
6959
+ body: inner.slice(bodyStart).join(" ")
6960
+ };
6961
+ }
6846
6962
  function splitCompoundStatement(input, sourceLocale) {
6847
6963
  const lines = input.split(/\n/).map((line) => line.trim()).filter((line) => line.length > 0);
6848
6964
  const parts = [];
@@ -6958,6 +7074,7 @@ var BOUNDARY_MODIFIERS = /* @__PURE__ */ new Set([
6958
7074
  "of",
6959
7075
  "over"
6960
7076
  ]);
7077
+ var BLOCK_HEAD_KEYWORDS = /* @__PURE__ */ new Set(["live", "when", "unless"]);
6961
7078
  function splitOnCommandBoundaries(input, sourceLocale) {
6962
7079
  const commandKeywords = getCommandKeywordsForLocale(sourceLocale);
6963
7080
  const tokens = input.split(/\s+/);
@@ -6967,9 +7084,15 @@ function splitOnCommandBoundaries(input, sourceLocale) {
6967
7084
  const firstTokenLower = tokens[0]?.toLowerCase();
6968
7085
  const isEventHandler = EVENT_KEYWORDS.has(firstTokenLower);
6969
7086
  let seenFirstCommand = !isEventHandler;
7087
+ let blockDepth = 0;
6970
7088
  for (let i = 0; i < tokens.length; i++) {
6971
7089
  const token = tokens[i];
6972
7090
  const lowerToken = token.toLowerCase();
7091
+ if (BLOCK_HEAD_KEYWORDS.has(lowerToken)) {
7092
+ blockDepth++;
7093
+ } else if (lowerToken === "end" && blockDepth > 0) {
7094
+ blockDepth--;
7095
+ }
6973
7096
  if (commandKeywords.has(lowerToken) && currentPart.length > 0) {
6974
7097
  const prevToken = currentPart[currentPart.length - 1];
6975
7098
  const prevLower = prevToken.toLowerCase();
@@ -6978,6 +7101,10 @@ function splitOnCommandBoundaries(input, sourceLocale) {
6978
7101
  currentPart.push(token);
6979
7102
  continue;
6980
7103
  }
7104
+ if (blockDepth > 0) {
7105
+ currentPart.push(token);
7106
+ continue;
7107
+ }
6981
7108
  if (!BOUNDARY_MODIFIERS.has(prevLower) && !commandKeywords.has(prevLower)) {
6982
7109
  parts.push(currentPart.join(" "));
6983
7110
  currentPart = [token];
@@ -7497,6 +7624,10 @@ var GrammarTransformer = class {
7497
7624
  * Transform a single hyperscript statement (no compound "then" chains).
7498
7625
  */
7499
7626
  transformSingle(input) {
7627
+ const block = extractBlockStructure(input, this.sourceProfile.code);
7628
+ if (block) {
7629
+ return this.transformBlock(block);
7630
+ }
7500
7631
  const parsed = parseStatement(input, this.sourceProfile.code);
7501
7632
  if (!parsed) {
7502
7633
  return input;
@@ -7519,6 +7650,24 @@ var GrammarTransformer = class {
7519
7650
  }
7520
7651
  return joinTokens(reordered.map((e) => e.translated || e.value));
7521
7652
  }
7653
+ /**
7654
+ * Translate a reactive block by translating the head/tail/connector
7655
+ * via the dictionary, recursively transforming the body through the
7656
+ * regular pipeline, and rejoining in source-language position order.
7657
+ * Block-syntactic tokens are never reordered: they're delimiters, not
7658
+ * arguments, and authors expect them at start/end positions
7659
+ * regardless of target word order.
7660
+ */
7661
+ transformBlock(block) {
7662
+ const src = this.sourceProfile.code;
7663
+ const dst = this.targetProfile.code;
7664
+ const head = translateWord(block.headKeyword, src, dst);
7665
+ const tail = block.tailKeyword ? translateWord(block.tailKeyword, src, dst) : "";
7666
+ const connector = block.connector ? translateWord(block.connector, src, dst) : "";
7667
+ const prefix = block.prefixExpr ? translateMultiWordValue(block.prefixExpr, src, dst) : "";
7668
+ const body = this.transform(block.body);
7669
+ return [head, prefix, connector, body, tail].filter((s) => s.length > 0).join(" ");
7670
+ }
7522
7671
  /**
7523
7672
  * Find the best matching rule for this statement
7524
7673
  */
@@ -7662,6 +7811,10 @@ exports.getSupportedDirectPairs = getSupportedDirectPairs;
7662
7811
  exports.getSupportedLocales = getSupportedLocales;
7663
7812
  exports.grammarExamples = examples;
7664
7813
  exports.hasDirectMapping = hasDirectMapping;
7814
+ exports.he = he;
7815
+ exports.heDictionary = he;
7816
+ exports.heKeywords = heKeywords;
7817
+ exports.hebrewProfile = hebrewProfile;
7665
7818
  exports.hiDictionary = hindiDictionary;
7666
7819
  exports.hiKeywords = hiKeywords;
7667
7820
  exports.hindiDictionary = hindiDictionary;