@lokascript/i18n 2.5.1 → 2.6.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.
- package/dist/browser.cjs +1274 -154
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +1274 -155
- package/dist/browser.js.map +1 -1
- package/dist/dictionaries/index.cjs +364 -133
- package/dist/dictionaries/index.cjs.map +1 -1
- package/dist/dictionaries/index.d.cts +1 -1
- package/dist/dictionaries/index.d.ts +1 -1
- package/dist/dictionaries/index.js +364 -133
- package/dist/dictionaries/index.js.map +1 -1
- package/dist/index.cjs +8860 -7740
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +37 -37
- package/dist/index.d.ts +37 -37
- package/dist/index.js +8860 -7741
- package/dist/index.js.map +1 -1
- package/dist/lokascript-i18n.min.js +1 -1
- package/dist/lokascript-i18n.min.js.map +1 -1
- package/dist/lokascript-i18n.mjs +1697 -146
- package/dist/lokascript-i18n.mjs.map +1 -1
- package/dist/plugins/vite.cjs +359 -132
- package/dist/plugins/vite.cjs.map +1 -1
- package/dist/plugins/vite.js +359 -132
- package/dist/plugins/vite.js.map +1 -1
- package/dist/plugins/webpack.cjs +359 -132
- package/dist/plugins/webpack.cjs.map +1 -1
- package/dist/plugins/webpack.js +359 -132
- package/dist/plugins/webpack.js.map +1 -1
- package/dist/{transformer-BLv389qz.d.ts → transformer-BA8YX9u1.d.ts} +120 -2
- package/dist/{transformer-PFsYELrc.d.cts → transformer-DM7iplCU.d.cts} +120 -2
- package/dist/{types-BcALAO6h.d.cts → types-BYtpqGq3.d.cts} +1 -1
- package/dist/{types-BcALAO6h.d.ts → types-BYtpqGq3.d.ts} +1 -1
- package/package.json +6 -6
- package/src/browser.ts +1 -0
- package/src/command-primary-roles.test.ts +59 -0
- package/src/constants.ts +51 -0
- package/src/dictionaries/ar.ts +8 -3
- package/src/dictionaries/bn.ts +3 -1
- package/src/dictionaries/de.ts +19 -4
- package/src/dictionaries/derive.ts +4 -0
- package/src/dictionaries/en.ts +9 -0
- package/src/dictionaries/es.ts +2 -2
- package/src/dictionaries/fr.ts +6 -2
- package/src/dictionaries/he.ts +7 -1
- package/src/dictionaries/hi.ts +17 -10
- package/src/dictionaries/id.ts +15 -8
- package/src/dictionaries/it.ts +6 -3
- package/src/dictionaries/ja.ts +10 -4
- package/src/dictionaries/ko.ts +9 -4
- package/src/dictionaries/ms.ts +2 -1
- package/src/dictionaries/pl.ts +11 -3
- package/src/dictionaries/pt.ts +10 -4
- package/src/dictionaries/qu.ts +46 -22
- package/src/dictionaries/ru.ts +14 -7
- package/src/dictionaries/sw.ts +37 -10
- package/src/dictionaries/th.ts +3 -1
- package/src/dictionaries/tl.ts +14 -7
- package/src/dictionaries/tr.ts +22 -9
- package/src/dictionaries/uk.ts +13 -7
- package/src/dictionaries/vi.ts +3 -3
- package/src/dictionaries/zh.ts +10 -2
- package/src/examples/new-languages.ts +1 -1
- package/src/grammar/grammar.test.ts +1242 -1
- package/src/grammar/index.ts +1 -0
- package/src/grammar/profiles/index.ts +358 -12
- package/src/grammar/transformer.ts +1053 -16
- package/src/grammar/types.ts +22 -1
- package/src/index.ts +1 -0
- package/src/new-languages.test.ts +7 -3
- package/src/parser/parser-integration.test.ts +5 -1
- package/src/positional-keyword-drift.test.ts +138 -0
package/dist/plugins/webpack.js
CHANGED
|
@@ -61,6 +61,13 @@ var en = {
|
|
|
61
61
|
increment: "increment",
|
|
62
62
|
decrement: "decrement",
|
|
63
63
|
default: "default",
|
|
64
|
+
// Reactivity Commands
|
|
65
|
+
bind: "bind",
|
|
66
|
+
// Realtime / service-worker Commands
|
|
67
|
+
eventsource: "eventsource",
|
|
68
|
+
socket: "socket",
|
|
69
|
+
worker: "worker",
|
|
70
|
+
intercept: "intercept",
|
|
64
71
|
// Navigation Commands
|
|
65
72
|
go: "go",
|
|
66
73
|
pushUrl: "pushUrl",
|
|
@@ -295,7 +302,8 @@ var es = {
|
|
|
295
302
|
swap: "intercambiar",
|
|
296
303
|
morph: "transformar",
|
|
297
304
|
settle: "estabilizar",
|
|
298
|
-
append: "
|
|
305
|
+
append: "anexar",
|
|
306
|
+
// profile primary; 'añadir' is add's word (parsed as add)
|
|
299
307
|
exit: "salir",
|
|
300
308
|
install: "instalar",
|
|
301
309
|
breakpoint: "punto-interrupci\xF3n",
|
|
@@ -428,7 +436,7 @@ var es = {
|
|
|
428
436
|
prev: "ant",
|
|
429
437
|
at: "en",
|
|
430
438
|
random: "aleatorio",
|
|
431
|
-
closest: "
|
|
439
|
+
closest: "cercano",
|
|
432
440
|
parent: "padre",
|
|
433
441
|
children: "hijos",
|
|
434
442
|
within: "dentro",
|
|
@@ -462,9 +470,11 @@ var ko = {
|
|
|
462
470
|
hide: "\uC228\uAE30\uB2E4",
|
|
463
471
|
show: "\uBCF4\uC774\uB2E4",
|
|
464
472
|
if: "\uB9CC\uC57D",
|
|
465
|
-
unless: "\uC544\uB2C8\uBA74",
|
|
473
|
+
unless: "\uC544\uB2C8\uB77C\uBA74",
|
|
474
|
+
// distinct from else `아니면` (line ~131) — was a homonym
|
|
466
475
|
repeat: "\uBC18\uBCF5",
|
|
467
|
-
for: "\
|
|
476
|
+
for: "\uAC01\uAC01",
|
|
477
|
+
// profile's for word — 동안 is while (collision)
|
|
468
478
|
while: "\uB3D9\uC548",
|
|
469
479
|
until: "\uAE4C\uC9C0",
|
|
470
480
|
continue: "\uACC4\uC18D",
|
|
@@ -495,8 +505,12 @@ var ko = {
|
|
|
495
505
|
swap: "\uAD50\uD658",
|
|
496
506
|
morph: "\uBCC0\uD615",
|
|
497
507
|
settle: "\uC548\uC815",
|
|
498
|
-
append: "\
|
|
499
|
-
|
|
508
|
+
append: "\uB367\uBD99\uC774\uB2E4",
|
|
509
|
+
// profile primary; '추가' is add's word (parsed as add)
|
|
510
|
+
// 종료 → 나가기: realigned to the semantic profile primary (ko.ts `exit: 나가기`,
|
|
511
|
+
// whose comment already flags the 종료 end-collision). Rendered as 종료 it
|
|
512
|
+
// tokenized as a plain identifier, so a guard-clause `exit` never parsed.
|
|
513
|
+
exit: "\uB098\uAC00\uAE30",
|
|
500
514
|
install: "\uC124\uCE58",
|
|
501
515
|
breakpoint: "\uC911\uB2E8\uC810",
|
|
502
516
|
clear: "\uC9C0\uC6B0\uAE30",
|
|
@@ -504,7 +518,8 @@ var ko = {
|
|
|
504
518
|
open: "\uC5F4\uAE30",
|
|
505
519
|
select: "\uC120\uD0DD",
|
|
506
520
|
clone: "\uBCF5\uC81C",
|
|
507
|
-
prepend: "\uC55E\uC5D0\uCD94\uAC00"
|
|
521
|
+
prepend: "\uC55E\uC5D0\uCD94\uAC00",
|
|
522
|
+
socket: "\uC18C\uCF13"
|
|
508
523
|
},
|
|
509
524
|
modifiers: {
|
|
510
525
|
to: "\uC5D0",
|
|
@@ -571,6 +586,7 @@ var ko = {
|
|
|
571
586
|
otherwise: "\uADF8\uB807\uC9C0\uC54A\uC73C\uBA74",
|
|
572
587
|
end: "\uB05D",
|
|
573
588
|
live: "\uB77C\uC774\uBE0C",
|
|
589
|
+
bind: "\uBC14\uC778\uB4DC",
|
|
574
590
|
changes: "\uBCC0\uACBD\uB418\uBA74"
|
|
575
591
|
},
|
|
576
592
|
temporal: {
|
|
@@ -652,7 +668,11 @@ var zh = {
|
|
|
652
668
|
tell: "\u544A\u8BC9",
|
|
653
669
|
trigger: "\u89E6\u53D1",
|
|
654
670
|
send: "\u53D1\u9001",
|
|
655
|
-
take
|
|
671
|
+
// `拿取` (the semantic zh profile's take primary), not `获取` — `获取` is the
|
|
672
|
+
// profile's GET primary, so emitting it for take made `take …` parse as get
|
|
673
|
+
// (take-class-from-siblings: phantom get, take dropped). Exposed by the get-zh-ba
|
|
674
|
+
// pattern; same dict↔profile homonym family as pl get/fetch.
|
|
675
|
+
take: "\u62FF\u53D6",
|
|
656
676
|
put: "\u653E\u7F6E",
|
|
657
677
|
set: "\u8BBE\u7F6E",
|
|
658
678
|
get: "\u83B7\u5F97",
|
|
@@ -671,7 +691,10 @@ var zh = {
|
|
|
671
691
|
break: "\u4E2D\u65AD",
|
|
672
692
|
halt: "\u505C\u6B62",
|
|
673
693
|
wait: "\u7B49\u5F85",
|
|
674
|
-
|
|
694
|
+
// 抓取 (zhuāqǔ, "grab/scrape") is the semantic zh profile's `fetch` primary;
|
|
695
|
+
// 获取 (huòqǔ) is its `get` primary, so emitting 获取 here made the semantic
|
|
696
|
+
// parser read a transformed `fetch` as `get`. See ZH_BLOCK_BODY_SCOPE.md #3.
|
|
697
|
+
fetch: "\u6293\u53D6",
|
|
675
698
|
call: "\u8C03\u7528",
|
|
676
699
|
return: "\u8FD4\u56DE",
|
|
677
700
|
make: "\u5236\u4F5C",
|
|
@@ -771,6 +794,7 @@ var zh = {
|
|
|
771
794
|
otherwise: "\u8981\u4E0D\u7136",
|
|
772
795
|
end: "\u7ED3\u675F",
|
|
773
796
|
live: "\u5B9E\u65F6",
|
|
797
|
+
bind: "\u7ED1\u5B9A",
|
|
774
798
|
changes: "\u6539\u53D8\u65F6"
|
|
775
799
|
},
|
|
776
800
|
temporal: {
|
|
@@ -859,6 +883,9 @@ var fr = {
|
|
|
859
883
|
add: "ajouter",
|
|
860
884
|
remove: "supprimer",
|
|
861
885
|
toggle: "basculer",
|
|
886
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
887
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
888
|
+
blur: "d\xE9focaliser",
|
|
862
889
|
hide: "cacher",
|
|
863
890
|
show: "montrer",
|
|
864
891
|
if: "si",
|
|
@@ -895,7 +922,8 @@ var fr = {
|
|
|
895
922
|
swap: "\xE9changer",
|
|
896
923
|
morph: "transformer",
|
|
897
924
|
settle: "stabiliser",
|
|
898
|
-
append: "
|
|
925
|
+
append: "annexer",
|
|
926
|
+
// profile primary; 'ajouter' is add's word (parsed as add)
|
|
899
927
|
exit: "sortir",
|
|
900
928
|
install: "installer",
|
|
901
929
|
breakpoint: "point-arr\xEAt",
|
|
@@ -904,7 +932,8 @@ var fr = {
|
|
|
904
932
|
open: "ouvrir",
|
|
905
933
|
select: "s\xE9lectionner",
|
|
906
934
|
clone: "cloner",
|
|
907
|
-
prepend: "pr\xE9fixer"
|
|
935
|
+
prepend: "pr\xE9fixer",
|
|
936
|
+
focus: "focaliser"
|
|
908
937
|
},
|
|
909
938
|
modifiers: {
|
|
910
939
|
to: "\xE0",
|
|
@@ -1028,7 +1057,7 @@ var fr = {
|
|
|
1028
1057
|
prev: "pr\xE9c",
|
|
1029
1058
|
at: "\xE0",
|
|
1030
1059
|
random: "al\xE9atoire",
|
|
1031
|
-
closest: "
|
|
1060
|
+
closest: "proche",
|
|
1032
1061
|
parent: "parent",
|
|
1033
1062
|
children: "enfants",
|
|
1034
1063
|
within: "dans",
|
|
@@ -1059,9 +1088,17 @@ var de = {
|
|
|
1059
1088
|
add: "hinzuf\xFCgen",
|
|
1060
1089
|
remove: "entfernen",
|
|
1061
1090
|
toggle: "umschalten",
|
|
1091
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
1092
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
1093
|
+
blur: "defokussieren",
|
|
1062
1094
|
hide: "verstecken",
|
|
1063
1095
|
show: "zeigen",
|
|
1064
|
-
if
|
|
1096
|
+
// Align with the semantic German profile's `if` primary (`falls`). The previous
|
|
1097
|
+
// `wenn` collides with the profile's `when` keyword (German `wenn` = both
|
|
1098
|
+
// "if" and "when"), so a transformed `if` resolved to `when` and the conditional
|
|
1099
|
+
// wrapper never formed (`if`/`put` dropped). Same dict↔profile alignment as id
|
|
1100
|
+
// `toggle` / get-value. `when` is unaffected (separate dict entry).
|
|
1101
|
+
if: "falls",
|
|
1065
1102
|
unless: "wennnicht",
|
|
1066
1103
|
repeat: "wiederholen",
|
|
1067
1104
|
for: "f\xFCr",
|
|
@@ -1071,7 +1108,7 @@ var de = {
|
|
|
1071
1108
|
break: "unterbrechen",
|
|
1072
1109
|
halt: "anhalten",
|
|
1073
1110
|
wait: "warten",
|
|
1074
|
-
fetch: "
|
|
1111
|
+
fetch: "abrufen",
|
|
1075
1112
|
call: "aufrufen",
|
|
1076
1113
|
return: "zur\xFCckgeben",
|
|
1077
1114
|
make: "erstellen",
|
|
@@ -1099,12 +1136,14 @@ var de = {
|
|
|
1099
1136
|
exit: "beenden",
|
|
1100
1137
|
install: "installieren",
|
|
1101
1138
|
breakpoint: "haltepunkt",
|
|
1102
|
-
clear: "
|
|
1139
|
+
clear: "bereinigen",
|
|
1140
|
+
// löschen is a remove alternative in the profile
|
|
1103
1141
|
close: "schlie\xDFen",
|
|
1104
1142
|
open: "\xF6ffnen",
|
|
1105
1143
|
select: "ausw\xE4hlen",
|
|
1106
1144
|
clone: "klonen",
|
|
1107
|
-
prepend: "voranstellen"
|
|
1145
|
+
prepend: "voranstellen",
|
|
1146
|
+
focus: "fokussieren"
|
|
1108
1147
|
},
|
|
1109
1148
|
modifiers: {
|
|
1110
1149
|
to: "zu",
|
|
@@ -1228,7 +1267,13 @@ var de = {
|
|
|
1228
1267
|
prev: "vorh",
|
|
1229
1268
|
at: "bei",
|
|
1230
1269
|
random: "zuf\xE4llig",
|
|
1231
|
-
|
|
1270
|
+
// `nächste` already serves `next` (line above). German `nächste` is
|
|
1271
|
+
// genuinely ambiguous (next/nearest), so emitting it for `closest` too
|
|
1272
|
+
// collided: the semantic tokenizer normalizes `nächste`→next (a deliberate
|
|
1273
|
+
// last-wins choice — see german.ts), and a closest reading is impossible to
|
|
1274
|
+
// recover. Use the unambiguous `nächstgelegene` ("nearest-located") for
|
|
1275
|
+
// closest so the two readings stay distinct end-to-end.
|
|
1276
|
+
closest: "n\xE4chstgelegene",
|
|
1232
1277
|
parent: "elternteil",
|
|
1233
1278
|
children: "kinder",
|
|
1234
1279
|
within: "innerhalb",
|
|
@@ -1262,7 +1307,8 @@ var ja = {
|
|
|
1262
1307
|
hide: "\u96A0\u3059",
|
|
1263
1308
|
show: "\u8868\u793A",
|
|
1264
1309
|
if: "\u3082\u3057",
|
|
1265
|
-
unless: "\
|
|
1310
|
+
unless: "\u306A\u3044\u9650\u308A",
|
|
1311
|
+
// not でなければ — leading で particle shatters the marker
|
|
1266
1312
|
repeat: "\u7E70\u308A\u8FD4\u3057",
|
|
1267
1313
|
for: "\u305F\u3081\u306B",
|
|
1268
1314
|
while: "\u306E\u9593",
|
|
@@ -1271,7 +1317,7 @@ var ja = {
|
|
|
1271
1317
|
break: "\u4E2D\u65AD",
|
|
1272
1318
|
halt: "\u505C\u6B62",
|
|
1273
1319
|
wait: "\u5F85\u3064",
|
|
1274
|
-
fetch: "\
|
|
1320
|
+
fetch: "\u30D5\u30A7\u30C3\u30C1",
|
|
1275
1321
|
call: "\u547C\u3073\u51FA\u3057",
|
|
1276
1322
|
return: "\u623B\u308B",
|
|
1277
1323
|
make: "\u4F5C\u308B",
|
|
@@ -1296,7 +1342,11 @@ var ja = {
|
|
|
1296
1342
|
morph: "\u5909\u5F62",
|
|
1297
1343
|
settle: "\u5B89\u5B9A",
|
|
1298
1344
|
append: "\u672B\u5C3E\u8FFD\u52A0",
|
|
1299
|
-
exit:
|
|
1345
|
+
// 終了 → 退出: realigned to the semantic profile primary (ja.ts `exit: 退出`).
|
|
1346
|
+
// 終了 was the historic exit/end collision word (see isEndKeyword's ja note);
|
|
1347
|
+
// rendered as 終了 it tokenized as a plain identifier, so a guard-clause
|
|
1348
|
+
// `exit` inside `if … end` never parsed (behavior-sortable ja).
|
|
1349
|
+
exit: "\u9000\u51FA",
|
|
1300
1350
|
install: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",
|
|
1301
1351
|
breakpoint: "\u30D6\u30EC\u30FC\u30AF\u30DD\u30A4\u30F3\u30C8",
|
|
1302
1352
|
clear: "\u30AF\u30EA\u30A2",
|
|
@@ -1304,7 +1354,8 @@ var ja = {
|
|
|
1304
1354
|
open: "\u958B\u304F",
|
|
1305
1355
|
select: "\u9078\u629E",
|
|
1306
1356
|
clone: "\u8907\u88FD",
|
|
1307
|
-
prepend: "\u5148\u982D\u8FFD\u52A0"
|
|
1357
|
+
prepend: "\u5148\u982D\u8FFD\u52A0",
|
|
1358
|
+
socket: "\u30BD\u30B1\u30C3\u30C8"
|
|
1308
1359
|
},
|
|
1309
1360
|
modifiers: {
|
|
1310
1361
|
to: "\u306B",
|
|
@@ -1353,7 +1404,7 @@ var ja = {
|
|
|
1353
1404
|
touchcancel: "\u30BF\u30C3\u30C1\u30AD\u30E3\u30F3\u30BB\u30EB"
|
|
1354
1405
|
},
|
|
1355
1406
|
logical: {
|
|
1356
|
-
when: "\
|
|
1407
|
+
when: "\u6642",
|
|
1357
1408
|
where: "\u3069\u3053",
|
|
1358
1409
|
and: "\u305D\u3057\u3066",
|
|
1359
1410
|
or: "\u307E\u305F\u306F",
|
|
@@ -1371,6 +1422,7 @@ var ja = {
|
|
|
1371
1422
|
otherwise: "\u305D\u3046\u3067\u306A\u3051\u308C\u3070",
|
|
1372
1423
|
end: "\u7D42\u308F\u308A",
|
|
1373
1424
|
live: "\u30E9\u30A4\u30D6",
|
|
1425
|
+
bind: "\u30D0\u30A4\u30F3\u30C9",
|
|
1374
1426
|
changes: "\u5909\u308F\u3063\u305F\u3089"
|
|
1375
1427
|
},
|
|
1376
1428
|
temporal: {
|
|
@@ -1462,7 +1514,10 @@ var ar = {
|
|
|
1462
1514
|
hide: "\u0627\u062E\u0641",
|
|
1463
1515
|
show: "\u0627\u0638\u0647\u0631",
|
|
1464
1516
|
if: "\u0625\u0630\u0627",
|
|
1465
|
-
|
|
1517
|
+
// Single-token form: the semantic ar tokenizer splits the two-word `إلا إذا`
|
|
1518
|
+
// into `إلا` + `إذا`(if), which derails the `unless` block. `إلا` alone is the
|
|
1519
|
+
// conventional Arabic shorthand and matches the ar profile's unless keyword.
|
|
1520
|
+
unless: "\u0625\u0644\u0627",
|
|
1466
1521
|
repeat: "\u0643\u0631\u0631",
|
|
1467
1522
|
for: "\u0644\u0643\u0644",
|
|
1468
1523
|
while: "\u0628\u064A\u0646\u0645\u0627",
|
|
@@ -1492,19 +1547,22 @@ var ar = {
|
|
|
1492
1547
|
js: "\u062C\u0627\u0641\u0627\u0633\u0643\u0631\u0628\u062A",
|
|
1493
1548
|
async: "\u0645\u062A\u0632\u0627\u0645\u0646",
|
|
1494
1549
|
render: "\u0627\u0631\u0633\u0645",
|
|
1495
|
-
swap: "\u0628\u062F\
|
|
1550
|
+
swap: "\u0627\u0633\u062A\u0628\u062F\u0644",
|
|
1551
|
+
// profile primary; 'بدّل' is toggle's word (parsed as toggle)
|
|
1496
1552
|
morph: "\u062D\u0648\u0651\u0644",
|
|
1497
1553
|
settle: "\u0627\u0633\u062A\u0642\u0631",
|
|
1498
1554
|
append: "\u0623\u0644\u062D\u0642",
|
|
1499
1555
|
exit: "\u0627\u062E\u0631\u062C",
|
|
1500
1556
|
install: "\u062B\u0628\u0651\u062A",
|
|
1501
1557
|
breakpoint: "\u0646\u0642\u0637\u0629-\u062A\u0648\u0642\u0641",
|
|
1502
|
-
clear: "\
|
|
1558
|
+
clear: "\u0646\u0638\u0651\u0641",
|
|
1559
|
+
// امسح is a remove alternative in the profile
|
|
1503
1560
|
close: "\u0623\u063A\u0644\u0642",
|
|
1504
1561
|
open: "\u0627\u0641\u062A\u062D",
|
|
1505
1562
|
select: "\u0627\u062E\u062A\u0631",
|
|
1506
1563
|
clone: "\u0627\u0633\u062A\u0646\u0633\u062E",
|
|
1507
|
-
prepend: "\u0633\u0628\u0642"
|
|
1564
|
+
prepend: "\u0633\u0628\u0642",
|
|
1565
|
+
socket: "\u0645\u0642\u0628\u0633"
|
|
1508
1566
|
},
|
|
1509
1567
|
modifiers: {
|
|
1510
1568
|
to: "\u0625\u0644\u0649",
|
|
@@ -1571,6 +1629,7 @@ var ar = {
|
|
|
1571
1629
|
otherwise: "\u062E\u0644\u0627\u0641 \u0630\u0644\u0643",
|
|
1572
1630
|
end: "\u0627\u0644\u0646\u0647\u0627\u064A\u0629",
|
|
1573
1631
|
live: "\u062D\u064A",
|
|
1632
|
+
bind: "\u0627\u0631\u0628\u0637",
|
|
1574
1633
|
changes: "\u064A\u062A\u063A\u064A\u0631"
|
|
1575
1634
|
},
|
|
1576
1635
|
temporal: {
|
|
@@ -1652,7 +1711,8 @@ var tr = {
|
|
|
1652
1711
|
tell: "s\xF6yle",
|
|
1653
1712
|
trigger: "tetikle",
|
|
1654
1713
|
send: "g\xF6nder",
|
|
1655
|
-
take: "
|
|
1714
|
+
take: "tut",
|
|
1715
|
+
// auditor: dict emitted a word the profile reads differently
|
|
1656
1716
|
put: "koy",
|
|
1657
1717
|
set: "ayarla",
|
|
1658
1718
|
get: "al",
|
|
@@ -1665,7 +1725,11 @@ var tr = {
|
|
|
1665
1725
|
unless: "de\u011Filse",
|
|
1666
1726
|
repeat: "tekrarla",
|
|
1667
1727
|
for: "i\xE7in",
|
|
1668
|
-
while
|
|
1728
|
+
// `süresince` (the semantic tr profile's while primary), not `iken`: `iken`
|
|
1729
|
+
// is the profile's WHEN primary (logical.when below also emits it), so a
|
|
1730
|
+
// fronted repeat-while head tokenized as `when` and the condition dropped
|
|
1731
|
+
// wholesale. Same dict↔profile homonym disambiguation as pl get/pobierz.
|
|
1732
|
+
while: "s\xFCresince",
|
|
1669
1733
|
until: "kadar",
|
|
1670
1734
|
continue: "devam",
|
|
1671
1735
|
break: "dur",
|
|
@@ -1695,7 +1759,8 @@ var tr = {
|
|
|
1695
1759
|
swap: "takas",
|
|
1696
1760
|
morph: "d\xF6n\xFC\u015Ft\xFCr",
|
|
1697
1761
|
settle: "sabitlen",
|
|
1698
|
-
append: "
|
|
1762
|
+
append: "ili\u015Ftir",
|
|
1763
|
+
// profile primary; 'ekle' is add's word (parsed as add)
|
|
1699
1764
|
exit: "\xE7\u0131k",
|
|
1700
1765
|
install: "kur",
|
|
1701
1766
|
breakpoint: "kesme-noktas\u0131",
|
|
@@ -1704,7 +1769,8 @@ var tr = {
|
|
|
1704
1769
|
open: "a\xE7",
|
|
1705
1770
|
select: "se\xE7",
|
|
1706
1771
|
clone: "klonla",
|
|
1707
|
-
prepend: "ba\u015F\u0131naekle"
|
|
1772
|
+
prepend: "ba\u015F\u0131naekle",
|
|
1773
|
+
socket: "soket"
|
|
1708
1774
|
},
|
|
1709
1775
|
modifiers: {
|
|
1710
1776
|
to: "e",
|
|
@@ -1727,8 +1793,11 @@ var tr = {
|
|
|
1727
1793
|
events: {
|
|
1728
1794
|
click: "t\u0131klama",
|
|
1729
1795
|
dblclick: "\xE7ift_t\u0131klama",
|
|
1730
|
-
|
|
1731
|
-
|
|
1796
|
+
// Fused (no `_`): the semantic tokenizer splits on `_`, breaking event
|
|
1797
|
+
// recognition (mousedown → "bas" / mouseup mis-captured). Mirrors the #535
|
|
1798
|
+
// ru/uk fuse + #510 resize fix.
|
|
1799
|
+
mousedown: "farebas",
|
|
1800
|
+
mouseup: "fareb\u0131rak",
|
|
1732
1801
|
mouseenter: "fare_gir",
|
|
1733
1802
|
mouseleave: "fare_\xE7\u0131k",
|
|
1734
1803
|
mouseover: "fare_\xFCst\xFC",
|
|
@@ -1745,7 +1814,7 @@ var tr = {
|
|
|
1745
1814
|
reset: "s\u0131f\u0131rla",
|
|
1746
1815
|
load: "y\xFCkle",
|
|
1747
1816
|
unload: "y\xFCkle_kald\u0131r",
|
|
1748
|
-
resize: "
|
|
1817
|
+
resize: "boyutland\u0131rma",
|
|
1749
1818
|
scroll: "kayd\u0131r",
|
|
1750
1819
|
touchstart: "dokunma_ba\u015Fla",
|
|
1751
1820
|
touchend: "dokunma_bitir",
|
|
@@ -1766,7 +1835,7 @@ var tr = {
|
|
|
1766
1835
|
equals: "e\u015Fittir",
|
|
1767
1836
|
has: "var",
|
|
1768
1837
|
have: "var",
|
|
1769
|
-
then: "
|
|
1838
|
+
then: "ard\u0131ndan",
|
|
1770
1839
|
else: "yoksa",
|
|
1771
1840
|
otherwise: "aksi_halde",
|
|
1772
1841
|
end: "son",
|
|
@@ -1822,13 +1891,18 @@ var tr = {
|
|
|
1822
1891
|
},
|
|
1823
1892
|
expressions: {
|
|
1824
1893
|
first: "ilk",
|
|
1825
|
-
|
|
1894
|
+
// 'son' is also the END keyword emission (block terminator), and the
|
|
1895
|
+
// parser's end-recognizers match it by value — so a positional `last`
|
|
1896
|
+
// emission of 'son' terminated the enclosing block mid-condition
|
|
1897
|
+
// (focus-trap's `eşleşir son <button/>` dropped the branch body; the sw
|
|
1898
|
+
// mwisho class). 'sonuncu' ("the last one") is unambiguous.
|
|
1899
|
+
last: "sonuncu",
|
|
1826
1900
|
next: "sonraki",
|
|
1827
1901
|
previous: "\xF6nceki",
|
|
1828
1902
|
prev: "\xF6nc",
|
|
1829
1903
|
at: "de",
|
|
1830
1904
|
random: "rastgele",
|
|
1831
|
-
closest: "
|
|
1905
|
+
closest: "enyak\u0131n",
|
|
1832
1906
|
parent: "ebeveyn",
|
|
1833
1907
|
children: "\xE7ocuklar",
|
|
1834
1908
|
within: "i\xE7inde",
|
|
@@ -1858,7 +1932,7 @@ var id = {
|
|
|
1858
1932
|
get: "dapatkan",
|
|
1859
1933
|
add: "tambah",
|
|
1860
1934
|
remove: "hapus",
|
|
1861
|
-
toggle: "
|
|
1935
|
+
toggle: "alihkan",
|
|
1862
1936
|
hide: "sembunyikan",
|
|
1863
1937
|
show: "tampilkan",
|
|
1864
1938
|
if: "jika",
|
|
@@ -1871,7 +1945,10 @@ var id = {
|
|
|
1871
1945
|
break: "hentikan",
|
|
1872
1946
|
halt: "berhenti",
|
|
1873
1947
|
wait: "tunggu",
|
|
1874
|
-
fetch
|
|
1948
|
+
// profile primary; 'ambil' is take's word — emitting it for fetch made every
|
|
1949
|
+
// fetch parse as take once the fused take-event pattern came alive (the de
|
|
1950
|
+
// holen/abrufen bug class)
|
|
1951
|
+
fetch: "muat",
|
|
1875
1952
|
call: "panggil",
|
|
1876
1953
|
return: "kembali",
|
|
1877
1954
|
make: "buat",
|
|
@@ -1880,7 +1957,11 @@ var id = {
|
|
|
1880
1957
|
catch: "tangkap",
|
|
1881
1958
|
measure: "ukur",
|
|
1882
1959
|
transition: "transisi",
|
|
1883
|
-
|
|
1960
|
+
// naikkan (raise), not tambahkan — tambahkan is the semantic profile's
|
|
1961
|
+
// `add` alternative, so emitting it made increment-counter parse as ADD
|
|
1962
|
+
// (the #373 collision family). naikkan is the profile's increment
|
|
1963
|
+
// alternative, pairing naturally with the decrement side.
|
|
1964
|
+
increment: "naikkan",
|
|
1884
1965
|
decrement: "kurangi",
|
|
1885
1966
|
default: "bawaan",
|
|
1886
1967
|
go: "pergi",
|
|
@@ -1891,15 +1972,20 @@ var id = {
|
|
|
1891
1972
|
beep: "bunyi",
|
|
1892
1973
|
js: "js",
|
|
1893
1974
|
async: "asinkron",
|
|
1894
|
-
render: "
|
|
1975
|
+
render: "olah",
|
|
1976
|
+
// auditor: dict emitted a word the profile reads differently
|
|
1895
1977
|
swap: "tukar",
|
|
1896
|
-
morph: "
|
|
1897
|
-
|
|
1898
|
-
|
|
1978
|
+
morph: "ubah",
|
|
1979
|
+
// auditor: dict emitted a word the profile reads differently
|
|
1980
|
+
settle: "stabilkan",
|
|
1981
|
+
// auditor: dict emitted a word the profile reads differently
|
|
1982
|
+
append: "sisipkan",
|
|
1983
|
+
// profile primary; 'tambah_akhir' splits and is unrecognized
|
|
1899
1984
|
exit: "keluar",
|
|
1900
1985
|
install: "pasang",
|
|
1901
1986
|
breakpoint: "titik-henti",
|
|
1902
|
-
clear: "
|
|
1987
|
+
clear: "bersihkan",
|
|
1988
|
+
// hapus is the remove PRIMARY in the profile
|
|
1903
1989
|
close: "tutup",
|
|
1904
1990
|
open: "buka",
|
|
1905
1991
|
select: "pilih",
|
|
@@ -2052,20 +2138,34 @@ var qu = {
|
|
|
2052
2138
|
tell: "niy",
|
|
2053
2139
|
trigger: "kichay",
|
|
2054
2140
|
send: "kachay",
|
|
2055
|
-
take: "
|
|
2141
|
+
take: "hapiy",
|
|
2142
|
+
// auditor: dict emitted a word the profile reads differently
|
|
2056
2143
|
put: "churay",
|
|
2057
|
-
set
|
|
2058
|
-
|
|
2144
|
+
// churay is the semantic qu profile's `put` primary; `set` is churanay. Emitting
|
|
2145
|
+
// churay for set made the semantic parser read a transformed `set` as `put`.
|
|
2146
|
+
// See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).
|
|
2147
|
+
set: "churanay",
|
|
2148
|
+
// Align with the semantic quechua profile's `get` primary (`taripay`); the
|
|
2149
|
+
// previous `chaskiy` had no profile entry, so the transformed `get` dropped
|
|
2150
|
+
// (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.
|
|
2151
|
+
get: "taripay",
|
|
2059
2152
|
add: "yapay",
|
|
2060
2153
|
remove: "qichuy",
|
|
2061
2154
|
toggle: "tikray",
|
|
2062
2155
|
hide: "pakay",
|
|
2063
2156
|
show: "rikuchiy",
|
|
2064
2157
|
if: "sichus",
|
|
2065
|
-
unless: "
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2158
|
+
unless: "mana sichus",
|
|
2159
|
+
// spaced phrase ("if not"); `_` form split to `mana`+`sichus`(=if) at parse time
|
|
2160
|
+
repeat: "kutipay",
|
|
2161
|
+
for: "sapankaq",
|
|
2162
|
+
// profile's for word — rayku doubles as `by`
|
|
2163
|
+
// `kaykamaqa` (the semantic qu profile's while primary), not `kay_kaq`: the
|
|
2164
|
+
// `_` form is unknown to the profile (and `_` words split at parse time, cf.
|
|
2165
|
+
// qhipaman_yapay), so the fronted repeat-while head never formed a `while`
|
|
2166
|
+
// node — the condition dropped wholesale. Same dict↔profile alignment as
|
|
2167
|
+
// vi render / de abrufen.
|
|
2168
|
+
while: "kaykamaqa",
|
|
2069
2169
|
until: "hayk_akama",
|
|
2070
2170
|
continue: "purichiy",
|
|
2071
2171
|
break: "p_akiy",
|
|
@@ -2075,12 +2175,18 @@ var qu = {
|
|
|
2075
2175
|
call: "qayay",
|
|
2076
2176
|
return: "kutimuy",
|
|
2077
2177
|
make: "ruray",
|
|
2078
|
-
log
|
|
2178
|
+
// qillqay is the semantic qu profile's `copy` primary; `log` is qillqakuy.
|
|
2179
|
+
// Emitting qillqay for log made the parser read every transformed log as
|
|
2180
|
+
// copy (log-value/log-element/get-value lossy) — same realign as set above.
|
|
2181
|
+
log: "qillqakuy",
|
|
2079
2182
|
throw: "wikchuy",
|
|
2080
2183
|
catch: "hapsiy",
|
|
2081
2184
|
measure: "tupuy",
|
|
2082
|
-
|
|
2083
|
-
|
|
2185
|
+
// pasay, not tikray: the semantic qu profile's toggle keyword is
|
|
2186
|
+
// t'ikray/tikray, so a tikray render collided with toggle and the
|
|
2187
|
+
// transition command never anchored (sw kama precedent, #569).
|
|
2188
|
+
transition: "pasay",
|
|
2189
|
+
increment: "yapachiy",
|
|
2084
2190
|
decrement: "pisiyachiy",
|
|
2085
2191
|
default: "\xF1awpaq_kaq",
|
|
2086
2192
|
go: "riy",
|
|
@@ -2091,20 +2197,26 @@ var qu = {
|
|
|
2091
2197
|
beep: "waqay",
|
|
2092
2198
|
js: "js",
|
|
2093
2199
|
async: "mana_suyaspa",
|
|
2094
|
-
render: "
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2200
|
+
render: "rikurichiy",
|
|
2201
|
+
// auditor: dict emitted a word the profile reads differently
|
|
2202
|
+
swap: "t'inkuy",
|
|
2203
|
+
// profile primary; 'rantin_tikray' splits, 'tikray' is toggle's word
|
|
2204
|
+
morph: "tukunay",
|
|
2205
|
+
// auditor: dict emitted a word the profile reads differently
|
|
2206
|
+
settle: "tiyakuy",
|
|
2207
|
+
// auditor: dict emitted a word the profile reads differently
|
|
2208
|
+
append: "qatichiy",
|
|
2209
|
+
// profile's append primary (single token); `qhipaman_yapay` `_`-split to qhipaman+yapay(=add) at parse time
|
|
2099
2210
|
exit: "lluqsiy",
|
|
2100
|
-
install: "
|
|
2211
|
+
install: "tarpuy",
|
|
2101
2212
|
breakpoint: "sayachinay",
|
|
2102
2213
|
clear: "pichay",
|
|
2103
2214
|
close: "wichqay",
|
|
2104
2215
|
open: "kichay",
|
|
2105
2216
|
select: "akllay",
|
|
2106
2217
|
clone: "kikinchay",
|
|
2107
|
-
prepend: "\xF1awpachiy"
|
|
2218
|
+
prepend: "\xF1awpachiy",
|
|
2219
|
+
socket: "tinkina"
|
|
2108
2220
|
},
|
|
2109
2221
|
modifiers: {
|
|
2110
2222
|
to: "man",
|
|
@@ -2127,8 +2239,10 @@ var qu = {
|
|
|
2127
2239
|
events: {
|
|
2128
2240
|
click: "\xF1itiy",
|
|
2129
2241
|
dblclick: "iskay_\xF1itiy",
|
|
2130
|
-
|
|
2131
|
-
|
|
2242
|
+
// Fused (no `_`): the semantic tokenizer splits on `_` — and `rat_ñitiy` then
|
|
2243
|
+
// mis-captured as the `click` event (ñitiy→click). Mirrors the #535 ru/uk fuse.
|
|
2244
|
+
mousedown: "rat\xF1itiy",
|
|
2245
|
+
mouseup: "rathuqariy",
|
|
2132
2246
|
mouseenter: "rat_yaykuy",
|
|
2133
2247
|
mouseleave: "rat_lluqsiy",
|
|
2134
2248
|
mouseover: "rat_hawapi",
|
|
@@ -2167,7 +2281,11 @@ var qu = {
|
|
|
2167
2281
|
has: "kachkan",
|
|
2168
2282
|
have: "kachkani",
|
|
2169
2283
|
then: "chayqa",
|
|
2170
|
-
else
|
|
2284
|
+
// Align to the semantic profile's else word `manachus`. The old `mana_chayqa`
|
|
2285
|
+
// tokenized as `mana`(false) + `_` + `chayqa`(then) — no else keyword formed,
|
|
2286
|
+
// so qu conditionals never split their else branch. `manachus` is a single
|
|
2287
|
+
// token the profile-derived keyword map reads as `else` (dict↔profile align).
|
|
2288
|
+
else: "manachus",
|
|
2171
2289
|
otherwise: "huk_kaqpi",
|
|
2172
2290
|
end: "tukuy",
|
|
2173
2291
|
live: "kawsay",
|
|
@@ -2190,7 +2308,7 @@ var qu = {
|
|
|
2190
2308
|
values: {
|
|
2191
2309
|
true: "cheqaq",
|
|
2192
2310
|
false: "llulla",
|
|
2193
|
-
null: "
|
|
2311
|
+
null: "chusaq",
|
|
2194
2312
|
undefined: "mana_riqsisqa",
|
|
2195
2313
|
it: "chay",
|
|
2196
2314
|
its: "chaypaq",
|
|
@@ -2228,12 +2346,12 @@ var qu = {
|
|
|
2228
2346
|
prev: "\xF1awpaq",
|
|
2229
2347
|
at: "pi",
|
|
2230
2348
|
random: "imaymanata",
|
|
2231
|
-
closest: "
|
|
2349
|
+
closest: "kaylla",
|
|
2232
2350
|
parent: "mama_tayta",
|
|
2233
2351
|
children: "wawakuna",
|
|
2234
2352
|
within: "ukupi",
|
|
2235
2353
|
no: "mana_kanchu",
|
|
2236
|
-
empty: "
|
|
2354
|
+
empty: "chusaq",
|
|
2237
2355
|
some: "wakin",
|
|
2238
2356
|
"starts with": "qallarisqa wan",
|
|
2239
2357
|
"ends with": "tukusqa wan",
|
|
@@ -2254,11 +2372,17 @@ var sw = {
|
|
|
2254
2372
|
send: "tuma",
|
|
2255
2373
|
take: "chukua",
|
|
2256
2374
|
put: "weka",
|
|
2257
|
-
set
|
|
2375
|
+
// weka is the semantic sw profile's `put` primary; `set` is seti. Emitting weka
|
|
2376
|
+
// for set made the semantic parser read a transformed `set` as `put`.
|
|
2377
|
+
// See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).
|
|
2378
|
+
set: "seti",
|
|
2258
2379
|
get: "pata",
|
|
2259
2380
|
add: "ongeza",
|
|
2260
2381
|
remove: "ondoa",
|
|
2261
2382
|
toggle: "badilisha",
|
|
2383
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
2384
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
2385
|
+
blur: "blur",
|
|
2262
2386
|
hide: "ficha",
|
|
2263
2387
|
show: "onyesha",
|
|
2264
2388
|
if: "kama",
|
|
@@ -2274,13 +2398,14 @@ var sw = {
|
|
|
2274
2398
|
fetch: "leta",
|
|
2275
2399
|
call: "ita",
|
|
2276
2400
|
return: "rudi",
|
|
2277
|
-
make: "
|
|
2401
|
+
make: "tengeneza",
|
|
2402
|
+
// auditor: dict emitted a word the profile reads differently
|
|
2278
2403
|
log: "andika",
|
|
2279
2404
|
throw: "tupa",
|
|
2280
2405
|
catch: "shika",
|
|
2281
2406
|
measure: "pima",
|
|
2282
2407
|
transition: "mpito",
|
|
2283
|
-
increment: "
|
|
2408
|
+
increment: "ongezeko",
|
|
2284
2409
|
decrement: "punguza",
|
|
2285
2410
|
default: "msingi",
|
|
2286
2411
|
go: "nenda",
|
|
@@ -2293,18 +2418,23 @@ var sw = {
|
|
|
2293
2418
|
async: "sainkroni",
|
|
2294
2419
|
render: "chora",
|
|
2295
2420
|
swap: "badilishana",
|
|
2296
|
-
morph: "
|
|
2421
|
+
morph: "geuza",
|
|
2422
|
+
// auditor: dict emitted a word the profile reads differently
|
|
2297
2423
|
settle: "tulia",
|
|
2298
|
-
append: "
|
|
2424
|
+
append: "ambatanisha",
|
|
2425
|
+
// profile primary; 'ongezaMwisho' is unrecognized
|
|
2299
2426
|
exit: "toka",
|
|
2300
2427
|
install: "sakinisha",
|
|
2301
2428
|
breakpoint: "nukta-simama",
|
|
2302
|
-
clear: "
|
|
2429
|
+
clear: "safisha",
|
|
2430
|
+
// futa is a remove alternative in the profile
|
|
2303
2431
|
close: "funga",
|
|
2304
2432
|
open: "fungua",
|
|
2305
2433
|
select: "chagua",
|
|
2306
2434
|
clone: "nakili",
|
|
2307
|
-
prepend: "tanguliza"
|
|
2435
|
+
prepend: "tanguliza",
|
|
2436
|
+
focus: "lenga",
|
|
2437
|
+
socket: "soketi"
|
|
2308
2438
|
},
|
|
2309
2439
|
modifiers: {
|
|
2310
2440
|
to: "kwa",
|
|
@@ -2314,7 +2444,14 @@ var sw = {
|
|
|
2314
2444
|
at: "katika",
|
|
2315
2445
|
in: "ndani",
|
|
2316
2446
|
of: "ya",
|
|
2317
|
-
|
|
2447
|
+
// `kuwa` ("to be/become" — the conversion sense, cf. `badilisha kuwa`), not
|
|
2448
|
+
// `kama`: sw `kama` is the IF keyword (commands.if above and the semantic sw
|
|
2449
|
+
// profile's if primary), so emitting it for `as` grew a phantom `if` command
|
|
2450
|
+
// out of every transformed `as <Type>` tail (`kama JSON`, `kama Number`) when
|
|
2451
|
+
// the semantic parser split event-body statements. Same dict↔profile homonym
|
|
2452
|
+
// disambiguation as pl get/pobierz. The semantic fetch-sw pattern still
|
|
2453
|
+
// tolerates hand-written `kama` in as-marker position.
|
|
2454
|
+
as: "kuwa",
|
|
2318
2455
|
by: "na",
|
|
2319
2456
|
before: "kabla",
|
|
2320
2457
|
after: "baada",
|
|
@@ -2370,7 +2507,7 @@ var sw = {
|
|
|
2370
2507
|
else: "sivyo",
|
|
2371
2508
|
otherwise: "vinginevyo",
|
|
2372
2509
|
end: "mwisho",
|
|
2373
|
-
live: "
|
|
2510
|
+
live: "mubashara",
|
|
2374
2511
|
changes: "inabadilika"
|
|
2375
2512
|
},
|
|
2376
2513
|
temporal: {
|
|
@@ -2422,13 +2559,25 @@ var sw = {
|
|
|
2422
2559
|
},
|
|
2423
2560
|
expressions: {
|
|
2424
2561
|
first: "kwanza",
|
|
2425
|
-
|
|
2562
|
+
// 'mwisho' is the END keyword (block terminator) — the tokenizer's keyword
|
|
2563
|
+
// map is last-wins, so a positional `last` emission of 'mwisho' reads as
|
|
2564
|
+
// `end` and terminates the enclosing block mid-condition (focus-trap's
|
|
2565
|
+
// `… inafanana mwisho <button/>` dropped the whole branch body). Emit the
|
|
2566
|
+
// concatenated adjective form instead (wa mwisho — the saufsi/wennnicht/
|
|
2567
|
+
// enyakın single-token class); the tokenizer reads it as `last`.
|
|
2568
|
+
last: "wamwisho",
|
|
2426
2569
|
next: "ijayo",
|
|
2427
2570
|
previous: "iliyopita",
|
|
2428
2571
|
prev: "awali",
|
|
2429
2572
|
at: "katika",
|
|
2430
2573
|
random: "nasibu",
|
|
2431
|
-
|
|
2574
|
+
// Natural Swahili: `karibu` ("near/close") is the ordinary word and already
|
|
2575
|
+
// maps to closest. The earlier `karibu_zaidi` ("nearer") underscore-split to
|
|
2576
|
+
// karibu/_/zaidi (the stray `_ zaidi` broke positional capture); the fused
|
|
2577
|
+
// `karibuzaidi` parsed but isn't real Swahili. `karibu` alone is both natural
|
|
2578
|
+
// and correct (the sw tokenizer is single-word-only, so a spaced `karibu
|
|
2579
|
+
// zaidi` would strand `zaidi` regardless).
|
|
2580
|
+
closest: "karibu",
|
|
2432
2581
|
parent: "mzazi",
|
|
2433
2582
|
children: "watoto",
|
|
2434
2583
|
within: "ndani_ya",
|
|
@@ -2459,17 +2608,22 @@ var pt = {
|
|
|
2459
2608
|
add: "adicionar",
|
|
2460
2609
|
remove: "remover",
|
|
2461
2610
|
toggle: "alternar",
|
|
2611
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
2612
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
2613
|
+
blur: "desfocar",
|
|
2462
2614
|
hide: "esconder",
|
|
2463
2615
|
show: "mostrar",
|
|
2464
2616
|
if: "se",
|
|
2465
|
-
unless: "
|
|
2617
|
+
unless: "salvo",
|
|
2618
|
+
// a_menos splits at _ in the pt extractor (see profile)
|
|
2466
2619
|
repeat: "repetir",
|
|
2467
2620
|
for: "para",
|
|
2468
2621
|
while: "enquanto",
|
|
2469
2622
|
until: "at\xE9",
|
|
2470
2623
|
continue: "continuar",
|
|
2471
|
-
|
|
2472
|
-
|
|
2624
|
+
// un-crossed: the profile/tokenizer read parar=halt, interromper=break
|
|
2625
|
+
break: "interromper",
|
|
2626
|
+
halt: "parar",
|
|
2473
2627
|
wait: "esperar",
|
|
2474
2628
|
fetch: "buscar",
|
|
2475
2629
|
call: "chamar",
|
|
@@ -2504,7 +2658,9 @@ var pt = {
|
|
|
2504
2658
|
open: "abrir",
|
|
2505
2659
|
select: "selecionar",
|
|
2506
2660
|
clone: "clonar",
|
|
2507
|
-
prepend: "preceder"
|
|
2661
|
+
prepend: "preceder",
|
|
2662
|
+
focus: "focar",
|
|
2663
|
+
socket: "soquete"
|
|
2508
2664
|
},
|
|
2509
2665
|
modifiers: {
|
|
2510
2666
|
to: "para",
|
|
@@ -2628,7 +2784,7 @@ var pt = {
|
|
|
2628
2784
|
prev: "ant",
|
|
2629
2785
|
at: "em",
|
|
2630
2786
|
random: "aleat\xF3rio",
|
|
2631
|
-
closest: "
|
|
2787
|
+
closest: "maispr\xF3ximo",
|
|
2632
2788
|
parent: "pai",
|
|
2633
2789
|
children: "filhos",
|
|
2634
2790
|
within: "dentro",
|
|
@@ -2662,7 +2818,7 @@ var it = {
|
|
|
2662
2818
|
hide: "nascondere",
|
|
2663
2819
|
show: "mostrare",
|
|
2664
2820
|
if: "se",
|
|
2665
|
-
unless: "
|
|
2821
|
+
unless: "salvo",
|
|
2666
2822
|
repeat: "ripetere",
|
|
2667
2823
|
for: "per",
|
|
2668
2824
|
while: "mentre",
|
|
@@ -2695,7 +2851,8 @@ var it = {
|
|
|
2695
2851
|
swap: "scambiare",
|
|
2696
2852
|
morph: "trasformare",
|
|
2697
2853
|
settle: "stabilizzare",
|
|
2698
|
-
append: "
|
|
2854
|
+
append: "accodare",
|
|
2855
|
+
// profile primary; 'aggiungere' is add's word (parsed as add)
|
|
2699
2856
|
exit: "uscire",
|
|
2700
2857
|
install: "installare",
|
|
2701
2858
|
breakpoint: "punto-interruzione",
|
|
@@ -2704,7 +2861,10 @@ var it = {
|
|
|
2704
2861
|
open: "aprire",
|
|
2705
2862
|
select: "selezionare",
|
|
2706
2863
|
clone: "clonare",
|
|
2707
|
-
prepend: "anteporre"
|
|
2864
|
+
prepend: "anteporre",
|
|
2865
|
+
// profile primary; without a commands entry the transformer fell back to
|
|
2866
|
+
// the EVENTS noun 'fuoco', which generated focus patterns can't match
|
|
2867
|
+
focus: "focalizzare"
|
|
2708
2868
|
},
|
|
2709
2869
|
modifiers: {
|
|
2710
2870
|
to: "a",
|
|
@@ -2828,7 +2988,7 @@ var it = {
|
|
|
2828
2988
|
prev: "prec",
|
|
2829
2989
|
at: "a",
|
|
2830
2990
|
random: "casuale",
|
|
2831
|
-
closest: "
|
|
2991
|
+
closest: "vicino",
|
|
2832
2992
|
parent: "genitore",
|
|
2833
2993
|
children: "figli",
|
|
2834
2994
|
within: "dentro",
|
|
@@ -2891,7 +3051,8 @@ var vi = {
|
|
|
2891
3051
|
beep: "beep",
|
|
2892
3052
|
js: "js",
|
|
2893
3053
|
async: "b\u1EA5t \u0111\u1ED3ng b\u1ED9",
|
|
2894
|
-
render: "
|
|
3054
|
+
render: "k\u1EBFt xu\u1EA5t",
|
|
3055
|
+
// distinct from `show` (was `hiển thị`, which collides with show: the semantic profile reads `hiển thị` as show, `kết xuất` as render)
|
|
2895
3056
|
swap: "ho\xE1n \u0111\u1ED5i",
|
|
2896
3057
|
morph: "bi\u1EBFn \u0111\u1ED5i",
|
|
2897
3058
|
settle: "\u1ED5n \u0111\u1ECBnh",
|
|
@@ -2906,7 +3067,8 @@ var vi = {
|
|
|
2906
3067
|
prepend: "th\xEAm \u0111\u1EA7u",
|
|
2907
3068
|
else: "kh\xF4ng th\xEC",
|
|
2908
3069
|
breakpoint: "\u0111i\u1EC3m-d\u1EEBng",
|
|
2909
|
-
clear: "
|
|
3070
|
+
clear: "t\u1EA9y",
|
|
3071
|
+
// xóa is the remove PRIMARY in the profile
|
|
2910
3072
|
close: "\u0111\xF3ng",
|
|
2911
3073
|
open: "m\u1EDF",
|
|
2912
3074
|
select: "ch\u1ECDn"
|
|
@@ -2970,7 +3132,7 @@ var vi = {
|
|
|
2970
3132
|
else: "kh\xF4ng th\xEC",
|
|
2971
3133
|
end: "k\u1EBFt th\xFAc",
|
|
2972
3134
|
then: "r\u1ED3i",
|
|
2973
|
-
live: "
|
|
3135
|
+
live: "live",
|
|
2974
3136
|
changes: "thay \u0111\u1ED5i"
|
|
2975
3137
|
},
|
|
2976
3138
|
temporal: {
|
|
@@ -3052,15 +3214,23 @@ var pl = {
|
|
|
3052
3214
|
commands: {
|
|
3053
3215
|
on: "gdy",
|
|
3054
3216
|
tell: "powiedz",
|
|
3055
|
-
trigger: "
|
|
3217
|
+
trigger: "wyzw\xF3l",
|
|
3218
|
+
// auditor: dict emitted a word the profile reads differently
|
|
3056
3219
|
send: "wy\u015Blij",
|
|
3057
3220
|
take: "we\u017A",
|
|
3058
3221
|
put: "umie\u015B\u0107",
|
|
3059
3222
|
set: "ustaw",
|
|
3060
|
-
get
|
|
3223
|
+
// `uzyskaj` (the semantic pl profile's get primary), not `pobierz`: pl `pobierz`
|
|
3224
|
+
// ("download") is the profile's FETCH primary, so emitting it for get made the
|
|
3225
|
+
// parser read every transformed get as fetch (get-value lossy + a phantom fetch).
|
|
3226
|
+
// Same dict↔profile homonym disambiguation as tr load/install, qu get.
|
|
3227
|
+
get: "uzyskaj",
|
|
3061
3228
|
add: "dodaj",
|
|
3062
3229
|
remove: "usu\u0144",
|
|
3063
3230
|
toggle: "prze\u0142\u0105cz",
|
|
3231
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
3232
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
3233
|
+
blur: "rozmyj",
|
|
3064
3234
|
hide: "ukryj",
|
|
3065
3235
|
show: "poka\u017C",
|
|
3066
3236
|
if: "je\u015Bli",
|
|
@@ -3101,12 +3271,14 @@ var pl = {
|
|
|
3101
3271
|
exit: "wyjd\u017A",
|
|
3102
3272
|
install: "zainstaluj",
|
|
3103
3273
|
breakpoint: "punkt-przerwania",
|
|
3104
|
-
clear: "
|
|
3274
|
+
clear: "zeruj",
|
|
3275
|
+
// wyczyść is a remove alternative in the profile
|
|
3105
3276
|
close: "zamknij",
|
|
3106
3277
|
open: "otw\xF3rz",
|
|
3107
3278
|
select: "wybierz",
|
|
3108
3279
|
clone: "sklonuj",
|
|
3109
|
-
prepend: "poprzed\u017A"
|
|
3280
|
+
prepend: "poprzed\u017A",
|
|
3281
|
+
focus: "skup"
|
|
3110
3282
|
},
|
|
3111
3283
|
modifiers: {
|
|
3112
3284
|
to: "do",
|
|
@@ -3252,7 +3424,8 @@ var russianDictionary = {
|
|
|
3252
3424
|
commands: {
|
|
3253
3425
|
on: "\u043F\u0440\u0438",
|
|
3254
3426
|
tell: "\u0441\u043A\u0430\u0437\u0430\u0442\u044C",
|
|
3255
|
-
trigger: "\
|
|
3427
|
+
trigger: "\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C",
|
|
3428
|
+
// auditor: dict emitted a word the profile reads differently
|
|
3256
3429
|
send: "\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
|
|
3257
3430
|
take: "\u0432\u0437\u044F\u0442\u044C",
|
|
3258
3431
|
put: "\u043F\u043E\u043B\u043E\u0436\u0438\u0442\u044C",
|
|
@@ -3263,8 +3436,12 @@ var russianDictionary = {
|
|
|
3263
3436
|
toggle: "\u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C",
|
|
3264
3437
|
hide: "\u0441\u043A\u0440\u044B\u0442\u044C",
|
|
3265
3438
|
show: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",
|
|
3439
|
+
// command verb; the events section keeps the noun прокрутка for `on scroll`.
|
|
3440
|
+
// Without this entry the transformer fell back to the event noun, which the
|
|
3441
|
+
// parser doesn't read as the scroll command (#321 focus family).
|
|
3442
|
+
scroll: "\u043F\u0440\u043E\u043A\u0440\u0443\u0442\u0438\u0442\u044C",
|
|
3266
3443
|
if: "\u0435\u0441\u043B\u0438",
|
|
3267
|
-
unless: "\
|
|
3444
|
+
unless: "\u043A\u0440\u043E\u043C\u0435",
|
|
3268
3445
|
repeat: "\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
|
|
3269
3446
|
for: "\u0434\u043B\u044F",
|
|
3270
3447
|
while: "\u043F\u043E\u043A\u0430",
|
|
@@ -3297,10 +3474,12 @@ var russianDictionary = {
|
|
|
3297
3474
|
swap: "\u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C",
|
|
3298
3475
|
morph: "\u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
|
|
3299
3476
|
settle: "\u0441\u0442\u0430\u0431\u0438\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
|
|
3300
|
-
append: "\u0434\u043E\
|
|
3477
|
+
append: "\u0434\u043E\u043F\u0438\u0441\u0430\u0442\u044C",
|
|
3478
|
+
// profile alternative; the compound splits and добавить parses as add
|
|
3301
3479
|
exit: "\u0432\u044B\u0439\u0442\u0438",
|
|
3302
3480
|
else: "\u0438\u043D\u0430\u0447\u0435",
|
|
3303
|
-
install: "\
|
|
3481
|
+
install: "\u0438\u043D\u0441\u0442\u0430\u043B\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
|
|
3482
|
+
// loanword — `установить` is `set` (homonym); see russian profile
|
|
3304
3483
|
init: "\u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
|
|
3305
3484
|
behavior: "\u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435",
|
|
3306
3485
|
focus: "\u0441\u0444\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
|
|
@@ -3335,8 +3514,11 @@ var russianDictionary = {
|
|
|
3335
3514
|
events: {
|
|
3336
3515
|
click: "\u043A\u043B\u0438\u043A",
|
|
3337
3516
|
dblclick: "\u0434\u0432\u043E\u0439\u043D\u043E\u0439_\u043A\u043B\u0438\u043A",
|
|
3338
|
-
|
|
3339
|
-
|
|
3517
|
+
// Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form
|
|
3518
|
+
// breaks event recognition (mousedown → bare expression). Mirrors the #510 tr
|
|
3519
|
+
// resize fix (boyut_değiştir → boyutlandırma) and the enyakın superlative.
|
|
3520
|
+
mousedown: "\u043C\u044B\u0448\u044C\u0432\u043D\u0438\u0437",
|
|
3521
|
+
mouseup: "\u043C\u044B\u0448\u044C\u0432\u0432\u0435\u0440\u0445",
|
|
3340
3522
|
mouseenter: "\u043C\u044B\u0448\u044C_\u0432\u0445\u043E\u0434",
|
|
3341
3523
|
mouseleave: "\u043C\u044B\u0448\u044C_\u0432\u044B\u0445\u043E\u0434",
|
|
3342
3524
|
mouseover: "\u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0435",
|
|
@@ -3353,7 +3535,8 @@ var russianDictionary = {
|
|
|
3353
3535
|
reset: "\u0441\u0431\u0440\u043E\u0441",
|
|
3354
3536
|
load: "\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430",
|
|
3355
3537
|
unload: "\u0432\u044B\u0433\u0440\u0443\u0437\u043A\u0430",
|
|
3356
|
-
resize: "\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\
|
|
3538
|
+
resize: "\u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u0440\u0430\u0437\u043C\u0435\u0440\u0430",
|
|
3539
|
+
// fused (no `_`) — see mousedown note above
|
|
3357
3540
|
scroll: "\u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430",
|
|
3358
3541
|
touchstart: "\u043A\u0430\u0441\u0430\u043D\u0438\u0435_\u043D\u0430\u0447\u0430\u043B\u043E",
|
|
3359
3542
|
touchend: "\u043A\u0430\u0441\u0430\u043D\u0438\u0435_\u043A\u043E\u043D\u0435\u0446",
|
|
@@ -3478,7 +3661,8 @@ var ukrainianDictionary = {
|
|
|
3478
3661
|
commands: {
|
|
3479
3662
|
on: "\u043F\u0440\u0438",
|
|
3480
3663
|
tell: "\u0441\u043A\u0430\u0437\u0430\u0442\u0438",
|
|
3481
|
-
trigger: "\
|
|
3664
|
+
trigger: "\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0438",
|
|
3665
|
+
// auditor: dict emitted a word the profile reads differently
|
|
3482
3666
|
send: "\u043D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438",
|
|
3483
3667
|
take: "\u0432\u0437\u044F\u0442\u0438",
|
|
3484
3668
|
put: "\u043F\u043E\u043A\u043B\u0430\u0441\u0442\u0438",
|
|
@@ -3489,8 +3673,12 @@ var ukrainianDictionary = {
|
|
|
3489
3673
|
toggle: "\u043F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438",
|
|
3490
3674
|
hide: "\u0441\u0445\u043E\u0432\u0430\u0442\u0438",
|
|
3491
3675
|
show: "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u0438",
|
|
3676
|
+
// command verb; the events section keeps the noun прокрутка for `on scroll`.
|
|
3677
|
+
// Without this entry the transformer fell back to the event noun, which the
|
|
3678
|
+
// parser doesn't read as the scroll command (#321 focus family).
|
|
3679
|
+
scroll: "\u043F\u0440\u043E\u043A\u0440\u0443\u0442\u0438\u0442\u0438",
|
|
3492
3680
|
if: "\u044F\u043A\u0449\u043E",
|
|
3493
|
-
unless: "\
|
|
3681
|
+
unless: "\u043A\u0440\u0456\u043C",
|
|
3494
3682
|
repeat: "\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438",
|
|
3495
3683
|
for: "\u0434\u043B\u044F",
|
|
3496
3684
|
while: "\u043F\u043E\u043A\u0438",
|
|
@@ -3523,10 +3711,12 @@ var ukrainianDictionary = {
|
|
|
3523
3711
|
swap: "\u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438",
|
|
3524
3712
|
morph: "\u0442\u0440\u0430\u043D\u0441\u0444\u043E\u0440\u043C\u0443\u0432\u0430\u0442\u0438",
|
|
3525
3713
|
settle: "\u0441\u0442\u0430\u0431\u0456\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438",
|
|
3526
|
-
append: "\u0434\u043E\
|
|
3714
|
+
append: "\u0434\u043E\u043F\u0438\u0441\u0430\u0442\u0438",
|
|
3715
|
+
// profile alternative; the compound splits and додати parses as add
|
|
3527
3716
|
exit: "\u0432\u0438\u0439\u0442\u0438",
|
|
3528
3717
|
else: "\u0456\u043D\u0430\u043A\u0448\u0435",
|
|
3529
|
-
install: "\
|
|
3718
|
+
install: "\u0456\u043D\u0441\u0442\u0430\u043B\u044E\u0432\u0430\u0442\u0438",
|
|
3719
|
+
// loanword — `встановити` is `set` (homonym); see ukrainian profile
|
|
3530
3720
|
init: "\u0456\u043D\u0456\u0446\u0456\u0430\u043B\u0456\u0437\u0443\u0432\u0430\u0442\u0438",
|
|
3531
3721
|
behavior: "\u043F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0430",
|
|
3532
3722
|
focus: "\u0441\u0444\u043E\u043A\u0443\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
@@ -3561,8 +3751,10 @@ var ukrainianDictionary = {
|
|
|
3561
3751
|
events: {
|
|
3562
3752
|
click: "\u043A\u043B\u0456\u043A",
|
|
3563
3753
|
dblclick: "\u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0438\u0439_\u043A\u043B\u0456\u043A",
|
|
3564
|
-
|
|
3565
|
-
|
|
3754
|
+
// Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form
|
|
3755
|
+
// breaks event recognition. Mirrors the #510 tr resize fix + enyakın.
|
|
3756
|
+
mousedown: "\u043C\u0438\u0448\u0430\u0432\u043D\u0438\u0437",
|
|
3757
|
+
mouseup: "\u043C\u0438\u0448\u0430\u0432\u0433\u043E\u0440\u0443",
|
|
3566
3758
|
mouseenter: "\u043C\u0438\u0448\u0430_\u0432\u0445\u0456\u0434",
|
|
3567
3759
|
mouseleave: "\u043C\u0438\u0448\u0430_\u0432\u0438\u0445\u0456\u0434",
|
|
3568
3760
|
mouseover: "\u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043D\u044F",
|
|
@@ -3579,7 +3771,8 @@ var ukrainianDictionary = {
|
|
|
3579
3771
|
reset: "\u0441\u043A\u0438\u0434\u0430\u043D\u043D\u044F",
|
|
3580
3772
|
load: "\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",
|
|
3581
3773
|
unload: "\u0432\u0438\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",
|
|
3582
|
-
resize: "\u0437\u043C\u0456\u043D\
|
|
3774
|
+
resize: "\u0437\u043C\u0456\u043D\u0430\u0440\u043E\u0437\u043C\u0456\u0440\u0443",
|
|
3775
|
+
// fused (no `_`) — see mousedown note above
|
|
3583
3776
|
scroll: "\u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430",
|
|
3584
3777
|
touchstart: "\u0434\u043E\u0442\u0438\u043A_\u043F\u043E\u0447\u0430\u0442\u043E\u043A",
|
|
3585
3778
|
touchend: "\u0434\u043E\u0442\u0438\u043A_\u043A\u0456\u043D\u0435\u0446\u044C",
|
|
@@ -3716,10 +3909,12 @@ var hindiDictionary = {
|
|
|
3716
3909
|
hide: "\u091B\u093F\u092A\u093E\u090F\u0902",
|
|
3717
3910
|
show: "\u0926\u093F\u0916\u093E\u090F\u0902",
|
|
3718
3911
|
if: "\u0905\u0917\u0930",
|
|
3719
|
-
unless: "\u091C\
|
|
3912
|
+
unless: "\u091C\u092C \u0924\u0915 \u0928\u0939\u0940\u0902",
|
|
3913
|
+
// spaced (not जब_तक_नहीं) → one multi-word `unless` token
|
|
3720
3914
|
repeat: "\u0926\u094B\u0939\u0930\u093E\u090F\u0902",
|
|
3721
|
-
for: "\
|
|
3722
|
-
|
|
3915
|
+
for: "\u0939\u0947\u0924\u0941",
|
|
3916
|
+
// single token — के_लिए splits at _ in the hi extractor
|
|
3917
|
+
while: "\u091C\u092C \u0924\u0915",
|
|
3723
3918
|
until: "\u0924\u0915",
|
|
3724
3919
|
continue: "\u091C\u093E\u0930\u0940",
|
|
3725
3920
|
break: "\u0930\u094B\u0915\u0947\u0902",
|
|
@@ -3746,10 +3941,10 @@ var hindiDictionary = {
|
|
|
3746
3941
|
js: "\u091C\u0947\u090F\u0938",
|
|
3747
3942
|
async: "\u0905\u0938\u093F\u0902\u0915",
|
|
3748
3943
|
render: "\u0930\u0947\u0902\u0921\u0930",
|
|
3749
|
-
swap: "\
|
|
3944
|
+
swap: "\u0935\u093F\u0928\u093F\u092E\u092F",
|
|
3750
3945
|
morph: "\u0930\u0942\u092A\u093E\u0902\u0924\u0930",
|
|
3751
3946
|
settle: "\u0938\u094D\u0925\u093F\u0930",
|
|
3752
|
-
append: "\
|
|
3947
|
+
append: "\u0938\u0902\u0932\u0917\u094D\u0928",
|
|
3753
3948
|
exit: "\u092C\u093E\u0939\u0930",
|
|
3754
3949
|
else: "\u0935\u0930\u0928\u093E",
|
|
3755
3950
|
install: "\u0907\u0902\u0938\u094D\u091F\u0949\u0932",
|
|
@@ -3763,7 +3958,8 @@ var hindiDictionary = {
|
|
|
3763
3958
|
clear: "\u0938\u093E\u092B\u093C-\u0915\u0930\u0947\u0902",
|
|
3764
3959
|
close: "\u092C\u0902\u0926-\u0915\u0930\u0947\u0902",
|
|
3765
3960
|
open: "\u0916\u094B\u0932\u0947\u0902",
|
|
3766
|
-
select: "\u091A\u0941\u0928\u0947\u0902"
|
|
3961
|
+
select: "\u091A\u0941\u0928\u0947\u0902",
|
|
3962
|
+
socket: "\u0938\u0949\u0915\u0947\u091F"
|
|
3767
3963
|
},
|
|
3768
3964
|
modifiers: {
|
|
3769
3965
|
to: "\u0915\u094B",
|
|
@@ -3775,8 +3971,8 @@ var hindiDictionary = {
|
|
|
3775
3971
|
of: "\u0915\u093E",
|
|
3776
3972
|
as: "\u0915\u0947_\u0930\u0942\u092A_\u092E\u0947\u0902",
|
|
3777
3973
|
by: "\u0926\u094D\u0935\u093E\u0930\u093E",
|
|
3778
|
-
before: "\u0938\
|
|
3779
|
-
after: "\u0915\
|
|
3974
|
+
before: "\u0938\u0947 \u092A\u0939\u0932\u0947",
|
|
3975
|
+
after: "\u0915\u0947 \u092C\u093E\u0926",
|
|
3780
3976
|
over: "\u0915\u0947_\u090A\u092A\u0930",
|
|
3781
3977
|
under: "\u0915\u0947_\u0928\u0940\u091A\u0947",
|
|
3782
3978
|
between: "\u0915\u0947_\u092C\u0940\u091A",
|
|
@@ -3787,8 +3983,10 @@ var hindiDictionary = {
|
|
|
3787
3983
|
events: {
|
|
3788
3984
|
click: "\u0915\u094D\u0932\u093F\u0915",
|
|
3789
3985
|
dblclick: "\u0921\u092C\u0932_\u0915\u094D\u0932\u093F\u0915",
|
|
3790
|
-
|
|
3791
|
-
|
|
3986
|
+
// Fused (no `_`): the semantic tokenizer splits on `_`, breaking event
|
|
3987
|
+
// recognition (mousedown → "नीचे"). Mirrors the #535 ru/uk fuse.
|
|
3988
|
+
mousedown: "\u092E\u093E\u0909\u0938\u0928\u0940\u091A\u0947",
|
|
3989
|
+
mouseup: "\u092E\u093E\u0909\u0938\u090A\u092A\u0930",
|
|
3792
3990
|
mouseenter: "\u092E\u093E\u0909\u0938_\u092A\u094D\u0930\u0935\u0947\u0936",
|
|
3793
3991
|
mouseleave: "\u092E\u093E\u0909\u0938_\u092C\u093E\u0939\u0930",
|
|
3794
3992
|
mouseover: "\u092E\u093E\u0909\u0938_\u0913\u0935\u0930",
|
|
@@ -3820,7 +4018,11 @@ var hindiDictionary = {
|
|
|
3820
4018
|
not: "\u0928\u0939\u0940\u0902",
|
|
3821
4019
|
is: "\u0939\u0948",
|
|
3822
4020
|
exists: "\u092E\u094C\u091C\u0942\u0926",
|
|
3823
|
-
|
|
4021
|
+
// Natural spaced phrase `मेल खाता` ("matches") — how Hindi writes it. The base
|
|
4022
|
+
// tokenizer now matches multi-word profile keywords, so the hindi profile maps
|
|
4023
|
+
// `मेल खाता`→matches without the underscore (`मेल_खाता` split) or the
|
|
4024
|
+
// concatenated `मेलखाता` (parsed, but unnatural) workarounds.
|
|
4025
|
+
matches: "\u092E\u0947\u0932 \u0916\u093E\u0924\u093E",
|
|
3824
4026
|
contains: "\u0936\u093E\u092E\u093F\u0932",
|
|
3825
4027
|
includes: "\u092E\u0947\u0902_\u0939\u0948",
|
|
3826
4028
|
equals: "\u092C\u0930\u093E\u092C\u0930",
|
|
@@ -3957,7 +4159,7 @@ var bengaliDictionary = {
|
|
|
3957
4159
|
throw: "\u09A8\u09BF\u0995\u09CD\u09B7\u09C7\u09AA",
|
|
3958
4160
|
continue: "\u099A\u09BE\u09B2\u09BF\u09AF\u09BC\u09C7 \u09AF\u09BE\u09A8",
|
|
3959
4161
|
make: "\u09A4\u09C8\u09B0\u09BF \u0995\u09B0\u09C1\u09A8",
|
|
3960
|
-
append: "\
|
|
4162
|
+
append: "\u099C\u09C1\u09A1\u09BC\u09C1\u09A8",
|
|
3961
4163
|
prepend: "\u09B6\u09C1\u09B0\u09C1\u09A4\u09C7 \u09AF\u09CB\u0997",
|
|
3962
4164
|
focus: "\u09AB\u09CB\u0995\u09BE\u09B8",
|
|
3963
4165
|
blur: "\u099D\u09BE\u09AA\u09B8\u09BE",
|
|
@@ -3985,7 +4187,8 @@ var bengaliDictionary = {
|
|
|
3985
4187
|
clear: "\u09AA\u09B0\u09BF\u09B7\u09CD\u0995\u09BE\u09B0",
|
|
3986
4188
|
close: "\u09AC\u09A8\u09CD\u09A7",
|
|
3987
4189
|
open: "\u0996\u09C1\u09B2\u09C1\u09A8",
|
|
3988
|
-
select: "\u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8"
|
|
4190
|
+
select: "\u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8",
|
|
4191
|
+
socket: "\u09B8\u0995\u09C7\u099F"
|
|
3989
4192
|
},
|
|
3990
4193
|
modifiers: {
|
|
3991
4194
|
to: "\u0995\u09C7",
|
|
@@ -4044,6 +4247,7 @@ var bengaliDictionary = {
|
|
|
4044
4247
|
end: "\u09B6\u09C7\u09B7",
|
|
4045
4248
|
then: "\u09A4\u09BE\u09B0\u09AA\u09B0",
|
|
4046
4249
|
live: "\u09B2\u09BE\u0987\u09AD",
|
|
4250
|
+
bind: "\u09AC\u09BE\u0987\u09A8\u09CD\u09A1",
|
|
4047
4251
|
changes: "\u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09BF\u09A4 \u09B9\u09B2\u09C7"
|
|
4048
4252
|
},
|
|
4049
4253
|
temporal: {
|
|
@@ -4137,7 +4341,9 @@ var thaiDictionary = {
|
|
|
4137
4341
|
prepend: "\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E2B\u0E19\u0E49\u0E32",
|
|
4138
4342
|
focus: "\u0E42\u0E1F\u0E01\u0E31\u0E2A",
|
|
4139
4343
|
blur: "\u0E40\u0E1A\u0E25\u0E2D",
|
|
4140
|
-
|
|
4344
|
+
// เปลี่ยนผ่าน, not เปลี่ยน: the semantic th profile's `change` keyword is
|
|
4345
|
+
// เปลี่ยน, so a เปลี่ยน render could never anchor a transition command.
|
|
4346
|
+
transition: "\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E1C\u0E48\u0E32\u0E19",
|
|
4141
4347
|
settle: "\u0E04\u0E07\u0E17\u0E35\u0E48",
|
|
4142
4348
|
measure: "\u0E27\u0E31\u0E14",
|
|
4143
4349
|
async: "\u0E2D\u0E30\u0E0B\u0E34\u0E07\u0E04\u0E4C",
|
|
@@ -4338,10 +4544,13 @@ var malayDictionary = {
|
|
|
4338
4544
|
init: "mula",
|
|
4339
4545
|
clone: "klon",
|
|
4340
4546
|
breakpoint: "titik-henti",
|
|
4341
|
-
clear: "
|
|
4547
|
+
clear: "bersihkan",
|
|
4548
|
+
// padam is a remove alternative in the profile
|
|
4342
4549
|
close: "tutup",
|
|
4343
4550
|
open: "buka",
|
|
4344
|
-
select: "pilih"
|
|
4551
|
+
select: "pilih",
|
|
4552
|
+
socket: "soket"
|
|
4553
|
+
// derived from the ms profile (socket.primary); see generate-i18n-dictionaries
|
|
4345
4554
|
},
|
|
4346
4555
|
modifiers: {
|
|
4347
4556
|
to: "ke",
|
|
@@ -4512,10 +4721,14 @@ var tagalogDictionary = {
|
|
|
4512
4721
|
tell: "sabihin",
|
|
4513
4722
|
trigger: "palitawin",
|
|
4514
4723
|
send: "ipadala",
|
|
4515
|
-
take: "
|
|
4724
|
+
take: "kumuha",
|
|
4725
|
+
// auditor: dict emitted a word the profile reads differently
|
|
4516
4726
|
put: "ilagay",
|
|
4517
4727
|
set: "itakda",
|
|
4518
|
-
get
|
|
4728
|
+
// Align with the semantic tl profile's `get` primary (`kunin`); the previous
|
|
4729
|
+
// `kuhanin` is the base of fetch's `kuhanin_mula`, so the transformed `get`
|
|
4730
|
+
// dropped (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.
|
|
4731
|
+
get: "kunin",
|
|
4519
4732
|
add: "idagdag",
|
|
4520
4733
|
remove: "alisin",
|
|
4521
4734
|
toggle: "palitan",
|
|
@@ -4539,7 +4752,7 @@ var tagalogDictionary = {
|
|
|
4539
4752
|
throw: "ihagis",
|
|
4540
4753
|
catch: "hulihin",
|
|
4541
4754
|
measure: "sukatin",
|
|
4542
|
-
transition: "
|
|
4755
|
+
transition: "lumipat",
|
|
4543
4756
|
increment: "dagdagan",
|
|
4544
4757
|
decrement: "bawasan",
|
|
4545
4758
|
default: "pamantayan",
|
|
@@ -4551,10 +4764,13 @@ var tagalogDictionary = {
|
|
|
4551
4764
|
beep: "tunog",
|
|
4552
4765
|
js: "js",
|
|
4553
4766
|
async: "sabay",
|
|
4554
|
-
render: "
|
|
4767
|
+
render: "irender",
|
|
4768
|
+
// auditor: dict emitted a word the profile reads differently
|
|
4555
4769
|
swap: "palitan_pwesto",
|
|
4556
|
-
morph: "
|
|
4557
|
-
|
|
4770
|
+
morph: "baguhin",
|
|
4771
|
+
// auditor: dict emitted a word the profile reads differently
|
|
4772
|
+
settle: "magpatahimik",
|
|
4773
|
+
// auditor: dict emitted a word the profile reads differently
|
|
4558
4774
|
append: "idagdag_sa_dulo",
|
|
4559
4775
|
prepend: "idagdag_sa_simula",
|
|
4560
4776
|
exit: "lumabas",
|
|
@@ -4582,7 +4798,11 @@ var tagalogDictionary = {
|
|
|
4582
4798
|
as: "bilang",
|
|
4583
4799
|
by: "sa_pamamagitan_ng",
|
|
4584
4800
|
before: "bago",
|
|
4585
|
-
after:
|
|
4801
|
+
// `matapos` (not `pagkatapos`) for the positional "after": `pagkatapos` is
|
|
4802
|
+
// also Tagalog "then", so emitting it for the position modifier collides with
|
|
4803
|
+
// the sequence connector. `matapos` is the unambiguous positional form and
|
|
4804
|
+
// matches the semantic tl profile's `after`.
|
|
4805
|
+
after: "matapos",
|
|
4586
4806
|
over: "sa_ibabaw",
|
|
4587
4807
|
under: "sa_ilalim",
|
|
4588
4808
|
between: "sa_pagitan",
|
|
@@ -4742,6 +4962,8 @@ var he = {
|
|
|
4742
4962
|
beep: "\u05D1\u05D9\u05E4",
|
|
4743
4963
|
break: "\u05E9\u05D1\u05D5\u05E8",
|
|
4744
4964
|
call: "\u05E7\u05E8\u05D0",
|
|
4965
|
+
clear: "\u05E0\u05E7\u05D4",
|
|
4966
|
+
// profile's clear word — was untranslated (parsed as nothing)
|
|
4745
4967
|
continue: "\u05D4\u05DE\u05E9\u05DA",
|
|
4746
4968
|
copy: "\u05D4\u05E2\u05EA\u05E7",
|
|
4747
4969
|
decrement: "\u05D4\u05E7\u05D8\u05DF",
|
|
@@ -4754,6 +4976,7 @@ var he = {
|
|
|
4754
4976
|
halt: "\u05E2\u05E6\u05D5\u05E8",
|
|
4755
4977
|
hide: "\u05D4\u05E1\u05EA\u05E8",
|
|
4756
4978
|
if: "\u05D0\u05DD",
|
|
4979
|
+
unless: "\u05D0\u05DC\u05D0",
|
|
4757
4980
|
increment: "\u05D4\u05D2\u05D3\u05DC",
|
|
4758
4981
|
install: "\u05D4\u05EA\u05E7\u05DF",
|
|
4759
4982
|
js: "js",
|
|
@@ -4768,6 +4991,7 @@ var he = {
|
|
|
4768
4991
|
render: "\u05E8\u05E0\u05D3\u05E8",
|
|
4769
4992
|
repeat: "\u05D7\u05D6\u05D5\u05E8",
|
|
4770
4993
|
return: "\u05D4\u05D7\u05D6\u05E8",
|
|
4994
|
+
scroll: "\u05D2\u05DC\u05D5\u05DC",
|
|
4771
4995
|
send: "\u05E9\u05DC\u05D7",
|
|
4772
4996
|
set: "\u05E7\u05D1\u05E2",
|
|
4773
4997
|
settle: "\u05D4\u05EA\u05D9\u05D9\u05E6\u05D1",
|
|
@@ -4805,6 +5029,7 @@ var he = {
|
|
|
4805
5029
|
end: "\u05E1\u05D5\u05E3",
|
|
4806
5030
|
then: "\u05D0\u05D6",
|
|
4807
5031
|
live: "\u05D7\u05D9",
|
|
5032
|
+
bind: "\u05E7\u05E9\u05D5\u05E8",
|
|
4808
5033
|
changes: "\u05DE\u05E9\u05EA\u05E0\u05D4",
|
|
4809
5034
|
when: "\u05DB\u05D0\u05E9\u05E8",
|
|
4810
5035
|
where: "\u05D0\u05D9\u05E4\u05D4"
|
|
@@ -4823,7 +5048,9 @@ var he = {
|
|
|
4823
5048
|
your: "\u05E9\u05DC\u05DA"
|
|
4824
5049
|
},
|
|
4825
5050
|
attributes: {},
|
|
4826
|
-
expressions: {
|
|
5051
|
+
expressions: {
|
|
5052
|
+
last: "\u05D0\u05D7\u05E8\u05D5\u05DF"
|
|
5053
|
+
}
|
|
4827
5054
|
};
|
|
4828
5055
|
|
|
4829
5056
|
// src/dictionaries/index.ts
|