@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
|
+
* Ukrainian Dictionary
|
|
3
|
+
*
|
|
4
|
+
* Translations for Ukrainian language support.
|
|
5
|
+
* Uses infinitive verbs (common in software UIs).
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { Dictionary } from '../types';
|
|
9
|
+
|
|
10
|
+
export const ukrainianDictionary: 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,210 @@
|
|
|
1
|
+
// packages/i18n/src/dictionaries/vi.ts
|
|
2
|
+
|
|
3
|
+
import { Dictionary } from '../types';
|
|
4
|
+
|
|
5
|
+
export const vi: Dictionary = {
|
|
6
|
+
commands: {
|
|
7
|
+
// Event handling
|
|
8
|
+
on: 'khi',
|
|
9
|
+
tell: 'nói với',
|
|
10
|
+
trigger: 'kích hoạt',
|
|
11
|
+
send: 'gửi',
|
|
12
|
+
|
|
13
|
+
// DOM manipulation
|
|
14
|
+
take: 'lấy',
|
|
15
|
+
put: 'đặt',
|
|
16
|
+
set: 'gán',
|
|
17
|
+
get: 'lấy giá trị',
|
|
18
|
+
add: 'thêm',
|
|
19
|
+
remove: 'xóa',
|
|
20
|
+
toggle: 'chuyển đổi',
|
|
21
|
+
hide: 'ẩn',
|
|
22
|
+
show: 'hiển thị',
|
|
23
|
+
|
|
24
|
+
// Control flow
|
|
25
|
+
if: 'nếu',
|
|
26
|
+
unless: 'trừ khi',
|
|
27
|
+
repeat: 'lặp lại',
|
|
28
|
+
for: 'với mỗi',
|
|
29
|
+
while: 'trong khi',
|
|
30
|
+
until: 'cho đến khi',
|
|
31
|
+
continue: 'tiếp tục',
|
|
32
|
+
break: 'dừng',
|
|
33
|
+
halt: 'dừng lại',
|
|
34
|
+
|
|
35
|
+
// Async
|
|
36
|
+
wait: 'chờ',
|
|
37
|
+
fetch: 'tải',
|
|
38
|
+
call: 'gọi',
|
|
39
|
+
return: 'trả về',
|
|
40
|
+
|
|
41
|
+
// Other commands
|
|
42
|
+
make: 'tạo',
|
|
43
|
+
log: 'in ra',
|
|
44
|
+
throw: 'ném',
|
|
45
|
+
catch: 'bắt',
|
|
46
|
+
measure: 'đo lường',
|
|
47
|
+
transition: 'chuyển tiếp',
|
|
48
|
+
|
|
49
|
+
// Data Commands
|
|
50
|
+
increment: 'tăng',
|
|
51
|
+
decrement: 'giảm',
|
|
52
|
+
bind: 'ràng buộc',
|
|
53
|
+
default: 'mặc định',
|
|
54
|
+
persist: 'duy trì',
|
|
55
|
+
|
|
56
|
+
// Navigation Commands
|
|
57
|
+
go: 'đi đến',
|
|
58
|
+
pushUrl: 'pushUrl',
|
|
59
|
+
replaceUrl: 'thayThếUrl',
|
|
60
|
+
|
|
61
|
+
// Utility Commands
|
|
62
|
+
copy: 'sao chép',
|
|
63
|
+
pick: 'chọn',
|
|
64
|
+
beep: 'beep',
|
|
65
|
+
|
|
66
|
+
// Advanced Commands
|
|
67
|
+
js: 'js',
|
|
68
|
+
async: 'bất đồng bộ',
|
|
69
|
+
render: 'hiển thị',
|
|
70
|
+
|
|
71
|
+
// Animation Commands
|
|
72
|
+
swap: 'hoán đổi',
|
|
73
|
+
morph: 'biến đổi',
|
|
74
|
+
settle: 'ổn định',
|
|
75
|
+
|
|
76
|
+
// Content Commands
|
|
77
|
+
append: 'nối',
|
|
78
|
+
|
|
79
|
+
// Control Flow
|
|
80
|
+
exit: 'thoát',
|
|
81
|
+
|
|
82
|
+
// Focus
|
|
83
|
+
focus: 'tập trung',
|
|
84
|
+
blur: 'mất tập trung',
|
|
85
|
+
|
|
86
|
+
// Additional
|
|
87
|
+
init: 'khởi tạo',
|
|
88
|
+
behavior: 'hành vi',
|
|
89
|
+
install: 'cài đặt',
|
|
90
|
+
clone: 'sao chép',
|
|
91
|
+
prepend: 'thêm đầu',
|
|
92
|
+
else: 'không thì',
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
modifiers: {
|
|
96
|
+
into: 'vào',
|
|
97
|
+
before: 'trước',
|
|
98
|
+
after: 'sau',
|
|
99
|
+
then: 'rồi',
|
|
100
|
+
end: 'kết thúc',
|
|
101
|
+
from: 'từ',
|
|
102
|
+
to: 'đến',
|
|
103
|
+
with: 'với',
|
|
104
|
+
as: 'như',
|
|
105
|
+
by: 'bởi',
|
|
106
|
+
on: 'trên',
|
|
107
|
+
in: 'trong',
|
|
108
|
+
at: 'tại',
|
|
109
|
+
of: 'của',
|
|
110
|
+
the: '',
|
|
111
|
+
times: 'lần',
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
events: {
|
|
115
|
+
click: 'nhấp',
|
|
116
|
+
dblclick: 'nhấp đúp',
|
|
117
|
+
input: 'nhập',
|
|
118
|
+
change: 'thay đổi',
|
|
119
|
+
submit: 'gửi',
|
|
120
|
+
keydown: 'phím xuống',
|
|
121
|
+
keyup: 'phím lên',
|
|
122
|
+
keypress: 'nhấn phím',
|
|
123
|
+
mouseover: 'chuột vào',
|
|
124
|
+
mouseout: 'chuột ra',
|
|
125
|
+
mouseenter: 'chuột vào',
|
|
126
|
+
mouseleave: 'chuột rời',
|
|
127
|
+
focus: 'tập trung',
|
|
128
|
+
blur: 'mất tập trung',
|
|
129
|
+
load: 'tải',
|
|
130
|
+
scroll: 'cuộn',
|
|
131
|
+
resize: 'đổi kích thước',
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
logical: {
|
|
135
|
+
when: 'khi',
|
|
136
|
+
where: 'ở_đâu',
|
|
137
|
+
and: 'và',
|
|
138
|
+
or: 'hoặc',
|
|
139
|
+
not: 'không',
|
|
140
|
+
is: 'là',
|
|
141
|
+
equals: 'bằng',
|
|
142
|
+
contains: 'chứa',
|
|
143
|
+
matches: 'khớp',
|
|
144
|
+
exists: 'tồn tại',
|
|
145
|
+
has: 'có', // possession verb (context-based)
|
|
146
|
+
have: 'có', // same for first/third person
|
|
147
|
+
empty: 'trống',
|
|
148
|
+
true: 'đúng',
|
|
149
|
+
false: 'sai',
|
|
150
|
+
null: 'rỗng',
|
|
151
|
+
},
|
|
152
|
+
|
|
153
|
+
temporal: {
|
|
154
|
+
now: 'bây giờ',
|
|
155
|
+
today: 'hôm nay',
|
|
156
|
+
tomorrow: 'ngày mai',
|
|
157
|
+
yesterday: 'hôm qua',
|
|
158
|
+
always: 'luôn luôn',
|
|
159
|
+
never: 'không bao giờ',
|
|
160
|
+
sometimes: 'đôi khi',
|
|
161
|
+
once: 'một lần',
|
|
162
|
+
twice: 'hai lần',
|
|
163
|
+
forever: 'mãi mãi',
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
values: {
|
|
167
|
+
true: 'đúng',
|
|
168
|
+
false: 'sai',
|
|
169
|
+
null: 'rỗng',
|
|
170
|
+
undefined: 'không xác định',
|
|
171
|
+
none: 'không có',
|
|
172
|
+
all: 'tất cả',
|
|
173
|
+
any: 'bất kỳ',
|
|
174
|
+
some: 'một số',
|
|
175
|
+
each: 'mỗi',
|
|
176
|
+
every: 'tất cả',
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
attributes: {
|
|
180
|
+
id: 'id',
|
|
181
|
+
class: 'lớp',
|
|
182
|
+
style: 'kiểu',
|
|
183
|
+
value: 'giá trị',
|
|
184
|
+
text: 'văn bản',
|
|
185
|
+
html: 'html',
|
|
186
|
+
src: 'nguồn',
|
|
187
|
+
href: 'liên kết',
|
|
188
|
+
disabled: 'vô hiệu',
|
|
189
|
+
hidden: 'ẩn',
|
|
190
|
+
checked: 'được chọn',
|
|
191
|
+
selected: 'được chọn',
|
|
192
|
+
},
|
|
193
|
+
|
|
194
|
+
expressions: {
|
|
195
|
+
me: 'tôi',
|
|
196
|
+
my: 'của tôi',
|
|
197
|
+
it: 'nó',
|
|
198
|
+
its: 'của nó',
|
|
199
|
+
result: 'kết quả',
|
|
200
|
+
event: 'sự kiện',
|
|
201
|
+
target: 'mục tiêu',
|
|
202
|
+
first: 'đầu tiên',
|
|
203
|
+
last: 'cuối cùng',
|
|
204
|
+
next: 'tiếp theo',
|
|
205
|
+
previous: 'trước đó',
|
|
206
|
+
parent: 'cha',
|
|
207
|
+
children: 'con',
|
|
208
|
+
closest: 'gần nhất',
|
|
209
|
+
},
|
|
210
|
+
};
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
// packages/i18n/src/dictionaries/zh.ts
|
|
2
|
+
|
|
3
|
+
import { Dictionary } from '../types';
|
|
4
|
+
|
|
5
|
+
export const zh: Dictionary = {
|
|
6
|
+
commands: {
|
|
7
|
+
// Event handling
|
|
8
|
+
on: '当',
|
|
9
|
+
tell: '告诉',
|
|
10
|
+
trigger: '触发',
|
|
11
|
+
send: '发送',
|
|
12
|
+
|
|
13
|
+
// DOM manipulation
|
|
14
|
+
take: '获取',
|
|
15
|
+
put: '放置',
|
|
16
|
+
set: '设置',
|
|
17
|
+
get: '获得',
|
|
18
|
+
add: '添加',
|
|
19
|
+
remove: '移除',
|
|
20
|
+
toggle: '切换',
|
|
21
|
+
hide: '隐藏',
|
|
22
|
+
show: '显示',
|
|
23
|
+
|
|
24
|
+
// Control flow
|
|
25
|
+
if: '如果',
|
|
26
|
+
unless: '除非',
|
|
27
|
+
repeat: '重复',
|
|
28
|
+
for: '为',
|
|
29
|
+
while: '当',
|
|
30
|
+
until: '直到',
|
|
31
|
+
continue: '继续',
|
|
32
|
+
break: '中断',
|
|
33
|
+
halt: '停止',
|
|
34
|
+
|
|
35
|
+
// Async
|
|
36
|
+
wait: '等待',
|
|
37
|
+
fetch: '获取',
|
|
38
|
+
call: '调用',
|
|
39
|
+
return: '返回',
|
|
40
|
+
|
|
41
|
+
// Other commands
|
|
42
|
+
make: '制作',
|
|
43
|
+
log: '日志',
|
|
44
|
+
throw: '抛出',
|
|
45
|
+
catch: '捕获',
|
|
46
|
+
measure: '测量',
|
|
47
|
+
transition: '过渡',
|
|
48
|
+
|
|
49
|
+
// Data Commands
|
|
50
|
+
increment: '增加',
|
|
51
|
+
decrement: '减少',
|
|
52
|
+
bind: '绑定',
|
|
53
|
+
default: '默认',
|
|
54
|
+
persist: '持久化',
|
|
55
|
+
|
|
56
|
+
// Navigation Commands
|
|
57
|
+
go: '前往',
|
|
58
|
+
pushUrl: '推送网址',
|
|
59
|
+
replaceUrl: '替换网址',
|
|
60
|
+
|
|
61
|
+
// Utility Commands
|
|
62
|
+
copy: '复制',
|
|
63
|
+
pick: '选取',
|
|
64
|
+
beep: '蜂鸣',
|
|
65
|
+
|
|
66
|
+
// Advanced Commands
|
|
67
|
+
js: 'JS执行',
|
|
68
|
+
async: '异步',
|
|
69
|
+
render: '渲染',
|
|
70
|
+
|
|
71
|
+
// Animation Commands
|
|
72
|
+
swap: '交换',
|
|
73
|
+
morph: '变形',
|
|
74
|
+
settle: '稳定',
|
|
75
|
+
|
|
76
|
+
// Content Commands
|
|
77
|
+
append: '追加',
|
|
78
|
+
|
|
79
|
+
// Control Flow
|
|
80
|
+
exit: '退出',
|
|
81
|
+
|
|
82
|
+
// Behaviors
|
|
83
|
+
install: '安装',
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
modifiers: {
|
|
87
|
+
to: '到',
|
|
88
|
+
from: '从',
|
|
89
|
+
into: '进入',
|
|
90
|
+
with: '与',
|
|
91
|
+
at: '在',
|
|
92
|
+
in: '在',
|
|
93
|
+
of: '的',
|
|
94
|
+
as: '作为',
|
|
95
|
+
by: '通过',
|
|
96
|
+
before: '之前',
|
|
97
|
+
after: '之后',
|
|
98
|
+
over: '在上',
|
|
99
|
+
under: '在下',
|
|
100
|
+
between: '之间',
|
|
101
|
+
through: '通过',
|
|
102
|
+
without: '没有',
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
events: {
|
|
106
|
+
click: '点击',
|
|
107
|
+
dblclick: '双击',
|
|
108
|
+
mousedown: '鼠标按下',
|
|
109
|
+
mouseup: '鼠标抬起',
|
|
110
|
+
mouseenter: '鼠标进入',
|
|
111
|
+
mouseleave: '鼠标离开',
|
|
112
|
+
mouseover: '鼠标悬停',
|
|
113
|
+
mouseout: '鼠标移出',
|
|
114
|
+
mousemove: '鼠标移动',
|
|
115
|
+
|
|
116
|
+
keydown: '按键按下',
|
|
117
|
+
keyup: '按键抬起',
|
|
118
|
+
keypress: '按键',
|
|
119
|
+
|
|
120
|
+
focus: '聚焦',
|
|
121
|
+
blur: '失焦',
|
|
122
|
+
change: '改变',
|
|
123
|
+
input: '输入',
|
|
124
|
+
submit: '提交',
|
|
125
|
+
reset: '重置',
|
|
126
|
+
|
|
127
|
+
load: '加载',
|
|
128
|
+
unload: '卸载',
|
|
129
|
+
resize: '调整大小',
|
|
130
|
+
scroll: '滚动',
|
|
131
|
+
|
|
132
|
+
touchstart: '触摸开始',
|
|
133
|
+
touchend: '触摸结束',
|
|
134
|
+
touchmove: '触摸移动',
|
|
135
|
+
touchcancel: '触摸取消',
|
|
136
|
+
},
|
|
137
|
+
|
|
138
|
+
logical: {
|
|
139
|
+
when: '当',
|
|
140
|
+
where: '哪里',
|
|
141
|
+
and: '和',
|
|
142
|
+
or: '或',
|
|
143
|
+
not: '非',
|
|
144
|
+
is: '是',
|
|
145
|
+
exists: '存在',
|
|
146
|
+
matches: '匹配',
|
|
147
|
+
contains: '包含',
|
|
148
|
+
includes: '包括',
|
|
149
|
+
equals: '等于',
|
|
150
|
+
has: '有', // universal "have"
|
|
151
|
+
have: '有', // same character for first/third person
|
|
152
|
+
then: '那么',
|
|
153
|
+
else: '否则',
|
|
154
|
+
otherwise: '要不然',
|
|
155
|
+
end: '结束',
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
temporal: {
|
|
159
|
+
seconds: '秒',
|
|
160
|
+
second: '秒',
|
|
161
|
+
milliseconds: '毫秒',
|
|
162
|
+
millisecond: '毫秒',
|
|
163
|
+
minutes: '分钟',
|
|
164
|
+
minute: '分钟',
|
|
165
|
+
hours: '小时',
|
|
166
|
+
hour: '小时',
|
|
167
|
+
ms: '毫秒',
|
|
168
|
+
s: '秒',
|
|
169
|
+
min: '分',
|
|
170
|
+
h: '时',
|
|
171
|
+
},
|
|
172
|
+
|
|
173
|
+
values: {
|
|
174
|
+
true: '真',
|
|
175
|
+
false: '假',
|
|
176
|
+
null: '空',
|
|
177
|
+
undefined: '未定义',
|
|
178
|
+
it: '它',
|
|
179
|
+
its: '它的', // REVIEW: native speaker
|
|
180
|
+
me: '我',
|
|
181
|
+
my: '我的',
|
|
182
|
+
myself: '我自己',
|
|
183
|
+
you: '你', // REVIEW: native speaker
|
|
184
|
+
your: '你的', // REVIEW: native speaker
|
|
185
|
+
yourself: '你自己', // REVIEW: native speaker
|
|
186
|
+
element: '元素',
|
|
187
|
+
target: '目标',
|
|
188
|
+
detail: '详情',
|
|
189
|
+
event: '事件',
|
|
190
|
+
window: '窗口',
|
|
191
|
+
document: '文档',
|
|
192
|
+
body: '主体',
|
|
193
|
+
result: '结果',
|
|
194
|
+
value: '值',
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
attributes: {
|
|
198
|
+
class: '类',
|
|
199
|
+
classes: '类别',
|
|
200
|
+
style: '样式',
|
|
201
|
+
styles: '样式集',
|
|
202
|
+
attribute: '属性',
|
|
203
|
+
attributes: '属性集',
|
|
204
|
+
property: '特性',
|
|
205
|
+
properties: '特性集',
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
expressions: {
|
|
209
|
+
// Positional
|
|
210
|
+
first: '第一个',
|
|
211
|
+
last: '最后一个',
|
|
212
|
+
next: '下一个',
|
|
213
|
+
previous: '上一个',
|
|
214
|
+
prev: '上个',
|
|
215
|
+
at: '在',
|
|
216
|
+
random: '随机',
|
|
217
|
+
|
|
218
|
+
// DOM Traversal
|
|
219
|
+
closest: '最近的',
|
|
220
|
+
parent: '父级',
|
|
221
|
+
children: '子级',
|
|
222
|
+
within: '之内',
|
|
223
|
+
|
|
224
|
+
// Emptiness/Existence
|
|
225
|
+
no: '没有',
|
|
226
|
+
empty: '空的',
|
|
227
|
+
some: '一些',
|
|
228
|
+
|
|
229
|
+
// String operations
|
|
230
|
+
'starts with': '以开头',
|
|
231
|
+
'ends with': '以结尾',
|
|
232
|
+
},
|
|
233
|
+
};
|