@lokascript/i18n 2.5.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.cjs +1274 -154
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +1274 -155
- package/dist/browser.js.map +1 -1
- package/dist/dictionaries/index.cjs +364 -133
- package/dist/dictionaries/index.cjs.map +1 -1
- package/dist/dictionaries/index.d.cts +1 -1
- package/dist/dictionaries/index.d.ts +1 -1
- package/dist/dictionaries/index.js +364 -133
- package/dist/dictionaries/index.js.map +1 -1
- package/dist/index.cjs +8860 -7740
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8860 -7741
- package/dist/index.js.map +1 -1
- package/dist/lokascript-i18n.min.js +1 -1
- package/dist/lokascript-i18n.min.js.map +1 -1
- package/dist/lokascript-i18n.mjs +1697 -146
- package/dist/lokascript-i18n.mjs.map +1 -1
- package/dist/plugins/vite.cjs +359 -132
- package/dist/plugins/vite.cjs.map +1 -1
- package/dist/plugins/vite.js +359 -132
- package/dist/plugins/vite.js.map +1 -1
- package/dist/plugins/webpack.cjs +359 -132
- package/dist/plugins/webpack.cjs.map +1 -1
- package/dist/plugins/webpack.js +359 -132
- package/dist/plugins/webpack.js.map +1 -1
- package/dist/{transformer-BLv389qz.d.ts → transformer-BA8YX9u1.d.ts} +120 -2
- package/dist/{transformer-PFsYELrc.d.cts → transformer-DM7iplCU.d.cts} +120 -2
- package/dist/{types-BcALAO6h.d.cts → types-BYtpqGq3.d.cts} +1 -1
- package/dist/{types-BcALAO6h.d.ts → types-BYtpqGq3.d.ts} +1 -1
- package/package.json +9 -6
- package/src/browser.ts +1 -0
- package/src/command-primary-roles.test.ts +59 -0
- package/src/constants.ts +51 -0
- package/src/dictionaries/ar.ts +8 -3
- package/src/dictionaries/bn.ts +3 -1
- package/src/dictionaries/de.ts +19 -4
- package/src/dictionaries/derive.ts +4 -0
- package/src/dictionaries/en.ts +9 -0
- package/src/dictionaries/es.ts +2 -2
- package/src/dictionaries/fr.ts +6 -2
- package/src/dictionaries/he.ts +7 -1
- package/src/dictionaries/hi.ts +17 -10
- package/src/dictionaries/id.ts +15 -8
- package/src/dictionaries/it.ts +6 -3
- package/src/dictionaries/ja.ts +10 -4
- package/src/dictionaries/ko.ts +9 -4
- package/src/dictionaries/ms.ts +2 -1
- package/src/dictionaries/pl.ts +11 -3
- package/src/dictionaries/pt.ts +10 -4
- package/src/dictionaries/qu.ts +46 -22
- package/src/dictionaries/ru.ts +14 -7
- package/src/dictionaries/sw.ts +37 -10
- package/src/dictionaries/th.ts +3 -1
- package/src/dictionaries/tl.ts +14 -7
- package/src/dictionaries/tr.ts +22 -9
- package/src/dictionaries/uk.ts +13 -7
- package/src/dictionaries/vi.ts +3 -3
- package/src/dictionaries/zh.ts +10 -2
- package/src/examples/new-languages.ts +1 -1
- package/src/grammar/grammar.test.ts +1242 -1
- package/src/grammar/index.ts +1 -0
- package/src/grammar/profiles/index.ts +358 -12
- package/src/grammar/transformer.ts +1053 -16
- package/src/grammar/types.ts +22 -1
- package/src/index.ts +1 -0
- package/src/new-languages.test.ts +7 -3
- package/src/parser/parser-integration.test.ts +5 -1
- package/src/positional-keyword-drift.test.ts +138 -0
package/src/dictionaries/es.ts
CHANGED
|
@@ -52,7 +52,7 @@ export const es: Dictionary = {
|
|
|
52
52
|
swap: 'intercambiar',
|
|
53
53
|
morph: 'transformar',
|
|
54
54
|
settle: 'estabilizar',
|
|
55
|
-
append: 'añadir'
|
|
55
|
+
append: 'anexar', // profile primary; 'añadir' is add's word (parsed as add)
|
|
56
56
|
exit: 'salir',
|
|
57
57
|
install: 'instalar',
|
|
58
58
|
breakpoint: 'punto-interrupción',
|
|
@@ -192,7 +192,7 @@ export const es: Dictionary = {
|
|
|
192
192
|
prev: 'ant',
|
|
193
193
|
at: 'en',
|
|
194
194
|
random: 'aleatorio',
|
|
195
|
-
closest: '
|
|
195
|
+
closest: 'cercano',
|
|
196
196
|
parent: 'padre',
|
|
197
197
|
children: 'hijos',
|
|
198
198
|
within: 'dentro',
|
package/src/dictionaries/fr.ts
CHANGED
|
@@ -16,6 +16,9 @@ export const fr: Dictionary = {
|
|
|
16
16
|
add: 'ajouter',
|
|
17
17
|
remove: 'supprimer',
|
|
18
18
|
toggle: 'basculer',
|
|
19
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
20
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
21
|
+
blur: 'défocaliser',
|
|
19
22
|
hide: 'cacher',
|
|
20
23
|
show: 'montrer',
|
|
21
24
|
if: 'si',
|
|
@@ -52,7 +55,7 @@ export const fr: Dictionary = {
|
|
|
52
55
|
swap: 'échanger',
|
|
53
56
|
morph: 'transformer',
|
|
54
57
|
settle: 'stabiliser',
|
|
55
|
-
append: 'ajouter'
|
|
58
|
+
append: 'annexer', // profile primary; 'ajouter' is add's word (parsed as add)
|
|
56
59
|
exit: 'sortir',
|
|
57
60
|
install: 'installer',
|
|
58
61
|
breakpoint: 'point-arrêt',
|
|
@@ -62,6 +65,7 @@ export const fr: Dictionary = {
|
|
|
62
65
|
select: 'sélectionner',
|
|
63
66
|
clone: 'cloner',
|
|
64
67
|
prepend: 'préfixer',
|
|
68
|
+
focus: 'focaliser',
|
|
65
69
|
},
|
|
66
70
|
|
|
67
71
|
modifiers: {
|
|
@@ -192,7 +196,7 @@ export const fr: Dictionary = {
|
|
|
192
196
|
prev: 'préc',
|
|
193
197
|
at: 'à',
|
|
194
198
|
random: 'aléatoire',
|
|
195
|
-
closest: '
|
|
199
|
+
closest: 'proche',
|
|
196
200
|
parent: 'parent',
|
|
197
201
|
children: 'enfants',
|
|
198
202
|
within: 'dans',
|
package/src/dictionaries/he.ts
CHANGED
|
@@ -11,6 +11,7 @@ export const he: Dictionary = {
|
|
|
11
11
|
beep: 'ביפ',
|
|
12
12
|
break: 'שבור',
|
|
13
13
|
call: 'קרא',
|
|
14
|
+
clear: 'נקה', // profile's clear word — was untranslated (parsed as nothing)
|
|
14
15
|
continue: 'המשך',
|
|
15
16
|
copy: 'העתק',
|
|
16
17
|
decrement: 'הקטן',
|
|
@@ -23,6 +24,7 @@ export const he: Dictionary = {
|
|
|
23
24
|
halt: 'עצור',
|
|
24
25
|
hide: 'הסתר',
|
|
25
26
|
if: 'אם',
|
|
27
|
+
unless: 'אלא',
|
|
26
28
|
increment: 'הגדל',
|
|
27
29
|
install: 'התקן',
|
|
28
30
|
js: 'js',
|
|
@@ -37,6 +39,7 @@ export const he: Dictionary = {
|
|
|
37
39
|
render: 'רנדר',
|
|
38
40
|
repeat: 'חזור',
|
|
39
41
|
return: 'החזר',
|
|
42
|
+
scroll: 'גלול',
|
|
40
43
|
send: 'שלח',
|
|
41
44
|
set: 'קבע',
|
|
42
45
|
settle: 'התייצב',
|
|
@@ -77,6 +80,7 @@ export const he: Dictionary = {
|
|
|
77
80
|
end: 'סוף',
|
|
78
81
|
then: 'אז',
|
|
79
82
|
live: 'חי',
|
|
83
|
+
bind: 'קשור',
|
|
80
84
|
changes: 'משתנה',
|
|
81
85
|
when: 'כאשר',
|
|
82
86
|
where: 'איפה',
|
|
@@ -99,5 +103,7 @@ export const he: Dictionary = {
|
|
|
99
103
|
|
|
100
104
|
attributes: {},
|
|
101
105
|
|
|
102
|
-
expressions: {
|
|
106
|
+
expressions: {
|
|
107
|
+
last: 'אחרון',
|
|
108
|
+
},
|
|
103
109
|
};
|
package/src/dictionaries/hi.ts
CHANGED
|
@@ -19,10 +19,10 @@ export const hindiDictionary: Dictionary = {
|
|
|
19
19
|
hide: 'छिपाएं',
|
|
20
20
|
show: 'दिखाएं',
|
|
21
21
|
if: 'अगर',
|
|
22
|
-
unless: 'जब_तक_नहीं
|
|
22
|
+
unless: 'जब तक नहीं', // spaced (not जब_तक_नहीं) → one multi-word `unless` token
|
|
23
23
|
repeat: 'दोहराएं',
|
|
24
|
-
for: 'के_लिए
|
|
25
|
-
while: 'जब
|
|
24
|
+
for: 'हेतु', // single token — के_लिए splits at _ in the hi extractor
|
|
25
|
+
while: 'जब तक',
|
|
26
26
|
until: 'तक',
|
|
27
27
|
continue: 'जारी',
|
|
28
28
|
break: 'रोकें',
|
|
@@ -49,10 +49,10 @@ export const hindiDictionary: Dictionary = {
|
|
|
49
49
|
js: 'जेएस',
|
|
50
50
|
async: 'असिंक',
|
|
51
51
|
render: 'रेंडर',
|
|
52
|
-
swap: '
|
|
52
|
+
swap: 'विनिमय',
|
|
53
53
|
morph: 'रूपांतर',
|
|
54
54
|
settle: 'स्थिर',
|
|
55
|
-
append: '
|
|
55
|
+
append: 'संलग्न',
|
|
56
56
|
exit: 'बाहर',
|
|
57
57
|
else: 'वरना',
|
|
58
58
|
install: 'इंस्टॉल',
|
|
@@ -67,6 +67,7 @@ export const hindiDictionary: Dictionary = {
|
|
|
67
67
|
close: 'बंद-करें',
|
|
68
68
|
open: 'खोलें',
|
|
69
69
|
select: 'चुनें',
|
|
70
|
+
socket: 'सॉकेट',
|
|
70
71
|
},
|
|
71
72
|
|
|
72
73
|
modifiers: {
|
|
@@ -79,8 +80,8 @@ export const hindiDictionary: Dictionary = {
|
|
|
79
80
|
of: 'का',
|
|
80
81
|
as: 'के_रूप_में',
|
|
81
82
|
by: 'द्वारा',
|
|
82
|
-
before: 'से
|
|
83
|
-
after: 'के
|
|
83
|
+
before: 'से पहले',
|
|
84
|
+
after: 'के बाद',
|
|
84
85
|
over: 'के_ऊपर',
|
|
85
86
|
under: 'के_नीचे',
|
|
86
87
|
between: 'के_बीच',
|
|
@@ -92,8 +93,10 @@ export const hindiDictionary: Dictionary = {
|
|
|
92
93
|
events: {
|
|
93
94
|
click: 'क्लिक',
|
|
94
95
|
dblclick: 'डबल_क्लिक',
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
// Fused (no `_`): the semantic tokenizer splits on `_`, breaking event
|
|
97
|
+
// recognition (mousedown → "नीचे"). Mirrors the #535 ru/uk fuse.
|
|
98
|
+
mousedown: 'माउसनीचे',
|
|
99
|
+
mouseup: 'माउसऊपर',
|
|
97
100
|
mouseenter: 'माउस_प्रवेश',
|
|
98
101
|
mouseleave: 'माउस_बाहर',
|
|
99
102
|
mouseover: 'माउस_ओवर',
|
|
@@ -126,7 +129,11 @@ export const hindiDictionary: Dictionary = {
|
|
|
126
129
|
not: 'नहीं',
|
|
127
130
|
is: 'है',
|
|
128
131
|
exists: 'मौजूद',
|
|
129
|
-
matches
|
|
132
|
+
// Natural spaced phrase `मेल खाता` ("matches") — how Hindi writes it. The base
|
|
133
|
+
// tokenizer now matches multi-word profile keywords, so the hindi profile maps
|
|
134
|
+
// `मेल खाता`→matches without the underscore (`मेल_खाता` split) or the
|
|
135
|
+
// concatenated `मेलखाता` (parsed, but unnatural) workarounds.
|
|
136
|
+
matches: 'मेल खाता',
|
|
130
137
|
contains: 'शामिल',
|
|
131
138
|
includes: 'में_है',
|
|
132
139
|
equals: 'बराबर',
|
package/src/dictionaries/id.ts
CHANGED
|
@@ -15,7 +15,7 @@ export const id: Dictionary = {
|
|
|
15
15
|
get: 'dapatkan',
|
|
16
16
|
add: 'tambah',
|
|
17
17
|
remove: 'hapus',
|
|
18
|
-
toggle: '
|
|
18
|
+
toggle: 'alihkan',
|
|
19
19
|
hide: 'sembunyikan',
|
|
20
20
|
show: 'tampilkan',
|
|
21
21
|
if: 'jika',
|
|
@@ -28,7 +28,10 @@ export const id: Dictionary = {
|
|
|
28
28
|
break: 'hentikan',
|
|
29
29
|
halt: 'berhenti',
|
|
30
30
|
wait: 'tunggu',
|
|
31
|
-
|
|
31
|
+
// profile primary; 'ambil' is take's word — emitting it for fetch made every
|
|
32
|
+
// fetch parse as take once the fused take-event pattern came alive (the de
|
|
33
|
+
// holen/abrufen bug class)
|
|
34
|
+
fetch: 'muat',
|
|
32
35
|
call: 'panggil',
|
|
33
36
|
return: 'kembali',
|
|
34
37
|
make: 'buat',
|
|
@@ -37,7 +40,11 @@ export const id: Dictionary = {
|
|
|
37
40
|
catch: 'tangkap',
|
|
38
41
|
measure: 'ukur',
|
|
39
42
|
transition: 'transisi',
|
|
40
|
-
|
|
43
|
+
// naikkan (raise), not tambahkan — tambahkan is the semantic profile's
|
|
44
|
+
// `add` alternative, so emitting it made increment-counter parse as ADD
|
|
45
|
+
// (the #373 collision family). naikkan is the profile's increment
|
|
46
|
+
// alternative, pairing naturally with the decrement side.
|
|
47
|
+
increment: 'naikkan',
|
|
41
48
|
decrement: 'kurangi',
|
|
42
49
|
default: 'bawaan',
|
|
43
50
|
go: 'pergi',
|
|
@@ -48,15 +55,15 @@ export const id: Dictionary = {
|
|
|
48
55
|
beep: 'bunyi',
|
|
49
56
|
js: 'js',
|
|
50
57
|
async: 'asinkron',
|
|
51
|
-
render: '
|
|
58
|
+
render: 'olah', // auditor: dict emitted a word the profile reads differently
|
|
52
59
|
swap: 'tukar',
|
|
53
|
-
morph: '
|
|
54
|
-
settle: '
|
|
55
|
-
append: 'tambah_akhir'
|
|
60
|
+
morph: 'ubah', // auditor: dict emitted a word the profile reads differently
|
|
61
|
+
settle: 'stabilkan', // auditor: dict emitted a word the profile reads differently
|
|
62
|
+
append: 'sisipkan', // profile primary; 'tambah_akhir' splits and is unrecognized
|
|
56
63
|
exit: 'keluar',
|
|
57
64
|
install: 'pasang',
|
|
58
65
|
breakpoint: 'titik-henti',
|
|
59
|
-
clear: '
|
|
66
|
+
clear: 'bersihkan', // hapus is the remove PRIMARY in the profile
|
|
60
67
|
close: 'tutup',
|
|
61
68
|
open: 'buka',
|
|
62
69
|
select: 'pilih',
|
package/src/dictionaries/it.ts
CHANGED
|
@@ -19,7 +19,7 @@ export const it: Dictionary = {
|
|
|
19
19
|
hide: 'nascondere',
|
|
20
20
|
show: 'mostrare',
|
|
21
21
|
if: 'se',
|
|
22
|
-
unless: '
|
|
22
|
+
unless: 'salvo',
|
|
23
23
|
repeat: 'ripetere',
|
|
24
24
|
for: 'per',
|
|
25
25
|
while: 'mentre',
|
|
@@ -52,7 +52,7 @@ export const it: Dictionary = {
|
|
|
52
52
|
swap: 'scambiare',
|
|
53
53
|
morph: 'trasformare',
|
|
54
54
|
settle: 'stabilizzare',
|
|
55
|
-
append: 'aggiungere'
|
|
55
|
+
append: 'accodare', // profile primary; 'aggiungere' is add's word (parsed as add)
|
|
56
56
|
exit: 'uscire',
|
|
57
57
|
install: 'installare',
|
|
58
58
|
breakpoint: 'punto-interruzione',
|
|
@@ -62,6 +62,9 @@ export const it: Dictionary = {
|
|
|
62
62
|
select: 'selezionare',
|
|
63
63
|
clone: 'clonare',
|
|
64
64
|
prepend: 'anteporre',
|
|
65
|
+
// profile primary; without a commands entry the transformer fell back to
|
|
66
|
+
// the EVENTS noun 'fuoco', which generated focus patterns can't match
|
|
67
|
+
focus: 'focalizzare',
|
|
65
68
|
},
|
|
66
69
|
|
|
67
70
|
modifiers: {
|
|
@@ -192,7 +195,7 @@ export const it: Dictionary = {
|
|
|
192
195
|
prev: 'prec',
|
|
193
196
|
at: 'a',
|
|
194
197
|
random: 'casuale',
|
|
195
|
-
closest: '
|
|
198
|
+
closest: 'vicino',
|
|
196
199
|
parent: 'genitore',
|
|
197
200
|
children: 'figli',
|
|
198
201
|
within: 'dentro',
|
package/src/dictionaries/ja.ts
CHANGED
|
@@ -19,7 +19,7 @@ export const ja: Dictionary = {
|
|
|
19
19
|
hide: '隠す',
|
|
20
20
|
show: '表示',
|
|
21
21
|
if: 'もし',
|
|
22
|
-
unless: '
|
|
22
|
+
unless: 'ない限り', // not でなければ — leading で particle shatters the marker
|
|
23
23
|
repeat: '繰り返し',
|
|
24
24
|
for: 'ために',
|
|
25
25
|
while: 'の間',
|
|
@@ -28,7 +28,7 @@ export const ja: Dictionary = {
|
|
|
28
28
|
break: '中断',
|
|
29
29
|
halt: '停止',
|
|
30
30
|
wait: '待つ',
|
|
31
|
-
fetch: '
|
|
31
|
+
fetch: 'フェッチ',
|
|
32
32
|
call: '呼び出し',
|
|
33
33
|
return: '戻る',
|
|
34
34
|
make: '作る',
|
|
@@ -53,7 +53,11 @@ export const ja: Dictionary = {
|
|
|
53
53
|
morph: '変形',
|
|
54
54
|
settle: '安定',
|
|
55
55
|
append: '末尾追加',
|
|
56
|
-
exit:
|
|
56
|
+
// 終了 → 退出: realigned to the semantic profile primary (ja.ts `exit: 退出`).
|
|
57
|
+
// 終了 was the historic exit/end collision word (see isEndKeyword's ja note);
|
|
58
|
+
// rendered as 終了 it tokenized as a plain identifier, so a guard-clause
|
|
59
|
+
// `exit` inside `if … end` never parsed (behavior-sortable ja).
|
|
60
|
+
exit: '退出',
|
|
57
61
|
install: 'インストール',
|
|
58
62
|
breakpoint: 'ブレークポイント',
|
|
59
63
|
clear: 'クリア',
|
|
@@ -62,6 +66,7 @@ export const ja: Dictionary = {
|
|
|
62
66
|
select: '選択',
|
|
63
67
|
clone: '複製',
|
|
64
68
|
prepend: '先頭追加',
|
|
69
|
+
socket: 'ソケット',
|
|
65
70
|
},
|
|
66
71
|
|
|
67
72
|
modifiers: {
|
|
@@ -113,7 +118,7 @@ export const ja: Dictionary = {
|
|
|
113
118
|
},
|
|
114
119
|
|
|
115
120
|
logical: {
|
|
116
|
-
when: '
|
|
121
|
+
when: '時',
|
|
117
122
|
where: 'どこ',
|
|
118
123
|
and: 'そして',
|
|
119
124
|
or: 'または',
|
|
@@ -131,6 +136,7 @@ export const ja: Dictionary = {
|
|
|
131
136
|
otherwise: 'そうでなければ',
|
|
132
137
|
end: '終わり',
|
|
133
138
|
live: 'ライブ',
|
|
139
|
+
bind: 'バインド',
|
|
134
140
|
changes: '変わったら',
|
|
135
141
|
},
|
|
136
142
|
|
package/src/dictionaries/ko.ts
CHANGED
|
@@ -19,9 +19,9 @@ export const ko: Dictionary = {
|
|
|
19
19
|
hide: '숨기다',
|
|
20
20
|
show: '보이다',
|
|
21
21
|
if: '만약',
|
|
22
|
-
unless: '
|
|
22
|
+
unless: '아니라면', // distinct from else `아니면` (line ~131) — was a homonym
|
|
23
23
|
repeat: '반복',
|
|
24
|
-
for: '
|
|
24
|
+
for: '각각', // profile's for word — 동안 is while (collision)
|
|
25
25
|
while: '동안',
|
|
26
26
|
until: '까지',
|
|
27
27
|
continue: '계속',
|
|
@@ -52,8 +52,11 @@ export const ko: Dictionary = {
|
|
|
52
52
|
swap: '교환',
|
|
53
53
|
morph: '변형',
|
|
54
54
|
settle: '안정',
|
|
55
|
-
append: '추가'
|
|
56
|
-
exit:
|
|
55
|
+
append: '덧붙이다', // profile primary; '추가' is add's word (parsed as add)
|
|
56
|
+
// 종료 → 나가기: realigned to the semantic profile primary (ko.ts `exit: 나가기`,
|
|
57
|
+
// whose comment already flags the 종료 end-collision). Rendered as 종료 it
|
|
58
|
+
// tokenized as a plain identifier, so a guard-clause `exit` never parsed.
|
|
59
|
+
exit: '나가기',
|
|
57
60
|
install: '설치',
|
|
58
61
|
breakpoint: '중단점',
|
|
59
62
|
clear: '지우기',
|
|
@@ -62,6 +65,7 @@ export const ko: Dictionary = {
|
|
|
62
65
|
select: '선택',
|
|
63
66
|
clone: '복제',
|
|
64
67
|
prepend: '앞에추가',
|
|
68
|
+
socket: '소켓',
|
|
65
69
|
},
|
|
66
70
|
|
|
67
71
|
modifiers: {
|
|
@@ -131,6 +135,7 @@ export const ko: Dictionary = {
|
|
|
131
135
|
otherwise: '그렇지않으면',
|
|
132
136
|
end: '끝',
|
|
133
137
|
live: '라이브',
|
|
138
|
+
bind: '바인드',
|
|
134
139
|
changes: '변경되면',
|
|
135
140
|
},
|
|
136
141
|
|
package/src/dictionaries/ms.ts
CHANGED
|
@@ -63,10 +63,11 @@ export const malayDictionary: Dictionary = {
|
|
|
63
63
|
init: 'mula',
|
|
64
64
|
clone: 'klon',
|
|
65
65
|
breakpoint: 'titik-henti',
|
|
66
|
-
clear: '
|
|
66
|
+
clear: 'bersihkan', // padam is a remove alternative in the profile
|
|
67
67
|
close: 'tutup',
|
|
68
68
|
open: 'buka',
|
|
69
69
|
select: 'pilih',
|
|
70
|
+
socket: 'soket', // derived from the ms profile (socket.primary); see generate-i18n-dictionaries
|
|
70
71
|
},
|
|
71
72
|
|
|
72
73
|
modifiers: {
|
package/src/dictionaries/pl.ts
CHANGED
|
@@ -7,15 +7,22 @@ export const pl: Dictionary = {
|
|
|
7
7
|
commands: {
|
|
8
8
|
on: 'gdy',
|
|
9
9
|
tell: 'powiedz',
|
|
10
|
-
trigger: '
|
|
10
|
+
trigger: 'wyzwól', // auditor: dict emitted a word the profile reads differently
|
|
11
11
|
send: 'wyślij',
|
|
12
12
|
take: 'weź',
|
|
13
13
|
put: 'umieść',
|
|
14
14
|
set: 'ustaw',
|
|
15
|
-
get
|
|
15
|
+
// `uzyskaj` (the semantic pl profile's get primary), not `pobierz`: pl `pobierz`
|
|
16
|
+
// ("download") is the profile's FETCH primary, so emitting it for get made the
|
|
17
|
+
// parser read every transformed get as fetch (get-value lossy + a phantom fetch).
|
|
18
|
+
// Same dict↔profile homonym disambiguation as tr load/install, qu get.
|
|
19
|
+
get: 'uzyskaj',
|
|
16
20
|
add: 'dodaj',
|
|
17
21
|
remove: 'usuń',
|
|
18
22
|
toggle: 'przełącz',
|
|
23
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
24
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
25
|
+
blur: 'rozmyj',
|
|
19
26
|
hide: 'ukryj',
|
|
20
27
|
show: 'pokaż',
|
|
21
28
|
if: 'jeśli',
|
|
@@ -56,12 +63,13 @@ export const pl: Dictionary = {
|
|
|
56
63
|
exit: 'wyjdź',
|
|
57
64
|
install: 'zainstaluj',
|
|
58
65
|
breakpoint: 'punkt-przerwania',
|
|
59
|
-
clear: '
|
|
66
|
+
clear: 'zeruj', // wyczyść is a remove alternative in the profile
|
|
60
67
|
close: 'zamknij',
|
|
61
68
|
open: 'otwórz',
|
|
62
69
|
select: 'wybierz',
|
|
63
70
|
clone: 'sklonuj',
|
|
64
71
|
prepend: 'poprzedź',
|
|
72
|
+
focus: 'skup',
|
|
65
73
|
},
|
|
66
74
|
|
|
67
75
|
modifiers: {
|
package/src/dictionaries/pt.ts
CHANGED
|
@@ -16,17 +16,21 @@ export const pt: Dictionary = {
|
|
|
16
16
|
add: 'adicionar',
|
|
17
17
|
remove: 'remover',
|
|
18
18
|
toggle: 'alternar',
|
|
19
|
+
// command blur (the events section has the blur EVENT word; without this
|
|
20
|
+
// entry the transformer fell back to it and no profile read it as the verb)
|
|
21
|
+
blur: 'desfocar',
|
|
19
22
|
hide: 'esconder',
|
|
20
23
|
show: 'mostrar',
|
|
21
24
|
if: 'se',
|
|
22
|
-
unless: '
|
|
25
|
+
unless: 'salvo', // a_menos splits at _ in the pt extractor (see profile)
|
|
23
26
|
repeat: 'repetir',
|
|
24
27
|
for: 'para',
|
|
25
28
|
while: 'enquanto',
|
|
26
29
|
until: 'até',
|
|
27
30
|
continue: 'continuar',
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
// un-crossed: the profile/tokenizer read parar=halt, interromper=break
|
|
32
|
+
break: 'interromper',
|
|
33
|
+
halt: 'parar',
|
|
30
34
|
wait: 'esperar',
|
|
31
35
|
fetch: 'buscar',
|
|
32
36
|
call: 'chamar',
|
|
@@ -62,6 +66,8 @@ export const pt: Dictionary = {
|
|
|
62
66
|
select: 'selecionar',
|
|
63
67
|
clone: 'clonar',
|
|
64
68
|
prepend: 'preceder',
|
|
69
|
+
focus: 'focar',
|
|
70
|
+
socket: 'soquete',
|
|
65
71
|
},
|
|
66
72
|
|
|
67
73
|
modifiers: {
|
|
@@ -192,7 +198,7 @@ export const pt: Dictionary = {
|
|
|
192
198
|
prev: 'ant',
|
|
193
199
|
at: 'em',
|
|
194
200
|
random: 'aleatório',
|
|
195
|
-
closest: '
|
|
201
|
+
closest: 'maispróximo',
|
|
196
202
|
parent: 'pai',
|
|
197
203
|
children: 'filhos',
|
|
198
204
|
within: 'dentro',
|
package/src/dictionaries/qu.ts
CHANGED
|
@@ -9,20 +9,31 @@ export const qu: Dictionary = {
|
|
|
9
9
|
tell: 'niy',
|
|
10
10
|
trigger: 'kichay',
|
|
11
11
|
send: 'kachay',
|
|
12
|
-
take: '
|
|
12
|
+
take: 'hapiy', // auditor: dict emitted a word the profile reads differently
|
|
13
13
|
put: 'churay',
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// churay is the semantic qu profile's `put` primary; `set` is churanay. Emitting
|
|
15
|
+
// churay for set made the semantic parser read a transformed `set` as `put`.
|
|
16
|
+
// See ZH_BLOCK_BODY_SCOPE.md (#2 sweep — keyword realignment, cf. zh fetch).
|
|
17
|
+
set: 'churanay',
|
|
18
|
+
// Align with the semantic quechua profile's `get` primary (`taripay`); the
|
|
19
|
+
// previous `chaskiy` had no profile entry, so the transformed `get` dropped
|
|
20
|
+
// (get-value parsed degenerate). Same dict↔profile alignment as id `toggle`.
|
|
21
|
+
get: 'taripay',
|
|
16
22
|
add: 'yapay',
|
|
17
23
|
remove: 'qichuy',
|
|
18
24
|
toggle: 'tikray',
|
|
19
25
|
hide: 'pakay',
|
|
20
26
|
show: 'rikuchiy',
|
|
21
27
|
if: 'sichus',
|
|
22
|
-
unless: '
|
|
23
|
-
repeat: '
|
|
24
|
-
for: '
|
|
25
|
-
while
|
|
28
|
+
unless: 'mana sichus', // spaced phrase ("if not"); `_` form split to `mana`+`sichus`(=if) at parse time
|
|
29
|
+
repeat: 'kutipay',
|
|
30
|
+
for: 'sapankaq', // profile's for word — rayku doubles as `by`
|
|
31
|
+
// `kaykamaqa` (the semantic qu profile's while primary), not `kay_kaq`: the
|
|
32
|
+
// `_` form is unknown to the profile (and `_` words split at parse time, cf.
|
|
33
|
+
// qhipaman_yapay), so the fronted repeat-while head never formed a `while`
|
|
34
|
+
// node — the condition dropped wholesale. Same dict↔profile alignment as
|
|
35
|
+
// vi render / de abrufen.
|
|
36
|
+
while: 'kaykamaqa',
|
|
26
37
|
until: 'hayk_akama',
|
|
27
38
|
continue: 'purichiy',
|
|
28
39
|
break: 'p_akiy',
|
|
@@ -32,12 +43,18 @@ export const qu: Dictionary = {
|
|
|
32
43
|
call: 'qayay',
|
|
33
44
|
return: 'kutimuy',
|
|
34
45
|
make: 'ruray',
|
|
35
|
-
|
|
46
|
+
// qillqay is the semantic qu profile's `copy` primary; `log` is qillqakuy.
|
|
47
|
+
// Emitting qillqay for log made the parser read every transformed log as
|
|
48
|
+
// copy (log-value/log-element/get-value lossy) — same realign as set above.
|
|
49
|
+
log: 'qillqakuy',
|
|
36
50
|
throw: 'wikchuy',
|
|
37
51
|
catch: 'hapsiy',
|
|
38
52
|
measure: 'tupuy',
|
|
39
|
-
|
|
40
|
-
|
|
53
|
+
// pasay, not tikray: the semantic qu profile's toggle keyword is
|
|
54
|
+
// t'ikray/tikray, so a tikray render collided with toggle and the
|
|
55
|
+
// transition command never anchored (sw kama precedent, #569).
|
|
56
|
+
transition: 'pasay',
|
|
57
|
+
increment: 'yapachiy',
|
|
41
58
|
decrement: 'pisiyachiy',
|
|
42
59
|
default: 'ñawpaq_kaq',
|
|
43
60
|
go: 'riy',
|
|
@@ -48,13 +65,13 @@ export const qu: Dictionary = {
|
|
|
48
65
|
beep: 'waqay',
|
|
49
66
|
js: 'js',
|
|
50
67
|
async: 'mana_suyaspa',
|
|
51
|
-
render: '
|
|
52
|
-
swap: 'rantin_tikray',
|
|
53
|
-
morph: '
|
|
54
|
-
settle: '
|
|
55
|
-
append: '
|
|
68
|
+
render: 'rikurichiy', // auditor: dict emitted a word the profile reads differently
|
|
69
|
+
swap: "t'inkuy", // profile primary; 'rantin_tikray' splits, 'tikray' is toggle's word
|
|
70
|
+
morph: 'tukunay', // auditor: dict emitted a word the profile reads differently
|
|
71
|
+
settle: 'tiyakuy', // auditor: dict emitted a word the profile reads differently
|
|
72
|
+
append: 'qatichiy', // profile's append primary (single token); `qhipaman_yapay` `_`-split to qhipaman+yapay(=add) at parse time
|
|
56
73
|
exit: 'lluqsiy',
|
|
57
|
-
install: '
|
|
74
|
+
install: 'tarpuy',
|
|
58
75
|
breakpoint: 'sayachinay',
|
|
59
76
|
clear: 'pichay',
|
|
60
77
|
close: 'wichqay',
|
|
@@ -62,6 +79,7 @@ export const qu: Dictionary = {
|
|
|
62
79
|
select: 'akllay',
|
|
63
80
|
clone: 'kikinchay',
|
|
64
81
|
prepend: 'ñawpachiy',
|
|
82
|
+
socket: 'tinkina',
|
|
65
83
|
},
|
|
66
84
|
|
|
67
85
|
modifiers: {
|
|
@@ -86,8 +104,10 @@ export const qu: Dictionary = {
|
|
|
86
104
|
events: {
|
|
87
105
|
click: 'ñitiy',
|
|
88
106
|
dblclick: 'iskay_ñitiy',
|
|
89
|
-
|
|
90
|
-
|
|
107
|
+
// Fused (no `_`): the semantic tokenizer splits on `_` — and `rat_ñitiy` then
|
|
108
|
+
// mis-captured as the `click` event (ñitiy→click). Mirrors the #535 ru/uk fuse.
|
|
109
|
+
mousedown: 'ratñitiy',
|
|
110
|
+
mouseup: 'rathuqariy',
|
|
91
111
|
mouseenter: 'rat_yaykuy',
|
|
92
112
|
mouseleave: 'rat_lluqsiy',
|
|
93
113
|
mouseover: 'rat_hawapi',
|
|
@@ -127,7 +147,11 @@ export const qu: Dictionary = {
|
|
|
127
147
|
has: 'kachkan',
|
|
128
148
|
have: 'kachkani',
|
|
129
149
|
then: 'chayqa',
|
|
130
|
-
else
|
|
150
|
+
// Align to the semantic profile's else word `manachus`. The old `mana_chayqa`
|
|
151
|
+
// tokenized as `mana`(false) + `_` + `chayqa`(then) — no else keyword formed,
|
|
152
|
+
// so qu conditionals never split their else branch. `manachus` is a single
|
|
153
|
+
// token the profile-derived keyword map reads as `else` (dict↔profile align).
|
|
154
|
+
else: 'manachus',
|
|
131
155
|
otherwise: 'huk_kaqpi',
|
|
132
156
|
end: 'tukuy',
|
|
133
157
|
live: 'kawsay',
|
|
@@ -152,7 +176,7 @@ export const qu: Dictionary = {
|
|
|
152
176
|
values: {
|
|
153
177
|
true: 'cheqaq',
|
|
154
178
|
false: 'llulla',
|
|
155
|
-
null: '
|
|
179
|
+
null: 'chusaq',
|
|
156
180
|
undefined: 'mana_riqsisqa',
|
|
157
181
|
it: 'chay',
|
|
158
182
|
its: 'chaypaq',
|
|
@@ -192,12 +216,12 @@ export const qu: Dictionary = {
|
|
|
192
216
|
prev: 'ñawpaq',
|
|
193
217
|
at: 'pi',
|
|
194
218
|
random: 'imaymanata',
|
|
195
|
-
closest: '
|
|
219
|
+
closest: 'kaylla',
|
|
196
220
|
parent: 'mama_tayta',
|
|
197
221
|
children: 'wawakuna',
|
|
198
222
|
within: 'ukupi',
|
|
199
223
|
no: 'mana_kanchu',
|
|
200
|
-
empty: '
|
|
224
|
+
empty: 'chusaq',
|
|
201
225
|
some: 'wakin',
|
|
202
226
|
'starts with': 'qallarisqa wan',
|
|
203
227
|
'ends with': 'tukusqa wan',
|
package/src/dictionaries/ru.ts
CHANGED
|
@@ -7,7 +7,7 @@ export const russianDictionary: Dictionary = {
|
|
|
7
7
|
commands: {
|
|
8
8
|
on: 'при',
|
|
9
9
|
tell: 'сказать',
|
|
10
|
-
trigger: '
|
|
10
|
+
trigger: 'запустить', // auditor: dict emitted a word the profile reads differently
|
|
11
11
|
send: 'отправить',
|
|
12
12
|
take: 'взять',
|
|
13
13
|
put: 'положить',
|
|
@@ -18,8 +18,12 @@ export const russianDictionary: Dictionary = {
|
|
|
18
18
|
toggle: 'переключить',
|
|
19
19
|
hide: 'скрыть',
|
|
20
20
|
show: 'показать',
|
|
21
|
+
// command verb; the events section keeps the noun прокрутка for `on scroll`.
|
|
22
|
+
// Without this entry the transformer fell back to the event noun, which the
|
|
23
|
+
// parser doesn't read as the scroll command (#321 focus family).
|
|
24
|
+
scroll: 'прокрутить',
|
|
21
25
|
if: 'если',
|
|
22
|
-
unless: '
|
|
26
|
+
unless: 'кроме',
|
|
23
27
|
repeat: 'повторить',
|
|
24
28
|
for: 'для',
|
|
25
29
|
while: 'пока',
|
|
@@ -52,10 +56,10 @@ export const russianDictionary: Dictionary = {
|
|
|
52
56
|
swap: 'поменять',
|
|
53
57
|
morph: 'трансформировать',
|
|
54
58
|
settle: 'стабилизировать',
|
|
55
|
-
append: '
|
|
59
|
+
append: 'дописать', // profile alternative; the compound splits and добавить parses as add
|
|
56
60
|
exit: 'выйти',
|
|
57
61
|
else: 'иначе',
|
|
58
|
-
install: '
|
|
62
|
+
install: 'инсталлировать', // loanword — `установить` is `set` (homonym); see russian profile
|
|
59
63
|
init: 'инициализировать',
|
|
60
64
|
behavior: 'поведение',
|
|
61
65
|
focus: 'сфокусировать',
|
|
@@ -92,8 +96,11 @@ export const russianDictionary: Dictionary = {
|
|
|
92
96
|
events: {
|
|
93
97
|
click: 'клик',
|
|
94
98
|
dblclick: 'двойной_клик',
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
// Fused (no `_`): the semantic tokenizer splits on `_`, so an underscore form
|
|
100
|
+
// breaks event recognition (mousedown → bare expression). Mirrors the #510 tr
|
|
101
|
+
// resize fix (boyut_değiştir → boyutlandırma) and the enyakın superlative.
|
|
102
|
+
mousedown: 'мышьвниз',
|
|
103
|
+
mouseup: 'мышьвверх',
|
|
97
104
|
mouseenter: 'мышь_вход',
|
|
98
105
|
mouseleave: 'мышь_выход',
|
|
99
106
|
mouseover: 'наведение',
|
|
@@ -110,7 +117,7 @@ export const russianDictionary: Dictionary = {
|
|
|
110
117
|
reset: 'сброс',
|
|
111
118
|
load: 'загрузка',
|
|
112
119
|
unload: 'выгрузка',
|
|
113
|
-
resize: '
|
|
120
|
+
resize: 'изменениеразмера', // fused (no `_`) — see mousedown note above
|
|
114
121
|
scroll: 'прокрутка',
|
|
115
122
|
touchstart: 'касание_начало',
|
|
116
123
|
touchend: 'касание_конец',
|