@lokascript/i18n 2.0.0 → 2.2.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.
Files changed (39) hide show
  1. package/dist/browser.cjs +45 -28
  2. package/dist/browser.cjs.map +1 -1
  3. package/dist/browser.d.cts +2 -2
  4. package/dist/browser.d.ts +2 -2
  5. package/dist/browser.js +45 -28
  6. package/dist/browser.js.map +1 -1
  7. package/dist/dictionaries/index.cjs +45 -28
  8. package/dist/dictionaries/index.cjs.map +1 -1
  9. package/dist/dictionaries/index.d.cts +1 -1
  10. package/dist/dictionaries/index.d.ts +1 -1
  11. package/dist/dictionaries/index.js +45 -28
  12. package/dist/dictionaries/index.js.map +1 -1
  13. package/dist/index.cjs +45 -28
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.cts +37 -37
  16. package/dist/index.d.ts +37 -37
  17. package/dist/index.js +45 -28
  18. package/dist/index.js.map +1 -1
  19. package/dist/lokascript-i18n.min.js +1 -1
  20. package/dist/lokascript-i18n.min.js.map +1 -1
  21. package/dist/lokascript-i18n.mjs +49 -33
  22. package/dist/lokascript-i18n.mjs.map +1 -1
  23. package/dist/plugins/vite.cjs +45 -28
  24. package/dist/plugins/vite.cjs.map +1 -1
  25. package/dist/plugins/vite.js +45 -28
  26. package/dist/plugins/vite.js.map +1 -1
  27. package/dist/plugins/webpack.cjs +45 -28
  28. package/dist/plugins/webpack.cjs.map +1 -1
  29. package/dist/plugins/webpack.js +45 -28
  30. package/dist/plugins/webpack.js.map +1 -1
  31. package/dist/{transformer-DN_HqdDB.d.ts → transformer-B0zy-kti.d.ts} +2 -14
  32. package/dist/{transformer-kXwlqa5b.d.cts → transformer-CzY_vHU0.d.cts} +2 -14
  33. package/dist/{types-naTJIIaT.d.cts → types-BYtpqGq3.d.cts} +1 -1
  34. package/dist/{types-naTJIIaT.d.ts → types-BYtpqGq3.d.ts} +1 -1
  35. package/package.json +3 -3
  36. package/src/dictionaries/bn.ts +23 -8
  37. package/src/dictionaries/he.ts +101 -0
  38. package/src/dictionaries/th.ts +23 -8
  39. package/src/dictionaries/vi.ts +17 -30
@@ -1,4 +1,4 @@
1
- import { D as Dictionary } from './types-naTJIIaT.js';
1
+ import { D as Dictionary } from './types-BYtpqGq3.js';
2
2
 
3
3
  /**
4
4
  * KeywordProvider interface for locale-aware parsing.
@@ -745,22 +745,10 @@ declare const hindiDictionary: Dictionary;
745
745
 
746
746
  declare const hiKeywords: KeywordProvider;
747
747
 
748
- /**
749
- * Bengali Dictionary
750
- *
751
- * Bengali translations for hyperscript keywords.
752
- */
753
-
754
748
  declare const bn: Dictionary;
755
749
 
756
750
  declare const bnKeywords: KeywordProvider;
757
751
 
758
- /**
759
- * Thai Dictionary
760
- *
761
- * Thai translations for hyperscript keywords.
762
- */
763
-
764
752
  declare const th: Dictionary;
765
753
 
766
754
  declare const thKeywords: KeywordProvider;
@@ -1012,4 +1000,4 @@ declare const examples: {
1012
1000
  };
1013
1001
  };
1014
1002
 
1015
- export { type SemanticRole as $, ptKeywords as A, pt as B, itKeywords as C, it as D, ENGLISH_COMMANDS as E, viKeywords as F, vi as G, plKeywords as H, pl as I, ruKeywords as J, type KeywordProvider as K, russianDictionary as L, ukKeywords as M, ukrainianDictionary as N, hiKeywords as O, hindiDictionary as P, bnKeywords as Q, bn as R, thKeywords as S, th as T, UNIVERSAL_ENGLISH_KEYWORDS as U, msKeywords as V, ms as W, tlKeywords as X, tl as Y, LocaleManager as Z, detectBrowserLocale as _, type KeywordProviderOptions as a, type WordOrder as a0, type AdpositionType as a1, type MorphologyType as a2, type GrammaticalMarker as a3, type LanguageProfile as a4, type GrammarRule as a5, type PatternMatcher as a6, type PatternTransform as a7, type ParsedStatement as a8, type ParsedElement as a9, translate as aA, examples as aB, UNIVERSAL_PATTERNS as aa, LANGUAGE_FAMILY_DEFAULTS as ab, reorderRoles as ac, insertMarkers as ad, joinTokens as ae, transformStatement as af, profiles as ag, getProfile as ah, getSupportedLocales as ai, englishProfile as aj, japaneseProfile as ak, koreanProfile as al, chineseProfile as am, arabicProfile as an, turkishProfile as ao, spanishProfile as ap, germanProfile as aq, frenchProfile as ar, portugueseProfile as as, indonesianProfile as at, quechuaProfile as au, swahiliProfile as av, GrammarTransformer as aw, parseStatement as ax, toLocale as ay, toEnglish as az, createEnglishProvider as b, createKeywordProvider as c, ENGLISH_KEYWORDS as d, esKeywords as e, es as f, ja as g, frKeywords as h, fr as i, jaKeywords as j, deKeywords as k, de as l, arKeywords as m, ar as n, koKeywords as o, ko as p, zh as q, tr as r, idKeywords as s, trKeywords as t, id as u, quKeywords as v, qu as w, swKeywords as x, sw as y, zhKeywords as z };
1003
+ export { ko as $, type AdpositionType as A, frenchProfile as B, germanProfile as C, getProfile as D, ENGLISH_COMMANDS as E, getSupportedLocales as F, type GrammarRule as G, examples as H, hindiDictionary as I, hiKeywords as J, type KeywordProvider as K, LANGUAGE_FAMILY_DEFAULTS as L, type MorphologyType as M, id as N, idKeywords as O, type ParsedElement as P, indonesianProfile as Q, insertMarkers as R, type SemanticRole as S, it as T, UNIVERSAL_ENGLISH_KEYWORDS as U, itKeywords as V, type WordOrder as W, ja as X, jaKeywords as Y, japaneseProfile as Z, joinTokens as _, ENGLISH_KEYWORDS as a, koKeywords as a0, koreanProfile as a1, ms as a2, msKeywords as a3, parseStatement as a4, pl as a5, plKeywords as a6, portugueseProfile as a7, profiles as a8, pt as a9, zh as aA, zhKeywords as aB, ptKeywords as aa, qu as ab, quKeywords as ac, quechuaProfile as ad, reorderRoles as ae, russianDictionary as af, ruKeywords as ag, spanishProfile as ah, sw as ai, swKeywords as aj, swahiliProfile as ak, th as al, thKeywords as am, tl as an, tlKeywords as ao, toEnglish as ap, toLocale as aq, tr as ar, trKeywords as as, transformStatement as at, translate as au, turkishProfile as av, ukrainianDictionary as aw, ukKeywords as ax, vi as ay, viKeywords as az, GrammarTransformer as b, type GrammaticalMarker as c, type KeywordProviderOptions as d, type LanguageProfile as e, LocaleManager as f, type ParsedStatement as g, type PatternMatcher as h, type PatternTransform as i, UNIVERSAL_PATTERNS as j, ar as k, arKeywords as l, arabicProfile as m, bn as n, bnKeywords as o, chineseProfile as p, createEnglishProvider as q, createKeywordProvider as r, de as s, deKeywords as t, detectBrowserLocale as u, englishProfile as v, es as w, esKeywords as x, fr as y, frKeywords as z };
@@ -1,4 +1,4 @@
1
- import { D as Dictionary } from './types-naTJIIaT.cjs';
1
+ import { D as Dictionary } from './types-BYtpqGq3.cjs';
2
2
 
3
3
  /**
4
4
  * KeywordProvider interface for locale-aware parsing.
@@ -745,22 +745,10 @@ declare const hindiDictionary: Dictionary;
745
745
 
746
746
  declare const hiKeywords: KeywordProvider;
747
747
 
748
- /**
749
- * Bengali Dictionary
750
- *
751
- * Bengali translations for hyperscript keywords.
752
- */
753
-
754
748
  declare const bn: Dictionary;
755
749
 
756
750
  declare const bnKeywords: KeywordProvider;
757
751
 
758
- /**
759
- * Thai Dictionary
760
- *
761
- * Thai translations for hyperscript keywords.
762
- */
763
-
764
752
  declare const th: Dictionary;
765
753
 
766
754
  declare const thKeywords: KeywordProvider;
@@ -1012,4 +1000,4 @@ declare const examples: {
1012
1000
  };
1013
1001
  };
1014
1002
 
1015
- export { type SemanticRole as $, ptKeywords as A, pt as B, itKeywords as C, it as D, ENGLISH_COMMANDS as E, viKeywords as F, vi as G, plKeywords as H, pl as I, ruKeywords as J, type KeywordProvider as K, russianDictionary as L, ukKeywords as M, ukrainianDictionary as N, hiKeywords as O, hindiDictionary as P, bnKeywords as Q, bn as R, thKeywords as S, th as T, UNIVERSAL_ENGLISH_KEYWORDS as U, msKeywords as V, ms as W, tlKeywords as X, tl as Y, LocaleManager as Z, detectBrowserLocale as _, type KeywordProviderOptions as a, type WordOrder as a0, type AdpositionType as a1, type MorphologyType as a2, type GrammaticalMarker as a3, type LanguageProfile as a4, type GrammarRule as a5, type PatternMatcher as a6, type PatternTransform as a7, type ParsedStatement as a8, type ParsedElement as a9, translate as aA, examples as aB, UNIVERSAL_PATTERNS as aa, LANGUAGE_FAMILY_DEFAULTS as ab, reorderRoles as ac, insertMarkers as ad, joinTokens as ae, transformStatement as af, profiles as ag, getProfile as ah, getSupportedLocales as ai, englishProfile as aj, japaneseProfile as ak, koreanProfile as al, chineseProfile as am, arabicProfile as an, turkishProfile as ao, spanishProfile as ap, germanProfile as aq, frenchProfile as ar, portugueseProfile as as, indonesianProfile as at, quechuaProfile as au, swahiliProfile as av, GrammarTransformer as aw, parseStatement as ax, toLocale as ay, toEnglish as az, createEnglishProvider as b, createKeywordProvider as c, ENGLISH_KEYWORDS as d, esKeywords as e, es as f, ja as g, frKeywords as h, fr as i, jaKeywords as j, deKeywords as k, de as l, arKeywords as m, ar as n, koKeywords as o, ko as p, zh as q, tr as r, idKeywords as s, trKeywords as t, id as u, quKeywords as v, qu as w, swKeywords as x, sw as y, zhKeywords as z };
1003
+ export { ko as $, type AdpositionType as A, frenchProfile as B, germanProfile as C, getProfile as D, ENGLISH_COMMANDS as E, getSupportedLocales as F, type GrammarRule as G, examples as H, hindiDictionary as I, hiKeywords as J, type KeywordProvider as K, LANGUAGE_FAMILY_DEFAULTS as L, type MorphologyType as M, id as N, idKeywords as O, type ParsedElement as P, indonesianProfile as Q, insertMarkers as R, type SemanticRole as S, it as T, UNIVERSAL_ENGLISH_KEYWORDS as U, itKeywords as V, type WordOrder as W, ja as X, jaKeywords as Y, japaneseProfile as Z, joinTokens as _, ENGLISH_KEYWORDS as a, koKeywords as a0, koreanProfile as a1, ms as a2, msKeywords as a3, parseStatement as a4, pl as a5, plKeywords as a6, portugueseProfile as a7, profiles as a8, pt as a9, zh as aA, zhKeywords as aB, ptKeywords as aa, qu as ab, quKeywords as ac, quechuaProfile as ad, reorderRoles as ae, russianDictionary as af, ruKeywords as ag, spanishProfile as ah, sw as ai, swKeywords as aj, swahiliProfile as ak, th as al, thKeywords as am, tl as an, tlKeywords as ao, toEnglish as ap, toLocale as aq, tr as ar, trKeywords as as, transformStatement as at, translate as au, turkishProfile as av, ukrainianDictionary as aw, ukKeywords as ax, vi as ay, viKeywords as az, GrammarTransformer as b, type GrammaticalMarker as c, type KeywordProviderOptions as d, type LanguageProfile as e, LocaleManager as f, type ParsedStatement as g, type PatternMatcher as h, type PatternTransform as i, UNIVERSAL_PATTERNS as j, ar as k, arKeywords as l, arabicProfile as m, bn as n, bnKeywords as o, chineseProfile as p, createEnglishProvider as q, createKeywordProvider as r, de as s, deKeywords as t, detectBrowserLocale as u, englishProfile as v, es as w, esKeywords as x, fr as y, frKeywords as z };
@@ -119,4 +119,4 @@ interface TranslationResult {
119
119
  warnings?: string[];
120
120
  }
121
121
 
122
- export { type Dictionary as D, type I18nConfig as I, type LocaleMetadata as L, type TranslationOptions as T, type ValidationResult as V, type TranslationResult as a, type Token as b, type DictionaryCategory as c, type ValidationError as d, type ValidationWarning as e, type TranslationContext as f, type TokenType as g, DICTIONARY_CATEGORIES as h, isDictionaryCategory as i, getDictionaryCategory as j, forEachCategory as k, findInDictionary as l, translateFromEnglish as t };
122
+ export { type Dictionary as D, type I18nConfig as I, type LocaleMetadata as L, type TranslationOptions as T, type ValidationResult as V, type TranslationResult as a, type Token as b, DICTIONARY_CATEGORIES as c, type DictionaryCategory as d, type TokenType as e, type TranslationContext as f, type ValidationError as g, type ValidationWarning as h, findInDictionary as i, forEachCategory as j, getDictionaryCategory as k, isDictionaryCategory as l, translateFromEnglish as t };
@@ -119,4 +119,4 @@ interface TranslationResult {
119
119
  warnings?: string[];
120
120
  }
121
121
 
122
- export { type Dictionary as D, type I18nConfig as I, type LocaleMetadata as L, type TranslationOptions as T, type ValidationResult as V, type TranslationResult as a, type Token as b, type DictionaryCategory as c, type ValidationError as d, type ValidationWarning as e, type TranslationContext as f, type TokenType as g, DICTIONARY_CATEGORIES as h, isDictionaryCategory as i, getDictionaryCategory as j, forEachCategory as k, findInDictionary as l, translateFromEnglish as t };
122
+ export { type Dictionary as D, type I18nConfig as I, type LocaleMetadata as L, type TranslationOptions as T, type ValidationResult as V, type TranslationResult as a, type Token as b, DICTIONARY_CATEGORIES as c, type DictionaryCategory as d, type TokenType as e, type TranslationContext as f, type ValidationError as g, type ValidationWarning as h, findInDictionary as i, forEachCategory as j, getDictionaryCategory as k, isDictionaryCategory as l, translateFromEnglish as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokascript/i18n",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Grammar transformation and keyword translation for hyperscript",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -67,13 +67,13 @@
67
67
  "dependencies": {
68
68
  "@hyperfixi/core": "*",
69
69
  "@lokascript/semantic": "*",
70
- "esbuild": "0.25.11",
70
+ "esbuild": "0.27.3",
71
71
  "happy-dom": "20.0.6",
72
72
  "vite": "^7.1.12"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@rollup/plugin-node-resolve": "^16.0.1",
76
- "@rollup/plugin-terser": "^0.4.4",
76
+ "@rollup/plugin-terser": "^1.0.0",
77
77
  "@rollup/plugin-typescript": "^12.1.2",
78
78
  "@types/node": "^20.0.0",
79
79
  "@vitest/coverage-v8": "^4.0.0",
@@ -1,8 +1,5 @@
1
- /**
2
- * Bengali Dictionary
3
- *
4
- * Bengali translations for hyperscript keywords.
5
- */
1
+ // Generated/merged from semantic profiles — hand-written entries are preserved
2
+ // To add derived entries, update the semantic profile and run: npm run generate:language-assets
6
3
 
7
4
  import { Dictionary } from '../types';
8
5
 
@@ -53,7 +50,16 @@ export const bengaliDictionary: Dictionary = {
53
50
  clone: 'কপি',
54
51
  swap: 'বদল',
55
52
  morph: 'রূপান্তর',
53
+ beep: 'বীপ',
54
+ break: 'ভাঙুন',
55
+ copy: 'কপি',
56
+ exit: 'বের',
57
+ js: 'জেএস',
58
+ pick: 'বাছুন',
59
+ render: 'রেন্ডার',
60
+ until: 'পর্যন্ত',
56
61
  },
62
+
57
63
  modifiers: {
58
64
  to: 'কে',
59
65
  from: 'থেকে',
@@ -73,6 +79,7 @@ export const bengaliDictionary: Dictionary = {
73
79
  until: 'পর্যন্ত',
74
80
  of: 'র',
75
81
  },
82
+
76
83
  events: {
77
84
  click: 'ক্লিক',
78
85
  change: 'পরিবর্তন',
@@ -89,6 +96,7 @@ export const bengaliDictionary: Dictionary = {
89
96
  resize: 'রিসাইজ',
90
97
  every: 'প্রতি',
91
98
  },
99
+
92
100
  logical: {
93
101
  if: 'যদি',
94
102
  when: 'যখন',
@@ -99,14 +107,17 @@ export const bengaliDictionary: Dictionary = {
99
107
  or: 'অথবা',
100
108
  is: 'হয়',
101
109
  exists: 'আছে',
102
- has: 'আছে', // possession verb (context-based)
103
- have: 'আছি', // first-person: আমার আছি
110
+ has: 'আছে',
111
+ have: 'আছি',
104
112
  empty: 'খালি',
105
113
  true: 'সত্য',
106
114
  false: 'মিথ্যা',
107
115
  null: 'শূন্য',
108
116
  undefined: 'অনির্ধারিত',
117
+ end: 'শেষ',
118
+ then: 'তারপর',
109
119
  },
120
+
110
121
  temporal: {
111
122
  now: 'এখন',
112
123
  seconds: 'সেকেন্ড',
@@ -118,6 +129,7 @@ export const bengaliDictionary: Dictionary = {
118
129
  s: 'সে',
119
130
  ms: 'মিসে',
120
131
  },
132
+
121
133
  values: {
122
134
  me: 'আমি',
123
135
  my: 'আমার',
@@ -127,7 +139,10 @@ export const bengaliDictionary: Dictionary = {
127
139
  event: 'ঘটনা',
128
140
  target: 'লক্ষ্য',
129
141
  body: 'বডি',
142
+ you: 'আপনি',
143
+ your: 'তোমার',
130
144
  },
145
+
131
146
  attributes: {
132
147
  class: 'শ্রেণি',
133
148
  id: 'আইডি',
@@ -138,6 +153,7 @@ export const bengaliDictionary: Dictionary = {
138
153
  disabled: 'অক্ষম',
139
154
  checked: 'চেক করা',
140
155
  },
156
+
141
157
  expressions: {
142
158
  first: 'প্রথম',
143
159
  last: 'শেষ',
@@ -152,5 +168,4 @@ export const bengaliDictionary: Dictionary = {
152
168
  },
153
169
  };
154
170
 
155
- // Default export alias
156
171
  export const bn = bengaliDictionary;
@@ -0,0 +1,101 @@
1
+ // Generated/merged from semantic profiles — hand-written entries are preserved
2
+ // To add derived entries, update the semantic profile and run: npm run generate:language-assets
3
+
4
+ import { Dictionary } from '../types';
5
+
6
+ export const he: Dictionary = {
7
+ commands: {
8
+ add: 'הוסף',
9
+ append: 'צרף',
10
+ async: 'אסינכרוני',
11
+ beep: 'ביפ',
12
+ break: 'שבור',
13
+ call: 'קרא',
14
+ continue: 'המשך',
15
+ copy: 'העתק',
16
+ decrement: 'הקטן',
17
+ default: 'ברירת מחדל',
18
+ exit: 'צא',
19
+ fetch: 'הבא',
20
+ for: 'עבור',
21
+ get: 'קבל',
22
+ go: 'לך',
23
+ halt: 'עצור',
24
+ hide: 'הסתר',
25
+ if: 'אם',
26
+ increment: 'הגדל',
27
+ install: 'התקן',
28
+ js: 'js',
29
+ log: 'רשום',
30
+ make: 'צור',
31
+ measure: 'מדוד',
32
+ morph: 'הפוך',
33
+ on: 'ב',
34
+ pick: 'בחר',
35
+ put: 'שים',
36
+ remove: 'הסר',
37
+ render: 'רנדר',
38
+ repeat: 'חזור',
39
+ return: 'החזר',
40
+ send: 'שלח',
41
+ set: 'קבע',
42
+ settle: 'התייצב',
43
+ show: 'הראה',
44
+ swap: 'החלף',
45
+ take: 'קח',
46
+ tell: 'אמור',
47
+ throw: 'זרוק',
48
+ toggle: 'מתג',
49
+ transition: 'מעבר',
50
+ trigger: 'הפעל',
51
+ until: 'עד',
52
+ wait: 'חכה',
53
+ while: 'כל עוד',
54
+ },
55
+
56
+ modifiers: {
57
+ after: 'אחרי',
58
+ before: 'לפני',
59
+ from: 'מ',
60
+ into: 'לתוך',
61
+ to: 'על',
62
+ with: 'עם',
63
+ },
64
+
65
+ events: {
66
+ blur: 'טשטש',
67
+ change: 'שינוי',
68
+ click: 'לחיצה',
69
+ focus: 'מקד',
70
+ input: 'קלט',
71
+ submit: 'שליחה',
72
+ },
73
+
74
+ logical: {
75
+ and: 'וגם',
76
+ else: 'אחרת',
77
+ end: 'סוף',
78
+ then: 'אז',
79
+ when: 'כאשר',
80
+ where: 'איפה',
81
+ },
82
+
83
+ temporal: {},
84
+
85
+ values: {
86
+ body: 'גוף',
87
+ event: 'אירוע',
88
+ it: 'זה',
89
+ its: 'שלו',
90
+ me: 'אני',
91
+ my: 'שלי',
92
+ result: 'תוצאה',
93
+ target: 'יעד',
94
+ you: 'אתה',
95
+ your: 'שלך',
96
+ },
97
+
98
+ attributes: {},
99
+
100
+ expressions: {},
101
+ };
@@ -1,8 +1,5 @@
1
- /**
2
- * Thai Dictionary
3
- *
4
- * Thai translations for hyperscript keywords.
5
- */
1
+ // Generated/merged from semantic profiles — hand-written entries are preserved
2
+ // To add derived entries, update the semantic profile and run: npm run generate:language-assets
6
3
 
7
4
  import { Dictionary } from '../types';
8
5
 
@@ -53,7 +50,16 @@ export const thaiDictionary: Dictionary = {
53
50
  clone: 'คัดลอก',
54
51
  swap: 'สลับที่',
55
52
  morph: 'แปลงร่าง',
53
+ beep: 'บี๊บ',
54
+ break: 'ขัดจังหวะ',
55
+ copy: 'คัดลอก',
56
+ exit: 'ออก',
57
+ js: 'เจเอส',
58
+ pick: 'เลือก',
59
+ render: 'แสดงผล',
60
+ until: 'จนถึง',
56
61
  },
62
+
57
63
  modifiers: {
58
64
  to: 'ไปยัง',
59
65
  from: 'จาก',
@@ -73,6 +79,7 @@ export const thaiDictionary: Dictionary = {
73
79
  until: 'จนถึง',
74
80
  of: 'ของ',
75
81
  },
82
+
76
83
  events: {
77
84
  click: 'คลิก',
78
85
  change: 'เปลี่ยนแปลง',
@@ -89,6 +96,7 @@ export const thaiDictionary: Dictionary = {
89
96
  resize: 'ปรับขนาด',
90
97
  every: 'ทุก',
91
98
  },
99
+
92
100
  logical: {
93
101
  if: 'ถ้า',
94
102
  when: 'เมื่อ',
@@ -99,14 +107,17 @@ export const thaiDictionary: Dictionary = {
99
107
  or: 'หรือ',
100
108
  is: 'เป็น',
101
109
  exists: 'มีอยู่',
102
- has: 'มี', // possession verb (context-based)
103
- have: 'มี', // same for first/third person
110
+ has: 'มี',
111
+ have: 'มี',
104
112
  empty: 'ว่าง',
105
113
  true: 'จริง',
106
114
  false: 'เท็จ',
107
115
  null: 'ว่าง',
108
116
  undefined: 'ไม่กำหนด',
117
+ end: 'จบ',
118
+ then: 'แล้ว',
109
119
  },
120
+
110
121
  temporal: {
111
122
  now: 'ตอนนี้',
112
123
  seconds: 'วินาที',
@@ -118,6 +129,7 @@ export const thaiDictionary: Dictionary = {
118
129
  s: 'วิ',
119
130
  ms: 'มว',
120
131
  },
132
+
121
133
  values: {
122
134
  me: 'ฉัน',
123
135
  my: 'ของฉัน',
@@ -127,7 +139,10 @@ export const thaiDictionary: Dictionary = {
127
139
  event: 'เหตุการณ์',
128
140
  target: 'เป้าหมาย',
129
141
  body: 'บอดี้',
142
+ you: 'คุณ',
143
+ your: 'ของคุณ',
130
144
  },
145
+
131
146
  attributes: {
132
147
  class: 'คลาส',
133
148
  id: 'ไอดี',
@@ -138,6 +153,7 @@ export const thaiDictionary: Dictionary = {
138
153
  disabled: 'ปิดใช้งาน',
139
154
  checked: 'เลือกแล้ว',
140
155
  },
156
+
141
157
  expressions: {
142
158
  first: 'แรก',
143
159
  last: 'สุดท้าย',
@@ -152,5 +168,4 @@ export const thaiDictionary: Dictionary = {
152
168
  },
153
169
  };
154
170
 
155
- // Default export alias
156
171
  export const th = thaiDictionary;
@@ -1,16 +1,14 @@
1
- // packages/i18n/src/dictionaries/vi.ts
1
+ // Generated/merged from semantic profiles — hand-written entries are preserved
2
+ // To add derived entries, update the semantic profile and run: npm run generate:language-assets
2
3
 
3
4
  import { Dictionary } from '../types';
4
5
 
5
6
  export const vi: Dictionary = {
6
7
  commands: {
7
- // Event handling
8
8
  on: 'khi',
9
9
  tell: 'nói với',
10
10
  trigger: 'kích hoạt',
11
11
  send: 'gửi',
12
-
13
- // DOM manipulation
14
12
  take: 'lấy',
15
13
  put: 'đặt',
16
14
  set: 'gán',
@@ -20,8 +18,6 @@ export const vi: Dictionary = {
20
18
  toggle: 'chuyển đổi',
21
19
  hide: 'ẩn',
22
20
  show: 'hiển thị',
23
-
24
- // Control flow
25
21
  if: 'nếu',
26
22
  unless: 'trừ khi',
27
23
  repeat: 'lặp lại',
@@ -31,57 +27,35 @@ export const vi: Dictionary = {
31
27
  continue: 'tiếp tục',
32
28
  break: 'dừng',
33
29
  halt: 'dừng lại',
34
-
35
- // Async
36
30
  wait: 'chờ',
37
31
  fetch: 'tải',
38
32
  call: 'gọi',
39
33
  return: 'trả về',
40
-
41
- // Other commands
42
34
  make: 'tạo',
43
35
  log: 'in ra',
44
36
  throw: 'ném',
45
37
  catch: 'bắt',
46
38
  measure: 'đo lường',
47
39
  transition: 'chuyển tiếp',
48
-
49
- // Data Commands
50
40
  increment: 'tăng',
51
41
  decrement: 'giảm',
52
42
  default: 'mặc định',
53
-
54
- // Navigation Commands
55
43
  go: 'đi đến',
56
44
  pushUrl: 'pushUrl',
57
45
  replaceUrl: 'thayThếUrl',
58
-
59
- // Utility Commands
60
46
  copy: 'sao chép',
61
47
  pick: 'chọn',
62
48
  beep: 'beep',
63
-
64
- // Advanced Commands
65
49
  js: 'js',
66
50
  async: 'bất đồng bộ',
67
51
  render: 'hiển thị',
68
-
69
- // Animation Commands
70
52
  swap: 'hoán đổi',
71
53
  morph: 'biến đổi',
72
54
  settle: 'ổn định',
73
-
74
- // Content Commands
75
55
  append: 'nối',
76
-
77
- // Control Flow
78
56
  exit: 'thoát',
79
-
80
- // Focus
81
57
  focus: 'tập trung',
82
58
  blur: 'mất tập trung',
83
-
84
- // Additional
85
59
  init: 'khởi tạo',
86
60
  behavior: 'hành vi',
87
61
  install: 'cài đặt',
@@ -140,12 +114,15 @@ export const vi: Dictionary = {
140
114
  contains: 'chứa',
141
115
  matches: 'khớp',
142
116
  exists: 'tồn tại',
143
- has: 'có', // possession verb (context-based)
144
- have: 'có', // same for first/third person
117
+ has: 'có',
118
+ have: 'có',
145
119
  empty: 'trống',
146
120
  true: 'đúng',
147
121
  false: 'sai',
148
122
  null: 'rỗng',
123
+ else: 'không thì',
124
+ end: 'kết thúc',
125
+ then: 'rồi',
149
126
  },
150
127
 
151
128
  temporal: {
@@ -172,6 +149,16 @@ export const vi: Dictionary = {
172
149
  some: 'một số',
173
150
  each: 'mỗi',
174
151
  every: 'tất cả',
152
+ body: 'body',
153
+ event: 'sự kiện',
154
+ it: 'nó',
155
+ its: 'của nó',
156
+ me: 'tôi',
157
+ my: 'của tôi',
158
+ result: 'kết quả',
159
+ target: 'mục tiêu',
160
+ you: 'bạn',
161
+ your: 'của bạn',
175
162
  },
176
163
 
177
164
  attributes: {