@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.
- package/dist/browser.cjs +626 -473
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +25 -3
- package/dist/browser.d.ts +25 -3
- package/dist/browser.js +623 -474
- package/dist/browser.js.map +1 -1
- package/dist/dictionaries/index.cjs +489 -472
- package/dist/dictionaries/index.cjs.map +1 -1
- package/dist/dictionaries/index.d.cts +5 -3
- package/dist/dictionaries/index.d.ts +5 -3
- package/dist/dictionaries/index.js +489 -473
- package/dist/dictionaries/index.js.map +1 -1
- package/dist/index.cjs +617 -473
- 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 +617 -473
- 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 +730 -478
- package/dist/lokascript-i18n.mjs.map +1 -1
- package/dist/plugins/vite.cjs +488 -472
- package/dist/plugins/vite.cjs.map +1 -1
- package/dist/plugins/vite.js +488 -472
- package/dist/plugins/vite.js.map +1 -1
- package/dist/plugins/webpack.cjs +488 -472
- package/dist/plugins/webpack.cjs.map +1 -1
- package/dist/plugins/webpack.js +488 -472
- package/dist/plugins/webpack.js.map +1 -1
- package/dist/{transformer-B0zy-kti.d.ts → transformer-BLv389qz.d.ts} +12 -47
- package/dist/{transformer-CzY_vHU0.d.cts → transformer-PFsYELrc.d.cts} +12 -47
- package/dist/{types-BYtpqGq3.d.cts → types-BcALAO6h.d.cts} +1 -1
- package/dist/{types-BYtpqGq3.d.ts → types-BcALAO6h.d.ts} +1 -1
- package/package.json +5 -5
- package/src/browser.ts +3 -0
- package/src/constants.ts +9 -0
- package/src/dictionaries/ar.ts +22 -43
- package/src/dictionaries/bn.ts +17 -0
- package/src/dictionaries/de.ts +19 -40
- package/src/dictionaries/en.ts +26 -0
- package/src/dictionaries/es.ts +19 -40
- package/src/dictionaries/fr.ts +19 -40
- package/src/dictionaries/he.ts +2 -0
- package/src/dictionaries/hi.ts +18 -48
- package/src/dictionaries/id.ts +22 -43
- package/src/dictionaries/index.ts +5 -1
- package/src/dictionaries/it.ts +18 -39
- package/src/dictionaries/ja.ts +18 -39
- package/src/dictionaries/ko.ts +22 -43
- package/src/dictionaries/ms.ts +16 -50
- package/src/dictionaries/pl.ts +18 -45
- package/src/dictionaries/pt.ts +23 -48
- package/src/dictionaries/qu.ts +22 -43
- package/src/dictionaries/ru.ts +18 -48
- package/src/dictionaries/sw.ts +22 -43
- package/src/dictionaries/th.ts +17 -0
- package/src/dictionaries/tl.ts +16 -50
- package/src/dictionaries/tr.ts +24 -45
- package/src/dictionaries/uk.ts +18 -48
- package/src/dictionaries/vi.ts +17 -0
- package/src/dictionaries/zh.ts +22 -43
- package/src/grammar/grammar.test.ts +143 -24
- package/src/grammar/index.ts +1 -0
- package/src/grammar/profiles/index.ts +31 -0
- package/src/grammar/transformer.ts +161 -0
- package/src/parser/he.ts +29 -0
- package/src/parser/index.ts +1 -0
- package/src/schema-alignment.test.ts +154 -0
- package/src/test-utils/complete-languages.ts +40 -0
- package/src/translation-validation.test.ts +1 -26
package/dist/lokascript-i18n.mjs
CHANGED
|
@@ -45,13 +45,19 @@ const ENGLISH_COMMANDS = new Set([
|
|
|
45
45
|
'append',
|
|
46
46
|
'async',
|
|
47
47
|
'beep',
|
|
48
|
+
'blur', // v0.9.90 phase 1
|
|
48
49
|
'break',
|
|
50
|
+
'breakpoint', // v0.9.90 phase 1
|
|
49
51
|
'call',
|
|
52
|
+
'clear', // v0.9.90 phase 1
|
|
53
|
+
'close', // v0.9.90 phase 1
|
|
50
54
|
'continue',
|
|
51
55
|
'decrement',
|
|
52
56
|
'default',
|
|
57
|
+
'empty', // v0.9.90 phase 1
|
|
53
58
|
'exit',
|
|
54
59
|
'fetch',
|
|
60
|
+
'focus', // v0.9.90 phase 1
|
|
55
61
|
'for',
|
|
56
62
|
'get',
|
|
57
63
|
'go',
|
|
@@ -65,6 +71,7 @@ const ENGLISH_COMMANDS = new Set([
|
|
|
65
71
|
'make',
|
|
66
72
|
'measure',
|
|
67
73
|
'morph',
|
|
74
|
+
'open', // v0.9.90 phase 1
|
|
68
75
|
'pick',
|
|
69
76
|
'process',
|
|
70
77
|
'push',
|
|
@@ -73,7 +80,9 @@ const ENGLISH_COMMANDS = new Set([
|
|
|
73
80
|
'render',
|
|
74
81
|
'repeat',
|
|
75
82
|
'replace',
|
|
83
|
+
'reset', // v0.9.90 phase 1
|
|
76
84
|
'return',
|
|
85
|
+
'select', // v0.9.90 phase 1
|
|
77
86
|
'send',
|
|
78
87
|
'set',
|
|
79
88
|
'settle',
|
|
@@ -562,15 +571,14 @@ function createEnglishProvider() {
|
|
|
562
571
|
};
|
|
563
572
|
}
|
|
564
573
|
|
|
565
|
-
//
|
|
574
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
575
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
566
576
|
const es$1 = {
|
|
567
577
|
commands: {
|
|
568
|
-
// Event handling
|
|
569
578
|
on: 'en',
|
|
570
579
|
tell: 'decir',
|
|
571
580
|
trigger: 'disparar',
|
|
572
581
|
send: 'enviar',
|
|
573
|
-
// DOM manipulation
|
|
574
582
|
take: 'tomar',
|
|
575
583
|
put: 'poner',
|
|
576
584
|
set: 'establecer',
|
|
@@ -580,7 +588,6 @@ const es$1 = {
|
|
|
580
588
|
toggle: 'alternar',
|
|
581
589
|
hide: 'ocultar',
|
|
582
590
|
show: 'mostrar',
|
|
583
|
-
// Control flow
|
|
584
591
|
if: 'si',
|
|
585
592
|
unless: 'menos',
|
|
586
593
|
repeat: 'repetir',
|
|
@@ -590,44 +597,41 @@ const es$1 = {
|
|
|
590
597
|
continue: 'continuar',
|
|
591
598
|
break: 'romper',
|
|
592
599
|
halt: 'detener',
|
|
593
|
-
// Async
|
|
594
600
|
wait: 'esperar',
|
|
595
601
|
fetch: 'buscar',
|
|
596
602
|
call: 'llamar',
|
|
597
603
|
return: 'retornar',
|
|
598
|
-
// Other commands
|
|
599
604
|
make: 'hacer',
|
|
600
605
|
log: 'registrar',
|
|
601
606
|
throw: 'lanzar',
|
|
602
607
|
catch: 'atrapar',
|
|
603
608
|
measure: 'medir',
|
|
604
609
|
transition: 'transición',
|
|
605
|
-
// Data Commands
|
|
606
610
|
increment: 'incrementar',
|
|
607
611
|
decrement: 'decrementar',
|
|
608
612
|
default: 'predeterminar',
|
|
609
|
-
// Navigation Commands
|
|
610
613
|
go: 'ir',
|
|
611
614
|
pushUrl: 'pushUrl',
|
|
612
615
|
replaceUrl: 'reemplazarUrl',
|
|
613
|
-
// Utility Commands
|
|
614
616
|
copy: 'copiar',
|
|
615
617
|
pick: 'escoger',
|
|
616
618
|
beep: 'pitido',
|
|
617
|
-
// Advanced Commands
|
|
618
619
|
js: 'js',
|
|
619
620
|
async: 'asíncrono',
|
|
620
621
|
render: 'renderizar',
|
|
621
|
-
// Animation Commands
|
|
622
622
|
swap: 'intercambiar',
|
|
623
623
|
morph: 'transformar',
|
|
624
624
|
settle: 'estabilizar',
|
|
625
|
-
// Content Commands
|
|
626
625
|
append: 'añadir',
|
|
627
|
-
// Control Flow
|
|
628
626
|
exit: 'salir',
|
|
629
|
-
// Behaviors
|
|
630
627
|
install: 'instalar',
|
|
628
|
+
breakpoint: 'punto-interrupción',
|
|
629
|
+
clear: 'limpiar',
|
|
630
|
+
close: 'cerrar',
|
|
631
|
+
open: 'abrir',
|
|
632
|
+
select: 'seleccionar',
|
|
633
|
+
clone: 'clonar',
|
|
634
|
+
prepend: 'anteponer',
|
|
631
635
|
},
|
|
632
636
|
modifiers: {
|
|
633
637
|
to: 'a',
|
|
@@ -687,12 +691,14 @@ const es$1 = {
|
|
|
687
691
|
contains: 'contiene',
|
|
688
692
|
includes: 'incluye',
|
|
689
693
|
equals: 'iguala',
|
|
690
|
-
has: 'tiene',
|
|
691
|
-
have: 'tengo',
|
|
694
|
+
has: 'tiene',
|
|
695
|
+
have: 'tengo',
|
|
692
696
|
then: 'entonces',
|
|
693
697
|
else: 'sino',
|
|
694
698
|
otherwise: 'delocontrario',
|
|
695
699
|
end: 'fin',
|
|
700
|
+
live: 'vivo',
|
|
701
|
+
changes: 'cambia',
|
|
696
702
|
},
|
|
697
703
|
temporal: {
|
|
698
704
|
seconds: 'segundos',
|
|
@@ -719,7 +725,7 @@ const es$1 = {
|
|
|
719
725
|
my: 'mi',
|
|
720
726
|
you: 'tu',
|
|
721
727
|
your: 'tu',
|
|
722
|
-
yourself: 'ti mismo',
|
|
728
|
+
yourself: 'ti mismo',
|
|
723
729
|
myself: 'yo mismo',
|
|
724
730
|
element: 'elemento',
|
|
725
731
|
target: 'objetivo',
|
|
@@ -742,7 +748,6 @@ const es$1 = {
|
|
|
742
748
|
properties: 'propiedades',
|
|
743
749
|
},
|
|
744
750
|
expressions: {
|
|
745
|
-
// Positional
|
|
746
751
|
first: 'primero',
|
|
747
752
|
last: 'último',
|
|
748
753
|
next: 'siguiente',
|
|
@@ -750,18 +755,20 @@ const es$1 = {
|
|
|
750
755
|
prev: 'ant',
|
|
751
756
|
at: 'en',
|
|
752
757
|
random: 'aleatorio',
|
|
753
|
-
// DOM Traversal
|
|
754
758
|
closest: 'máscercano',
|
|
755
759
|
parent: 'padre',
|
|
756
760
|
children: 'hijos',
|
|
757
761
|
within: 'dentro',
|
|
758
|
-
// Emptiness/Existence
|
|
759
762
|
no: 'ningún',
|
|
760
763
|
empty: 'vacío',
|
|
761
764
|
some: 'algún',
|
|
762
|
-
// String operations
|
|
763
765
|
'starts with': 'empieza con',
|
|
764
766
|
'ends with': 'termina con',
|
|
767
|
+
'ignoring case': 'ignorando mayúsculas',
|
|
768
|
+
'sorted by': 'ordenado por',
|
|
769
|
+
'mapped to': 'transformado a',
|
|
770
|
+
'split by': 'dividido por',
|
|
771
|
+
'joined by': 'unido por',
|
|
765
772
|
},
|
|
766
773
|
};
|
|
767
774
|
|
|
@@ -789,15 +796,14 @@ const esKeywords = createKeywordProvider(es$1, 'es', {
|
|
|
789
796
|
allowEnglishFallback: true,
|
|
790
797
|
});
|
|
791
798
|
|
|
792
|
-
//
|
|
799
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
800
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
793
801
|
const ja$1 = {
|
|
794
802
|
commands: {
|
|
795
|
-
// Event handling
|
|
796
803
|
on: 'で',
|
|
797
804
|
tell: '伝える',
|
|
798
805
|
trigger: '引き金',
|
|
799
806
|
send: '送る',
|
|
800
|
-
// DOM manipulation
|
|
801
807
|
take: '取る',
|
|
802
808
|
put: '置く',
|
|
803
809
|
set: '設定',
|
|
@@ -807,7 +813,6 @@ const ja$1 = {
|
|
|
807
813
|
toggle: '切り替え',
|
|
808
814
|
hide: '隠す',
|
|
809
815
|
show: '表示',
|
|
810
|
-
// Control flow
|
|
811
816
|
if: 'もし',
|
|
812
817
|
unless: 'でなければ',
|
|
813
818
|
repeat: '繰り返し',
|
|
@@ -817,44 +822,41 @@ const ja$1 = {
|
|
|
817
822
|
continue: '続ける',
|
|
818
823
|
break: '中断',
|
|
819
824
|
halt: '停止',
|
|
820
|
-
// Async
|
|
821
825
|
wait: '待つ',
|
|
822
826
|
fetch: '取得',
|
|
823
827
|
call: '呼び出し',
|
|
824
828
|
return: '戻る',
|
|
825
|
-
// Other commands
|
|
826
829
|
make: '作る',
|
|
827
830
|
log: '記録',
|
|
828
831
|
throw: '投げる',
|
|
829
832
|
catch: '捕まえる',
|
|
830
833
|
measure: '測定',
|
|
831
834
|
transition: '遷移',
|
|
832
|
-
// Data Commands
|
|
833
835
|
increment: '増加',
|
|
834
836
|
decrement: '減少',
|
|
835
837
|
default: '既定',
|
|
836
|
-
// Navigation Commands
|
|
837
838
|
go: '移動',
|
|
838
839
|
pushUrl: 'URLプッシュ',
|
|
839
840
|
replaceUrl: 'URL置換',
|
|
840
|
-
// Utility Commands
|
|
841
841
|
copy: 'コピー',
|
|
842
842
|
pick: '選択',
|
|
843
843
|
beep: 'ビープ',
|
|
844
|
-
// Advanced Commands
|
|
845
844
|
js: 'JS実行',
|
|
846
845
|
async: '非同期',
|
|
847
846
|
render: '描画',
|
|
848
|
-
// Animation Commands
|
|
849
847
|
swap: '交換',
|
|
850
848
|
morph: '変形',
|
|
851
849
|
settle: '安定',
|
|
852
|
-
// Content Commands
|
|
853
850
|
append: '末尾追加',
|
|
854
|
-
// Control Flow
|
|
855
851
|
exit: '終了',
|
|
856
|
-
// Behaviors
|
|
857
852
|
install: 'インストール',
|
|
853
|
+
breakpoint: 'ブレークポイント',
|
|
854
|
+
clear: 'クリア',
|
|
855
|
+
close: '閉じる',
|
|
856
|
+
open: '開く',
|
|
857
|
+
select: '選択',
|
|
858
|
+
clone: '複製',
|
|
859
|
+
prepend: '先頭追加',
|
|
858
860
|
},
|
|
859
861
|
modifiers: {
|
|
860
862
|
to: 'に',
|
|
@@ -914,12 +916,14 @@ const ja$1 = {
|
|
|
914
916
|
contains: '含む',
|
|
915
917
|
includes: '含める',
|
|
916
918
|
equals: '等しい',
|
|
917
|
-
has: 'ある',
|
|
918
|
-
have: 'ある',
|
|
919
|
+
has: 'ある',
|
|
920
|
+
have: 'ある',
|
|
919
921
|
then: 'それから',
|
|
920
922
|
else: 'そうでなければ',
|
|
921
923
|
otherwise: 'そうでなければ',
|
|
922
924
|
end: '終わり',
|
|
925
|
+
live: 'ライブ',
|
|
926
|
+
changes: '変わったら',
|
|
923
927
|
},
|
|
924
928
|
temporal: {
|
|
925
929
|
seconds: '秒',
|
|
@@ -969,7 +973,6 @@ const ja$1 = {
|
|
|
969
973
|
properties: 'プロパティ群',
|
|
970
974
|
},
|
|
971
975
|
expressions: {
|
|
972
|
-
// Positional
|
|
973
976
|
first: '最初',
|
|
974
977
|
last: '最後',
|
|
975
978
|
next: '次',
|
|
@@ -977,18 +980,20 @@ const ja$1 = {
|
|
|
977
980
|
prev: '前',
|
|
978
981
|
at: 'で',
|
|
979
982
|
random: 'ランダム',
|
|
980
|
-
// DOM Traversal
|
|
981
983
|
closest: '最も近い',
|
|
982
984
|
parent: '親',
|
|
983
985
|
children: '子',
|
|
984
986
|
within: '以内',
|
|
985
|
-
// Emptiness/Existence
|
|
986
987
|
no: 'ない',
|
|
987
988
|
empty: '空',
|
|
988
989
|
some: 'いくつか',
|
|
989
|
-
// String operations
|
|
990
990
|
'starts with': 'で始まる',
|
|
991
991
|
'ends with': 'で終わる',
|
|
992
|
+
'ignoring case': '大文字小文字を無視',
|
|
993
|
+
'sorted by': 'でソート',
|
|
994
|
+
'mapped to': 'に変換',
|
|
995
|
+
'split by': 'で分割',
|
|
996
|
+
'joined by': 'で結合',
|
|
992
997
|
},
|
|
993
998
|
};
|
|
994
999
|
|
|
@@ -1021,15 +1026,14 @@ const jaKeywords = createKeywordProvider(ja$1, 'ja', {
|
|
|
1021
1026
|
allowEnglishFallback: true,
|
|
1022
1027
|
});
|
|
1023
1028
|
|
|
1024
|
-
//
|
|
1029
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
1030
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
1025
1031
|
const fr$1 = {
|
|
1026
1032
|
commands: {
|
|
1027
|
-
// Event handling
|
|
1028
1033
|
on: 'sur',
|
|
1029
1034
|
tell: 'dire',
|
|
1030
1035
|
trigger: 'déclencher',
|
|
1031
1036
|
send: 'envoyer',
|
|
1032
|
-
// DOM manipulation
|
|
1033
1037
|
take: 'prendre',
|
|
1034
1038
|
put: 'mettre',
|
|
1035
1039
|
set: 'définir',
|
|
@@ -1039,7 +1043,6 @@ const fr$1 = {
|
|
|
1039
1043
|
toggle: 'basculer',
|
|
1040
1044
|
hide: 'cacher',
|
|
1041
1045
|
show: 'montrer',
|
|
1042
|
-
// Control flow
|
|
1043
1046
|
if: 'si',
|
|
1044
1047
|
unless: 'saufsi',
|
|
1045
1048
|
repeat: 'répéter',
|
|
@@ -1049,44 +1052,41 @@ const fr$1 = {
|
|
|
1049
1052
|
continue: 'continuer',
|
|
1050
1053
|
break: 'arrêter',
|
|
1051
1054
|
halt: 'stopper',
|
|
1052
|
-
// Async
|
|
1053
1055
|
wait: 'attendre',
|
|
1054
1056
|
fetch: 'récupérer',
|
|
1055
1057
|
call: 'appeler',
|
|
1056
1058
|
return: 'retourner',
|
|
1057
|
-
// Other commands
|
|
1058
1059
|
make: 'créer',
|
|
1059
1060
|
log: 'enregistrer',
|
|
1060
1061
|
throw: 'lancer',
|
|
1061
1062
|
catch: 'attraper',
|
|
1062
1063
|
measure: 'mesurer',
|
|
1063
1064
|
transition: 'transition',
|
|
1064
|
-
// Data Commands
|
|
1065
1065
|
increment: 'incrémenter',
|
|
1066
1066
|
decrement: 'décrémenter',
|
|
1067
1067
|
default: 'défaut',
|
|
1068
|
-
// Navigation Commands
|
|
1069
1068
|
go: 'aller',
|
|
1070
1069
|
pushUrl: 'pousserUrl',
|
|
1071
1070
|
replaceUrl: 'remplacerUrl',
|
|
1072
|
-
// Utility Commands
|
|
1073
1071
|
copy: 'copier',
|
|
1074
1072
|
pick: 'choisir',
|
|
1075
1073
|
beep: 'bip',
|
|
1076
|
-
// Advanced Commands
|
|
1077
1074
|
js: 'js',
|
|
1078
1075
|
async: 'asynchrone',
|
|
1079
1076
|
render: 'rendu',
|
|
1080
|
-
// Animation Commands
|
|
1081
1077
|
swap: 'échanger',
|
|
1082
1078
|
morph: 'transformer',
|
|
1083
1079
|
settle: 'stabiliser',
|
|
1084
|
-
// Content Commands
|
|
1085
1080
|
append: 'ajouter',
|
|
1086
|
-
// Control Flow
|
|
1087
1081
|
exit: 'sortir',
|
|
1088
|
-
// Behaviors
|
|
1089
1082
|
install: 'installer',
|
|
1083
|
+
breakpoint: 'point-arrêt',
|
|
1084
|
+
clear: 'effacer',
|
|
1085
|
+
close: 'fermer',
|
|
1086
|
+
open: 'ouvrir',
|
|
1087
|
+
select: 'sélectionner',
|
|
1088
|
+
clone: 'cloner',
|
|
1089
|
+
prepend: 'préfixer',
|
|
1090
1090
|
},
|
|
1091
1091
|
modifiers: {
|
|
1092
1092
|
to: 'à',
|
|
@@ -1146,12 +1146,14 @@ const fr$1 = {
|
|
|
1146
1146
|
contains: 'contient',
|
|
1147
1147
|
includes: 'inclut',
|
|
1148
1148
|
equals: 'égale',
|
|
1149
|
-
has: 'a',
|
|
1150
|
-
have: 'ai',
|
|
1149
|
+
has: 'a',
|
|
1150
|
+
have: 'ai',
|
|
1151
1151
|
then: 'alors',
|
|
1152
1152
|
else: 'sinon',
|
|
1153
1153
|
otherwise: 'autrement',
|
|
1154
1154
|
end: 'fin',
|
|
1155
|
+
live: 'vif',
|
|
1156
|
+
changes: 'change',
|
|
1155
1157
|
},
|
|
1156
1158
|
temporal: {
|
|
1157
1159
|
seconds: 'secondes',
|
|
@@ -1178,7 +1180,7 @@ const fr$1 = {
|
|
|
1178
1180
|
my: 'mon',
|
|
1179
1181
|
you: 'tu',
|
|
1180
1182
|
your: 'ton',
|
|
1181
|
-
yourself: 'toi-même',
|
|
1183
|
+
yourself: 'toi-même',
|
|
1182
1184
|
myself: 'moi-même',
|
|
1183
1185
|
element: 'élément',
|
|
1184
1186
|
target: 'cible',
|
|
@@ -1201,7 +1203,6 @@ const fr$1 = {
|
|
|
1201
1203
|
properties: 'propriétés',
|
|
1202
1204
|
},
|
|
1203
1205
|
expressions: {
|
|
1204
|
-
// Positional
|
|
1205
1206
|
first: 'premier',
|
|
1206
1207
|
last: 'dernier',
|
|
1207
1208
|
next: 'suivant',
|
|
@@ -1209,18 +1210,20 @@ const fr$1 = {
|
|
|
1209
1210
|
prev: 'préc',
|
|
1210
1211
|
at: 'à',
|
|
1211
1212
|
random: 'aléatoire',
|
|
1212
|
-
// DOM Traversal
|
|
1213
1213
|
closest: 'plusproche',
|
|
1214
1214
|
parent: 'parent',
|
|
1215
1215
|
children: 'enfants',
|
|
1216
1216
|
within: 'dans',
|
|
1217
|
-
// Emptiness/Existence
|
|
1218
1217
|
no: 'aucun',
|
|
1219
1218
|
empty: 'vide',
|
|
1220
1219
|
some: 'quelques',
|
|
1221
|
-
// String operations
|
|
1222
1220
|
'starts with': 'commence par',
|
|
1223
1221
|
'ends with': 'finit par',
|
|
1222
|
+
'ignoring case': 'en ignorant la casse',
|
|
1223
|
+
'sorted by': 'trié par',
|
|
1224
|
+
'mapped to': 'transformé en',
|
|
1225
|
+
'split by': 'divisé par',
|
|
1226
|
+
'joined by': 'joint par',
|
|
1224
1227
|
},
|
|
1225
1228
|
};
|
|
1226
1229
|
|
|
@@ -1248,15 +1251,14 @@ const frKeywords = createKeywordProvider(fr$1, 'fr', {
|
|
|
1248
1251
|
allowEnglishFallback: true,
|
|
1249
1252
|
});
|
|
1250
1253
|
|
|
1251
|
-
//
|
|
1254
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
1255
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
1252
1256
|
const de$1 = {
|
|
1253
1257
|
commands: {
|
|
1254
|
-
// Event handling
|
|
1255
1258
|
on: 'bei',
|
|
1256
1259
|
tell: 'sagen',
|
|
1257
1260
|
trigger: 'auslösen',
|
|
1258
1261
|
send: 'senden',
|
|
1259
|
-
// DOM manipulation
|
|
1260
1262
|
take: 'nehmen',
|
|
1261
1263
|
put: 'setzen',
|
|
1262
1264
|
set: 'festlegen',
|
|
@@ -1266,7 +1268,6 @@ const de$1 = {
|
|
|
1266
1268
|
toggle: 'umschalten',
|
|
1267
1269
|
hide: 'verstecken',
|
|
1268
1270
|
show: 'zeigen',
|
|
1269
|
-
// Control flow
|
|
1270
1271
|
if: 'wenn',
|
|
1271
1272
|
unless: 'wennnicht',
|
|
1272
1273
|
repeat: 'wiederholen',
|
|
@@ -1276,44 +1277,41 @@ const de$1 = {
|
|
|
1276
1277
|
continue: 'weiter',
|
|
1277
1278
|
break: 'unterbrechen',
|
|
1278
1279
|
halt: 'anhalten',
|
|
1279
|
-
// Async
|
|
1280
1280
|
wait: 'warten',
|
|
1281
1281
|
fetch: 'holen',
|
|
1282
1282
|
call: 'aufrufen',
|
|
1283
1283
|
return: 'zurückgeben',
|
|
1284
|
-
// Other commands
|
|
1285
1284
|
make: 'erstellen',
|
|
1286
1285
|
log: 'protokollieren',
|
|
1287
1286
|
throw: 'werfen',
|
|
1288
1287
|
catch: 'fangen',
|
|
1289
1288
|
measure: 'messen',
|
|
1290
1289
|
transition: 'übergang',
|
|
1291
|
-
// Data Commands
|
|
1292
1290
|
increment: 'erhöhen',
|
|
1293
1291
|
decrement: 'verringern',
|
|
1294
1292
|
default: 'standard',
|
|
1295
|
-
// Navigation Commands
|
|
1296
1293
|
go: 'gehen',
|
|
1297
1294
|
pushUrl: 'urlHinzufügen',
|
|
1298
1295
|
replaceUrl: 'urlErsetzen',
|
|
1299
|
-
// Utility Commands
|
|
1300
1296
|
copy: 'kopieren',
|
|
1301
1297
|
pick: 'auswählen',
|
|
1302
1298
|
beep: 'piepton',
|
|
1303
|
-
// Advanced Commands
|
|
1304
1299
|
js: 'js',
|
|
1305
1300
|
async: 'asynchron',
|
|
1306
1301
|
render: 'rendern',
|
|
1307
|
-
// Animation Commands
|
|
1308
1302
|
swap: 'tauschen',
|
|
1309
1303
|
morph: 'verwandeln',
|
|
1310
1304
|
settle: 'stabilisieren',
|
|
1311
|
-
// Content Commands
|
|
1312
1305
|
append: 'anhängen',
|
|
1313
|
-
// Control Flow
|
|
1314
1306
|
exit: 'beenden',
|
|
1315
|
-
// Behaviors
|
|
1316
1307
|
install: 'installieren',
|
|
1308
|
+
breakpoint: 'haltepunkt',
|
|
1309
|
+
clear: 'löschen',
|
|
1310
|
+
close: 'schließen',
|
|
1311
|
+
open: 'öffnen',
|
|
1312
|
+
select: 'auswählen',
|
|
1313
|
+
clone: 'klonen',
|
|
1314
|
+
prepend: 'voranstellen',
|
|
1317
1315
|
},
|
|
1318
1316
|
modifiers: {
|
|
1319
1317
|
to: 'zu',
|
|
@@ -1373,12 +1371,14 @@ const de$1 = {
|
|
|
1373
1371
|
contains: 'enthält',
|
|
1374
1372
|
includes: 'beinhaltet',
|
|
1375
1373
|
equals: 'gleicht',
|
|
1376
|
-
has: 'hat',
|
|
1377
|
-
have: 'habe',
|
|
1374
|
+
has: 'hat',
|
|
1375
|
+
have: 'habe',
|
|
1378
1376
|
then: 'dann',
|
|
1379
1377
|
else: 'sonst',
|
|
1380
1378
|
otherwise: 'andernfalls',
|
|
1381
1379
|
end: 'ende',
|
|
1380
|
+
live: 'live',
|
|
1381
|
+
changes: 'ändert',
|
|
1382
1382
|
},
|
|
1383
1383
|
temporal: {
|
|
1384
1384
|
seconds: 'sekunden',
|
|
@@ -1405,7 +1405,7 @@ const de$1 = {
|
|
|
1405
1405
|
my: 'mein',
|
|
1406
1406
|
you: 'du',
|
|
1407
1407
|
your: 'dein',
|
|
1408
|
-
yourself: 'dich selbst',
|
|
1408
|
+
yourself: 'dich selbst',
|
|
1409
1409
|
myself: 'ich selbst',
|
|
1410
1410
|
element: 'element',
|
|
1411
1411
|
target: 'ziel',
|
|
@@ -1428,7 +1428,6 @@ const de$1 = {
|
|
|
1428
1428
|
properties: 'eigenschaften',
|
|
1429
1429
|
},
|
|
1430
1430
|
expressions: {
|
|
1431
|
-
// Positional
|
|
1432
1431
|
first: 'erste',
|
|
1433
1432
|
last: 'letzte',
|
|
1434
1433
|
next: 'nächste',
|
|
@@ -1436,18 +1435,20 @@ const de$1 = {
|
|
|
1436
1435
|
prev: 'vorh',
|
|
1437
1436
|
at: 'bei',
|
|
1438
1437
|
random: 'zufällig',
|
|
1439
|
-
// DOM Traversal
|
|
1440
1438
|
closest: 'nächste',
|
|
1441
1439
|
parent: 'elternteil',
|
|
1442
1440
|
children: 'kinder',
|
|
1443
1441
|
within: 'innerhalb',
|
|
1444
|
-
// Emptiness/Existence
|
|
1445
1442
|
no: 'kein',
|
|
1446
1443
|
empty: 'leer',
|
|
1447
1444
|
some: 'einige',
|
|
1448
|
-
// String operations
|
|
1449
1445
|
'starts with': 'beginnt mit',
|
|
1450
1446
|
'ends with': 'endet mit',
|
|
1447
|
+
'ignoring case': 'ohne Groß-/Kleinschreibung',
|
|
1448
|
+
'sorted by': 'sortiert nach',
|
|
1449
|
+
'mapped to': 'zugeordnet zu',
|
|
1450
|
+
'split by': 'geteilt durch',
|
|
1451
|
+
'joined by': 'verbunden mit',
|
|
1451
1452
|
},
|
|
1452
1453
|
};
|
|
1453
1454
|
|
|
@@ -1480,15 +1481,14 @@ const deKeywords = createKeywordProvider(de$1, 'de', {
|
|
|
1480
1481
|
allowEnglishFallback: true,
|
|
1481
1482
|
});
|
|
1482
1483
|
|
|
1483
|
-
//
|
|
1484
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
1485
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
1484
1486
|
const ar$1 = {
|
|
1485
1487
|
commands: {
|
|
1486
|
-
// Event handling
|
|
1487
1488
|
on: 'على',
|
|
1488
1489
|
tell: 'أخبر',
|
|
1489
1490
|
trigger: 'تشغيل',
|
|
1490
1491
|
send: 'أرسل',
|
|
1491
|
-
// DOM manipulation
|
|
1492
1492
|
take: 'خذ',
|
|
1493
1493
|
put: 'ضع',
|
|
1494
1494
|
set: 'اضبط',
|
|
@@ -1498,7 +1498,6 @@ const ar$1 = {
|
|
|
1498
1498
|
toggle: 'بدل',
|
|
1499
1499
|
hide: 'اخف',
|
|
1500
1500
|
show: 'اظهر',
|
|
1501
|
-
// Control flow
|
|
1502
1501
|
if: 'إذا',
|
|
1503
1502
|
unless: 'إلا إذا',
|
|
1504
1503
|
repeat: 'كرر',
|
|
@@ -1508,44 +1507,41 @@ const ar$1 = {
|
|
|
1508
1507
|
continue: 'واصل',
|
|
1509
1508
|
break: 'توقف',
|
|
1510
1509
|
halt: 'أوقف',
|
|
1511
|
-
// Async
|
|
1512
1510
|
wait: 'انتظر',
|
|
1513
1511
|
fetch: 'احضر',
|
|
1514
1512
|
call: 'استدع',
|
|
1515
1513
|
return: 'ارجع',
|
|
1516
|
-
// Other commands
|
|
1517
1514
|
make: 'اصنع',
|
|
1518
1515
|
log: 'سجل',
|
|
1519
1516
|
throw: 'ارم',
|
|
1520
1517
|
catch: 'التقط',
|
|
1521
1518
|
measure: 'قس',
|
|
1522
1519
|
transition: 'انتقال',
|
|
1523
|
-
// Data Commands
|
|
1524
1520
|
increment: 'زِد',
|
|
1525
1521
|
decrement: 'أنقص',
|
|
1526
1522
|
default: 'افتراضي',
|
|
1527
|
-
// Navigation Commands
|
|
1528
1523
|
go: 'اذهب',
|
|
1529
1524
|
pushUrl: 'ادفع رابط',
|
|
1530
1525
|
replaceUrl: 'استبدل رابط',
|
|
1531
|
-
// Utility Commands
|
|
1532
1526
|
copy: 'انسخ',
|
|
1533
1527
|
pick: 'اختر',
|
|
1534
1528
|
beep: 'صفّر',
|
|
1535
|
-
// Advanced Commands
|
|
1536
1529
|
js: 'جافاسكربت',
|
|
1537
1530
|
async: 'متزامن',
|
|
1538
1531
|
render: 'ارسم',
|
|
1539
|
-
// Animation Commands
|
|
1540
1532
|
swap: 'بدّل',
|
|
1541
1533
|
morph: 'حوّل',
|
|
1542
1534
|
settle: 'استقر',
|
|
1543
|
-
// Content Commands
|
|
1544
1535
|
append: 'ألحق',
|
|
1545
|
-
// Control Flow
|
|
1546
1536
|
exit: 'اخرج',
|
|
1547
|
-
// Behaviors
|
|
1548
1537
|
install: 'ثبّت',
|
|
1538
|
+
breakpoint: 'نقطة-توقف',
|
|
1539
|
+
clear: 'امسح',
|
|
1540
|
+
close: 'أغلق',
|
|
1541
|
+
open: 'افتح',
|
|
1542
|
+
select: 'اختر',
|
|
1543
|
+
clone: 'استنسخ',
|
|
1544
|
+
prepend: 'سبق',
|
|
1549
1545
|
},
|
|
1550
1546
|
modifiers: {
|
|
1551
1547
|
to: 'إلى',
|
|
@@ -1605,12 +1601,14 @@ const ar$1 = {
|
|
|
1605
1601
|
contains: 'يحتوي',
|
|
1606
1602
|
includes: 'يشمل',
|
|
1607
1603
|
equals: 'يساوي',
|
|
1608
|
-
has: 'لديه',
|
|
1609
|
-
have: 'لدي',
|
|
1604
|
+
has: 'لديه',
|
|
1605
|
+
have: 'لدي',
|
|
1610
1606
|
then: 'ثم',
|
|
1611
1607
|
else: 'وإلا',
|
|
1612
1608
|
otherwise: 'خلاف ذلك',
|
|
1613
1609
|
end: 'النهاية',
|
|
1610
|
+
live: 'حي',
|
|
1611
|
+
changes: 'يتغير',
|
|
1614
1612
|
},
|
|
1615
1613
|
temporal: {
|
|
1616
1614
|
seconds: 'ثوانِ',
|
|
@@ -1632,13 +1630,13 @@ const ar$1 = {
|
|
|
1632
1630
|
null: 'فارغ',
|
|
1633
1631
|
undefined: 'غير معرف',
|
|
1634
1632
|
it: 'هو',
|
|
1635
|
-
its: 'له',
|
|
1633
|
+
its: 'له',
|
|
1636
1634
|
me: 'أنا',
|
|
1637
1635
|
my: 'لي',
|
|
1638
1636
|
myself: 'نفسي',
|
|
1639
|
-
you: 'أنت',
|
|
1640
|
-
your: 'لك',
|
|
1641
|
-
yourself: 'نفسك',
|
|
1637
|
+
you: 'أنت',
|
|
1638
|
+
your: 'لك',
|
|
1639
|
+
yourself: 'نفسك',
|
|
1642
1640
|
element: 'عنصر',
|
|
1643
1641
|
target: 'هدف',
|
|
1644
1642
|
detail: 'تفاصيل',
|
|
@@ -1660,7 +1658,6 @@ const ar$1 = {
|
|
|
1660
1658
|
properties: 'خصائص',
|
|
1661
1659
|
},
|
|
1662
1660
|
expressions: {
|
|
1663
|
-
// Positional
|
|
1664
1661
|
first: 'أول',
|
|
1665
1662
|
last: 'آخر',
|
|
1666
1663
|
next: 'التالي',
|
|
@@ -1668,18 +1665,20 @@ const ar$1 = {
|
|
|
1668
1665
|
prev: 'سابق',
|
|
1669
1666
|
at: 'عند',
|
|
1670
1667
|
random: 'عشوائي',
|
|
1671
|
-
// DOM Traversal
|
|
1672
1668
|
closest: 'الأقرب',
|
|
1673
1669
|
parent: 'والد',
|
|
1674
1670
|
children: 'أطفال',
|
|
1675
1671
|
within: 'داخل',
|
|
1676
|
-
// Emptiness/Existence
|
|
1677
1672
|
no: 'لا يوجد',
|
|
1678
1673
|
empty: 'فارغ',
|
|
1679
1674
|
some: 'بعض',
|
|
1680
|
-
// String operations
|
|
1681
1675
|
'starts with': 'يبدأ بـ',
|
|
1682
1676
|
'ends with': 'ينتهي بـ',
|
|
1677
|
+
'ignoring case': 'مع تجاهل الحالة',
|
|
1678
|
+
'sorted by': 'مرتب حسب',
|
|
1679
|
+
'mapped to': 'محول إلى',
|
|
1680
|
+
'split by': 'مقسم بواسطة',
|
|
1681
|
+
'joined by': 'مدموج بواسطة',
|
|
1683
1682
|
},
|
|
1684
1683
|
};
|
|
1685
1684
|
|
|
@@ -1716,15 +1715,14 @@ const arKeywords = createKeywordProvider(ar$1, 'ar', {
|
|
|
1716
1715
|
allowEnglishFallback: true,
|
|
1717
1716
|
});
|
|
1718
1717
|
|
|
1719
|
-
//
|
|
1718
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
1719
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
1720
1720
|
const ko$1 = {
|
|
1721
1721
|
commands: {
|
|
1722
|
-
// Event handling
|
|
1723
1722
|
on: '에',
|
|
1724
1723
|
tell: '말하다',
|
|
1725
1724
|
trigger: '트리거',
|
|
1726
1725
|
send: '보내다',
|
|
1727
|
-
// DOM manipulation
|
|
1728
1726
|
take: '가져오다',
|
|
1729
1727
|
put: '넣다',
|
|
1730
1728
|
set: '설정',
|
|
@@ -1734,7 +1732,6 @@ const ko$1 = {
|
|
|
1734
1732
|
toggle: '토글',
|
|
1735
1733
|
hide: '숨기다',
|
|
1736
1734
|
show: '보이다',
|
|
1737
|
-
// Control flow
|
|
1738
1735
|
if: '만약',
|
|
1739
1736
|
unless: '아니면',
|
|
1740
1737
|
repeat: '반복',
|
|
@@ -1744,44 +1741,41 @@ const ko$1 = {
|
|
|
1744
1741
|
continue: '계속',
|
|
1745
1742
|
break: '중단',
|
|
1746
1743
|
halt: '정지',
|
|
1747
|
-
// Async
|
|
1748
1744
|
wait: '대기',
|
|
1749
1745
|
fetch: '가져오기',
|
|
1750
1746
|
call: '호출',
|
|
1751
1747
|
return: '반환',
|
|
1752
|
-
// Other commands
|
|
1753
1748
|
make: '만들다',
|
|
1754
1749
|
log: '로그',
|
|
1755
1750
|
throw: '던지다',
|
|
1756
1751
|
catch: '잡다',
|
|
1757
1752
|
measure: '측정',
|
|
1758
1753
|
transition: '전환',
|
|
1759
|
-
// Data Commands
|
|
1760
1754
|
increment: '증가',
|
|
1761
1755
|
decrement: '감소',
|
|
1762
1756
|
default: '기본값',
|
|
1763
|
-
// Navigation Commands
|
|
1764
1757
|
go: '이동',
|
|
1765
1758
|
pushUrl: 'URL푸시',
|
|
1766
1759
|
replaceUrl: 'URL교체',
|
|
1767
|
-
// Utility Commands
|
|
1768
1760
|
copy: '복사',
|
|
1769
1761
|
pick: '선택',
|
|
1770
1762
|
beep: '비프',
|
|
1771
|
-
// Advanced Commands
|
|
1772
1763
|
js: 'JS실행',
|
|
1773
1764
|
async: '비동기',
|
|
1774
1765
|
render: '렌더링',
|
|
1775
|
-
// Animation Commands
|
|
1776
1766
|
swap: '교환',
|
|
1777
1767
|
morph: '변형',
|
|
1778
1768
|
settle: '안정',
|
|
1779
|
-
// Content Commands
|
|
1780
1769
|
append: '추가',
|
|
1781
|
-
// Control Flow
|
|
1782
1770
|
exit: '종료',
|
|
1783
|
-
// Behaviors
|
|
1784
1771
|
install: '설치',
|
|
1772
|
+
breakpoint: '중단점',
|
|
1773
|
+
clear: '지우기',
|
|
1774
|
+
close: '닫기',
|
|
1775
|
+
open: '열기',
|
|
1776
|
+
select: '선택',
|
|
1777
|
+
clone: '복제',
|
|
1778
|
+
prepend: '앞에추가',
|
|
1785
1779
|
},
|
|
1786
1780
|
modifiers: {
|
|
1787
1781
|
to: '에',
|
|
@@ -1841,12 +1835,14 @@ const ko$1 = {
|
|
|
1841
1835
|
contains: '포함',
|
|
1842
1836
|
includes: '포함하다',
|
|
1843
1837
|
equals: '같다',
|
|
1844
|
-
has: '있다',
|
|
1845
|
-
have: '있다',
|
|
1838
|
+
has: '있다',
|
|
1839
|
+
have: '있다',
|
|
1846
1840
|
then: '그러면',
|
|
1847
1841
|
else: '아니면',
|
|
1848
1842
|
otherwise: '그렇지않으면',
|
|
1849
1843
|
end: '끝',
|
|
1844
|
+
live: '라이브',
|
|
1845
|
+
changes: '변경되면',
|
|
1850
1846
|
},
|
|
1851
1847
|
temporal: {
|
|
1852
1848
|
seconds: '초',
|
|
@@ -1868,13 +1864,13 @@ const ko$1 = {
|
|
|
1868
1864
|
null: '널',
|
|
1869
1865
|
undefined: '정의안됨',
|
|
1870
1866
|
it: '그것',
|
|
1871
|
-
its: '그것의',
|
|
1867
|
+
its: '그것의',
|
|
1872
1868
|
me: '나',
|
|
1873
1869
|
my: '내',
|
|
1874
1870
|
myself: '나자신',
|
|
1875
|
-
you: '너',
|
|
1876
|
-
your: '네',
|
|
1877
|
-
yourself: '너자신',
|
|
1871
|
+
you: '너',
|
|
1872
|
+
your: '네',
|
|
1873
|
+
yourself: '너자신',
|
|
1878
1874
|
element: '요소',
|
|
1879
1875
|
target: '대상',
|
|
1880
1876
|
detail: '세부',
|
|
@@ -1896,7 +1892,6 @@ const ko$1 = {
|
|
|
1896
1892
|
properties: '프로퍼티들',
|
|
1897
1893
|
},
|
|
1898
1894
|
expressions: {
|
|
1899
|
-
// Positional
|
|
1900
1895
|
first: '첫번째',
|
|
1901
1896
|
last: '마지막',
|
|
1902
1897
|
next: '다음',
|
|
@@ -1904,18 +1899,20 @@ const ko$1 = {
|
|
|
1904
1899
|
prev: '이전',
|
|
1905
1900
|
at: '에서',
|
|
1906
1901
|
random: '무작위',
|
|
1907
|
-
// DOM Traversal
|
|
1908
1902
|
closest: '가장가까운',
|
|
1909
1903
|
parent: '부모',
|
|
1910
1904
|
children: '자식',
|
|
1911
1905
|
within: '이내',
|
|
1912
|
-
// Emptiness/Existence
|
|
1913
1906
|
no: '없음',
|
|
1914
1907
|
empty: '비어있는',
|
|
1915
1908
|
some: '일부',
|
|
1916
|
-
// String operations
|
|
1917
1909
|
'starts with': '로시작',
|
|
1918
1910
|
'ends with': '로끝나는',
|
|
1911
|
+
'ignoring case': '대소문자_무시',
|
|
1912
|
+
'sorted by': '로_정렬',
|
|
1913
|
+
'mapped to': '로_변환',
|
|
1914
|
+
'split by': '로_분할',
|
|
1915
|
+
'joined by': '로_결합',
|
|
1919
1916
|
},
|
|
1920
1917
|
};
|
|
1921
1918
|
|
|
@@ -1949,15 +1946,14 @@ const koKeywords = createKeywordProvider(ko$1, 'ko', {
|
|
|
1949
1946
|
allowEnglishFallback: true,
|
|
1950
1947
|
});
|
|
1951
1948
|
|
|
1952
|
-
//
|
|
1949
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
1950
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
1953
1951
|
const zh$1 = {
|
|
1954
1952
|
commands: {
|
|
1955
|
-
// Event handling
|
|
1956
1953
|
on: '当',
|
|
1957
1954
|
tell: '告诉',
|
|
1958
1955
|
trigger: '触发',
|
|
1959
1956
|
send: '发送',
|
|
1960
|
-
// DOM manipulation
|
|
1961
1957
|
take: '获取',
|
|
1962
1958
|
put: '放置',
|
|
1963
1959
|
set: '设置',
|
|
@@ -1967,7 +1963,6 @@ const zh$1 = {
|
|
|
1967
1963
|
toggle: '切换',
|
|
1968
1964
|
hide: '隐藏',
|
|
1969
1965
|
show: '显示',
|
|
1970
|
-
// Control flow
|
|
1971
1966
|
if: '如果',
|
|
1972
1967
|
unless: '除非',
|
|
1973
1968
|
repeat: '重复',
|
|
@@ -1977,44 +1972,41 @@ const zh$1 = {
|
|
|
1977
1972
|
continue: '继续',
|
|
1978
1973
|
break: '中断',
|
|
1979
1974
|
halt: '停止',
|
|
1980
|
-
// Async
|
|
1981
1975
|
wait: '等待',
|
|
1982
1976
|
fetch: '获取',
|
|
1983
1977
|
call: '调用',
|
|
1984
1978
|
return: '返回',
|
|
1985
|
-
// Other commands
|
|
1986
1979
|
make: '制作',
|
|
1987
1980
|
log: '日志',
|
|
1988
1981
|
throw: '抛出',
|
|
1989
1982
|
catch: '捕获',
|
|
1990
1983
|
measure: '测量',
|
|
1991
1984
|
transition: '过渡',
|
|
1992
|
-
// Data Commands
|
|
1993
1985
|
increment: '增加',
|
|
1994
1986
|
decrement: '减少',
|
|
1995
1987
|
default: '默认',
|
|
1996
|
-
// Navigation Commands
|
|
1997
1988
|
go: '前往',
|
|
1998
1989
|
pushUrl: '推送网址',
|
|
1999
1990
|
replaceUrl: '替换网址',
|
|
2000
|
-
// Utility Commands
|
|
2001
1991
|
copy: '复制',
|
|
2002
1992
|
pick: '选取',
|
|
2003
1993
|
beep: '蜂鸣',
|
|
2004
|
-
// Advanced Commands
|
|
2005
1994
|
js: 'JS执行',
|
|
2006
1995
|
async: '异步',
|
|
2007
1996
|
render: '渲染',
|
|
2008
|
-
// Animation Commands
|
|
2009
1997
|
swap: '交换',
|
|
2010
1998
|
morph: '变形',
|
|
2011
1999
|
settle: '稳定',
|
|
2012
|
-
// Content Commands
|
|
2013
2000
|
append: '追加',
|
|
2014
|
-
// Control Flow
|
|
2015
2001
|
exit: '退出',
|
|
2016
|
-
// Behaviors
|
|
2017
2002
|
install: '安装',
|
|
2003
|
+
breakpoint: '断点',
|
|
2004
|
+
clear: '清除',
|
|
2005
|
+
close: '关闭',
|
|
2006
|
+
open: '打开',
|
|
2007
|
+
select: '选择',
|
|
2008
|
+
clone: '克隆',
|
|
2009
|
+
prepend: '前置',
|
|
2018
2010
|
},
|
|
2019
2011
|
modifiers: {
|
|
2020
2012
|
to: '到',
|
|
@@ -2074,12 +2066,14 @@ const zh$1 = {
|
|
|
2074
2066
|
contains: '包含',
|
|
2075
2067
|
includes: '包括',
|
|
2076
2068
|
equals: '等于',
|
|
2077
|
-
has: '有',
|
|
2078
|
-
have: '有',
|
|
2069
|
+
has: '有',
|
|
2070
|
+
have: '有',
|
|
2079
2071
|
then: '那么',
|
|
2080
2072
|
else: '否则',
|
|
2081
2073
|
otherwise: '要不然',
|
|
2082
2074
|
end: '结束',
|
|
2075
|
+
live: '实时',
|
|
2076
|
+
changes: '改变时',
|
|
2083
2077
|
},
|
|
2084
2078
|
temporal: {
|
|
2085
2079
|
seconds: '秒',
|
|
@@ -2101,13 +2095,13 @@ const zh$1 = {
|
|
|
2101
2095
|
null: '空',
|
|
2102
2096
|
undefined: '未定义',
|
|
2103
2097
|
it: '它',
|
|
2104
|
-
its: '它的',
|
|
2098
|
+
its: '它的',
|
|
2105
2099
|
me: '我',
|
|
2106
2100
|
my: '我的',
|
|
2107
2101
|
myself: '我自己',
|
|
2108
|
-
you: '你',
|
|
2109
|
-
your: '你的',
|
|
2110
|
-
yourself: '你自己',
|
|
2102
|
+
you: '你',
|
|
2103
|
+
your: '你的',
|
|
2104
|
+
yourself: '你自己',
|
|
2111
2105
|
element: '元素',
|
|
2112
2106
|
target: '目标',
|
|
2113
2107
|
detail: '详情',
|
|
@@ -2129,7 +2123,6 @@ const zh$1 = {
|
|
|
2129
2123
|
properties: '特性集',
|
|
2130
2124
|
},
|
|
2131
2125
|
expressions: {
|
|
2132
|
-
// Positional
|
|
2133
2126
|
first: '第一个',
|
|
2134
2127
|
last: '最后一个',
|
|
2135
2128
|
next: '下一个',
|
|
@@ -2137,18 +2130,20 @@ const zh$1 = {
|
|
|
2137
2130
|
prev: '上个',
|
|
2138
2131
|
at: '在',
|
|
2139
2132
|
random: '随机',
|
|
2140
|
-
// DOM Traversal
|
|
2141
2133
|
closest: '最近的',
|
|
2142
2134
|
parent: '父级',
|
|
2143
2135
|
children: '子级',
|
|
2144
2136
|
within: '之内',
|
|
2145
|
-
// Emptiness/Existence
|
|
2146
2137
|
no: '没有',
|
|
2147
2138
|
empty: '空的',
|
|
2148
2139
|
some: '一些',
|
|
2149
|
-
// String operations
|
|
2150
2140
|
'starts with': '以开头',
|
|
2151
2141
|
'ends with': '以结尾',
|
|
2142
|
+
'ignoring case': '忽略大小写',
|
|
2143
|
+
'sorted by': '按_排序',
|
|
2144
|
+
'mapped to': '映射为',
|
|
2145
|
+
'split by': '按_分割',
|
|
2146
|
+
'joined by': '用_连接',
|
|
2152
2147
|
},
|
|
2153
2148
|
};
|
|
2154
2149
|
|
|
@@ -2183,15 +2178,14 @@ const zhKeywords = createKeywordProvider(zh$1, 'zh', {
|
|
|
2183
2178
|
allowEnglishFallback: true,
|
|
2184
2179
|
});
|
|
2185
2180
|
|
|
2186
|
-
//
|
|
2181
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
2182
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
2187
2183
|
const tr$1 = {
|
|
2188
2184
|
commands: {
|
|
2189
|
-
// Event handling
|
|
2190
2185
|
on: 'üzerinde',
|
|
2191
2186
|
tell: 'söyle',
|
|
2192
2187
|
trigger: 'tetikle',
|
|
2193
2188
|
send: 'gönder',
|
|
2194
|
-
// DOM manipulation
|
|
2195
2189
|
take: 'al',
|
|
2196
2190
|
put: 'koy',
|
|
2197
2191
|
set: 'ayarla',
|
|
@@ -2201,7 +2195,6 @@ const tr$1 = {
|
|
|
2201
2195
|
toggle: 'değiştir',
|
|
2202
2196
|
hide: 'gizle',
|
|
2203
2197
|
show: 'göster',
|
|
2204
|
-
// Control flow
|
|
2205
2198
|
if: 'eğer',
|
|
2206
2199
|
unless: 'değilse',
|
|
2207
2200
|
repeat: 'tekrarla',
|
|
@@ -2211,44 +2204,41 @@ const tr$1 = {
|
|
|
2211
2204
|
continue: 'devam',
|
|
2212
2205
|
break: 'dur',
|
|
2213
2206
|
halt: 'durdur',
|
|
2214
|
-
// Async
|
|
2215
2207
|
wait: 'bekle',
|
|
2216
2208
|
fetch: 'getir',
|
|
2217
2209
|
call: 'çağır',
|
|
2218
2210
|
return: 'dön',
|
|
2219
|
-
// Other commands
|
|
2220
2211
|
make: 'yap',
|
|
2221
2212
|
log: 'kaydet',
|
|
2222
2213
|
throw: 'fırlat',
|
|
2223
2214
|
catch: 'yakala',
|
|
2224
2215
|
measure: 'ölç',
|
|
2225
2216
|
transition: 'geçiş',
|
|
2226
|
-
// Data Commands
|
|
2227
2217
|
increment: 'artır',
|
|
2228
2218
|
decrement: 'azalt',
|
|
2229
2219
|
default: 'varsayılan',
|
|
2230
|
-
// Navigation Commands
|
|
2231
2220
|
go: 'git',
|
|
2232
2221
|
pushUrl: 'urlEkle',
|
|
2233
2222
|
replaceUrl: 'urlDeğiştir',
|
|
2234
|
-
// Utility Commands
|
|
2235
2223
|
copy: 'kopyala',
|
|
2236
2224
|
pick: 'seç',
|
|
2237
2225
|
beep: 'bip',
|
|
2238
|
-
// Advanced Commands
|
|
2239
2226
|
js: 'js',
|
|
2240
2227
|
async: 'asenkron',
|
|
2241
2228
|
render: 'render',
|
|
2242
|
-
// Animation Commands
|
|
2243
2229
|
swap: 'takas',
|
|
2244
2230
|
morph: 'dönüştür',
|
|
2245
2231
|
settle: 'sabitlen',
|
|
2246
|
-
// Content Commands
|
|
2247
2232
|
append: 'ekle',
|
|
2248
|
-
// Control Flow
|
|
2249
2233
|
exit: 'çık',
|
|
2250
|
-
// Behaviors
|
|
2251
2234
|
install: 'kur',
|
|
2235
|
+
breakpoint: 'kesme-noktası',
|
|
2236
|
+
clear: 'temizle',
|
|
2237
|
+
close: 'kapat',
|
|
2238
|
+
open: 'aç',
|
|
2239
|
+
select: 'seç',
|
|
2240
|
+
clone: 'klonla',
|
|
2241
|
+
prepend: 'başınaekle',
|
|
2252
2242
|
},
|
|
2253
2243
|
modifiers: {
|
|
2254
2244
|
to: 'e',
|
|
@@ -2297,8 +2287,8 @@ const tr$1 = {
|
|
|
2297
2287
|
touchcancel: 'dokunma_iptal',
|
|
2298
2288
|
},
|
|
2299
2289
|
logical: {
|
|
2300
|
-
when: 'iken',
|
|
2301
|
-
where: 'nerede',
|
|
2290
|
+
when: 'iken',
|
|
2291
|
+
where: 'nerede',
|
|
2302
2292
|
and: 've',
|
|
2303
2293
|
or: 'veya',
|
|
2304
2294
|
not: 'değil',
|
|
@@ -2308,12 +2298,14 @@ const tr$1 = {
|
|
|
2308
2298
|
contains: 'içerir',
|
|
2309
2299
|
includes: 'dahil',
|
|
2310
2300
|
equals: 'eşittir',
|
|
2311
|
-
has: 'var',
|
|
2312
|
-
have: 'var',
|
|
2301
|
+
has: 'var',
|
|
2302
|
+
have: 'var',
|
|
2313
2303
|
then: 'sonra',
|
|
2314
2304
|
else: 'yoksa',
|
|
2315
2305
|
otherwise: 'aksi_halde',
|
|
2316
2306
|
end: 'son',
|
|
2307
|
+
live: 'canlı',
|
|
2308
|
+
changes: 'değiştiğinde',
|
|
2317
2309
|
},
|
|
2318
2310
|
temporal: {
|
|
2319
2311
|
seconds: 'saniye',
|
|
@@ -2335,13 +2327,13 @@ const tr$1 = {
|
|
|
2335
2327
|
null: 'boş',
|
|
2336
2328
|
undefined: 'tanımsız',
|
|
2337
2329
|
it: 'o',
|
|
2338
|
-
its: 'onun',
|
|
2330
|
+
its: 'onun',
|
|
2339
2331
|
me: 'ben',
|
|
2340
2332
|
my: 'benim',
|
|
2341
2333
|
myself: 'kendim',
|
|
2342
|
-
you: 'sen',
|
|
2343
|
-
your: 'senin',
|
|
2344
|
-
yourself: 'kendin',
|
|
2334
|
+
you: 'sen',
|
|
2335
|
+
your: 'senin',
|
|
2336
|
+
yourself: 'kendin',
|
|
2345
2337
|
element: 'öğe',
|
|
2346
2338
|
target: 'hedef',
|
|
2347
2339
|
detail: 'detay',
|
|
@@ -2363,7 +2355,6 @@ const tr$1 = {
|
|
|
2363
2355
|
properties: 'özellikler',
|
|
2364
2356
|
},
|
|
2365
2357
|
expressions: {
|
|
2366
|
-
// Positional
|
|
2367
2358
|
first: 'ilk',
|
|
2368
2359
|
last: 'son',
|
|
2369
2360
|
next: 'sonraki',
|
|
@@ -2371,18 +2362,20 @@ const tr$1 = {
|
|
|
2371
2362
|
prev: 'önc',
|
|
2372
2363
|
at: 'de',
|
|
2373
2364
|
random: 'rastgele',
|
|
2374
|
-
// DOM Traversal
|
|
2375
2365
|
closest: 'en_yakın',
|
|
2376
2366
|
parent: 'ebeveyn',
|
|
2377
2367
|
children: 'çocuklar',
|
|
2378
2368
|
within: 'içinde',
|
|
2379
|
-
// Emptiness/Existence
|
|
2380
2369
|
no: 'yok',
|
|
2381
2370
|
empty: 'boş',
|
|
2382
2371
|
some: 'bazı',
|
|
2383
|
-
// String operations
|
|
2384
2372
|
'starts with': 'ile başlar',
|
|
2385
2373
|
'ends with': 'ile biter',
|
|
2374
|
+
'ignoring case': 'büyük küçük harf duyarsız',
|
|
2375
|
+
'sorted by': 'göre sıralı',
|
|
2376
|
+
'mapped to': 'ye dönüştürülmüş',
|
|
2377
|
+
'split by': 'ile bölünmüş',
|
|
2378
|
+
'joined by': 'ile birleştirilmiş',
|
|
2386
2379
|
},
|
|
2387
2380
|
};
|
|
2388
2381
|
|
|
@@ -2417,15 +2410,14 @@ const trKeywords = createKeywordProvider(tr$1, 'tr', {
|
|
|
2417
2410
|
allowEnglishFallback: true,
|
|
2418
2411
|
});
|
|
2419
2412
|
|
|
2420
|
-
//
|
|
2413
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
2414
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
2421
2415
|
const id$1 = {
|
|
2422
2416
|
commands: {
|
|
2423
|
-
// Event handling
|
|
2424
2417
|
on: 'pada',
|
|
2425
2418
|
tell: 'katakan',
|
|
2426
2419
|
trigger: 'picu',
|
|
2427
2420
|
send: 'kirim',
|
|
2428
|
-
// DOM manipulation
|
|
2429
2421
|
take: 'ambil',
|
|
2430
2422
|
put: 'taruh',
|
|
2431
2423
|
set: 'atur',
|
|
@@ -2435,7 +2427,6 @@ const id$1 = {
|
|
|
2435
2427
|
toggle: 'ganti',
|
|
2436
2428
|
hide: 'sembunyikan',
|
|
2437
2429
|
show: 'tampilkan',
|
|
2438
|
-
// Control flow
|
|
2439
2430
|
if: 'jika',
|
|
2440
2431
|
unless: 'kecuali',
|
|
2441
2432
|
repeat: 'ulangi',
|
|
@@ -2445,44 +2436,41 @@ const id$1 = {
|
|
|
2445
2436
|
continue: 'lanjutkan',
|
|
2446
2437
|
break: 'hentikan',
|
|
2447
2438
|
halt: 'berhenti',
|
|
2448
|
-
// Async
|
|
2449
2439
|
wait: 'tunggu',
|
|
2450
2440
|
fetch: 'ambil',
|
|
2451
2441
|
call: 'panggil',
|
|
2452
2442
|
return: 'kembali',
|
|
2453
|
-
// Other commands
|
|
2454
2443
|
make: 'buat',
|
|
2455
2444
|
log: 'catat',
|
|
2456
2445
|
throw: 'lempar',
|
|
2457
2446
|
catch: 'tangkap',
|
|
2458
2447
|
measure: 'ukur',
|
|
2459
2448
|
transition: 'transisi',
|
|
2460
|
-
// Data Commands
|
|
2461
2449
|
increment: 'tambahkan',
|
|
2462
2450
|
decrement: 'kurangi',
|
|
2463
2451
|
default: 'bawaan',
|
|
2464
|
-
// Navigation Commands
|
|
2465
2452
|
go: 'pergi',
|
|
2466
2453
|
pushUrl: 'tambahUrl',
|
|
2467
2454
|
replaceUrl: 'gantiUrl',
|
|
2468
|
-
// Utility Commands
|
|
2469
2455
|
copy: 'salin',
|
|
2470
2456
|
pick: 'pilih',
|
|
2471
2457
|
beep: 'bunyi',
|
|
2472
|
-
// Advanced Commands
|
|
2473
2458
|
js: 'js',
|
|
2474
2459
|
async: 'asinkron',
|
|
2475
2460
|
render: 'tampilkan',
|
|
2476
|
-
// Animation Commands
|
|
2477
2461
|
swap: 'tukar',
|
|
2478
2462
|
morph: 'ubah_bentuk',
|
|
2479
2463
|
settle: 'stabil',
|
|
2480
|
-
// Content Commands
|
|
2481
2464
|
append: 'tambah_akhir',
|
|
2482
|
-
// Control Flow
|
|
2483
2465
|
exit: 'keluar',
|
|
2484
|
-
// Behaviors
|
|
2485
2466
|
install: 'pasang',
|
|
2467
|
+
breakpoint: 'titik-henti',
|
|
2468
|
+
clear: 'hapus',
|
|
2469
|
+
close: 'tutup',
|
|
2470
|
+
open: 'buka',
|
|
2471
|
+
select: 'pilih',
|
|
2472
|
+
clone: 'klon',
|
|
2473
|
+
prepend: 'awali',
|
|
2486
2474
|
},
|
|
2487
2475
|
modifiers: {
|
|
2488
2476
|
to: 'ke',
|
|
@@ -2542,12 +2530,14 @@ const id$1 = {
|
|
|
2542
2530
|
contains: 'berisi',
|
|
2543
2531
|
includes: 'termasuk',
|
|
2544
2532
|
equals: 'sama',
|
|
2545
|
-
has: 'punya',
|
|
2546
|
-
have: 'punya',
|
|
2533
|
+
has: 'punya',
|
|
2534
|
+
have: 'punya',
|
|
2547
2535
|
then: 'lalu',
|
|
2548
2536
|
else: 'lainnya',
|
|
2549
2537
|
otherwise: 'sebaliknya',
|
|
2550
2538
|
end: 'akhir',
|
|
2539
|
+
live: 'langsung',
|
|
2540
|
+
changes: 'berubah',
|
|
2551
2541
|
},
|
|
2552
2542
|
temporal: {
|
|
2553
2543
|
seconds: 'detik',
|
|
@@ -2569,13 +2559,13 @@ const id$1 = {
|
|
|
2569
2559
|
null: 'kosong',
|
|
2570
2560
|
undefined: 'tidak_terdefinisi',
|
|
2571
2561
|
it: 'itu',
|
|
2572
|
-
its: 'miliknya',
|
|
2562
|
+
its: 'miliknya',
|
|
2573
2563
|
me: 'saya',
|
|
2574
2564
|
my: 'saya punya',
|
|
2575
2565
|
myself: 'saya sendiri',
|
|
2576
|
-
you: 'kamu',
|
|
2577
|
-
your: 'kamu punya',
|
|
2578
|
-
yourself: 'kamu sendiri',
|
|
2566
|
+
you: 'kamu',
|
|
2567
|
+
your: 'kamu punya',
|
|
2568
|
+
yourself: 'kamu sendiri',
|
|
2579
2569
|
element: 'elemen',
|
|
2580
2570
|
target: 'target',
|
|
2581
2571
|
detail: 'detail',
|
|
@@ -2597,7 +2587,6 @@ const id$1 = {
|
|
|
2597
2587
|
properties: 'properti_properti',
|
|
2598
2588
|
},
|
|
2599
2589
|
expressions: {
|
|
2600
|
-
// Positional
|
|
2601
2590
|
first: 'pertama',
|
|
2602
2591
|
last: 'terakhir',
|
|
2603
2592
|
next: 'berikutnya',
|
|
@@ -2605,18 +2594,20 @@ const id$1 = {
|
|
|
2605
2594
|
prev: 'sblm',
|
|
2606
2595
|
at: 'di',
|
|
2607
2596
|
random: 'acak',
|
|
2608
|
-
// DOM Traversal
|
|
2609
2597
|
closest: 'terdekat',
|
|
2610
2598
|
parent: 'induk',
|
|
2611
2599
|
children: 'anak_anak',
|
|
2612
2600
|
within: 'dalam',
|
|
2613
|
-
// Emptiness/Existence
|
|
2614
2601
|
no: 'tidak_ada',
|
|
2615
2602
|
empty: 'kosong',
|
|
2616
2603
|
some: 'beberapa',
|
|
2617
|
-
// String operations
|
|
2618
2604
|
'starts with': 'dimulai dengan',
|
|
2619
2605
|
'ends with': 'diakhiri dengan',
|
|
2606
|
+
'ignoring case': 'abaikan kapital',
|
|
2607
|
+
'sorted by': 'diurutkan berdasarkan',
|
|
2608
|
+
'mapped to': 'dipetakan ke',
|
|
2609
|
+
'split by': 'dipisah oleh',
|
|
2610
|
+
'joined by': 'digabung oleh',
|
|
2620
2611
|
},
|
|
2621
2612
|
};
|
|
2622
2613
|
|
|
@@ -2647,15 +2638,14 @@ const idKeywords = createKeywordProvider(id$1, 'id', {
|
|
|
2647
2638
|
allowEnglishFallback: true,
|
|
2648
2639
|
});
|
|
2649
2640
|
|
|
2650
|
-
//
|
|
2641
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
2642
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
2651
2643
|
const qu$1 = {
|
|
2652
2644
|
commands: {
|
|
2653
|
-
// Event handling
|
|
2654
2645
|
on: 'kaqpi',
|
|
2655
2646
|
tell: 'niy',
|
|
2656
2647
|
trigger: 'kichay',
|
|
2657
2648
|
send: 'kachay',
|
|
2658
|
-
// DOM manipulation
|
|
2659
2649
|
take: 'hurquy',
|
|
2660
2650
|
put: 'churay',
|
|
2661
2651
|
set: 'churay',
|
|
@@ -2665,7 +2655,6 @@ const qu$1 = {
|
|
|
2665
2655
|
toggle: 'tikray',
|
|
2666
2656
|
hide: 'pakay',
|
|
2667
2657
|
show: 'rikuchiy',
|
|
2668
|
-
// Control flow
|
|
2669
2658
|
if: 'sichus',
|
|
2670
2659
|
unless: 'mana_sichus',
|
|
2671
2660
|
repeat: 'kutichiy',
|
|
@@ -2675,44 +2664,41 @@ const qu$1 = {
|
|
|
2675
2664
|
continue: 'purichiy',
|
|
2676
2665
|
break: 'p_akiy',
|
|
2677
2666
|
halt: 'sayay',
|
|
2678
|
-
// Async
|
|
2679
2667
|
wait: 'suyay',
|
|
2680
2668
|
fetch: 'apamuy',
|
|
2681
2669
|
call: 'qayay',
|
|
2682
2670
|
return: 'kutimuy',
|
|
2683
|
-
// Other commands
|
|
2684
2671
|
make: 'ruray',
|
|
2685
2672
|
log: 'qillqay',
|
|
2686
2673
|
throw: 'wikchuy',
|
|
2687
2674
|
catch: 'hapsiy',
|
|
2688
2675
|
measure: 'tupuy',
|
|
2689
2676
|
transition: 'tikray',
|
|
2690
|
-
// Data Commands
|
|
2691
2677
|
increment: 'yapay',
|
|
2692
2678
|
decrement: 'pisiyachiy',
|
|
2693
2679
|
default: 'ñawpaq_kaq',
|
|
2694
|
-
// Navigation Commands
|
|
2695
2680
|
go: 'riy',
|
|
2696
2681
|
pushUrl: 'url_tanqay',
|
|
2697
2682
|
replaceUrl: 'url_tikray',
|
|
2698
|
-
// Utility Commands
|
|
2699
2683
|
copy: 'qillqay',
|
|
2700
2684
|
pick: 'akllay',
|
|
2701
2685
|
beep: 'waqay',
|
|
2702
|
-
// Advanced Commands
|
|
2703
2686
|
js: 'js',
|
|
2704
2687
|
async: 'mana_suyaspa',
|
|
2705
2688
|
render: 'rikuchiy',
|
|
2706
|
-
// Animation Commands
|
|
2707
2689
|
swap: 'rantin_tikray',
|
|
2708
2690
|
morph: 'tikrachiy',
|
|
2709
2691
|
settle: 'tiyay',
|
|
2710
|
-
// Content Commands
|
|
2711
2692
|
append: 'qhipaman_yapay',
|
|
2712
|
-
// Control Flow
|
|
2713
2693
|
exit: 'lluqsiy',
|
|
2714
|
-
// Behaviors
|
|
2715
2694
|
install: 'churay',
|
|
2695
|
+
breakpoint: 'sayachinay',
|
|
2696
|
+
clear: 'pichay',
|
|
2697
|
+
close: 'wichqay',
|
|
2698
|
+
open: 'kichay',
|
|
2699
|
+
select: 'akllay',
|
|
2700
|
+
clone: 'kikinchay',
|
|
2701
|
+
prepend: 'ñawpachiy',
|
|
2716
2702
|
},
|
|
2717
2703
|
modifiers: {
|
|
2718
2704
|
to: 'man',
|
|
@@ -2772,12 +2758,14 @@ const qu$1 = {
|
|
|
2772
2758
|
contains: 'ukupi_kan',
|
|
2773
2759
|
includes: 'churasqa',
|
|
2774
2760
|
equals: 'kikin',
|
|
2775
|
-
has: 'kachkan',
|
|
2776
|
-
have: 'kachkani',
|
|
2761
|
+
has: 'kachkan',
|
|
2762
|
+
have: 'kachkani',
|
|
2777
2763
|
then: 'chayqa',
|
|
2778
2764
|
else: 'mana_chayqa',
|
|
2779
2765
|
otherwise: 'huk_kaqpi',
|
|
2780
2766
|
end: 'tukuy',
|
|
2767
|
+
live: 'kawsay',
|
|
2768
|
+
changes: 'tukurikun',
|
|
2781
2769
|
},
|
|
2782
2770
|
temporal: {
|
|
2783
2771
|
seconds: 'sikundukuna',
|
|
@@ -2799,13 +2787,13 @@ const qu$1 = {
|
|
|
2799
2787
|
null: 'ch_usaq',
|
|
2800
2788
|
undefined: 'mana_riqsisqa',
|
|
2801
2789
|
it: 'chay',
|
|
2802
|
-
its: 'chaypaq',
|
|
2790
|
+
its: 'chaypaq',
|
|
2803
2791
|
me: 'noqa',
|
|
2804
2792
|
my: 'noqaq',
|
|
2805
2793
|
myself: 'noqa killa',
|
|
2806
|
-
you: 'qam',
|
|
2807
|
-
your: 'qampaq',
|
|
2808
|
-
yourself: 'qam killa',
|
|
2794
|
+
you: 'qam',
|
|
2795
|
+
your: 'qampaq',
|
|
2796
|
+
yourself: 'qam killa',
|
|
2809
2797
|
element: 'raku',
|
|
2810
2798
|
target: 'punta',
|
|
2811
2799
|
detail: 'sut_iy',
|
|
@@ -2827,7 +2815,6 @@ const qu$1 = {
|
|
|
2827
2815
|
properties: 'kanaykuna',
|
|
2828
2816
|
},
|
|
2829
2817
|
expressions: {
|
|
2830
|
-
// Positional
|
|
2831
2818
|
first: 'ñawpaq',
|
|
2832
2819
|
last: 'qhipa',
|
|
2833
2820
|
next: 'qhipantin',
|
|
@@ -2835,18 +2822,20 @@ const qu$1 = {
|
|
|
2835
2822
|
prev: 'ñawpaq',
|
|
2836
2823
|
at: 'pi',
|
|
2837
2824
|
random: 'imaymanata',
|
|
2838
|
-
// DOM Traversal
|
|
2839
2825
|
closest: 'aswan_kaylla',
|
|
2840
2826
|
parent: 'mama_tayta',
|
|
2841
2827
|
children: 'wawakuna',
|
|
2842
2828
|
within: 'ukupi',
|
|
2843
|
-
// Emptiness/Existence
|
|
2844
2829
|
no: 'mana_kanchu',
|
|
2845
2830
|
empty: 'ch_usaq',
|
|
2846
2831
|
some: 'wakin',
|
|
2847
|
-
// String operations
|
|
2848
2832
|
'starts with': 'qallarisqa wan',
|
|
2849
2833
|
'ends with': 'tukusqa wan',
|
|
2834
|
+
'ignoring case': 'hatun-huchuy qillqata-saqiy',
|
|
2835
|
+
'sorted by': 'niqpi ruwasqa',
|
|
2836
|
+
'mapped to': 'kay kaqman',
|
|
2837
|
+
'split by': 'rakisqa',
|
|
2838
|
+
'joined by': 'huñusqa',
|
|
2850
2839
|
},
|
|
2851
2840
|
};
|
|
2852
2841
|
|
|
@@ -2880,15 +2869,14 @@ const quKeywords = createKeywordProvider(qu$1, 'qu', {
|
|
|
2880
2869
|
allowEnglishFallback: true,
|
|
2881
2870
|
});
|
|
2882
2871
|
|
|
2883
|
-
//
|
|
2872
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
2873
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
2884
2874
|
const sw$1 = {
|
|
2885
2875
|
commands: {
|
|
2886
|
-
// Event handling
|
|
2887
2876
|
on: 'kwenye',
|
|
2888
2877
|
tell: 'ambia',
|
|
2889
2878
|
trigger: 'chochea',
|
|
2890
2879
|
send: 'tuma',
|
|
2891
|
-
// DOM manipulation
|
|
2892
2880
|
take: 'chukua',
|
|
2893
2881
|
put: 'weka',
|
|
2894
2882
|
set: 'weka',
|
|
@@ -2898,7 +2886,6 @@ const sw$1 = {
|
|
|
2898
2886
|
toggle: 'badilisha',
|
|
2899
2887
|
hide: 'ficha',
|
|
2900
2888
|
show: 'onyesha',
|
|
2901
|
-
// Control flow
|
|
2902
2889
|
if: 'kama',
|
|
2903
2890
|
unless: 'isipokuwa',
|
|
2904
2891
|
repeat: 'rudia',
|
|
@@ -2908,44 +2895,41 @@ const sw$1 = {
|
|
|
2908
2895
|
continue: 'endelea',
|
|
2909
2896
|
break: 'vunja',
|
|
2910
2897
|
halt: 'simama',
|
|
2911
|
-
// Async
|
|
2912
2898
|
wait: 'ngoja',
|
|
2913
2899
|
fetch: 'leta',
|
|
2914
2900
|
call: 'ita',
|
|
2915
2901
|
return: 'rudi',
|
|
2916
|
-
// Other commands
|
|
2917
2902
|
make: 'fanya',
|
|
2918
2903
|
log: 'andika',
|
|
2919
2904
|
throw: 'tupa',
|
|
2920
2905
|
catch: 'shika',
|
|
2921
2906
|
measure: 'pima',
|
|
2922
2907
|
transition: 'mpito',
|
|
2923
|
-
// Data Commands
|
|
2924
2908
|
increment: 'ongeza',
|
|
2925
2909
|
decrement: 'punguza',
|
|
2926
2910
|
default: 'msingi',
|
|
2927
|
-
// Navigation Commands
|
|
2928
2911
|
go: 'nenda',
|
|
2929
2912
|
pushUrl: 'sukumaUrl',
|
|
2930
2913
|
replaceUrl: 'badilishaUrl',
|
|
2931
|
-
// Utility Commands
|
|
2932
2914
|
copy: 'nakili',
|
|
2933
2915
|
pick: 'chagua',
|
|
2934
2916
|
beep: 'lia',
|
|
2935
|
-
// Advanced Commands
|
|
2936
2917
|
js: 'js',
|
|
2937
2918
|
async: 'sainkroni',
|
|
2938
2919
|
render: 'chora',
|
|
2939
|
-
// Animation Commands
|
|
2940
2920
|
swap: 'badilishana',
|
|
2941
2921
|
morph: 'badilishaUmbo',
|
|
2942
2922
|
settle: 'tulia',
|
|
2943
|
-
// Content Commands
|
|
2944
2923
|
append: 'ongezaMwisho',
|
|
2945
|
-
// Control Flow
|
|
2946
2924
|
exit: 'toka',
|
|
2947
|
-
// Behaviors
|
|
2948
2925
|
install: 'sakinisha',
|
|
2926
|
+
breakpoint: 'nukta-simama',
|
|
2927
|
+
clear: 'futa',
|
|
2928
|
+
close: 'funga',
|
|
2929
|
+
open: 'fungua',
|
|
2930
|
+
select: 'chagua',
|
|
2931
|
+
clone: 'nakili',
|
|
2932
|
+
prepend: 'tanguliza',
|
|
2949
2933
|
},
|
|
2950
2934
|
modifiers: {
|
|
2951
2935
|
to: 'kwa',
|
|
@@ -3005,12 +2989,14 @@ const sw$1 = {
|
|
|
3005
2989
|
contains: 'ina',
|
|
3006
2990
|
includes: 'pamoja',
|
|
3007
2991
|
equals: 'sawa',
|
|
3008
|
-
has: 'ana',
|
|
3009
|
-
have: 'nina',
|
|
2992
|
+
has: 'ana',
|
|
2993
|
+
have: 'nina',
|
|
3010
2994
|
then: 'kisha',
|
|
3011
2995
|
else: 'sivyo',
|
|
3012
2996
|
otherwise: 'vinginevyo',
|
|
3013
2997
|
end: 'mwisho',
|
|
2998
|
+
live: 'moja_kwa_moja',
|
|
2999
|
+
changes: 'inabadilika',
|
|
3014
3000
|
},
|
|
3015
3001
|
temporal: {
|
|
3016
3002
|
seconds: 'sekunde',
|
|
@@ -3032,13 +3018,13 @@ const sw$1 = {
|
|
|
3032
3018
|
null: 'tupu',
|
|
3033
3019
|
undefined: 'haijafafanuliwa',
|
|
3034
3020
|
it: 'hiyo',
|
|
3035
|
-
its: 'yake',
|
|
3021
|
+
its: 'yake',
|
|
3036
3022
|
me: 'mimi',
|
|
3037
3023
|
my: 'yangu',
|
|
3038
3024
|
myself: 'mimi mwenyewe',
|
|
3039
|
-
you: 'wewe',
|
|
3040
|
-
your: 'yako',
|
|
3041
|
-
yourself: 'wewe mwenyewe',
|
|
3025
|
+
you: 'wewe',
|
|
3026
|
+
your: 'yako',
|
|
3027
|
+
yourself: 'wewe mwenyewe',
|
|
3042
3028
|
element: 'kipengele',
|
|
3043
3029
|
target: 'lengo',
|
|
3044
3030
|
detail: 'maelezo',
|
|
@@ -3060,7 +3046,6 @@ const sw$1 = {
|
|
|
3060
3046
|
properties: 'mali',
|
|
3061
3047
|
},
|
|
3062
3048
|
expressions: {
|
|
3063
|
-
// Positional
|
|
3064
3049
|
first: 'kwanza',
|
|
3065
3050
|
last: 'mwisho',
|
|
3066
3051
|
next: 'ijayo',
|
|
@@ -3068,18 +3053,20 @@ const sw$1 = {
|
|
|
3068
3053
|
prev: 'awali',
|
|
3069
3054
|
at: 'katika',
|
|
3070
3055
|
random: 'nasibu',
|
|
3071
|
-
// DOM Traversal
|
|
3072
3056
|
closest: 'karibu_zaidi',
|
|
3073
3057
|
parent: 'mzazi',
|
|
3074
3058
|
children: 'watoto',
|
|
3075
3059
|
within: 'ndani_ya',
|
|
3076
|
-
// Emptiness/Existence
|
|
3077
3060
|
no: 'hakuna',
|
|
3078
3061
|
empty: 'tupu',
|
|
3079
3062
|
some: 'baadhi',
|
|
3080
|
-
// String operations
|
|
3081
3063
|
'starts with': 'huanza na',
|
|
3082
3064
|
'ends with': 'huisha na',
|
|
3065
|
+
'ignoring case': 'puuza herufi kubwa ndogo',
|
|
3066
|
+
'sorted by': 'kupangwa kwa',
|
|
3067
|
+
'mapped to': 'kubadilishwa kuwa',
|
|
3068
|
+
'split by': 'kugawanywa kwa',
|
|
3069
|
+
'joined by': 'kuunganishwa kwa',
|
|
3083
3070
|
},
|
|
3084
3071
|
};
|
|
3085
3072
|
|
|
@@ -3113,19 +3100,14 @@ const swKeywords = createKeywordProvider(sw$1, 'sw', {
|
|
|
3113
3100
|
allowEnglishFallback: true,
|
|
3114
3101
|
});
|
|
3115
3102
|
|
|
3116
|
-
//
|
|
3117
|
-
|
|
3118
|
-
* Portuguese (Português) dictionary for hyperscript keywords.
|
|
3119
|
-
* Brazilian Portuguese variant.
|
|
3120
|
-
*/
|
|
3103
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
3104
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
3121
3105
|
const pt$1 = {
|
|
3122
3106
|
commands: {
|
|
3123
|
-
// Event handling
|
|
3124
3107
|
on: 'em',
|
|
3125
3108
|
tell: 'dizer',
|
|
3126
3109
|
trigger: 'disparar',
|
|
3127
3110
|
send: 'enviar',
|
|
3128
|
-
// DOM manipulation
|
|
3129
3111
|
take: 'pegar',
|
|
3130
3112
|
put: 'colocar',
|
|
3131
3113
|
set: 'definir',
|
|
@@ -3135,9 +3117,8 @@ const pt$1 = {
|
|
|
3135
3117
|
toggle: 'alternar',
|
|
3136
3118
|
hide: 'esconder',
|
|
3137
3119
|
show: 'mostrar',
|
|
3138
|
-
// Control flow
|
|
3139
3120
|
if: 'se',
|
|
3140
|
-
unless: 'a_menos',
|
|
3121
|
+
unless: 'a_menos',
|
|
3141
3122
|
repeat: 'repetir',
|
|
3142
3123
|
for: 'para',
|
|
3143
3124
|
while: 'enquanto',
|
|
@@ -3145,44 +3126,41 @@ const pt$1 = {
|
|
|
3145
3126
|
continue: 'continuar',
|
|
3146
3127
|
break: 'parar',
|
|
3147
3128
|
halt: 'interromper',
|
|
3148
|
-
// Async
|
|
3149
3129
|
wait: 'esperar',
|
|
3150
3130
|
fetch: 'buscar',
|
|
3151
3131
|
call: 'chamar',
|
|
3152
3132
|
return: 'retornar',
|
|
3153
|
-
// Other commands
|
|
3154
3133
|
make: 'fazer',
|
|
3155
3134
|
log: 'registrar',
|
|
3156
3135
|
throw: 'lançar',
|
|
3157
3136
|
catch: 'capturar',
|
|
3158
3137
|
measure: 'medir',
|
|
3159
3138
|
transition: 'transição',
|
|
3160
|
-
// Data Commands
|
|
3161
3139
|
increment: 'incrementar',
|
|
3162
3140
|
decrement: 'decrementar',
|
|
3163
3141
|
default: 'padrão',
|
|
3164
|
-
// Navigation Commands
|
|
3165
3142
|
go: 'ir',
|
|
3166
3143
|
pushUrl: 'pushUrl',
|
|
3167
3144
|
replaceUrl: 'substituirUrl',
|
|
3168
|
-
// Utility Commands
|
|
3169
3145
|
copy: 'copiar',
|
|
3170
3146
|
pick: 'escolher',
|
|
3171
3147
|
beep: 'apitar',
|
|
3172
|
-
// Advanced Commands
|
|
3173
3148
|
js: 'js',
|
|
3174
3149
|
async: 'assíncrono',
|
|
3175
3150
|
render: 'renderizar',
|
|
3176
|
-
// Animation Commands
|
|
3177
3151
|
swap: 'trocar',
|
|
3178
3152
|
morph: 'transformar',
|
|
3179
3153
|
settle: 'estabilizar',
|
|
3180
|
-
// Content Commands
|
|
3181
3154
|
append: 'anexar',
|
|
3182
|
-
// Control Flow
|
|
3183
3155
|
exit: 'sair',
|
|
3184
|
-
// Behaviors
|
|
3185
3156
|
install: 'instalar',
|
|
3157
|
+
breakpoint: 'ponto-interrupção',
|
|
3158
|
+
clear: 'limpar',
|
|
3159
|
+
close: 'fechar',
|
|
3160
|
+
open: 'abrir',
|
|
3161
|
+
select: 'selecionar',
|
|
3162
|
+
clone: 'clonar',
|
|
3163
|
+
prepend: 'preceder',
|
|
3186
3164
|
},
|
|
3187
3165
|
modifiers: {
|
|
3188
3166
|
to: 'para',
|
|
@@ -3242,12 +3220,14 @@ const pt$1 = {
|
|
|
3242
3220
|
contains: 'contém',
|
|
3243
3221
|
includes: 'inclui',
|
|
3244
3222
|
equals: 'igual',
|
|
3245
|
-
has: 'tem',
|
|
3246
|
-
have: 'tenho',
|
|
3223
|
+
has: 'tem',
|
|
3224
|
+
have: 'tenho',
|
|
3247
3225
|
then: 'então',
|
|
3248
3226
|
else: 'senão',
|
|
3249
|
-
otherwise: 'caso_contrário',
|
|
3227
|
+
otherwise: 'caso_contrário',
|
|
3250
3228
|
end: 'fim',
|
|
3229
|
+
live: 'vivo',
|
|
3230
|
+
changes: 'muda',
|
|
3251
3231
|
},
|
|
3252
3232
|
temporal: {
|
|
3253
3233
|
seconds: 'segundos',
|
|
@@ -3272,10 +3252,10 @@ const pt$1 = {
|
|
|
3272
3252
|
its: 'seu',
|
|
3273
3253
|
me: 'eu',
|
|
3274
3254
|
my: 'meu',
|
|
3275
|
-
myself: 'eu mesmo',
|
|
3255
|
+
myself: 'eu mesmo',
|
|
3276
3256
|
you: 'você',
|
|
3277
3257
|
your: 'seu',
|
|
3278
|
-
yourself: 'você mesmo',
|
|
3258
|
+
yourself: 'você mesmo',
|
|
3279
3259
|
element: 'elemento',
|
|
3280
3260
|
target: 'alvo',
|
|
3281
3261
|
detail: 'detalhe',
|
|
@@ -3297,7 +3277,6 @@ const pt$1 = {
|
|
|
3297
3277
|
properties: 'propriedades',
|
|
3298
3278
|
},
|
|
3299
3279
|
expressions: {
|
|
3300
|
-
// Positional
|
|
3301
3280
|
first: 'primeiro',
|
|
3302
3281
|
last: 'último',
|
|
3303
3282
|
next: 'próximo',
|
|
@@ -3305,18 +3284,20 @@ const pt$1 = {
|
|
|
3305
3284
|
prev: 'ant',
|
|
3306
3285
|
at: 'em',
|
|
3307
3286
|
random: 'aleatório',
|
|
3308
|
-
|
|
3309
|
-
closest: 'mais_próximo', // REVIEW: native speaker - multi-word
|
|
3287
|
+
closest: 'mais_próximo',
|
|
3310
3288
|
parent: 'pai',
|
|
3311
3289
|
children: 'filhos',
|
|
3312
3290
|
within: 'dentro',
|
|
3313
|
-
// Emptiness/Existence
|
|
3314
3291
|
no: 'nenhum',
|
|
3315
3292
|
empty: 'vazio',
|
|
3316
3293
|
some: 'algum',
|
|
3317
|
-
// String operations
|
|
3318
3294
|
'starts with': 'começa com',
|
|
3319
3295
|
'ends with': 'termina com',
|
|
3296
|
+
'ignoring case': 'ignorando maiúsculas',
|
|
3297
|
+
'sorted by': 'ordenado por',
|
|
3298
|
+
'mapped to': 'mapeado para',
|
|
3299
|
+
'split by': 'dividido por',
|
|
3300
|
+
'joined by': 'unido por',
|
|
3320
3301
|
},
|
|
3321
3302
|
};
|
|
3322
3303
|
|
|
@@ -3350,15 +3331,14 @@ const ptKeywords = createKeywordProvider(pt$1, 'pt', {
|
|
|
3350
3331
|
allowEnglishFallback: true,
|
|
3351
3332
|
});
|
|
3352
3333
|
|
|
3353
|
-
//
|
|
3334
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
3335
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
3354
3336
|
const it$1 = {
|
|
3355
3337
|
commands: {
|
|
3356
|
-
// Event handling
|
|
3357
3338
|
on: 'su',
|
|
3358
3339
|
tell: 'dire',
|
|
3359
3340
|
trigger: 'scatenare',
|
|
3360
3341
|
send: 'inviare',
|
|
3361
|
-
// DOM manipulation
|
|
3362
3342
|
take: 'prendere',
|
|
3363
3343
|
put: 'mettere',
|
|
3364
3344
|
set: 'impostare',
|
|
@@ -3368,7 +3348,6 @@ const it$1 = {
|
|
|
3368
3348
|
toggle: 'commutare',
|
|
3369
3349
|
hide: 'nascondere',
|
|
3370
3350
|
show: 'mostrare',
|
|
3371
|
-
// Control flow
|
|
3372
3351
|
if: 'se',
|
|
3373
3352
|
unless: 'a meno che',
|
|
3374
3353
|
repeat: 'ripetere',
|
|
@@ -3378,44 +3357,41 @@ const it$1 = {
|
|
|
3378
3357
|
continue: 'continuare',
|
|
3379
3358
|
break: 'interrompere',
|
|
3380
3359
|
halt: 'fermare',
|
|
3381
|
-
// Async
|
|
3382
3360
|
wait: 'aspettare',
|
|
3383
3361
|
fetch: 'recuperare',
|
|
3384
3362
|
call: 'chiamare',
|
|
3385
3363
|
return: 'ritornare',
|
|
3386
|
-
// Other commands
|
|
3387
3364
|
make: 'fare',
|
|
3388
3365
|
log: 'registrare',
|
|
3389
3366
|
throw: 'lanciare',
|
|
3390
3367
|
catch: 'catturare',
|
|
3391
3368
|
measure: 'misurare',
|
|
3392
3369
|
transition: 'transizione',
|
|
3393
|
-
// Data Commands
|
|
3394
3370
|
increment: 'incrementare',
|
|
3395
3371
|
decrement: 'decrementare',
|
|
3396
3372
|
default: 'predefinito',
|
|
3397
|
-
// Navigation Commands
|
|
3398
3373
|
go: 'andare',
|
|
3399
3374
|
pushUrl: 'pushUrl',
|
|
3400
3375
|
replaceUrl: 'sostituireUrl',
|
|
3401
|
-
// Utility Commands
|
|
3402
3376
|
copy: 'copiare',
|
|
3403
3377
|
pick: 'scegliere',
|
|
3404
3378
|
beep: 'beep',
|
|
3405
|
-
// Advanced Commands
|
|
3406
3379
|
js: 'js',
|
|
3407
3380
|
async: 'asincrono',
|
|
3408
3381
|
render: 'renderizzare',
|
|
3409
|
-
// Animation Commands
|
|
3410
3382
|
swap: 'scambiare',
|
|
3411
3383
|
morph: 'trasformare',
|
|
3412
3384
|
settle: 'stabilizzare',
|
|
3413
|
-
// Content Commands
|
|
3414
3385
|
append: 'aggiungere',
|
|
3415
|
-
// Control Flow
|
|
3416
3386
|
exit: 'uscire',
|
|
3417
|
-
// Behaviors
|
|
3418
3387
|
install: 'installare',
|
|
3388
|
+
breakpoint: 'punto-interruzione',
|
|
3389
|
+
clear: 'cancellare',
|
|
3390
|
+
close: 'chiudere',
|
|
3391
|
+
open: 'aprire',
|
|
3392
|
+
select: 'selezionare',
|
|
3393
|
+
clone: 'clonare',
|
|
3394
|
+
prepend: 'anteporre',
|
|
3419
3395
|
},
|
|
3420
3396
|
modifiers: {
|
|
3421
3397
|
to: 'a',
|
|
@@ -3475,12 +3451,14 @@ const it$1 = {
|
|
|
3475
3451
|
contains: 'contiene',
|
|
3476
3452
|
includes: 'include',
|
|
3477
3453
|
equals: 'uguale',
|
|
3478
|
-
has: 'ha',
|
|
3479
|
-
have: 'ho',
|
|
3454
|
+
has: 'ha',
|
|
3455
|
+
have: 'ho',
|
|
3480
3456
|
then: 'allora',
|
|
3481
3457
|
else: 'altrimenti',
|
|
3482
3458
|
otherwise: 'altrimenti',
|
|
3483
3459
|
end: 'fine',
|
|
3460
|
+
live: 'vivo',
|
|
3461
|
+
changes: 'cambia',
|
|
3484
3462
|
},
|
|
3485
3463
|
temporal: {
|
|
3486
3464
|
seconds: 'secondi',
|
|
@@ -3530,7 +3508,6 @@ const it$1 = {
|
|
|
3530
3508
|
properties: 'proprietà',
|
|
3531
3509
|
},
|
|
3532
3510
|
expressions: {
|
|
3533
|
-
// Positional
|
|
3534
3511
|
first: 'primo',
|
|
3535
3512
|
last: 'ultimo',
|
|
3536
3513
|
next: 'prossimo',
|
|
@@ -3538,18 +3515,20 @@ const it$1 = {
|
|
|
3538
3515
|
prev: 'prec',
|
|
3539
3516
|
at: 'a',
|
|
3540
3517
|
random: 'casuale',
|
|
3541
|
-
// DOM Traversal
|
|
3542
3518
|
closest: 'piùvicino',
|
|
3543
3519
|
parent: 'genitore',
|
|
3544
3520
|
children: 'figli',
|
|
3545
3521
|
within: 'dentro',
|
|
3546
|
-
// Emptiness/Existence
|
|
3547
3522
|
no: 'nessun',
|
|
3548
3523
|
empty: 'vuoto',
|
|
3549
3524
|
some: 'qualche',
|
|
3550
|
-
// String operations
|
|
3551
3525
|
'starts with': 'inizia con',
|
|
3552
3526
|
'ends with': 'finisce con',
|
|
3527
|
+
'ignoring case': 'ignorando maiuscole',
|
|
3528
|
+
'sorted by': 'ordinato per',
|
|
3529
|
+
'mapped to': 'trasformato in',
|
|
3530
|
+
'split by': 'diviso per',
|
|
3531
|
+
'joined by': 'unito per',
|
|
3553
3532
|
},
|
|
3554
3533
|
};
|
|
3555
3534
|
|
|
@@ -3618,6 +3597,11 @@ const vi$1 = {
|
|
|
3618
3597
|
clone: 'sao chép',
|
|
3619
3598
|
prepend: 'thêm đầu',
|
|
3620
3599
|
else: 'không thì',
|
|
3600
|
+
breakpoint: 'điểm-dừng',
|
|
3601
|
+
clear: 'xóa',
|
|
3602
|
+
close: 'đóng',
|
|
3603
|
+
open: 'mở',
|
|
3604
|
+
select: 'chọn',
|
|
3621
3605
|
},
|
|
3622
3606
|
modifiers: {
|
|
3623
3607
|
into: 'vào',
|
|
@@ -3634,6 +3618,7 @@ const vi$1 = {
|
|
|
3634
3618
|
in: 'trong',
|
|
3635
3619
|
at: 'tại',
|
|
3636
3620
|
of: 'của',
|
|
3621
|
+
between: 'giữa',
|
|
3637
3622
|
the: '',
|
|
3638
3623
|
times: 'lần',
|
|
3639
3624
|
},
|
|
@@ -3652,6 +3637,7 @@ const vi$1 = {
|
|
|
3652
3637
|
mouseleave: 'chuột rời',
|
|
3653
3638
|
focus: 'tập trung',
|
|
3654
3639
|
blur: 'mất tập trung',
|
|
3640
|
+
reset: 'đặt-lại',
|
|
3655
3641
|
load: 'tải',
|
|
3656
3642
|
scroll: 'cuộn',
|
|
3657
3643
|
resize: 'đổi kích thước',
|
|
@@ -3676,6 +3662,8 @@ const vi$1 = {
|
|
|
3676
3662
|
else: 'không thì',
|
|
3677
3663
|
end: 'kết thúc',
|
|
3678
3664
|
then: 'rồi',
|
|
3665
|
+
live: 'trực tiếp',
|
|
3666
|
+
changes: 'thay đổi',
|
|
3679
3667
|
},
|
|
3680
3668
|
temporal: {
|
|
3681
3669
|
now: 'bây giờ',
|
|
@@ -3740,6 +3728,14 @@ const vi$1 = {
|
|
|
3740
3728
|
parent: 'cha',
|
|
3741
3729
|
children: 'con',
|
|
3742
3730
|
closest: 'gần nhất',
|
|
3731
|
+
empty: 'làm-rỗng',
|
|
3732
|
+
'starts with': 'bắt đầu bằng',
|
|
3733
|
+
'ends with': 'kết thúc bằng',
|
|
3734
|
+
'ignoring case': 'không phân biệt hoa thường',
|
|
3735
|
+
'sorted by': 'sắp xếp theo',
|
|
3736
|
+
'mapped to': 'ánh xạ thành',
|
|
3737
|
+
'split by': 'tách bởi',
|
|
3738
|
+
'joined by': 'nối bởi',
|
|
3743
3739
|
},
|
|
3744
3740
|
};
|
|
3745
3741
|
|
|
@@ -3747,21 +3743,14 @@ const viKeywords = createKeywordProvider(vi$1, 'vi', {
|
|
|
3747
3743
|
allowEnglishFallback: true,
|
|
3748
3744
|
});
|
|
3749
3745
|
|
|
3750
|
-
//
|
|
3751
|
-
|
|
3752
|
-
* Polish Dictionary
|
|
3753
|
-
*
|
|
3754
|
-
* Polish uses IMPERATIVE verb forms for software commands
|
|
3755
|
-
* (unlike most languages which use infinitive).
|
|
3756
|
-
*/
|
|
3746
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
3747
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
3757
3748
|
const pl$1 = {
|
|
3758
3749
|
commands: {
|
|
3759
|
-
// Event handling
|
|
3760
3750
|
on: 'gdy',
|
|
3761
3751
|
tell: 'powiedz',
|
|
3762
3752
|
trigger: 'wywołaj',
|
|
3763
3753
|
send: 'wyślij',
|
|
3764
|
-
// DOM manipulation
|
|
3765
3754
|
take: 'weź',
|
|
3766
3755
|
put: 'umieść',
|
|
3767
3756
|
set: 'ustaw',
|
|
@@ -3771,7 +3760,6 @@ const pl$1 = {
|
|
|
3771
3760
|
toggle: 'przełącz',
|
|
3772
3761
|
hide: 'ukryj',
|
|
3773
3762
|
show: 'pokaż',
|
|
3774
|
-
// Control flow
|
|
3775
3763
|
if: 'jeśli',
|
|
3776
3764
|
unless: 'chyba',
|
|
3777
3765
|
repeat: 'powtórz',
|
|
@@ -3781,44 +3769,41 @@ const pl$1 = {
|
|
|
3781
3769
|
continue: 'kontynuuj',
|
|
3782
3770
|
break: 'przerwij',
|
|
3783
3771
|
halt: 'zatrzymaj',
|
|
3784
|
-
// Async
|
|
3785
3772
|
wait: 'czekaj',
|
|
3786
3773
|
fetch: 'pobierz',
|
|
3787
3774
|
call: 'wywołaj',
|
|
3788
3775
|
return: 'zwróć',
|
|
3789
|
-
// Other commands
|
|
3790
3776
|
make: 'utwórz',
|
|
3791
3777
|
log: 'loguj',
|
|
3792
3778
|
throw: 'rzuć',
|
|
3793
3779
|
catch: 'złap',
|
|
3794
3780
|
measure: 'zmierz',
|
|
3795
3781
|
transition: 'animuj',
|
|
3796
|
-
// Data Commands
|
|
3797
3782
|
increment: 'zwiększ',
|
|
3798
3783
|
decrement: 'zmniejsz',
|
|
3799
3784
|
default: 'domyślnie',
|
|
3800
|
-
// Navigation Commands
|
|
3801
3785
|
go: 'idź',
|
|
3802
3786
|
pushUrl: 'dodajUrl',
|
|
3803
3787
|
replaceUrl: 'zamieńUrl',
|
|
3804
|
-
// Utility Commands
|
|
3805
3788
|
copy: 'kopiuj',
|
|
3806
3789
|
pick: 'wybierz',
|
|
3807
3790
|
beep: 'sygnał',
|
|
3808
|
-
// Advanced Commands
|
|
3809
3791
|
js: 'js',
|
|
3810
3792
|
async: 'async',
|
|
3811
3793
|
render: 'renderuj',
|
|
3812
|
-
// Animation Commands
|
|
3813
3794
|
swap: 'zamień',
|
|
3814
3795
|
morph: 'przekształć',
|
|
3815
3796
|
settle: 'ustabilizuj',
|
|
3816
|
-
// Content Commands
|
|
3817
3797
|
append: 'dołącz',
|
|
3818
|
-
// Control Flow
|
|
3819
3798
|
exit: 'wyjdź',
|
|
3820
|
-
// Behaviors
|
|
3821
3799
|
install: 'zainstaluj',
|
|
3800
|
+
breakpoint: 'punkt-przerwania',
|
|
3801
|
+
clear: 'wyczyść',
|
|
3802
|
+
close: 'zamknij',
|
|
3803
|
+
open: 'otwórz',
|
|
3804
|
+
select: 'wybierz',
|
|
3805
|
+
clone: 'sklonuj',
|
|
3806
|
+
prepend: 'poprzedź',
|
|
3822
3807
|
},
|
|
3823
3808
|
modifiers: {
|
|
3824
3809
|
to: 'do',
|
|
@@ -3878,12 +3863,14 @@ const pl$1 = {
|
|
|
3878
3863
|
contains: 'zawiera',
|
|
3879
3864
|
includes: 'obejmuje',
|
|
3880
3865
|
equals: 'równa się',
|
|
3881
|
-
has: 'ma',
|
|
3882
|
-
have: 'mam',
|
|
3866
|
+
has: 'ma',
|
|
3867
|
+
have: 'mam',
|
|
3883
3868
|
then: 'wtedy',
|
|
3884
3869
|
else: 'inaczej',
|
|
3885
3870
|
otherwise: 'wpp',
|
|
3886
3871
|
end: 'koniec',
|
|
3872
|
+
live: 'żywy',
|
|
3873
|
+
changes: 'zmienia',
|
|
3887
3874
|
},
|
|
3888
3875
|
temporal: {
|
|
3889
3876
|
seconds: 'sekundy',
|
|
@@ -3933,7 +3920,6 @@ const pl$1 = {
|
|
|
3933
3920
|
properties: 'właściwości',
|
|
3934
3921
|
},
|
|
3935
3922
|
expressions: {
|
|
3936
|
-
// Positional
|
|
3937
3923
|
first: 'pierwszy',
|
|
3938
3924
|
last: 'ostatni',
|
|
3939
3925
|
next: 'następny',
|
|
@@ -3941,18 +3927,20 @@ const pl$1 = {
|
|
|
3941
3927
|
prev: 'poprz',
|
|
3942
3928
|
at: 'przy',
|
|
3943
3929
|
random: 'losowy',
|
|
3944
|
-
// DOM Traversal
|
|
3945
3930
|
closest: 'najbliższy',
|
|
3946
3931
|
parent: 'rodzic',
|
|
3947
3932
|
children: 'dzieci',
|
|
3948
3933
|
within: 'wewnątrz',
|
|
3949
|
-
// Emptiness/Existence
|
|
3950
3934
|
no: 'brak',
|
|
3951
3935
|
empty: 'pusty',
|
|
3952
3936
|
some: 'jakiś',
|
|
3953
|
-
// String operations
|
|
3954
3937
|
'starts with': 'zaczyna się od',
|
|
3955
3938
|
'ends with': 'kończy się na',
|
|
3939
|
+
'ignoring case': 'ignorując wielkość liter',
|
|
3940
|
+
'sorted by': 'sortowane według',
|
|
3941
|
+
'mapped to': 'przekształcone na',
|
|
3942
|
+
'split by': 'podzielone przez',
|
|
3943
|
+
'joined by': 'połączone przez',
|
|
3956
3944
|
},
|
|
3957
3945
|
};
|
|
3958
3946
|
|
|
@@ -3960,20 +3948,14 @@ const plKeywords = createKeywordProvider(pl$1, 'pl', {
|
|
|
3960
3948
|
allowEnglishFallback: true,
|
|
3961
3949
|
});
|
|
3962
3950
|
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
*
|
|
3966
|
-
* Translations for Russian language support.
|
|
3967
|
-
* Uses infinitive verbs (common in software UIs).
|
|
3968
|
-
*/
|
|
3951
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
3952
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
3969
3953
|
const russianDictionary = {
|
|
3970
3954
|
commands: {
|
|
3971
|
-
// Event handling
|
|
3972
3955
|
on: 'при',
|
|
3973
3956
|
tell: 'сказать',
|
|
3974
3957
|
trigger: 'вызвать',
|
|
3975
3958
|
send: 'отправить',
|
|
3976
|
-
// DOM manipulation
|
|
3977
3959
|
take: 'взять',
|
|
3978
3960
|
put: 'положить',
|
|
3979
3961
|
set: 'установить',
|
|
@@ -3983,7 +3965,6 @@ const russianDictionary = {
|
|
|
3983
3965
|
toggle: 'переключить',
|
|
3984
3966
|
hide: 'скрыть',
|
|
3985
3967
|
show: 'показать',
|
|
3986
|
-
// Control flow
|
|
3987
3968
|
if: 'если',
|
|
3988
3969
|
unless: 'если_не',
|
|
3989
3970
|
repeat: 'повторить',
|
|
@@ -3993,53 +3974,46 @@ const russianDictionary = {
|
|
|
3993
3974
|
continue: 'продолжить',
|
|
3994
3975
|
break: 'прервать',
|
|
3995
3976
|
halt: 'остановить',
|
|
3996
|
-
// Async
|
|
3997
3977
|
wait: 'ждать',
|
|
3998
3978
|
fetch: 'загрузить',
|
|
3999
3979
|
call: 'вызвать',
|
|
4000
3980
|
return: 'вернуть',
|
|
4001
|
-
// Other commands
|
|
4002
3981
|
make: 'создать',
|
|
4003
3982
|
log: 'записать',
|
|
4004
3983
|
throw: 'бросить',
|
|
4005
3984
|
catch: 'поймать',
|
|
4006
3985
|
measure: 'измерить',
|
|
4007
3986
|
transition: 'анимировать',
|
|
4008
|
-
// Data Commands
|
|
4009
3987
|
increment: 'увеличить',
|
|
4010
3988
|
decrement: 'уменьшить',
|
|
4011
3989
|
default: 'по_умолчанию',
|
|
4012
|
-
// Navigation Commands
|
|
4013
3990
|
go: 'перейти',
|
|
4014
3991
|
pushUrl: 'добавить_url',
|
|
4015
3992
|
replaceUrl: 'заменить_url',
|
|
4016
|
-
// Utility Commands
|
|
4017
3993
|
copy: 'копировать',
|
|
4018
3994
|
pick: 'выбрать',
|
|
4019
3995
|
beep: 'звук',
|
|
4020
|
-
// Advanced Commands
|
|
4021
3996
|
js: 'js',
|
|
4022
3997
|
async: 'асинхронно',
|
|
4023
3998
|
render: 'отобразить',
|
|
4024
|
-
// Animation Commands
|
|
4025
3999
|
swap: 'поменять',
|
|
4026
4000
|
morph: 'трансформировать',
|
|
4027
4001
|
settle: 'стабилизировать',
|
|
4028
|
-
// Content Commands
|
|
4029
4002
|
append: 'добавить_в_конец',
|
|
4030
|
-
// Control Flow
|
|
4031
4003
|
exit: 'выйти',
|
|
4032
4004
|
else: 'иначе',
|
|
4033
|
-
// Behaviors
|
|
4034
4005
|
install: 'установить',
|
|
4035
4006
|
init: 'инициализировать',
|
|
4036
4007
|
behavior: 'поведение',
|
|
4037
|
-
// Focus
|
|
4038
4008
|
focus: 'сфокусировать',
|
|
4039
4009
|
blur: 'размыть',
|
|
4040
|
-
// Clone
|
|
4041
4010
|
clone: 'клонировать',
|
|
4042
4011
|
prepend: 'добавить_в_начало',
|
|
4012
|
+
breakpoint: 'точка-останова',
|
|
4013
|
+
clear: 'очистить',
|
|
4014
|
+
close: 'закрыть',
|
|
4015
|
+
open: 'открыть',
|
|
4016
|
+
select: 'выбрать',
|
|
4043
4017
|
},
|
|
4044
4018
|
modifiers: {
|
|
4045
4019
|
to: 'к',
|
|
@@ -4104,8 +4078,10 @@ const russianDictionary = {
|
|
|
4104
4078
|
else: 'иначе',
|
|
4105
4079
|
otherwise: 'в_противном_случае',
|
|
4106
4080
|
end: 'конец',
|
|
4107
|
-
|
|
4108
|
-
|
|
4081
|
+
live: 'живой',
|
|
4082
|
+
changes: 'изменяется',
|
|
4083
|
+
has: 'имеет',
|
|
4084
|
+
have: 'имею',
|
|
4109
4085
|
isNot: 'не_есть',
|
|
4110
4086
|
empty: 'пустой',
|
|
4111
4087
|
},
|
|
@@ -4175,7 +4151,6 @@ const russianDictionary = {
|
|
|
4175
4151
|
html: 'html',
|
|
4176
4152
|
},
|
|
4177
4153
|
expressions: {
|
|
4178
|
-
// Positional
|
|
4179
4154
|
first: 'первый',
|
|
4180
4155
|
last: 'последний',
|
|
4181
4156
|
next: 'следующий',
|
|
@@ -4183,18 +4158,20 @@ const russianDictionary = {
|
|
|
4183
4158
|
prev: 'пред',
|
|
4184
4159
|
at: 'в',
|
|
4185
4160
|
random: 'случайный',
|
|
4186
|
-
// DOM Traversal
|
|
4187
4161
|
closest: 'ближайший',
|
|
4188
4162
|
parent: 'родитель',
|
|
4189
4163
|
children: 'дети',
|
|
4190
4164
|
within: 'внутри',
|
|
4191
|
-
// Emptiness/Existence
|
|
4192
4165
|
no: 'нет',
|
|
4193
4166
|
empty: 'пустой',
|
|
4194
4167
|
some: 'некоторые',
|
|
4195
|
-
// String operations
|
|
4196
4168
|
'starts with': 'начинается_с',
|
|
4197
4169
|
'ends with': 'заканчивается_на',
|
|
4170
|
+
'ignoring case': 'без_учёта_регистра',
|
|
4171
|
+
'sorted by': 'сортировано_по',
|
|
4172
|
+
'mapped to': 'преобразовано_в',
|
|
4173
|
+
'split by': 'разделено_по',
|
|
4174
|
+
'joined by': 'объединено_через',
|
|
4198
4175
|
},
|
|
4199
4176
|
};
|
|
4200
4177
|
|
|
@@ -4202,20 +4179,14 @@ const ruKeywords = createKeywordProvider(russianDictionary, 'ru', {
|
|
|
4202
4179
|
allowEnglishFallback: true,
|
|
4203
4180
|
});
|
|
4204
4181
|
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
*
|
|
4208
|
-
* Translations for Ukrainian language support.
|
|
4209
|
-
* Uses infinitive verbs (common in software UIs).
|
|
4210
|
-
*/
|
|
4182
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
4183
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
4211
4184
|
const ukrainianDictionary = {
|
|
4212
4185
|
commands: {
|
|
4213
|
-
// Event handling
|
|
4214
4186
|
on: 'при',
|
|
4215
4187
|
tell: 'сказати',
|
|
4216
4188
|
trigger: 'викликати',
|
|
4217
4189
|
send: 'надіслати',
|
|
4218
|
-
// DOM manipulation
|
|
4219
4190
|
take: 'взяти',
|
|
4220
4191
|
put: 'покласти',
|
|
4221
4192
|
set: 'встановити',
|
|
@@ -4225,7 +4196,6 @@ const ukrainianDictionary = {
|
|
|
4225
4196
|
toggle: 'перемкнути',
|
|
4226
4197
|
hide: 'сховати',
|
|
4227
4198
|
show: 'показати',
|
|
4228
|
-
// Control flow
|
|
4229
4199
|
if: 'якщо',
|
|
4230
4200
|
unless: 'якщо_не',
|
|
4231
4201
|
repeat: 'повторити',
|
|
@@ -4235,53 +4205,46 @@ const ukrainianDictionary = {
|
|
|
4235
4205
|
continue: 'продовжити',
|
|
4236
4206
|
break: 'перервати',
|
|
4237
4207
|
halt: 'зупинити',
|
|
4238
|
-
// Async
|
|
4239
4208
|
wait: 'чекати',
|
|
4240
4209
|
fetch: 'завантажити',
|
|
4241
4210
|
call: 'викликати',
|
|
4242
4211
|
return: 'повернути',
|
|
4243
|
-
// Other commands
|
|
4244
4212
|
make: 'створити',
|
|
4245
4213
|
log: 'записати',
|
|
4246
4214
|
throw: 'кинути',
|
|
4247
4215
|
catch: 'зловити',
|
|
4248
4216
|
measure: 'виміряти',
|
|
4249
4217
|
transition: 'анімувати',
|
|
4250
|
-
// Data Commands
|
|
4251
4218
|
increment: 'збільшити',
|
|
4252
4219
|
decrement: 'зменшити',
|
|
4253
4220
|
default: 'за_замовчуванням',
|
|
4254
|
-
// Navigation Commands
|
|
4255
4221
|
go: 'перейти',
|
|
4256
4222
|
pushUrl: 'додати_url',
|
|
4257
4223
|
replaceUrl: 'замінити_url',
|
|
4258
|
-
// Utility Commands
|
|
4259
4224
|
copy: 'копіювати',
|
|
4260
4225
|
pick: 'вибрати',
|
|
4261
4226
|
beep: 'звук',
|
|
4262
|
-
// Advanced Commands
|
|
4263
4227
|
js: 'js',
|
|
4264
4228
|
async: 'асинхронно',
|
|
4265
4229
|
render: 'відобразити',
|
|
4266
|
-
// Animation Commands
|
|
4267
4230
|
swap: 'поміняти',
|
|
4268
4231
|
morph: 'трансформувати',
|
|
4269
4232
|
settle: 'стабілізувати',
|
|
4270
|
-
// Content Commands
|
|
4271
4233
|
append: 'додати_в_кінець',
|
|
4272
|
-
// Control Flow
|
|
4273
4234
|
exit: 'вийти',
|
|
4274
4235
|
else: 'інакше',
|
|
4275
|
-
// Behaviors
|
|
4276
4236
|
install: 'встановити',
|
|
4277
4237
|
init: 'ініціалізувати',
|
|
4278
4238
|
behavior: 'поведінка',
|
|
4279
|
-
// Focus
|
|
4280
4239
|
focus: 'сфокусувати',
|
|
4281
4240
|
blur: 'розфокусувати',
|
|
4282
|
-
// Clone
|
|
4283
4241
|
clone: 'клонувати',
|
|
4284
4242
|
prepend: 'додати_на_початок',
|
|
4243
|
+
breakpoint: 'точка-зупинки',
|
|
4244
|
+
clear: 'очистити',
|
|
4245
|
+
close: 'закрити',
|
|
4246
|
+
open: 'відкрити',
|
|
4247
|
+
select: 'вибрати',
|
|
4285
4248
|
},
|
|
4286
4249
|
modifiers: {
|
|
4287
4250
|
to: 'до',
|
|
@@ -4346,8 +4309,10 @@ const ukrainianDictionary = {
|
|
|
4346
4309
|
else: 'інакше',
|
|
4347
4310
|
otherwise: 'в_іншому_випадку',
|
|
4348
4311
|
end: 'кінець',
|
|
4349
|
-
|
|
4350
|
-
|
|
4312
|
+
live: 'живий',
|
|
4313
|
+
changes: 'змінюється',
|
|
4314
|
+
has: 'має',
|
|
4315
|
+
have: 'маю',
|
|
4351
4316
|
isNot: 'не_є',
|
|
4352
4317
|
empty: 'порожній',
|
|
4353
4318
|
},
|
|
@@ -4417,7 +4382,6 @@ const ukrainianDictionary = {
|
|
|
4417
4382
|
html: 'html',
|
|
4418
4383
|
},
|
|
4419
4384
|
expressions: {
|
|
4420
|
-
// Positional
|
|
4421
4385
|
first: 'перший',
|
|
4422
4386
|
last: 'останній',
|
|
4423
4387
|
next: 'наступний',
|
|
@@ -4425,18 +4389,20 @@ const ukrainianDictionary = {
|
|
|
4425
4389
|
prev: 'попер',
|
|
4426
4390
|
at: 'в',
|
|
4427
4391
|
random: 'випадковий',
|
|
4428
|
-
// DOM Traversal
|
|
4429
4392
|
closest: 'найближчий',
|
|
4430
4393
|
parent: 'батьківський',
|
|
4431
4394
|
children: 'діти',
|
|
4432
4395
|
within: 'всередині',
|
|
4433
|
-
// Emptiness/Existence
|
|
4434
4396
|
no: 'ні',
|
|
4435
4397
|
empty: 'порожній',
|
|
4436
4398
|
some: 'деякі',
|
|
4437
|
-
// String operations
|
|
4438
4399
|
'starts with': 'починається_з',
|
|
4439
4400
|
'ends with': 'закінчується_на',
|
|
4401
|
+
'ignoring case': 'без_урахування_регістру',
|
|
4402
|
+
'sorted by': 'відсортовано_за',
|
|
4403
|
+
'mapped to': 'перетворено_на',
|
|
4404
|
+
'split by': 'розділено_за',
|
|
4405
|
+
'joined by': "об'єднано_через",
|
|
4440
4406
|
},
|
|
4441
4407
|
};
|
|
4442
4408
|
|
|
@@ -4444,20 +4410,14 @@ const ukKeywords = createKeywordProvider(ukrainianDictionary, 'uk', {
|
|
|
4444
4410
|
allowEnglishFallback: true,
|
|
4445
4411
|
});
|
|
4446
4412
|
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
*
|
|
4450
|
-
* Translations for Hindi language support.
|
|
4451
|
-
* Uses imperative verb forms (common in software UIs).
|
|
4452
|
-
*/
|
|
4413
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
4414
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
4453
4415
|
const hindiDictionary = {
|
|
4454
4416
|
commands: {
|
|
4455
|
-
// Event handling
|
|
4456
4417
|
on: 'पर',
|
|
4457
4418
|
tell: 'बताएं',
|
|
4458
4419
|
trigger: 'ट्रिगर',
|
|
4459
4420
|
send: 'भेजें',
|
|
4460
|
-
// DOM manipulation
|
|
4461
4421
|
take: 'लें',
|
|
4462
4422
|
put: 'रखें',
|
|
4463
4423
|
set: 'सेट',
|
|
@@ -4467,7 +4427,6 @@ const hindiDictionary = {
|
|
|
4467
4427
|
toggle: 'टॉगल',
|
|
4468
4428
|
hide: 'छिपाएं',
|
|
4469
4429
|
show: 'दिखाएं',
|
|
4470
|
-
// Control flow
|
|
4471
4430
|
if: 'अगर',
|
|
4472
4431
|
unless: 'जब_तक_नहीं',
|
|
4473
4432
|
repeat: 'दोहराएं',
|
|
@@ -4477,53 +4436,46 @@ const hindiDictionary = {
|
|
|
4477
4436
|
continue: 'जारी',
|
|
4478
4437
|
break: 'रोकें',
|
|
4479
4438
|
halt: 'रोकें',
|
|
4480
|
-
// Async
|
|
4481
4439
|
wait: 'प्रतीक्षा',
|
|
4482
4440
|
fetch: 'लाएं',
|
|
4483
4441
|
call: 'कॉल',
|
|
4484
4442
|
return: 'लौटाएं',
|
|
4485
|
-
// Other commands
|
|
4486
4443
|
make: 'बनाएं',
|
|
4487
4444
|
log: 'लॉग',
|
|
4488
4445
|
throw: 'फेंकें',
|
|
4489
4446
|
catch: 'पकड़ें',
|
|
4490
4447
|
measure: 'मापें',
|
|
4491
4448
|
transition: 'संक्रमण',
|
|
4492
|
-
// Data Commands
|
|
4493
4449
|
increment: 'बढ़ाएं',
|
|
4494
4450
|
decrement: 'घटाएं',
|
|
4495
4451
|
default: 'डिफ़ॉल्ट',
|
|
4496
|
-
// Navigation Commands
|
|
4497
4452
|
go: 'जाएं',
|
|
4498
4453
|
pushUrl: 'url_जोड़ें',
|
|
4499
4454
|
replaceUrl: 'url_बदलें',
|
|
4500
|
-
// Utility Commands
|
|
4501
4455
|
copy: 'कॉपी',
|
|
4502
4456
|
pick: 'चुनें',
|
|
4503
4457
|
beep: 'बीप',
|
|
4504
|
-
// Advanced Commands
|
|
4505
4458
|
js: 'जेएस',
|
|
4506
4459
|
async: 'असिंक',
|
|
4507
4460
|
render: 'रेंडर',
|
|
4508
|
-
// Animation Commands
|
|
4509
4461
|
swap: 'बदलें',
|
|
4510
4462
|
morph: 'रूपांतर',
|
|
4511
4463
|
settle: 'स्थिर',
|
|
4512
|
-
// Content Commands
|
|
4513
4464
|
append: 'जोड़ें_अंत',
|
|
4514
|
-
// Control Flow
|
|
4515
4465
|
exit: 'बाहर',
|
|
4516
4466
|
else: 'वरना',
|
|
4517
|
-
// Behaviors
|
|
4518
4467
|
install: 'इंस्टॉल',
|
|
4519
4468
|
init: 'प्रारंभ',
|
|
4520
4469
|
behavior: 'व्यवहार',
|
|
4521
|
-
// Focus
|
|
4522
4470
|
focus: 'फोकस',
|
|
4523
4471
|
blur: 'धुंधला',
|
|
4524
|
-
// Clone
|
|
4525
4472
|
clone: 'कॉपी',
|
|
4526
4473
|
prepend: 'जोड़ें_शुरू',
|
|
4474
|
+
breakpoint: 'ब्रेकप्वाइंट',
|
|
4475
|
+
clear: 'साफ़-करें',
|
|
4476
|
+
close: 'बंद-करें',
|
|
4477
|
+
open: 'खोलें',
|
|
4478
|
+
select: 'चुनें',
|
|
4527
4479
|
},
|
|
4528
4480
|
modifiers: {
|
|
4529
4481
|
to: 'को',
|
|
@@ -4588,8 +4540,10 @@ const hindiDictionary = {
|
|
|
4588
4540
|
else: 'वरना',
|
|
4589
4541
|
otherwise: 'अन्यथा',
|
|
4590
4542
|
end: 'समाप्त',
|
|
4591
|
-
|
|
4592
|
-
|
|
4543
|
+
live: 'लाइव',
|
|
4544
|
+
changes: 'बदलने पर',
|
|
4545
|
+
has: 'है',
|
|
4546
|
+
have: 'है',
|
|
4593
4547
|
isNot: 'नहीं_है',
|
|
4594
4548
|
empty: 'खाली',
|
|
4595
4549
|
},
|
|
@@ -4659,7 +4613,6 @@ const hindiDictionary = {
|
|
|
4659
4613
|
html: 'html',
|
|
4660
4614
|
},
|
|
4661
4615
|
expressions: {
|
|
4662
|
-
// Positional
|
|
4663
4616
|
first: 'पहला',
|
|
4664
4617
|
last: 'अंतिम',
|
|
4665
4618
|
next: 'अगला',
|
|
@@ -4667,18 +4620,20 @@ const hindiDictionary = {
|
|
|
4667
4620
|
prev: 'पिछ',
|
|
4668
4621
|
at: 'पर',
|
|
4669
4622
|
random: 'यादृच्छिक',
|
|
4670
|
-
// DOM Traversal
|
|
4671
4623
|
closest: 'निकटतम',
|
|
4672
4624
|
parent: 'मूल',
|
|
4673
4625
|
children: 'बच्चे',
|
|
4674
4626
|
within: 'के_अंदर',
|
|
4675
|
-
// Emptiness/Existence
|
|
4676
4627
|
no: 'नहीं',
|
|
4677
4628
|
empty: 'खाली',
|
|
4678
4629
|
some: 'कुछ',
|
|
4679
|
-
// String operations
|
|
4680
4630
|
'starts with': 'से_शुरू',
|
|
4681
4631
|
'ends with': 'पर_समाप्त',
|
|
4632
|
+
'ignoring case': 'केस_अनदेखा',
|
|
4633
|
+
'sorted by': 'द्वारा_क्रमबद्ध',
|
|
4634
|
+
'mapped to': 'में_परिवर्तित',
|
|
4635
|
+
'split by': 'द्वारा_विभाजित',
|
|
4636
|
+
'joined by': 'द्वारा_जुड़ा',
|
|
4682
4637
|
},
|
|
4683
4638
|
};
|
|
4684
4639
|
|
|
@@ -4743,6 +4698,11 @@ const bengaliDictionary = {
|
|
|
4743
4698
|
pick: 'বাছুন',
|
|
4744
4699
|
render: 'রেন্ডার',
|
|
4745
4700
|
until: 'পর্যন্ত',
|
|
4701
|
+
breakpoint: 'ব্রেকপয়েন্ট',
|
|
4702
|
+
clear: 'পরিষ্কার',
|
|
4703
|
+
close: 'বন্ধ',
|
|
4704
|
+
open: 'খুলুন',
|
|
4705
|
+
select: 'নির্বাচন',
|
|
4746
4706
|
},
|
|
4747
4707
|
modifiers: {
|
|
4748
4708
|
to: 'কে',
|
|
@@ -4757,6 +4717,7 @@ const bengaliDictionary = {
|
|
|
4757
4717
|
at: 'এ',
|
|
4758
4718
|
in: 'এ',
|
|
4759
4719
|
over: 'উপর',
|
|
4720
|
+
between: 'মধ্যে',
|
|
4760
4721
|
then: 'তারপর',
|
|
4761
4722
|
and: 'এবং',
|
|
4762
4723
|
end: 'শেষ',
|
|
@@ -4771,6 +4732,7 @@ const bengaliDictionary = {
|
|
|
4771
4732
|
load: 'লোড',
|
|
4772
4733
|
focus: 'ফোকাস',
|
|
4773
4734
|
blur: 'ঝাপসা',
|
|
4735
|
+
reset: 'রিসেট',
|
|
4774
4736
|
keydown: 'কি-ডাউন',
|
|
4775
4737
|
keyup: 'কি-আপ',
|
|
4776
4738
|
mouseover: 'মাউস-ওভার',
|
|
@@ -4798,6 +4760,8 @@ const bengaliDictionary = {
|
|
|
4798
4760
|
undefined: 'অনির্ধারিত',
|
|
4799
4761
|
end: 'শেষ',
|
|
4800
4762
|
then: 'তারপর',
|
|
4763
|
+
live: 'লাইভ',
|
|
4764
|
+
changes: 'পরিবর্তিত হলে',
|
|
4801
4765
|
},
|
|
4802
4766
|
temporal: {
|
|
4803
4767
|
now: 'এখন',
|
|
@@ -4843,6 +4807,14 @@ const bengaliDictionary = {
|
|
|
4843
4807
|
random: 'এলোমেলো',
|
|
4844
4808
|
length: 'দৈর্ঘ্য',
|
|
4845
4809
|
index: 'সূচক',
|
|
4810
|
+
empty: 'খালি-করুন',
|
|
4811
|
+
'starts with': 'দিয়ে_শুরু',
|
|
4812
|
+
'ends with': 'দিয়ে_শেষ',
|
|
4813
|
+
'ignoring case': 'কেস_উপেক্ষা',
|
|
4814
|
+
'sorted by': 'দ্বারা_সাজানো',
|
|
4815
|
+
'mapped to': 'তে_রূপান্তরিত',
|
|
4816
|
+
'split by': 'দ্বারা_বিভক্ত',
|
|
4817
|
+
'joined by': 'দ্বারা_যুক্ত',
|
|
4846
4818
|
},
|
|
4847
4819
|
};
|
|
4848
4820
|
const bn$1 = bengaliDictionary;
|
|
@@ -4908,6 +4880,11 @@ const thaiDictionary = {
|
|
|
4908
4880
|
pick: 'เลือก',
|
|
4909
4881
|
render: 'แสดงผล',
|
|
4910
4882
|
until: 'จนถึง',
|
|
4883
|
+
breakpoint: 'จุดพัก',
|
|
4884
|
+
clear: 'เคลียร์',
|
|
4885
|
+
close: 'ปิด',
|
|
4886
|
+
open: 'เปิด',
|
|
4887
|
+
select: 'เลือก',
|
|
4911
4888
|
},
|
|
4912
4889
|
modifiers: {
|
|
4913
4890
|
to: 'ไปยัง',
|
|
@@ -4922,6 +4899,7 @@ const thaiDictionary = {
|
|
|
4922
4899
|
at: 'ที่',
|
|
4923
4900
|
in: 'ใน',
|
|
4924
4901
|
over: 'เหนือ',
|
|
4902
|
+
between: 'ระหว่าง',
|
|
4925
4903
|
then: 'แล้ว',
|
|
4926
4904
|
and: 'และ',
|
|
4927
4905
|
end: 'จบ',
|
|
@@ -4936,6 +4914,7 @@ const thaiDictionary = {
|
|
|
4936
4914
|
load: 'โหลด',
|
|
4937
4915
|
focus: 'โฟกัส',
|
|
4938
4916
|
blur: 'เบลอ',
|
|
4917
|
+
reset: 'รีเซ็ต',
|
|
4939
4918
|
keydown: 'กดคีย์',
|
|
4940
4919
|
keyup: 'ปล่อยคีย์',
|
|
4941
4920
|
mouseover: 'เมาส์เข้า',
|
|
@@ -4963,6 +4942,8 @@ const thaiDictionary = {
|
|
|
4963
4942
|
undefined: 'ไม่กำหนด',
|
|
4964
4943
|
end: 'จบ',
|
|
4965
4944
|
then: 'แล้ว',
|
|
4945
|
+
live: 'สด',
|
|
4946
|
+
changes: 'เปลี่ยน',
|
|
4966
4947
|
},
|
|
4967
4948
|
temporal: {
|
|
4968
4949
|
now: 'ตอนนี้',
|
|
@@ -5008,6 +4989,14 @@ const thaiDictionary = {
|
|
|
5008
4989
|
random: 'สุ่ม',
|
|
5009
4990
|
length: 'ความยาว',
|
|
5010
4991
|
index: 'ดัชนี',
|
|
4992
|
+
empty: 'ล้าง',
|
|
4993
|
+
'starts with': 'ขึ้นต้นด้วย',
|
|
4994
|
+
'ends with': 'ลงท้ายด้วย',
|
|
4995
|
+
'ignoring case': 'ไม่สนตัวพิมพ์',
|
|
4996
|
+
'sorted by': 'เรียงตาม',
|
|
4997
|
+
'mapped to': 'แปลงเป็น',
|
|
4998
|
+
'split by': 'แยกด้วย',
|
|
4999
|
+
'joined by': 'รวมด้วย',
|
|
5011
5000
|
},
|
|
5012
5001
|
};
|
|
5013
5002
|
const th$1 = thaiDictionary;
|
|
@@ -5016,20 +5005,14 @@ const thKeywords = createKeywordProvider(th$1, 'th', {
|
|
|
5016
5005
|
allowEnglishFallback: true,
|
|
5017
5006
|
});
|
|
5018
5007
|
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
*
|
|
5022
|
-
* Malay translations for hyperscript keywords.
|
|
5023
|
-
* Malay is an SVO (Subject-Verb-Object) language with prepositions.
|
|
5024
|
-
*/
|
|
5008
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
5009
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
5025
5010
|
const malayDictionary = {
|
|
5026
5011
|
commands: {
|
|
5027
|
-
// Event handling
|
|
5028
5012
|
on: 'apabila',
|
|
5029
5013
|
tell: 'beritahu',
|
|
5030
5014
|
trigger: 'cetuskan',
|
|
5031
5015
|
send: 'hantar',
|
|
5032
|
-
// DOM manipulation
|
|
5033
5016
|
take: 'ambil',
|
|
5034
5017
|
put: 'letak',
|
|
5035
5018
|
set: 'tetapkan',
|
|
@@ -5039,7 +5022,6 @@ const malayDictionary = {
|
|
|
5039
5022
|
toggle: 'togol',
|
|
5040
5023
|
hide: 'sembunyi',
|
|
5041
5024
|
show: 'tunjuk',
|
|
5042
|
-
// Control flow
|
|
5043
5025
|
if: 'jika',
|
|
5044
5026
|
unless: 'kecuali',
|
|
5045
5027
|
repeat: 'ulang',
|
|
@@ -5049,52 +5031,46 @@ const malayDictionary = {
|
|
|
5049
5031
|
continue: 'teruskan',
|
|
5050
5032
|
break: 'henti',
|
|
5051
5033
|
halt: 'henti',
|
|
5052
|
-
// Async
|
|
5053
5034
|
wait: 'tunggu',
|
|
5054
5035
|
fetch: 'ambil_dari',
|
|
5055
5036
|
call: 'panggil',
|
|
5056
5037
|
return: 'pulang',
|
|
5057
|
-
// Other commands
|
|
5058
5038
|
make: 'buat',
|
|
5059
5039
|
log: 'catat',
|
|
5060
5040
|
throw: 'lempar',
|
|
5061
5041
|
catch: 'tangkap',
|
|
5062
5042
|
measure: 'ukur',
|
|
5063
5043
|
transition: 'peralihan',
|
|
5064
|
-
// Data Commands
|
|
5065
5044
|
increment: 'tambah_satu',
|
|
5066
5045
|
decrement: 'kurang_satu',
|
|
5067
5046
|
default: 'lalai',
|
|
5068
|
-
// Navigation Commands
|
|
5069
5047
|
go: 'pergi',
|
|
5070
5048
|
pushUrl: 'tolak_url',
|
|
5071
5049
|
replaceUrl: 'ganti_url',
|
|
5072
|
-
// Utility Commands
|
|
5073
5050
|
copy: 'salin',
|
|
5074
5051
|
pick: 'pilih',
|
|
5075
5052
|
beep: 'bunyi',
|
|
5076
|
-
// Advanced Commands
|
|
5077
5053
|
js: 'js',
|
|
5078
5054
|
async: 'tak_segerak',
|
|
5079
5055
|
render: 'papar',
|
|
5080
|
-
// Animation Commands
|
|
5081
5056
|
swap: 'tukar_tempat',
|
|
5082
5057
|
morph: 'ubah_bentuk',
|
|
5083
5058
|
settle: 'selesai',
|
|
5084
|
-
// Content Commands
|
|
5085
5059
|
append: 'tambah_hujung',
|
|
5086
5060
|
prepend: 'tambah_mula',
|
|
5087
|
-
// Control Flow
|
|
5088
5061
|
exit: 'keluar',
|
|
5089
5062
|
else: 'kalau_tidak',
|
|
5090
|
-
// Focus Commands
|
|
5091
5063
|
focus: 'fokus',
|
|
5092
5064
|
blur: 'kabur',
|
|
5093
|
-
// Behaviors
|
|
5094
5065
|
install: 'pasang',
|
|
5095
5066
|
behavior: 'kelakuan',
|
|
5096
5067
|
init: 'mula',
|
|
5097
5068
|
clone: 'klon',
|
|
5069
|
+
breakpoint: 'titik-henti',
|
|
5070
|
+
clear: 'padam',
|
|
5071
|
+
close: 'tutup',
|
|
5072
|
+
open: 'buka',
|
|
5073
|
+
select: 'pilih',
|
|
5098
5074
|
},
|
|
5099
5075
|
modifiers: {
|
|
5100
5076
|
to: 'ke',
|
|
@@ -5160,12 +5136,14 @@ const malayDictionary = {
|
|
|
5160
5136
|
contains: 'mengandungi',
|
|
5161
5137
|
includes: 'termasuk',
|
|
5162
5138
|
equals: 'sama',
|
|
5163
|
-
has: 'ada',
|
|
5164
|
-
have: 'ada',
|
|
5139
|
+
has: 'ada',
|
|
5140
|
+
have: 'ada',
|
|
5165
5141
|
then: 'kemudian',
|
|
5166
5142
|
else: 'kalau_tidak',
|
|
5167
5143
|
otherwise: 'jika_tidak',
|
|
5168
5144
|
end: 'tamat',
|
|
5145
|
+
live: 'langsung',
|
|
5146
|
+
changes: 'berubah',
|
|
5169
5147
|
if: 'jika',
|
|
5170
5148
|
empty: 'kosong',
|
|
5171
5149
|
true: 'benar',
|
|
@@ -5230,7 +5208,6 @@ const malayDictionary = {
|
|
|
5230
5208
|
checked: 'ditanda',
|
|
5231
5209
|
},
|
|
5232
5210
|
expressions: {
|
|
5233
|
-
// Positional
|
|
5234
5211
|
first: 'pertama',
|
|
5235
5212
|
last: 'terakhir',
|
|
5236
5213
|
next: 'seterusnya',
|
|
@@ -5238,44 +5215,38 @@ const malayDictionary = {
|
|
|
5238
5215
|
prev: 'sebelum',
|
|
5239
5216
|
at: 'di',
|
|
5240
5217
|
random: 'rawak',
|
|
5241
|
-
// DOM Traversal
|
|
5242
5218
|
closest: 'terdekat',
|
|
5243
5219
|
parent: 'induk',
|
|
5244
5220
|
children: 'anak_anak',
|
|
5245
5221
|
within: 'dalam',
|
|
5246
|
-
// Emptiness/Existence
|
|
5247
5222
|
no: 'tiada',
|
|
5248
5223
|
empty: 'kosong',
|
|
5249
5224
|
some: 'beberapa',
|
|
5250
|
-
// String operations
|
|
5251
5225
|
'starts with': 'bermula_dengan',
|
|
5252
5226
|
'ends with': 'berakhir_dengan',
|
|
5253
|
-
|
|
5227
|
+
'ignoring case': 'abaikan_huruf_besar_kecil',
|
|
5228
|
+
'sorted by': 'disusun_mengikut',
|
|
5229
|
+
'mapped to': 'dipetakan_ke',
|
|
5230
|
+
'split by': 'dipecah_oleh',
|
|
5231
|
+
'joined by': 'digabung_oleh',
|
|
5254
5232
|
length: 'panjang',
|
|
5255
5233
|
index: 'indeks',
|
|
5256
5234
|
},
|
|
5257
5235
|
};
|
|
5258
|
-
// Default export alias
|
|
5259
5236
|
const ms$1 = malayDictionary;
|
|
5260
5237
|
|
|
5261
5238
|
const msKeywords = createKeywordProvider(ms$1, 'ms', {
|
|
5262
5239
|
allowEnglishFallback: true,
|
|
5263
5240
|
});
|
|
5264
5241
|
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
*
|
|
5268
|
-
* Tagalog translations for hyperscript keywords.
|
|
5269
|
-
* Tagalog is a VSO (Verb-Subject-Object) language with rich verbal morphology.
|
|
5270
|
-
*/
|
|
5242
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
5243
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
5271
5244
|
const tagalogDictionary = {
|
|
5272
5245
|
commands: {
|
|
5273
|
-
// Event handling
|
|
5274
5246
|
on: 'kapag',
|
|
5275
5247
|
tell: 'sabihin',
|
|
5276
5248
|
trigger: 'palitawin',
|
|
5277
5249
|
send: 'ipadala',
|
|
5278
|
-
// DOM manipulation
|
|
5279
5250
|
take: 'kunin',
|
|
5280
5251
|
put: 'ilagay',
|
|
5281
5252
|
set: 'itakda',
|
|
@@ -5285,7 +5256,6 @@ const tagalogDictionary = {
|
|
|
5285
5256
|
toggle: 'palitan',
|
|
5286
5257
|
hide: 'itago',
|
|
5287
5258
|
show: 'ipakita',
|
|
5288
|
-
// Control flow
|
|
5289
5259
|
if: 'kung',
|
|
5290
5260
|
unless: 'maliban_kung',
|
|
5291
5261
|
repeat: 'ulitin',
|
|
@@ -5295,52 +5265,46 @@ const tagalogDictionary = {
|
|
|
5295
5265
|
continue: 'magpatuloy',
|
|
5296
5266
|
break: 'itigil',
|
|
5297
5267
|
halt: 'huminto',
|
|
5298
|
-
// Async
|
|
5299
5268
|
wait: 'maghintay',
|
|
5300
5269
|
fetch: 'kuhanin_mula',
|
|
5301
5270
|
call: 'tawagin',
|
|
5302
5271
|
return: 'ibalik',
|
|
5303
|
-
// Other commands
|
|
5304
5272
|
make: 'gumawa',
|
|
5305
5273
|
log: 'itala',
|
|
5306
5274
|
throw: 'ihagis',
|
|
5307
5275
|
catch: 'hulihin',
|
|
5308
5276
|
measure: 'sukatin',
|
|
5309
5277
|
transition: 'baguhin',
|
|
5310
|
-
// Data Commands
|
|
5311
5278
|
increment: 'dagdagan',
|
|
5312
5279
|
decrement: 'bawasan',
|
|
5313
5280
|
default: 'pamantayan',
|
|
5314
|
-
// Navigation Commands
|
|
5315
5281
|
go: 'pumunta',
|
|
5316
5282
|
pushUrl: 'itulak_url',
|
|
5317
5283
|
replaceUrl: 'palitan_url',
|
|
5318
|
-
// Utility Commands
|
|
5319
5284
|
copy: 'kopyahin',
|
|
5320
5285
|
pick: 'pumili',
|
|
5321
5286
|
beep: 'tunog',
|
|
5322
|
-
// Advanced Commands
|
|
5323
5287
|
js: 'js',
|
|
5324
5288
|
async: 'sabay',
|
|
5325
5289
|
render: 'ipakita',
|
|
5326
|
-
// Animation Commands
|
|
5327
5290
|
swap: 'palitan_pwesto',
|
|
5328
5291
|
morph: 'baguhin_hugis',
|
|
5329
5292
|
settle: 'ayusin',
|
|
5330
|
-
// Content Commands
|
|
5331
5293
|
append: 'idagdag_sa_dulo',
|
|
5332
5294
|
prepend: 'idagdag_sa_simula',
|
|
5333
|
-
// Control Flow
|
|
5334
5295
|
exit: 'lumabas',
|
|
5335
5296
|
else: 'kung_hindi',
|
|
5336
|
-
// Focus Commands
|
|
5337
5297
|
focus: 'ituon',
|
|
5338
5298
|
blur: 'alisin_tuon',
|
|
5339
|
-
// Behaviors
|
|
5340
5299
|
install: 'ikabit',
|
|
5341
5300
|
behavior: 'ugali',
|
|
5342
5301
|
init: 'simulan',
|
|
5343
5302
|
clone: 'kopyahin',
|
|
5303
|
+
breakpoint: 'breakpoint',
|
|
5304
|
+
clear: 'burahin',
|
|
5305
|
+
close: 'isara',
|
|
5306
|
+
open: 'buksan',
|
|
5307
|
+
select: 'piliin',
|
|
5344
5308
|
},
|
|
5345
5309
|
modifiers: {
|
|
5346
5310
|
to: 'sa',
|
|
@@ -5406,12 +5370,14 @@ const tagalogDictionary = {
|
|
|
5406
5370
|
contains: 'naglalaman',
|
|
5407
5371
|
includes: 'kasama',
|
|
5408
5372
|
equals: 'katumbas',
|
|
5409
|
-
has: 'may',
|
|
5410
|
-
have: 'may',
|
|
5373
|
+
has: 'may',
|
|
5374
|
+
have: 'may',
|
|
5411
5375
|
then: 'pagkatapos',
|
|
5412
5376
|
else: 'kung_hindi',
|
|
5413
5377
|
otherwise: 'kung_hindi_man',
|
|
5414
5378
|
end: 'wakas',
|
|
5379
|
+
live: 'live',
|
|
5380
|
+
changes: 'nagbabago',
|
|
5415
5381
|
if: 'kung',
|
|
5416
5382
|
empty: 'walang_laman',
|
|
5417
5383
|
true: 'totoo',
|
|
@@ -5476,7 +5442,6 @@ const tagalogDictionary = {
|
|
|
5476
5442
|
checked: 'naka_tsek',
|
|
5477
5443
|
},
|
|
5478
5444
|
expressions: {
|
|
5479
|
-
// Positional
|
|
5480
5445
|
first: 'una',
|
|
5481
5446
|
last: 'huli',
|
|
5482
5447
|
next: 'susunod',
|
|
@@ -5484,30 +5449,146 @@ const tagalogDictionary = {
|
|
|
5484
5449
|
prev: 'nakaraan',
|
|
5485
5450
|
at: 'sa',
|
|
5486
5451
|
random: 'random',
|
|
5487
|
-
// DOM Traversal
|
|
5488
5452
|
closest: 'pinakamalapit',
|
|
5489
5453
|
parent: 'magulang',
|
|
5490
5454
|
children: 'mga_anak',
|
|
5491
5455
|
within: 'sa_loob_ng',
|
|
5492
|
-
// Emptiness/Existence
|
|
5493
5456
|
no: 'walang',
|
|
5494
5457
|
empty: 'walang_laman',
|
|
5495
5458
|
some: 'ilan',
|
|
5496
|
-
// String operations
|
|
5497
5459
|
'starts with': 'nagsisimula_sa',
|
|
5498
5460
|
'ends with': 'nagtatapos_sa',
|
|
5499
|
-
|
|
5461
|
+
'ignoring case': 'huwag_pansinin_ang_case',
|
|
5462
|
+
'sorted by': 'nakaayos_ayon_sa',
|
|
5463
|
+
'mapped to': 'binago_sa',
|
|
5464
|
+
'split by': 'hinati_sa',
|
|
5465
|
+
'joined by': 'pinagsama_sa',
|
|
5500
5466
|
length: 'haba',
|
|
5501
5467
|
index: 'indeks',
|
|
5502
5468
|
},
|
|
5503
5469
|
};
|
|
5504
|
-
// Default export alias
|
|
5505
5470
|
const tl$1 = tagalogDictionary;
|
|
5506
5471
|
|
|
5507
5472
|
const tlKeywords = createKeywordProvider(tl$1, 'tl', {
|
|
5508
5473
|
allowEnglishFallback: true,
|
|
5509
5474
|
});
|
|
5510
5475
|
|
|
5476
|
+
// Generated/merged from semantic profiles — hand-written entries are preserved
|
|
5477
|
+
// To add derived entries, update the semantic profile and run: npm run generate:language-assets
|
|
5478
|
+
const he$1 = {
|
|
5479
|
+
commands: {
|
|
5480
|
+
add: 'הוסף',
|
|
5481
|
+
append: 'צרף',
|
|
5482
|
+
async: 'אסינכרוני',
|
|
5483
|
+
beep: 'ביפ',
|
|
5484
|
+
break: 'שבור',
|
|
5485
|
+
call: 'קרא',
|
|
5486
|
+
continue: 'המשך',
|
|
5487
|
+
copy: 'העתק',
|
|
5488
|
+
decrement: 'הקטן',
|
|
5489
|
+
default: 'ברירת מחדל',
|
|
5490
|
+
exit: 'צא',
|
|
5491
|
+
fetch: 'הבא',
|
|
5492
|
+
for: 'עבור',
|
|
5493
|
+
get: 'קבל',
|
|
5494
|
+
go: 'לך',
|
|
5495
|
+
halt: 'עצור',
|
|
5496
|
+
hide: 'הסתר',
|
|
5497
|
+
if: 'אם',
|
|
5498
|
+
increment: 'הגדל',
|
|
5499
|
+
install: 'התקן',
|
|
5500
|
+
js: 'js',
|
|
5501
|
+
log: 'רשום',
|
|
5502
|
+
make: 'צור',
|
|
5503
|
+
measure: 'מדוד',
|
|
5504
|
+
morph: 'הפוך',
|
|
5505
|
+
on: 'ב',
|
|
5506
|
+
pick: 'בחר',
|
|
5507
|
+
put: 'שים',
|
|
5508
|
+
remove: 'הסר',
|
|
5509
|
+
render: 'רנדר',
|
|
5510
|
+
repeat: 'חזור',
|
|
5511
|
+
return: 'החזר',
|
|
5512
|
+
send: 'שלח',
|
|
5513
|
+
set: 'קבע',
|
|
5514
|
+
settle: 'התייצב',
|
|
5515
|
+
show: 'הראה',
|
|
5516
|
+
swap: 'החלף',
|
|
5517
|
+
take: 'קח',
|
|
5518
|
+
tell: 'אמור',
|
|
5519
|
+
throw: 'זרוק',
|
|
5520
|
+
toggle: 'מתג',
|
|
5521
|
+
transition: 'מעבר',
|
|
5522
|
+
trigger: 'הפעל',
|
|
5523
|
+
until: 'עד',
|
|
5524
|
+
wait: 'חכה',
|
|
5525
|
+
while: 'כל עוד',
|
|
5526
|
+
},
|
|
5527
|
+
modifiers: {
|
|
5528
|
+
after: 'אחרי',
|
|
5529
|
+
before: 'לפני',
|
|
5530
|
+
from: 'מ',
|
|
5531
|
+
into: 'לתוך',
|
|
5532
|
+
to: 'על',
|
|
5533
|
+
with: 'עם',
|
|
5534
|
+
},
|
|
5535
|
+
events: {
|
|
5536
|
+
blur: 'טשטש',
|
|
5537
|
+
change: 'שינוי',
|
|
5538
|
+
click: 'לחיצה',
|
|
5539
|
+
focus: 'מקד',
|
|
5540
|
+
input: 'קלט',
|
|
5541
|
+
submit: 'שליחה',
|
|
5542
|
+
},
|
|
5543
|
+
logical: {
|
|
5544
|
+
and: 'וגם',
|
|
5545
|
+
else: 'אחרת',
|
|
5546
|
+
end: 'סוף',
|
|
5547
|
+
then: 'אז',
|
|
5548
|
+
live: 'חי',
|
|
5549
|
+
changes: 'משתנה',
|
|
5550
|
+
when: 'כאשר',
|
|
5551
|
+
where: 'איפה',
|
|
5552
|
+
},
|
|
5553
|
+
temporal: {},
|
|
5554
|
+
values: {
|
|
5555
|
+
body: 'גוף',
|
|
5556
|
+
event: 'אירוע',
|
|
5557
|
+
it: 'זה',
|
|
5558
|
+
its: 'שלו',
|
|
5559
|
+
me: 'אני',
|
|
5560
|
+
my: 'שלי',
|
|
5561
|
+
result: 'תוצאה',
|
|
5562
|
+
target: 'יעד',
|
|
5563
|
+
you: 'אתה',
|
|
5564
|
+
your: 'שלך',
|
|
5565
|
+
},
|
|
5566
|
+
attributes: {},
|
|
5567
|
+
expressions: {},
|
|
5568
|
+
};
|
|
5569
|
+
|
|
5570
|
+
// packages/i18n/src/parser/he.ts
|
|
5571
|
+
/**
|
|
5572
|
+
* Hebrew keyword provider for the hyperscript parser.
|
|
5573
|
+
*
|
|
5574
|
+
* Enables parsing hyperscript written in Hebrew (RTL, SVO):
|
|
5575
|
+
* - `ב לחיצה מתג .active` → parses as `on click toggle .active`
|
|
5576
|
+
*
|
|
5577
|
+
* English keywords are also accepted (mixed mode).
|
|
5578
|
+
*
|
|
5579
|
+
* @example
|
|
5580
|
+
* ```typescript
|
|
5581
|
+
* import { heKeywords } from '@lokascript/i18n/parser/he';
|
|
5582
|
+
* import { Parser } from '@hyperfixi/core';
|
|
5583
|
+
*
|
|
5584
|
+
* const parser = new Parser({ keywords: heKeywords });
|
|
5585
|
+
* parser.parse('ב לחיצה מתג .active');
|
|
5586
|
+
* ```
|
|
5587
|
+
*/
|
|
5588
|
+
const heKeywords = createKeywordProvider(he$1, 'he', {
|
|
5589
|
+
allowEnglishFallback: true,
|
|
5590
|
+
});
|
|
5591
|
+
|
|
5511
5592
|
// packages/i18n/src/parser/locale-manager.ts
|
|
5512
5593
|
/**
|
|
5513
5594
|
* LocaleManager - Centralized locale configuration for hyperscript parsing.
|
|
@@ -5751,6 +5832,21 @@ const en$1 = {
|
|
|
5751
5832
|
exit: 'exit',
|
|
5752
5833
|
// Behaviors
|
|
5753
5834
|
install: 'install',
|
|
5835
|
+
// v0.9.90 Phase 1 — DOM / form state / debug
|
|
5836
|
+
open: 'open',
|
|
5837
|
+
close: 'close',
|
|
5838
|
+
select: 'select',
|
|
5839
|
+
clear: 'clear',
|
|
5840
|
+
breakpoint: 'breakpoint',
|
|
5841
|
+
// Other commands with schemas (backfill — pre-existing gaps surfaced by
|
|
5842
|
+
// the schema-alignment test)
|
|
5843
|
+
prepend: 'prepend',
|
|
5844
|
+
clone: 'clone',
|
|
5845
|
+
// Navigation/DOM commands added in core (Dec 2025 / Apr 2026)
|
|
5846
|
+
scroll: 'scroll',
|
|
5847
|
+
push: 'push',
|
|
5848
|
+
replace: 'replace',
|
|
5849
|
+
process: 'process',
|
|
5754
5850
|
},
|
|
5755
5851
|
modifiers: {
|
|
5756
5852
|
to: 'to',
|
|
@@ -5816,6 +5912,8 @@ const en$1 = {
|
|
|
5816
5912
|
else: 'else',
|
|
5817
5913
|
otherwise: 'otherwise',
|
|
5818
5914
|
end: 'end',
|
|
5915
|
+
live: 'live',
|
|
5916
|
+
changes: 'changes',
|
|
5819
5917
|
},
|
|
5820
5918
|
temporal: {
|
|
5821
5919
|
seconds: 'seconds',
|
|
@@ -5885,6 +5983,12 @@ const en$1 = {
|
|
|
5885
5983
|
// String operations
|
|
5886
5984
|
'starts with': 'starts with',
|
|
5887
5985
|
'ends with': 'ends with',
|
|
5986
|
+
'ignoring case': 'ignoring case',
|
|
5987
|
+
// Collection operations (v0.9.90)
|
|
5988
|
+
'sorted by': 'sorted by',
|
|
5989
|
+
'mapped to': 'mapped to',
|
|
5990
|
+
'split by': 'split by',
|
|
5991
|
+
'joined by': 'joined by',
|
|
5888
5992
|
},
|
|
5889
5993
|
};
|
|
5890
5994
|
|
|
@@ -6964,6 +7068,31 @@ const polishProfile = {
|
|
|
6964
7068
|
],
|
|
6965
7069
|
};
|
|
6966
7070
|
// =============================================================================
|
|
7071
|
+
// Hebrew (SVO, RTL, Prepositions)
|
|
7072
|
+
// =============================================================================
|
|
7073
|
+
const hebrewProfile = {
|
|
7074
|
+
code: 'he',
|
|
7075
|
+
name: 'עברית',
|
|
7076
|
+
wordOrder: 'SVO', // Modern Hebrew is predominantly SVO (Biblical Hebrew was VSO)
|
|
7077
|
+
adpositionType: 'preposition',
|
|
7078
|
+
morphology: 'fusional', // Root-and-pattern (Semitic), like Arabic
|
|
7079
|
+
direction: 'rtl',
|
|
7080
|
+
canonicalOrder: ['event', 'action', 'patient', 'destination'],
|
|
7081
|
+
// Hebrew uses single-letter prefix prepositions (ב, ל, מ, כ) that attach to
|
|
7082
|
+
// the following word. For tokenization we treat them as spaced forms.
|
|
7083
|
+
markers: [
|
|
7084
|
+
{ form: 'ב', role: 'event', position: 'preposition', required: true },
|
|
7085
|
+
{ form: 'על', role: 'destination', position: 'preposition', required: false },
|
|
7086
|
+
{ form: 'אל', role: 'destination', position: 'preposition', required: false },
|
|
7087
|
+
{ form: 'ל', role: 'destination', position: 'preposition', required: false },
|
|
7088
|
+
{ form: 'את', role: 'patient', position: 'preposition', required: false }, // Direct object marker
|
|
7089
|
+
{ form: 'מ', role: 'source', position: 'preposition', required: false },
|
|
7090
|
+
{ form: 'מן', role: 'source', position: 'preposition', required: false },
|
|
7091
|
+
{ form: 'עם', role: 'style', position: 'preposition', required: false },
|
|
7092
|
+
{ form: 'כ', role: 'method', position: 'preposition', required: false },
|
|
7093
|
+
],
|
|
7094
|
+
};
|
|
7095
|
+
// =============================================================================
|
|
6967
7096
|
// Profile Registry
|
|
6968
7097
|
// =============================================================================
|
|
6969
7098
|
const profiles = {
|
|
@@ -6990,6 +7119,7 @@ const profiles = {
|
|
|
6990
7119
|
tl: tagalogProfile,
|
|
6991
7120
|
th: thaiProfile,
|
|
6992
7121
|
pl: polishProfile,
|
|
7122
|
+
he: hebrewProfile,
|
|
6993
7123
|
};
|
|
6994
7124
|
function getProfile(locale) {
|
|
6995
7125
|
return profiles[locale];
|
|
@@ -7290,7 +7420,7 @@ function getSupportedDirectPairs() {
|
|
|
7290
7420
|
/**
|
|
7291
7421
|
* Dictionary Index
|
|
7292
7422
|
*
|
|
7293
|
-
* Exports dictionaries for all
|
|
7423
|
+
* Exports dictionaries for all supported languages.
|
|
7294
7424
|
* Each dictionary maps English canonical keywords to locale-specific translations
|
|
7295
7425
|
* across 8 categories: commands, modifiers, events, logical, temporal, values,
|
|
7296
7426
|
* attributes, and expressions.
|
|
@@ -7348,6 +7478,8 @@ const th = thaiDictionary;
|
|
|
7348
7478
|
const ms = malayDictionary;
|
|
7349
7479
|
/** Tagalog dictionary */
|
|
7350
7480
|
const tl = tagalogDictionary;
|
|
7481
|
+
/** Hebrew dictionary */
|
|
7482
|
+
const he = he$1;
|
|
7351
7483
|
// =============================================================================
|
|
7352
7484
|
// Dictionary Registry
|
|
7353
7485
|
// =============================================================================
|
|
@@ -7378,6 +7510,7 @@ const dictionaries = {
|
|
|
7378
7510
|
th,
|
|
7379
7511
|
ms,
|
|
7380
7512
|
tl,
|
|
7513
|
+
he,
|
|
7381
7514
|
};
|
|
7382
7515
|
|
|
7383
7516
|
// packages/i18n/src/types.ts
|
|
@@ -7453,18 +7586,79 @@ function getCommandKeywordsForLocale(locale) {
|
|
|
7453
7586
|
return keywords;
|
|
7454
7587
|
}
|
|
7455
7588
|
/**
|
|
7456
|
-
*
|
|
7457
|
-
*
|
|
7458
|
-
*
|
|
7459
|
-
*
|
|
7460
|
-
*
|
|
7461
|
-
*
|
|
7462
|
-
* Example: "on click\n increment #count\n toggle .highlight"
|
|
7463
|
-
* Returns: ["on click", "increment #count", "toggle .highlight"]
|
|
7464
|
-
*
|
|
7465
|
-
* Example: "wait 2s toggle .highlight"
|
|
7466
|
-
* Returns: ["wait 2s", "toggle .highlight"]
|
|
7589
|
+
* Detect a reactive block (`live ... end`, `when X changes Y [end]`,
|
|
7590
|
+
* `unless X Y [end]`) and decompose it. Returns `null` when the input
|
|
7591
|
+
* is not a reactive block, when there's content after the matched
|
|
7592
|
+
* `end`, or when the heuristic can't locate a body — all of which fall
|
|
7593
|
+
* through to the standard `parseStatement` path.
|
|
7467
7594
|
*/
|
|
7595
|
+
function extractBlockStructure(input, sourceLocale) {
|
|
7596
|
+
const tokens = input.split(/\s+/);
|
|
7597
|
+
const head = tokens[0]?.toLowerCase();
|
|
7598
|
+
if (!head || !BLOCK_HEAD_KEYWORDS.has(head))
|
|
7599
|
+
return null;
|
|
7600
|
+
// Depth-aware match for the closing `end` so nested blocks
|
|
7601
|
+
// (`live when X changes Y end end`) slice correctly.
|
|
7602
|
+
let depth = 1;
|
|
7603
|
+
let endIdx = -1;
|
|
7604
|
+
for (let i = 1; i < tokens.length; i++) {
|
|
7605
|
+
const t = tokens[i].toLowerCase();
|
|
7606
|
+
if (BLOCK_HEAD_KEYWORDS.has(t))
|
|
7607
|
+
depth++;
|
|
7608
|
+
else if (t === 'end') {
|
|
7609
|
+
depth--;
|
|
7610
|
+
if (depth === 0) {
|
|
7611
|
+
endIdx = i;
|
|
7612
|
+
break;
|
|
7613
|
+
}
|
|
7614
|
+
}
|
|
7615
|
+
}
|
|
7616
|
+
// If there's trailing content after the matched `end`, bail out and
|
|
7617
|
+
// let the existing splitter handle it. (`splitOnThen` normally
|
|
7618
|
+
// separates trailing code before we get here.)
|
|
7619
|
+
if (endIdx !== -1 && endIdx !== tokens.length - 1)
|
|
7620
|
+
return null;
|
|
7621
|
+
const inner = endIdx !== -1 ? tokens.slice(1, endIdx) : tokens.slice(1);
|
|
7622
|
+
const base = { headKeyword: tokens[0], body: '' };
|
|
7623
|
+
if (endIdx !== -1)
|
|
7624
|
+
base.tailKeyword = tokens[endIdx];
|
|
7625
|
+
if (head === 'live') {
|
|
7626
|
+
return { ...base, body: inner.join(' ') };
|
|
7627
|
+
}
|
|
7628
|
+
if (head === 'when') {
|
|
7629
|
+
// Reactive: `when <expr> changes <body>`. Without `changes`, fall
|
|
7630
|
+
// through to the standard event-wait path (parseConditional).
|
|
7631
|
+
const idx = inner.findIndex(t => t.toLowerCase() === 'changes');
|
|
7632
|
+
if (idx >= 0) {
|
|
7633
|
+
return {
|
|
7634
|
+
...base,
|
|
7635
|
+
prefixExpr: inner.slice(0, idx).join(' '),
|
|
7636
|
+
connector: inner[idx],
|
|
7637
|
+
body: inner.slice(idx + 1).join(' '),
|
|
7638
|
+
};
|
|
7639
|
+
}
|
|
7640
|
+
return null;
|
|
7641
|
+
}
|
|
7642
|
+
// `unless <cond> <body>`: condition runs up to the first command
|
|
7643
|
+
// keyword in `inner`. Heuristic — works because hyperscript bodies
|
|
7644
|
+
// always start with a command verb, and `unless` conditions rarely
|
|
7645
|
+
// contain bare command keywords as values.
|
|
7646
|
+
const commands = getCommandKeywordsForLocale(sourceLocale);
|
|
7647
|
+
let bodyStart = -1;
|
|
7648
|
+
for (let i = 0; i < inner.length; i++) {
|
|
7649
|
+
if (commands.has(inner[i].toLowerCase())) {
|
|
7650
|
+
bodyStart = i;
|
|
7651
|
+
break;
|
|
7652
|
+
}
|
|
7653
|
+
}
|
|
7654
|
+
if (bodyStart <= 0)
|
|
7655
|
+
return null;
|
|
7656
|
+
return {
|
|
7657
|
+
...base,
|
|
7658
|
+
prefixExpr: inner.slice(0, bodyStart).join(' '),
|
|
7659
|
+
body: inner.slice(bodyStart).join(' '),
|
|
7660
|
+
};
|
|
7661
|
+
}
|
|
7468
7662
|
function splitCompoundStatement(input, sourceLocale) {
|
|
7469
7663
|
// First, split on newlines (preserving non-empty lines)
|
|
7470
7664
|
const lines = input
|
|
@@ -7623,6 +7817,18 @@ const BOUNDARY_MODIFIERS = new Set([
|
|
|
7623
7817
|
'of',
|
|
7624
7818
|
'over',
|
|
7625
7819
|
]);
|
|
7820
|
+
/**
|
|
7821
|
+
* Block-introducing keywords whose body should not be split at command
|
|
7822
|
+
* boundaries by `splitOnCommandBoundaries`. Inputs starting with one of
|
|
7823
|
+
* these are also routed around `parseStatement` entirely by
|
|
7824
|
+
* `extractBlockStructure` + `transformBlock` so block-syntactic tokens
|
|
7825
|
+
* never reach `parseCommand`/`parseConditional` (where they'd be
|
|
7826
|
+
* misinterpreted as command verbs or swept into role values).
|
|
7827
|
+
*
|
|
7828
|
+
* `if` deliberately stays out: `if X then Y end` already works via the
|
|
7829
|
+
* `splitOnThen` + `parseConditional` path.
|
|
7830
|
+
*/
|
|
7831
|
+
const BLOCK_HEAD_KEYWORDS = new Set(['live', 'when', 'unless']);
|
|
7626
7832
|
function splitOnCommandBoundaries(input, sourceLocale) {
|
|
7627
7833
|
const commandKeywords = getCommandKeywordsForLocale(sourceLocale);
|
|
7628
7834
|
const tokens = input.split(/\s+/);
|
|
@@ -7636,9 +7842,21 @@ function splitOnCommandBoundaries(input, sourceLocale) {
|
|
|
7636
7842
|
// If it's an event handler, the first command after the event is part of the handler
|
|
7637
7843
|
// So we need to track whether we've seen the first command yet
|
|
7638
7844
|
let seenFirstCommand = !isEventHandler; // If not event handler, we're already past the "first command" phase
|
|
7845
|
+
// Track block-scope depth (live/when/bind/if/unless/for/while/...). While
|
|
7846
|
+
// inside a block, do not split on command boundaries — the body belongs
|
|
7847
|
+
// to the block head and must transform as one unit. See comments on
|
|
7848
|
+
// BLOCK_HEAD_KEYWORDS for the failure mode this prevents.
|
|
7849
|
+
let blockDepth = 0;
|
|
7639
7850
|
for (let i = 0; i < tokens.length; i++) {
|
|
7640
7851
|
const token = tokens[i];
|
|
7641
7852
|
const lowerToken = token.toLowerCase();
|
|
7853
|
+
// Update block-scope depth before any split decision.
|
|
7854
|
+
if (BLOCK_HEAD_KEYWORDS.has(lowerToken)) {
|
|
7855
|
+
blockDepth++;
|
|
7856
|
+
}
|
|
7857
|
+
else if (lowerToken === 'end' && blockDepth > 0) {
|
|
7858
|
+
blockDepth--;
|
|
7859
|
+
}
|
|
7642
7860
|
// If this is a command keyword and we already have tokens in current part
|
|
7643
7861
|
if (commandKeywords.has(lowerToken) && currentPart.length > 0) {
|
|
7644
7862
|
// Check if the previous token looks like it could end a command
|
|
@@ -7652,6 +7870,12 @@ function splitOnCommandBoundaries(input, sourceLocale) {
|
|
|
7652
7870
|
currentPart.push(token);
|
|
7653
7871
|
continue;
|
|
7654
7872
|
}
|
|
7873
|
+
// Don't split inside a block (live/when/bind/unless body, etc.).
|
|
7874
|
+
// The block head and its body must transform as one statement.
|
|
7875
|
+
if (blockDepth > 0) {
|
|
7876
|
+
currentPart.push(token);
|
|
7877
|
+
continue;
|
|
7878
|
+
}
|
|
7655
7879
|
if (!BOUNDARY_MODIFIERS.has(prevLower) && !commandKeywords.has(prevLower)) {
|
|
7656
7880
|
// This looks like a command boundary - save current part and start new one
|
|
7657
7881
|
parts.push(currentPart.join(' '));
|
|
@@ -8382,6 +8606,14 @@ class GrammarTransformer {
|
|
|
8382
8606
|
* Transform a single hyperscript statement (no compound "then" chains).
|
|
8383
8607
|
*/
|
|
8384
8608
|
transformSingle(input) {
|
|
8609
|
+
// 0. Reactive block? Route around parseStatement entirely so
|
|
8610
|
+
// block-syntactic tokens (live/when/unless/end) aren't treated
|
|
8611
|
+
// as command verbs or swept into role values, and so SOV/VSO
|
|
8612
|
+
// reorder applies only inside the body.
|
|
8613
|
+
const block = extractBlockStructure(input, this.sourceProfile.code);
|
|
8614
|
+
if (block) {
|
|
8615
|
+
return this.transformBlock(block);
|
|
8616
|
+
}
|
|
8385
8617
|
// 1. Parse into semantic roles
|
|
8386
8618
|
const parsed = parseStatement(input, this.sourceProfile.code);
|
|
8387
8619
|
if (!parsed) {
|
|
@@ -8408,6 +8640,26 @@ class GrammarTransformer {
|
|
|
8408
8640
|
// 7. Join without markers (still use joinTokens for consistency)
|
|
8409
8641
|
return joinTokens(reordered.map(e => e.translated || e.value));
|
|
8410
8642
|
}
|
|
8643
|
+
/**
|
|
8644
|
+
* Translate a reactive block by translating the head/tail/connector
|
|
8645
|
+
* via the dictionary, recursively transforming the body through the
|
|
8646
|
+
* regular pipeline, and rejoining in source-language position order.
|
|
8647
|
+
* Block-syntactic tokens are never reordered: they're delimiters, not
|
|
8648
|
+
* arguments, and authors expect them at start/end positions
|
|
8649
|
+
* regardless of target word order.
|
|
8650
|
+
*/
|
|
8651
|
+
transformBlock(block) {
|
|
8652
|
+
const src = this.sourceProfile.code;
|
|
8653
|
+
const dst = this.targetProfile.code;
|
|
8654
|
+
const head = translateWord(block.headKeyword, src, dst);
|
|
8655
|
+
const tail = block.tailKeyword ? translateWord(block.tailKeyword, src, dst) : '';
|
|
8656
|
+
const connector = block.connector ? translateWord(block.connector, src, dst) : '';
|
|
8657
|
+
const prefix = block.prefixExpr ? translateMultiWordValue(block.prefixExpr, src, dst) : '';
|
|
8658
|
+
// Recurse through `transform()` (not `transformSingle`) so the body
|
|
8659
|
+
// gets `then`-splitting and nested-block handling for free.
|
|
8660
|
+
const body = this.transform(block.body);
|
|
8661
|
+
return [head, prefix, connector, body, tail].filter(s => s.length > 0).join(' ');
|
|
8662
|
+
}
|
|
8411
8663
|
/**
|
|
8412
8664
|
* Find the best matching rule for this statement
|
|
8413
8665
|
*/
|
|
@@ -8554,5 +8806,5 @@ const examples = {
|
|
|
8554
8806
|
},
|
|
8555
8807
|
};
|
|
8556
8808
|
|
|
8557
|
-
export { ENGLISH_COMMANDS, ENGLISH_KEYWORDS, GrammarTransformer, LANGUAGE_FAMILY_DEFAULTS, LocaleManager, UNIVERSAL_ENGLISH_KEYWORDS, UNIVERSAL_PATTERNS, ar$1 as ar, ar$1 as arDictionary, arKeywords, arabicProfile, bn$1 as bn, bn$1 as bnDictionary, bnKeywords, chineseProfile, createEnglishProvider, createKeywordProvider, de$1 as de, de$1 as deDictionary, deKeywords, detectBrowserLocale, directMappings, en$1 as en, englishProfile, es$1 as es, es$1 as esDictionary, esKeywords, fr$1 as fr, fr$1 as frDictionary, frKeywords, frenchProfile, germanProfile, getDirectMapping, getProfile, getSupportedDirectPairs, getSupportedLocales, examples as grammarExamples, hasDirectMapping, hindiDictionary as hiDictionary, hiKeywords, hindiDictionary, id$1 as id, id$1 as idDictionary, idKeywords, indonesianProfile, insertMarkers, it$1 as it, it$1 as itDictionary, itKeywords, ja$1 as ja, ja$1 as jaDictionary, jaKeywords, japaneseProfile, joinTokens, ko$1 as ko, ko$1 as koDictionary, koKeywords, koreanProfile, ms$1 as ms, ms$1 as msDictionary, msKeywords, parseStatement, pl$1 as pl, pl$1 as plDictionary, plKeywords, portugueseProfile, profiles, pt$1 as pt, pt$1 as ptDictionary, ptKeywords, qu$1 as qu, qu$1 as quDictionary, quKeywords, quechuaProfile, reorderRoles, russianDictionary as ruDictionary, ruKeywords, russianDictionary, spanishProfile, sw$1 as sw, sw$1 as swDictionary, swKeywords, swahiliProfile, th$1 as th, th$1 as thDictionary, thKeywords, tl$1 as tl, tl$1 as tlDictionary, tlKeywords, toEnglish, toLocale, tr$1 as tr, tr$1 as trDictionary, trKeywords, transformStatement, translate, translateWordDirect, turkishProfile, ukrainianDictionary as ukDictionary, ukKeywords, ukrainianDictionary, vi$1 as vi, vi$1 as viDictionary, viKeywords, zh$1 as zh, zh$1 as zhDictionary, zhKeywords };
|
|
8809
|
+
export { ENGLISH_COMMANDS, ENGLISH_KEYWORDS, GrammarTransformer, LANGUAGE_FAMILY_DEFAULTS, LocaleManager, UNIVERSAL_ENGLISH_KEYWORDS, UNIVERSAL_PATTERNS, ar$1 as ar, ar$1 as arDictionary, arKeywords, arabicProfile, bn$1 as bn, bn$1 as bnDictionary, bnKeywords, chineseProfile, createEnglishProvider, createKeywordProvider, de$1 as de, de$1 as deDictionary, deKeywords, detectBrowserLocale, directMappings, en$1 as en, englishProfile, es$1 as es, es$1 as esDictionary, esKeywords, fr$1 as fr, fr$1 as frDictionary, frKeywords, frenchProfile, germanProfile, getDirectMapping, getProfile, getSupportedDirectPairs, getSupportedLocales, examples as grammarExamples, hasDirectMapping, he$1 as he, he$1 as heDictionary, heKeywords, hebrewProfile, hindiDictionary as hiDictionary, hiKeywords, hindiDictionary, id$1 as id, id$1 as idDictionary, idKeywords, indonesianProfile, insertMarkers, it$1 as it, it$1 as itDictionary, itKeywords, ja$1 as ja, ja$1 as jaDictionary, jaKeywords, japaneseProfile, joinTokens, ko$1 as ko, ko$1 as koDictionary, koKeywords, koreanProfile, ms$1 as ms, ms$1 as msDictionary, msKeywords, parseStatement, pl$1 as pl, pl$1 as plDictionary, plKeywords, portugueseProfile, profiles, pt$1 as pt, pt$1 as ptDictionary, ptKeywords, qu$1 as qu, qu$1 as quDictionary, quKeywords, quechuaProfile, reorderRoles, russianDictionary as ruDictionary, ruKeywords, russianDictionary, spanishProfile, sw$1 as sw, sw$1 as swDictionary, swKeywords, swahiliProfile, th$1 as th, th$1 as thDictionary, thKeywords, tl$1 as tl, tl$1 as tlDictionary, tlKeywords, toEnglish, toLocale, tr$1 as tr, tr$1 as trDictionary, trKeywords, transformStatement, translate, translateWordDirect, turkishProfile, ukrainianDictionary as ukDictionary, ukKeywords, ukrainianDictionary, vi$1 as vi, vi$1 as viDictionary, viKeywords, zh$1 as zh, zh$1 as zhDictionary, zhKeywords };
|
|
8558
8810
|
//# sourceMappingURL=lokascript-i18n.mjs.map
|