@lokascript/i18n 1.0.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/README.md +286 -0
- package/dist/browser.cjs +7669 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +50 -0
- package/dist/browser.d.ts +50 -0
- package/dist/browser.js +7592 -0
- package/dist/browser.js.map +1 -0
- package/dist/hyperfixi-i18n.min.js +2 -0
- package/dist/hyperfixi-i18n.min.js.map +1 -0
- package/dist/hyperfixi-i18n.mjs +8558 -0
- package/dist/hyperfixi-i18n.mjs.map +1 -0
- package/dist/index.cjs +14205 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +947 -0
- package/dist/index.d.ts +947 -0
- package/dist/index.js +14095 -0
- package/dist/index.js.map +1 -0
- package/dist/transformer-Ckask-yw.d.cts +1041 -0
- package/dist/transformer-Ckask-yw.d.ts +1041 -0
- package/package.json +84 -0
- package/src/browser.ts +122 -0
- package/src/compatibility/browser-tests/grammar-demo.spec.ts +169 -0
- package/src/constants.ts +366 -0
- package/src/dictionaries/ar.ts +233 -0
- package/src/dictionaries/bn.ts +156 -0
- package/src/dictionaries/de.ts +233 -0
- package/src/dictionaries/derive.ts +515 -0
- package/src/dictionaries/en.ts +237 -0
- package/src/dictionaries/es.ts +233 -0
- package/src/dictionaries/fr.ts +233 -0
- package/src/dictionaries/hi.ts +270 -0
- package/src/dictionaries/id.ts +233 -0
- package/src/dictionaries/index.ts +238 -0
- package/src/dictionaries/it.ts +233 -0
- package/src/dictionaries/ja.ts +233 -0
- package/src/dictionaries/ko.ts +233 -0
- package/src/dictionaries/ms.ts +276 -0
- package/src/dictionaries/pl.ts +239 -0
- package/src/dictionaries/pt.ts +237 -0
- package/src/dictionaries/qu.ts +233 -0
- package/src/dictionaries/ru.ts +270 -0
- package/src/dictionaries/sw.ts +233 -0
- package/src/dictionaries/th.ts +156 -0
- package/src/dictionaries/tl.ts +276 -0
- package/src/dictionaries/tr.ts +233 -0
- package/src/dictionaries/uk.ts +270 -0
- package/src/dictionaries/vi.ts +210 -0
- package/src/dictionaries/zh.ts +233 -0
- package/src/enhanced-i18n.test.ts +454 -0
- package/src/enhanced-i18n.ts +713 -0
- package/src/examples/new-languages.ts +326 -0
- package/src/formatting.test.ts +213 -0
- package/src/formatting.ts +416 -0
- package/src/grammar/direct-mappings.ts +353 -0
- package/src/grammar/grammar.test.ts +1053 -0
- package/src/grammar/index.ts +59 -0
- package/src/grammar/profiles/index.ts +860 -0
- package/src/grammar/transformer.ts +1318 -0
- package/src/grammar/types.ts +630 -0
- package/src/index.ts +202 -0
- package/src/new-languages.test.ts +389 -0
- package/src/parser/analyze-conflicts.test.ts +229 -0
- package/src/parser/ar.ts +40 -0
- package/src/parser/create-provider.ts +309 -0
- package/src/parser/de.ts +36 -0
- package/src/parser/es.ts +31 -0
- package/src/parser/fr.ts +31 -0
- package/src/parser/id.ts +34 -0
- package/src/parser/index.ts +50 -0
- package/src/parser/ja.ts +36 -0
- package/src/parser/ko.ts +37 -0
- package/src/parser/locale-manager.test.ts +198 -0
- package/src/parser/locale-manager.ts +197 -0
- package/src/parser/parser-integration.test.ts +439 -0
- package/src/parser/pt.ts +37 -0
- package/src/parser/qu.ts +37 -0
- package/src/parser/sw.ts +37 -0
- package/src/parser/tr.ts +38 -0
- package/src/parser/types.ts +113 -0
- package/src/parser/zh.ts +38 -0
- package/src/plugins/vite.ts +224 -0
- package/src/plugins/webpack.ts +124 -0
- package/src/pluralization.test.ts +197 -0
- package/src/pluralization.ts +393 -0
- package/src/runtime.ts +441 -0
- package/src/ssr-integration.ts +225 -0
- package/src/test-setup.ts +195 -0
- package/src/translation-validation.test.ts +171 -0
- package/src/translator.test.ts +252 -0
- package/src/translator.ts +297 -0
- package/src/types.ts +209 -0
- package/src/utils/locale.ts +190 -0
- package/src/utils/tokenizer-adapter.ts +469 -0
- package/src/utils/tokenizer.ts +19 -0
- package/src/validators/index.ts +174 -0
- package/src/validators/schema.ts +129 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Russian Dictionary
|
|
3
|
+
*
|
|
4
|
+
* Translations for Russian language support.
|
|
5
|
+
* Uses infinitive verbs (common in software UIs).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { Dictionary } from '../types';
|
|
9
|
+
|
|
10
|
+
export const russianDictionary: Dictionary = {
|
|
11
|
+
commands: {
|
|
12
|
+
// Event handling
|
|
13
|
+
on: 'при',
|
|
14
|
+
tell: 'сказать',
|
|
15
|
+
trigger: 'вызвать',
|
|
16
|
+
send: 'отправить',
|
|
17
|
+
|
|
18
|
+
// DOM manipulation
|
|
19
|
+
take: 'взять',
|
|
20
|
+
put: 'положить',
|
|
21
|
+
set: 'установить',
|
|
22
|
+
get: 'получить',
|
|
23
|
+
add: 'добавить',
|
|
24
|
+
remove: 'удалить',
|
|
25
|
+
toggle: 'переключить',
|
|
26
|
+
hide: 'скрыть',
|
|
27
|
+
show: 'показать',
|
|
28
|
+
|
|
29
|
+
// Control flow
|
|
30
|
+
if: 'если',
|
|
31
|
+
unless: 'если_не',
|
|
32
|
+
repeat: 'повторить',
|
|
33
|
+
for: 'для',
|
|
34
|
+
while: 'пока',
|
|
35
|
+
until: 'до',
|
|
36
|
+
continue: 'продолжить',
|
|
37
|
+
break: 'прервать',
|
|
38
|
+
halt: 'остановить',
|
|
39
|
+
|
|
40
|
+
// Async
|
|
41
|
+
wait: 'ждать',
|
|
42
|
+
fetch: 'загрузить',
|
|
43
|
+
call: 'вызвать',
|
|
44
|
+
return: 'вернуть',
|
|
45
|
+
|
|
46
|
+
// Other commands
|
|
47
|
+
make: 'создать',
|
|
48
|
+
log: 'записать',
|
|
49
|
+
throw: 'бросить',
|
|
50
|
+
catch: 'поймать',
|
|
51
|
+
measure: 'измерить',
|
|
52
|
+
transition: 'анимировать',
|
|
53
|
+
|
|
54
|
+
// Data Commands
|
|
55
|
+
increment: 'увеличить',
|
|
56
|
+
decrement: 'уменьшить',
|
|
57
|
+
bind: 'связать',
|
|
58
|
+
default: 'по_умолчанию',
|
|
59
|
+
persist: 'сохранить',
|
|
60
|
+
|
|
61
|
+
// Navigation Commands
|
|
62
|
+
go: 'перейти',
|
|
63
|
+
pushUrl: 'добавить_url',
|
|
64
|
+
replaceUrl: 'заменить_url',
|
|
65
|
+
|
|
66
|
+
// Utility Commands
|
|
67
|
+
copy: 'копировать',
|
|
68
|
+
pick: 'выбрать',
|
|
69
|
+
beep: 'звук',
|
|
70
|
+
|
|
71
|
+
// Advanced Commands
|
|
72
|
+
js: 'js',
|
|
73
|
+
async: 'асинхронно',
|
|
74
|
+
render: 'отобразить',
|
|
75
|
+
|
|
76
|
+
// Animation Commands
|
|
77
|
+
swap: 'поменять',
|
|
78
|
+
morph: 'трансформировать',
|
|
79
|
+
settle: 'стабилизировать',
|
|
80
|
+
|
|
81
|
+
// Content Commands
|
|
82
|
+
append: 'добавить_в_конец',
|
|
83
|
+
|
|
84
|
+
// Control Flow
|
|
85
|
+
exit: 'выйти',
|
|
86
|
+
else: 'иначе',
|
|
87
|
+
|
|
88
|
+
// Behaviors
|
|
89
|
+
install: 'установить',
|
|
90
|
+
init: 'инициализировать',
|
|
91
|
+
behavior: 'поведение',
|
|
92
|
+
|
|
93
|
+
// Focus
|
|
94
|
+
focus: 'сфокусировать',
|
|
95
|
+
blur: 'размыть',
|
|
96
|
+
|
|
97
|
+
// Clone
|
|
98
|
+
clone: 'клонировать',
|
|
99
|
+
prepend: 'добавить_в_начало',
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
modifiers: {
|
|
103
|
+
to: 'к',
|
|
104
|
+
from: 'из',
|
|
105
|
+
into: 'в',
|
|
106
|
+
with: 'с',
|
|
107
|
+
at: 'у',
|
|
108
|
+
in: 'в',
|
|
109
|
+
of: 'из',
|
|
110
|
+
as: 'как',
|
|
111
|
+
by: 'на',
|
|
112
|
+
before: 'до',
|
|
113
|
+
after: 'после',
|
|
114
|
+
over: 'над',
|
|
115
|
+
under: 'под',
|
|
116
|
+
between: 'между',
|
|
117
|
+
through: 'через',
|
|
118
|
+
without: 'без',
|
|
119
|
+
on: 'на',
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
events: {
|
|
123
|
+
click: 'клик',
|
|
124
|
+
dblclick: 'двойной_клик',
|
|
125
|
+
mousedown: 'мышь_вниз',
|
|
126
|
+
mouseup: 'мышь_вверх',
|
|
127
|
+
mouseenter: 'мышь_вход',
|
|
128
|
+
mouseleave: 'мышь_выход',
|
|
129
|
+
mouseover: 'наведение',
|
|
130
|
+
mouseout: 'уход',
|
|
131
|
+
mousemove: 'движение_мыши',
|
|
132
|
+
|
|
133
|
+
keydown: 'клавиша_вниз',
|
|
134
|
+
keyup: 'клавиша_вверх',
|
|
135
|
+
keypress: 'нажатие_клавиши',
|
|
136
|
+
|
|
137
|
+
focus: 'фокус',
|
|
138
|
+
blur: 'потеря_фокуса',
|
|
139
|
+
change: 'изменение',
|
|
140
|
+
input: 'ввод',
|
|
141
|
+
submit: 'отправка',
|
|
142
|
+
reset: 'сброс',
|
|
143
|
+
|
|
144
|
+
load: 'загрузка',
|
|
145
|
+
unload: 'выгрузка',
|
|
146
|
+
resize: 'изменение_размера',
|
|
147
|
+
scroll: 'прокрутка',
|
|
148
|
+
|
|
149
|
+
touchstart: 'касание_начало',
|
|
150
|
+
touchend: 'касание_конец',
|
|
151
|
+
touchmove: 'касание_движение',
|
|
152
|
+
touchcancel: 'касание_отмена',
|
|
153
|
+
},
|
|
154
|
+
|
|
155
|
+
logical: {
|
|
156
|
+
when: 'когда',
|
|
157
|
+
where: 'где',
|
|
158
|
+
and: 'и',
|
|
159
|
+
or: 'или',
|
|
160
|
+
not: 'не',
|
|
161
|
+
is: 'есть',
|
|
162
|
+
exists: 'существует',
|
|
163
|
+
matches: 'соответствует',
|
|
164
|
+
contains: 'содержит',
|
|
165
|
+
includes: 'включает',
|
|
166
|
+
equals: 'равно',
|
|
167
|
+
then: 'затем',
|
|
168
|
+
else: 'иначе',
|
|
169
|
+
otherwise: 'в_противном_случае',
|
|
170
|
+
end: 'конец',
|
|
171
|
+
has: 'имеет', // third-person: он/она имеет
|
|
172
|
+
have: 'имею', // first-person: я имею
|
|
173
|
+
isNot: 'не_есть',
|
|
174
|
+
empty: 'пустой',
|
|
175
|
+
},
|
|
176
|
+
|
|
177
|
+
temporal: {
|
|
178
|
+
seconds: 'секунд',
|
|
179
|
+
second: 'секунда',
|
|
180
|
+
milliseconds: 'миллисекунд',
|
|
181
|
+
millisecond: 'миллисекунда',
|
|
182
|
+
minutes: 'минут',
|
|
183
|
+
minute: 'минута',
|
|
184
|
+
hours: 'часов',
|
|
185
|
+
hour: 'час',
|
|
186
|
+
ms: 'мс',
|
|
187
|
+
s: 'с',
|
|
188
|
+
min: 'мин',
|
|
189
|
+
h: 'ч',
|
|
190
|
+
forever: 'всегда',
|
|
191
|
+
once: 'однажды',
|
|
192
|
+
every: 'каждый',
|
|
193
|
+
until: 'до',
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
values: {
|
|
197
|
+
true: 'истина',
|
|
198
|
+
false: 'ложь',
|
|
199
|
+
null: 'ничего',
|
|
200
|
+
undefined: 'неопределено',
|
|
201
|
+
it: 'это',
|
|
202
|
+
its: 'его',
|
|
203
|
+
me: 'я',
|
|
204
|
+
my: 'мой',
|
|
205
|
+
you: 'ты',
|
|
206
|
+
your: 'твой',
|
|
207
|
+
yourself: 'сам',
|
|
208
|
+
myself: 'я_сам',
|
|
209
|
+
element: 'элемент',
|
|
210
|
+
target: 'цель',
|
|
211
|
+
detail: 'детали',
|
|
212
|
+
event: 'событие',
|
|
213
|
+
window: 'окно',
|
|
214
|
+
document: 'документ',
|
|
215
|
+
body: 'тело',
|
|
216
|
+
result: 'результат',
|
|
217
|
+
value: 'значение',
|
|
218
|
+
first: 'первый',
|
|
219
|
+
last: 'последний',
|
|
220
|
+
next: 'следующий',
|
|
221
|
+
previous: 'предыдущий',
|
|
222
|
+
closest: 'ближайший',
|
|
223
|
+
parent: 'родитель',
|
|
224
|
+
},
|
|
225
|
+
|
|
226
|
+
attributes: {
|
|
227
|
+
class: 'класс',
|
|
228
|
+
classes: 'классы',
|
|
229
|
+
style: 'стиль',
|
|
230
|
+
styles: 'стили',
|
|
231
|
+
attribute: 'атрибут',
|
|
232
|
+
attributes: 'атрибуты',
|
|
233
|
+
property: 'свойство',
|
|
234
|
+
properties: 'свойства',
|
|
235
|
+
disabled: 'отключено',
|
|
236
|
+
hidden: 'скрыто',
|
|
237
|
+
checked: 'отмечено',
|
|
238
|
+
selected: 'выбрано',
|
|
239
|
+
readonly: 'только_чтение',
|
|
240
|
+
required: 'обязательно',
|
|
241
|
+
text: 'текст',
|
|
242
|
+
html: 'html',
|
|
243
|
+
},
|
|
244
|
+
|
|
245
|
+
expressions: {
|
|
246
|
+
// Positional
|
|
247
|
+
first: 'первый',
|
|
248
|
+
last: 'последний',
|
|
249
|
+
next: 'следующий',
|
|
250
|
+
previous: 'предыдущий',
|
|
251
|
+
prev: 'пред',
|
|
252
|
+
at: 'в',
|
|
253
|
+
random: 'случайный',
|
|
254
|
+
|
|
255
|
+
// DOM Traversal
|
|
256
|
+
closest: 'ближайший',
|
|
257
|
+
parent: 'родитель',
|
|
258
|
+
children: 'дети',
|
|
259
|
+
within: 'внутри',
|
|
260
|
+
|
|
261
|
+
// Emptiness/Existence
|
|
262
|
+
no: 'нет',
|
|
263
|
+
empty: 'пустой',
|
|
264
|
+
some: 'некоторые',
|
|
265
|
+
|
|
266
|
+
// String operations
|
|
267
|
+
'starts with': 'начинается_с',
|
|
268
|
+
'ends with': 'заканчивается_на',
|
|
269
|
+
},
|
|
270
|
+
};
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
// packages/i18n/src/dictionaries/sw.ts
|
|
2
|
+
|
|
3
|
+
import { Dictionary } from '../types';
|
|
4
|
+
|
|
5
|
+
export const sw: Dictionary = {
|
|
6
|
+
commands: {
|
|
7
|
+
// Event handling
|
|
8
|
+
on: 'kwenye',
|
|
9
|
+
tell: 'ambia',
|
|
10
|
+
trigger: 'chochea',
|
|
11
|
+
send: 'tuma',
|
|
12
|
+
|
|
13
|
+
// DOM manipulation
|
|
14
|
+
take: 'chukua',
|
|
15
|
+
put: 'weka',
|
|
16
|
+
set: 'weka',
|
|
17
|
+
get: 'pata',
|
|
18
|
+
add: 'ongeza',
|
|
19
|
+
remove: 'ondoa',
|
|
20
|
+
toggle: 'badilisha',
|
|
21
|
+
hide: 'ficha',
|
|
22
|
+
show: 'onyesha',
|
|
23
|
+
|
|
24
|
+
// Control flow
|
|
25
|
+
if: 'kama',
|
|
26
|
+
unless: 'isipokuwa',
|
|
27
|
+
repeat: 'rudia',
|
|
28
|
+
for: 'kwa',
|
|
29
|
+
while: 'wakati',
|
|
30
|
+
until: 'hadi',
|
|
31
|
+
continue: 'endelea',
|
|
32
|
+
break: 'vunja',
|
|
33
|
+
halt: 'simama',
|
|
34
|
+
|
|
35
|
+
// Async
|
|
36
|
+
wait: 'ngoja',
|
|
37
|
+
fetch: 'leta',
|
|
38
|
+
call: 'ita',
|
|
39
|
+
return: 'rudi',
|
|
40
|
+
|
|
41
|
+
// Other commands
|
|
42
|
+
make: 'fanya',
|
|
43
|
+
log: 'andika',
|
|
44
|
+
throw: 'tupa',
|
|
45
|
+
catch: 'shika',
|
|
46
|
+
measure: 'pima',
|
|
47
|
+
transition: 'mpito',
|
|
48
|
+
|
|
49
|
+
// Data Commands
|
|
50
|
+
increment: 'ongeza',
|
|
51
|
+
decrement: 'punguza',
|
|
52
|
+
bind: 'funga',
|
|
53
|
+
default: 'msingi',
|
|
54
|
+
persist: 'hifadhi',
|
|
55
|
+
|
|
56
|
+
// Navigation Commands
|
|
57
|
+
go: 'nenda',
|
|
58
|
+
pushUrl: 'sukumaUrl',
|
|
59
|
+
replaceUrl: 'badilishaUrl',
|
|
60
|
+
|
|
61
|
+
// Utility Commands
|
|
62
|
+
copy: 'nakili',
|
|
63
|
+
pick: 'chagua',
|
|
64
|
+
beep: 'lia',
|
|
65
|
+
|
|
66
|
+
// Advanced Commands
|
|
67
|
+
js: 'js',
|
|
68
|
+
async: 'sainkroni',
|
|
69
|
+
render: 'chora',
|
|
70
|
+
|
|
71
|
+
// Animation Commands
|
|
72
|
+
swap: 'badilishana',
|
|
73
|
+
morph: 'badilishaUmbo',
|
|
74
|
+
settle: 'tulia',
|
|
75
|
+
|
|
76
|
+
// Content Commands
|
|
77
|
+
append: 'ongezaMwisho',
|
|
78
|
+
|
|
79
|
+
// Control Flow
|
|
80
|
+
exit: 'toka',
|
|
81
|
+
|
|
82
|
+
// Behaviors
|
|
83
|
+
install: 'sakinisha',
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
modifiers: {
|
|
87
|
+
to: 'kwa',
|
|
88
|
+
from: 'kutoka',
|
|
89
|
+
into: 'ndani',
|
|
90
|
+
with: 'na',
|
|
91
|
+
at: 'katika',
|
|
92
|
+
in: 'ndani',
|
|
93
|
+
of: 'ya',
|
|
94
|
+
as: 'kama',
|
|
95
|
+
by: 'na',
|
|
96
|
+
before: 'kabla',
|
|
97
|
+
after: 'baada',
|
|
98
|
+
over: 'juu',
|
|
99
|
+
under: 'chini',
|
|
100
|
+
between: 'kati',
|
|
101
|
+
through: 'kupitia',
|
|
102
|
+
without: 'bila',
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
events: {
|
|
106
|
+
click: 'bonyeza',
|
|
107
|
+
dblclick: 'bonyeza_mara_mbili',
|
|
108
|
+
mousedown: 'panya_shuka',
|
|
109
|
+
mouseup: 'panya_juu',
|
|
110
|
+
mouseenter: 'panya_ingia',
|
|
111
|
+
mouseleave: 'panya_toka',
|
|
112
|
+
mouseover: 'panya_juu',
|
|
113
|
+
mouseout: 'panya_nje',
|
|
114
|
+
mousemove: 'panya_sogea',
|
|
115
|
+
|
|
116
|
+
keydown: 'kitufe_shuka',
|
|
117
|
+
keyup: 'kitufe_juu',
|
|
118
|
+
keypress: 'kitufe_bonyeza',
|
|
119
|
+
|
|
120
|
+
focus: 'zingatia',
|
|
121
|
+
blur: 'poteza_macho',
|
|
122
|
+
change: 'badilisha',
|
|
123
|
+
input: 'ingizo',
|
|
124
|
+
submit: 'wasilisha',
|
|
125
|
+
reset: 'weka_upya',
|
|
126
|
+
|
|
127
|
+
load: 'pakia',
|
|
128
|
+
unload: 'shuka',
|
|
129
|
+
resize: 'badilisha_ukubwa',
|
|
130
|
+
scroll: 'sogeza',
|
|
131
|
+
|
|
132
|
+
touchstart: 'gusa_anza',
|
|
133
|
+
touchend: 'gusa_mwisho',
|
|
134
|
+
touchmove: 'gusa_sogea',
|
|
135
|
+
touchcancel: 'gusa_ghairi',
|
|
136
|
+
},
|
|
137
|
+
|
|
138
|
+
logical: {
|
|
139
|
+
when: 'wakati',
|
|
140
|
+
where: 'wapi',
|
|
141
|
+
and: 'na',
|
|
142
|
+
or: 'au',
|
|
143
|
+
not: 'si',
|
|
144
|
+
is: 'ni',
|
|
145
|
+
exists: 'ipo',
|
|
146
|
+
matches: 'inafanana',
|
|
147
|
+
contains: 'ina',
|
|
148
|
+
includes: 'pamoja',
|
|
149
|
+
equals: 'sawa',
|
|
150
|
+
has: 'ana', // third-person: yeye ana
|
|
151
|
+
have: 'nina', // first-person: mimi nina
|
|
152
|
+
then: 'kisha',
|
|
153
|
+
else: 'sivyo',
|
|
154
|
+
otherwise: 'vinginevyo',
|
|
155
|
+
end: 'mwisho',
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
temporal: {
|
|
159
|
+
seconds: 'sekunde',
|
|
160
|
+
second: 'sekunde',
|
|
161
|
+
milliseconds: 'millisekunde',
|
|
162
|
+
millisecond: 'millisekunde',
|
|
163
|
+
minutes: 'dakika',
|
|
164
|
+
minute: 'dakika',
|
|
165
|
+
hours: 'masaa',
|
|
166
|
+
hour: 'saa',
|
|
167
|
+
ms: 'ms',
|
|
168
|
+
s: 's',
|
|
169
|
+
min: 'dk',
|
|
170
|
+
h: 'sa',
|
|
171
|
+
},
|
|
172
|
+
|
|
173
|
+
values: {
|
|
174
|
+
true: 'kweli',
|
|
175
|
+
false: 'uongo',
|
|
176
|
+
null: 'tupu',
|
|
177
|
+
undefined: 'haijafafanuliwa',
|
|
178
|
+
it: 'hiyo',
|
|
179
|
+
its: 'yake', // REVIEW: native speaker
|
|
180
|
+
me: 'mimi',
|
|
181
|
+
my: 'yangu',
|
|
182
|
+
myself: 'mimi mwenyewe',
|
|
183
|
+
you: 'wewe', // REVIEW: native speaker
|
|
184
|
+
your: 'yako', // REVIEW: native speaker
|
|
185
|
+
yourself: 'wewe mwenyewe', // REVIEW: native speaker
|
|
186
|
+
element: 'kipengele',
|
|
187
|
+
target: 'lengo',
|
|
188
|
+
detail: 'maelezo',
|
|
189
|
+
event: 'tukio',
|
|
190
|
+
window: 'dirisha',
|
|
191
|
+
document: 'hati',
|
|
192
|
+
body: 'mwili',
|
|
193
|
+
result: 'matokeo',
|
|
194
|
+
value: 'thamani',
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
attributes: {
|
|
198
|
+
class: 'darasa',
|
|
199
|
+
classes: 'madarasa',
|
|
200
|
+
style: 'mtindo',
|
|
201
|
+
styles: 'mitindo',
|
|
202
|
+
attribute: 'sifa',
|
|
203
|
+
attributes: 'sifa',
|
|
204
|
+
property: 'mali',
|
|
205
|
+
properties: 'mali',
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
expressions: {
|
|
209
|
+
// Positional
|
|
210
|
+
first: 'kwanza',
|
|
211
|
+
last: 'mwisho',
|
|
212
|
+
next: 'ijayo',
|
|
213
|
+
previous: 'iliyopita',
|
|
214
|
+
prev: 'awali',
|
|
215
|
+
at: 'katika',
|
|
216
|
+
random: 'nasibu',
|
|
217
|
+
|
|
218
|
+
// DOM Traversal
|
|
219
|
+
closest: 'karibu_zaidi',
|
|
220
|
+
parent: 'mzazi',
|
|
221
|
+
children: 'watoto',
|
|
222
|
+
within: 'ndani_ya',
|
|
223
|
+
|
|
224
|
+
// Emptiness/Existence
|
|
225
|
+
no: 'hakuna',
|
|
226
|
+
empty: 'tupu',
|
|
227
|
+
some: 'baadhi',
|
|
228
|
+
|
|
229
|
+
// String operations
|
|
230
|
+
'starts with': 'huanza na',
|
|
231
|
+
'ends with': 'huisha na',
|
|
232
|
+
},
|
|
233
|
+
};
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thai Dictionary
|
|
3
|
+
*
|
|
4
|
+
* Thai translations for hyperscript keywords.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Dictionary } from '../types';
|
|
8
|
+
|
|
9
|
+
export const thaiDictionary: Dictionary = {
|
|
10
|
+
commands: {
|
|
11
|
+
on: 'เมื่อ',
|
|
12
|
+
toggle: 'สลับ',
|
|
13
|
+
add: 'เพิ่ม',
|
|
14
|
+
remove: 'ลบ',
|
|
15
|
+
set: 'ตั้ง',
|
|
16
|
+
get: 'รับค่า',
|
|
17
|
+
put: 'ใส่',
|
|
18
|
+
take: 'รับ',
|
|
19
|
+
show: 'แสดง',
|
|
20
|
+
hide: 'ซ่อน',
|
|
21
|
+
increment: 'เพิ่มค่า',
|
|
22
|
+
decrement: 'ลดค่า',
|
|
23
|
+
if: 'ถ้า',
|
|
24
|
+
else: 'ไม่งั้น',
|
|
25
|
+
repeat: 'ทำซ้ำ',
|
|
26
|
+
for: 'สำหรับ',
|
|
27
|
+
while: 'ในขณะที่',
|
|
28
|
+
wait: 'รอ',
|
|
29
|
+
fetch: 'ดึงข้อมูล',
|
|
30
|
+
call: 'เรียก',
|
|
31
|
+
return: 'คืนค่า',
|
|
32
|
+
log: 'บันทึก',
|
|
33
|
+
trigger: 'ทริกเกอร์',
|
|
34
|
+
send: 'ส่ง',
|
|
35
|
+
go: 'ไป',
|
|
36
|
+
halt: 'หยุด',
|
|
37
|
+
throw: 'โยน',
|
|
38
|
+
continue: 'ต่อไป',
|
|
39
|
+
make: 'สร้าง',
|
|
40
|
+
append: 'เพิ่มท้าย',
|
|
41
|
+
prepend: 'เพิ่มหน้า',
|
|
42
|
+
focus: 'โฟกัส',
|
|
43
|
+
blur: 'เบลอ',
|
|
44
|
+
transition: 'เปลี่ยน',
|
|
45
|
+
settle: 'คงที่',
|
|
46
|
+
measure: 'วัด',
|
|
47
|
+
async: 'อะซิงค์',
|
|
48
|
+
tell: 'บอก',
|
|
49
|
+
default: 'ค่าเริ่มต้น',
|
|
50
|
+
init: 'เริ่มต้น',
|
|
51
|
+
behavior: 'พฤติกรรม',
|
|
52
|
+
install: 'ติดตั้ง',
|
|
53
|
+
clone: 'คัดลอก',
|
|
54
|
+
swap: 'สลับที่',
|
|
55
|
+
morph: 'แปลงร่าง',
|
|
56
|
+
},
|
|
57
|
+
modifiers: {
|
|
58
|
+
to: 'ไปยัง',
|
|
59
|
+
from: 'จาก',
|
|
60
|
+
into: 'ใน',
|
|
61
|
+
on: 'เมื่อ',
|
|
62
|
+
with: 'ด้วย',
|
|
63
|
+
by: 'โดย',
|
|
64
|
+
as: 'เป็น',
|
|
65
|
+
before: 'ก่อน',
|
|
66
|
+
after: 'หลัง',
|
|
67
|
+
at: 'ที่',
|
|
68
|
+
in: 'ใน',
|
|
69
|
+
over: 'เหนือ',
|
|
70
|
+
then: 'แล้ว',
|
|
71
|
+
and: 'และ',
|
|
72
|
+
end: 'จบ',
|
|
73
|
+
until: 'จนถึง',
|
|
74
|
+
of: 'ของ',
|
|
75
|
+
},
|
|
76
|
+
events: {
|
|
77
|
+
click: 'คลิก',
|
|
78
|
+
change: 'เปลี่ยนแปลง',
|
|
79
|
+
input: 'อินพุต',
|
|
80
|
+
submit: 'ส่ง',
|
|
81
|
+
load: 'โหลด',
|
|
82
|
+
focus: 'โฟกัส',
|
|
83
|
+
blur: 'เบลอ',
|
|
84
|
+
keydown: 'กดคีย์',
|
|
85
|
+
keyup: 'ปล่อยคีย์',
|
|
86
|
+
mouseover: 'เมาส์เข้า',
|
|
87
|
+
mouseout: 'เมาส์ออก',
|
|
88
|
+
scroll: 'เลื่อน',
|
|
89
|
+
resize: 'ปรับขนาด',
|
|
90
|
+
every: 'ทุก',
|
|
91
|
+
},
|
|
92
|
+
logical: {
|
|
93
|
+
if: 'ถ้า',
|
|
94
|
+
when: 'เมื่อ',
|
|
95
|
+
where: 'ที่ไหน',
|
|
96
|
+
else: 'ไม่งั้น',
|
|
97
|
+
not: 'ไม่',
|
|
98
|
+
and: 'และ',
|
|
99
|
+
or: 'หรือ',
|
|
100
|
+
is: 'เป็น',
|
|
101
|
+
exists: 'มีอยู่',
|
|
102
|
+
has: 'มี', // possession verb (context-based)
|
|
103
|
+
have: 'มี', // same for first/third person
|
|
104
|
+
empty: 'ว่าง',
|
|
105
|
+
true: 'จริง',
|
|
106
|
+
false: 'เท็จ',
|
|
107
|
+
null: 'ว่าง',
|
|
108
|
+
undefined: 'ไม่กำหนด',
|
|
109
|
+
},
|
|
110
|
+
temporal: {
|
|
111
|
+
now: 'ตอนนี้',
|
|
112
|
+
seconds: 'วินาที',
|
|
113
|
+
milliseconds: 'มิลลิวินาที',
|
|
114
|
+
minutes: 'นาที',
|
|
115
|
+
hours: 'ชั่วโมง',
|
|
116
|
+
forever: 'ตลอดไป',
|
|
117
|
+
times: 'ครั้ง',
|
|
118
|
+
s: 'วิ',
|
|
119
|
+
ms: 'มว',
|
|
120
|
+
},
|
|
121
|
+
values: {
|
|
122
|
+
me: 'ฉัน',
|
|
123
|
+
my: 'ของฉัน',
|
|
124
|
+
it: 'มัน',
|
|
125
|
+
its: 'ของมัน',
|
|
126
|
+
result: 'ผลลัพธ์',
|
|
127
|
+
event: 'เหตุการณ์',
|
|
128
|
+
target: 'เป้าหมาย',
|
|
129
|
+
body: 'บอดี้',
|
|
130
|
+
},
|
|
131
|
+
attributes: {
|
|
132
|
+
class: 'คลาส',
|
|
133
|
+
id: 'ไอดี',
|
|
134
|
+
style: 'สไตล์',
|
|
135
|
+
value: 'ค่า',
|
|
136
|
+
text: 'ข้อความ',
|
|
137
|
+
html: 'เอชทีเอ็มแอล',
|
|
138
|
+
disabled: 'ปิดใช้งาน',
|
|
139
|
+
checked: 'เลือกแล้ว',
|
|
140
|
+
},
|
|
141
|
+
expressions: {
|
|
142
|
+
first: 'แรก',
|
|
143
|
+
last: 'สุดท้าย',
|
|
144
|
+
next: 'ถัดไป',
|
|
145
|
+
previous: 'ก่อนหน้า',
|
|
146
|
+
closest: 'ใกล้สุด',
|
|
147
|
+
parent: 'ต้นทาง',
|
|
148
|
+
children: 'ลูก',
|
|
149
|
+
random: 'สุ่ม',
|
|
150
|
+
length: 'ความยาว',
|
|
151
|
+
index: 'ดัชนี',
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
// Default export alias
|
|
156
|
+
export const th = thaiDictionary;
|